Научная статья на тему 'Разработка и исследование асимптотического вероятностного генетического алгоритма'

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

CC BY
72
15
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ГЕНЕТИЧЕСКИЙ АЛГОРИТМ / СЕЛЕКЦИЯ / МУТАЦИЯ / РАСПРЕДЕЛЕНИЕ ВЕРОЯТНОСТЕЙ / GENETIC ALGORITHM / MUTATION / SELECTION / PROBABILITY DISTRIBUTION

Аннотация научной статьи по математике, автор научной работы — Галушин Павел В., Семенкина Ольга Э.

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

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

Design and Analysis of Asymptotic Probabilistic Genetic Algorithm

This paper proposes the modification of probabilistic genetic algorithm, which uses genetic operators, effecting not on particular solutions, but on the probabilities distribution of solution vectors components. This paper also compares reliability and efficiency of basic algorithm and proposed modification using the set of test functions and dynamic scheduling problem.

Текст научной работы на тему «Разработка и исследование асимптотического вероятностного генетического алгоритма»

УДК 519.688

Разработка и исследование асимптотического вероятностного генетического алгоритма

Павел В. Галушин* Ольга Э. Семёнкина^

Институт информатики и телекоммуникаций, Сибирский государственный аэрокосмический университет, Красноярский рабочий, 79, Красноярск, 660014,

Россия

Получена 18.05.2011, окончательный вариант 25.09.2011, принята к печати 10.11.2011 В данной работе предлагается модификация вероятностного генетического алгоритма, в котором вместо генетических операторов, действующих на отдельные решения (особей), используются операторы, действующие на распределение вероятностей компонент вектора решений (генов), а также производится сравнение надежности и эффективности базового алгоритма и модификаций на множестве тестовых функций и задаче динамического составления расписаний.

Ключевые слова: генетический алгоритм, селекция, мутация, распределение вероятностей.

Введение

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

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

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

* galushin@gmail.com

t semenkina.olga@mail.ru © Siberian Federal University. All rights reserved

В ходе мутации компоненты решения с небольшой вероятностью (которую называют вероятностью мутации) заменяются на противоположные. Основное предназначение оператора мутации — предотвращение преждевременной сходимости алгоритма.

На псевдокоде генетический алгоритм можно описать следующим образом:

1. Создать и оценить начальную популяцию с равномерным распределением генов.

2. Если выполнен критерий останова, прекращаем работу.

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

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

5. Перейти к шагу 2.

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

На псевдокоде ВГА можно выразить следующим образом:

1. Создать и оценить начальную популяцию с равномерным распределением генов.

2. Если выполнен критерий останова — прекращаем работу.

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

4. Оценить распределение вероятностей значений генов в промежуточной популяции.

5. Создать популяцию потомков с полученным распределением вероятностей.

6. Применить к полученным решениям оператор мутации.

7. Создать новую популяцию на основе популяции потомков.

8. Перейти к шагу 2.

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

Асимптотическая мутация

