структуры и моделирование 2013. № 1(27). С. 46-55
УДК 519.7
МОДЕЛЬ С НЕПРЕРЫВНЫМ ПРЕДСТАВЛЕНИЕМ ВРЕМЕНИ ДЛЯ ЗАДАЧИ СОСТАВЛЕНИЯ РАСПИСАНИЙ С ГРУППИРОВКОЙ МАШИН ПО ТЕХНОЛОГИЯМ
Ю.В. Коваленко
Рассматривается задача составления расписаний многопродуктового производства. Особенностью постановки является то, что каждый продукт имеет несколько технологий производства, при выполнении которых используется сразу несколько машин, работающих одновременно. Если машина переключается с одной технологии на другую, то необходимо выполнять переналадку. Построены модели частично целочисленного линейного программирования для задачи в общей постановке и для случая, когда длительности переналадки удовлетворяют неравенству треугольника. Для сравнения предложенных моделей проведены численные эксперименты на построенных случайным образом тестовых примерах.
Введение
Большое практическое значение имеют задачи составления расписаний для производства, где в процессе выполнения операций на имеющемся множестве машин происходит получение одних веществ из других. Вещества подразделяются на сырье, промежуточные и окончательные продукты. Различают задачи с прерываниями и без прерываний. В задачах с прерываниями каждая операция может быть прервана и возобновлена позднее (см., например, [1,4]), а в задачах без прерываний — не допускаются прерывания выполнения операций (см., например, [6, 10]). Продукты могут производиться либо непрерывно [14, 17], либо партиями [7,13]. Кроме того, необходимо учитывать погрузку, хранение и транспортировку продуктов, переналадку машин и т. д.
Ряд работ (см., например, [4,9,11,12,16,19]) отличается тем, что в них рассматриваются не отдельные операции, а технологии, представляющие собой набор операций, в результате действия которых может быть получен тот или иной продукт. Для выполнения технологии необходимо наличие некоторой совокупности машин, работающих одновременно или последовательно друг за
Copyright © 2013 Ю.В. Коваленко
Омский государственный университет им. Ф.М. Достоевского
E-mail: juliakoval86@mail.ru
Работа поддержана грантом РФФИ 12-01-00122
другом. Каждый продукт может быть произведён одной или более технологиями.
В настоящей статье рассматривается задача составления расписаний с группировкой машин по технологиям, возникающая, например, при производстве пластмасс и представляющая собой частный случай задачи, предложенной в [11]. Здесь в качестве операций рассматриваются химические реакции. Особенностью постановки является то, что каждый продукт имеет несколько технологий производства, при выполнении которых используется сразу несколько машин, работающих одновременно (в [4,9,12,16] такие технологии называются многопроцессорными работами). Если машина переключается с одной технологии на другую, то необходимо выполнять переналадку. В соответствии с известной нотацией [3, 7, 16] рассматриваемая задача обозначается через Р81ид|Стах, если прерывание выполнения технологий не допускается, и Ррш^, 81ид|Стах — в противном случае.
В [3,5,9,12,16,18] проводится анализ сложности задач составления расписаний с группировкой машин по технологиям, в которых длительности переналадок машин равны нулю. В задачах составления производственных расписаний [2,7] рассматриваются технологии, задействующие при своём выполнении только одну машину, но уже при наличии переналадок. В [11] технологии рассматриваются при обсуждении постановки задачи, однако в модели они в явном виде не представлены. Такой подход приводит к моделям частично целочисленного линейного программирования достаточно большой размерности, для решения которых применяется метод декомпозиции [11,13,14].
В настоящей работе предложены модели частично целочисленного линейного программирования (ЧЦЛП) для задач теории расписаний Р|Стах и Ррш^, |Стах в общей постановке и для случая, когда длительности переналадки удовлетворяют неравенству треугольника. Построенные модели учитывают технологии в явном виде и имеют меньшее число переменных и ограничений, чем модель [11] в применении к исследуемой задаче.
Модель, сформулированная для случая выполненного неравенства треугольника, является более предпочтительной при использовании методов оптимизации, основанных на ЛП-релаксации, что подтверждается численными экспериментами на сгенерированных случайным образом тестовых примерах.
1. Постановка задачи
Рассмотрим предприятие, выпускающее к различных продуктов. Требуемый объем производства продукта г, г = 1,..., к обозначим через V € (здесь и далее — множество положительных вещественных чисел). Пусть т — число машин, которые могут использоваться при выпуске продукции.
Для каждого продукта г, г = 1,..., к указана одна или более технологий его производства. Пусть и — множество технологий, каждая из которых характеризуется набором одновременно занимаемых машин Ми с {1,...,т}, и € и, т.е. если производится продукт г по технологии и, то одновременно задействованы все машины, относящиеся к данной технологии. В любой момент каждая маши-
на не может быть задействована более чем в одной технологии. Обозначим |U| через d.
Пусть Ui С U — множество технологий по производству продукта i, i = 1,..., k, для каждой из которых задан объем au Е R+ выпуска данного продукта в единицу времени, u Е Ui. Предполагается, что для выпуска продукта i может быть использовано несколько технологий из множества Ui, i = 1,...,k. В соответствии с терминологией [8, 16] допускается перемещение (migration) по технологиям при выпуске продукта.
Для машины l заданы длительности переналадки этой машины с технологии u на технологию q, обозначенные через siuq Е R+ для всех u, q Е Ki, где Ki = {u Е U : l Е Mu} — множество технологий, использующих машину l, l = 1,... ,m (здесь R+ — множество неотрицательных вещественных чисел).
Для каждого продукта i, i = 1,...,k необходимо определить, какие технологии u Е Ui будут использоваться для его производства, и для выбранных технологий составить расписание их выполнения с учётом переналадок машин и невозможности одновременного использования одной машины в различных технологиях таким образом, чтобы общее время окончания производства всех продуктов Cmax в объёмах Vl,...,Vk было минимально. Задача рассматривается в двух вариантах: с возможностью прерываний выполнения технологий (P|seti, pmtn, siuq|Cmax) и без неё (P|seti, siuq|Cmax). Ввиду возможности перемещения по технологиям при выпуске продукта в центральное поле обозначения задач следовало бы добавить символ "var" [8], но для компактности изложения этот символ опускается.
На практике достаточно часто встречаются задачи составления производственных расписаний, где длительности переналадки удовлетворяют неравенству треугольника:
siuq + siqP ^ siup, l = 1,...,m, u, q, p Е Ki. (1)
Обозначим этот частный случай через P|seti, pmtn, Asiuq|Cmax, если допускается прерывание выполнения технологий, и P|seti, Asiuq|Cmax, если не допускается. Указанные задачи являются NP-трудными в сильном смысле, так как в частном случае при m = 1 к ним сводится метрическая задача о кратчайшем гамильтоновом пути, являющаяся NP-трудной в сильном смысле [15].
2. Модель частично целочисленного линейного программирования для общего случая
Известно множество подходов к формулированию задач построения производственных расписаний в виде моделей ЧЦЛП с учётом сложных связей между технологиями, продуктами и машинами [2,11,13,14,19]. Учитывая структуру рассматриваемой задачи, можно предложить модель, основанную на тех же принципах, что и в [2,11,13].
Определим понятие точки событий, аналогичное введённому в [13]. Точка событий — это группа переменных задачи, которые задают некоторый набор
технологии и моменты начала и окончания выполнения технологии из этого набора. В одной точке событий каждая машина может быть задействована не более чем в одной технологии. Множество точек событий обозначим через N = {1,... , nmax}, где параметр nmax выбирается достаточно большим на основе априорных оценок или вычислительных экспериментов.
Основными переменными для построения модели будут булевы переменные wun такие, что wun = 1, если технология u выполняется в точке событий n, и wun = 0 иначе. Кроме того, введём вещественные переменные, которые в случае, если технология u выполняется в точке событий n, имеют следующий смысл: TUn — время начала выполнения технологии u в точке событий n, Tf — время завершения выполнения технологии u в точке событий n. Переменная Cmax соответствует моменту завершения производства всех продуктов.
Введем следующие обозначения: I — множество продуктов, |I| = k; M — множество машин, |M| = m;
H = V max Vl } + (k — 1) • max |sluq j — оценка сверху длины расписания. i^jueUi la«J ieM, u,qeKi
Времени H заведомо достаточно для выпуска всех продуктов.
Тогда модель ЧЦЛП для задачи P|setj, pmtn, sluq|Cmax может быть записана
следующим образом:
Cmax
^ min, (2)
Tfn ^ Cmax, u g U, n g N, (3)
^ wun ^ 1, l g M, n g N, (4)
ueKj
Tn ^ Tqn + siqu - H ■ (2 - wun - wUqfl + ^ ^ w^n'), (5)
q' GK; n<n' <n
l g M, u, q g Kl, n, n g N, n =1, n < n,
Tfn ^ TuSn, u g U, n g N, (6)
TL - Tin ^ wun ■ ma^l — 1 , i g I, u g Ui, n g N, (7)
qGUi [ ßq J
^ У ^ У ßu (T un T un nGN uGUl
ßu ■ (Tfn - Tun) ^ Vi, i g I, (8)
тип ^ 0, и € и, п € Ж, (9)
^ип € {0,1}, и € и, п € N. (10)
Целевая функция (2) и неравенство (3) задают критерий минимизации момента окончания производства всех продуктов. Ограничение (4) выражает тот факт, что в каждой точке событий машина I используется не более чем в одной технологии, ограничение (5) — что время начала технологии и на машине I должно быть не меньше, чем время окончания предыдущей технологии на той же машине плюс длительность переналадки. Условие (6) гарантирует неотрицательность длительности технологий. Если технология и в точке событий п не
выполняется, то её длительность должна быть равна нулю, что обеспечивается неравенством (7). Ограничение (8) гарантирует выпуск продукции в заданном объёме. Условия (9) - (10) описывают область определения переменных.
Модель ЧЦЛП для задачи Рви 1Стах может быть получена путём добавления к ограничениям (2) - (10) неравенства
гарантирующего непрерывность выполнения каждой технологии.
3. Модель частично целочисленного линейного программирования для случая выполненного неравенства треугольника
На практике достаточно часто возникают задачи составления производственных расписаний, в которых длительности переналадки удовлетворяют неравенству треугольника (1). Поэтому имеет смысл сформулировать модели ЧЦЛП для задач Ррш^, Дв^д|Стах и PДв^д|Стах. Предлагаемые модели представляются более предпочтительными, так как в них удаётся исключить неравенство (5), которое усложняет процесс поиска оптимального решения для методов оптимизации, основанных на ЛП-релаксации.
С использованием введённых ранее обозначений модель ЧЦЛП для задачи Pрш^, Дъ^д 1Стах может быть записана следующим образом:
(11)
Стах ^ шт, Т1п ^ Стах, П Е V, П Е Ы,
12)
13)
14)
пек
15)
16)
17)
18)
19)
20)
пем пеи
ыип Е {0,1}, и Е и, п Е N.
21)
Ограничения (12) - (14) и (18) - (21) имеют тот же смысл, что и в предыдущей модели. Условие (15) выражает то, что время начала выполнения технологии и в точке событий п +1 должно быть не меньше, чем время окончания её выполнения в точке событий п. Неравенство (16) говорит о том, что время начала технологии и на машине I должно быть не меньше, чем время окончания предыдущей технологии на той же машине плюс длительность переналадки. Однако, если технология и является первой на машине I, то длительность переналадки на неё учитывать не нужно. Это обеспечивается благодаря тому, что переменные Т*п во всех предшествующих точках событий могут принимать отрицательные значения. Если же технология и имеет место в точке событий п, то время начала её выполнения должно быть неотрицательным, что обеспечивается условием (17).
Необходимо отметить, что ограничение (16) будет гарантировать получение оптимального решения задачи Ррш1п, в1ид|Стах, только если длительности переналадки удовлетворяют неравенству треугольника.
Модель ЧЦЛП для задачи Р^е^, Дв^д|Стах может быть получена путём добавления к ограничениям (12) - (21) неравенства (11).
4. Вычислительный эксперимент
Для оценки применимости моделей, предложенных для случая выполненного неравенства треугольника, проведён вычислительный эксперимент на построенных случайным образом задачах трёх серий S1, S2 и S3.
Модели (2) - (10) и (12) - (21) ((2) - (11) и (11) - (21)) были записаны в системе моделирования GAMS 23.2 и задача P|setj, pmtn, Asluq|Cmax (P|setj, Astuq|Cmax) решалась с помощью универсального пакета CPLEX 12.1. При этом использовался метод ветвей и границ с отсечениями, настройки которого были выбраны по умолчанию. Тестирование проводилось на ЭВМ Intel Core2 Duo CPU E7200 2.54 ГГц, оперативная память 2 Гб.
При генерации тестовых задач для каждой технологии u Е U число машин lMul Е {1,... ,m} выбиралось случайно, а затем машины назначались на данную технологию равновероятно без повторений. Числовые значения для всех тестовых задач генерировались случайным образом с равномерным распределением из следующих множеств: Vi Е [1,Vmax]; |Uj| е {1,..., Umax}; au Е [1, ], где i такое, что u Е Ui; siuq Е [0,smax]. В табл. 1 приведены выбранные значения параметров для каждой серии.
Таблица 1. Параметры серий
серия число задач k m Umax Vmax smax nmax
S1 10 4 4 3 10 5 5
S 2 10 5 7 5 12 7 6
S 3 10 8 10 5 15 9 8
Для проведения вычислительного эксперимента было установлено максимальное время, равное 7200 сек. СРЬЕХ может решать за указанное время один тестовый пример.
В табл. 2, 3 и 4 представлены результаты вычислительного эксперимента для задачи Ррш^, Дв^|Стах. Здесь используются следующие обозначения: Жуаг — число переменных в моделях (2) - (10) и (12) - (21); ЖеЧу — число уравнений в модели (2) - (10); ЖеЧуд — число уравнений в модели (12) - (21);
С — значение целевой функции, полученное при решении задачи (2) - (10) пакетом СРЬЕХ;
Сд - значение целевой функции, полученное при решении задачи (12) - (21) пакетом СРЬЕХ;
£ — время работы СРЬЕХ в сек. при решении задачи (2) - (10); — время работы СРЬЕХ в сек. при решении задачи (12) - (21).
Таблица 2. Сравнение моделей на задачах серии
задача Neqv Neqvд С Сд £ £д
1 121 834 432 15.5691 15.5691 39.14 16.52
2 151 1434 688 15.4431 15.4431 48.37 11.08
3 121 1054 504 17.5173 17.5173 17.26 6.96
4 106 589 328 11.1378 11.1378 3.39 0.79
5 121 924 464 16.2939 16.2939 6.73 2.88
6 91 444 256 13.4058 13.4058 1.44 0.53
7 106 359 248 7.8721 7.8721 0.7 0.33
8 121 974 488 20.3919 20.3919 9.45 4.57
9 106 649 344 11.8913 11.8913 7.61 3.19
10 121 854 440 21.7056 21.7056 54.2 26.47
Таблица 3. Сравнение моделей на задачах серии Б2
задача Neqv Neqvд С Сд £ £д
1 235 3656 1374 24.6338 24.6338 420 115.9
2 235 4541 1624 33.194 33.194 693.5 43.5
3 253 5654 2003 41.8958 41.8958 400 180.4
4 325 7826 2769 14.8397 14.8397 720.5 321.3
5 235 5441 1904 37.3962 37.3962 69.3 11.1
6 343 9479 3318 20.8407 20.8407 907.1 434.3
7 343 7409 2668 16.2408 16.2408 520.2 209.8
8 271 3917 1482 13.6062 13.6062 1111 494
9 235 3881 1434 34.9472 34.9472 194.9 43.7
10 199 2855 1066 48.6371 48.6371 43.8 20.9
Таблица 4. Сравнение моделей на задачах серии 53
задача Neqv Neqvд С Сд £ £д
1 505 16048 4281 21.985 21.985 4327 3456
2 649 36912 9415 17.3601 17.3601 6257 2199
3 577 30120 7688 26.4992 26.4992 6887 4398
4 625 40948 10356 31.5768 31.5768 5434 5199
5 529 32508 8198 41.6226* 36.5283 7200 6589
6 601 35856 9085 29.2432* 25.8131 7200 3199
7 481 23752 6048 30.1493 30.1493 7200 2245
8 529 25844 6616 40.488* 39.6324 7200 5321
9 505 22096 5695 28.3952* 27.8647 7200 4567
10 529 25676 6574 31.7315 31.7315 7200 3199
Из табл. 2, 3 и 4 видно, что модель (12) - (21) содержит меньшее число ограничений, чем модель (2) - (10). Кроме того, в среднем на сериях 51 и 52 пакет СРЬЕХ решает тестовые примеры, записанные в модели (12) - (21), более чем в два раза быстрее, чем при их записи в модели (2) - (10). На серии 53 при решении пакетом СРЬЕХ задач 5 - 10, записанных в модели (2) - (10), за установленное время удается найти только допустимые решения, которые не всегда являются оптимальными (отмечены '*'). Аналогичные результаты имеют место для задачи Р^е^, Дя^|Стах.
Таким образом, если в задаче составления расписаний с группировкой машин по технологиям длительности переналадки удовлетворяют неравенству треугольника, то при её решении лучше использовать модель (12) - (21) при условии, что допускаются прерывания выполнения технологий, и модель (11) -(21) — в противном случае, так как данные модели имеют меньшее число ограничений и являются менее сложными для методов оптимизации, основанных на ЛП - релаксации (в том числе для пакета СРЬЕХ).
5. Заключение
Рассмотрена задача составления расписаний многопродуктового производства. Особенностью данной задачи является то, что каждый продукт может производиться по нескольким технологиям, каждая из которых характеризуется набором одновременно занимаемых машин. Построены модели ЧЦЛП для задачи в общей постановке и для случая, когда длительности переналадки удовлетворяют неравенству треугольника. С помощью вычислительного эксперимента показано, что вторая модель является более предпочтительной для методов оптимизации, основанных на ЛП-релаксации.
Автор благодарит А.В. Еремеева за предложенную постановку задачи.
Литература
1. Баптист Ф., Карлье Ж., Кононов А.В., Керан М., Севастьянов С.В., Свириденко М. Структурные свойства оптимальных расписаний с прерываниями операций // Дискрет. анализ и исслед. операций. 2009. Т. 16, № 1. С. 3-36.
2. Борисовский П.А. Генетический алгоритм для одной задачи составления производственного расписания с переналадками // Тр. XIV Байкальской международной школы-семинара «Методы оптимизации и их приложения». Иркутск : ИСЭМ СО РАН, 2008. Т. 4. С. 166-173.
3. Bianco L., Blazewicz J., Dell'Ohno P., Drozdowski M. Scheduling multiprocessor tasks on a dynamic configuration of dedicated processors // Ann. Oper. Res. 1995. V. 58. P. 493-517.
4. Bianco L., Blazewicz J., Dell'Ohno P., Drozdowski M. Scheduling preemptive multiprocessor tasks on dedicated processors // Performance Evaluation. 1994. V. 20. P. 361-371.
5. Blazewicz J., Dell'Ohno P., Drozdowski M., Speranza M.G. Scheduling multiprocessor tasks on three dedicated processors // Information Processing Letters. 1992. V. 41. P. 275-280. Corrigendum: V. 49. P. 269-270.
6. Bianco L., Dell'Ohno P., Speranza M.G. Nonpreemptive scheduling on independent tasks with prespecified processor allocations // Naval Research Logistics Quarterly. 1994. V. 41. P. 959-971.
7. Dolgui A., Eremeev A.V., Kovalyov M.Y. Multi-product lot-sizing and scheduling on unrelated parallel machines: research report N. 2007-500-011. Saint-Etienne : Ecole des Mines de Saint-Etienne, 2007. 15 p.
8. Drozdowski M. Scheduling for parallel processing. London : Springer-Verl., 2009. 386 p.
9. Drozdowski M. Scheduling multiprocessor tasks - An overview // Eur. J. Oper. Res. 1996. V. 94. P. 215-230.
10. Du J., Leung J.Y-T. Complexity of scheduling parallel task systems // SIAM J. Discrete Math. 1989. V. 2, N. 4. P. 472-478.
11. Floudas C.A., Kallrath J., Pitz H.J., Shaik M.A. Production scheduling of a large-scale industrial continuous plant: short-term and medium-term scheduling // Comp. Chem. Engng. 2009. V. 33. P. 670-686.
12. Hoogeven J.A., van de Velde S.L., Veltman B. Complexity of scheduling multiprocessor tasks with prespecified processors allocations // Discrete Appl. Math. 1994. V. 55. P. 259-272.
13. Ierapetritou M.G, Floudas C.A. Effective continuous-time formulation for short-term scheduling: I. multipurpose batch process // Ind. Eng. Chem. Res. 1998. V. 37. P. 4341-4359.
14. Ierapetritou M.G, Floudas C.A. Effective continuous-time formulation for short-term scheduling: II. continuous and semi-continuous processes // Ind. Eng. Chem. Res. 1998. V. 37. P. 4360-4374.
15. Itai A., Papadimitriou C.H., Szwarcfiter J.L. Hamilton paths in grid graphs // SIAM J. Comput. 1982. V. 11, N. 4. P. 676 - 686.
16. Jansen K., Porkolab L. Preemptive scheduling with dedicated processors: applications of fractional graph coloring // Journ. Scheduling. 2004. V. 7. P. 35-48.
17. Kondili E., Pantelides C.C., Shan N. Production planning for the rational use of energy in multiproduct continuous plants // Comp. Chem. Engng. 1993. V. 17. P. 123-136.
18. Kubale M. Preemptive versus nonpreemptive scheduling of biprocessor tasks on dedicated processors // Eur. J. Oper. Res. 1996. V. 94. P. 242-251.
19. Lin X., Floudas C.A., Modi S., Juhasz N.M. Continuous-time optimization approach for medium-range production scheduling of a multiproduct batch plant // Ind. Eng. Chem. Res. 2002. V. 41. P. 3884-3906.