Многостадийные задачи теории расписаний с альтернативными

advertisement
УДК 519.874
МНОГОСТАДИЙНЫЕ ЗАДАЧИ ТЕОРИИ РАСПИСАНИЙ С
АЛЬТЕРНАТИВНЫМИ ВАРИАНТАМИ ВЫПОЛНЕНИЯ РАБОТ
MULTI-STAGE TASKS OF THE SCHEDULING THEORY WITH
ALTERNATIVE CHOICE OF THE WORKS FULFILMENT
М.Х.Прилуцкий, С.Е.Власов
M.Kh. Prilutsky, S.Ye. Vlasov
Строится общая математическая модель распределения ресурсов и
упорядочения работ в многостадийных системах. В рамках построенной
модели формализуется широкий класс задач планирования и управления.
Проводится исследование построенной модели и предлагается
совокупность
решающих
алгоритмов.
В
качестве
примера
рассматривается
задача
оперативно-диспетчерского
управления
инструментальным производством радиоэлектронного предприятия.
A general mathematical model is created for resources distribution and
regulating the works in multi-stage systems. Within the created model a wide
class of the planning and controlling tasks is formalized. The created model
investigation is carried out and a set of decision algorithms is proposed. As an
example there is considered the task of effective-dispatcher control for the
radio-electronics enterprise tool production.
1. Содержательная постановка задачи
Рассматриваются задачи составления расписаний выполнения работ в
достаточно общей постановке для многостадийных производственных
систем
при альтернативных вариантах выполнения работ на
производственном оборудовании (станках). Оценка качества расписаний
определяется тремя основными составляющим: затратами на выполнение
работ на станках, затратами на переналадки станков и штрафными
санкциями, налагаемыми на систему за нарушения заданных директивных
сроков. Предполагается, что в начале периода планирования известен
перечень заказов, подлежащих выполнению. Каждый заказ представляет
собой совокупность взаимозависимых работ, выполнение которых
осуществляется на станках. Единицы оборудования объединены в группы
взаимозаменяемых станков (стадии обработки) возможно разной
производительности. В общем случае каждая работа для своего
выполнения должна пройти обработку последовательно на станках каждой
стадии, причем для каждой работы порядок прохождения по стадиям
2
может быть различным. На очередной стадии выполнение работы может
осуществляться на любом станке этой стадии. Требуется построить такое
расписание выполнения работ на станках, суммарные затраты на
выполнение которого минимальны.
2. Общая математическая модель
2.1.Исходные параметры модели.
Пусть J – множество работ, I – множество станков, K - множество стадий,
объединяющих однотипные станки. Работе j поставим в соответствие

набор r j  (r1 j , r2j ,..., rkj ), где rl j – номер стадии, на которой должна
j
выполняться l - тая операция работы j , rl j  K , l  1, k j , jJ. Здесь под
операцией понимается процесс выполнения работы на станке какой-либо
стадии. Обозначим через t ijl – время выполнения l - ой операции работы j
на станке i (стадия rlj ), cijl – затраты за единицу времени выполнения l -ой
операции работы j на станке i ,  isj – время переналадки станка i с работы
s на работу j , rijl - время наладки станка i на l -ую операцию работы j, d isj –
затраты за единицу времени переналадки станка i с работы s на работу j ,
D j – директивный срок завершения последней операции работы j , g j –
коэффициент, определяющий штрафные санкции, связанные с
нарушением работой j определенного для этой работы директивного
срока, iI, l  1, k j , jJ, sJ.
2.2. Варьируемые параметры модели
Обозначим через X={ xijl , iI, l  1, k j
jJ}, где xijl – момент начала
выполнения операции l работы j на станке i; Y={yijl, iI, l  1, k j jJ}, где
1,

yijl  0,


yijl{0,1},
если
в
операция
противном
l
работы
j
выполняется
на
машине
i,
случае,
y  1, если l-ая операция j-ой работы выполняется на i-ом
ijl
станке; yijl  0 , если l-ая операция j-ой работы не выполняется на i-ом
станке; Z={ z ijl , iI, l  1, k j jJ}, где z ijl - номер по порядку выполнения l -
3
z ijl  0,1,..., N
ой операции j -ой работы на i -ом станке,
,
N   k j , iI,
jJ
l  1, k j jJ.
2.3. Ограничения математической модели
 yijl  1,
iI
l  1,k j ,j  J .
(1)
(Каждая операция любой работы выполняется на одном станке)
Если
y 1 и y
 1,
