Многокритериальный генетический алгоритм

ВЕСТНИК ПНИПУ

2013 Электротехника, информационные технологии, системы управления № 8 УДК 519.816:004.23

А.Л. Гольдштейн

Пермский национальный исследовательский политехнический университет,

Пермь, Россия

МНОГОКРИТЕРИАЛЬНЫЙ ГЕНЕТИЧЕСКИЙ АЛГОРИТМ

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

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

A.L. Goldshtein

Perm National Research Polytechnic University, Perm, Russian Federation MULTICRITERIA GENETIC ALGORITM

The majority of choice problems arising in practical work is defined by multi-objectiveness. Their variety stimulates searching new solution methods. In this paper a combined approach using both regular optimization method and a genetic algorithm to solve multicriteria problems of mathematical programming has been proposed. In this case the former is a part of the latter. The solution can be found only in the Pareto set. As parameters determining Pareto solution and presented in the genotype the normalized criteria weight in minimax convolution has been taken. Weight normalization is ensured by reducing dimension in the space of a genotype per unit. In this paper a version of the above genotype and an example illustrating its operation have been presented.

Keywords: multicriteria tasks, minimax convolution, genetic algorithm.

В настоящей работе рассматривается следующая задача. Задано множество допустимых решений D, и на нем определены m знакопостоянных целевых функций (критериев эффективности) f(X), по которым лицо, принимающее решение, (ЛПР) оценивает решения. Необходимо помочь ЛПР выбрать наилучшее в смысле его предпочтений решение на D. Для решения этой задачи построим генетический алгоритм.

Известно, что решение многокритериальной задачи следует искать на множестве Парето [1]. Элементы этого множества будем порождать генетическим алгоритмом. Для получения паретовских решений используем свертку

F

где ai - веса критериев, удовлетворяющие условиям

m

£a, = 1, Va, > 0,

i=i

f

Ji

для критерия на минимум и

f

i

для критерия на максимум, fi Ф 0 и fi - минимальное и максимальное

значения i-го критерия на множестве D.

Свертка (1) при условиях (2) гарантирует, как минимум, слабую эффективность получаемых решений [1].

В качестве параметров фенотипа возьмем веса критериев ai.

В генотипе используем вещественное кодирование параметров и число генов, равное m - 1. Последнее обусловлено необходимостью выполнения равенства в (2). Таким образом, генотип представляется строкой фиксированной длины

g1 g2 gi gm-1

При этом аллели генов gi должны удовлетворять неравенству

0 < g1 < 1,1 =1, 2... т - 1.

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

«1 = «1 = gl -g^-l, 1 = 2Д.-т-1; «т =1 -gт-1.

В качестве функции приспособленности (fitness function) можно взять

m

) = E4f

,=1

где Xj - решение задачи (1) для j-й хромосомы, или

m f

Ф 2

i=1 J,

где в случае f, ^min соответствующее слагаемое заменяется на f

-i—. Тогда в идеальном (утопическом) решении будем иметь:

f

Ф1( Xид) = 0, Ф 2( Xид) = m. При необходимости ЛПР может задать коэффициенты важности А, слагаемых в (7) или (8), которые при условиях ^ А, = 1, VX,. > 0 не изменяют идеальных значений Ф1 и Ф 2. Но в отличие от весов а, коэффициенты А, остаются неизменными на протяжении всей работы алгоритма (они применяются только к уже найденным решениям).

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

f (X) ^max(min), , = 1, m.

' X eD X eD

Теперь опишем генетический алгоритм. Предварительный этап состоит в создании начальной популяции. Она генерируется датчиком случайных чисел с равномерным распределением или для более равномерного покрытия области (5) в виде ЛПх-последовательности [2, 3]. Завершается создание начальной популяции упорядочением генов во всех хромосомах по возрастанию их аллелей. Для оценки качества хромосомы она декодируется по формулам (6), затем решается задача (1)-(2), дающая значения всех критериев J, и, наконец, вычисляется функция приспособленности. Очевидно, что эти действия повторяются Np раз, где Np - размер популяции.

Основной этап алгоритма начинается с селекции - отбора родительских хромосом. Целесообразно использовать один из двух стандартных методов: метод рулетки или турнирный метод. Для увеличе-

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

p ДФ 2

PJ Np '

ЕАФ 2

j=1

где ДФ2(Х ) = Ф2 (X.) - min Ф2(Х,). Дважды применив к текущей попу-

j j

ляции выбранный оператор селекции, получаем родительскую пару. Учитывая специфику задачи, используем элитизм: при нечетном значении Np в следующее поколение переходит без изменений лучшая особь, а при четном Np - две лучшие особи текущего поколения, и число родительских пар будет равно (Np - 1)/2 или (Np - 2)/2. При этом ко всем родительским парам применяется оператор скрещивания.

Исходя из того, что у потомков гены должны сохранять упорядоченность по аллелям, используем одноточечный кроссовер. Если применение кроссовера приводит к нарушению упорядоченности генов в потомках, его действие отменяется, а в качестве потомков принимаются родители. Из описания оператора следует, что вероятность скрещивания Pc < l.

