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

О выборе невязки в генетическом алгоритме решения систем линейных неравенств с булевыми неизвестными Текст научной статьи по специальности «Математика»

CC BY
139
52
i Надоели баннеры? Вы всегда можете отключить рекламу.
Область наук
Ключевые слова
БУЛЕВЫЕ НЕИЗВЕСТНЫЕ / ГЕНЕТИЧЕСКИЕ АЛГОРИТМЫ / ВАРИАНТЫ НЕВЯЗКИ

Аннотация научной статьи по математике, автор научной работы — Ситников П. Н.

Ситников П.Н. О ВЫБОРЕ НЕВЯЗКИ В ГЕНЕТИЧЕСКОМ АЛГОРИТМЕ РЕШЕНИЯ СИТЕМ ЛИНЕЙНЫХ НЕРАВЕНСТВ С БУЛЕВЫМИ НЕИЗВЕСТНЫМИ. С точки зрения эффективности применения генетических методов особую роль играет выбор целевой функции (ЦФ). Традиционно в качестве оптимизируемой ЦФ в генетических алгоритмах, предназначенных для решения систем линейных неравенств, используется невязка системы неравенств. В статье рассматривается модифицированные варианты невязки, применение которых возможно наряду с «классическим» вариантом.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по математике , автор научной работы — Ситников П. Н.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

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

МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ

О ВЫБОРЕ НЕВЯЗКИ В ГЕНЕТИЧЕСКОМ АЛГОРИТМЕ РЕШЕНИЯ СИСТЕМ ЛИНЕЙНЫХ НЕРАВЕНСТВ С БУЛЕВЫМИ НЕИЗВЕСТНЫМИ

П.Н. СИТНИКОВ, сотрудник лаборатории «ТВП», Москва

Большое количество прикладных задач дискретной математики сводится к решению систем линейных неравенств с булевыми неизвестными. К таким, например, относятся задачи комбинаторики, классификации и распознавания образов, теории кодирования, теории графов, дискретного программирования. В связи с этим является актуальной проблема разработки и исследования генетических эволюционных алгоритмов (ГА), предназначенных для решения некоторых классов возникающих на практике систем линейных неравенств с булевыми неизвестными.

Генетические алгоритмы - адаптивные методы поиска, которые в настоящее время используются для решения задач функциональной оптимизации. Они основаны на генетических процессах живых организмов: биологические популяции развиваются в течение нескольких поколений, подчиняясь законам естественного отбора и по принципу «выживает наиболее приспособленный», сформулированному Чарльзом Дарвином. По сути ГА являются итерационными алгоритмами поиска, осуществляющими направленный перебор по нескольким параллельным направлениям в пространстве допустимых решений рассматриваемой задачи. В отличие от чисто случайного поиска ГА для выбора направления используют оценки близости имеющихся решений оптимальным. Осуществляемый данными алгоритмами направленный перебор можно назвать эволюционным, что связано со сходством операторов, применяемых в ГА, и процессов, происходящих с живыми организмами в природе.

При использовании ГА исходная задача представляется в виде оптимизационной задачи. Множество параметров решаемой задачи кодируется с помощью вектора х = (хр...,хп) е е Qn над конечным алфавитом Q, чаще всего Q = {0, 1}. В теории ГА для вектора х используются термины хромосома, особь, индивидуум; для переменных х используется термин

ген. Множество Qn представляет собой область допустимых решений, а функция Ф(х): Qn ^ R, где R - множество действительных чисел, называется целевой функцией (ЦФ), или функцией качества. Смысл функции Ф(х) заключается в том, чтобы решения, имеющие лучшие значения Ф(х), с большей вероятностью попадали в новую популяцию при работе алгоритма. Целью алгоритма является нахождение экстремума введенной целевой функции, что в случае его отыскания будет соответствовать нахождению искомого решения, которое имеет наилучший показатель качества среди возможных решений задачи. Работа ГА разбивается на однотипные этапы (итерации). При этом на каждом i-м шаге вычислений ГА имеет дело с некоторым множеством векторов X = {х1(г),..., Хд®}, называемым популяцией.

