MES - АЛГОРИТМ И АРХИТЕКТУРА 1 2 Исмаилов С.Р. , Морозов А.В.
1Исмаилов Сергей Рамизович - магистрант, направление: информатика и вычислительная техника, кафедра автоматизированных систем обработки информации и управления;
2Морозов Александр Васильевич - кандидат технических наук, доцент, Астраханский государственный технический университет, г. Астрахань
Аннотация: в данной статье рассмотрен подход к реализации алгоритма для составления производственного расписания. Представлена модель генетического алгоритма. Произведен анализ эффективности между жадным алгоритмом, генетическим и алгоритмом муравьиной колонии.
Ключевые слова: MES, составления производственного расписания, генетический алгоритм.
Мир сейчас переживает очередной этап развития, который называют «Четвертой промышленной революцией». Если говорить о производстве, то в нем сформулирована концепция «Индустрия 4.0», которая говорит о переходе к полностью цифровому предприятию, в котором управление производственными и бизнес-процессами выполняется в значительной степени без вмешательства человека с использованием технологий искусственного интеллекта. Заводы, которые быстрее сумеют перестроиться на новую модель производства, получат огромное преимущество: повышение качества выпускаемой продукции, сокращение затрат и сроков изготовления. Для тех российских предприятий, которые хотят остаться конкурентоспособными, необходимо включаться в эту гонку уже сейчас, поскольку иностранные конкуренты стартовали раньше и уже реализуют отдельные элементы цифрового производства. И начать необходимо с упорядочивания информации на предприятии и перевода управления в цифровую форму, то есть с комплексной автоматизации.
На самом верхнем уровне автоматизации находятся системы класса ERP (Enterprise Resource Planning), задача которых заключается в интеграции информации, планировании и организации взаимодействия всех бизнес-процессов предприятия -финансов, кадров, производства, складов и управления запасами, продажи и маркетинга. При этом в отдельных направлениях могут применять и другие классы систем, являющихся частью общей ERP-системы либо интегрированных с ней, например, CRM (Customer Relationship Management) для продаж и маркетинга. Основная задача при внедрении ERP-систем - организация деятельности предприятия как единого интегрированного «организма». С точки зрения производства в ERP осуществляется стратегическое управление.
В производственном секторе выделяют следующие основные классы систем:
MES (Manufacturing Execution System) - система управления производством. Системы класса MES предназначены для управления производственными процессами на уровне цеха / производственного участка.
PDM/PLM (Product Data Management / Product Lifecycle Management) - система управления данными об изделиях / жизненном цикле продукта. Данный класс систем предназначен для управления инженерно-технической информацией о продукции на всех этапах, начиная от проектирования и разработки и заканчивая выпуском.
EAM (Enterprise Assets Management) - система управления активами предприятия. Системы данного класса направлены на управление эксплуатацией, техническим обслуживанием и ремонтом оборудования.
SCADA/MDC/MDA (Supervisory Control and Data Acquisition, Machine Data Collection/Machine Data Acquisition) - системы управления непосредственно технологическими процессами производства, напрямую интегрированные с оборудованием и позволяющие получать данные о его работе в реальном времени.
Очевидно, что наибольшую выгоду предприятие получит в случае комплексной автоматизации деятельности, что не всегда может быть возможным в силу материальны, временных или кадровых ограничений. Но даже поэтапная автоматизация с постепенным внедрением отдельных классов взаимодействующих систем или подсистем может принести значительную выгоду.
В данной статье мы подробнее остановимся на цифровом производстве, в котором ключевую роль играют системы класса MES.
Основная цель автоматизации управления производством - повышение его эффективности. Зачастую производственный цех для менеджмента выступает в виде «черного ящика», в процессах которого может более -менее ориентироваться только начальник цеха. Реальные производственные возможности, выработка операторов, планирование техобслуживание и ремонтов - в силу отсутствия актуальной и точной информации все эти сведения носят приблизительный характер, что приводит, в свою очередь, к тому, что планирование выполнения заказов носит крайне приблизительный характер, подлежащий постоянному пересмотру. Планирование операций в цеху, выполняемое диспетчерами чаще всего с использованием Excel, требует затрат нескольких человеко-часов, так что ни о какой оперативности или оптимальности и говорить не приходится. В рамках повышения эффективности производства посредством внедрения MES можно выделить следующие ключевые задачи:
- Повышение «прозрачности» производственных процессов. MES-системы позволят сделать производство открытым для наблюдения, анализа и управления, позволяя в любой момент времени отследить выполнение операций по конкретному виду продукции/заказу, загрузку оборудования и работу персонала.
- Снижение непроизводственных издержек. Автоматизация управления производственными процессами позволяет сократить затраты на планирование, перепланирование и анализ производства, уменьшить простои оборудования, существенно снизить бумажный документооборот на цеховом уровне, сократить количество незавершенной продукции.
- Сокращение производственного цикла и срока исполнения заказов. MES-системы позволяют планировать производственные операции, оптимизируя время прохождения заказов на производстве, снижая затраты времени на хранение и транспортировку изделий в процессе производства, распределяя операции между оборудованием для более эффективного его использования.
Статистика показывает, что внедрение MES на производстве ведет к увеличению доходности, производительности и производственной эффективности предприятия.
Промышленный стандарт ISA-95, разработанный Международным обществом по автоматизации, хотя и не использует термин MES, по факту более детально описывает основные модели и функции оперативного управления производством. Стандарт ISA-95 является общепринятым в мировой промышленности при разработке и внедрении систем оперативного управления производством. Что особенно важно для российских предприятий, несколько лет назад данный стандарт нашел свое воплощение в виде семейства стандартов ГОСТ Р МЭК 62264 «Интеграция систем управления предприятием».
Данный стандарт определяет иерархическую структуру производственного предприятия в виде 5 уровней, на каждом из которых выполняется планирование и управление с определенным уровнем детализации и сроками. Основной функционал систем класса MES в данном стандарте описан на уровне 3.
Рис. 1. Описание модели ISA-95
ISA-95 описывает модели функций и данных для информационного обмена между производственными системами различных уровней и подсистем уровня управления производственными операциями и позволяет существенно снизить риски и сократить затраты на интеграцию систем MES в информационную инфраструктуру предприятия.
Основные функции MES систем относятся к управлению производственной деятельностью, то есть непосредственно производственными операциями. Конечно, в полной мере эти функции невозможно реализовать без взаимодействия с такими видами деятельности, как управление запасами (для производства требуются материалы), управление персоналом (для управления оборудованием требуются операторы), управление техническим обслуживанием (оборудование требует технического обслуживания и ремонта) и управление качеством. Производство невозможно без подробных данных о производимой продукции и технологических процесса. Данный функционал может быть обеспечен как в рамках отдельных модулей MES, так и посредством отдельных интегрированных систем, причем зачастую границы взаимодействия этих систем достаточно размыты и на различных предприятиях могут реализовываться по-разному. Но все же ключевой функционал MES реализуется в управлении производственными расписаниями и диспетчеризации производства.
Планирование производства на предприятии, как правило, начинается на верхнем функциональном уровне, где составляются планы по выпуску продукции на средне- и долгосрочный период. Это задача систем уровня ERP. Далее эти планы должны детализироваться, распределяясь по отдельным заводам и цехам. Многие специалисты относят данную задачу межцехового планирования к функциям систем класса APS. И, наконец, внутри каждого отдельного цеха ставится задача оперативного планирования - составления детального, пооперационного плана
выполнения производственного задания в краткосрочный период (неделя, день, смена). Именно эту задачу решают системы класса MES.
При составлении цехового расписания должны учитываться значительное количество факторов и ограничений: возможности и доступность оборудования и персонала, наличие необходимых материалов, необходимость переналадки оборудования для выполнения определенных типов операций, особенности технологических процессов на отдельных видах оборудования, в частности, возможность параллельной загрузки и т.д. Кроме составления расписания MES-система должна контролировать его выполнение и оперативно корректировать при выявленных отклонениях, например, запаздывании выполнения операций, поломках оборудования либо поступлении новых срочных заказов.
Задачи по составлению расписания принимают особую сложность на позаказных производствах дискретного типа, в частности, машиностроительных предприятиях. Зачастую производственное расписание на смену может включать несколько десятков тысяч операций, которые необходимо оптимально распланировать с учетом различных критериев: минимизация срока исполнения заказов, равномерность загрузки оборудования, минимизация переналадок оборудования, минимизация стоимости производственных операций и др. При этом составляться и корректироваться данное расписание должно в режиме реального времени, так как в процессе производства постоянно возникают различные внештатные ситуации, непредусмотренные планом. Решение данной задачи требует, как правило, применения сложных эвристических оптимизационных алгоритмов и больших вычислительных мощностей, в частности, серверной инфраструктуры.
Несмотря на значительное количество факторов, которые необходимо учитывать при составлении производственного расписания, в основе его лежит задача оптимизации класса Flexible Job-Shop Scheduling (FJSP), которая относится к классу NP-полных и не может быть решена переборным методом. Для решения данной задачи исследователями предлагались различные методы: на основе методов целочисленного программирования и локального поиска альтернативных операций [1], эвристические алгоритмы [3], [5], методы поиска на графе [6].
Хорошие результаты для решения задач теории расписаний в целом и FJSP в частности демонстрируют биоинспирированные алгоритмы. В литературе описаны различные варианты применения генетических алгоритмов [7], алгоритма муравьиной колонии [2], [4], метода роя частиц, а также различных их комбинаций [8].
В данной статье рассматривается задача составления производственного расписания в системе MES для позаказного и мелкосерийного дискретного производства, что требует учета ряда дополнительных факторов. В частности, использование алгоритма в реально действующей MES-системе потребует реализации процесса планирования с учетом существующей оперативной обстановки в цехе (стартовавшие и незавершенные операции, состояние рабочих центров), что налагает дополнительные ограничения на алгоритм. Кроме того, помимо минимизации длительности производственного цикла, которая выбирается в качестве основного критерия в большинстве исследований, при оптимизации необходимо также учитывать такие критерии, как процент выполняемых в срок заказов, сокращение незавершенного производства. Предлагается решение для составления производственного расписания на основе модифицированного генетического алгоритма, которое может быть интегрировано в MES с учетом обратной связи от производства.
Генетические алгоритмы представляют собой семейство биоинспирированных стохастических эвристик на основе метода полу-случайного поиска, основанного на принципах существующего в природе эволюционного процесса. Генетические алгоритмы работают с семейством решений, каждому решению - особи назначается значение в соответствии с целевой функцией оптимизационной задачи. Метод
естественного отбора служит для выбора особей из семейства. На этапе воспроизводства применяются методы скрещивания и мутации решений - особей, позволяющие получить новые, более приспособленные особи. При разработке генетического алгоритма для решения задачи оптимизации необходимо решить такие задачи, как представление решений в виде цепочки генов, формулировку и метод вычисления целевой функции, определение и реализация генетических операторов.
Исходные данные
Обозначим заказы на производство продукции как Л, каждый из которых включает несколько производственных операций 01-], которые могут выполняться на определенных рабочих центрах Як.
В качестве примера рассмотрим исходные данные, приведенные в таблицах 1 и 2.
Таблица 1. Исходные данные по операциям
Заказ Операции Длительность
Л 01-1 2
01-2 4
01-3 1
01-4 2
12 02-1 3
02-2 4
13 03-1 1
03-2 5
03-3 2
Таблица 2. Исходные данные по доступным ресурсам
Операция Ю Ресурс И Я3 Я4
01-1 * *
01-2 * *
01-3 * *
01-4 * *
02-1 *
02-2 * *
03-1 * *
03-2 *
03-3 * *
Кодирование хромосом
Эффективное представление решений - последовательности технологических операций на рабочих центрах - в виде хромосом является важным этапом в обеспечении эффективности генетического алгоритма. В данном проекте используется представление хромосомы в виде последовательности операций и соответствующей последовательности рабочих центров для их исполнения.
Для представленного примера рассмотрим строку вида [231211313]. Каждая цифра подразумевает операцию из соответствующего заказа, т.е. 1 означает операцию заказа Л, 2 означает операцию заказа 12, а 3 означает операцию заказа 13. Поскольку заказ Л содержит 4 операции, 1 в строке хромосомы встречается 4 раза. Каждое повторение
цифры номера заказа в строке означает соответствующую операцию из заказа, т.е. третье повторение значения 1 означает операцию 01-3, первое повторение значения 2 означает операцию 02-1 и т.д. При декодировании операция назначается на как можно более раннее время на первый подходящий рабочий центр. Таким образом, приведенная в примере строка-хромосома [231211313] подразумевает следующую последовательность выполнения операций, распределенных по рабочим центрам:
Таблица 3. Распределение операций по ресурсам (рабочим центрам)
2 3 1 2 1 1 3 1 3
Операция 02-1 03-1 01-1 02-2 01-2 01-3 03-2 01-4 03-3
РЦ Ю И И Я3 Я4 И Я3 Ю Я3
Данному примеру будет соответствовать следующая диаграмма Ганта:
и 02-1 01-4
К2 03-1 01-1 01-3
КЗ 02-2 03-2 03-3
К4 01-2
Рис. 2. Диаграмма Ганта для примера решения
Создание начальной популяции
При создании популяции необходимо отразить корректные взаимосвязи между операциями с учетом ограничений выполнения предварительных операций, а также времени начала и завершения операций. Для операции, которые относятся к заказу, планируемому «вперед», ограничениями выступают время начала/окончания предыдущих операций. Для заказов, планируемых от даты завершения («назад»), ограничивающими факторами операций являются время начала/окончания последующих операций. Можно определить следующие правила размещения операций:
- Операция должна размещаться после всех предшествующих операций, если она принадлежит к заказу, планируемому от даты старта («вперед»).
- Операция должна быть размещена перед всеми своими последующими операциями, если она относится к заказу, планируемому от даты завершения («назад»).
- Для заказов, планируемых от даты завершения, в случае, если имеются стартовавшие операции, должны применяться правила для заказов, планируемых от даты старта.
С учетом описанных правил, в разработанном алгоритме применяется следующая процедура инициализации:
1. Выбираются стартовавшие операции и последовательно размещаются в случайной последовательности.
2. Формируется множество доступных операций 0А. Выбираются операции, следующие за стартовавшими и размещенными на шаге 1, и помещаются в 0А. Затем в 0А добавляются операции, относящиеся к планируемым «вперед» заказам, у которых нет предыдущих операций, а также операции, относящиеся к планируемым «назад» заказам и у которых нет последующих операций. После формирования множества из него выбирается случайная операция, добавляется в хромосому, размещается и удаляется из множества доступных.
3. Если выбранная на предыдущем шаге операция принадлежит к заказу, планируемому «вперед», выбираются все ее последующие операции и добавляются в множество 0А. Если выбранная на предыдущем шаге операция принадлежит к заказу,
планируемому «назад», выбираются все ее предыдущие операции и добавляются в множество 0А.
4. Шаги 2-3 повторяются до тех пор, пока в множестве 0А не останется операций.
Фитнесс-функция
Для каждой хромосомы рассчитывается значение фитнесс-функции, посредством которого определяется, какие хромосомы будут выбраны для воспроизводства и выживания в следующем поколении. Фитнесс-функция выбирается в соответствии с целевой функцией оптимизации - временем исполнения заказов, стоимостью и т.д. Чем выше значение фитнесс-функции, тем выше вероятность того, что хромосома будет выбрана для воспроизводства или выживания.
Скрещивание
Процесс скрещивания используется для получения пары хромосом-потомков из пары родительских хромосом. Используется два механизма скрещивания:
1. Случайным образом формируется двоичная последовательность (пермутация) той же длины, что и хромосома, каждый элемент которой определяет, в какой последовательности из какой родительской хромосомы будут браться гены для производства потомства.
2. Для каждой операции из общего списка на основе вектора определяется ее позиция в потомке 1: 0 в векторе пермутации означает, что позиция данной хромосомы в потомке 1 определяется ее позицией в родителе 1; 1 в векторе пермутации означает, что позиция данной хромосомы в потомке 1 определяется ее позицией в родителе 2. Для формирования потомка 2 значения 0 и 1 в векторе пермутации обозначают соответственно родителей 2 и 1. Ресурсы для выполнения операций при скрещивании выбираются также из соответствующих родительских хромосом. Пример скрещивания приведен на рисунке:
Родитель 1 02-1 03-1 01-1 02-2 01-2 01-3 03-2 01-4 03-3
Родитель 2 03-1 01-1 03-2 02-1 02-2 01-2 03-3 01-3 01-4
Пермутация 011001011 01-1 01-2 01-3 01-4 02-1 02-2 03-1 03-2 03-3
Потомок 1 02-1 03-1 03-2 01-1 02-2 01-2 03-3 01-3 01-4
Потомок 2 03-1 01-1 02-1 02-2 01-2 01-3 03-2 01-4 03-3
Рис. 3. Процедура скрещивания (пример)
Мутация
Операция мутации крайне важна для успешной реализации генетического алгоритма, поскольку она расширяет пространство поиска решений и позволяет избежать сходимости алгоритма в локальном оптимуме.
Операция мутации в разработанном алгоритме реализуется следующим образом:
1. Случайным образом выбираются два заказа Л и 12
2. Из хромосомы, выбранной для мутации, выбираются операции, принадлежащие выбранным заказам Л и 12. Предположим, что первая операция заказа 12 расположена раньше первой операции заказа Л, тогда операции заказа Л будут перемещены перед операциями заказа 12. Последовательность операций в этих двух заказах и положение других операций, не относящихся к заказам Л и 12, не изменяется. Пример мутации показан на рисунке:
Выбранные заказы: Л, J3
Хромосома 02-1 03-1 01-1 02-2 01-2 01-3 03-2 01-4 03-3
I
Мутация 02-1 01-1 01-2 02-2 01-3 01-4 03-1 03-2 03-3
Рис. 4. Пример процедуры мутации
На рисунке 5 показана блок-схема полученного алгоритма с учетом необходимости его встраивания в систему внутрицехового планирования:
Рис. 5. Блок-схема генетического алгоритма
Анализ
Для анализа эффективности предложенного алгоритма был проведен вычислительный эксперимент на различных входных данных. Результаты работы сравнивались с жадным алгоритмом и алгоритмом муравьиной колонии. Для оценки эффективности алгоритмов при различной размерности данных испытания проводились на различном количестве заказов, каждый из которых включал в среднем 10 операций. Сравнение алгоритмов осуществлялось на основе двух показателей:
- N1 - количество заказов, для которых в составленном расписании не нарушаются сроки исполнения;
- Т - общая длительность составленного расписания, начиная от старта первой операции и заканчивая завершением последней.
В таблице 3 представлены усредненные результаты сравнительного анализа алгоритмов:
№ Количество заказов Количество операций Жадный алгоритм Алгоритм мураьвиной колонии Генетический алгоритм
Nt T Nt T Nt T
1 5 65 5 2275 5 2161 5 2166
2 10 99 8 2772 10 2523 10 2578
3 15 154 15 4928 15 4484 15 4435
4 20 195 19 5460 19 4969 20 4861
5 25 249 23 7470 24 6723 25 6798
6 30 304 30 10032 30 9330 30 9430
7 35 347 33 11368 35 10686 35 10600
8 50 498 46 14442 50 12998 49 12720
9 75 747 72 20916 73 19452 75 19870
10 100 997 93 23928 97 22253 98 22264
11 150 1495 136 40365 147 37539 149 36732
12 200 2004 182 42084 199 38876 200 37876
Результаты сравнения показывают, что все три алгоритма дают примерно одинаковые результаты на данных малой размерности. С увеличением размерности данных показатели жадного алгоритма несколько ухудшаются, достигая разницы порядка 10-15%, при этом алгоритм муравьиной колонии и генетический алгоритм генерируют примерно равноценные расписания. Но, как показали испытания, на больших размерностях алгоритм муравьиной колонии обладает существенно худшей производительностью: для порядка двух тысяч операций время поиска решения для генетического алгоритма составило около 3 секунд, для алгоритма муравьиной колонии порядка 15-20 секунд. Это приводит к невозможности использовать алгоритм муравьиной колонии для составления производственного расписания в режиме реального времени, и доказывает эффективность предложенного алгоритма.
Список литературы
1. Choi I.C.&Choi D.S., 2002. A local search algorithm for job shop scheduling problems with alternative operations and sequence-dependent setups, Computers&Industrial Engineering. 42. 43-45.
2. Gao J., Sun L. Wang L. and Gen M., 2008. A hybrid genetic and variable neighborhood descent algorithm for flexible job shop scheduling problems, Computers & Operations Res. Vol. 35. 2892-2907.
3. Chen J.C., Chen K.H., Chen J.J. Chen Wu and Chen C.W., 2008. A Study of the Flexible Job Shop Scheduling Problem with Parallel Machines and Reentrant Process, International Journal of Advanced Manufacturing Technology, Vol. 39. Pp. 344-354 (SCI).
4. L. De Giovanni, F.Pezzella, 2010. An Improved Genetic Algorithm for the Distributed and Flexible Job-shop Scheduling problem, European Journal of Operational Research. 200. 395-408.
5. Yazdani M., Amiri M., Zandieh M., 2010. Flexible job-shop scheduling with parallel variable neighborhood search algorithm, Expert Systems with Applications. 37 (1). 678687.
6. Menc'ia R., Sierra M., Menc'ia C., Varela R., 2014. A genetic algorithm for job-shop scheduling with operators enhanced by weak lamarckian evolution and search space narrowing. Natural Computing. 13 (2):179-192.
7. Par B.J., Choi H.R., Kim H.S., 2003. A hybrid genetic algorithms for job shop scheduling problems. Computers and Industrial Engineering 45. 597-613.
8. Xing L.-N., Chen Y.-W., 2008. Double Layer ACO Algorithm for the Multi-Objective FJSSP. Journal of New Generation Computing. 26. 313-327.
СИСТЕМА АДАПТИВНОГО ВНУТРИЦЕХОВОГО
ПЛАНИРОВАНИЯ ПРОИЗВОДСТВА В РЕАЛЬНОМ ВРЕМЕНИ
1 2 Исмаилов С.Р. , Морозов А.В.
1Исмаилов Сергей Рамизович - магистрант, направление: информатика и вычислительная техника, кафедра автоматизированных систем обработки информации и управления;
2Морозов Александр Васильевич - кандидат технических наук, доцент, Астраханский государственный технический университет, г. Астрахань
Аннотация: в данной статье рассмотрен подход к решению задачи оперативного управления производством, где кратко описана задача внутрицехового планирования. Описана проблематика использования существующих решений. Предложен подход к решению поставленной задачи.
Ключевые слова: MES, внутрицеховое планирование, многоагентная система.
Введение
Оперативное управление производством - важная задача, которая на подавляющем большинстве российских предприятий в настоящий момент решается вручную или же неэффективными средствами автоматизации [1].
Основная часть
Задача внутрицехового планирования относятся к классу NP-сложные т.к. производство может иметь парк разнообразного рабочего оборудования и широкий спектр выпускаемой номенклатуры, которая характеризуется многостадийностью технологического процесса, вариативностью технологических маршрутов и, как следствие сложными перекрестными материально-транспортными связями.
Составление первоначального плана производства - трудоемкий процесс, который занимает более одного часа времени и зачастую выполняемый с целью составить план, удовлетворяющий только ограничениям на срок поставки готовой продукции, без дополнительной оптимизации.
Кроме того, построенный план операций в первоначальном виде практически никогда не может быть выполнен. На производстве регулярно происходят случайные события, нарушающие его ход, такие как поломки оборудования, производственный брак, болезни сотрудников, затягивание сроков выполнения и т.д. Это приводит к необходимости наверстывать упущенное за счет переработок персонала, закупки дополнительного оборудования, увеличения производственного цикла и, как