Потомки подвергаются мутации с вероятностью Pm. Гены просматриваются последовательно, и если случайное число соответствует принятой величине Pm, ген мутирует. При этом ген принимает новое случайное значение из диапазона gi-1 < gi <gi+1 при i е[2, m - 2], а значения крайних генов должны быть в пределах 0<g1<g2, gm-2< gm- 1 < l. Такое условие мутирования сохраняет упорядоченность генов потомков.

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

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

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

во всех решениях. Если ни одно из предъявленных решений не удовлетворяет ЛПР, скорее всего, это свидетельствует о неравнозначности отклонений критериев от их оптимальных значений. Тогда ЛПР может ввести в формулы оценки качества хромосом (7) или (8) коэффициенты важности критериев X¡ и повторить генетический поиск с целью получения нового подмножества лучших хромосом. Поскольку в повторном поиске снова будут оцениваться паретовские решения, возможное число повторений алгоритма (изменений Xi) до достижения приемлемого ЛПР решения не может быть большим.

Проиллюстрируем описанный алгоритм небольшим примером. Пусть требуется найти решение следующей линейной задачи: f1(X) = 3x1 + 4x2 ^ max, f2(X) = —x1 + 3x2 ^ max, f3(X) = x1 + 5x2 ^ max, f4(X) = 3x1 + 8x2 ^ max, f5(X) = 16x1 + 13x2 ^ max при условиях

-2xi + x2 < 4, x1 + 8x2 < 68, 5xi + 16x2 < 152, x1 + 2x2 < 22, x1 + x2 < 16, 2x1 + x2 < 28, 0 < x1 < 13,

0 < x2 < 8.

Для нахождения оптимальных решений использовалась программа LINGO. Результаты решения однокритериальных задач приведены в табл. 1.

Таблица 1

Результаты решения однокритериальных задач

Задача Решение Значения критериев

x1 x2 f1 f2 f3 f4 f5 Ф2

/(X^max 10 6 54 8 40 78 238 4,213

f2(X)^max 2 8 38 22 42 70 136 4,08

f3(X)^max 5,333 7,833 47,333 18 44,5 78,67 187 4,444

f4(X)^max 8 7 52 13 43 80 219 4,418

fs(X)^max 12 4 52 0 32 68 244 3,532

Из этой таблицы имеем:

f = 54, f = 22, f, = 44,5, f = 80, f5 = 244. Задачу (1) преобразуем к линейной следующим образом:

F

' ¡fr ' f XeD

f

Обозначив y r (X) = ~ , выражение (10) запишем в равносильной форме:

Z

i X eD

Линейная задача, эквивалентная задаче (11), имеет вид

z ^ max,

X eD

аiуг

Задача (12)-(13) решается для каждой хромосомы, и ее результатом являются X и/,(X), ] = 1, N , I- 1, т.

Для решения исходной задачи применим генетический алгоритм. В рассматриваемом случае длина хромосомы равна 4. Примем Ыр = 7, Рт = 0,1 и элитарную стратегию: в новую популяцию переходит без изменения одна лучшая хромосома. Используя равномерно распределенные случайные числа, получаем начальную популяцию, представленную в табл. 2. В ней же даны соответствующие веса аг-, вычисленные по формулам (6).

Таблица 2

Начальная популяция

№ хром. g1 g2 g3 g4 a1 a2 a3 a4 a5

1 0,51 0,53 0,88 0,97 0,51 0,02 0,35 0,09 0,03

2 0,13 0,22 0,47 0,53 0,13 0,09 0,25 0,06 0,47

3 0,24 0,56 0,89 0,91 0,24 0,32 0,33 0,02 0,09

4 0,12 0,56 0,69 0,98 0,12 0,44 0,13 0,29 0,02

5 0,36 0,38 0,63 0,77 0,36 0,02 0,25 0,14 0,23

6 0,08 0,44 0,62 0,94 0,08 0,36 0,18 0,32 0,06

7 0,04 0,73 0,79 0,80 0,04 0,69 0,06 0,01 0,2

В результате решения задачи (12)-(13) получили оценки начальной популяции, которые приведены в табл. 3.

Таблица 3

Оценки начальной популяции

№ хром. Решение X) Значения критериев

Х1 Х2 Л /2 /3 /4 Л Ф2

1 3,14 8,0 41,42 20,86 43,14 73,42 154,24 4,2345

2 7,179 7,257 50,56 14,59 43,46 79,59 209,2 4,4284

3 8,0 7,0 52,0 13,0 43,0 80,0 219,0 4,4176

4 11,751 4,249 52,25 0,997 32,997 69,246 243,25 3,617

5 2,0 8,0 38,0 22,0 42,0 70,0 136,0 4,08

6 11,09 4,91 52,91 3,626 35,63 72,53 241,28 3,8405

7 8,0 7,0 52,0 13,0 43,0 80,0 219,0 4,4176

