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

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

CC BY
112
9
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ОДНОТИПНЫЕ ДЕТАЛИ / ЦИКЛИЧЕСКИЕ РАСПИСАНИЯ / CYCLIC SCHEDULES / ДИНАМИЧЕСКОЕ ПРОГРАММИРОВАНИЕ / DYNAMICAL PROGRAMMING / IDENTICAL JOBS

Аннотация научной статьи по математике, автор научной работы — Боброва Е.А.

В работе представлен алгоритм решения задачи минимизации длины цикла расписания обработки партии однотипных деталей при наличии параллельных машин и ограничения на максимальное число деталей, одновременно находящихся в обработке. Алгоритм основан на динамическом программировании и имеет трудоемкость O((2P)2H-1HHeH).

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

PSEUDOPOLYNOMIAL ALGORITHMFOR CYCLIC SCHEDULES WITH PARALLEL MACHINES

In this paper we represent an algorithm for build cyclic schedule of processing N identical jobs with parallel machines and limited number of simultaneously processed jobs with minimal cycle length. The algorithm is based on dynamical programming and it laboriousness is O((2P)2H-1HHeH).

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

УДК 519.8

ЕЛ. Боброва, Е.Л. Bobrova, e-mail: eabobrova8S@gmail.com Институт математики им. C.JI. Соболева СО РАН. г. Омск. Россия Sobolev Institute of Mathematics. SB RAS. Omsk, Russia

ПСЕВДОПОЛИНОМИАЛЬНЫЙ АЛГОРИТМ ПОСТРОЕНИЯ ЦИКЛИЧЕСКИХ РАСПИСАНИЙ ПРИ НАЛИЧИИ ПАРАЛЛЕЛЬНЫХ МАШИН

PSEUDOPOLYNOMEAE ALGORITHM FOR CYCLIC SCHEDULES ТПТН PARALLEL MACHINES

В работе представлен алгоритм решения задачи минимизации длины цикла расписания осра&откн партии однотипных детален при наличии параллельных машин и ограничения на максимальное число деталей одновременно находящихся в о ¿¡работке Алгоритм основан на динамическом программировании н имеет трудоемкость OfCÍPf3'1 flV)

Lu this paper we represent an algorithm for build cyclic schedule of processing N identical jobs with parallel machines and limited number of simultaneously processed jobs with minimal cycle length. The algorithm is based on dynamical programming and it latwiousiiess is

Ключевые слова: однотипные детали; циклические расписания, динамическое программирование

Key words: idéntica! jobs, cyclic schedules, dynamical programming

На производственной линии состоящей из ш машин, необходимо обработать партию однотипных деталей. Все детали проходят одинаковый технологический маршрут обработки, состоящий из п последовательно выполняемых операций Оь Оъ ..., 0„ Операция О, выполняется на машине л,- в течениер, едннип времени, г = 1, 2, ..., п_ Машины в технологическом маршруте могут повторяться. Прерывания операций запрещены, одновременное выполнение двух и более оперший на одной машине не допускается.

Задача минимизации общего времени завершения обработки всех деталей является NP-трудной [8]. Кроме того, возникают ситуации, когда сначала выполняется много начальных операций, а итоговая сборка и выпуск деталей происходят только в конце процесса. Это подходит для выполнения разовых заказов, но может быть неудобно при серийном производстве продукции. Этих недостатков лишены циклические расписания, они обеспечивают ритмичность загрузки оборудования и исполнителен, а также помогают эффективно планировать поставки ресурсов и сбыт продукции. Расписание называется циклическим, если для любого i = 1, 2, ..., п и для любого j = 1, 2, ..., ^выполняется f¿— t-+ C(j-l)r где t¡= ta и С— длина цикла или циклическое время, где - время начата выполнения операции г детали J Задача минимизации циклического времени полиномиально разрешима [2], и длина цикла равна сумме длительностей операций на самой запруженной машине В работе [1] показано, что циклические расписания с минимальным временем пикла асимптотически стремятся к точному решению задачи минимизации общего времени завершения обработки всех детален.

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