Весь процесс поиска представляет собой последовательную смену популяций

Xo ^ Xi ^ ... ^ Xk,

происходящую при использовании операторов репродукции, скрещивания и мутации. Оператор репродукции используется для сохранения хромосом с лучшими значениями ЦФ и исключения из популяции хромосом с худшими значениями целевой функции. С помощью оператора скрещивания происходит наследование генетической информации и производится поиск более приспособленных решений. Оператор мутации позволяет изменять значения генов в хромосомах, что делает возможным поиск истинного решения в новых областях пространства решений. Генетический поиск продолжается до тех пор, пока не выполнится какое-либо условие останова, сигнализирующее о необходимости прекращения работы алгоритма или о нахождении решения.

С точки зрения эффективности применения генетических методов особую роль играет выбор целевой функции. Можно выделить три типа возникающих ситуаций.

Первой целью алгоритма является нахождение абсолютного, единственного решения

ЛЕСНОИ ВЕСТНИК 4/2008

149

МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ

поставленной задачи. При этом ЦФ задается так, чтобы на этом истинном решении достигался глобальный экстремум функции Ф(х).

Второй целью алгоритма является нахождение некоторого «приблизительного» допустимого решения. Это может быть связано, например, с необходимостью быстрого поиска исходных данных для некоторого специализированного алгоритма решения задачи. В данном случае условием останова выступает совершение алгоритмом заданного числа итераций, после чего особь, имеющая наилучшее значение ЦФ в последней популяции, объявляется решением.

Третьей целью алгоритма выступает отыскание какого-нибудь субоптимального решения задачи, удовлетворяющего некоторому условию, налагаемому на его качество. В таких случаях условием прекращения работы алгоритма служит присутствие в популяции особи, для которой значение ЦФ перешагнуло заданный порог качества. При этом границы обычно рассчитываются исходя из соображений «близости» к оптимальному решению. Такая постановка характерна для ряда трудноформализуемых задач.

Необходимо заметить, что удачный выбор целевой функции оказывает существенное влияние на результат работы алгоритма. Целевая функция должна идентифицировать решение (попадание в р-окрестность решения). При незначительном изменении аргумента должно наблюдаться незначительное изменение значений функции, а в процессе приближения к истинному решению желательным является ее монотонное движение к оптимальному значению. Заметим, что последнее условие обеспечивает «плавность» при движении к истинному решению.

Предположим, что целевая функция может только распознавать истинное решение, а на прочих векторах не позволяет выделить градиент движения к нему. Тогда пусть на первой итерации создана популяция Х1 из S особей. Если среди них нет решения, то их можно считать равноценными. При помощи оператора скрещивания создается популяция X2, |X2| = S

и.т.д. Можно рассмотреть следующую последовательность переходов: X0 ^ Х1 ^ ... ^ Xk, так как число векторов в каждой популяции

равно S, то за к итераций просматривается S-k векторов. Положим X2| = S = 2Y, тогда для получения истинного решения нужно сделать к шагов так, чтобы S-k = 2Y • k = 2n, таким образом k = 2”"у. Заметим, что в данном случае генетический алгоритм сводится к тотальному перебору, распараллеленному на S каналов.

Рассмотрим ситуацию, когда целевая функция удовлетворяет обоим вышеперечисленным условиям. На первой итерации рассматривается исходная популяция X такая, что |XJ = S = 2У и делится на особи со значением целевой функции, превышающим некоторое пороговое значение (обозначим данное множество - X), и те особи, у которых значение целевой функции ниже порогового значения - X12, так что Х1 = X11 u X12. В силу того, что при незначительном изменении значений аргумента происходит незначительное изменение значений функции, в результате скрещивания будут получаться особи c низким значением целевой функции, а значит, при применении оператора пропорциональной репродукции не перейдут в новую популяцию, тогда можно полагать, что репродукция применяется только для X11.

