УДК 519.718 Ю.В. Коваленко
Омский государственный университет им. Ф.М. Достоевского, г. Омск
ГЕНЕТИЧЕСКИЙ АЛГОРИТМ ДЛЯ ЗАДАЧИ СОСТАВЛЕНИЯ РАСПИСАНИЙ С ГРУППИРОВКОЙ МАШИН ПО ТЕХНОЛОГИЯМ
Постановка задачи. Рассмотрим следующую задачу составления расписаний для многопродуктового производства. Имеется предприятие, выпускающее к различных продуктов.
Требуемый объем производства продукта
/, I П 1,..., к , обозначим через
у,ня- ,
где Я1
- множество положительных вещественных чисел. Пусть т - число машин, которые могут использоваться при выпуске продукции.
Для каждого продукта
/, I □ 1,., к , указана одна или более технологий его производства. Пусть и - множество технологий, где
и □ , каждая из которых характеризуется набором одновременно занимаемых машин
Ми □{1,...т},
и Пи , т. е. если производится
продукт I по технологии и , то одновременно задействованы все машины, относящиеся к данной технологии. В любой момент каждая машина не может быть задействована более чем в одной технологии.
Пусть
и ри
- множество технологий по производству продукта I ,
I □ 1,., к , для
каждой из которых задан объем аи Ш
выпуска данного продукта в единицу времени, и Пи, . Предполагается, что для выпуска продукта I может быть использовано несколько
технологий из множества и, , ется.
I □ 1,., к . Прерывание выполнения технологий не допуска-
Для машины I заданы длительности переналадки этой машины с технологии и на тех-
нологию q , обозначенные через
$1ид □Я
( Я
- множество неотрицательных вещественных чисел), для всех и, q ^К.1 , где зующих машину I , I □ 1,., т .
К, □{ и □и : I □Ми } - множество технологий, исполь-Для каждого продукта
I, I □ 1,., к , необходимо определить, какие технологии и Ни^
будут использоваться для его производства, и для выбранных технологий составить расписание их выполнения с учетом переналадок машин и невозможности одновременного использования одной машины в различных технологиях таким образом, чтобы общее время окончания производства всех продуктов Стах в объемах У1,.,Ук было минимально.
Мотивация исследования. Согласно известной нотации [3, 5] представленная задача обозначается через
Р | | Стах и для нее имеет место следующая теорема.
Теорема [2]. 1. Задача Р | | Стах
является NР-трудной в сильном смысле даже
в частном случае, когда требуется произвести один продукт с использованием технологий одинаковой производительности, задействующих при своем выполнении не более трех машин.
2. Если справедлива известная гипотеза № 1И£РР, то для любого □ □0 не существует полиномиального приближенного алгоритма с точностью аппроксимации й ш для решения задачи
Р | , Ящ | Стах , даже если число продуктов к □ 1.
Таким образом, эффективный поиск приближенного решения исследуемой задачи с какой-либо практически приемлемой гарантированной оценкой точности не представляется возможным, поэтому имеет смысл разработка метаэвристик, в частности, генетических алг о-ритмов (ГА).
Задача
р | | Стах
возникает, например, при производстве пластмасс и являет-
ся частным случаем задачи, представленной в [4]. Отметим, что в указанной работе технологии рассматриваются при обсуждении постановки задачи, однако, в модели они в явном виде не представлены. Технологии учитываются в явном виде в предложенной нами модели частично целочисленного линейного программирования [2]. Данная модель имеет меньшее число переменных и ограничений, чем модель [4] для случая задачи
р | Seti , siUq | C-max . Кроме
того, моделирование технологий в явном виде позволяет применить для приближенного решения задач большой размерности Г А, где кодировка решений основана на выборе совокупности технологий и их упорядочении.
Генетический алгоритм. ГА является алгоритмом случайного поиска, в котором моделируется процесс развития популяции особей [1, 6]. Каждая особь соответствует некоторому решению задачи (фенотипу), которое представлено в алгоритме как некоторая строка символов (генотип). Под значением целевой функции генотипа будем понимать значение ц елевой функции фенотипа, ему соответствующего. При этом в случае задачи минимизации чем меньше значение целевой функции генотипа, тем больше он имеет шансов быть выбранным в качестве родительского для построения новых особей. Популяция развивается за счет отбора родительских особей с помощью оператора селекции и применения к ним случайных операторов, имитирующих мутацию генотипов и рекомбинацию родительских генотипов (кроссинговер).
Для решения задачи Р 1 seti , sluq 1 Cmax
будем использовать ГА со стационарной стратегией управления популяцией [6], общая схема которого имеет следующий вид.
ГА со стационарной стратегией управления популяцией
1. Случайным образом построить начальную популяцию.
2. Пока не выполнен критерий остановки, выполнять:
2.1. Выбрать из текущей популяции два родительских генотипа оператора селекции.
р1 и
2
p с помощью
2.2. Вычислить p1 и
2
p , применяя к p1 и
2
p оператор мутации.
1 2
2.3. Построить двух потомков С и С , применяя оператор кроссинговера к p1 и
p 2 .
2.4. Удалить из текущей популяции две особи с наименьшим значением целевой функции
1 2
и поместить на их место С и С .
3. Результатом работы алгоритма является фенотип лучшего из найденных генотипов.
47
48
Допустимые решения задачи представляются в ГА генотипами, состоящими из двух подстрок, одна из которых определяет технологии, участвующие в производстве продуктов, а вторая - порядок выполнения выбранных технологий. Алгоритм основывается на решении серии подзадач пониженной размерности в соответствии с моделью [2].
В качестве оператора селекции используется s-турнирная селекция [1]. Оператор мутации вносит в генотип некоторые случайные изменения [1, 6]. Под действием оператора крос-синговера родительские особи обмениваются своими признаками, порождая одного или двух потомков [1, 6]. В предлагаемом ГА используется оптимальная рекомбинация, которая заключается в построении наилучшего возможного результата кроссинговера для двух заданных родительских генотипов с учетом свойства передачи генов [1]: значение для каждого гена потомка выбирается из значений соответствующих генов одного или другого родителей (в рассматриваемом случае свойство передачи генов должно выполняться как для первой, так и для второй подстрок генотипа).
В [2] доказано, что представленный ГА сходится к оптимуму почти наверное. В настоящей работе построена оценка среднего числа итераций до достижения им оптимального решения. Кроме того, установлена NP-трудность в сильном смысле задачи поиска оптимального потомка в операторе кроссинговера.
Вычислительный эксперимент. Для оценки возможностей ГА с оптимальной рекомбинацией и его сравнения с пакетом CPLEX, непосредственно применяемым к модели [2], и с ГА, использующим равномерный кроссинговер [2], проведен вычислительный эксперимент на построенных случайным образом тестовых примерах четырех серий [2]. Сравнение проводилось по качеству приближенного решения, найденного за отведенный промежуток времени. В результате показано существенное преимущество ГА с оптимальной рекомбинацией по сравнению с остальными рассматриваемыми алгоритмами. В частности, на первой серии, где для примеров известны оптимальные решения, исследуемому алгоритму удавалось найти оптимум за отведенное время во всех случаях, тогда как пакету CPLEX - в 86 % случаев, а ГА с равномерным кроссинговером - в 80 % случаев.
Работа поддержана грантом РФФИ 12-01-00122.
Библиографический список
1. Еремеев, А. В. Генетические алгоритмы и оптимизация : учеб. пос. / А. В. Еремеев. -Омск : Изд-во ОмГУ, 2008. - 48 с.
2. Еремеев, А. В. О задаче составления расписаний с группировкой машин по технологиям / А. В. Еремеев // Дискрет. анализ и исслед. операций. - 2011. - Т. 18, № 5. - С. 54-79.
3. Multi-product lot sizing and scheduling on unrelated parallel machines / Dolgui A., Ere-meev A. V., Kovalyov M. Y., Kuznetsov P. M. // IIE Transactions. - 2010. - Vol. 42, № 7. -P. 514-524.
4. . Production scheduling of a large-scale industrial continuous plant: short-term and medium-term scheduling / Floudas C. A., Kallrath J., Pitz H. J., Shaik M. A // Comp. Chem. Engng. -2009. - Vol. 33. - P. 670-686.
5. Jansen, K. Preemptive scheduling with dedicated processors : applications of fractional graph coloring / Jansen K., Porkolab L. // Journal of Scheduling. - 2004. - Vol. 7. - P. 35-48.
6. Reeves, C. R. Genetic algorithms for the operation researcher / Reeves C. R // INFORMS J. Comput. - 1997. - Vol. 9, № 3. - P. 231-250.