_____________НАУЧНОЕ ПЕРИОДИЧЕСКОЕ ИЗДАНИЕ «IN SITU» №1/2015 ISSN 2411-7161_____________________
6. Земский С.В., Фокин А.П. Поведение углерода в процессе прокатки. Проблемы металловедения и физики металлов. Труды ЦНИИЧМ. Вып. 58. Москва. Металлургия. 1965. С. 9
7. Полухин П.И., Воронцов В.К. Фотопластичность, применение метода к исследованию процессов обработки металлов давлением. Москва. Металлургия. 1965. 398
8. Hahn G.T., Averbach B.L., Oven W.S., Cohen M. Initiation of Cleavage Microcracks in Polycrystalline Iron and Steel, в книге Fracture Averbach et al (eds), MitPress Cambridge, Mass and Wiley, New York, 1959, 91-116
9. Danyushchenkov I.A. Influence of Process of interaction between oxygen and carbon on brittle failure of low alloy molybdenum alloy. Известия высших учебных заведений. Черная металлургия. 2003. N 5. 45-47
10. Bridgman P.W.Studies in Large Plastic Flow on Fracture. Mc Graw-Hill, New York. 1952
© Данющенков И.А., 2015
Иванов Александр Александрович
аспирант Саратовского государственного технического университета, г. Саратов E-mail: [email protected]
МЕТОДИКА ПОИСКА ОПТИМАЛЬНОЙ РЕАЛИЗАЦИИ ТЕХНОЛОГИЧЕСКИХ ПРОЦЕССОВ МЕХАНООБРАБОТКИ ДЛЯ МЕЛКОСЕРИЙНОГО МНОГОНОМЕНКЛАТУРНОГО
ПРОИЗВОДСТВА
Аннотация
Представлен новый алгоритм на базе метода поиска с запретом для отыскания оптимального решения задачи реализации технологических процессов механообработки в условиях многономенклатурных мелкосерийных производств с критерием минимизации общего времени обработки всего поступившего заказа. Для задачи представлена математическая модель в виде дизъюнктивного графа. Для применения метода поиска с запретом к сформулированной задаче представлен оригинальный способ получения эффективной допустимой окрестности. Исследование показало, что предложенный метод на базе метаэвристического метода поиска с запретом, позволит существенно сократить время обработки поступившего в производство заказа.
Ключевые слова
Планирование производства, модель мелкосерийного производства механообработки, job-shop, реализация технологических процессов, автоматизированное планирование.
На сегодняшний момент в России преобладает многономенклатурное мелкосерийное производство (ММП) [1, с. 3]. В данной работе мы ограничимся рассмотрением механообрабатывающего ММП, которое является типичным методом изготовления деталей. Эффективность функционирования таких производств не высока, поэтому повышение эффективности ММП является актуальной задачей на сегодня. Решение этой задачи видится многими авторами во внедрении АСУ ТП. Основной задачей любой АСУ ТП является оптимальная реализация технологических процессов механообработки, другими словами построение оптимального расписания работы технологического оборудования (ТО). С этой целью применяются различные подходы. Наибольшей популярностью пользуется математическое моделирование. Как выяснилось в результате анализа научной литературы, на сегодняшний день отсутствуют адекватные модели процесса реализации ТП в ММП механообработки и методы решения оптимизационных задач, полученных путем внесения в эти модели целевого критерия. В связи с вышесказанным в данной статье будут представлены адекватная модель процесса реализации ТП в ММП механообработки и методическое и алгоритмическое обеспечение поиска оптимального решения задачи построения расписания работы ТО на базе представленной модели с целевым критерием минимизации общего времени обработки всего заказа.
17
НАУЧНОЕ ПЕРИОДИЧЕСКОЕ ИЗДАНИЕ «IN SITU»
№1/2015
ISSN 2411-7161
Формализация задачи построения оптимального расписания работы ТО в условиях ММП выглядит следующим образом. На вход ММП, представленного множеством M = {ТО1, ТО2..,ТОт} из m единиц ТО, для обработки, поступает множество N = {Dj , D2,...,Dn } из n разнотипных деталей, возможно,
объединенных в партии. Маршрут обработки произвольной детали D е N состоит из последовательности операций, которые должны быть полностью выполнены в строго указанном порядке на конкретном типе ТО. Структура маршрута для механообработки представляет собой конечный орграф типа «цепь». Пусть О множество операций всех деталей мощностью о. Тогда D ^ О,D е N . Для любой детали D пронумеруем
операции входящие в нее как D.Onl,..., D.Qn
О
D
, где 0D - множество операций в маршруте детали D.
Тогда У ^ N Od I = О . Определим множество всех упорядоченных пар операций одной детали D е N как
Ad = {D.Omi, D.Oш/): i < j,1 < i < 0D ,1 < j < 0D ||. Множество М разбито на группы ТО по типу
выполняемых операций. Обозначим через F множество из r групп оборудования. Каждая группа rpg е F, g = 1..Г состоит из mg идентичных ТОк е M . Таким образом, У _ lrmg = |M| и
Ur F Uk Г ТОк = M . Введем также параметр rD'Om < Г - количество (различных) групп
JГрgеF ^kеГрg
оборудования, назначаемого операции D.Omi,
и
D.Omi / D.Omi D.Omi [1 1 u -i D.OmiX ТЛ гл Ли;
g = {gq : gq е[1..ГJ, yq = l.r | индексов групп ТО, назначенных для операции D.Om .
множество
Каждой операции D.Omi е О назначается множество групп оборудования для обработки. Множество ТО, входящего в эти группы обозначим через Md Oni. Таким образом, Md Omi это множество
{ТОк : ТОк е rpgD'Om, VgD'Om е gD Om|. ТО одной группы в общем случае имеют разную скорость
обработки. Каждая операция D.Omi должна быть обработана только одним ТО из Md Oni. Введем множество B неупорядоченных пар операций (D.Oш, J.Оп/), принадлежащих различным деталям и
имеющих nоmенциально общее ТО, т.е. ^^Оп/ ^ MJoTj ^ 0. Обработка операции любой детали
выполняется без прерываний и только одним ТО в каждый момент времени. На каждом ТО в любой момент времени должно обрабатываться не более одной детали. Каждому ТО требуется время на переналадку при переходе к обработке следующей операций. Различают переналадку при переходе к первой операции, после завершения последней операции и между двумя операциями. Эти переналадки называются соответственно: загрузка, разгрузка и просто переналадка. Времена загрузки и разгрузки обозначаются как Тзагрф.Ош, ^g, ТОк) и Тразгрф.Ош, ^g, ТОк) соответственно. Для каждого ТО эти времена индивидуальны и зависят также от первой (последней) операции при загрузке (разгрузке). Время, затрачиваемое на переналадку между операциями, обозначается как Тп.-з. (подготовительно-заключительное). Это время зависит от последовательности обработки операций на ТО и нормировано. Время на обработку операции обозначается как Тшт.^.Ош, ^g, ТОк) и состоит из основного времени, затрачиваемого на обработку, вспомогательного времени, времени обслуживания рабочего места и времени на перерывы, на отдых и личные надобности рабочего. Все времена положительны нормированы и известны заранее. Основным критерием оптимальности составления расписания работы оборудования является полная обработка всего заказа за минимальное время. Задача состоит в том, чтобы составить оптимальное расписание обработки всего заказа на имеющемся ТО - т.е. определить такие временные интервалы обработки каждой операции в маршруте для каждой детали, чтобы соблюдались все вышеуказанные условия обработки, и время завершения обработки всех деталей было минимальным.
Любые поломки оборудования или прочие причины, ведущие к его остановке, здесь не рассматриваются.
18
НАУЧНОЕ ПЕРИОДИЧЕСКОЕ ИЗДАНИЕ «IN SITU»
№1/2015
ISSN 2411-7161
Обозначим такую задачу как FJSST (Flexible Job-shop scheduling problem with Sequence-depend Setup Times). Дизъюнктивный граф для задачи FJSST представляется в виде G = (V, A, E):
- v = {аb}^ UieN ULo иTOseM^VDnni - множество узлов графа, где VD°;m это узел,
который ставится в соответствие операции D. Ош, если ей будет назначено ТОs. а и b это фиктивные узлы, являющиеся соответственно истоком и стоком графа, и имеющих суть начала и конца расписания соответственно. Веса всех узлов равны нулю.
- A это множество конъюнктивных дуг, отражающих суть выполнения технологических маршрутов
каждой детали и вспомогательных операций A = Aj ^ A2 ^ A3, где
A1 = UDeN UCimeOD UTOseMDCni (a,VD.Cni^
A =1111-11 — II — (vTOs VTOq )
2 KJDeN^J(А.Опг,D.Orj)eAD^JTOseMD Cn\JTOqeMD О„Л D.Cnv y D.CnjJ’
A3 UDeN UCnieOD ^UTOseMD Cni ^DCnn
Здесь Ai это множество конъюнктивных дуг - суть отражение процедуры загрузки на ТО. Вес дуги
множества А1 от истока а к любому узлу VDoni равен Тзагр(D.Cni, ^g, TOs). А2 это множество конъюнктивных дуг предшествования операций внутри маршрута обработки одной детали. Вес дуги
tyixom, VixC)nj) множества А2, для которой TOs = TOq, TOs e MD Cni, TOq e MJ Cnj равен
TmT.(D.Cni, Грg, TOs) + Tn.^XTOs, D.Cni, D.Cnj), иначе равен TmT(D.Cni, Грg, TOs). А3 это множество конъюнктивных дуг - суть отражение процедуры разгрузки ТО. Вес дуги множества Аз от любого узла
VDCni к стоку b равен Tm-l(D.Cni, Гр^ TOs) + Тразтрф .Cni, Грg, TOs).
- E - множество дизъюнктивных дуг. Для каждой пары операций (D .Оп/, D .Оп/) e B и любого
ТШ е MDp .Оп ^ MDq .Оп/
{jT-TOm VTOm ) V/TOm VTOm
(V n <"> ™ , V П rw I V Г> Пnj" , V г
p 7 q'
это множество содержит две разнонаправленные дуги
Dp .Оп, V Dq О/ ) (VDOOш^■ ,VS°.От')} с весами соответственно Грg, ТOm) + А-
3(TOm, Dp.Cni, Dq.Cnj) и
Тшт.(Dq.Cnj, Грg, ГOm) + Tш.-з.(TOm, Dq.Cnj, Dp.Cni).
Поскольку полученный граф является орграфом, то для него можно использовать следующие стандартные определения из теории графов. Дуга e = fo p) имеет начало (узел q) и конец (узел p), которые
определяются как функции beg(e) и end(e) от дуги e соответственно. Зададим орграф G = (V, A). Тогда для любого множества вершин N С V определим y(N) = (e е A : beg(e) и en d(e)e N),
S~(N) = (e e A: beg(e)g N и end(e)e N), а также S+(N) = (e e A: beg(e)e N и end(e)^ N) и
s(n )=s+(n )^s~(n ).
Введем вектор
M i MDi.Cni,MDi.Cn2,...,MD CAoDn\
e M = M
каждой операции DdCni, Dd e N, d = i.n, i = 1..ODd оборудование MDf,.Oni e MDd Qni. Вектор M
D1 .Cni
Dd
X MDi Cn2 X ...X MD , ODn\ , назначающий
выделяет порожденный подграф GM в графе G = (V, A, E) следующим образом. Каждой операции в подграфе GM ставится в соответствие только один узел графа, определяемый M . Множество таких узлов
19
НАУЧНОЕ ПЕРИОДИЧЕСКОЕ ИЗДАНИЕ «IN SITU»
№1/2015
ISSN 2411-7161
TOs
D 0ni, множество конъюнктивных дуг, связанных с этими узлами
V = а b}^ Ud.a ILo U rns=MDOmVi
A7 = A n/(v7), а множество дизъюнктивных дуг для узлов V7 будет определяться как
E 7 = E n/(v7 ). Подграф G7 =(v 7 , A7, E7) будет дизъюнктивным графом, соответствующим вектору 7 .
Для любого вектора 7 е M и любого множества S С E 7, (7, S) называется выборкой. Выборка
(7, S) называется положительно цикличной, если граф (v7 , A7 ^ S) содержит положительные циклы, и положительно ацикличной в противном случае. (7, S ) называется полной, если S n{e, e}^ 0 для всех
{e, e}e S7 , где S7 это семейство пар дизъюнктивных дуг графа G7 . Будем называть выборку (7, S) допустимой, если она является полной и положительно ациклична.
Найти оптимальное расписание обработки всего заказа с использованием представления FJSST в виде
графа будет означать: среди всех допустимых выборок (7,S), 7 е M, S с E7 найти такую выборку
(7*, S *) , для которой длина максимального пути от истока a к стоку b в графе G7 была бы минимальной
среди всех G7 . Для примера на рисунке 1 представлен общий вид дизъюнктивного графа задачи FJSST с четырьмя деталями. Для наглядности отображения не все дуги множеств А1 и А3 представлены на рисунке. По той же причине отображены не все дуги А2 детали А.
а'ь - Фиктивные узлы начала и конца обработки всех операций соответственно
- Конъюнктивные дуги * - Конъюнктивные дуги ' ' ~ - Конъюнктивные дуги it' "а - Дизъюнктивные дуги
множества А, множества Аг множества А3
Рисунок 1 - Общий вид графа для примера задачи FJSST
Представленная математическая модель процесса реализации ТП с учетом критерия минимизации общего времени обработки всех деталей, поступивших в обработку, представляет собой задачу нелинейной оптимизации. Задачи такого рода принято называть задачами типа job-shop. Для их решения существует множество методов. Нами была составлена их классификация, представленная на рисунке 2.
20
НАУЧНОЕ ПЕРИОДИЧЕСКОЕ ИЗДАНИЕ «IN SITU»
№1/2015
ISSN 2411-7161
ACO - метод муравьиной колонии,
BILS или FILS - поиск с принятием лучшей или первой лучшей
модификации
TS - поиск с запретом
VSN - поиск с переменными окрестностями
GLS - направленный локальный поиск
IM - метод итеративного улучшения
TA - Порогового принятия
LSO - метод оптимизации большими шагами
SA - метод Имитации Отжига
ES - эволюционные стратегии
GA - генетические алгоритмы
SS - метод распределенного поиска
GLS - гибридные алгоритмы
Рисунок 2 - Классификация методов поиска решения задач типа job-shop
Задача FJSST является NP-трудной [2, с.91]. Размерность реальных задач реализации ТП для ММП порядка 100-300 деталей с 1-10 операциями на 10-100 ТО. Поэтому мы считаем, что задача FJSST относится к задачам большой размерности, и как следствие к выбираемому методу необходимо применять соответствующие требования - справляться с NP-трудными задачами большой размерности. К тому же реальность ставит дополнительно ограничение по временным рамкам работы метода. В реальности метод должен находить приемлемое решение за 5-10 минут. Учитывая вышеизложенное, в данной работе был сделан выбор в пользу применения эвристик как метода решения задачи FJSST.
К достоинствам конструктивных эвристик несомненно можно отнести их простоту и скорость получения решения (и для задач большой размерности в том числе). Однако, их главный недостаток - низкое качество получаемого решения - не позволяет использовать их в качестве основного метода решения. Неоспоримыми лидерами среди эвристик на сегодняшний день являются Метаэвристики. Из представленных методов наиболее подходящими для решения задачи FJSST являются методы ACO, TS, VSN и гибридные методы GLS. Проанализировав все их многообразие, был сделан вывод о необходимости использовать локальный метод поиска с Запретом как наиболее мощный и перспективный на сегодняшний день метод решения задач типа job-shop! Подробно ознакомиться с описанием работы метода можно здесь [3, с.101].
Согласно [3, с.106] основной принцип поисковой стратегии метода TS является проблемнонезависимым, а фактическая реализация базового принципа является проблемно-зависимой, так как должно быть определено, что принять за решение, как решение может быть модифицировано и в каком количестве? Рассмотрим эти вопросы.
Поскольку мы ограничиваться рассмотрением только полу-активных расписаний [3, c.167], то верным является, что допустимой выборке (д, 5) в дизъюнктивном графе G = (V, A, E) однозначно
21
ISSN 2411-7161
О»
____________НАУЧНОЕ ПЕРИОДИЧЕСКОЕ ИЗДАНИЕ «IN SITU» №1/2015______________________________
соответствует одно допустимое решение s. Такое решение из подграфа G = (V^, A ^ S) можно получить, например, с использованием алгоритма Дейкстры.
Формально, для некоторого допустимого решения S соседом S' будет решение, которое получается из s путем применения некоторой модификации, которая называется перемещением sx Е SX(s), т.е. S' = sx (s). Множество SX(s) это множество возможных перемещений относительно s. Окрестностью NH решения s назовем множество соседей s', получаемых с помощью перемещений SX(s) т.е. NH(s)= {s' = sx(s): sx е SX(s)}.
Поскольку метод TS является метаэвристикой, то алгоритм его применения является шаблонным. Существует много разновидностей таких алгоритмов. Нами был выбран Алгоритм «Поиска с запретом с обратным скачком» (TSBJT), предложенный Новицким и Смутницким для решения классической задачи JSP [4, с.803]. Результат применения этой версии TS для различных типов задач показал свою высокую эффективность и есть основания полагать, что она сохранится и при использовании для задачи FJSST.
Алгоритм TSBJT Обозначения: s0 - начальное допустимое решение, iter - текущая итерация поиска, maxiter - максимальное число итераций поиска, s - решение текущей итерации, Cmax(s) - значение makespan расписания s, sBest - лучшее найденное решение, Cmax Best - значение makespane sBest, t - текущее время поиска, maxtime - максимальное время работы алгоритма, SX(s) - множество перемещений решения s, TL - список запрещенных перемещений, L - список элит, LLast - последнее запомненное элитное решение
Проблемно-ориентированной частью любого TS алгоритма является блок построения окрестности текущего решения (1 - на блок-схеме алгоритма). Согласно [3, с.98] построить эффективную окрестность
22
НАУЧНОЕ ПЕРИОДИЧЕСКОЕ ИЗДАНИЕ «IN SITU»
№1/2015
ISSN 2411-7161
при решении задачи методом поиска с запретом, означает получить эффективный метод решения. Поэтому построение эффективной окрестности является целью данной статьи. В алгоритме TSBJT дополнительно применяются техники, позволяющие ему проводить поиск более эффективно. В конце статьи будет кратко сказано об этом.
Модификация текущего решения, т.е. переход от одного решения к другому для задачи FJSST может быть выполнен за счет замены местами операций в очереди ТО, переносом операций на другие ТО или комбинацией последних перемещений. С точки зрения графа решения это будет соответствовать изменению
выборки (л, S) на выборку (л, S^), S' Ф S, S' С EЛ или на выборку (Л , S), JLl' Ф /Л, JLl' £ M, или
выборку (л , S'), /л' ф Л, Л £ M, S' ф S, S' с EЛ. Здесь надо заметить, что поиск с запретом -локальный метод. Понимать это можно по-разному. В данной работе локальность понимается как «малость» модификаций при выполнении перемещения. Исходя из этого принципа, множество возможных перемещений мы ограничили только двумя элементарными перемещениями: типа I - перемещение одной операции «влево» на одну позицию в очереди ТО или «смежный обмен», и типа II - перемещение одной операции на «близкую» позицию в очереди другого ТО из группы. Смежный обмен выполняется инверсией одной дизъюнктивной дуги графа текущего решения.
Элементарное перемещение второго типа - это перемещение за счет смены ТО для какой-либо одной операции D^rn на любое другое из назначенной группы ТО. Это будет означать изменение выборки (Л, S)
на выборку (л ', S' ), которые будут отличаться назначением на TOk вместо TOk выбранной операции D^m, где TOk, TOk £ MDQlii, TOk ф TOk и изменениями в составе дизъюнктивных дуг,
вызванными этим назначением. Вектор /л' выделит новый порожденный подграф GЛ в графе
TOk'
G = (V, A, E) задачи. По составу узлов этот граф будет отличаться от прежнего GЛ наличием
узла VD.Oni
jrTOk
и отсутствием узла VDOni.
Для построения окрестности текущего решения s нет необходимости применять все элементарные перемещения, а достаточно рассмотреть элементарные перемещения операций критического пути графа G(s). Доказательство этого утверждения основывается на том факте, что если в s производить элементарные
перемещения с операциями не критического пути P, то в получившемся решении S' будет присутствовать путь P' = P. По определению длина КП для s' не меньше длины P', а следовательно и длины P. В итоге Cmax( S' ) > Cmax(s).
Ограничив множество возможных перемещений множеством элементарных перемещений операций критического пути, мы решили вопрос с размерностью окрестности. Таким образом, удалось соблюсти баланс в широте покрытия окрестности. Ведь при очень большой окрестности будет потрачено много времени на ее исследование и, как следствие, на сходимость к итоговому результату. Слишком маленькая окрестность не позволит достаточно исследовать пространство поиска, и мы потеряем в качестве.
Теперь осталось решить самый важный вопрос - вопрос допустимости перемещений. Не всякое перемещение приводит к допустимому решению-соседу в окрестности. Иначе говоря, не всякая модификация выборки (Л, S) ведет к допустимой выборке-соседу (л ' , S' ). Вопрос с допустимостью перемещений можно решить двумя путями: совершать только гарантированно допустимые или восстанавливать допустимость решения после перемещения. В первом случае используется подход, представленный в [2, с.93]. Для смежного обмена применяется фильтр, суть которого заключается в проверке двух условий.
Условие 1: Даже если решение s', полученное из s инверсией дуги (vDckni,Vj^<Onj), является допустимым, но оно не улучшит s, если выполняется неравенство:
23
№1/2015
ISSN 2411-7161
_______НАУЧНОЕ ПЕРИОДИЧЕСКОЕ ИЗДАНИЕ «IN SITU»_______________________________
Тп _3 (PM(D.Oni),J.Onj, ТО) + Тп_3. (j.Onj, D.Oni, ТО) +
+ Тп_3. (D.Oni,SM(j.Onj), ТО) _ Тп_3 (PM(D.Oni),D.Oni, ТО) _
_ тп_3 (p.Onij Onj, то) _ тп_ 3. (j Onj, sm(j Onj), m) > 0
где PM(D.Oni) - операция, предшествующая D.Oni в очереди ТО в 5, а SM(D.Oni) - операция,
следующая за D.Oni в очереди ТО в s. Справедливость условия очевидна.
/
Условие 2: В результате инверсии дуги (У
rTOk jrTOk POni У J .Onj
УЖ,■) получившееся решение S' будет допустимым,
если в решении s отсутствовали альтернативные пути из
jrTOk jrTOk „ ~
VP Oni в Vj Onj. Это можно обеспечить путем
проверки выполнения следующего неравенства:
r(Pj(jOnj)) < r(SJ(P.Oni))+Тшг. (TOk, SJ{D.Oni))+ A
(1)
где
A =
Тп._з. (x, PJ (j .Onj ), TOk ), если SM (x) = PJ (j .Onj )
т1п{Тшт. (TOk, SJ (x)), Тп.-з. (x, SM (x), TOk) + Тшт. (TOk, SM (x))}, иначе,
Здесь x = SJ(D.Om) - операция, следующая за D.Oni в маршруте, PJ (D.Oni) - операция, предшествующая D.Oni в маршруте, а r(D.Oni) - «голова» операции D.Oni в графе G(s), т.е.
максимальная длина пути от истока а к узлу операции D.Oni. Очевидно, что если существует некоторый
п jrTOk -rrTOk ,
альтернативный путь Q от узла Vdo™ к узлу Vj Oni в ацикличном графе решения s помимо дуги
(jrTOk jrTOk \ J jrTOk
(Vp.Oni, У J Onj ), то при инверсии дуги мы получим цикл у j Onj,
Vj%, Q, УрОп}. Неравенство (1) обеспечивает
простую проверку наличия пути Q.
Для выполнения допустимых элементарных перемещений второго типа в [2, с.93] используется топологическая сортировка графа. Ведь при перемещении операции P.Oni на другое TOk'е Mp oni \ TOk из группы назначенных с сохранением топологической сортировки графа допустимость сохраняется. В [2, с.93] не акцентировано внимание на способе сортироки. Можно предполагать, что там использовался наиболее популярный способ сортировки при помощи алгоритма Тарьяна, который можно выполнить за O(|V|) (где V - это множество вершин графа решения) времени и памяти, отсортировав вершины по времени выхода в поиске в глубину. Однако у такой сортировки есть одно слабое место. Для одного графа можно построить множество согласованных последовательностей его узлов при помощи этого алгоритма. Это получается за счет наличия узлов, не состоящих в отношении частичного порядка, которые могут быть установлены в различных позициях друг относительно друга. Воспользовавшись перемещением на базе такой сортировки, мы можем переместить операцию на позицию в очереди на другой машине, весьма отличающуюся по времени начала обработки от предыдущей. Такой подход не позволяет в полной мере реализовать требование о незначительности модификаций, вносимых перемещением в текущее решение. Для устранения этого недостатка был придуман специальный алгоритм сортировки, который позволил учитывать взаимное расположение операций, чьи узлы в графе не состоят в отношении частичного порядка. Тем самым удалось добиться того, что при выполнении перемещения операция устанавливается в очереди другого ТО на позицию, минимальное начальное время обработки на которой близко к исходному. Блок схема алгоритма представлена на рисунке 3.
Второй подход к получению допустимых перемещений базируется на работе [5, с.1]. В ней авторы решают вопрос построения допустимой окрестности из имеющегося допустимого решения для задачи FGBJS. Для этого авторами была разработана специальная теория «допустимой вставки» [5, с.1]. Применение это теории позволяет восстановить допустимость расписания после перемещения любой критической операции на любую позицию в графе, однако, в данной работе результаты теории применялись только к перемещениям без смены ТО. Причины будут указаны позже. В связи со схожестью задач FGBJS и FJSST
24
___________НАУЧНОЕ ПЕРИОДИЧЕСКОЕ ИЗДАНИЕ «IN SITU» №1/2015 ISSN 2411-7161_______________
(FGBJS является дальнейшим расширением задачи FJSST) мы можем распространить результаты, полученные для FGBJS, на задачу FJSST.
Рисунок 3 - Блок-схема нового алгоритма топологической сортировки
Для пояснения принципов работы «теории вставки» рассмотрим произвольное допустимое расписание s, образованное допустимой выборкой (Д, S) в дизъюнктивном графе задачи G = (V, A, E). Обозначим
через VD С VД множество узлов произвольной детали D в графе GД . Введем также множество R -
множество дизъюнктивных дуг выборки S не инцидентных операциям детали D, т.е. R = S ~s(vD ).
Обозначим через ЕД С E Д множество дизъюнктивных дуг графа G Д инцидентных операциям детали D,
г.е. ЕД = EД ^ё(уД).
Теперь допустим, что мы совершили перемещение к соседу S за счет инверсии критической дуги fyjnij, VDOni). Обозначим для краткости через f ДУгУ, обратную дуге , VDOni )= f.
Предположим, что в получившемся графе (VД , АД ^ (s — f )^ f) присутствует цикл Z. Поскольку
граф (jV Д, A ^ R) не содержит циклы, то Z О ЕД Ф 0 . Таким образом с циклами можно бороться
путем изменения выбора дизъюнктивных дуг только операций детали D. Следовательно, для устранения циклов необходимо переставить операции детали D на новые позиции на своих ТО, т.е. заново произвести
выборку из множества ЕД с учетом обязательного выбора дуги f Дизъюнктивный граф для такой задачи
25
НАУЧНОЕ ПЕРИОДИЧЕСКОЕ ИЗДАНИЕ «IN SITU»
№1/2015
ISSN 2411-7161
будет подграфом G Д и будет иметь вид GD = (vД , A Д U R, EД j (см. пример задачи вставки операции B на рисунке 4).
Назовем произвольную выборку T С ЕД вставкой детали D. Вставку T назовем ацикличной, если
граф (vд, A U R U T j не содержит циклы. Вставка T будет называться полной, если T О {в, е\ф 0 для всех дизъюнктивных пар дуг {в, в }, инцидентных операциям вставляемой детали. Вставка T будет
называться допустимой, если она полная и ацикличная. Очевидно, что вставка TS = S OSS^D ) будет допустимой.
С учетом представленных выше рассуждений мы можем сказать, что задача поиска допустимого соседа (м, s') для исходной допустимой выборки (Д, S) сводится к задаче поиска допустимой вставки-
соседа TS для вставки TS с учетом того, что TS должна обязательно содержать дугу f Согласно [5, с.13]
допустимую вставку TS можно определить по формуле
TS= Ф(f )u (ts -[ф(f )]j
Допустимая выборка S' для решения-соседа s' при этом будет иметь вид:
S ' = R U T'.
В формуле (2) Ф(f) - множество дуг, восстановленных на базе дуги f по алгоритму Closure и
получившее название «замыкание». Согласно [5, с.11] Ф С S' это множество дуг, которые как бы зависят от f и должны быть выбраны в любой допустимой вставке, содержащей f Алгоритм Closure - это алгоритм построения множества Ф по известной дуге f и информации о графе предыдущего расписания.
Алгоритм Closure
1 Установить счетчик Г = 1, П0 (f) = f, Ф([) = f ;
2 Цикл выполнять
3 Пr (f ■ )=п(п r-l (f j); r = r + 1;
4 Пока П r (f )=П r -l (f j
(2)
26
НАУЧНОЕ ПЕРИОДИЧЕСКОЕ ИЗДАНИЕ «IN SITU»
№1/2015
ISSN 2411-7161
5 ф(/ ) = ^r (f); ВеРнУть ф(/).
В алгоритме применяется оператор ^(f) , который определяется следующим образом:
f) = f U {e g ED) - f: (VD, AD U R U f U e) будет содержать цикл Z и Z э e].
Поясним работу алгоритма, рассмотрев процедуру добавления первой дуги к дуге f Если добавить к вставке f дизъюнктивную дугу е G ED — f и окажется, что в графе (vD, AD U R U f U e) появился
цикл, то дуга е при добавлении к f никогда не создаст цикл в графе (vD, AD U R U f U е).
Оператор [ ] в формуле (2) позволяет определить разброс множества. Термин «разброс множества» относится только к множествам состоящих из дизъюнктивных дуг. Например, для произвольного множества
K — ED) разброс K ]= {e g E) : {e,e}n K Ф о}.
Получается, что для построения допустимой вставки-соседа TS необходимо, используя алгоритм Closure, построить множество зависимых от f дизъюнктивных дуг ф(/) , а остальные дуги оставить из исходного расписания.
В [5, с.11] для получения Ф(/) предлагается задействовать в алгоритме Closure все дуги множества
ED) . При реализации этот процесс занимает очень много времени. Далее мы представим ускоренный
вариант подсчета ф( f) , т.к. мы будем использовать теорию вставки только для элементарных перемещений
— — D
первого типа. Введем в рассмотрение множество ED Oni — E)) дизъюнктивных дуг графа GD , входящих в операции [Оп1..Ош] детали D, или формально EDoni = {e G О S VciOnj): On1 < Onj < Oni}. Вместо n( f) введем 0'(f ):
Q'(f ) = f U{ : e g ED,Onj — f,(vD, AD U R U f U e) будет содержать цикл Z и Z э e}
Если вместо Q(f) использовать в алгоритме Closure Q(f), то становится верным следующее утверждение.
Утверждение. Вставка TS = Ф'(f)u(t S -[ф' (f)]) будет допустимой вставкой-соседом
rj,S
вставке T .
Доказательство. Для доказательства допустимостимости необходимо показать, что вставка
ф (f )u(ts — [ф' (f)]) полная и ацикличная. Полнота вставки очевидна из построения. Ацикличность вставки докажем от противного.
Вначале покажем, какие дуги будет содержать множество Ф'(f) после выполнения алгоритма Closure. Поскольку f исходящая дуга, то, как было доказано ранее, первой найденной алгоритмом дугой (если таковая будет), создающей цикл, должна быть входящая дуга e. После этого e будет внесена в Ф'(f).
Пользуясь аналогичными рассуждениями, можно утверждать, что в Ф'(f) будут попадать только
исходящие дуги e , т.е. e G ED) О S+ (v^ ), а следовательно ф'( f m+vd).
Теперь допустим, что вставка TS цикличная. Тогда в графе (vD , AD U R U TS ) должен присутствовать цикл, образованный входящей g и исходящей h дизъюнктивными дугами детали D, для
27
НАУЧНОЕ ПЕРИОДИЧЕСКОЕ ИЗДАНИЕ «IN SITU»
№1/2015
ISSN 2411-7161
простоты обозначаемый {g, h}. По построению Ф'(f) и т -[ф' 0 ■)]) ацикличные вставки. Также по построению ф (f )^(ts -[ф {f )])= 0. Тогда либо g Е Ф' (f) и h G (ts -[ф(f)]) , либо h еФ '(f) и g e(ts — [ф(f)]). Но как было рассмотрено ранее, Ф'(f )c£+(vD<), а следовательно
g e(tS -[ф'(f)]) и h Е Ф'f). Допустим что end(g)= VD Onj, а beg(h)= VD Oni. СЬга^ш
приведенным ранее рассуждениям о циклах при вставке детали в допустимый граф On1 < Onj < Oni .
Таким образом g Е E^ Oni. Но тогда g должна была быть проверена алгоритмом Closure. И если она дает цикл с какой-либо дугой принадлежащей Ф' (f), то g должна принадлежать Ф' (f), а g е [Ф (f )].
Следовательно g £
(ts -ф'(f)])
Мы пришли к противоречию. Конец Доказательства.
Рассмотрим основные достоинства и недостатки обоих подходов. Достоинства первого подхода очевидны: простой и быстрый способ получения и оценки допустимых решений-соседей. Недостатки подхода не столь очевидны. Во-первых, необходимо отметить, что указанный подход использовался как локальный поисковый алгоритм внутри метода GLS [2, с.91], и от него требовалась высокая точность, скорее высокая скорость поиска. Во-вторых, неравенство (1) работает только для внутренних дуг блоков критического пути. В результате применение фильтра (1) в общем случае некоторые решения будут отброшены по подозрению в возникновении цикла. Это влияет на широту покрытия окрестности.
Второй подход, основанный на «теории вставки», способен восстановить допустимость любого перемещения. Его основными недостатками являются «большой перебор» при работе алгоритма Closure. Для подхода отсутствуют быстрые методы оценки выполненного перемещения. Все это обязательно повлияет на скорость работы при решении задач больших размерностей.
Эффективность итоговой окрестности определяется балансом между скоростью и качеством поиска. С точки зрения практики применения важна высокая скорость работы (на практике как правило время поиска не должно превышать 5-10 минут) и достаточно высокое качество решения. В разработанном методе мы объединили оба подхода с целью достижения максимального эффекта. Это вылилось в применении зоны ответственности для каждого подхода. Таким образом, общая окрестность получилась как бы из трех независимых, в которых допустимость полностью обеспечивалась одним из трех указанных способов. Распределение по зонам относится к операциям критических блоков графа и показано на рисунке 5. Здесь зоны 1 и 3 - это множество операций блока критического пути, при выполнении смежного обмена которых допустимость обеспечивается соответственно первым и вторым подходами. Зона 2 - также обеспечивается первым подходом, но при выполнении элементарных перемещений второго типа.
Рисунок 5 - Определение зон применения подходов к допустимости
28
НАУЧНОЕ ПЕРИОДИЧЕСКОЕ ИЗДАНИЕ «IN SITU» №1/2015 ISSN 2411-7161
Таким разделением мы скомпенсировали недостатки подходов и объединили их достоинства, что в итоге позволило повысить скорость работы метода и улучшить качество за счет достаточной ширины зоны покрытия окрестностью.
Дополнительная информация по реализации метода. Для получения оценки выполнения перемещения первым способом см. [2, с.94]. Для второго использовался алгоритм Дейкстры. Для формирования списка запретов предлагается следующий способ. При выполнении смежного обмена, т.е. инвертировании дуги f
критического пути, в список должна заноситься обратная ей запрещенная дуга f вне зависимости от
подхода к допустимости перемещения. При выполнении перемещений второго типа (перемещение критической операции на другое ТО) нет очевидной инвертируемой дуги. Поэтому с обратным перемещением связывается дуга f исходного решения между предшественником (PM) в очереди и перемещаемой операцией. В случае отсутствия предшественника в качестве запрещенной дуги выбирается дуга f между перемещаемой операцией и наследником в очереди (SM). Реализовать запрещенный список
лучше всего в виде трехмерной матрицы, обозначим ее TL, размерностью m X ° X ° , где m - общее
количество ТО, а |°| - общее количество операций. После выполнения перемещения, запрещенная дуга f = tyD°oniViol]) заносится в TL следующим образом. На позицию [TOk][D.Oni][J.Onj] в TL заносится
текущее значение метки времени time. Метка time отслеживает номер текущей итерации поиска. Дополнительный целочисленный параметр TLLenght является настраиваемым параметром и отражает суть длины списка запретов, а по факту определяет время нахождения запрещенной дуги в списке. Таким образом,
чтобы понять запрещена дуга (например, f = (vD°niVjOOnj)) или нет, необходимо совершить проверку
следующего неравенства:
time — TL\T°k\_D Oni\j.Onj\ < TLLenght.
Если оно выполняется, значит на текущей итерации time дуга f все еще запрещена.
В алгоритме TSBJT используются дополнительные техники увеличения эффективности поиска - два критерия аспирации при отсутствии незапрещенных перемещений: (1) отбор по умолчанию, когда выбирается перемещение наугад из окрестности, и (2) отбор по улучшению, когда выбирается перемещение, улучшающее текущее лучшее решение. Первый критерий обеспечит некоторый шанс выбраться из хорошо исследованной области и перевести поиск к возможно новым решениям. Последний критерий дает возможность диверсифицировать поиск, т.е. перевести его не просто в какую-либо точку, а в более перспективную область.
В TSBJT применена еще одна техника - список элит. Подробно эта техника описана в [4, с.803].
На базе представленного метода поиска было разработано специализированное ПО, на которое были получены свидетельства о регистрации №2015612927 от 26.02.2015 г. Программа разработана на ОС WindowsXP SP1, для работы необходим Microsoft.NET FrameWork 4. Тип реализующей ЭВМ: Процессор Intel Core2Duo, ОЗУ 2GB. Язык программирования: C++, среда разработки VisualStudio2006 с применением Windows Form Application.. Разработанное ПО позволяет представить результаты в виде диаграммы Гантта для визуальной оценки (см. Рисунок 6).
Проверка разработанных моделей, методов, алгоритмов и ПО проводилось с использованием промышленных экспериментов, подтвердивших их работоспособность и адекватность. Проверка эффективности проводилась на специальных тестовых примерах, имитирующих реальные производственные ситуации, в сравнении с типовым производственным методом планирования на базе приоритетных правил.
29
НАУЧНОЕ ПЕРИОДИЧЕСКОЕ ИЗДАНИЕ «IN SITU»
№1/2015
ISSN 2411-7161
Рисунок 6 - Отображение результатов работы программы
Размерность специальных примеров была выбрана: 30х10, 30х20, 50х10, 50х20, 100х10, 100х20 - где первое число означает количество деталей, а второе - количество групп ТО в примере. Соответствующий пример имеет название ГУА<размерность примера>. Все примеры глобально были разделены на три группы по максимальному количеству ТО в группах: slow flexible - максимум 2 ТО в группе, medium flexible -максимум 3 ТО в группе и high flexible- максимум 5 ТО в группе. В каждой группе для каждой размерности было сгенерировано по пять различных примеров. Максимальное количество операций для деталей выбиралось равным 10. Максимальное количество групп ТО для операций выбиралось равным 1. Для 20% групп ТО времена переналадок устанавливались в диапазоне от 50-150 мин, для 50% групп ТО - в диапазоне от 10-20 мин, для 30% - в диапазоне от 30-50 мин. Для набора статистики каждый пример прогонялся по 100 раз.
Эффективность методики оценивалась по времени составленного расписания работы ТО Cmax1 в сравнении с результатами принятой на производстве методикой планирования Cmax2 и по затраченному времени на поиск решения в худшем, среднем и лучшем случаях. На рисунке 7а) для трех групп тестовых задач представлены результаты по формуле Delta=100%*(Cmax2 - Cmax1)/max(Cmax1,Cmax2). На рисунке 7б) показаны результаты по затраченному времени на поиск решения.
30
НАУЧНОЕ ПЕРИОДИЧЕСКОЕ ИЗДАНИЕ «IN SITU»
№1/2015
ISSN 2411-7161
Количество ТО о группе 1-3
40.00
30.00 -n>axD«<a
« -тхкЮеЛо
20.00
10.00 —♦—*
0.00 Размерность
30x10 30x20 50x10 50x20 100x10 100x20
Количество ТО в группе 1-3
100.00 80.00 60.00 / 'Ь —• -ntuTWne
40.00 medlrne5
20.00 // - frwiT ime
0.00 *
X \ X Размерность
Рисунок 7 а) - сравнение результатов вычислений двух методик, б) - время поиска решения по
разработанной методике
Как видно из результатов, предложенный метод на базе метаэвристического метода поиска с запретом, позволяет в худшем случае сократить время обработки поступившего в производство заказа на 10%, а в лучшем до 40% по сравнению с принятыми на производстве методиками планирования. При этом время поиска решения составило не более 5-10 минут. Это такое время, за которое поиск находил результат, отличающийся от наилучшего не более чем на 5%, что для 100% случаев достигалось за количество итераций не более 2000.
Учитывая все вышесказанное, считаю, что использование представленной модели и метода ее решения на базе метода поиска с запретом с новой окрестностью поиска в интеграции с АСУ ТП позволит создать более эффективную систему интеллектуальной поддержки принятия решений при реализации технологических процессов механообработки в ММП.
Список использованной литературы:
1. Бочкарев П.Ю., Васин А.Н. Планирование технологических процессов в условиях многономенклатурных механообрабатывающих систем. Теоретические основы разработки подсистем планирования маршрутов технологических операций.// Учебное пособие, Саратов, СГТУ, 2004 г. 136 с.
2. M. A. Gonzalez, C. R. Vela, and R. Varela. An efficient memetic algorithm for the flexible job shop with setup times. Twenty-Third International Conference on Automated Planning and Scheduling, 2013.
3. Zapfel, Gunther, Braune, Roland, and Bogl, Michael., 2010. A text book on Metaheuristic Search Concepts. Springer
4. E. Nowicki and C. Smutnicki, A fast taboo search algorithm for the job-shop problem, Management Science 42 (1996), no. 6, 797-812.
5. H. Groflin and A. Klinkert. A new neighborhood and tabu search for the blocking job shop. Discrete Applied Mathematics, 157(17):3643{3655, 2009.
©Иванов А.А., 2015
31