Положим |X11| = S1, |X12| = S2 и S12 > S, среди особей отбирается S с лучшими значениями целевой функции, далее применяется оператор скрещивания и так до нахождения минимального значения целевой функции. Заметим, что на первом этапе алгоритма было проанализировано S2 вариантов решений (S2 исключено сразу, остальные - с худшими значениями целевой функции из S12), на следующих итерациях данная последовательность действий повторяется. За к итераций анализируется S2k особей. Для выявления истинного значения в этом случае необходимо проделать такое количество итераций, которое обеспечит выполнение: S2k = 2n, или k(2r) = 2n, отсюда k = 2 n = 2r.

В настоящее время под термином «генетические алгоритмы» понимается не одна модель, а достаточно широкий класс алгоритмов, подчас мало похожих друг на друга. При разработке ГА, предназначенного для решения систем линейных неравенств с булевыми неизвестными, в качестве базовой используем «классическую» структуру ГА (рисунок).

150

ЛЕСНОЙ ВЕСТНИК 4/2008

МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ

Рисунок. Схема генетического алгоритма

Рассматривается система неравенств вида

' ^х + ... + alnxnV1bl < . . . а ЛХ + ... + а х V b

m1 Ч mn п mm

линейных

(i)

где а. Ьг е Z, i, j е N, х е {0, 1},V. е {<, >,

<, >}.

В качестве ЦФ рассмотрим функционал Ф(х), значения которого равны числу невыполнившихся неравенств при подстановке в качестве аргументов функций системы некоторого двоичного вектора х = (х,,..., xn). Тогда для истинного решения х0 выполняется равенство Ф(х0) = 0, а для ложных решений Ф(х0) > 0 при х Ф х0. Таким образом, после введения в рассмотрение функционала Ф(х) задача решения системы (1) сводится к эквивалентной ей задаче минимизации функции многих переменных Ф(х).

Экспериментальные исследования показывают наличие для функционала Ф(х) большого количества локальных экстремумов, что не позволяет ГА в большинстве случаев находить истинное решение, поэтому для определения качества вектора х используют невязку системы р(х).

Определение 1

Под невязкой /-го неравенства для вектора х = (х ..., хп) будем понимать следующую величину

р,0)=

п п

'Za^Xj-b„eaiu'£lqjxj-Ьг >0,wV,. е{<,<}

j=i

j=i

Ц - 2 ciyXj, если 2 ciyXj-Ц< 0,wV; e {>,>}

j=i J=i

0, в противном случае Определение 2

Невязка системы неравенств для вектора х - это сумма невязок всех неравенств

Р( х) = 2р (х). (2)

г=1

Использование в качестве оптимизируемой ЦФ невязки системы неравенств р(х) позволяет значительно повысить эффективность работы ГА, предназначенного для решения систем вида (1), что связано прежде всего с уменьшением числа локальных минимумов для данного функционала.

На основании экспериментальных исследований предлагается использовать в качестве ЦФ генетического алгоритма, предназначенного для решения систем вида (1), различные варианты невязки р(х).

Определение 3

Нормированной невязкой / - ого неравенства системы (1) для вектора х = (х ..., хп) назовем следующую величину

п

2 jj-

j=1

-, если 2 ax.

j=1 1 1

b >0,uVi е{<,<}

Z (х)=

b -2 а1х1 i=1

za2

, если 2 a ,■ x.

1=1 1 1

b <0,uVie{>,>}

К i=1

0, в противном случае Определение 4

Нормированная невязка системы (1) для вектора х

z( х)=2 z(х). (3)

i=1

Определение 5

Комбинированной невязкой системы (1) для вектора х = (х ..., хп) будем называть величину

^(х) = <х)% (4)

где z(x) - нормированная невязка системы

вида (1) для вектора х;

ЛЕСНОЙ ВЕСТНИК 4/2008

151

i Надоели баннеры? Вы всегда можете отключить рекламу.