close

Вход

Забыли?

вход по аккаунту

?

О выборе невязки в генетическом алгоритме решения систем линейных неравенств с булевыми неизвестными.

код для вставкиСкачать
МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ
О ВЫБОРЕ НЕВЯЗКИ В ГЕНЕТИЧЕСКОМ
АЛГОРИТМЕ РЕШЕНИЯ СИСТЕМ ЛИНЕЙНЫХ
НЕРАВЕНСТВ С БУЛЕВЫМИ НЕИЗВЕСТНЫМИ
П.Н. СИТНИКОВ, сотрудник лаборатории «ТВП», Москва
Б
ольшое количество прикладных задач
дискретной математики сводится к решению систем линейных неравенств с булевыми
неизвестными. К таким, например, относятся задачи комбинаторики, классификации и
распознавания образов, теории кодирования,
теории графов, дискретного программирования. В связи с этим является актуальной
проблема разработки и исследования генетических эволюционных алгоритмов (ГА), предназначенных для решения некоторых классов
возникающих на практике систем линейных
неравенств с булевыми неизвестными.
Генетические алгоритмы – адаптивные методы поиска, которые в настоящее
время используются для решения задач функциональной оптимизации. Они основаны
на генетических процессах живых организмов: биологические популяции развиваются
в течение нескольких поколений, подчиняясь
законам естественного отбора и по принципу «выживает наиболее приспособленный»,
сформулированному Чарльзом Дарвином. По
сути ГА являются итерационными алгоритмами поиска, осуществляющими направленный
перебор по нескольким параллельным направлениям в пространстве допустимых решений
рассматриваемой задачи. В отличие от чисто
случайного поиска ГА для выбора направления используют оценки близости имеющихся решений оптимальным. Осуществляемый
данными алгоритмами направленный перебор можно назвать эволюционным, что связано со сходством операторов, применяемых
в ГА, и процессов, происходящих с живыми
организмами в природе.
При использовании ГА исходная задача
представляется в виде оптимизационной задачи. Множество параметров решаемой задачи
кодируется с помощью вектора x = (x1,...,xn) ∈
∈ Ωn над конечным алфавитом Ω, чаще всего
Ω = {0, 1}. В теории ГА для вектора x используются термины хромосома, особь, индивидуум; для переменных xi, используется термин
ЛЕСНОЙ ВЕСТНИК 4/2008
ген. Множество Ωn представляет собой область допустимых решений, а функция Ф(x):
Ωn → R, где R – множество действительных
чисел, называется целевой функцией (ЦФ),
или функцией качества. Смысл функции Ф(x)
заключается в том, чтобы решения, имеющие
лучшие значения Ф(x), с большей вероятностью попадали в новую популяцию при работе
алгоритма. Целью алгоритма является нахождение экстремума введенной целевой функции, что в случае его отыскания будет соответствовать нахождению искомого решения,
которое имеет наилучший показатель качества
среди возможных решений задачи. Работа ГА
разбивается на однотипные этапы (итерации).
При этом на каждом i-м шаге вычислений ГА
имеет дело с некоторым множеством векторов
Xi = {x1(i),..., xN(i)}, называемым популяцией.
Весь процесс поиска представляет собой последовательную смену популяций
X0 → X1 → ... → Xk,
происходящую при использовании операторов
репродукции, скрещивания и мутации. Оператор репродукции используется для сохранения
хромосом с лучшими значениями ЦФ и исключения из популяции хромосом с худшими значениями целевой функции. С помощью оператора скрещивания происходит наследование
генетической информации и производится
поиск более приспособленных решений. Оператор мутации позволяет изменять значения
генов в хромосомах, что делает возможным
поиск истинного решения в новых областях
пространства решений. Генетический поиск
продолжается до тех пор, пока не выполнится
какое-либо условие останова, сигнализирующее о необходимости прекращения работы алгоритма или о нахождении решения.
С точки зрения эффективности применения генетических методов особую роль
играет выбор целевой функции. Можно выделить три типа возникающих ситуаций.
Первой целью алгоритма является нахождение абсолютного, единственного решения
149
МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ
поставленной задачи. При этом ЦФ задается
так, чтобы на этом истинном решении достигался глобальный экстремум функции Ф(x).
Второй целью алгоритма является нахождение некоторого «приблизительного»
допустимого решения. Это может быть связано, например, с необходимостью быстрого поиска исходных данных для некоторого
специализированного алгоритма решения
задачи. В данном случае условием останова
выступает совершение алгоритмом заданного
числа итераций, после чего особь, имеющая
наилучшее значение ЦФ в последней популяции, объявляется решением.
Третьей целью алгоритма выступает
отыскание какого-нибудь субоптимального
решения задачи, удовлетворяющего некоторому условию, налагаемому на его качество.
В таких случаях условием прекращения работы алгоритма служит присутствие в популяции особи, для которой значение ЦФ перешагнуло заданный порог качества. При этом
границы обычно рассчитываются исходя из
соображений «близости» к оптимальному
решению. Такая постановка характерна для
ряда трудноформализуемых задач.
Необходимо заметить, что удачный
выбор целевой функции оказывает существенное влияние на результат работы алгоритма. Целевая функция должна идентифицировать решение (попадание в ρ-окрестность
решения). При незначительном изменении
аргумента должно наблюдаться незначительное изменение значений функции, а в процессе приближения к истинному решению
желательным является ее монотонное движение к оптимальному значению. Заметим, что
последнее условие обеспечивает «плавность»
при движении к истинному решению.
Предположим, что целевая функция
может только распознавать истинное решение,
а на прочих векторах не позволяет выделить
градиент движения к нему. Тогда пусть на первой итерации создана популяция X1 из S особей.
Если среди них нет решения, то их можно считать равноценными. При помощи оператора
скрещивания создается популяция X2, |X2| = S
и.т.д. Можно рассмотреть следующую последовательность переходов: X0 → X1 → ... → Xk,
так как число векторов в каждой популяции
150
равно S, то за к итераций просматривается S·k
векторов. Положим |X2| = S = 2γ, тогда для получения истинного решения нужно сделать к
шагов так, чтобы S·k = 2γ · k = 2n, таким образом
k = 2n-γ. Заметим, что в данном случае генетический алгоритм сводится к тотальному перебору, распараллеленному на S каналов.
Рассмотрим ситуацию, когда целевая
функция удовлетворяет обоим вышеперечисленным условиям. На первой итерации рассматривается исходная популяция X1, такая,
что |X1| = S = 2γ и делится на особи со значением целевой функции, превышающим некоторое пороговое значение (обозначим данное
множество – X11), и те особи, у которых значение целевой функции ниже порогового значения – X12, так что X1 = X11 ∪ X12. В силу того,
что при незначительном изменении значений
аргумента происходит незначительное изменение значений функции, в результате скрещивания будут получаться особи c низким
значением целевой функции, а значит, при
применении оператора пропорциональной
репродукции не перейдут в новую популяцию, тогда можно полагать, что репродукция
применяется только для X11.
Положим |X11| = S1, |X12| = S2 и S12 > S,
среди особей отбирается S с лучшими значениями целевой функции, далее применяется
оператор скрещивания и так до нахождения
минимального значения целевой функции.
Заметим, что на первом этапе алгоритма было
проанализировано S2 вариантов решений (S2
исключено сразу, остальные – с худшими значениями целевой функции из S12), на следующих итерациях данная последовательность
действий повторяется. За к итераций анализируется S2k особей. Для выявления истинного значения в этом случае необходимо проделать такое количество итераций, которое
обеспечит выполнение: S2k = 2n, или k(2r) = 2n,
отсюда k = 2 n = 2r.
В настоящее время под термином «генетические алгоритмы» понимается не одна
модель, а достаточно широкий класс алгоритмов, подчас мало похожих друг на друга. При
разработке ГА, предназначенного для решения систем линейных неравенств с булевыми
неизвестными, в качестве базовой используем «классическую» структуру ГА (рисунок).
ЛЕСНОЙ ВЕСТНИК 4/2008
МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ
Определение 1
Под невязкой i-го неравенства для вектора x = (x1,..., xn) будем понимать следующую
величину
формирование начальной популяции
оператор репродукции
оператор скрещивания
оператор мутации
Определение 2
Невязка системы неравенств для вектора x – это сумма невязок всех неравенств
вычисление ЦФ
n
условие останова
выполнено?
нет
да
конец работы алгоритма
Рисунок. Схема генетического алгоритма
Рассматривается система линейных
неравенств вида
 a11 x1 + ... + a1n xn∇1b1

