ПРАКТИКА ОРГАНИЗАЦИИ ПРОИЗВОДСТВА
DOI: 10.25065/1810-4894-2018-26-2-17-29 УДК 658.5.011
РЕШЕНИЕ ЗАДАЧИ ОПЕРАТИВНО-ПРОИЗВОДСТВЕННОГО ПЛАНИРОВАНИЯ МАШИНОСТРОИТЕЛЬНОГО ПРЕДПРИЯТИЯ С ПОМОЩЬЮ «ЖАДНОГО»
И ГЕНЕТИЧЕСКОГО АЛГОРИТМОВ
П.А. Аркин, Н.В. Муханова
Санкт-Петербургский политехнический университет Петра Великого Россия, 195251, Санкт-Петербург, ул. Политехническая, 29
Б.А. Овчар
Открытое акционерное общество «ЛЕНПОЛИГРАФМАШ» Россия, 197376, Санкт-Петербург, наб. реки Карповки, 5
Введение. Данная статья посвящена решению задачи оперативно-производственного планирования на машиностроительном предприятии Санкт-Петербурга, на основе построения математической модели с учетом применения «жадного» и генетического алгоритмов. Решение задачи оперативно-календарного планирования актуально, поскольку существующая ситуация «ручного» планирования обладает большим количеством недостатков и ограничивает прослеживаемость производственных процессов.
Данные и методы. Построена математическая модель, описывающая реальные производственные процессы машиностроительного предприятия. Модель имеет ряд допущений для уменьшения вычислительной сложности рассматриваемой задачи. В качестве целевой функции в модели выбрана минимизация длительности выполнения производственной программы. Для решения задачи предложены два алгоритма: «жадный» и генетический.
Полученные результаты. Апробация предложенной модели и алгоритмов производилась на разных производственных программах машиностроительного предприятия, различающихся сложностью изготавливаемых изделий. Было проведено сравнение с алгоритмами, используемыми на предприятии в настоящее время. На задачах небольшой размерности алгоритмы дают схожий результат, на задачах большой размерности решения получаются лучше на 20-25%.
Заключение. Разработанные методы могут быть использованы для внедрения в системы оперативного планирования и управления на предприятии, позволят эффективнее организовать оперативно-производственное планирование и сделают процесс принятие решений более гибким и оперативным, повысят качество принимаемых решений
Ключевые слова: оперативно-производственное планирование производства, математическое моделирование, «жадный» алгоритм, генетический алгоритм, управление машиностроительным предприятием
Для цитирования:
Аркин П.А., Муханова Н.В., Овчар Б.А. Решение задачи оперативно-производственного планирования машиностроительного предприятия с помощью «жадного» и генетического алгоритмов // Организатор производства. 2018. Т.26. №2. С. 17-29. DOI: 10.25065/1810-4894-2018-26-2-17-29
Сведения об авторах:
Павел Александрович Аркин (д-р экон. наук, [email protected]), профессор кафедры Процессы управления наукоемкими производствами. Наталья Викторовна Муханова (канд. экон. наук, [email protected]), доцент Высшей школы промышленного менеджмента и экономики. Богдан Андреевич Овчар ([email protected]), инженер по планированию производства ОАО «ЛЕНПОЛИГРАФМАШ».
On authors:
Pavel A. Arkin (Dr. Sci. (Economy), [email protected]), Professor at the Department Management Processes of High-Tech Industries.
Natalya V. Mukhanova (Cand. Sci. (Economy), [email protected]), Assistant Professor of Graduate School of Industrial Management and Economics.
Bogdan A. Ovchar ([email protected]), Production Planning Engineer PLC «LENPOLIGRAPHMACH».
SOLVING THE PROBLEM OF OPERATIONAL-PRODUCTION PLANNING OF A MACHINE-BUILDING MANUFACTURING COMPANY WITH THE HELP OF GREEDY AND GENETIC ALGORITHMS
P.A. Arkin, N.V. Mukhanova
Peter the Great St. Petersburg Polytechnic University 29, Politechnicheskaya St., St. Petersburg, 195251, Russia
B.A. Ovchar
Public limited company «LENPOLIGRAPHMASH» 5, nab. reki Karpovki, St. Petersburg, 197376, Russia
Introduction. The article is dedicated to present a solution of production planning and scheduling at machine-building manufacturing company in St. Petersburg, based on construction of a mathematical model, considering the application of greedy and genetic algorithms. This problem is critically important because nowadays situation with «manual» planning has a lot of problems in it and also it reduces traceability of production processes.
Data and Methods. The mathematical model describing real production processes of machine-building manufacturing company has been constructed. The model has several assumptions to reduce the computational complexity of the problem under consideration. As the objective in the model is the minimization of the duration of the production program execution (makespan) is chosen. To solve the problem, two algorithms are proposed: greedy and genetic.
Results. Approbation of the proposed mathematical model and algorithms was carried out on different production programs of the machine-building manufacturing company, which differ in complexity of the products manufactured. A comparison was made with the algorithms used in the production planning now. On small sized problems algorithms give a similar result, on problems of large dimension solutions are obtained better by 20-25%.
Conclusion. The developed methods can be used for implementation into operational planning and management systems at the company, it will allow to organize operational and production planning more efficiently and will make the decision-making process more flexible and efficient, improve the quality of decisions made
Key words: operational production planning and scheduling, mathematical modeling, greedy algorithm, genetic algorithm, management of machine-building manufacturing company
For citation:
Arkin P.A., Mukhanova N.V., Ovchar B.A. (2018). Solving the problem of operational-production planning of a machine-building manufacturing company with the help of greedy and genetic algorithms. Organizator proizvodstva = Organizer of Production, 26(2), 17-29. DOI: 10.25065/1810-4894-2018-26-2-17-29 (in Russian)
Введение (Introduction)
В настоящее время все отрасли промышленности встречают новую эру развития, предполагающую множество фундаментальных изменений. Конечные пользователи все чаще хотят видеть индивидуальные продукты, и в то же время жизненные циклы продуктов становятся все короче. Кроме того, негативное воздействие промышленности на окружающую среду становится все более серьезным и остро встает вопрос о снижении потребления природ-
ных ресурсов. Следовательно, необходимо создавать более гибкие, адаптивные, надежные, быстрые и эффективные системы управления производством [1]. Предприятия машиностроения также попадают под влияние общего тренда развития и должны научиться справляться с увеличением сложности изделий, сокращением времени разработки, вывода новых изделий на рынок и их производства, а также уменьшением затрат [2].
В качестве ответа на эти и другие проблемы выступает четвертая промышленная революция, одной из начальных ступеней которой можно считать внедрение интернета вещей и услуг в производственной среде - «Индустрию 4.0». «Индустрия 4.0» означает глубокую трансформацию для всей промышленности и «умные» фабрики будут одной из ключевых направлений развития. «Умные» фабрики представляют собой системы комплексных технологических решений, обеспечивающих изготовление продукции от заготовки до готового изделия по цене серийного производства, а также гибкое производство и массовую кастомизацию [3]. Главной особенностью является то, что они должны управлять постоянно возрастающей сложностью работы промышленных предприятий и в то же время быть более гибкими, надежными и экологичными. Для выполнения данных требований предполагается организация управлением физическими объектами в информационных системах, таких как MES и ERP [4].
Системы MES предназначены для диспетчеризации и оперативно-производственного планирования. Однако функционал оперативно-производственного планирования на множестве предприятий в системе MES используется слабо и большая часть работы, связанной с процессом планирования, выполняется вручную и основывается на опыте и знаниях сотрудников предприятия. Тем не менее, цифровизация процессов планирования важна не только для внедрения систем MES, но и для полноценного перехода к «Индустрии 4.0».
Вследствие этого в данной работе анализируется процесс оперативно-производственного планирования на одном из ведущих машиностроительных предприятий города Санкт-Петербург - ОАО «ЛЕНПОЛИГРАФМАШ».
Планирование операций является одним из наиболее важных вопросов оперативно-производственного планирования и управления производственными процессами [5]. Поиск наилучшего графика может быть как простым, так и очень сложным, в зависимости от типа производства, ограничений и показателей производительности [6]. Проблема планирования операций существует в различных областях, таких как: оперативно-производственное планирование, производственная и транспортная логистика, управление цепочками поставок,
управление проектами, гибкие системы производства [7]. Общая черта многих из этих проблем - отсутствие эффективных алгоритмов нахождения оптимального решения за полиномиально ограниченное время, в соответствии с размером задачи.
Таким образом, целью работы является разработка модели и алгоритмов, которые позволят эффективнее организовать оперативно-производственное планирование на предприятии и сделают процесс принятия управленческих решений более гибким и оперативным. Для достижения поставленной цели в работе предполагается описать производственную систему машиностроительного производства с помощью математической модели, разработать алгоритмы оперативно-производственного планирования, провести их апробацию на производстве и сравнить с текущими алгоритмами, используемыми на производстве.
Теория (Theory)
В задаче оперативно-производственного планирования или многостадийной задаче теории расписаний может быть условно выделено пять классов подзадач: «один рабочий центр (РЦ)» (single machine), «параллельные РЦ» (parallel machine), «открытая линия» (open shop), «потоковая линия» (flow shop), «рабочий цех» (job shop). [6] Задача «рабочий цех» является наиболее широко распространённой на практике, особенно в отраслях дискретного производства и заключается в нахождении оптимальной последовательности выполнения определенного набора работ на заданном наборе рабочих центров. Каждая работа состоит из некоторого количества операций, которые должны выполняться в заданном порядке. Каждая операция соответственно связана с определенной работой, рабочим центром и имеет все необходимое для ее выполнения. У данного класса задач есть расширение - flexible job shop(FJS). Его особенность заключается в гибкости производственной системы, где операция может выполняться на разных РЦ или один РЦ может выполнять разные операции [8]. В первом случае это достигается наличием идентичных машин, а во втором - использованием высокотехнологичных универсальных РЦ. Данный класс задач наиболее схож с задачами реального промышленного предприятия, и рассматриваемая в работе произ-
водственная система наилучшим образом подходит под описание.
Данный класс задач относится к NP-полным, он является одним из самых трудных задач теории расписаний с точки зрения вычислительной сложности. Поэтому он представляет большой интерес для исследователей, и существует большое количество разнообразных подходов к решению проблемы. В последних обзорных исследованиях [9,10,11] представлен анализ большинства существующих подходов.
Методы решения задач оперативно-производственного планирования образуют два класса: точные и эвристические методы. Эти классы могут быть классифицированы далее, как стохастические и детерминированные. Точные методы гарантируют нахождение оптимального решения, если оно существует, и, как правило, представляют некоторые показатели, если точное решение невозможно найти. Эвристические методы не гарантируют нахождение точного решения, но обычно обеспечивают определенную степень оптимальности в своих решениях. Стохастические методы включают вероятностные операции, поэтому они могут никогда не работать одинаково дважды по одной задаче, но в то же время два разных запуска могут привести к одинаковому решению. Детерминированные методы работают одинаково каждый раз при решении задачи планирования.
Среди наиболее распространенных методов решения задач оперативно-производственного планирования (ОПП) можно выделить следующие: математические модели, приводящие к оптимальному решению, эвристические методы, мета-эвристические методы, гибридные методы, моделирование, экспертные системы, правила приоритетов, поиск по окрестности, методы локального поиска, искусственные нейронные сети. Существует множество гибридных методов, которые сочетают характеристики разных классов и являются наиболее частым выбором исследователей задач ОПП класса FJS [10].
В рамках данной работы для решения задачи оперативно-производственного планирования были выбраны два метода: «жадные» алгоритмы и генетические. Далее представлен краткий обзор исследований, связанный именно с этими методами.
«Жадные» алгоритмы существуют достаточно давно, но по-прежнему вызывают интерес у исследователей [11,12,13].
Среди значимых работ по изучению генетических алгоритмов можно отметить [14]. Дэвис был первым, кто использовал генетические алгоритмы для решения задачи планирования производства и формировал предпочтительную последовательность операций для каждого РЦ. В [15] улучшили генетику, кодируя все операции каждого РЦ как предпочтительную последовательность символов. Авторы [16] провели сравнение генетического алгоритма с алгоритмом имитации отжига и продемонстрировали, что первый эффективнее. Как отмечено в [10] генетические алгоритмы применяются чаще всего среди исследований, не использующих гибридные методы.
«Жадные» и генетические алгоритмы использовали для решения задач оперативно-производственного планирования на различных оперирующих системах и их популярность обусловлена качеством получаемых результатов. Соответственно, использование в исследовании «жадных» и генетических алгоритмов является одним из наилучших решений для оперативно-производственного планирования, как с точки зрения их эффективности результатов на реальных задачах, так и с точки зрения возможности реализации.
Модель (Model)
Математическая модель оперативно-производственного планирования производства сильно зависит от особенностей рассматриваемой производственной системы и постановки задачи [17].
Задача может быть сформулирована следующим образом: заказ на производство состоит из конечного числа работ - деталей и сборочных единиц (ДСЕ), которые необходимо изготовить на имеющихся рабочих центрах (РЦ). РЦ объединяются по различным признакам в группы заменяемости. Изготовление каждой ДСЕ состоит из строгой последовательности технологических операций, каждая из которых может быть произведена на одном из РЦ соответствующей группы. Часть ДСЕ доступна к изготовлению в момент времени 0 - те ДСЕ, что не являются сборками и не требуют других ДСЕ для изготовления. РЦ могут обрабатывать только один тип ДСЕ одновременно. Изготовление ДСЕ на РЦ не прерывается после начала обработки. В
рассматриваемой модели время транспортировки ДСЕ между операциями не учитывается. Время подготовительно-заключительное постоянно и не зависит от выбранного РЦ из группы. РЦ не выходят из строя, т.е. доступны в течение всего рабочего времени. Условия предшествования изготовления ДСЕ задаются в виде ориентированного графа. Целевой функцией является минимизация общей продолжительности изготовления всех ДСЕ в производственной программе определенного размера - Стах. Для более четкого понимания математической модели введем соответствующе параметры и переменные:
Индексы:
7,к - индексы для ДСЕ (7 = 1,2,...В; к = 1,2,...В);
- индексы для операций (/ = 1,2,. ; g=
1,2,...-4);
т - индекс для РЦ (т = 1, 2,.. .М);
к - индекс последовательности операций, назначенных на т РЦ (к = 1, 2,.. ,,кт).
Параметры:
В - {В1, В2, ... В7} - множество ДСЕ;
М- {М1,М2, ... Мт} - множество РЦ;
Ji - количество операций по 7-ой ДСЕ;
О/ -/-ая операция над 7-ой ДСЕ;
Р/ - продолжительность выполнения _)-ой операции над 7-м ДСЕ, сек.;
а/т - булева переменная, которая принимает значение равное 1, если О/ может быть выполнена на т РЦ, 0 в противном случае;
Ь - большое число.
Переменные:
Б7/- - момент времени начала выполнения О/
сек.;
С/ - момент времени окончания выполнения О//, сек.;
С7 - момент времени окончания изготовления 7-го ДСЕ;
Стах - общая продолжительность изготовления всех ДСЕ, сек.;
кт - количество назначенных на т-й РЦ операций;
БМтк - начало рабочего времени для т-го РЦ по к очереди, сек.;
Х7/тк - булева переменная, принимающая значение равное 1, если О7/- назначена на т-е РЦ на к-ое место в очереди, 0 в противном случае;
У7/т - булева переменная, принимающая значение равное 1, если т-й РЦ выбран для исполнения О/, 0 в противном случае;
2к7 - булева переменная, принимающая значение равное 1, если 7-ая ДСЕ входит в состав к, 0 в противном случае.
Математическая модель:
Целевая функция (1) минимизирует общее время изготовления всех ДСЕ.
Стах ^ тт (1)
Ограничение (2) определяет время завершения изготовления всех ДСЕ.
С > С, V/ (2)
тах /
Ограничение (3) определяет время завершения изготовления каждого ДСЕ.
С/ >тах{Сг]}, V/,, (3)
Ограничение (4) определяет, что прерывания операций недопустимы и рассчитывает время завершения операций над ДСЕ.
С = +р,, (4)
Ограничение (5) задает строгое следование технологическому процессу изготовления ДСЕ.
Б, + Р, <8,+ , V/,V; = 1,2,...,, (5)
Дизъюнктивное ограничение (6), т.е. должно соблюдаться только одно ограничение. Оно означает, что операция О^ не должна быть выполнена до операции О7/ при условии, что они выполняются на одном РЦ. Другими словами, в выполнении операций на _)-м рабочем центре должна соблюдаться последовательность изготовления ДСЕ.
[(С% - Су - Р>щ ) * ХиткХ,щтк > 0] V
[(Су - С% - р, ) * > 0], V(/, к),(у, g), т, к
Ограничение (7) гарантирует, что изготовление сборочных ДСЕ не начнется до изготовления входящих в них ДСЕ.
т1п}- тах{С }* , V^h),(у,g) ^
Ограничение (8) заставляет каждый РЦ обрабатывать не более одного типа ДСЕ одновременно.
8Мтк + р, *Хтк <Мк+1 V/,у,т,к = 1,2,...,кт- (8)
Ограничения (9 и 10) определяют, что выполнение операции О7/ может начинаться только после того, как выбранный РЦ освободился и предыдущая операция О7/-1 завершена.
М < Б, + (1 - Хутк )* Ь
М + (1 - Хт )* Ь > Б,
V/,,, т, к (9) V/,,, т, к (10 )
Ограничение (11) назначает операции на РЦ для всех ДСЕ.
I ■>,
ЕЁ ] = 1, V™, к (11)
,=1 ] =1
Ограничение (12) определяет, что только на один РЦ из группы взаимозаменяемости назначается выполнение операции.
YY.. = 1, Vi, j
/ j ijm ' ' J
(12)
Ограничение (13) определяет подходящий РЦ для каждой операции.
] <аг]п V,],т (13)
Ограничение (14) гарантирует, что выполнение операции над ДСЕ будет происходить только один раз и в одном приоритете на РЦ.
Е Xjmk Yijm V i, j,
m
(14)
k=1
Ограничения (15, 16, 17) задают условия не отрицательности переменных.
Sj > 0, Vi, j
(15)
(16)
Vm, k (17)
Ограничения (18,19,20) задают значения бу-
Cj > 0, Vi, j
SMmk > 0,
левых переменных.
X m ^{0,1}, Yjm ^{0,1},
ZH е{0,1},
Vi, j, m, k V i,j, m Vi, h
(18)
(19)
(20)
В результате каждая операция каждой ДСЕ становится запланированной на конкретном РЦ, и у каждого РЦ есть последовательность назначенных операций.
Методы (Methods)
«Жадный» алгоритм (Greedy Algorithm)
Для решения поставленной задачи, как уже было упомянуто ранее, были выбраны «жадный» и генетический алгоритмы. Данный выбор основывается на том, что реальные производственные задачи оперативно-производственного планирования в большинстве случаев являются NP-трудными и использование точных методов для решения таких задач не является лучшим вариантом, ввиду их вычислительной сложности и времени, необходимого для нахождения оптимального решения. Поэтому для решения реальных практических задач планирования
производства лучшим вариантом является использование эвристических алгоритмов и нахождение квазиоптимальных решений.
Первый из предлагаемых в работе методов решения задачи оперативно-производственного планирования можно отнести к «жадным» алгоритмам. «Жадные» алгоритмы относятся к классу эвристических алгоритмов. Они основываются на принципе наилучшего выбора на каждом шаге с расчетом на то, что итоговое решение будет оптимальным. Иными словами, алгоритмы основываются на предположении, что локально-оптимальные решения приведут к оптимальному решению глобальной задачи. Данная эвристическая стратегия не всегда дает оптимальное решение, но, как правило, даёт хорошее приближение.
«Жадные» алгоритмы отличаются низкой вычислительной сложностью и подходят для довольно широкого класса задач, что было одним из факторов выбора метода решения задачи планирования в данной работе.
Использование «жадного» алгоритма предполагает разбиение сложной задачи на более простые - декомпозицию. Все подходы к решению могут быть классифицированы по признаку декомпозиции на три категории: на основе работ или изделий, на основе ресурсов или РЦ и на основе событий. В работе выбран подход, основанный на событиях. Подходы, основанные на событиях, разбивают проблему до уровня операций. Эти подходы определяют, какая работа должна выполняться на РЦ на каждом уровне операции. Вместо планирования всех операций, включенных в процесс изготовления изделия сразу, как в подходах, основанных на работе, операции планируются отдельно. Конечно, последовательности между операциями в процессе изготовления ДСЕ должны быть при этом сохранены. В [18] этот тип планирования называется вертикальной загрузкой.
В подходах, основанных на событиях, считается, что время изменяется от события к событию. Рассматриваемые события - это мероприятия, которые изменяют состояние системы и требуют принятия некоторых мер. В каждом случае учитывается текущее состояние системы и предпринимаются действия, такие как запуск новой операции на РЦ. Разбивая проблему до уровня события появляется больше возможностей для применения правил, которые
m=1
определяют приоритетность обхода РЦ и выбора одновременно доступных операций. В работе было выбрано правило, согласно которому приоритетной является операция с наиболее длинным временем изготовления последующих операций в дереве изделия - длинно-цикловая операция. Далее приведен «жадный» алгоритм, который выполняется в каждый момент совершения события.
Предложенный алгоритм состоит из 3-х шагов.
Шаг 1: Обход всех рабочих центров, которые могут выполнить какую-то операцию в текущий момент времени.
Шаг 2: Выбирается любой из РЦ, у которых очередь уведомлений не пуста, то есть существуют операции, которые можно выполнить, из списка доступных этому РЦ операций в текущий момент времени. В соответствии с «жадным» критерием и правилом приоритета выбирается операция. Если количество доступных операций меньше минимума из передаточной партии и требуемого количества, то РЦ не будет их планировать. В случае удовлетворения предыдущих условий и соответствия ограничениям математической модели операция занимает место в расписании и момент завершения операции фиксируется как событие системы. Если РЦ не может взять ни одну из доступных операций, он исключается из рассмотрения до момента наступления следующего события.
Шаг 3: Выбирается следующий РЦ и повторяется шаг 2. Если ни один РЦ не может взять операцию, то происходит завершение работы алгоритма и переход к следующему событию. В момент завершения события последующие по технологическому процессу операции добавляются в множество операций к выполнению и привязываются к последующим событиям, и все РЦ, которые могут их выполнять получают уведомления о появлении новых доступных операций.
В каждый момент времени, за исключением времени t = 0, алгоритм перебирает очень небольшое количество РЦ и доступных им операций. Данный подход существенно увеличивает быстродействие алгоритма по сравнению с подходами, основанными на работах или ресурсах. При планировании производственной программы, в которой задействовано 447 РЦ, среднее число РЦ в переборе составляло 8 РЦ.
Генетический алгоритм (genetic algorithm)
Генетический алгоритм является очень эффективным в контексте решения задач оперативно-производственного планирования. Генетический алгоритм основан на механизме естественной эволюции [18]. Он имитирует процессы воспроизводства и естественного отбора популяций для достижения эффективной и надежной оптимизации. Через процесс искусственных последовательных эволюций поколений находятся полезные адаптации для решения проблемы. Каждое поколение состоит из популяции хромосом, также называемых индивидуумами, и каждая хромосома представляет собой допустимое решение задачи.
Первое поколение может строиться различными путями, например, они могут формироваться случайно, на основе эвристических алгоритмов или каким-то другим методом. У каждого индивидуума оценивается результат решения, который обычно основывается на значении целевой функции и выполнению ограничений для рассматриваемой задачи.
Для создания новых популяций используются такие функции генетических алгоритмов, как воспроизводство, принцип «выживания наиболее приспособленного» и генетические операции рекомбинации (кроссинговер) и мутации. Операция воспроизводства включает в себя выбор хромосомы из текущей популяции и предоставления ей возможности выжить путем копирования ее в новую популяцию. Затем из этой популяции случайно выбирается одна или две хромосомы для запуска процедур кроссинго-вера и мутации, с помощью которых появляются новые хромосомы потомства. Кроссинговер или скрещивание заключается в замене двух случайно расположенных субхромосом двух спаривающихся хромосом. Мутация применяется к случайно выбранным генам хромосомы, некоторые случайные гены заменяется на другие из разрешенного интервала. Функция мутации не является обязательной для работы генетики, и в предложенном в работе алгоритме она не использовалась. Популяция потомков заменяет предыдущее поколение полностью или частично, и процесс повторяется для множества поколений с целью нахождения наилучшего индивидуума, который и будет являться наилучшим решением задачи оперативно-производственного планирования. Обычно у генетических алгоритмов нет очевидного критерия остановки, особенно для
больших задач, поэтому необходимо сообщить алгоритму, когда ему остановиться. В качестве критериев остановки могут выступать: время работы алгоритма, количество поколений, количество поколений без улучшения значения целевой функции или какой-то специфический критерий для конкретной задачи.
Наиболее простое описание генетического алгоритма представлено в [19]:
1. Построить начальную популяцию.
2. Рассчитать значение целевой функции для каждого индивидуума в популяции.
3. Повторять, пока не будут достигнуты критерии остановки алгоритма.
3.1. Выбрать наилучших индивидуумов для воспроизводства.
3.2. Создать новую популяцию с помощью генетических операций.
3.3. Оценить значение целевых функций потомков.
Предложенный в работе алгоритм имеет ряд отличий от классического генетического алгоритма. Перед запуском алгоритма задается количество особей в популяции и время работы алгоритма. Время работы алгоритма является критерием остановки. Процесс формирования начального поколения представляет собой следующую схему:
1. Формирование множества операций, которые можно выполнить, в начальный момент времени оно состоит из первых операции ДСЕ, для изготовления которых не нужны другие ДСЕ, то есть которые можно начать делать в начальный момент времени.
2. Случайно выбирается одна операция, и в качестве первого гена в хромосоме закладывается номер ДСЕ этой операции, в набор доступных операций попадает следующая операция по этой ДСЕ.
3. Для каждой ДСЕ отслеживается, необходимо ли для ее выполнения завершение других операций, так реализуется принцип последовательности изготовления. Если все операции по всем необходимым ДСЕ выполнены, в набор попадают первые операции уровня выше из дерева изделия.
4. Процесс повторяется, пока множество доступных операций не будет пустым.
Далее приведен пример формирования хромосомы на простом примере. Допустим, что у нас имеется три ДСЕ с номерами 1,2,3, при этом 3 - сборка, состоящая из 1 и 2. Для изготовления
каждой ДСЕ необходимо выполнить 2 операции. Выделим множество операций, которые мы можем запланировать. В начальный момент времени это первые операции для 1 и 2 ДСЕ, которые обозначим как 1.1 и 2.1. Случайно выбираем одну из них и в качестве гена помещаем в последовательность. При этом добавим следующую операцию и проверим не добавляются ли в множество операции других ДСЕ. Если случайно была выбрана операция 1.1, то в множество добавится операция 1.2. Далее для краткости: {множество} - операция, добавляемая в хромосому.
{1.1, 2.1} - 1.1;
{1.2, 2.1} - 2.1;
{1.2, 2.2} - 1.2;
{2.2} - 2.2;
{3.1} - 3.1;
{3.2} - 3.2.
Как только множество становится пустым, процедура формирования начального решения считается завершенной, в рассмотренном примере хромосома имеет вид «121233». За счет случайности мы можем получить различные решения, каждое из которых является корректным. После этого оценивается целевая функция каждого решения.
Далее рассмотрим процесс формирования нового поколения. Лучшая особь гарантированно попадает в новую популяцию без скрещивания. Иначе существует вероятность потерять лучшее решение, которое из-за скрещивания может стать хуже. Из генетических операций оставлен только кроссинговер, мутация не включена в алгоритм, так как при ее реализации увеличивается время на создание новой популяции и ухудшается качество получаемых решений за равные промежутки времени, в рамках периода в 24 часа.
Операция кроссинговера в алгоритме реализована и работает по следующей схеме: случайно выбирается два числа в промежутке от нуля до длинны хромосомы, распределение равномерное и они назначаются началом и концом субхромосомы, также случайно выбирается место для вставки в хромосоме. Далее представлен пример работы операции кроссинговера. Возьмем тот же пример и предположим, что мы выбрали 2 хромосомы:
2 1 1 2 3 3 и 1 2 1 2 3 3
Во второй случайным образом выделим субхромосому - пусть это 2 1 2. Вставим ее в случайное место первой особи - 2 (2 1 2) 1 1 2 3
3. Далее проходим по последовательности, исключая операции, которые мы в данный момент уже выполнили или еще не можем выполнить:
2 2 1 - остаётся без изменений;
2 - уже выполнили;
1 - оставляем в последовательности;
1 2 - уже выполнили;
3 3 - оставляем.
В итоге получаем новую особь: 2 2 1 1 3 3. Далее происходит оценка целевой функции -минимальное время изготовления всех ДСЕ, в рассматриваемой в работе задаче, и наилучшие особи участвуют в последующих этапах эволюционных улучшений до момента наступления критерия остановки.
Апробация результатов исследования (Results)
Для апробации работы ранее представленных алгоритмов был реализован механизм,
способный брать необходимые данные из информационной системы «1C: MES Оперативное управление производством», которая является основной системой производственного учета на предприятии. Данный механизм позволяет использовать реальные данные: о заказах на производство, спецификациях, технологических процессах, доступных рабочих центрах, графике их работы, количеству необходимых изделий к изготовлению, входящие в них ДСЕ и применяемость, штучное и подготовительно-заключительное время. Запуск алгоритмов производился по данным производства, однако с целью сохранения информации, являющейся коммерческой тайной предприятия и информации об изделиях для специальных условий эксплуатации в работе, в таблице 1 представлена переработанная информация об одном из запусков изделия.
Таблица 1
Исходные данные для задачи оперативно-производственного планирования №1
Table 1
Baseline data for operational-production planning problem №1
Наименование детали Номер операции Рабочие центры Время подготовительно - заключительное, сек. Время выполнения шт., сек.
ДСЕ №1 О„ 1 1500 3
О12 2 1500 92
О13 3,4,5 300 10
О14 6 1200 5
О15 7,8,9 3900 450
ДСЕ №2 О21 10 900 1
О22 11 0 3
О23 12 0 1
О24 7,8,9 2400 529
О25 13 1500 207
О26 7,8,9 1200 106
О27 14,15 2400 414
О28 3,4,5 300 92
ДСЕ №3 О31 3,4,5 300 69
О32 7,8,9 1500 212
О33 14,15 2400 551
О34 3,4,5 300 184
В рассматриваемом примере предполагается производственная программа на изготовление 400 изделий ДСЕ №3. ДсЕ №1 и ДСЕ №2 входят в состав ДСЕ №3 по одной единице. На основе
исходных данных был запущен «жадный» алгоритм. Результаты запланированной производственной программы представлены на графике Гантта на рисунке.
ДСЕ №3
ДСЕ №2
ДСЕ №1
>3 032 0 33 034
266,89
С >24 С hs 0 26 027 028
02i 022 023 li 2, 75
012 0,5
0„ 0,3 0,4 64,56
О 5 10 20 30 40 J0 60 70 80 90 100 110 120 130 140 150 160 ПО 180 190 200 210 220 230 240 250 260 270
Диаграмма Гантта выполнения производственной программы №1 Gantt chart of accomplishment of the production program №1
Для оценки качества получаемых результатов было выбрано несколько изделий различной сложности изготовления и проведено сравнение с алгоритмом реализованным в текущей версии «1C: MES Оперативное управление производством», используемой на предприятии. Используемый алгоритм можно отнести к классу «жадных» алгоритмов так же, как и первый алгоритм, представленный в данной работе, но отличительной особенностью является уровень декомпозиции. На предприятии уровнем декомпозиции алгоритма является работа или отдельное ДСЕ. Расписание разрабатывается путем планирования изготовления ДСЕ по порядку приоритетов. Все операции ДСЕ планируются одновременно. Такой подход может привести к тому, что РЦ простаивает в ожидании высокоприоритетного задания, в то время как другие ДСЕ ожидают очереди, даже если могут быть обработаны за время меньшее, чем период ожидания.
Для сравнения результатов разработанных методов решения задачи оперативно-производственного планирования с используемым на предприятии были отобраны и созданы 3 производственные программы. Первая представлена ранее с исходными данными в таблице 1, ее размерность 3x15, то есть 3 типа ДСЕ, каждая со
своим технологическим процессом, и 15 РЦ, для предприятия данная программа является небольшой по размеру. В качестве второй производственной программы выбрана квартальная программа одного из блоков основного изделия производства, размерность - 15х53. Третья производственная программа представляет собой набор ДСЕ, используемых в конечном изделии, также являющихся частью квартальной программы основного изделия, и проходящих через одни и те же РЦ, размерность задачи -21х70. Так как в работе рассматривается статическая задача, построение расписаний производилось с условием, что все рабочие центры свободны на всем горизонте планирования и другие заказы не попадают в систему и соответственно не могут оказать влияние на сроки изготовления. Заказы планировались от одной даты, как разработанные, так и в MES для исключения возможности несоответствия сроков из-за разного количества выходных дней, сокращенных смен в предпраздничные дни. Производство работает в односменном режиме, результаты сравниваются в разрезе количества календарных дней и часов, необходимых на выполнение производственной программы. Результаты сравнения алгоритмов представлены в табл. 2.
Таблица 2
Результаты алгоритмов по разным задачам оперативно-производственного планирования
Table 2
Algorithms results on different operational-production planning problems
Размерность задачи 1C: MES «Жадный» алгоритм Генетический алгоритм
Производственная 3х15 47 дней 47 дней 47 дней
программа №1 (267 ч.) (267 ч.) (267 ч.)
Производственная программа №2 15х53 67 дней (377 ч.) 67 дней (377 ч.) 67 дней (377 ч.)
Производственная программа №3 21х70 36 дней (201 ч.) 30 дней (161 ч.) 27 дней (152 ч.)
На основе полученных результатов можно сделать вывод, что разработанные алгоритмы работают правильно и могут запланировать выполнение производственной программы с той же точностью, как и текущий алгоритм, в случае если программа не очень сложная и очередей на РЦ практически не возникает. В производственной программе №3, в которой была задана более сложная с точки зрения взаимосвязей программа, разработанные алгоритмы показали результат лучше на 40 и 49 часов, что является практически 20-25 % сокращением общего времени изготовления. Таким образом, можно сделать вывод, что разработанные алгоритмы дают схожие результаты на простых задачах и лучшие результаты на более сложных.
Заключение (Conclusion)
На сегодняшний день оперативно-производственное планирование является важным и существенным механизмом эффективного управления производством. Следовательно, разработка и внедрение современных методов планирования поможет предприятиям повысить конкурентоспособность как за счет сокращения сроков изготовления, так и за счет полного контроля производства.
В данной работе рассмотрена математическая модель производственного процесса машиностроительного предприятия, выбраны наилучшие методы планирования и проведена их реализация. Представленные алгоритмы дают схожий результат с моделями, используемыми сегодня на предприятии на небольших задачах, и сокращение сроков на приблизительно 20-25 % на более сложных задачах, в примерах рассмотренных в данной работе.
В дальнейших исследованиях математическую модель планируется привести к динамическому типу, так как она предполагает возможность поступления новых заказов в систему без необходимости перепланировать всю производственную программу предприятия, а также усложнять дополнительными параметрами, как например учет загрузки оснастки и наличие материалов и комплектующих на складе. С точки зрения методов решения - будут рассмотрены другие метаэвристические методы решения и правила приоритетов.
Библиографический список
1. Куприяновский В.П., Добрынин А.П., Си-нягов С.А., Намиот Д.Е., Уткин Н.А. Трансформация промышленности в цифровой экономике - экосистема и жизненный цикл // International Journal of Open Information Technologies. 2017. Т. 5, № 1. С. 34-49.
2. Ингеманссон А.Р. Актуальность внедрения концепции «индустрия 4.0» в современное машиностроительное производство // Наукоёмкие технологии в машиностроении. 2016. Т. 1, №. 7. C. 45-48.
3. Боровков А.И., Клявин О.И., Марусева В.М. и др. Цифровая фабрика (Digital Factory) Института передовых производственных технологий СПбПУ // Трамплин к успеху [корпоративный журнал дивизиона «Двигатели для гражданской авиации» АО «ОДК»]. 2016. № 7. С. 11—13.
4. Wang S., Wan J., Li D., Zhang C. Implementing smart factory of Industrie 4.0: An outlook // International Journal of Distributed Sensor Networks, 2016. vol. 12. no. 1. pp 1-10.
5. Шнитин Ю.В., Левенцов В.А. Имитационное моделирование календарных графиков производства // Экономика и промышленная политика России. Труды III международной научно-практической конференции. 2004. С. 261267.
6. Pinedo M.L. Scheduling. Theory, Algorithms and Systems. - Springer International Publishing. 5th edition. 2016. - 670 pg.
7. Левенцов В.А. Модели и инструментальные средства составления календарных расписаний работы механообрабатывающих цехов: диссертация на соискание ученой степени кандидата экономических наук / Санкт-Петербургский политехнический университет. Санкт-Петербург, 2007.
8. Wojakowski P., Warzolek D. Research Study of State-of-the-Art Algorithms for Flexible Job-Shop Scheduling Problem // Technical Transactions, Mechanics, 2013.Vol. 1-M. 381-388. URL: http://www.ejournals.eu/pliki/art/2338 (дата обращения: 01.04.2018)
9. Lal V., Deva Durai C. A. A Survey on Various Optimization Techniques with Respect to Flexible Job Shop Scheduling // International Journal of Scientific and Research Publications. 2014. vol. 4. issue 2. pp. 359-365. URL:
http://www.ijsrp.org/research-paper-0214/ijsrp-p2659.pdf (дата обращения: 01.04.2018)
10. Chaudhry I.A., Khan A.A. A research survey: review of flexible job shop scheduling techniques // International Transactions In Operational Research. 2015. vol. 23. issue 3. pp. 551-591.
11. Arroyo J.E.C., Leung J.Y., An effective iterated greedy algorithm for scheduling unrelated parallel batch machines with non-identical capacities and unequal ready times. // Computers and Industrial Engineering. 2017. vol. 105. pp. 84-100.
12. Che A., Zeng Y., Lyu K. An efficient greedy insertion heuristic for energy conscious single machine scheduling problem under time-of-use electricity tariffs // Journal of Cleaner Production. 2016. vol. 129. pp. 565-577.
13. Belaid R., T'kindt V., Esswein C. Scheduling batches in flowshop with limited buffers in the shampoo industry. // European Journal of Operational Research. 2012. vol. 223. pp. 560-572.
14. Davis L. Job shop scheduling with genetic algorithms // Proceedings of the 1st International
Conference on Genetic Algorithms. 1985. pp. 136140.
15. Falkenauer E., Bouffouixm S. A genetic algorithm for job shop. // In IEEE international conference on robotics and automation. 1991. pp. 824-829.
16. Vollmann T.E., Berry W.L., Whybark D.C., Manufacturing Planning and Control Systems. -Irwin/McGraw-Hill. 4th edition. 1997. - 836 pg.
17. Левенцов В.А., Шнитин Ю.В. Имитационная модель составления календарных расписаний // Научно-технические ведомости СПбПУ. Естественные и инженерные науки. 2006. №4(46). С. 325-331.
18. Goldberg D.E. Genetic Algorithms in Search, Optimization, and Machine Learning. -Addison-Wesley. 1989. - 432 pg.
19. Ahmad R., Bath P. A. The Use of Cox Regression and Genetic Algorithm (CoRGA) for Identifying Risk Factors for Mortality in Older People. // Health Informatics Journal. 2004. vol. 10. pp. 221-236.
Поступила в редакцию - 4 мая 2018 г.
Принята в печать - 15 июня 2018 г.
References
1. Kupriyanovskij V.P., Dobrynin A.P., Sinyagov S.A., Namiot D.E., Utkin N.A. Transformation of industry in the digital economy - the ecosystem and the life cycle // International Journal of Open Information Technologies. 2017. T. 5, № 1. 34-49. (In Russ.)
2. Ingemansson A.R. The urgency of the introduction of the concept of "industry 4.0" in modern machine-building production // Naukoyomkie tekhnologii v mashinostroenii = Science intensive technologies in mechanical engineering. 2016. T. 1, №. 7. 45-48. (In Russ.)
3. Borovkov A.I., Klyavin O.I., Maruseva V.M. and others Digital Factory of the Institute of Advanced Production Technologies SPbPU // Tramplin k uspekhu [korporativnyj zhurnal diviziona «Dvigateli dlya grazhdanskoj aviacii» AO «ODK»] = Trampoline for Success. 2016. № 7. 11—13. (In Russ.)
4. Wang S., Wan J., Li D., Zhang C. Implementing smart factory of Industrie 4.0: An outlook // International Journal of Distributed Sensor Networks, 2016. vol. 12. № 1. 1-10. DOI: 10.1155/2016/3159805
5. Shnitin YU.V., Leventsov V.A. Imitation model of compilation of calendar schedule // Ekonomika i promyshlennaya politika Rossii. Trudy III mezhdunarodnoj nauchno-prakticheskoj konferencii = Economics and industrial policy of Russia. Proceedings of the III International Scientific and Practical Conference. 2004. 261-267. (In Russ.)
6. Pinedo M.L. Scheduling. Theory, Algorithms and Systems. - Springer International Publishing. 5th edition. 2016. - 670 pg.
7. Leventsov V.A. Models and tools for planning the work of mechano-working shops: a thesis for the degree of candidate of economic sciences / Sankt-Peterburgskij politekhnicheskij universitet = Peter the Great St.Petersburg Polytechnic University. Sankt-Peterburg, 2007. (In Russ.)
8. Wojakowski P., Warzolek D. Research Study of State-of-the-Art Algorithms for Flexible Job-Shop Scheduling Problem // Technical Transactions, Mechanics, 2013.Vol. 1-M. 381-388. Available at: http://www.ejournals.eu/pliki/art/2338 (accessed 01.04.2018).
9. Lal V., Deva Durai C. A. A Survey on Various Optimization Techniques with Respect to Flexible Job Shop Scheduling // International Journal of Scientific and Research Publications. 2014. vol. 4. issue 2. 359365. Available at: http://www.ijsrp.org/research-paper-0214/ijsrp-p2659.pdf (accessed 01.04.2018).
10. Chaudhry I.A., Khan A.A. A research survey: review of flexible job shop scheduling techniques // International Transactions In Operational Research. 2015. vol. 23. issue 3. 551-591. DOI: 10.1111/itor. 12199
11. Arroyo J.E.C., Leung J.Y. An effective iterated greedy algorithm for scheduling unrelated parallel batch machines with non-identical capacities and unequal ready times // Computers and Industrial Engineering. 2017. vol. 105. 84-100. DOI: 10.1016/j.cie.2016.12.038
12. Che A., Zeng Y., Lyu K. An efficient greedy insertion heuristic for energy conscious single machine scheduling problem under time-of-use electricity tariffs // Journal of Cleaner Production. 2016. vol. 129. 565-577. DOI: 10.1016/j.jclepro.2016.03.150
13. Belaid R., T'kindt V., Esswein C. Scheduling batches in flowshop with limited buffers in the shampoo industry // European Journal of Operational Research. 2012. vol. 223. 560-572. DOI: 10.1016/j.ejor.2012.06.035
14. Davis L. Job shop scheduling with genetic algorithms // Proceedings of the 1st International Conference on Genetic Algorithms. 1985. 136-140.
15. Falkenauer E., Bouffouixm S. A genetic algorithm for job shop // In IEEE international conference on robotics and automation. 1991. 824-829.
16. Vollmann T.E., Berry W.L., Whybark D.C., Manufacturing Planning and Control Systems. - Ir-win/McGraw-Hill. 4th edition. 1997. - 836 pg.
17. Leventsov V.A., Shnitin YU.V. Simulation model of scheduling // Nauchno-tekhnicheskie vedomos-ti SPbPU. Estestvennye i inzhenernye nauki. = St. Petersburg Polytechnic University Journal of Engineering Science and Technology. 2006. №4(46). 325-331. (In Russ.)
18. Goldberg D.E. Genetic Algorithms in Search, Optimization, and Machine Learning. - Addison-Wesley. 1989. - 432 pg.
19. Ahmad R., Bath P. A. The Use of Cox Regression and Genetic Algorithm (CoRGA) for Identifying Risk Factors for Mortality in Older People. // Health Informatics Journal. 2004. vol. 10. 221-236. DOI: 10.1177/1460458204042236
Received - 4 May 2018.
Accepted for publication - 15 June 2018.