Случайным образом с вероятностями (9) образуем родительские пары 3-6, 1-4, 7-3 и затем так же случайно определяем соответствующие им точки разбиения 2, 3 и 1. При таком разбиении оператор скрещивания срабатывает для всех пар, так как образование потомков не приводит к нарушению упорядоченности генов (см. табл. 2). К полученным потомкам применяем оператор мутации. Он вызвал мутации гена gl у 1 -го потомка 1 -й пары и генов gl и g3 у 2-го потомка 2-й пары (выделены полужирным шрифтом). Потомки до и после мутации показаны в табл. 4.

Таблица 4

Результаты скрещивания и мутации

№ Потомки до мутации Потомки после мутации

хром./

род. па- gl g2 gз g4 gl g2 gз g4

ра

8/3-6 0,24 0,56 0,62 0,94 0,46 0,56 0,62 0,94

9/3-6 0,08 0,44 0,89 0,91 0,08 0,44 0,89 0,91

10/1-4 0,51 0,53 0,88 0,98 0,51 0,53 0,88 0,98

11/1-4 0,12 0,56 0,69 0,97 0,36 0,56 0,71 0,97

12/7-3 0,04 0,56 0,89 0,91 0,04 0,56 0,89 0,91

13/7-3 0,24 0,73 0,79 0,80 0,24 0,73 0,79 0,80

2 - - - - 0,13 0,22 0,47 0,53

В последних четырех столбцах этой таблицы представлены хромосомы второго поколения. Хромосома 2 перешла в него, минуя операции скрещивания и мутации (а в родители она не попала случайно). Для оценки качества нового поколения хромосомы декодировались, и с полученными аг- решалось 6 задач (12)-(13) (для хромосомы 2 решение найдено раньше). Сводные итоги решения приведены в табл. 5.

Таблица 5

Оценки второго поколения

№ хром. Решение Xj Значения критериев

Х1 Х2 /1 /2 /3 /4 /5 Ф2

2 7,179 7,257 50,56 14,59 43,46 79,59 209,2 4,4284

8 8,382 6,809 52,38 12,04 42,43 76,62 222,63 4,3785

9 8,0 7,0 52,0 13,0 43,0 80,0 219,0 4,4176

10 5,761 7,699 48,08 17,34 44,26 78,88 192,28 4,4470

11 11,183 4,817 52,82 3,27 35,27 72,08 241,55 3,8100

12 8,0 7,0 52,0 13,0 43,0 80,0 219,0 4,4176

13 8,0 7,0 52,0 13,0 43,0 80,0 219,0 4,4176

Как следует из табл. 5, во втором поколении появилась хромосома 10 с функцией приспособленности Ф2 выше, чем у лучшей хромосомы 2 первого поколения. Это дает основание для продолжения итераций.

Аналогично 1-й итерации сформированы родительские пары хромосом 11-10, 11-13, 13-8 и определены для них точки разбиения 2, 1 и 3 соответственно. Скрещивание с такими точками сохраняет упорядоченность генов потомков. Мутации подверглись только ген g4 1-го потомка и ген g2 2-го потомка первой пары. Хромосома 10 перешла в третье поколение без изменений. Оценивалось третье поколение по той же схеме, что и предыдущие поколения. Опуская данные по всем хромосомам третьего поколения, отметим, что лучшую приспособленность показала хромосома 15, второй потомок 1-й пары. Ее данные: х1 = 5,3(3); х2 = 7,83(3); /1 = 47,33; /2 = 18,17; / = 44,5; / = 78,67; /5 = 187,17; Ф2 = 4,4526. Если на этом шаге остановить генетический алгоритм, то ЛПР будут интересны хромосомы 15, 10 и 2, показавшие наивысшие значения Ф2. Определим процент достижения максимально возможного значения / для хромосомы 15. Этот

показатель равен 87,65 % по 1-му критерию, 82,59 % по 2-му, 100 % по 3-му, 98,3 % по 4-му и 76,71 % по 5-му критерию, что свидетельствует об отсутствии провалов по отдельным критериям. Аналогичные данные

можно вычислить для хромосом 10 и 2. Если полученные результаты не устроят ЛПР, тогда третье поколение можно принять за начальную популяцию, ввести коэффициенты важности критериев Xj в функцию приспособленности Ф2 и повторить итерации генетического алгоритма.

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

Библиографический список

1. Подиновский В.В., Ногин В.Д. Парето-оптимальные решения многокритериальных задач. - М.: Наука, 1982.

2. Соболь И.М., Статников Р.Б. Выбор оптимальных параметров в задачах со многими критериями. - М.: Дрофа, 2006.

3. Соболь И.М. Многомерные квадратурные формулы и функции Хаара. - М.: Наука, 1969.

Сведения об авторе

Гольдштейн Аркадий Леонидович (Пермь, Россия) - кандидат технических наук, профессор кафедры информационных технологий и автоматизированных систем Пермского национального исследовательского политехнического университета (614990, Пермь, Комсомольский пр., 29, e-mail: gal@pstu.ru).

About the author

Goldshtein Arkady Leonidovich (Perm, Russian Federation), PhD of technical Science, Professor at the department of information technology and automated systems of Perm National Research Polytechnic University (614990, Perm, 29, Komsomolsky pr., e-mail: gal@pstu.ru).

Получено 06.09.2013