Научная статья на тему 'Генетический алгоритм для задачи составления расписаний с группировкой машин по технологиям'

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

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

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

УДК 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.

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