Оригинальная статья / Original article УДК: 519.852.33
DOI: 10.21285/1814-3520-2016-7-73-79
ПРИМЕНЕНИЕ ГЕНЕТИЧЕСКОГО АЛГОРИТМА ДЛЯ РЕШЕНИЯ ТРИПЛАНАРНОЙ ТРАНСПОРТНОЙ ЗАДАЧИ
© Ю.С. Димов1, Н.Д. Лукьянов2
Иркутский национальный исследовательский технический университет, 664074, Россия, г. Иркутск, ул. Лермонтова, 83.
Резюме. Цель. Исследование решения трипланарной транспортной задачи с помощью генетического алгоритма, а также изучение проблем, возникающих на этапе адаптации алгоритма к специфике данной задачи. Методы. Адаптация генетического алгоритма заключается в модификации алгоритмов создания популяции и скрещивания. Результаты. Выявлены проблемы при использовании классических алгоритмов создания популяции и
скрещивания, а именно: получаемые матрицы X, в основном, не удовлетворяют накладываемым на них ограничениям. Рассмотрены пути решения выявленных проблем - предложены алгоритмы создания популяции и скрещивания, адаптированные для трипланарной транспортной задачи. Заключение. Разработанные алгоритмы
учитывают ограничения, накладываемые на матрицу X при решении трипланарной транспортной задачи. Ключевые слова: трипланарная транспортная задача, генетический алгоритм, адаптация.
Формат цитирования: Димов Ю.С., Лукьянов Н.Д. Применение генетического алгоритма для решения трипланарной транспортной задачи // Вестник Иркутского государственного технического университета. 2016. № 7. С. 73-79 (in Russian). DOI: 10.21285/1814-3520-2016-7-73-79
GENETIC ALGORITHM APPLICATION FOR SOLVING A MULTI-INDEX TRANSPORTATION PROBLEM Yu.S. Dimov, N.D. Lukyanov
Irkutsk National Research Technical University, 83, Lermontov St., Irkutsk, 664074, Russia.
Abstract. The purpose of the paper is the solution of the three-dimensional transportation problem using a genetic algorithm and the study of the problems arising at the stage of algorithm adaptation to the specifics of the problem. Methods. Adaption of the genetic algorithm is represented by the modification of the algorithms of population creation and mating. Results. The problems arising when using classical algorithms of population creation and mating have been revealed.
They are as follows: derived X matrices mainly do not meet the constraints imposed on them. The ways to solve the identified problems are considered: the algorithms of population creation and mating adapted to the three-dimensional transportation problem have been proposed. Conclusion. Developed algorithms take into account the constraints imposed on X matrix when solving a multi-index transportation problem. Keywords: multi-index (three-dimensional) transportation problem, genetic algorithm, adaptation
For citation: Dimov Yu.S., Lukyanov N.D. Genetic algorithm application for solving a multi-index transportation problem. Proceedings of Irkutsk State Technical University. 2016, no. 7, рр. 73-79 (in Russian). DOI: 10.21285/1814-3520-20167-73-79
1
Димов Юрий Сергеевич, магистрант, e-mail: [email protected] Dimov Yuri, Master's Degree Student, e-mail: [email protected]
^Лукьянов Никита Дмитриевич, кандидат технических наук, старший преподаватель, e-mail: [email protected]
Lukyanov Nikita, Candidate of Engineering, Senior Lecturer, e-mail: [email protected]
Введение
так называемых двухиндексных транспортных задач, проработан и хорошо известен. Однако его использование для решения задач большей индексности той же структуры, как правило, наталкивается на значительные трудности в связи с особенностями многоиндексных транспортных задач [1].
Многие задачи экономики, математической статистики, исследования операций имеют математическую модель, свойственную транспортным задачам линейного программирования. Математический аппарат решения простейших задач такого типа,
На практике часто возникает задача составления плана транспортировки некоторого однотипного продукта от производителей к потребителям с использованием различных транспортных средств, реализация которого обеспечила бы минимальные транспортные издержки. Решать такую задачу, опираясь на классическую транспортную теорию, достаточно трудоемко, так как в данном случае стоимость транспортировки продукта зависит не только от расположения производителей и потребителей, но и от типа транспорта, а к обычным транспортным ограничениям добавляются дополнительные ограничения на количество продукта, перевозимого транспортными средствами данного типа [1].
Такую транспортную задачу можно решить как точными, так и приближенными методами [2-4]. Однако трудоемкость решения многомерных транспортных задач точными методами достаточно быстро растет с увеличением их размерности, в то же время размерность многих реальных задач столь велика, что получить их точное решение за приемлемое время не удается [1]. Поэтому достаточно большое количество исследователей обращаются при решении таких задач к методам искусственного интеллекта [5-9], к которым относится генетический алгоритм.
Выбор именно генетического алгоритма из всего многообразия методов искусственного интеллекта связан, во-первых, с его относительной простотой, во-вторых, с широкими возможностями разработчика по модернизации и адаптации алгоритма к особенностям решаемой задачи.
Постановка задачи
План транспортировки должен удовлетворять определенным условиям, формальная запись которых имеет вид:
j > О
(4)
ZZ i=«, i=1(1)м ;
j=i k=i
ZZ
i=1 k=1
i = b, i = 1(1) N ;
ZZ
i=1 j=1
Xjk = ck, k = 1(1) P;
(1)
(2)
(3)
где М - количество производителей; N - количество потребителей; Р - количество видов транспорта; хук - количество продукции перевезенного от /-го производителя к у-му потребителю к-м транспортом; ск - количество продукции, которое может быть доставлено к-м видом транспорта; Ь - количество продукции, необходимое для у-го потребителя; а,- количество продукции, произведенное /-м производителем [1].
В таком случае величина транспортных издержек рассчитывается как
L( x)=ZZZcjkxjk,
(5)
i=1 j=1 k=1
где Сук - стоимость перевозки продукции от /-го производителя к у-му потребителю к-м транспортом.
Таким образом, задача составления плана перевозок может быть сформулирована как задача линейного программирования: отыскать матрицу X* = (х * , минимизирующую функцию (5) и удовлетворяющую условиям (1)-(4). Задача (1)-(5) называется трипланарной транспортной задачей [1].
Адаптация операторов генетического алгоритма к специфике решаемой задачи
В данной работе рассматривается решение трипланарной транспортной задачи с помощью генетического алгоритма. Идея генетических алгоритмов заимствована у живой природы и состоит в организации эволюционного процесса, конечной целью которого является получение решения в поставленной задаче оптимизации [10].
Детальное рассмотрение генетического алгоритма выходит за рамки данной статьи, читатель может познакомиться с ним в работе [11].
Общая схема классического генетического алгоритма записывается в следующем виде [12]:
1. Формирование начальной популяции.
2. Оценка особей популяции.
3. Отбор (селекция).
4. Скрещивание.
5. Мутация.
6. Формирование новой популяции.
7. Если не выполнен критерий останова, то возвращаемся к пункту 2, в противном случае - завершение работы.
Сопоставим понятия генетического алгоритма и трипланарной транспортной задачи:
1. Особь - матрица X.
2. Скрещивание - формирование
матрицы - потомка X, из двух особей по определенному алгоритму.
3. Потомок - результат скрещивания
двух матриц X.
4. Ген - элемент матрицы X - xijk,
где i = 1(1)M, j = 1(1)N, k = 1(1)P.
5. Популяция - набор различных
матриц X, удовлетворяющих ограничениям (1)-(4).
При решении поставленной задачи с помощью генетического алгоритма возникает следующая проблема: использование стандартных методов генерации начальной популяции, скрещивания и мутации особей не всегда позволяет получить решения, удовлетворяющие ограничениям (1)-(4), и на этапе селекции такие решения отбрасываются, что в конечном итоге сводит на нет поисковые способности генетического алгоритма.
Поскольку в генетическом алгоритме особь формируется случайным образом, то
при начальном заполнении матрицы X она, в большинстве случаев, не удовлетворяет ограничениям (1)-(4) и тем самым особь из популяции исключается. Таким образом, генерация начальной популяции из особей, удовлетворяющих условиям (1)-(4), занимает достаточно длительное время.
Для решения этой проблемы предлагается использовать алгоритмы создания популяции и скрещивания, адаптированные
для трипланарной транспортной задачи
(наличие строгих ограничений матрицы X ).
В данной статье рассматривается модификация метода последовательного распределения [1] для генерации начальной популяции особей (решений), удовлетворяющих ограничениям (1)-(4). Назначение элемента матрицы X производится следующим образом: вычисляется верхняя допустимая граница изменения элемента
d(v) = min{a(v);bV);c(v)} , где v - количество итераций, i = 1(1)M, j = 1(1) N, k = 1(1)P. Далее значению элемента присваивается случайное значение в вычисленных границах xijk = Rand{0;d(v)}, после
чего происходит переход на следующую итерацию, причем af+l) = a(iv) -xijk,
bjv+1) = bV - x,ß, ckv+1) = ckv) - xiß, i = 1(1)M, j = 1(1)N, k = 1(1)P. Отметим также, что общее число итераций в данном случае составит M + N + P.
На рис. 1 приведена схема алгоритма создания начальной популяции, адаптированного для трипланарной транспортной задачи.
В результате применения представленного алгоритма генерации начальной популяции формируется набор особей, удовлетворяющих ограничениям (1)-(4). Следует заметить, что получаемые особи могут не являться опорным планом решения трипланарной транспортной задачи, так как в предложенном алгоритме на каждом шаге генерации популяции очередной элемент матрицы перевозок x задается случайным образом в границах [0; mm(a, Ь, Ck )], i = 1(1)M, j = 1(1)N, k = 1(1)P, из чего следует, что количество
значащих элементов в матрице X будет больше, чем M+N+P-2. Однако одним из достоинств генетического алгоритма является его способность работать с планами перевозок, не являющимися опорными, так как в данном случае алгоритм не производит каких-либо математических преобразований матрицы.
Рис. 1. Блок-схема алгоритма создания популяции Fig. 1. A flowchart of the algorithm of population creation
Следующим рассмотрим алгоритм скрещивания, адаптированный для трипла-нарной транспортной задачи, который является модификацией одноточечного кроссовера [12]. При использовании классического одноточечного кроссовера, основанного на делении родительских особей на две части и создании потомков путем смешивания этих частей, возникает ситуация, когда полученные в результате скрещивания потомки не удовлетворяют ограничениям (1)-(4). Предложенная модификация решает эту проблему.
Рассмотрим алгоритм работы модифицированного кроссовера (рис. 2). Из популяции отбираются две первые особи,
особь А и В, далее определяется точка разрыва и обе родительские особи разбиваются на два сегмента по этой точке: А1 и А2 для родителя А и В1 и В2 для родителя В соответственно.
Далее введем понятие весов для каждого из полученных сегментов, обозначив их следующим образом: аА\, аА2, аБ\, аБ2г - количество продукции, произведенное /-м производителем на соответствующих сегментах особи А1, А2, В1, В2; А,ЬА2рЪБ\рЪБ2} - количество продукции, необходимое для у-го потребителя на соответствующих сегментах
особи А1, А2, В1, В2; cA\k,cA2k,cBlk,cB2k -
количество продукции, которое может быть доставлено k-м видом транспорта на соответствующих сегментах особи А1, А2, В1, В2; (mr nr, pr) - координаты точки разрыва
в матрице X. При этом
i = 1(1)mr, j = 1(1)nr, k = 1(1)pr - для A1, В1 сегментов; i = mr(1)m, j = nr(1)n, k = pr(1)p
- для А2, В2 сегментов. Для того чтобы полученные потомки удовлетворяли ограничениям (1)-(4), необходимо попарное равенство весов сегментов:
aA1 = aB1, bAV = bB1,
' ' J J
cA\ = cB1k, aA2i = aB2t, .
bA2; = bB2p cA2k = cB2k
Вычислим веса для сегментов по следующим формулам:
- для А1 и В1:
nr pr
aA11, aB1i = ZZ xjk, i=1(1)mr;
j=\ k=1
bA1j, bABlj = 22 Xjk, j = 1(1)nr;
;'=1 k=1 mr nr
А, СБ1к = 22 х1]к, к = 1(1)рг;
¿=1 ;=1
- для А2 и В2:
п р
аА2г, аБ2г = 22 - V, = (1)т;
)=пг к=рг
т р
ЬА2;, ЬБ2 ^ = 22 -к, V = пг(1)п;
1=тг к=рг
т п
СА2к, СБ2к = 22 -к, к = рг (1)р.
1=тг )=пг
Если веса сегментов особей попарно равны, то выбранные особи скрещиваются, в противном случае для особи А выбирается другая особь в пару, если других особей не осталось, то переходим к следующей особи, а также генерируем новую точку разрыва.
Рис. 2. Блок-схема алгоритма скрещивания Fig. 2. A flowchart of the mating algorithm
Предложенный алгоритм создания популяции был реализован. Результаты работы показали, что алгоритм генерирует допустимую особь в 55% случаев, в оставшихся 45% случаев алгоритм распределяет значения генов особи свыше заданных ограничений, что связано с использованием случайного распределения. Этот недостаток решается дополнительной проверкой особи, генерируемой предложенным алгоритмом на допустимость: если особь допустима, она заносится в популяцию и генерируется следующая особь, иначе особь отбрасывается и генерируется заново.
Результаты
В данной статье предложены и рассмотрены алгоритм скрещивания и алгоритм создания популяции, адаптированные для трипланарной транспортной задачи.
Библиогра
1. Раскин Л.Г., Кириченко И.О. Многоиндексные задачи линейного программирования. М.: Радио и связь, 1982. 236 с.
2. Юдин Д.Б., Гольштейн Е.Г. Задачи и методы линейного программирования. М.: Советское радио, 1961. 494 с.
3. Гольштейн Е.Г., Юдин Д.Б. Задачи линейного программирования транспортного типа. М.: Наука, 1969. 383 с.
4. Зайченко Ю.П. Исследование операций. Киев: Вища школа, 1979. 392 с.
5. Gottlieb J., Paulmann L. Genetic algorithms for the fixed charge transportation problem // Proceedings of the 1998 IEEE International Conference on Evolutionary Computation, IEEE Press, 1998. Р. 330-335.
6. Бова В.В., Курейчик В.В., Лежебоков А.А. Многоуровневый алгоритм решения задач транспортной логистики на основе методов роевого интеллекта // Вестник Ростовского государственного университета путей сообщения. 2013. № 3 (51). С. 113-118.
7. Емельянова Т.С. Генетический алгоритм решения
Использование рассмотренных алгоритмов позволяет при генерации популяции получать различные матрицы X, удовлетворяющие заданным ограничениям (1)-(4), а также при скрещивании особей получать потомков, также удовлетворяющих ограничениям. Кроме того, вследствие решения выявленных проблем при применении генетического алгоритма к решению трипла-нарной транспортной задачи увеличивается скорость работы алгоритма и, как следствие, поиска оптимального решения.
В дальнейшем будет проводиться работа по адаптации алгоритма мутации для решения трипланарной транспортной задачи, поскольку при использовании классического алгоритма мутации [12], возникнут проблемы, подобные рассмотренным в статье.
кий список
транспортной задачи с ограничением по времени // Перспективные информационные технологии и интеллектуальные системы. 2007. № 4 (32). С. 43-59.
8. Michalewicz Z., Vignaux G.A., Hobbs M. A nonstandard genetic algorithm for the nonlinear transportation problem // ORSA J. Comput. 1991. Vol. 3. P. 307-316.
9. Курейчик В.М., Кажаров А.А. Муравьиные алгоритмы для решения транспортных задач // Известия РАН. Теория и системы управления. 2010. № 1. C. 32-45.
10. Дискретные задачи размещения [Электронный ресурс] // Библиотека тестовых задач. URL: http://math.nsc.ru/AP/benchmarks/UFLP/uflp_ga.html (11.12.2015).
11. Гладков Л.А., Курейчик В.В., Курейчик В.М. Генетические алгоритмы. М.: Физматлит, 2006. 402 c.
12. Goldberg D.E. Genetic Algorithms in Search, Optimization and Machine Learning. Boston: Addison-Wesley Longman, 1989. 372 p.
References
1. Raskin L.G., Kirichenko I.O. Mnogoindeksnye zadachi lineinogo programmirovaniya [Multi-index linear programming problems]. Moscow, Radio i svyaz' Publ., 1982, 236 p. (in Russian).
2. Yudin D.B., Gol'shtein E.G. Zadachi i metody lineinogo programmirovaniya [Objectives and methods of linear programming]. Moscow, Sovetskoe radio Publ., 1961, 494 p. (in Russian).
3. Gol'shtein E.G., Yudin D.B. Zadachi lineinogo programmirovaniya transportnogo tipa [Objectives of transport-type linear programming]. Moscow, Nauka
Publ., 1969, 383 p. (in Russian).
4. Zaichenko Yu.P. Issledovanie operatsii [Operation study]. Kiev, Vishcha shkola Publ., 1979, 392 p. (in Russian).
5. Gottlieb J., Paulmann L. Genetic algorithms for the fixed charge transportation problem. Proceedings of the 1998 IEEE International Conference on Evolutionary Computation, IEEE Press, 1998, pp. 330-335.
6. Bova V.V., Kureichik V.V., Lezhebokov A.A. Mnog-ourovnevyi algoritm resheniya zadach transportnoi logistiki na osnove metodov roevogo intellekta [A multi-
level algorithm for solving transportation logistics problems based on the methods of Swarm Intelligence]. Vestnik Rostovskogo gosudarstvennogo universiteta putei soobshcheniya /The Bulletin of RSTU]. 2013, no. 3 (51), pp. 113-118 (in Russian).
7. Emel'yanova T.S. Geneticheskii algoritm resheniya transportnoi zadachi s ogranicheniem po vremeni [Genetic algorithm for solving a time limited transportation problem]. Perspektivnye informatsionnye tekhnologii i intellektual'nye sistemy - Promising information technologies and intelligent systems, 2007, no. 4 (32), pp. 43-59 (in Russian).
8. Michalewicz Z., Vignaux G.A., Hobbs M. A nonstandard genetic algorithm for the nonlinear transportation problem. ORSA J. Comput., 1991, vol. 3, pp. 307-316.
Критерии авторства
Ю.С. Димов, Н.Д. Лукьянов подготовили статью. Ю.С. Димов несет ответственность за плагиат.
Конфликт интересов
Авторы заявляют об отсутствии конфликта интересов.
Статья поступила 11.05.2016 г.
9. Kureichik V.M., Kazharov A.A. Murav'inye algoritmy dlya resheniya transportnykh zadach [Ant colony algorithms for solving transportation problems]. Izvestiya RAN. Teoriya i sistemy upravleniya. [Journal of Computer and Systems Sciences International]. 2010, no. 1, pp. 32-45. (in Russian).
10. Diskretnye zadachi razmeshcheniya [Discrete location problems]. Available at: http://math.nsc.ru/AP /benchmarks/UFLP/uflp_ga.html (accessed 11 December 2015).
11. Gladkov L.A., Kureichik V.V., Kureichik V.M. Genet-icheskie algoritmy [Genetic algorithms]. Moscow, Fiz-matlit Publ., 2006, 402 p. (in Russian).
12. Goldberg D.E. Genetic Algorithms in Search, Optimization and Machine Learning. Boston, Addison-Wesley Longman, 1989. 372 p.
Authorship criteria
Yu.S. Dimov, N.D. Lukyanov have prepared the article. Yu.S. Dimov bears the responsibility for plagiarism.
Conflict of interests
The authors declare that there is no conflict of interests regarding the publication of this paper.
The article was received 11 May 2016