Genetic algorithm for placing requirements in a flow-type production process planning problem
- 作者: Kibzun A.I.1, Rasskazova V.A.1
-
隶属关系:
- Institute of Computer Sciences and Applied Mathematics, Moscow Aviation Institute (National Research University) (MAI)
- 期: 卷 38, 编号 1 (2025)
- 页面: 27-38
- 栏目: Articles
- URL: https://journals.rcsi.science/0236-235X/article/view/290492
- DOI: https://doi.org/10.15827/0236-235X.149.027-038
- ID: 290492
如何引用文章
全文:
详细
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.
全文:
Введение. Производство потокового типа (процессное производство) представляет собой широкую прикладную область. Его отличительными особенностями являются непрерывность отдельных этапов и ритмичность операций в строго установленной последовательности. В настоящее время многие промышленные предприятия переживают стадию цифровой трансформации, когда задачи повышения эффективности производства решаются путем внедрения цифровых сервисов планирования, слежения, мониторинга и предиктивной аналитики. Такая тенденция обусловлена не только значительными оптимизационными возможностями, но и ограничениями инфраструктурных преобразований, поскольку вмешательство в топологию цехов, включая расширение парка оборудования, часто оказывается крайне трудоемким или даже невозможным. В связи с этим особую актуальность приобретают задачи разработки и внедрения полнофункциональных проблемно-ориентированных вычислительных комплексов для решения упомянутых прикладных задач.
Традиционно выделяют три уровня производственного планирования: стратегическое (верхний уровень, долгосрочное планирование), формирование комплексного графика производства (средний уровень) и оперативное планирование и управление (нижний уровень). В работе [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} и множество машин Для каждого требования определим ρi ⊆ R как подмножество машин, доступных для размещения σi. С прикладной точки зрения подмножество машин ρi определяется технологическими характеристиками требования σi. Пусть для каждого σi определены также ti, – минимально необходимое и максимально допустимое время ожидания с момента подготовки на специализированном агрегате из множества K = {k1, …, kl}. Допустимые минимальную и максимальную длительности обработки σi на машине из подмножества ρi обозначим соответственно через (рис. 1).
Рис. 1. Длительность ожидания и время обработки требования σi
Fig. 1. Waiting and processing time of requirement σi
Определим период времени [T0, T], доступный для размещения требований S по машинам R, где T0 принимает любое произвольное значение и
(1)
Задача размещения требований S по машинам R состоит в построении отображения вида
(2)
где , если требование σi выполняется на машине ri с началом в момент времени ti и продолжительностью mi, с ограничениями:
- для любого f (σi) выполняется ri ∈ ρi;
- для любого f (σi) выполняется
- для любого f (σi) выполняется
- для любых f (σi), выполняется
(3)
Замечание 1. В расширенной постановке задача (2) может включать также и ограничения на длительность δij подготовки машины ri = rj при последовательном назначении требований f (si), f (sj) (рис. 2). Авторы не рассматривают данную группу ограничений ввиду декомпозиции множества в предположении, что длительность подготовки постоянна для требований с идентичными технологическими характеристиками и включена в интервал [ti, ti + mi] для любых f (σi), f (σj), где ri = rj и ti ≤ tj.
Рис. 2. Длительность подготовки при последовательном назначении требований
Fig. 2. Preparation time for sequential assignment of requirements
Замечание 2. В случае l ≤ m задача размещения требований на горизонте [T0, T], где T определяется по правилу (1), становится тривиальной с точки зрения поиска допустимого отображения вида (2) и может быть решена жадным алгоритмом. В этой связи далее будем полагать, что , где
В настоящей работе в качестве критерия оптимизации размещения вида (2) рассматривается потенциальная загрузка агрегатов подготовки требований. Такой подход связан с тем, что практические задачи размещения требований, как правило, рассматриваются отдельно от задач назначения подготовительных агрегатов и последующих машин обработки. Так, в частности, время начала выполнения требования σi на машине r выступает входными данными и фиксировано для задачи о назначении агрегатов подготовки (рис. 3 (пунктирной линией обозначены возможные варианты назначения агрегата k для подготовки фиксированного требования σi)).
Рис. 3. Задача о назначении подготовительных агрегатов
Fig. 3. Problem of assigning preparation units
В работе [19] для решения задачи о назначениях подготовительных агрегатов разрабатывается модель целочисленного линейного программирования (ЦЛП).
Далее время завершения подготовки требования σi на агрегате k, а также время начала выполнения на машине r выступают входными данными и фиксированы для задачи о формировании детализированных технологических маршрутов (рис. 4 (пунктирной линией обозначены варианты назначения машин a1 и a2 для обработки фиксированного требования σi)).
Рис. 4. Задача о формировании детализированных технологических маршрутов
Fig. 4. Problem of forming detailed technological routes
Для задачи формирования детализированных технологических маршрутов в работе [20] также предлагаются каскадная схема и модели ЦЛП. Важным обстоятельством при этом является то, что уже на этапе назначения подготовительных агрегатов для фиксированного множества требований система ограничений может оказаться несовместной. Именно в этой связи, то есть для снижения рисков противоречивости входных данных, этап размещения требований выделяется в самостоятельную задачу.
Обозначим через F множество всех возможных назначений вида (2), и для каждого f ∈ F определим множество If следующим образом:
(4)
Другими словами, множество If есть множество точек пересечения интервалов , а также точек концов интервалов по всем требованиям σi ∈ S. Например, для и , таких, что множество If примет вид
Пусть длительность подготовки любого требования σi ∈ S постоянна для всех агрегатов k1, …, kl и равна λ. Для любых f ∈ F и , определим величину
(5)
и критерий
(6)
Величина (5) по сути отражает количество требований, потенциально задействующих каждый из l агрегатов подготовки в момент времени dk. При этом ясно, что внутри интервала [dk, dk+1] значение (5) не меняется, чем и обусловлено его вычисление только в точках из множества If. Таким образом, для заданных S, R, K и [T0, T] задача размещения требований S по машинам R может быть сведена к оптимизационной задаче поиска отображения вида (2), такого, что
. (7)
Для решения задач (2) и (7) разработан генетический алгоритм.
Генетический алгоритм размещения требований
Идеологически генетический алгоритм включает в себя этапы создания начальной популяции, селекции, скрещивания и мутации.
Пусть заданы множество требований S = {σ1, …, σn}, период планирования [T0, T] и множество подготовительных агрегатов K = {k1, …, kl} с фиксированной длительностью λ(k1) = … = λ(kl) = λ для подготовки любого требования σi ∈ S. Под особью, или представителем популяции, будем понимать назначение вида f(S) = = {f(σ1), …, f(σn)}. При этом различными генами особи f(S) являются назначения вида f (σi) = (ri, ti, mi). Обозначим через Fi популяцию для i-й итерации алгоритма, где
Fi = {f1(S), f2(S), …}.
Определим следующий набор параметров генетического алгоритма:
- размерность K1 для начальной популяции F0;
- отбор K2 представителей популяции в порядке возрастания значения критерия (6);
- формирование K3 потомков для каждой пары отобранных представителей;
- мутация K4 генов;
- ограничение τ (мин.) для процедуры мутации генов;
- критерий останова по совокупному числу K5 эпох;
- критерий ε (%) улучшения целевого функционала для последовательных итераций алгоритма;
- критерий останова по числу K6 эпох (итераций алгоритма) без улучшения целевого функционала.
Далее при описании алгоритмов после символа // дается комментарий к соответствующей строке.
Генетический алгоритм размещения требований:
- Выполнить процедуру формирования начальной популяции F0 из K1 особей
- k = 0, c = 0 // счетчики совокупного числа эпох и числа эпох без улучшения целевого функционала
- Выполнить процедуру отсечения популяции F0
- Пока k ≠ K5 или c ≠ K6
- Выполнить процедуру отбора K2 представителей текущей популяции Fk в порядке возрастания критерия (6)
- Выполнить процедуру скрещивания всех пар представителей, отобранных на шаге 5 // увеличить счетчик числа эпох, включить в новую популяцию лучшего представителя текущей и сформировать K3 представителей-потомков для каждой пары
- Выполнить процедуру мутации генов
- Выполнить процедуру отсечения текущей популяции Fk
- Вернуть // наилучший по критерию (6) представитель текущей популяции
- Если минимальное значение критерия (6) на шаге 5 отклоняется от значения на шаге 9 менее, чем на ε (%), то
- Увеличить счетчик числа эпох без улучшения целевого функционала
Рассмотрим подробнее этапы данного генетического алгоритма.
Процедуры формирования начальной популяции и отсечения
Для формирования начальной популяции F0 размещение f (S) требований производится случайным образом посредством выбора некоторых значений для машины, времени начала и длительности обработки из числа допустимых. Далее будем полагать, что время T0, T определяются целым числом в формате timestamp (ts). Время ti начала обработки каждого требования также будем определять в формате ts, а длительность обработки mi – в формате целого числа (количество минут).
Алгоритм 1. Процедура формирования начальной популяции
- F0 = {}
- Для всех // количество особей n = K1
- fk(S) = {}
- Для всех σi ∈ S
- // случайное число в диапазоне от T0 до T
- // сформировать ген f (si) для текущей особи fk(S)
- Вернуть
Фрагмент начальной популяции из двух особей с пятью генами отображен на рисунке 5. Например, для требования σ1 на итерации k = 1 внешнего цикла алгоритма 1 установлена машина обработки r1 = r1, а на итерации k = 2 машина r1 = r2. Аналогично для итераций k = 1 и k = 2 на рисунке 5 представлены различные значения для t1 и m1 и т.д. для всех рассматриваемых требований .
Рис. 5. Фрагмент начальной популяции
Fig. 5. Initial population fragment
Таким образом, в строках 5–7 алгоритма 1 для каждого требования σi ∈ S выбираются произвольные время начала t1 ∈ [T0, T], длительность и машина обработки r1 ∈ ρi. При этом ясно, что некоторые особи f (S) ∈ F0 могут оказаться противоречивыми с точки зрения ограничений (3) задачи (2) (время начала и длительность обработки требований σi, σj при их последовательном размещении на одну и ту же машину ri = rj). На рисунке 6 представлен пример особи f (S) с противоречивыми генами f (σ1) и f (σ2), такими, что r1 = r2, t1 < t2 и t1 + m1 > t2.
Рис. 6. Пересечение требований
Fig. 6. Intersection of requirements
Процедура отсечения популяции выполняется для начальной популяции и на каждой итерации внешнего цикла генетического алгоритма, обеспечивая тем самым рассмотрение только допустимых назначений вида (2). При этом размерность текущей популяции после выполнения процедуры отсечения во многом определяется значениями параметров K1 и K2 алгоритма. Так, в случае тенденции вымирания соответствующие параметры могут быть существенно увеличены в целях стабилизации размерности.
Алгоритм 2. Процедура отсечения популяции
- Для всех
- Для всех // по всем парам различных генов
- Для всех
- Если ri = rj и tj ≤ ti и ti + mj > ti то // ограничения (3) нарушены
- // исключить особь из текущей популяции
- Выход из цикла
- Если ri = rj и ti < tj и tj + mj > ti то
- Fk = Fk – { f (S)}
- Выход из цикла
- Вернуть Fk
Процедура отбора представителей
Рассмотрим начальную популяцию:
где
для всех j = 1, 2, ...
и
для всех σi ∈ S .
Напомним, что любое размещение требований fj (S) ∈ F0 является допустимым с точки зрения ограничений задачи (2) ввиду структуры алгоритма 1 и с учетом выполнения процедуры отсечения согласно алгоритму 2.
Для каждого представителя fj (S) ∈ F0 определим множество (4) и значение критерия (6) при фиксированных l и λ для рассматриваемого количества подготовительных агрегатов и длительности подготовки каждого требования соответственно. На рисунке 7 приведен пример множества If для некоторого представителя f (S) с пятью генами – точки на верхней горизонтальной прямой.
Рис. 7. Множество If
Fig. 7. Set If
Аналогично множество If и значение критерия (6) могут быть определены для представителей любой популяции Fk (условие допустимости всех представителей fj (S) произвольной популяции Fk с точки зрения ограничений задачи (2) будут обоснованы несколько позже на этапе обсуждения процедуры мутации генов).
Алгоритм 3. Процедура отбора представителей
- Для всех fj (S) ∈ Fk
- f = fj (S)
- Сформировать множество точек
- Для всех //
- Вернуть {L1, L2, …}
- Отсортировать Fk в порядке возрастания значений Lj ее представителей: , где
- Вернуть // n = K2
- Вернуть // наилучший представитель текущей популяции
Процедуры скрещивания и мутации
Рассмотрим популяцию , построенную в результате выполнения алгоритма 3 как подмножество n = K2 лучших представителей по критерию (6). Для каждой пары представителей fi(S), fj(S) ∈ Fk гены представителя-потомка f (S) определяются посредством прямого наследования от случайным образом выбранного родителя fi (S) или fj (S). На рисунке 8 приведен пример формирования представителя потомка f (S) для родителей f1(S), f2(S) с генами , где гены , наследуются от родителя f1(S) и гены , от родителя f2(S) соответственно.
Рис. 8. Представитель-потомок f (S)
Fig. 8. Descendant representative f (S)
Алгоритм 4. Процедура скрещивания
- Для всех // n = K2
- Для всех // для всех пар родителей
- Для всех // сформировать m = K3 потомков
- fl (S) = {}
- Для всех σ ∈ S
- Если p ≤5 то
- // наследовать текущий ген от родителя fi (S)
- Иначе
- Вернуть Fk, k
На шаге 1 алгоритма 4 формируется новая популяция Fk, в состав которой включается наилучший по критерию (6) представитель f * предшествующей популяции F. Данная процедура обеспечивает сохранение на каждой итерации текущего локально оптимального решения и последующий контроль числа K6 итераций без существенного улучшения целевого функционала – параметр ε (%) алгоритма.
Для каждого представителя текущей популяции f (S) ∈ Fk случайным образом выбранные K4 генов f (σ) мутируют в части времени начала и длительности исполнения соответствующего требования σ ∈ S по процедуре, описанной в алгоритме 1.
Алгоритм 5. Процедура мутации генов
- Для всех f (S) ∈ Fk
- Для всех // мутация n = K4 случайно выбранных генов
- // выбор произвольного σ ∈ S
- Вернуть Fk
Аналогично алгоритмам 1 и 2 структура алгоритма 5 и последующий вызов процедуры отсечения в строке 8 генетического алгоритма обеспечивают допустимость любого размещения требований f (S) ∈ Fk с точки зрения ограничений задачи (2).
Вычислительный эксперимент
Предложенный генетический алгоритм размещения требований, включая процедуры, описанные в алгоритмах 1–5, были реализованы на языке Python 3.8 как автономный модуль комплексной системы планирования производственных процессов потокового типа [2]. Анализ эффективности применения генетического алгоритма на предварительном этапе решения комплексной задачи проводится в двух направлениях: с точек зрения оптимизации входных данных для задачи о назначении подготовительных агрегатов (в случае ее исходной противоречивости) и трудоемкости этой задачи (в случае наличия решения для исходной постановки). Общая структура вычислительного эксперимента представлена на рисунке 9.
Рис. 9. Структура вычислительного эксперимента
Fig. 9. Computational experiment structure
Вычислительный эксперимент был проведен на реальных производственных данных. Рассматриваются годовой период и множество требований S = {σ1, …, σn}, подлежащих исполнению в каждые сутки рассматриваемого периода. Таким образом, для каждого экземпляра входных данных период планирования [T0, T] составляет 24 часа. Множество S содержит n = 100 требований с параметрами:
- (мин.),
- (мин.),
- ρi = R
для всех , где – множество машин, доступных для исполнения требований множества S. Для множества подготовительных агрегатов длительность обработки каждого требования фиксированная и составляет λ = 40 (мин.).
Определим параметры генетического алгоритма:
- размерность начальной популяции K1 = 1 000 представителей;
- отбор K2 = 30 представителей популяции в порядке возрастания значения критерия (6);
- формирование K3 = 50 потомков для каждой пары отобранных представителей;
- мутация K4 = 2 гена;
- ограничение τ = 5 (мин.) для процедуры мутации генов;
- критерий останова по числу K5 = 10 эпох (итераций алгоритма) без улучшения целевого функционала;
- критерий ε = 10 (%) улучшения целевого функционала для последовательных итераций алгоритма;
- критерий останова по совокупному числу K6 = 500 эпох.
Замечание 3. Если размерность популяции на некоторой итерации алгоритма не превышает значение параметра K2 = 30, то процедура формирования K3 = 50 потомков производится для каждой пары представителей соответствующей популяции.
На рисунке 10 показано соотношение величины [5] в каждой точке множества If соответственно для размещения, сформированного посредством жадного алгоритма (см. поток [1] на рисунке 9), и для размещения, построеннного с использованием генетического алгоритма (см. потоки [6] и [7] на рисунке 9).
Рис. 10. Значение L(dk, f) для точек множества If
Fig. 10. The value of L(dk, f) for the points of set If
В среднем значение величины 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/uploaded/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 % в среднем.
Дальнейшее развитие полученных результатов связано с исследованием теоретических вопросов сходимости и устойчивости предложенного генетического алгоритма. Важным этапом при этом выступает проведение масштабного вычислительного эксперимента с использованием данных тестовых библиотек. Также ставится задача разработки и реализации дополнительных оригинальных тестовых задач, позволяющих адекватно оценить поведение и свойства алгоритма. С практической точки зрения направление дальнейшего развития связано с исследованием возможностей применимости предложенного метаэвристического подхода для решения задачи планирования производственных процессов потокового типа на других этапах технологической цепочки.
作者简介
Andrey Kibzun
Institute of Computer Sciences and Applied Mathematics, Moscow Aviation Institute (National Research University) (MAI)
Email: kibzun@mail.ru
Dr.Sci. (Physics and Mathematics), Professor, Head of Chair
俄罗斯联邦, Moscow, 125993Varvara Rasskazova
Institute of Computer Sciences and Applied Mathematics, Moscow Aviation Institute (National Research University) (MAI)
编辑信件的主要联系方式.
Email: varvara.rasskazova@mail.ru
Cand. of Sci. (Physics and Mathematics), Associate Professor
俄罗斯联邦, Moscow, 125993参考
- Rizvanov, D.A., Chernyshev, E.S. (2020) ‘Information and algorithmic support of production capacity planning’, Intellekt. Sist. Proizv., 18(4), pp. 117–125 (in Russ.). doi: 10.22213/2410-9304-2020-4-117-125.
- Makhitko, V.P., Ramzaev, V.M., Grishanov, G.M. (2019) ‘Economic aspects of simulation of production sites in the Technomatix Plant Simulation environment’, Bull. of the Samara Municipal Institute of Management, (3), pp. 7–16 (in Russ.).
- Nikishechkin, P.A., Ivashin, S.S., Chernenko, V.E., Malyihanov, A.A., Dolgov, N.V. (2021) ‘PlantTwin simulation system as a tool for verifying production plans and supporting the decision-making to improve production effectiveness’, Bull. of Mechanical Engineering, (3), pp. 80–85 (in Russ.). doi: 10.36652/0042-4633-2021-3-80-85.
- Aleksandrov, V.R., Baranov, S.E., Kuznetsov, M.I. et al. (2022) ‘Artificial intelligence in the tasks of manufacturing planning’, Infocommunication and Radio Tech., 5(2), pp. 196–208 (in Russ.). doi: 10.29039/2587-9936.2022.05.2.14.
- Gainanov, D.N., Berenov, D.A., Rasskazova, V.A. et al. (2021) Data-PLAN, Pat. RF, № 2021665276.
- Chastikova, V.A., Chich, A.I. (2019) ‘Genetic algorithms and genetic programming: features of realization’, Sci. Prospects, (1), pp. 13–16 (in Russ.).
- Minitaeva, A.M., Vekshin, R.D., Shatilov, A.A. (2022) ‘Analysis of various types of genetic algorithms in optimization problems’, Tech. of Eng. and Inform. Sys., (1), pp. 21–34 (in Russ.).
- Kureychik, V.M., Danilchenko, V.I. (2019) ‘Genetic algorithm of VLSI placement planning’, Izv. SFedU. Eng. Sci., (2), pp. 26–34 (in Russ.).
- Suslov, D.A., Senchenko, K.A., Shmal, V.N. (2022) ‘Application of genetic algorithms in the field of organizing passenger transportation’, Diary of Sci., (9), available at: https://dnevniknauki.ru/images/publications/2022/9/technics/Suslov_Senchenko_Shmal.pdf (accessed July 23, 2024) (in Russ.).
- Sidorenko, V.G., Safronov, A.I. (2023) ‘Application of genetic algorithms at solution of tasks for transportation process planning of city rail transport system’, Transport Automation Research, 9(1), pp. 49–62 (in Russ.). doi: 10.20295/2412-9186-2023-9-01-49-62.
- Gusev, P.Yu., Gusev, K.Yu., Vakhmin, S.Yu. (2019) ‘Modeling of the dissolution and growth of sugar crystals’, Bull. of VSTU, 15(2), pp. 22–28 (in Russ.).
- Semenov, G.E., Keino, P.P. (2019) ‘Mathematical model of genetic algorithm in implementation for scheduling tasks of complex technical objects during pre-production stages’, Applied Inform., 14(2), pp. 56–62 (in Russ.).
- Liang, Z., Zhong, P., Liu, M., Zhang, Ch., Zhang, Z. (2022) ‘A computational efficient optimization of flow shop scheduling problems’, Sci. Reports, 12, art. 845. doi: 10.1038/s41598-022-04887-8.
- Türkakın, O.H., Arditi, D., Manisali, E. (2021) ‘Comparison of heuristic priority rules in the solution of the resource-constrained project scheduling problem’, Sustainability, 13(17), art. 9956. doi: 10.3390/su13179956.
- Abdel-Basset, M., Manogaran, G., El-Shahat, D., Mirjalili, S. (2018) ‘A hybrid whale optimization algorithm based on local search strategy for the permutation flow shop scheduling problem’, FGCS, 85, pp. 129–145. doi: 10.1016/j.future.2018.03.020.
- Kadarkarainadar, M.M., Tosun, Ö., Geetha, M. (2017) ‘Hybrid monkey search algorithm for flow shop scheduling problem under makespan and total flow time’, Applied Soft Computing J., 55, pp. 82–92. doi: 10.1016/j.asoc.2017.02.003.
- Goncharov, E.N. (2022) ‘A local search algorithm for a scheduling problem with limited resources’, Discrete Analysis and Operations Research, 29(4), pp. 15–37 (in Russ.).
- Ladj, A., Tayeb, F.B.-S., Varnier, C. (2021) ‘Hybrid of metaheuristic approaches and fuzzy logic for the integrated flowshop scheduling with predictive maintenance problem under uncertainties’, EJIE, 15(5), pp. 675–710. doi: 10.1504/EJIE.2021.117325.
- Rasskazova, V.A. (2023) ‘LIP model in solving RCPSP at the flow type production’, in CCIS. Proc. OPTIMA, 1913, pp. 75–88. doi: 10.1007/978-3-031-48751-4_6.
- Kibzun, A.I., Rasskazova, V.A., (2023) ‘LIP model as mathematical ware for an optimal flow production planning system at operational scheduling stage’, Automation and Remote Control, 84(5), pp. 529–542. doi: 10.1134/S0005117923050065.
补充文件