ijl
sjl 1
то xijl  x sjl1  t sjl1 , l  2, k j , i  I , s  I , j  J . (2)
(Начало любой операции может наступить лишь после завершения всех
операций, ей предшествующих по технологии)
Если
y ijl  1,
i  I,
z ijl  z ivs  1, то xijl  xivs  t ijl   ivj ,
y ivs  1,
s  1, k v ,
l  1, k j ,
v  J,
j  J.
(3)
(Начало выполнения любой работы на станке может начаться лишь после
завершения выполнения на этом станке предыдущей работы)
xijl  rijl , если z ijl  1 , iI, l  1, k j , jJ.
(4)
(Момент начала выполнения самой первой для станка операции может
наступить лишь после наладки станка на эту работу)
xijl  0, y ijl  {0,1} , z ijl  {0,1,..., N } , iI, l  1, k j , jJ. (5)
(Естественные условия на введенные переменные).
3. Формализация критериев оптимальности
В качестве частных критериев оптимальности выберем следующие три
группы:
 группу частных критериев, связанных с директивными сроками
выполнения работ:
F1 j ( X , Y , Z )  g max( 0, xi jl  t i jl  D j )  min ,
i
0
0
0
0
0
где l0  k j , yi jl  1 ,
(6)
- штрафные санкции, связанные с нарушением директивного срока,
определенного для работы j, jJ;
0
0
 группу частных критериев, связанных с затратами на переналадки
станков:
4
F2i ( X , Y , Z ) 
kj
ks
 
s , j | z isl  z ijt 1 t 1 s 1
- суммарные затраты,
i, iI;
d y y  min
isj isj isl ijt
связанные
(7)
с переналадками станка с номером
 группу частных критериев, связанных с затратами на выполнение на
станках всех операций:
kj
F3 j ( X , Y , Z )   tijl yijlcijl  min .
(8)
iI l 1
- суммарные затраты, связанные с выполнением всех операций по
работе с номером j, jJ.
В качестве свертки частных критериев оптимальности выберем
аддитивную свертку как внутри групп частных критериев, так и между
группами:
(9)
F   F 1j   F 2i   F 3j .
j J
iI
j J
Полученная задача построения расписаний выполнения работ в
многостадийных системах относится к классу задач распределения
ресурсов и упорядочения работ ([1,2]). Она включает в себя исходные
параметры, варьируемые параметры, ограничения (1)-(5) и обобщенный
критерий (9), который можно интерпретировать как суммарные затраты на
выполнение всех работ построенного расписания. Эта задача является
задачей математического программирования с существенно нелинейными
ограничениями, нелинейным критерием и частично целочисленными
переменными. В рамках построенной модели могут быть поставлены
такие известные задачи, как
задача коммивояжера (учет только
переналадок на одном станке), нескольких
коммивояжеров (учет
переналадок на нескольких станках), задача о многомерном ранце (не
учитывается порядок обработки деталей при заданных директивных
сроках) и др.
4. Алгоритмы решения оптимизационных задач
Поставленная задача
являются NP-трудной задачей дискретной
оптимизации ([3,4]). В данной работе для её решения используется
идеология «жадных» алгоритмов - градиентные схемы для непрерывных
задач, перенесенные на задачи дискретной оптимизации. Под жадными
алгоритмами, как и в [(5,6)] мы будем понимать алгоритмы, в которых
включенная в строящееся расписание работа не может быть исключена из
него на последующих шагах построения. Жадные алгоритмы
применительно к рассматриваемой задаче являются
эффективными
алгоритмами (по вычислительной сложности), которые не гарантируют
получения точного решения, но находят
допустимые решения,
являющиеся приближенными к оптимальным.
5
4.1. Алгоритм A0 построитель расписания A(P)
На вход алгоритма поступает перестановка P, определяющая
приоритетность работ и операций, составляющих эти работы. Алгоритм
по перестановке Р строит допустимое решение исходной задачи (1)-(5),(9),
распределяя работы по станкам и упорядочивая их исходя из следующего
«жадного» принципа:
очередная работа, определяемая исходной
перестановкой, закрепляется за тем станком очередной стадии, для
которого затраты на эту работу (с учетом переналадок и возможных
нарушений директивных сроков) минимальны. Оценка сложности работы
алгоритма O(| J |  | I |) или O(| J |  log 2 | I |) , в случае бинарного поиска
станка, при упорядоченном по стоимости множестве станков.
4.2. Алгоритм A1 поиска перестановки P глубины h
Вводится натуральное число h, h< | J | , и производится перебор h!
вариантов перестановок. Лучший с точки зрения обобщенного критерия
вариант определяет очередную работу, включаемую в строящуюся
перестановку P. Исходными данными для работы алгоритма являются
начальная перестановка и натуральное число h - глубина перебора. На
первом шаге работы алгоритма из h первых работ перестановки в их
естественном порядке строится фрагмент расписания и
находится
суммарная стоимость этого фрагмента. Так для всех h! различных
перестановок. Фрагмент расписания минимальной стоимости определяет
первую работу в строящемся расписании. Эта работа исключается из
начальной
перестановки
и
процесс
построения перестановки
продолжается. Оценка сложности работы алгоритма O(h!×(|J|-h)).
4.3. Алгоритм A3 локального улучшения расписания
Для каждой работы определяется ее «вклад» в строящееся расписание. Для
наиболее «дорогих» работ увеличивается их приоритет. Пусть по
некоторой начальной перестановке построено расписание ρ стоимости
|J |
G(  )   g j , где g j - «вклад» работы j в стоимость расписания ρ
с учетом
j 1
затрат на обработку, переналадки и возможные нарушения директивных
сроков. Исходя из величин g j и номеров по порядку вхождения работ в
начальную перестановку, происходит их перемещение с целью
уменьшения стоимости расписания. Схема перемещения соответствует
перестановочному приему для задач теории расписаний с одним
обслуживающим прибором.
4.4. Алгоритм A4 критического пути
Для каждой работы рассчитываются ее временные характеристики, на
основании которых определяются резервы времени работ относительно
6
заданных директивных сроков.
Первоначальная
перестановка
определяет последовательность работ, резервы времени которых не
убывают.
4.5. Алгоритмы A5 Метрополиса (Simulated Annealing)
Алгоритм, использующий Simulated Annealing метод для нахождения
псевдооптимальной перестановки. В этом подходе используется аналогия
между процессом нахождения псевдооптимального решения и моделью
охлаждения термодинамической системы. Проводится аналогия между:
 энергией термодинамической системы ( E ) и обобщенным критерием