.
.
.
,
(1)

a x + ... + a x ∇ b
mn n m m
 m1 1
где aij, bi ∈ Z, i, j ∈ N, xj ∈ {0, 1},∇i ∈ {≤, ≥,
<, >}.
В качестве ЦФ рассмотрим функционал Ф(x), значения которого равны числу невыполнившихся неравенств при подстановке в качестве аргументов функций системы
некоторого двоичного вектора x = (x1,..., xn).
Тогда для истинного решения x0 выполняется
равенство Ф(x0) = 0, а для ложных решений
Ф(x0) > 0 при x ≠ x0. Таким образом, после
введения в рассмотрение функционала Ф(x)
задача решения системы (1) сводится к эквивалентной ей задаче минимизации функции
многих переменных Ф(x).
Экспериментальные
исследования
показывают наличие для функционала Ф(x)
большого количества локальных экстремумов, что не позволяет ГА в большинстве случаев находить истинное решение, поэтому
для определения качества вектора x используют невязку системы ρ(x).
ЛЕСНОЙ ВЕСТНИК 4/2008
ρ( x) = ∑ρi ( x) .
i=1
(2)
Использование в качестве оптимизируемой ЦФ невязки системы неравенств ρ(x)
позволяет значительно повысить эффективность работы ГА, предназначенного для решения систем вида (1), что связано прежде
всего с уменьшением числа локальных минимумов для данного функционала.
На основании экспериментальных
исследований предлагается использовать в
качестве ЦФ генетического алгоритма, предназначенного для решения систем вида (1),
различные варианты невязки ρ(x).
Определение 3
Нормированной невязкой i – ого неравенства системы (1) для вектора x = (x1,..., xn)
назовем следующую величину
n
∑
a x −b
n
 j=1 ij j i
, если ∑ aij xj − bi > 0,и∇i ∈{≤,<}

n
j =1
 ∑ ai2
i
=
1


zi ( x) = b − n a x
∑
n
 i j=1 ij j
, если ∑ aij xj − bi < 0,и∇i ∈{≥, >}

n
j =1
 ∑ ai2
i
=
1


0, в противном случае
Определение 4
Нормированная невязка системы (1)
для вектора х
n
z ( x) = ∑ zi ( x) .
(3)
i=1
Определение 5
Комбинированной невязкой системы
(1) для вектора x = (x1,..., xn) будем называть
величину
z1(x) = z(x)*k1,
(4)
где z(x) – нормированная невязка системы
вида (1) для вектора x;
151
Документ
Категория
Без категории
Просмотров
5
Размер файла
481 Кб
Теги
неизвестный, невязким, решение, алгоритм, выбор, система, генетический, булевыми, линейный, неравенства
1/--страниц
Пожаловаться на содержимое документа