Задача минимизации циклического времени при условии, что число одновременно обрабатываемых детален не превосходит заданной величины /Г является >ГР-трудней в сильном смысле [3]. Однако при фиксированном Н задача псевдополиномиально разрешима: в [7] предложен шзевдошишномиальный алгоритм трудоемкости 0((2е)н1^ '-р1^ )_ где Р - суммарная длительность веек операций одной детали. В [б] при Н - 2 построен алгоритм полиномиальной трудоемкости, доказана ИР-трудность 'задачи при фиксированном Н> 3.

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

L 1 2 3

mi ml ml шЗ

Pi 7 18 3

-

-1 ЦИКЛ'-<—- —

Рнс. 1. Расписание без параллельных машин

_ -^-Ци КЛ -с?-

Рнс. 2. Ра списание с параллельными машкнамн

В случае использования одной машины каждого типа, самой загруженной машиной является wi и длина цикла С — 18 (рис. 1), если же установить две машины типа т^, то самой загруженной станет т\ и длина цикла сократится до С - 7. На практике такую ситуацию можно встретить, например, в химической промышленности, когда большая часть операций занимает 3-5 минут, тогда как на операцию хромирования нужно около 18 минут. Если установить еще два резервуара для хромирования то, при наличии достаточного числа оснасток, можно уменьшить время цикла почти в три раза.

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

В цикле выполняются все операции технологического маршрута, причем ровно по одному разу (рис. 1. 2). При этом последовательность операций разбивается на цепочки, количество которых не превосходит НА Число разбиений внутри одной операции не превосходит числа машин, выполняющих эту операцию. В зависимости от того, как разбить последовательность операций, будут получаться различные расписания. При фиксированном разбиении в пикле получаем несколько цепочек работ, которые нужно выполнить как можно быстрее, т.е. задачу Job-Shop.

Ранее нами было доказано [5], что оптимальное решение принадлежит некоторой дискретной сетке, и, следовательно, для поиска оптимального решения достаточно рассмот-

реть конечное число разбиении последовательности операций. При фиксированном разбне-шш необходимо решить задачу7 Job-Sliop с дополнительной возможностью использования нескольких машин каждого из типов. Для этого модифицируем алгоритм динамического программирования решения классической задачи Job-Shop [4, 9]. Идея этого алгоритма заключается в последовательном переборе состояний выполнения цепочек работ и поиске для каждого состояния лучшего частичного расписания.

Через Sjt обозначим суммарную длительность операций цепочки работ к, к= 1, 2,..., К, где К - число цепочек в разбиении. Текущее состояние выполнения операций цепочки работ к будем 'задавать величиной x¿ Если xt = 0, то операции этой цепочки работ еще не начали выполняться. Если xt = я то уже завершены все операции этой цепочки работ. Промежуточное значение означает, что общее время выполнения операций этой цепочки работ, без учета простоев, составило л* и требуется еще S*-i> единиц времени для их завершения.

Вектор х = (х\,хъ---,хе) называется состоянием выполнения цепочек работ. Начальное состояние 0 = (0$....$), то есть ни одна операция не начата свое выполнение. S = (S\,Si,...Jii) - конечное состояние, то есть операции всех цепочек работ выполнены. Переход из одного состояния в другое осуществляется с помощью со ответе гвующего управления. Управления представляют собой булевы векторы ó =(&ъ¿^...¡¿к), где StG(к = 1, 2,.... К. При этом из состояния х переходим в состояние х - S. Процесс перехода соответствует одновременному выполнению в единичном временном интервате операций тех цепочек работ, для которых ёк = 1- В исходном апоритме допустимость перехода определяется из условий непрерывности выполнения операций и запрета на одновременное выполнение более одной операции на машине. В нашей задаче на допустимость переходов также влияет условие примыкания операций, по которым происходит разрез, к границам цикла и возможность одновременного выполнения операций на разных машинах одного типа. Далее применяется стандартная схема динамического программирования. Решив задачу Job-Shop для всех рассматриваемых разбиений, выбираем расписание с наименьшей длинной, которое и будет оггтимагьным. Тру до-

2Н-\ jf.

емкость описанного алгоритма составляет 0((2Р)

Работа поддержана грантами РФФИ (проекты 12-01-001S4a, 12-01-00122} и срантом целевой программы СО РАН (интеграционный проект X? 7Б).

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

1. Boudoukh, Т. Scheduling jobshops with same ídentical от i mular Jobs ! T. Boudoukh. M. Pertn, G. Weiss // Journal of Scheduling - 2001. - Vol. 4 - P 177-199.

2. Bmcker, P. Scheduling Algonthms i Brucker, P. - Spriuger, 2007. - 371 p.

3. Hanen, C. Study of a NP-haid cyclic scheduling problem: The recurrent job-shop i C. Hanen //Ешopean Journal of Operational Research. - 1994 - Vol. 72.- P. 32-101.

4. Servakh, V. V. A Dynamic algoiithm for some Project Management Problema 1 V. V. Servakh !! Proceedings of the International Woikshop "Discrete optiimzation methods m scheduling and computer-aided design". - Miii^k, 2000. - P. 90-92.

5. Боброва, E. А. О задаче обработки однотипных деталей при наличии параллельных машин / Е. А. Боброва И Дискретные модели и методы принятия решений : материалы школы-семинара. Всерос. молодеж. школа-семинар. - Новосибирск, 2013. - С. 211-212

6. Боброва, Е. А. Сложность задачи построения циклических расписаний обработки однотипных деталей / Е. А Боброва, А. А. Романова, В. В. Сервах // Дискретный анатиз и исследование операций. -2013. - Т. 20, №. 4. - С. 3-14.

7. Романова, А. А. Оптимизация выпуска однотипных детален на основе циклических расписаний / А. А. Романова, В. В. Сервах Н Дискретный анатиз и исследование операций. -2008. — Т. 15, №. 5. — С. 47—60.

8. Сервах, В. В. О сложности задачи построения расписаний с фиксированным числом однотипных деталей / В. В. Сервах И Дискретная математика, алгебра и их приложения : материалы международной конференции. - Минск, 2009. - С. 111.

9. Сервах. В. В. Эффективно разрешимый случай задачи календарного планирования с возобновимыми ресурсами / Сервах. В. В. И Дискретный анализ и исследование операций. Сер. 2. - 2000.-Т. 7, № 1.-С. 75-82.

134

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