оптимальности задачи ( F ), полагая что их значения совпадают,
 перестановкой (Р), задающей порядок выполнения работ,
и
состоянием термодинамической системы (  ).
Вводятся случайные операторы перехода из одного состояния системы в
другое, или, другими словами от одной перестановки работ к другой.
Задается эмпирический параметр T – температура термодинамической
системы. Из известной формулы распределения вероятностей энергий для
термодинамической системы Больцмана следует, что вероятность перехода
системы из состояния с энергией E1 в состояние с энергией E2 при
 E
температуре T , P(E )  e kT , где E  E2  E1 и k  постоянная Больцмана
(коэффициент пропорциональности, задающий отношение между энергией
и температурой). Оптимизационный алгоритм работает следующим
образом: для некоторого начального параметра T0 в состоянии  0
находится E0 - значение энергии термодинамической системы.
Применяется случайный оператор перехода из состояния  0 в  1 .
Находится значение E1 для этого состояния. Если E  0 или P(E )   , где
  случайное число, равномерно распределенное в диапазоне [0,1] , то  1
принимается за текущее состояние системы и шаг работы алгоритма
повторяется. Иначе шаг повторяется при том же самом состоянии системы
 0 . После определенного числа шагов предполагается, что происходит
«охлаждение» термодинамической системы Ti 1  Ti / 2 . Условием остановки
алгоритма является отсутствие улучшений значения критерия задачи.
Замечание
Каждый из предложенных алгоритмов дает локальное улучшение
критерия в окрестности некоторого локального экстремума. Поэтому
каждый алгоритм имеет смысл использовать до тех пор, пока происходят
локальные улучшения критериев. В случае, когда применение некоторого
алгоритма уже не дает улучшения критерия, имеет смысл применить
какой либо другой алгоритм. Учитывая, что в основе каждого из
предложенных алгоритмов лежит некоторая перестановка, алгоритмы
7
могут объединяться в цепочки, когда результирующая перестановка
одного алгоритма становится начальной перестановкой для следующего
алгоритма.
5. Задача оперативно-диспетчерского управления
В качестве примера рассмотрим задачу оперативно-диспетчерского
управления инструментальным производством
радиоэлектронного
предприятия. Задача заключается в формировании сменно-суточных
заданий по группам оборудования, которые представляют собой
однотипные
взаимозаменяемые
станки
возможно
разной
производительности. Для изготовления изделия необходимо выполнить
совокупность работ (изготовление деталей), каждая из которых
представляет собой взаимозависимую последовательность операций,
выполняемых
на
станках.
Каждое
изделие
характеризуется
организационными, экономическими и временными показателями.
Организационные показатели включают в себя начальный и директивный
сроки изготовления изделия. Экономические условия определяются
затратами, связанными с изготовлением изделия. Для каждой операции
изделия указана группа станков, на любом из которых эта операция может
быть выполнена. Экономические характеристики работ, а тем самым и
всего изделия, складываются из затрат на обработку детали на станках,
затрат на переналадки станков и затрат, связанных с возможным
нарушением директивного срока для всего заказа. Затраты, связанные с
возможным нарушением директивного срока всего изделия, определяются
путем
расчета
временных
характеристик
сетевой
модели,
соответствующей технологическому процессу изготовления изделия, а
точнее определения резерва времени соответствующей операции.
Временные показатели изделия определяются следующим образом.
Известно время выполнения каждой операции на каждом станке, причем,
длительность выполнения операции складывается из времени обработки
детали на станке, времени переноса детали к соответствующему станку и
времени переналадки
или наладки станка. Требуется построить
расписание выполнения всей совокупности работ, минимизирующее
суммарные затраты, связанные с изготовлением всех изделий. На
основании построенного расписания формируются оптимальные сменносуточные задания, как для цехов, так и для отдельных участков и групп
оборудования.
На рисунке 1 показан пример построенного расписания выполнения работ
для изготовления пресс-формы, представленного в виде диаграммы Ганта.
8
Рис. 1. График Ганта по ресурсам и работам
9
На рисунке 2 приведен пример отчета по изготовлению пресс-формы.
Рис. 2. Отчет по изготовлению пресс-формы
10
На рисунке 3 показан фрагмент производственного задания для фрезерного
станка, сформированного на основе рассчитанного расписания.
Рис. 3. Фрагмент производственного задания для фрезерного станка
6. Результаты
В работе исследован широкий класс многостадийных задач теории
расписаний, в которых выполнение операций возможно на различных
единицах оборудования, объединенных в группы. Формально, общая
оптимизационная задача теории расписаний, которая ставится в рамках
построенной
математической модели, представляет собой частично
целочисленную задачу математического программирования. Частными
случаями этой задачи являются такие известные классические задачи
дискретной оптимизации, как задача коммивояжера, задача нескольких
коммивояжеров, задача о многомерном ранце и др. Все эти задачи, а тем
самым и исходная, относятся к классу NP-трудных задач. Для решения
общей задачи составления расписаний выполнения работ разработаны
алгоритмы A0 - A5, которые легли в основу созданной диалоговой
программной системы решения многостадийных задач теории расписаний
с альтернативными вариантами назначения работ на станки. Средой
выполнения программной системы является OS Windows 2000 SP4 или
OS Windows XP SP1, .Net Framework v 1.1. В результате решения задачи
11
строятся расписания, отображаемые в графиках Ганта по работам и
ресурсам, на основании которых формируются сменно-суточные задания
как для цехов, так и для отдельных участков и групп оборудования.
Список литературы
1. Батищев Д.И., Гудман Э.Д., Норенков И.П., Прилуцкий М.Х. Метод
декомпозиций для решения комбинаторных задач
упорядочения и
распределения ресурсов// Информационные технологии. Москва, N1,
1997. с.29-33.
2. Батищев Д.И., Гудман Э.Д., Норенков И.П., Прилуцкий М.Х. Метод
комбинирования эвристик для решения комбинаторных задач
упорядочения и
распределения
ресурсов. //Информационные
технологии. Москва, N2, 1997. с.29-32.
3. Прилуцкий М.Х., Кумагина Е.А.. Задача упорядочения работ как
задача о назначениях // Вестник Нижегородского государственного
университета. Математическое моделирование и оптимальное
управление. Нижний Новгород: Изд-во ННГУ, 1999. Вып. 21. C. 1824.
4. Прилуцкий М.Х., Кумагина Е.А. Задачи распределения разнородных
ресурсов в сетевых канонических структурах// Перспективные
информационные технологии и интеллектуальные системы. 2000. №4,
стр. 46-52.
5. Прилуцкий М.Х., Нефедов Д.С., Попов Д.В. Распределение ресурсов в
дискретно
управляемых
системах//
Электронный
журнал
“Исследовано в России”, 2002год. 032/020228, стр. 322-337.
6. Прилуцкий М.Х., Вяхирев Д.В. Многостадийные задачи
альтернативного распределения ресурсов //Вестник Нижегородского
государственного университета. Математическое моделирование и
оптимальное управление. Нижний Новгород: Изд-во ННГУ, 2002.
Вып. 25(1) с.224-233.
Download