В ВГА мутация производится так же, как в традиционном ГА, — путем случайного инвертирования компонент вектора решений с заданной вероятностью (как правило, эта вероятность выбирается очень малой). Так как компоненты мутируют независимо, то мы можем ограничиться рассмотрением любой из них. Установленные ниже соотношения будут иметь место для каждой компоненты решения. Обозначим вероятность того, что до применения оператора мутации данная компонента была равна единице, как р, и определим, чему равна вероятность того, что данная компонента будет равна единице после мутации (обозначим эту вероятность как р'). Вероятность мутации обозначим как г.

После мутации компонента вектора решения может оказаться равной единице в двух следующих случаях: компонента была равна единице до мутации и не изменилась, или компонента была равна нулю до мутации и изменилась. Обозначим значение компоненты

до мутации как х, а после мутации — у, тогда по формуле полной вероятности будет иметь место равенство:

Используя введенные выше обозначения для вероятностей значений генов и вероятности

мутации, получим: '

р = г + (1 — 2г)р. (1)

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

Преобразование (1) отображает отрезок [0; 1] в отрезок [г; 1 — г], таким образом, оператор асимптотической мутации не позволяет вероятности р приближаться к 0 или 1 более чем на величину вероятности мутации г. Это исключает преждевременную сходимость по отдельным компонентам решения. Значение р = 0, 5 является неподвижной точкой отображения (1), а это значит, что если значения гена были равновероятны до применения асимптотической мутации, то это свойство сохранится и после ее применения.

Время выполнения асимптотической мутации не зависит от размера популяции, так как она требует только простого линейного преобразования компонент вектора вероятностей. Прямолинейная реализация традиционной процедуры мутации требует генерировать случайное число на каждой итерации, для каждого гена каждого решения, чтобы выяснить, нужно ли инвертировать ген. Таким образом, на каждой итерации необходимо выполнить

0(Ы • М) действий, где N — размер популяции, М — число генов.

Действительно, подсчитаем вероятность того, что решение вообще не изменится в ходе этапа мутации (обозначим ее как Q). Решение не изменится, если ни один из его генов не будет изменен. По правилу вычисления вероятности одновременного наступления нескольких независимых событий получаем Q = (1 — г)м. Для выбора вероятности мутации часто используется следующее правило: г = М-1. В этом случае имеет место приближенное равенство Q ^ е-1, то есть более трети решений в ходе мутации вообще не изменятся, а все вычисления, связанные с реализацией оператора мутации, более чем в трети случаев проводятся только для того, чтобы установить, что никаких действий выполнять не нужно.

Асимптотическая мутация лишена этих недостатков. Ее сложность равна (для одной итерации) 0(М), то есть время проработки этого этапа не зависит от размера популяции; на практике это означает, что временные затраты на проработку мутации становятся исчезающе малыми по сравнению, например, с этапом селекции.

Асимптотическая селекция

Процедуру селекции в ВГА можно рассмотреть как построение оценки распределения генов по методу Монте-Карло, аналогично тому, как это было сделано для оператора мутации выше. Но так как распределение (в принципе) известно точно, мы могли бы просто рассчитать искомую величину, вместо того чтобы оценивать ее.

Пусть популяция состоит из решений X1,...,XN, каждому из которых назначена вероятность прохождения отбора в одном испытании: gl,...,gN. Подсчитаем математическое ожидание вероятности того, что г-й ген окажется равным единице в одном испытании:

Р [у = 1] = Р [х = 1](1 — г) + Р [х = 0]г = р(1 — г) + (1 — р)г = г + р(1 — 2г).

N

к = 1

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

Используя описанные выше операторы асимптотической мутации и селекции, получим модификацию ВГА со следующей схемой:

1. Положить р(г) <-, г = 1...М.

1 2’

2. Создать N случайных булевых векторов хк таких, что Р{хк = 1} = р(г). Вычислить значения целевой функции для этих векторов: ук = /(хк).

3. Если выполнен критерий останова, то прекращаем работу.

4. Определить вероятности прохождения отбора д1,..., gN, соответствующие выбранному методу селекции.

5. Вычислить новые значения компонент вектора вероятностей по формуле (2):

7. Перейти к шагу 2.

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

Распространение на случай турнирной селекции

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

Можно показать, что турнирная селекция — разновидность ранговой селекции с неявным заданием вероятностей прохождения отбора. Действительно, отбор в турнирную группу производится независимо от значений целевой функции, а победителем турнира становится особь с наилучшим значением целевой функции. При поиске наибольшего значения важны не сами значения, а отношения порядка между ними, поэтому очевидно, что результат процедуры зависит не от значений целевой функции, а только от их рангов. Чтобы

N

к = 1

6. Асимптотическая мутация (1):

р(*) ^ г + (1 — 2 • г)р(г).

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

Пусть размер популяции равен N, значения пригодности в популяции — У1,УN. Необходимо вычислить вероятности отбора особей gl,...,gN при турнирной селекции (размер турнирной группы обозначим как £). Будем предполагать, что в популяции есть особи с одинаковыми значениями пригодности, что может быть вызвано двумя причинами: в популяции есть одинаковые решения и/или целевая функция имеет одинаковые значения для различных решений. Удобнее получить вероятности выбора для значений целевой функции, а не для решений. Пусть в популяции встречается К различных значений пригодности: У1,У к, причем *-е значение (то есть У;) встречается п, раз. Сумма всех п, равна N, то есть имеет место равенство: к

i=1

Будем предполагать, что значения У уже упорядочены по возрастанию. Вероятность выбора значения У обозначим как Ь,. В данном случае оказывается, что проще вычислить не вероятности выбора, а накопленные вероятности выбора, то есть величины вида:

i

в = Е ьо.

3 = 1

По определению, Bi — это вероятность того, что будет выбрано решение со значением целевой функции, меньшим либо равным У. Так как отбор в турнирную группу осуществляется случайным образом, причем все особи имеют равный шанс прохождения в турнирную группу, то данная вероятность равна отношению количества турнирных групп, содержащих только значения, меньшие либо равные У;, к общему количеству турнирных групп. Обозначим число турнирных групп размера £ для т особей как в(ш,£) и введем обозначение для частичных сумм вида

i

^п3 = ^.

3=1

Будет иметь место следующее равенство:

в = а(^,£)

'г да).

Зная накопленные вероятности, легко можно вычислить обычные вероятности выбора для значений:

ь, ЛВь * = 1

^В, — В,_1, 2 ^ ^ К.

После того как вычислены вероятности выбора значений, можно перейти к вычислению вероятностей выбора решений. Так как значение у, встречается в коллективе решений п; раз и все решения с одинаковым значением целевой функции должны иметь одинаковую вероятность выбора, то вероятность выбора для решения со значением целевой функции У равна ^,/п,.

Выражение вероятности выбора особи через вероятности выбора значений можно записать следующим образом: ь

3 ■ лл

gi = — ^ з : Уз = у,.

п3

Наконец, необходимо получить выражение для функции в(&,£), которая определяет количество турнирных групп. Если отбор в турнирную группу производится с повторами, то данная функция имеет простой вид:

в1(^,£) = &*.

В случае отбора без повторов формула получается несколько более сложной:

«2(М)

к1 =

о,

к!

(к -*)!’

к ^ і, к < і.

При і ^ к ^ N имеет место следующее равенство:

«2(к,і)

к! (Ж - і)!

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

к!

(Ж - і)! • і! /к

в2(Ж,і) (к - і)! N!

(к - і)! • і!

N!

би-

Величины вида к- называются убывающими факториальными степенями, а номиальные коэффициенты [3].

Выборка с повторами является более предпочтительной с точки зрения глобальной оптимизации, так как при использовании данной методики выборки решения с низкой пригодностью имеют относительно более высокие вероятности отбора. В частности, вероятность отбора всех решений отлична от нуля.

Оценим величину разности между значениями вероятностей, получаемых по формулам для выборки с повторами и без повторов:

В

а/Ж • тах

ві(Жй ,і) в2(Жй ,і)

ві(Ж,і) в2(Ж,і)

Данная величина соответствует статистике критерия Колмогорова-Смирнова, используемого для проверки гипотезы о различии двух распределений [4], таким образом, если величина В^ достаточно мала, то можно говорить, что распределения для отбора с повторами и без повторов не будут отличаться статистически значимо.

Введем обозначение

(х) =

ві(ж,і) Й2(ж,і)

ві(Ж,і) в2(Ж,і)

Для любого целого к < і, то в2(к,і) = 0, и, следовательно,

йг,м(к) =^^ ^(і - 1) = ^,к<і.

Так как расширение множества значений аргумента функции не может приводить к уменьшению наибольшего значения функции на нем, то имеет место неравенство

Вгм < "/Ж • тах (х) = а/Ж • тах

жЄ[0,№] ’ жЄ[0;№]

ві(ж,і) Й2(ж,і)

«і(Ж,і) в2(Ж,і)

где переменная х может принимать не только целые, но и вещественные значения.

Сначала рассмотрим частный случай, часто встречающийся на практике, а именно £ = 2, в котором решение может быть получено довольно прямолинейно, а затем перейдем к построению оценки в общем случае:

N — х

Ж (Ж - 1)

х (і х А 1 ^ 1

- Ж/ Ж - 1 ^ 4(Ж - 1).

Таким образом, имеет место следующая оценка:

а/Ж

4(Ж - 1)

О

а/ж

і

і

1

Оценим теперь величину (х) в общем случае, то есть при £ > 2. Выше уже была

получена оценка сверху при х £ [1;£ — 1], поэтому перейдем к случаю х £ [£; N], когда имеет место равенство

(х) =

N1 Ж '

В данном выражении модуль можно опустить, так как имеет место неравенство

х х__к

N ^ ж—к’ 0 ^ к ^ х < ^ (4)

Кроме того, можно получить следующее выражение для N:

Ж /-у* _ ^ М / /-у* _ \ ^ /Т* _ м / /-* \

х к к / 1 х к\ к х к / 1 к| (5)

N = N — к + N V — N — к) = N + N — к V — Ю ' ( )

Перемножая неравенства (4) для к = 0, — 1, получим

N ^ N'

Представим (х) следующим образом:

^(х)=ф)‘-1 - (й)‘> мх((МГ (х -11“

— -------------------------------- і —і— — і - —

— 1У / 1 N \ — 1) (Я — 1)*-1

Выражение во вторых скобках есть й4-1^-1(х — 1), поэтому

^(х) = N ((N)- - (N-1)^

Если 0 < Ь < а, то имеет место следующее неравенство:

П

ап+1 — ьп+1 ^ (а — Ь) ^ а4а"- < (а — Ь)(п + 1)а

г=0

Откуда, с учетом формулы (5) при к = 1, следует оценка

^-1 (* - Л,-1,(№ - х>(‘ - іих\-2 = <1-4 л _ ^ (-^-2

,Ю \М - 1у ^ (М - 1)М КМУ (М - 1) V МУ км

Введем обозначения ^(г) = г* (1 - г):

(і - 1) х (х) х . .

^(х) < м) + М^1’*-1(Х - 1)'

(£ — 1) х (х \ х

-----------^ 1 ' 1

^ — 1) N

Этот процесс можно продолжить до тех пор, пока в правой части не встретится

^2,№-4+2(х — £ + 2):

2 (і - к) хк ( х - к + 1 \ х*-2 . .

^(х) ^ X, (й-к)мк^-к-1 (,м-кГГ) + й-2^-*+2(х -і +2)

чм - к + 1

к=1 4 ' 4 -

В правой части формулы (3) воспользуемся тождеством ^1 — —) = <^>0 (—):

^ (х) < Ц (ыц. N. ^ N-1+1). (6)

Эта формула может быть использована для построения последовательности все более

точных оценок. В первом приближении при к ^ 1 имеем:

ж- ж--1 ж — к + 1 х — к + 1

N- N-—1 N - к + 1 N - к + Г

поэтому оценка (6) для примет вид (учтено, что по определению функций имеет место тождество у>&(ж) • ж” = ^>-+„(ж)):

1 (4 — к) ( ж — к + 1

‘^(ж) ^ -= ^ — к) N — к + 1

Найдем наибольшее значение функции <^‘(г) при г € [0; 1]. Внутри указанного интервала

данные функции принимают только положительные значения, а на его границах обраща-

ются в нуль. Значит, на данном отрезке существует максимум. Воспользуемся необходимым

признаком экстремума: производная обращается в ноль в точке = -----------. Вычислим зна-

4 + 1

чение функции в найденной точке:

( 1 \( 1 V

<£>‘(г) ^ тах у>‘(г) = Ф‘(г+) =1---------------- = -----гггт; г £ [0; 1].

* ге[0;1Г V 4 + 1У V* + 1/ (4 +1)‘+1

Получим более грубое, но более удобное для манипуляций выражение, воспользовавшись формулой Стирлинга [3]:

И • е‘ ( 1 V ‘ И • е‘ ( 1

72Л! • ехЧ—ы) ^4 ^ 72л! • ехЧ—^ ^

Воспользовавшись оценкой сверху для £‘ и оценкой снизу для (£ + 1)‘+1, получим неравенство

^ г! • е‘ х/зПТкП) /1 1 V 1

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

< -^ ,‘+1 ехр ——- — <

^ + 1)‘+^ (4 +1)! • е‘+1 и ^12(4 + 1) 124 + 1/ ^ е • г'

Используя это неравенство, можем написать:

, , . 1 1 1

^ <ж> « к ■

- = 1

Сумму в правой части можно выразить через так называемые гармонические числа, то есть частичные суммы гармонического ряда, следующим образом [3]:

‘-1 N-1 N-1 N-‘

Е (ж—к) = Е к = Е к — Е * = ^-1 — ^-‘.

-=1 4 у fe=N-‘+1 - = 1 -=1

Для гармонического числа HN можно указать следующие оценки сверху и снизу:

1п^) + 7 < ЯN < 1п^) + 7 + ^, (7)

где 7 « 0, 577 константа Эйлера [3].

Эта пара неравенств позволяет получить оценку сверху для разности двух гармонических чисел:

я»- я»< ini» -1)+jiN-r,- >"<» - f>=in (N--)+

Окончательно получаем

(x)«e-1 ■ (in ( N-!)+5(N-^) ■ (8)

Таким образом, разность между вероятностями для случаев отбора в турнирную группу с повторами и без повторов стремится к нулю с ростом размера популяции при достаточно малом размере турнирной группы.

Сравнение алгоритмов на тестовых и практических задачах

Рассматриваемые алгоритмы являются стохастическими, а значит, их характеристики нельзя оценивать по результатам одного запуска, необходимо выполнить большое число запусков с одинаковыми настройками и усреднить результаты. Характеристиками качества стохастических методов оптимизации являются надежность (доля запусков алгоритма, в которых был найден глобальный оптимум) и среднее количество вычислений целевой функции для достижения оптимума (усреднение производится по успешным запускам). Лучшим считается алгоритм, обладающий большей надежностью, если надежности двух алгоритмов равны, то лучший из них тот, который производит меньше вычислений целевой функции.

При сравнении алгоритмов использовали следующие настройки: размер популяции — 100, максимальное число итераций — 50, число запусков для определения характеристик качества — 1000, мутация — слабая, кодирование — код Грея [5]. Сравнение производилось отдельно для каждого метода селекции и тестовой функции, причем оценка характеристик выполнялась 5 раз. В таблице 1 указаны медианы полученных значений.

Тестовые функции взяты из работы [2]. Например, функции Растригина:

f < \ Х + У2 л (4х ^ л (4У ^ I й

fi(x,y) = —10-----4 cos I — I - 4 cos I — I + 8,

глобальный минимум которой достигается в точке (0;0), а значение функции в этой точке равно 0, и функции Де Йонга 2:

/2(х,У)= (^ ^ - cos(x) ■ cos () +2^ ,

глобальный максимум которой достигается в точке (0;0), а значение функции в этой точке равно 1.

Для проверки значимости различий использовался непараметрический критерий Уил-коксона-Манна-Уитни [4] с объемом выборок 5. Результаты тестирования алгоритмов приведены в табл. 1.

Таблица 1. Сравнение надежности обычного и асимптотического ВГА

Вид селекции ВГА АВГА

Пропорциональная 0,44 0,52

Ранговая 0,46 0,62

Турнирная 0,48 0,65

Из приведенной таблицы видно, что для всех методов селекции предложенная модификация превосходит базовый алгоритм. Повышение надежности можно объяснить следующим образом: вероятности отбора для решений с малым значением пригодности малы, следовательно, при использовании традиционных методов селекции эти решения редко попадают в промежуточную популяцию и оказывают влияние на построенное по ней распределение. При использовании асимптотической селекции все решения на каждом поколении вносят определенный вклад в распределение (для «плохих» решений этот вклад мал). Естественно, что учет «плохих» решений уменьшает скорость локальной сходимости, а значит, и вероятность захвата локальным минимумом, что, в свою очередь, повышает вероятность нахождения глобального минимума. Количество вычислений целевой функции, необходимое для нахождения экстремума, для рассмотреных алгоритмов практически не различается.

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

Эти правила реализуются через систему торгов и механизм очистки рынка. Процессоры предлагают цену за заявку, основываясь на своей возможности выполнить ее работу быстро и необходимости переналадки, а также на приоритете заявки. Цена В^, предлагаемая к-м процессором за і-ю работу (так называемая функция предложения), вычисляется по следующей формуле:

р _ Р • и* • (1 + С • е^) рМ _ Ть ,

где — приоритет работы, е^ — индикатор совпадения типа последней работы в очереди процессора с типом работы (в случае совпадения равен 1, если необходима переналадка — 0), Т^ — время, за которое процессор выполнит все назначенные ему работы, Р, С и Ь — это параметры, которые задают относительную важность трех компонент: и^, е^ и Т^, эти параметры и должны быть подобраны с помощью некоторого метода оптимизации.

Переменная Тй рассчитывается следующим образом:

ТЙ _ % • ^1 + ^!

где % — длина очереди процессора, і1 — время, необходимое для выполнения одной работы, п| — число работ в очереди узла, тип которых не совпадает с типом предыдущей работы, — время, необходимое для переналадки узла, — время, необходимое для завершения текущей работы.

Параметры функции предложения должны быть выбраны так, чтобы минимизировать время выполнения всех работ. В вычислительных экспериментах использовались следующие параметры: количество процессоров — 6, количество работ — 420, вероятность выхода процессора из строя — 0,01. Размер популяции был равен 50, число итераций — 20, мутация

— нормальная, селекция — турнирная с размером турнирной группы 2. Каждый алгоритм запускался 20 раз. Среднее время завершения всех поступивших работ для ВГА было равно

3,65, а для АВГА — 3,55. По критерию Стьюдента различия между данными значениями являются статистически незначимыми (выборочная дисперсия 0,42 и 0,34 соответственно).

Заключение

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

Работа выполнена при финансовой поддержке АВЦП "Развитие научного потенциала высшей школы"(НИР 2.1.1/12096) и ФЦП «Научные и научно-педагогические кадры инновационной России» (НИР НК-136П/3).

Список литературы

[1] D.E.Goldberg, Genetic algorithms in search, optimization, and machine learning, Reading, MA, Addison-Wesley, 1989.

[2] Е.С.Семенкин, Е.А.Сопов, Вероятностные эволюционные алгоритмы оптимизации сложных систем, Труды Международных научно-технических конференций «Интеллектуальные системы» (AIS’05) и «Интеллектуальные CAnP»(CAD-2005): в 3 т., М., ФИЗ-МАТЛИТ, Т. 1, 2005.

[3] Р.Грэхем, Д.Кнут, О.Паташник, Конкретная математика. Основание информатики, М., Мир, 1998.

[4] С.А.Айвазян, И.С.Енюков, Л.Д.Мешалкин, Прикладная статистика: Основы моделирования и первичная обработка данных, М., Финансы и статистика, 1983.

[5] Д.Э.Кнут, Искусство программирования, том 4, выпуск 2, Генерация всех кортежей и перестановок, М., ООО "И.Д.Вильямс" , 2008.

[6] R.Morley, Painting trucks at General Motors: the effectiveness of a complexity-based approach, Embracing Complexity: exploring and application of complex adaptive systems to business, 1996, 53-58.

Design and Analysis of Asymptotic Probabilistic Genetic Algorithm

Pavel V. Galushin Olga E. Semenkina

This paper proposes the modification of probabilistic genetic algorithm, which uses genetic operators, effecting not on particular solutions, but on the probabilities distribution of solution vector’s components. This paper also compares reliability and efficiency of basic algorithm and proposed modification using the set of test functions and dynamic scheduling problem.

Keywords: genetic algorithm, mutation, selection, probability distribution.

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