2. Точность и надежность автоматизированных прецизионных металлорежущих станков: в 3 ч.
Ч.2
УДК 621.791.03-52
А.А. Иванов, П.Ю. Бочкарев
ОБЗОР ПРАВИЛ НАЗНАЧЕНИЯ ПРИОРИТЕТА ОПЕРАЦИЯМ ПРИ РЕАЛИЗАЦИИ ТЕХНОЛОГИЧЕСКОГО ПРОЦЕССА В МЕХАНООБРАБАТЫВАЮЩЕМ ПРОИЗВОДСТВЕ
Проводится обзор различных приоритетных правил выбора конфликтных операций для целевой функции Cmax при составлении расписаний для многономенклатурного механообрабатывающего мелкосерийного производства.
Планирование в цеху, приоритетные правила, job shop, планирование, мелкосерийное производство
A.A. Ivanov, P.Yu. Bochkaryov
THE REVIEW OF APPLICATION OF SIMPLE PRIORITY RULES WHEN SCHEDULING
FOR SMALL-SCALE PRODUCTION
In article the review of various priority rules of disputed operations for Cmax objective function by drawing up of schedules for multinomenclature machining process small-scale production is carried out.
Shop scheduling, priority rules, job shop, scheduling, small-scale production
Современное машиностроение характеризуется преобладанием серийного и мелкосерийного производства [1, 2]. Многономенклатурное мелкосерийное производство выпускает на сегодняшний день более половины продукции от общего объема производства. Поэтому повышение эффективности серийного и мелкосерийного производства является на сегодняшний день актуальной задачей.
Одним из наиболее важных методов повышения эффективности производства является уменьшение времени производственного цикла, или, другими словами, уменьшение времени выполнения заказа. Уменьшения времени производственного цикла можно добиться разными путями, например, повышением производительности оборудования, снижением времени на подготовку производства. Однако, не оптимально составленное расписание работы станочного оборудования может свести к нулю эффект от применения остальных методов, поэтому составление оптимального плана работы оборудования является одним из ключевых моментов повышения эффективности производства.
Для мелкосерийного производства задача составления оптимального расписания является наиболее актуальной [1, 2]. При таком типе производства сравнительно быстро прекращается изготовление одних видов выпускаемой продукции и налаживается освоение новых. Характерными особенностями таких производственных систем также являются:
— работа по заказам на большинстве предприятий независимо от ведомственной подчиненности и формы собственности;
— установленные сроки изготовления;
— возможность остановки работы производства для смены выполняемого заказа или др.;
— выделение приоритетных заказов из общего числа, с возможностью их обработки без прерываний.
Составление расписания для такого типа производства является сложной задачей.
Выполнение этой задачи для реального производства состоит не просто в создании адекватной модели производства, учитывающей все вышеперечисленные характеристики, и создании методов нахождения оптимального расписания для полученной модели. Важно также создание целой системы планирования, позволяющей получать все исходные данные о производственной системе и имеющихся заготовках, учитывающей реальное состояние производственной ситуации, и способной анализировать все эти данные для создания оптимальных технологических процессов (ТП) для каждой детали (включающих маршрут обработки, время обработки, время переналадки в созданном маршруте). Из полученных таким образом ТП должно строиться расписание работы станочного оборудования. Такой подход позволит главным образом учитывать при планировании прерывания работы производства, и практически без задержек создавать новое расписание для новой производственной ситуации.
Вернемся к вопросу создания самого расписания работы станочного оборудования. Идеализированным представлением многономенклатурного мелкосерийного производства является задача job shop (JS) [3]. Далее, придерживаясь терминологии [4], будем различать понятия индивидуальной задачи (т.е. задачи в которой все входные данные полностью определены) и массовой задачи (бесконечное семейство индивидуальных задач). Для краткости массовую задачу назовем просто «задачей» (например указанная задача job shop), а ее индивидуальную задачу будем называть «примером» (instance). Зафиксировав те или иные параметры задачи (например, число работ или число машин), мы получим подзадачу, или класс примеров исходной задачи. Решение задачи или примера будет означать нахождение расписания, т.е. моментов времени, когда начинает выполняться каждая операция.
Рассмотрим основные методы решения задачи JS. Глобальная классификация этих методов выглядит следующим образом: точные и неточные методы. К точным методам относятся метод полного перебора, метод сокращенного перебора, метод ветвей и границ и динамическое программирование. К неточным - методы назначения приоритетов, аппроксимационные методы и методы локального поиска (такие как генетические алгоритмы, модельной «закалки», «узкого места», жадные алгоритмы и пр.). Наиболее эффективными и зарекомендовавшими себя на практике являются методы локального поиска, поскольку позволяют за приемлемое время построить достаточно «хорошее» расписание. Однако для нормальной работы этих методов им необходимо указать начальную точку поиска, т.е. фактически решить задачу и решить ее быстро. Для этих целей лучше всего и чаще всего используется метод назначе-
59
ния приоритетов. Метод назначения основывается на выборе функции предпочтения для каждой конфликтной ситуации, вызванной условием обработки только одной операции на одном станке при построении расписания. Функций предпочтения существует огромное количество. Огромное количество обуславливается наличием огромного числа специфичных производств, для которых эти функции разрабатывались. Поскольку не существует единой функции предпочтения, обеспечивающей получения расписаний, близких к оптимальному при любом характере производственных ограничений и произвольной целевой функции, особую важность приобретает выбор приоритетных функций, обеспечивающих в конкретных условиях получение в короткие сроки решений, близких к оптимальным.
Различают два метода применения приоритетных правил (или приоритетных функций): детерминированный и стохастический. При детерминированном методе конфликт между операциями на станке определяется по экстремальному значению приоритетной функции. При стохастическом - используются «рандомизированные» приоритетные правила, т.е. операции выбираются случайно с вероятностью равной отношению приоритетной функции рассматриваемой операции к сумме функций всех конфликтных операций.
Приоритетные правила (в классификации Конвэя) делятся на локальные и глобальные. Локальные правила опираются только на информацию об операциях в конфликтном множестве, а для глобальных правил необходима информация о других деталях и станках. Дальнейшая классификация делит правила на простые и составные. Простые основываются только на одном виде информации (локальной или глобальной), в то время как составные являются комбинациями простых правил. Составные приоритетные правила применяются в том случае, когда простые правила не обеспечивают однозначности выбора из конфликтного множества. Существует также разделение на статические и динамические правила. Значения статических правил является постоянным для каждой операции. В динамических такая зависимость присутствует.
Огромное множество различных правил представлено в [5]. Из них применительно к решению задачи 18 было отобрано 11 наиболее значимых и часто встречающихся на практике простых правил.
Описание используемых приоритетных правил
Обозначение Выражение функции предпочтения Описание
РСРБ V к )=т} Первый пришел - первый обработан
ЯАИО V Ь ) = Яг,; Равновероятная выборка операций
00АТЕ V- к ) = д. Самый ранний директивный срок
РОРИЯ V ) = м. - ] +1 Наименьшее число оставшихся операций
СОРИЯ + і і і и Наибольшее число оставшихся операций
БРТ V (і ) = Ри Самое короткое время обработки
1_РТ V (і ) = - Ри Самое длительное время обработки
LWKR М, V (< ) = І Ри Наименьшее оставшееся время обработки детали
М\ЖВ Мі V, (і ) = -І Ри }=} Наибольшее оставшееся время обработки детали
ИІИО V- (і ) = ии„ (і) Наименьшее число операций в следующем конфликтном множестве
WINQ V, (‘ ) = +■ (‘) Самое меньшее время обработки операций на следующей стадии обработки
Формализация, применяемая в таблице:
I- момент времени, в котором производится выбор операции;
- - индекс деталей;
] - индекс операций одной детали;
/ - индекс текущей операции;
Mi - общее число операций для i-й детали;
Tij - момент готовности обработки операции j детали i;
Di - директивный срок i-й детали;
Pij - время обработки операции j детали i;
Rij - произвольное значение от 0 до 1, присваиваемое операции j детали i;
Njt) - число работ в момент t, находящихся в очереди вместе с операцией j детали i;
Wij(t) - время обработки всех операций в момент t, находящихся в очереди вместе с операцией j детали i;
Vi(f) - значение приоритетной функции i-й детали в момент t.
Критерий выбора очередной операции - минимум значения приоритетной функции.
Идея объединить простые приоритетные правила в более сложные позволяет получить большое разнообразие эвристик. Фактически можно связать различные базовые приоритетные функции, представленные выше, в различные функциональные зависимости, с целью получения сложных приоритетных функций, отражающих стремление удовлетворить особенности решаемой задачи.
Самые известные процедуры комбинации: аддитивная и альтернативная. (Деление и произведение правил относятся к простым). Аддитивной или взвешенной комбинацией называется приоритет заданный выражением Zt(t) = ^j_iaiVji , где Vji определяет значение приоритета по простому приоритетному правилу j (j = 1,...,n) для работы i, а Ц определяет вес или коэффициент правила j (Ц > 0). Весьма распространен специальный случай, когда (0 < а < 1) и ^ ,=iai = 1, т.н. векторная или линейная комбинация.
Другая специфичная версия аддитивной комбинации представлена в [36]. Коэффициент а становится адаптивным компонентом внутри комбинационного выражения, тем самым достигается учет специфики задачи.
Альтернативный или иерархический подход основан на условной процедуре. В основном таким способом комбинируют только два простых правила. На примере двух простых правил SPT и FCFS, продемонстрируем три возможных способа альтернативной комбинации.
Первый, решение по использованию одного из двух правил зависит от значения slack (где slack это доступное время до наступления директивного срока):
Второй, выбор правила может зависеть от сравнения числовых значений самих правил, напри-
Третий, применяется одно доминантное правило, а второе применяется в качестве арбитра, когда обе работы имеют одинаковое значение приоритета по первому правилу. Очевидно, что в данном случае возможно применение и большего количества правил.
Рассмотрим подход, предложенный О’Греди [6], который формализует концепцию приоритетных правил. Важность результатов этой статьи в том, что предложенное обобщенное аддитивное комбинационное выражение способно представить сразу несколько простых правил (с локальной информацией об очереди). Используется следующая нотация:
с, Ь: вектор коэффициентов оставшихся времен обработки операций работы; р;: вектор, который содержит времена обработки оставшихся операций работы; s: коэффициент директивного срока работы; у, /: коэффициент числа оставшихся операций работы;
О’Грэди определил следующую обобщенную приоритетную функцию:
SPT, slack й 0 FCFS, slack > 0
мер
У (t) = max{SPT + r; FCFS } (- ~ < r < <~)
SPT: с = (1,0,...,0); s = 0;
DD: с = (0,0,...,0); s = 1;
б1
SL: с = (— 1,-1,...,-1); s = 1;
LWKR: с = (1,1,...,1); s = 0.
Если расширить функцию О’Грэди до приоритетной функции вида
V ( ) = k Xp)+ (sdt)+ y(mi — j +1)
‘ (b X P,)+ z (mi — j +1)
то с помощью нее может быть выражен более широкий диапазон правил, например SPT: с = (1,0,...,0); b = (0,...,0);
s = y = 0; z = 1/(тг- — j +1);
FOPNR: с = (0,...,0); b = (0,...,0);
s = 0; y = 1; z = 1/(тг. — j +1);
LWKR: с = (1,...,1); b = (0,...,0);
s = y = 0; z = 1/(тг. — j +1); aSPT + (1 — a)S/OPN (0<a< 1): с = ((тг. — j + 1)а — (1 — а),—(1 — а),...,—(1 — а)); b = (0,...,0)
s = 1 — а; y = 0; z = 1;
и т. д.
Необходимо также определиться с выбором целевой функции для задачи JS. С точки зрения соответствия реальным задачам многономенклатурного мелкосерийного производства анализ влияния приоритетных функций было решено проводить на целевой функции Cmax (значение функции равно максимальному времени обработки из всех деталей). Эта функция наиболее распространена в исследованиях планирования. Ее популярность объясняется следующими причинами. Во-первых, достижение высокой загрузки до сих пор является главной задачей управления производственным процессом в механообработке. Во-вторых, вычисление Cmax облегчено за счет известных алгоритмов на графах для вычисления самого длинного пути в связанном графе решения.
В настоящий момент в большинстве статей, посвященных описанию правил приоритетов для задач составления расписаний, рассматриваются только усредненные целевые функции, такие как
С, T, F . Поэтому перед авторами стоит задача по анализу эффективности имеющегося множества простых и комбинированных приоритетных правил, применяемых в задачах планирования с целевой функцией Cmax, созданию новых правил для указанного критерия, одновременно учитывающих специфику многономенклатурного мелкосерийного производства. Подобное исследование позволит в дальнейшем применить полученные результаты при разработке эффективных методов локального поиска решения для мелкосерийного производства, не маловажной особенностью которых является задание «хорошей» начальной точки.
ЛИТЕРАТУРА
1. Бочкарев П.Ю.Системное представление планирования технологических процессов механообработки // Технология машиностроения. 2002. № 1. С. 10-14.
2. Бочкарев П.Ю. Планирование технологических процессов в условиях многономенклатурных механообрабатывающих систем. Теоретические основы разработки подсистем планирования маршрутов технологических операций: учеб. пособие / П.Ю. Бочкарев, А.Н. Васин. Саратов: СГТУ, 2004. 136 с.
3. Brucker P. Scheduling Algorithms. Fifth edition, Springer, Heidelberg, 2007.
4. Севастьянов С.В. Геометрические методы и эффективные алгоритмы в теории расписаний дис. .д-ра физ.-мат. наук / С.В. Севастьянов. Новосибирск, 2000. 283 с.
5. Panwalkar, S. and I. Wafik. 1977. A survey of scheduling rule. Operations Research 25 (1):45-61.
6. O'Grady PJ, Harrison C (1985) A general search sequencing rule for job shop sequencing. Int J Prod Res 23:961-973
Иванов Александр Александрович - Aleksandr A. Ivanov -
аспирант кафедры «Проектирование Post-graduate Student of the Department
технических и технологических комплексов» of «Designing technical and technological
Саратовского государственного complex» Saratov State Technical
технического университета University
Бочкарев Петр Юрьевич - Petr Yu. Bochkaryov -
доктор технических наук, профессор, Doctor of Technical Science, Professor,
заведующий кафедрой «Проектирование Head of the Department of «Designing
технических и технологических комплексов» technical and technological complex»
Саратовского государственного Saratov State Technical University
технического университета
Статья поступила в редакцию 13.05.2011, принята к опубликованию 24.06.2011