Математическое моделирование. Оптимальное управление Вестник Нижегородского университета им. Н.И. Лобачевского, 2014, № 4 (1), с. 433-437
УДК 519.863
КАЛЕНДАРНОЕ ПЛАНИРОВАНИЕ МНОГОСТАДИЙНЫХ ПРОИЗВОДСТВЕННЫХ СИСТЕМ С ВЗАИМОЗАМЕНЯЕМЫМ ОБОРУДОВАНИЕМ
© 2014 г. М.Х. Прилуцкий, Д.В. Седаков
Нижегородский госуниверситет им. Н.И. Лобачевского [email protected]
Поступока в рздакцою 08.07.2014
Рассматриваются многостадийные задачи календарного планирования процесса изготовления сложных изделий. Критерии оптимизации учитывают времена переналадок оборудования, штрафные санкции за нарушения директивных сроков изготовления изделий и затраты на выполнение операций. Строится общая математическая модель, в рамках которой ставятся задачи календарного планирования и предлагаются алгоритмы их решения. Разработанные алгоритмы реализованы в диалоговых программных средствах решения рассматриваемых задач.
Ккючзвыз скова: задача календарного планирования, алгоритмы решения задач календарного планирования, переналадки оборудования, директивные сроки.
1. Содержательная постановка задачи
Рассматривается проблема распределения ограниченных ресурсов при календарном планировании процесса изготовления сложных изделий в многостадийных производственных системах при произвольных технологических маршрутах и альтернативных вариантах выполнения работ на оборудовании. Оценка качества решения, как и в [1, 2], определяется тремя основными составляющими: затратами на переналадки оборудования, штрафными санкциями, налагаемыми на систему за нарушения заданных директивных сроков изготовления изделий, и затратами на выполнение операций. Отличие рассматриваемых здесь задач от задач из [1, 2] состоит, во-первых, в том, что в данной работе предполагается возможность выполнения работ в соответствии с произвольными технологическими маршрутами и, во-вторых, выполнение работ на каждой стадии возможно на нескольких взаимозаменяемых видах оборудования.
При описании предметной области мы будем пользоваться понятиями: изделие - продукт производственной деятельности; работа - составная часть изделия; станок - произвольный вид оборудования, на котором выполняются работы. Под операцией мы будем понимать составную часть работы - выполнение работы на станке. Для некоторых работ определены сроки, раньше которых работы не могут быть начаты (начальные сроки). Для некоторых работ (как правило, завершающие работы изготовления изделий) заданы директивные сроки - мо-
менты времени, к которым работы должны быть выполнены.
Выполнение операций происходит на станках, которые объединяются в группы (стадии) по признаку взаимозаменяемости. Каждый станок характеризуется производительностью и временными характеристиками, связанными с наладками и переналадками этого станка. Для каждой работы известна технология ее выполнение - последовательность стадий обработки, которые работа должна пройти для своего выполнения. На каждой стадии, определенной технологией, операция может быть выполнена на любом станке этой стадии. Выполнение операции на станке характеризуется временем ее выполнения, которое зависит от производительности станка, затратами на ее выполнение и временем, необходимым на наладку этого станка на выполнение этой операции (если станок еще не был задействован в процессе производства) или переналадку станка с предыдущей операции на рассматриваемую.
Изготовление сложных изделий требует выполнения совокупности взаимозависимых работ, связи между которыми мы будем описывать с помощью канонических сетевых моделей - ориентированных взвешенных графов без петель и контуров, элементам которых поставлены в соответствие некоторые характеристики. Каноничность сетевой модели означает, что никакая работа не может быть начата до тех пор, пока не завершатся все операции работ, ей предшествующих по технологии изготовления.
Работы сетевых моделей мы будем характеризовать технологическими, организационными и ресурсными условиями.
К технологическим условиям относятся:
• условия взаимозависимости выполнения работ;
• условия, связанные с выполнением работ на заданных стадиях изготовления;
• условия, связанные с выполнением операций на определенном станке;
• условия, связанные с наладками и переналадками станков.
К организационным условиям относятся:
• условия, связанные с моментами начала выполнения работ (начальные сроки);
• условия, связанные с моментами окончания выполнения работ (директивные сроки).
К ресурсным условиям относятся условия, связанные с загрузкой станков для выполнения операций.
Общая задача календарного планирования в многостадийных производственных системах заключается в определении сроков начала и окончания выполнения операций на станках таким образом, чтобы, не нарушая требований технологического и, возможно, организационного и ресурсного характера, обеспечить изготовление всей заданной совокупности изделий с минимальными затратами.
2. Общая математическая модель
2.1. Исходные параметры математической модели. Пусть О - множество работ, I - множество станков, К - множество стадий, объединяющих однотипные станки, Т = {?„, t0 +1,..., t0 + Т0} - множество тактов планирования, где ?0 - такт начала планирования, а Т0 - число тактов планирования. Работе 3 поставим в соответствие набор г3 = (г/,г/,...,г^), где г/ - номер стадии, на которой должна выполняться 1-я операция работы 3, г/ е К, I = 1, к3 , 3 е О . Пусть 0(3) - множество работ, непосредственно предшествующих работе 3, 6(3) с 0, 3 е О . Обозначим через
t¡3¡ время выполнения 1-й операции работы 3 на стадии / на станке г, ры - время переналадки станка г с операции 5 на операцию ¡, -время наладки станка г на 1-ю операцию работы 3, 3 е О (г), где О (г) - множество работ, для которых необходимо производить наладку станка г на первую операцию этой работы,
с^ - затраты за единицу времени выполнения ¡-й операции работы 3 на стадии г/ на станке г, d¡s3 - затраты за единицу времени переналадки станка г с работы 5 на работу 3, 3 - директивный срок завершения выполнения завершающей операции работы 3, 3 ^ 10 + Т0, 3 е , где - множество работ, для которых определены директивные сроки, 3 - начальный
срок выполнения работы 3, 3 е , где -множество работ, для которых определены
начальные сроки выполнения, 3 0
ге I, I = 1к~, 3 е 0, 5 е О, с О, Он с О
2.2. Варьируемые параметры математической модели. Обозначим через X = ||х3!1| матрицу неизвестных, элемент которой х^ определяет момент начала выполнения I -й операции работы 3 на стадии г/ на станке г; через У у^Ц - булеву матрицу неизвестных, элемент которой у у! ={1, если 1-я операция работы 3 будет выполняться на г-м станке; 0 в противном случае}; через г =| ^Ц - матрицу неизвестных, элемент которой z ^ определяет номер по порядку выполнения ! -й операции работы 3 на стадии г/ на станке г, z¡j¡ е {0,1,...,N }, N = 2к3, г е I, ! = Щ, 3 е О .
2.3. Ограничения математической модели. Операция должна выполняться на одном из возможных станков:
2 уш = 1, ! = й", 3 е О . (1)
е
Выполнение двух следующих друг за другом операций на одной и той же стадии возможно на одном и том же станке лишь тогда, когда предшествующая операция на этом станке уже выполнена:
Если У ¡А = 1 и У3 (!-1) = 1 то (2)
Х, > 3_ц + 3_ц , ! = 2, к3 , 3 е О, г е 1. Оборудование в любой момент времени не может выполнять более одной операции:
Х-., > X. + , или X. > х..! + 1..,,
3! гуз гуя? гуз 3! 3! >
г е I,! = 1, к , з = 1, ку, 3 е О, V е О.
Начало выполнения любой операции может наступить не раньше, чем завершится выполнение всех операций, непосредственно предшествующих исходной:
(4)
x.., > max(x +1 ).
•ji veQ(j) svq svq
7 е 1, 5 е I, I = 1, к., ц = 1, ку, . е J, V е J .
Условия, определяющие возможные начала выполнения работ, имеющих начальные сроки:
ху1 > ^, 7 е I, I = щ ;, . е JH. (5)
Время начала выполнения работы, не имеющей предшествующих, определяется с учетом наладки оборудования:
Еско у.! = 1 о 0(.) = 0,
' - (6)
то х^ > (0 + , I = 1, к., у е J(7), 7 е I.
Условия, учитывающие времена наладки станков:
х, > пщ, 1 =1, ку, у е -1 О'Х 7 е 1. (7)
Условия, учитывающие времена переналадки станков:
ЕсКО У, = 1 У,„ = 1 = + 1, т0
Ху1 > Х*5 + + Р. , 7 е 1,
_ ___ (8)
5 = 1,к у, I = 1, к., уе J, , е J.
7 \ 7 7,7 7 ^
Естественные условия на переменные:
xiß > 0, yiß е{0,1}, Zj, e {0,1,2,...,N},
1 = 1, к., j e J, i e I.
7 j 7 ^ 7
(9)
3. Формализация критериев оптимальности
В качестве частных критериев оптимальности выберем следующие три группы:
• группу частных критериев, связанных с минимизацией нарушений директивных сроков выполнения работ:
х ,у, г) =
(
I
а,
JjeJ , yi0 jk. =
max(0, \ßtt + j -j) Л
tD
x 100 ^ min, где а j - величина штрафных санкций, налагаемых на производственную систему за 1 процент отставания выполнения работы от ее директивного срока;
• группу частных критериев, связанных с затратами на переналадки станков: F2( X, Y, Z) =
kj ks
= I I IId.jP.jy.slyjv ^min;
ieI s,j\zis1 = zijv-1 v=1 1=1
• группу частных критериев, связанных с затратами на выполнение операций на станках:
kj
F3(X,Y,Z) = IIIwj ^min.
jeJ ieI 1=1
В качестве свертки частных критериев оптимальности выберем аддитивную свертку: F (X, Y, Z ) = F1( X, Y, Z ) +
+ F2(X, Y,Z) + F3(X,Y,Z) ^ min. (10)
Полученная задача календарного планирования включает в себя исходные параметры, варьируемые параметры, ограничения (1)-(9) и обобщенный критерий (10), который можно интерпретировать как суммарные затраты на выполнение работ. Эта задача является задачей математического программирования с существенно нелинейными ограничениями, нелинейным критерием и частично целочисленными неизвестными. Экспоненциальная вычислительная сложность решения поставленной задачи обусловлена, например, тем, что частными подзадачами, в которые может быть преобразована поставленная задача, являются задачи коммивояжера (учет только переналадок на одном станке), множественного коммивояжера (учет переналадок на нескольких станках), задача о ранце и многомерном ранце (не учитывается порядок обработки деталей при заданных директивных сроках) и др. [3].
4. Алгоритмы решения задачи
При решении реальных производственных задач календарного планирования, с учетом большой вычислительной сложности рассматриваемой задачи, для ее решения предлагается использовать жадные алгоритмы. Под жадными алгоритмами мы понимаем алгоритмы, в которых включенная в строящееся расписание работа не может быть исключена на последующих стадиях построения. В основе разработанных и программно реализованных алгоритмов заложен принцип «фронтальности» [4], который заключается в построении «фронта работ» -множества работ, любая из которых может начать выполнение в рассматриваемый такт. На множестве работ, на основании заданной стратегии, устанавливается линейный порядок, т. е. множество работ преобразуется в вектор (перестановку), который определяет последовательность рассмотрения работ с целью включения их в строящееся расписание.
4.1. Алгоритм - построитель расписания A(P). Алгоритм, на основании перестановки P, задающей приоритеты работ, детерминирован-но строит расписание, определяющее некото-
х
рое допустимое решение поставленной задачи. Чем раньше в перестановке находится работа, тем выше ее приоритет и тем ранее она должна быть обработана в производственной системе. Назначение операции на станок происходит по принципу минимизации затрат на ее выполнение.
4.2. Алгоритм поиска перестановки P с глубиной h. Общее количество возможных перестановок n!, где n - число работ. При больших n вводится натуральное число h, h<n, и производится перебор из h! вариантов перестановок. Лучший с точки зрения обобщенного критерия вариант определяет очередную работу, которая включается в строящуюся перестановку P.
4.3. Алгоритм, использующий метод Simulated Annealing [5]. Алгоритм находит псевдооптимальную перестановку. В этом подходе используется аналогия между процессом нахождения псевдооптимальной перестановки и моделью охлаждения термодинамической системы. Проводится аналогия между:
• энергией термодинамической системы (E) и критерием оптимальности задачи (F) (полагаем, что их значения совпадают);
• перестановкой, задающей приоритеты работ, и состоянием термодинамической системы (P).
Вводятся случайные операторы перехода из одного состояния системы в другое или, другими словами, от одной перестановки работ к другой. Задается эмпирический параметр T - температура термодинамической системы. Из известной формулы распределения вероятностей энергий для термодинамической системы Боль-цмана следует, что вероятность перехода системы из состояния с энергией El в состояние с
энергией E2 при температуре T
-&E/
G(&E) = e /kT , где &E = E2 - El и k - постоянная Больцмана (коэффициент пропорциональности, задающий отношение между энергией и температурой). Алгоритм работает следующим образом: для некоторого начального параметра T0 и перестановки п0 находится E0 - значение критерия оптимальности. Применяется случайный оператор перехода из состояния P0 в P1. Находится значение El для этого состояния. Если &E > 0 или G(&E) < \, где \ - случайное число, равномерно распределенное в диапазоне [0, 1], то Pi принимается за текущее состояние системы и шаг повторяется относительно P1. Иначе шаг повторяется относительно P0. После mn (n - число работ, m - управляемый параметр) повторений этого шага предполагается, что происходит «охлаждение термодинамиче-
ской системы» TM = Ti / 2 . Условием остановки алгоритма является отсутствие улучшений значения критерия задачи.
4.4. Алгоритм, использующий метод Ant Colony Optimization [6]
Алгоритм использует аналогию между искомой перестановкой и моделированием поведения колонии «муравьев», рассматриваемой как многоагентная система, в которой каждый агент (муравей) функционирует по простым правилам, и при этом поведение всей системы (колонии муравьев) приводит к приемлемым результатам. Суть подхода заключается в анализе и использовании модели поведения муравьёв, ищущих пути от колонии (работы, имеющие начальные сроки) к источнику питания (работы, имеющие директивные сроки). При своем движении агент помечает свой путь, и чем больше агентов прошло по данному маршруту, тем больше значения этих пометок и тем больше агентов этот маршрут привлекает. Найденный маршрут и определяет перестановку, которая реализуется в решение исходной задачи с помощью алгоритма - построителя расписаний.
4.5. Метод локального улучшения расписания. Используется информация о суммарном вкладе каждой работы в общую стоимость расписания. Делается попытка увеличить приоритет этой работы для уменьшения суммарной стоимости расписания. Алгоритм работает до того момента, пока данная стратегия не будет давать улучшения.
4.6. Алгоритм критического пути. Сетевая структура технологического процесса изготовления сложных изделий позволяет преобразовывать ее в сетевую модель, для которой рассчитываются временные характеристики. На основании найденных резервов времени относительно директивных сроков строится перестановка, которая определяет последовательность работ, резервы времени которых не убывают.
Для улучшения (по значению обобщенного критерия) искомого расписания используются комбинации вышеописанных алгоритмов.
5. Использование полученных результатов для решения задач календарного планирования
На основе построенной математической модели и разработанных алгоритмов с использованием технологий .NET 3.5 на языке C# реализована диалоговая программная система решения задач календарного планирования много-
стадийных производственных систем с взаимозаменяемым оборудованием, которая апробирована при решении задач оперативно-диспетчерского управления инструментальным производством в ФГУП «ФНПЦ НИИИС им. Ю.Е. Седакова» и при календарном планировании процесса изготовления изделий машиностроения в ФГУП «ФНПЦ ОКБМ им. И.И. Африкантова».
Спосок котзратуры
1. Батищев Д.И., Гудман Э.Д., Норенков И.П., Прилуцкий М.Х. Метод декомпозиций для решения комбинаторных задач упорядочения и распределения ресурсов // Информационные технологии. № 1. 1997. С. 29-33.
2. Прилуцкий М.Х., Власов С.Е. Многостадийные задачи теории расписаний с альтернативными вариантами выполнения работ // Системы управления и информационные технологии. 2005. № 2. С. 44-48.
3. Корбут А.А., Финкельштейн Ю.Ю. Дискретное программирование. М.: Наука, 1969. 368 с.
4. Афраймович Л.Г., Власов В.С., Куликов М.С. и др. Задачи планирования и оперативного управления процессом изготовления интегральных схем с микронными и субмикронными топологическими нормами //Автоматизация в промышленности. 2014. № 8. С. 17-21.
5. Yin G. Rates of convergence for a class of global stochastic optimization algorithms // SIAM Journal on Optimization. 1999. V. 10. № 1. P. 99-120.
6. Dorigo M., Stutzle T. Ant Colony Optimization. The MIT Press, 2004. 319 p.
SCHEDULING MULTISTAGE PRODUCTION SYSTEMS WITH INTERCHANGEABLE EQUIPMENT
M.Kh. Prilutskii, D.V. Sedakov
We consider multistage scheduling problems of complex product manufacturing processes. Optimization criteria take into account equipment changeover time, the penalties for violating product production due dates and the cost of performing operations. A general mathematical model is built, and in the framework of this model the scheduling problems are set forth and the solution algorithms are proposed. The developed algorithms have been implemented in interactive software for solving the problems considered.
Keywords: scheduling problem, scheduling algorithms, equipment changeover, due dates.
References
1. Batishchev D.I., Gudman Eh.D., Norenkov I.P., Priluckij M.H. Metod dekompozicij dlya resheniya kom-binatornyh zadach uporyadocheniya i raspredeleniya resursov // Informacionnye tekhnologii. № 1. 1997. S. 29-33.
2. Priluckij M.H., Vlasov S.E. Mnogostadijnye zadachi teorii raspisanij s al'ternativnymi variantami vypolneniya rabot // Sistemy upravleniya i infor-macionnye tekhnologii. 2005. № 2. S. 44-48.
3. Korbut A.A., Finkel'shtejn Yu.Yu. Diskretnoe programmirovanie. M.: Nauka, 1969. 368 s.
4. Afrajmovich L.G., Vlasov V.S., Kulikov M.S. i dr. Zadachi planirovaniya i operativnogo upravleniya proces-som izgotovleniya integral'nyh skhem s mikronnymi i sub-mikronnymi topologicheskimi normami //Avtomatizaciya v promyshlennosti. 2014. № 8. S. 17-21.
5. Yin G. Rates of convergence for a class of global stochastic optimization algorithms // SIAM Journal on Optimization. 1999. V. 10. № 1. P. 99-120.
6. Dorigo M., Stutzle T. Ant Colony Optimization. The MIT Press, 2004. 319 p.