Авторитетность издания
Добавить в закладки
Следующий номер на сайте
Генетический алгоритм размещения требований в задаче планирования производственных процессов потокового типа
Аннотация:В статье рассматривается задача планирования производственных процессов потокового типа. В рамках каскадной схемы комплексное решение охватывает этап назначения подготовительных агрегатов и последующий этап формирования детализированных технологических маршрутов для исполнения заданного множества требований точно в срок и с учетом ограничений на допустимые длительности обработки на каждом переделе. Данная схема реализуется в составе проблемно-ориентированного вычислительного комплекса, однако по ряду естественных причин задача может оказаться несовместной уже на этапе назначения подготовительных агрегатов. Один из путей преодоления обозначенных трудностей – разработка и реализация алгоритмов штрафных функций для поиска максимальных совместных подсистем в противоречивых задачах оптимизации. В настоящей работе для этих целей предлагается идеологически другой подход, основанный на рассмотрении предварительного этапа размещения требований таким образом, чтобы последующие этапы решения комплексной задачи были гарантированно разрешимы. Размещение требований формализуется как задача поиска отображения установленного вида, оптимального по эвристическому критерию потенциальной нагрузки на подготовительные агрегаты в рассматриваемом периоде планирования. Для решения этой задачи авторы статьи разработали генетический алгоритм, что обусловило существенное преимущество по быстродействию в сравнении с фундаментальными подходами математического программирования (например, в сравнении с моделями целочисленного линейного программирования). В целях снижения рисков вымирания популяции на каждой итерации генетического алгоритма применяется правило безусловной миграции представителя с наименьшим значением критерия. Такой подход обеспечивает также эффективные показатели сходимости алгоритма по числу итераций без существенного улучшения целевого функционала. Разработанный генетический алгоритм реализуется как автономный модуль вычислительного комплекса для решения задач планирования процессного производства. Вычислительный эксперимент проводится с использованием данного модуля в разрезе сравнительного анализа качества решения исходной комплексной задачи.
Abstract:The paper discusses the problem of planning flow-type production processes. In terms of a cascade scheme, the complex solution covers the stage of assigning preparatory units and the subsequent stage of forming detailed technological routes to fulfill a given set of requirements on time and taking into account the constraints on permissible processing durations at each processing stage. This scheme comes as a part of a problem-oriented computing complex. However, due to a number of natural reasons, the problem may become inconsistent right at the stage of assigning preparatory units. One of the ways to overcome these difficulties is to develop and implement penalty function algorithms to find the maximum joint subsystems in inconsistent optimization problems. The paper proposes an ideologically different approach for this purpose. It is based on considering the preliminary stage of requirement placement in such a way that the subsequent stages of problem-solving process are guaranteed to be solvable. The requirement placement is formalized as a search for an optimal mapping that minimizes “potential” workload on preparatory units during the planning period. To solve this problem, the authors of the paper have developed a genetic algorithm, which resulted in a significant advantage in terms of speed in comparison with fundamental approaches of mathematical programming (for example, integer linear programming models). In order to reduce the risk of population extinction at each iteration of the genetic algorithm, the authors apply the rule of unconditional migration of a representative with the lowest criterion value. This approach also provides effective convergence indices of the algorithm in terms of the number of iterations without significant improvement of the objective function. The developed genetic algorithm is implemented as a stand-alone module of a computing system for solving process manufacturing scheduling problems. The authors conducted a computational experiment using this module in terms of a comparative analysis of the solution quality of the initial complex problem.
Авторы: Кибзун А.И. (kibzun@mail.ru) - Институт компьютерных наук и прикладной математики, Московский авиационный институт (профессор, заведующий кафедрой), Москва, Россия, доктор физико-математических наук, Рассказова В.А. (varvara.rasskazova@mail.ru) - Институт компьютерных наук и прикладной математики, Московский авиационный институт (доцент), Москва, Россия, кандидат физико-математических наук | |
Ключевые слова: генетический алгоритм, вычислительный комплекс, производственное планирование, процессное производство, теория расписаний, комбинаторная оптимизация |
|
Keywords: generic algorithm, computer complex, production planning, process manufacturing, scheduling theory, combinatorial optimization |
|
Количество просмотров: 2428 |
Статья в формате PDF |
Генетический алгоритм размещения требований в задаче планирования производственных процессов потокового типа
DOI: 10.15827/0236-235X.149.027-038
Дата подачи статьи: 18.07.2024
Дата после доработки: 14.08.2024
Дата принятия к публикации: 23.08.2024
УДК: 519.854.2
Группа специальностей ВАК: 2.3.5.
Статья опубликована в выпуске журнала № 1 за 2025 год. [ на стр. 027-038 ]
Введение. Производство потокового типа (процессное производство) представляет собой широкую прикладную область. Его отличительными особенностями являются непрерывность отдельных этапов и ритмичность операций в строго установленной последовательности. В настоящее время многие промышленные предприятия переживают стадию цифровой трансформации, когда задачи повышения эффективности производства решаются путем внедрения цифровых сервисов планирования, слежения, мониторинга и предиктивной аналитики. Такая тенденция обусловлена не только значительными оптимизационными возможностями, но и ограничениями инфраструктурных преобразований, поскольку вмешательство в топологию цехов, включая расширение парка оборудования, часто оказывается крайне трудо- емким или даже невозможным. В связи с этим особую актуальность приобретают задачи разработки и внедрения полнофункциональных проблемно-ориентированных вычислительных комплексов для решения упомянутых прикладных задач. Традиционно выделяют три уровня производственного планирования: стратегическое (верхний уровень, долгосрочное планирование), формирование комплексного графика производства (средний уровень) и оперативное планирование и управление (нижний уровень). В работе [1] обсуждаются особенности разработки и внедрения систем планирования. В настоящей статье рассматривается задача среднесрочного планирования производственных процессов потокового типа. К современным инструментам решения задач среднесрочного планирования производственных процессов относят системы класса APS (Advanced Planning and Scheduling). Среди популярных отечественных систем данного класса можно выделить такие, как AVM.APS, BFG APS, БИА.APS и Аскон Гольфстрим. Из зарубежных разработок класса APS широкое распространение получила Tecnomatix Plant Simulation. Основными методами решения задач оптимизации в данных системах выступают алгоритмы имитационного моделирования и машинного обучения [2–4]. В настоящей статье для решения рассматриваемой комплексной задачи планирования используется система, в основе которой лежат подходы математического программирования [5]. Рассматриваемая комплексная задача планирования производственных процессов потокового типа включает два этапа. На первом этапе для фиксированного по времени и машинам множества требований (работ) формируется график их обработки на основных подготовительных агрегатах. На следующем этапе для фиксированных по времени, машинам и подготовительным агрегатам требований формируется детализированный технологический маршрут. Такой декомпозированный подход обусловлен практическими аспектами рассматриваемого типа производства и, кроме того, позволяет существенно снизить размерности оптимизационных задач, возникающих на каждом этапе. Однако часто уже на первом этапе решения комплексной задачи (назначение подготовительных агрегатов) возникающие оптимизационные модели оказываются несовместными. Природа такой несовместности во многом обусловлена исходным размещением требований по машинам и фиксированным временем на- чала и длительности их обработки. В этой связи в настоящей статье предлагается рассмотрение вспомогательного этапа размещения требований в целях обеспечения последующей гарантированной разрешимости этапов назначения подготовительных агрегатов и формирования детализированных технологических маршрутов. Для решения задачи размещения требований предлагается генетический алгоритм, реализуемый в качестве автономного модуля системы планирования [5]. Генетические алгоритмы определяют одно из фундаментальных направлений современных исследований в области случайно направленного поиска [6, 7]. Эффективность их применения для решения различных прикладных задач подтверждается многочисленными работами отечественных и зарубежных авторов. Так, например, авторы работы [8] применяют генетические алгоритмы для решения задач размещения, возникающих при проектировании интегральных схем. В [9, 10] генетические алгоритмы предложены для решения задач планирования процесса перевозок на железнодорожном транспорте. В задачах планирования в машиностроении и других серийных производствах также эффективно применяются метаэвристические подходы, в том числе генетические алгоритмы [11, 12]. Обзор различных задач производственного планирования класса RCPSP (Resource Constrained Project Scheduling Problem) и метаэвристические подходы к ре- шению подробно обсуждаются в работах [13, 14]. Также широко распространены гибридные подходы на базе генетических алгоритмов. Например, в работе [15] рассматривается частный случай задачи производственного планирования потокового типа с применением гибридного алгоритма. В [16, 17] для задач с критерием минимизации простоев оборудования предложены эффективные эволюционные алгоритмы. Подходы нечеткой логики развиваются авторами [18] для решения комплексных задач производственного планирования. Разработка нового генетического алгоритма в настоящей работе продиктована спецификой рассматриваемой задачи, когда этап размещения требований выделяется в отдельную предварительную стадию решения комплексной задачи. С этой точки зрения данная задача и методы ее решения слабо освещены в существующих публикациях. Постановка задачи Пусть заданы множество требований S = = {s1, …, sn} и множество машин Определим период времени [T0, T], доступный для размещения требований S по машинам R, где T0 принимает любое произвольное значение и
Задача размещения требований S по машинам R состоит в построении отображения вида
где - для любого f (si) выполняется ri Î ri; - для любого f (si) выполняется - для любого f (si) выполняется - для любых f (si),
Замечание 2. В случае l £ m задача размещения требований на горизонте [T0, T], где T определяется по правилу (1), становится тривиальной с точки зрения поиска допустимого отображения вида (2) и может быть решена жадным алгоритмом. В этой связи далее будем полагать, что В настоящей работе в качестве критерия оптимизации размещения вида (2) рассматривается потенциальная загрузка агрегатов подготовки требований. Такой подход связан с тем, что практические задачи размещения требований, как правило, рассматриваются отдельно от задач назначения подготовительных агрегатов и последующих машин обработки. Так, в частности, время начала выполнения требования σi на машине r выступает входными данными и фиксировано для задачи о назначении агрегатов подготовки (рис. 3 (пунктирной линией обозначены возможные варианты назначения агрегата k для подготовки фиксированного требования σi)). В работе [19] для решения задачи о назначениях подготовительных агрегатов разрабатывается модель целочисленного линейного программирования (ЦЛП).
Для задачи формирования детализированных технологических маршрутов в работе [20] также предлагаются каскадная схема и модели ЦЛП. Важным обстоятельством при этом является то, что уже на этапе назначения подготовительных агрегатов для фиксированного множества требований система ограничений может оказаться несовместной. Именно в этой связи, то есть для снижения рисков противоречивости входных данных, этап размещения требований выделяется в самостоятельную задачу. Обозначим через F множество всех возможных назначений вида (2), и для каждого f Î F определим множество If следующим образом:
Другими словами, множество If есть множество точек пересечения интервалов [ Пусть длительность подготовки любого требования σi Î S постоянна для всех агрегатов k1, …, kl и равна λ. Для любых f Î F и
и критерий
Величина (5) по сути отражает количество требований, потенциально задействующих каж- дый из l агрегатов подготовки в момент времени dk. При этом ясно, что внутри интервала [dk, dk+1] значение (5) не меняется, чем и обусловлено его вычисление только в точках из множества If. Таким образом, для заданных S, R, K и [T0, T] задача размещения требований S по машинам R может быть сведена к оптимизационной задаче поиска отображения вида (2), такого, что
Для решения задач (2) и (7) разработан генетический алгоритм. Генетический алгоритм размещения требований Идеологически генетический алгоритм включает в себя этапы создания начальной популяции, селекции, скрещивания и мутации. Пусть заданы множество требований S = {s1, …, sn}, период планирования [T0, T] и множество подготовительных агрегатов K = {k1, …, kl} с фиксированной длительностью l(k1) = … = = l(kl) = l для подготовки любого требования σi Î S. Под особью, или представителем популяции, будем понимать назначение вида f(S) = = {f(s1), …, f(sn)}. При этом различными генами особи f(S) являются назначения вида f (si) = (ri, ti, mi). Обозначим через Fi популяцию для i-й итерации алгоритма, где Fi = {f1(S), f2(S), …}. Определим следующий набор параметров генетического алгоритма: - размерность K1 для начальной популяции F0; - отбор K2 представителей популяции в порядке возрастания значения критерия (6); - формирование K3 потомков для каждой пары отобранных представителей; - мутация K4 генов; - ограничение τ (мин.) для процедуры мутации генов; - критерий останова по совокупному числу K5 эпох; - критерий ε (%) улучшения целевого функционала для последовательных итераций алгоритма; - критерий останова по числу K6 эпох (итераций алгоритма) без улучшения целевого функционала. Далее при описании алгоритмов после символа // дается комментарий к соответствующей строке. Генетический алгоритм размещения требований: 1. Выполнить процедуру формирования начальной популяции F0 из K1 особей 2. k = 0, c = 0 // счетчики совокупного числа эпох и числа эпох без улучшения целевого функционала 3. Выполнить процедуру отсечения популяции F0 4. Пока k ¹ K5 или c ¹ K6 5. Выполнить процедуру отбора K2 пред- ставителей текущей популяции Fk в порядке возрастания критерия (6) 6. Выполнить процедуру скрещивания всех 7. Выполнить процедуру мутации генов 8. Выполнить процедуру отсечения текущей популяции Fk 9. Вернуть 10. Если минимальное значение критерия (6) на шаге 5 отклоняется от значения на шаге 9 менее, чем на ε (%), то 11. Увеличить счетчик числа эпох без улучшения целевого функционала Рассмотрим подробнее этапы данного генетического алгоритма. Процедуры формирования начальной популяции и отсечения Для формирования начальной популяции F0 размещение f (S) требований производится случайным образом посредством выбора некоторых значений для машины, времени начала и длительности обработки из числа допустимых. Далее будем полагать, что время T0, T определяются целым числом в формате timestamp (ts). Время ti начала обработки каждого требования также будем определять в формате ts, а длительность обработки mi – в формате целого числа (количество минут). Алгоритм 1. Процедура формирования начальной популяции 1. F0 = {} 2. Для всех 3. fk(S) = {} 4. Для всех si Î S 5. 6. 7. 8. 9. 10. 11. Вернуть Фрагмент начальной популяции из двух особей с пятью генами отображен на рисунке 5. Например, для требования σ1 на итерации k = 1 внешнего цикла алгоритма 1 установлена машина обработки r1 = r1, а на итерации k = 2 машина r1 = r2. Аналогично для итераций k = 1 и k = 2 на рисунке 5 представлены различные значения для t1 и m1 и т.д. для всех рассматриваемых требований
Процедура отсечения популяции выполняется для начальной популяции и на каждой итерации внешнего цикла генетического алгоритма, обеспечивая тем самым рассмотрение только допустимых назначений вида (2). При этом размерность текущей популяции послевыполнения процедуры отсечения во многом определяется значениями параметров K1 и K2 алгоритма. Так, в случае тенденции вымирания соответствующие параметры могут быть существенно увеличены в целях стабилизации размерности. Алгоритм 2. Процедура отсечения популяции 1. Для всех 2. Для всех 3. Для всех 4. Если ri = rj и tj £ ti и ti + mj > ti то // ограничения (3) нарушены 5. 6. Выход из цикла 7. Если ri = rj и ti < tj и tj + mj > ti то 8. Fk = Fk – { f (S)} 9. Выход из цикла 10. Вернуть Fk Процедура отбора представителей Рассмотрим начальную популяцию: где
и
Напомним, что любое размещение требований fj (S) Î F0 является допустимым с точки зрения ограничений задачи (2) ввиду структуры алгоритма 1 и с учетом выполнения процедуры отсечения согласно алгоритму 2.
Аналогично множество If и значение критерия (6) могут быть определены для представителей любой популяции Fk (условие допустимости всех представителей fj (S) произвольной популяции Fk с точки зрения ограничений задачи (2) будут обоснованы несколько позже на этапе обсуждения процедуры мутации генов). Алгоритм 3. Процедура отбора представителей 1. Для всех fj (S) Î Fk 2. f = fj (S) 3. Сформировать множество точек If = 4. Для всех 5. 6. 7. Вернуть {L1, L2, …} 8. Отсортировать Fk в порядке возраста- ния значений Lj ее представителей: 9. Вернуть 10. Вернуть Процедуры скрещивания и мутации
Алгоритм 4. Процедура скрещивания 1. 2. Для всех 3. Для всех 4. Для всех 5. fl (S) = {} 6. Для всех σ Î S 7. 8. Если p £ 0.5 то 9. 10. Иначе 11. 12. 13. 14. Вернуть Fk, k На шаге 1 алгоритма 4 формируется новая популяция Fk, в состав которой включается наилучший по критерию (6) представитель f * предшествующей популяции F. Данная процедура обеспечивает сохранение на каждой итерации текущего локально оптимального решения и последующий контроль числа K6 итераций без существенного улучшения целевого функционала – параметр ε (%) алгоритма. Для каждого представителя текущей популяции f (S) Î Fk случайным образом выбранные K4 генов f (s) мутируют в части времени начала и длительности исполнения соответствующего требования σ Î S по процедуре, описанной в алгоритме 1. Алгоритм 5. Процедура мутации генов 1. Для всех f (S) Î Fk 2. Для всех 3. 4. 5. 6. Вернуть Fk Аналогично алгоритмам 1 и 2 структура алгоритма 5 и последующий вызов процедуры отсечения в строке 8 генетического алгоритма обеспечивают допустимость любого размещения требований f (S) Î Fk с точки зрения ограничений задачи (2). Вычислительный эксперимент
Вычислительный эксперимент был проведен на реальных производственных данных. Рассматриваются годовой период и множество требований S = {s1, …, sn}, подлежащих исполнению в каждые сутки рассматриваемого периода. Таким образом, для каждого экземпляра входных данных период планирования [T0, T] составляет 24 часа. Множество S содержит n = 100 требований с параметрами: – – – ri = R для всех Определим параметры генетического алгоритма: - размерность начальной популяции K1 = = 1 000 представителей; - отбор K2 = 30 представителей популяции в порядке возрастания значения критерия (6); - формирование K3 = 50 потомков для каждой пары отобранных представителей; - мутация K4 = 2 гена; - ограничение τ = 5 (мин.) для процедуры мутации генов; - критерий останова по числу K5 = 10 эпох (итераций алгоритма) без улучшения целевого функционала; - критерий ε = 10 (%) улучшения целевого функционала для последовательных итераций алгоритма; - критерий останова по совокупному числу K6 = 500 эпох. Замечание 3. Если размерность популяции на некоторой итерации алгоритма не превышает значение параметра K2 = 30, то процедура формирования K3 = 50 потомков производится для каждой пары представителей соответствующей популяции.
В среднем значение величины L(dk, f) (потенциальная нагрузка на подготовительные агрегаты) составляет 0,6 в обоих случаях. Однако разброс значений по всем точкам dk Î If для размещения, построенного с использованием генетического алгоритма, существенно меньше и равен [0,35;0,83] по сравнению с [0,3;1,39] соответственно для размещения, сформированного посредством жадного алгоритма. В примере на графике значение максимума потенциальной нагрузки на подготовительные агрегаты (6) составляет 1,39 и 0,83 для жадного и генетического алгоритмов соответственно. Аналогичные расчеты были проведены для каждого экземпляра входных данных в рассматриваемом годовом периоде. Результаты сравнительного анализа по критерию (6) представлены на графике (http://www.swsys.ru/up- loaded/image/2025-1/25.jpg). Диапазон значений критерия (6) в случае размещения, сформированного посредством жадного алгоритма, составляет [1,01;2,8] со средним значением 1,91. В то же время для размещения, построенного с использованием генетического алгоритма, диапазон значений критерия (6) составляет [0,8;1,27] со средним значением 1,07. На последующем этапе назначения подготовительных агрегатов (см. потоки [2] и [8] на рисунке 9) фиксировалось время в минутах, затраченное системой на поиск решения. Для случаев, когда решение не было найдено, данный показатель принимался равным 0 (см. потоки [3] и [5] на рисунке 9). Проведен анализданного показателя временных затрат для каждого экземпляра входных данных в рассматриваемом годовом периоде (http://www.swsys.ru/ uploaded/image/2025-1/26.jpg). Можно сделать вывод, что решения нет во всех случаях, когда значение критерия (6) превышает 2,1. Доля таких случаев для размещения, построенного с использованием жадного алгоритма, составляет 40 %, а для размещения, сформированного посредством генетического алгоритма, значение критерия (6) не превышает 1,27 в 100 % случаев. В 60 % случаев, когда решение было найдено для размещения, построенного по жадному алгоритму, время поиска решения варьируется в диапазоне [2,01;6,96] со средним значением 2,71 мин. Для размещения, построенного по генетическому алгоритму, диапазон времени поиска решения на этапе назначения подготовительных агре- гатов составляет [1;2,92] со средним значением 1,97 мин. Из результатов проведенного вычислительного эксперимента следует, что применение генетического алгоритма на этапе размещения требований существенно снижает критерий максимальной потенциальной нагрузки на подготовительные агрегаты по сравнению с решением данного этапа посредством жадного алгоритма. Последующий этап назначения подготовительных агрегатов оказывается разрешимым в 100 % случаев в рассматриваемом годовом периоде, в то время как для жадного размещения в 40 % случаев решение не найдено. Наконец, сравнительный анализ временных затрат демонстрирует потенциал ускорения в среднем до 27 % в случаях, когда для жадного размещения найдено решение на этапе назначения подготовительных агрегатов. Заключение В статье рассмотрена задача размещения требований как начальный этап комплексного планирования производственных процессов потокового типа. Такая декомпозиция обусловлена прикладными аспектами комплексной задачи, а также существенным потенциалом для снижения исходной размерности. Кроме того, рассмотрение вспомогательного этапа размеще- ния требований позволяет ожидать разрешимости последующих этапов в случае противоречивости ограничений. Для задачи размещения требований в рассмотрение введен эвристический критерий потенциальной нагрузки на подготовительные агрегаты и предложен генетический алгоритм решения. Подробно обсуждаются ключевые процедуры алгоритма. Предложенный генетический алгоритм реализуется на язы- ке Python как автономный модуль системы планирования производственных процессов потокового типа. Вычислительный эксперимент с использованием этой системы проводится на реальных производственных данных по двум направлениям: с точек зрения разрешимости последующего этапа назначения подготовительных агрегатов и трудоемкости поиска решения для случаев размещения требований с использованием жадного подхода и генетического алгоритма соответственно. Результаты вычислительного эксперимента демонстрируют высокую эффективность генетического алгоритма по обоим аспектам сравнительного ана- лиза. В частности, этап назначения подготовительных агрегатов оказывается разрешимым в 100 % случаев с использованием генетическо- го алгоритма для предварительного размещения требований. С точки зрения вычислительной трудоемкости использование генетического алгоритма в проведенном эксперименте влечет ускорение до 27 % в среднем. Дальнейшее развитие полученных результатов связано с исследованием теоретических вопросов сходимости и устойчивости предложенного генетического алгоритма. Важным этапом при этом выступает проведение масштабного вычислительного эксперимента с использованием данных тестовых библиотек. Также ставится задача разработки и реализации дополнительных оригинальных тестовых задач, позволяющих адекватно оценить поведение и свойства алгоритма. С практической точки зрения направление дальнейшего развития связано с исследованием возможностей применимости предложенного метаэвристиче- ского подхода для решения задачи планирования производственных процессов потокового типа на других этапах технологической цепочки. Список литературы
References
|
Постоянный адрес статьи: http://swsys.ru/index.php?page=article&id=5132&lang= |
Версия для печати |
Статья опубликована в выпуске журнала № 1 за 2025 год. [ на стр. 027-038 ] |
Статья опубликована в выпуске журнала № 1 за 2025 год. [ на стр. 027-038 ]
Возможно, Вас заинтересуют следующие статьи схожих тематик:Возможно, Вас заинтересуют следующие статьи схожих тематик:
- Исследование эффективности бионических алгоритмов комбинаторной оптимизации
- Программный комплекс планирования производства на малом предприятии
- Интеллектуальная информационная система для решения задач прогнозирования неисправностей вагонного оборудования на железнодорожном транспорте
- Генетический алгоритм выбора доминантных признаков для нейронной сети
- Программное средство GraphHunter поиска отображения параллельной программы на структуру суперкомпьютерной системы
Назад, к списку статей