Генетический алгоритм размещения требований в задаче планирования производственных процессов потокового типа

Обложка

Цитировать

Полный текст

Аннотация

В статье рассматривается задача планирования производственных процессов потокового типа. В рамках каскадной схемы комплексное решение охватывает этап назначения подготовительных агрегатов и последующий этап формирования детализированных технологических маршрутов для исполнения заданного множества требований точно в срок и с учетом ограничений на допустимые длительности обработки на каждом переделе. Данная схема реализуется в составе проблемно-ориентированного вычислительного комплекса, однако по ряду естественных причин задача может оказаться несовместной уже на этапе назначения подготовительных агрегатов. Один из путей преодоления обозначенных трудностей – разработка и реализация алгоритмов штрафных функций для поиска максимальных совместных подсистем в противоречивых задачах оптимизации. В настоящей работе для этих целей предлагается идеологически другой подход, основанный на рассмотрении предварительного этапа размещения требований таким образом, чтобы последующие этапы решения комплексной задачи были гарантированно разрешимы. Размещение требований формализуется как задача поиска отображения установленного вида, оптимального по эвристическому критерию потенциальной нагрузки на подготовительные агрегаты в рассматриваемом периоде планирования. Для решения этой задачи авторы статьи разработали генетический алгоритм, что обусловило существенное преимущество по быстродействию в сравнении с фундаментальными подходами математического программирования (например, в сравнении с моделями целочисленного линейного программирования). В целях снижения рисков вымирания популяции на каждой итерации генетического алгоритма применяется правило безусловной миграции представителя с наименьшим значением критерия. Такой подход обеспечивает также эффективные показатели сходимости алгоритма по числу итераций без существенного улучшения целевого функционала. Разработанный генетический алгоритм реализуется как автономный модуль вычислительного комплекса для решения задач планирования процессного производства. Вычислительный эксперимент проводится с использованием данного модуля в разрезе сравнительного анализа качества решения исходной комплексной задачи.

Полный текст

Введение. Производство потокового типа (процессное производство) представляет собой широкую прикладную область. Его отличительными особенностями являются непрерывность отдельных этапов и ритмичность операций в строго установленной последовательности. В настоящее время многие промышленные предприятия переживают стадию цифровой трансформации, когда задачи повышения эффективности производства решаются путем внедрения цифровых сервисов планирования, слежения, мониторинга и предиктивной аналитики. Такая тенденция обусловлена не только значительными оптимизационными возможностями, но и ограничениями инфраструктурных преобразований, поскольку вмешательство в топологию цехов, включая расширение парка оборудования, часто оказывается крайне трудоемким или даже невозможным. В связи с этим особую актуальность приобретают задачи разработки и внедрения полнофункциональных проблемно-ориентированных вычислительных комплексов для решения упомянутых прикладных задач.

Традиционно выделяют три уровня производственного планирования: стратегическое (верхний уровень, долгосрочное планирование), формирование комплексного графика производства (средний уровень) и оперативное планирование и управление (нижний уровень). В работе [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} и множество машин R=r1,,rm. Для каждого требования определим ρiR как подмножество машин, доступных для размещения σi. С прикладной точки зрения подмножество машин ρi определяется технологическими характеристиками требования σi. Пусть для каждого σi определены также ti, τ^i – минимально необходимое и максимально допустимое время ожидания с момента подготовки на специализированном агрегате из множества K = {k1, …, kl}. Допустимые минимальную и максимальную длительности обработки σi на машине из подмножества ρi обозначим соответственно через μi, μi^ (рис. 1).

 

Рис. 1. Длительность ожидания и время обработки требования σi

Fig. 1. Waiting and processing time of requirement σi

 

Определим период времени [T0, T], доступный для размещения требований S по машинам R, где T0 принимает любое произвольное значение и

T=T0+maxj=1,m¯i=1nμ^irjρi. (1)

Задача размещения требований S по машинам R состоит в построении отображения вида

f:Sr,t,mrR,t,m+, (2)

где fσi=ri,ti,mi, если требование σi выполняется на машине ri с началом в момент времени ti и продолжительностью mi, с ограничениями:

  • для любого fi) выполняется ri ∈ ρi;
  • для любого fi) выполняется T0maxi=1,n¯τ^itiT;
  • для любого f i) выполняется miμi,μ^i;
  • для любых f i), fσjri=rj выполняется

tjti+mi, если titj,titj+mj иначе.       (3)

Замечание 1. В расширенной постановке задача (2) может включать также и ограничения на длительность δij подготовки машины ri = rj при последовательном назначении требований f (si), f (sj) (рис. 2). Авторы не рассматривают данную группу ограничений ввиду декомпозиции множества R=i=1nρi в предположении, что длительность подготовки постоянна для требований с идентичными технологическими характеристиками и включена в интервал [ti, ti + mi] для любых fi), fj), где ri = rj и titj.

 

Рис. 2. Длительность подготовки при последовательном назначении требований

Fig. 2. Preparation time for sequential assignment of requirements

 

Замечание 2. В случае l m задача размещения требований на горизонте [T0, T], где T определяется по правилу (1), становится тривиальной с точки зрения поиска допустимого отображения вида (2) и может быть решена жадным алгоритмом. В этой связи далее будем полагать, что lm2, где

 

m2=minxxxm2.

В настоящей работе в качестве критерия оптимизации размещения вида (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 следующим образом:

If=i=1ntiτ^i;  tiτi. (4)

Другими словами, множество If есть множество точек пересечения интервалов tiτ^i; tiτi, а также точек концов интервалов по всем требованиям σi S. Например, для S=σ1,σ2 и fσ1, fσ2, таких, что t2μ^2;t2τ2t1τ^1;  t1τ1, множество If примет вид

If=t1τ^1,  t2τ^2,  t2τ2,  t1τ1.

Пусть длительность подготовки любого требования σi S постоянна для всех агрегатов k1, …, kl и равна λ. Для любых f F и dkIf,  k=1,If1¯, определим величину

Ldk,f=dk+1dklλfσi:dkti<dk+1 (5)

и критерий

Pf=maxk=1,If1¯Ldk,f. (6)

Величина (5) по сути отражает количество требований, потенциально задействующих каждый из l агрегатов подготовки в момент времени dk. При этом ясно, что внутри интервала [dk, dk+1] значение (5) не меняется, чем и обусловлено его вычисление только в точках из множества If. Таким образом, для заданных S, R, K и [T0, T] задача размещения требований S по машинам R может быть сведена к оптимизационной задаче поиска отображения вида (2), такого, что

PfminfF. (7)

Для решения задач (2) и (7) разработан генетический алгоритм.

Генетический алгоритм размещения требований

Идеологически генетический алгоритм включает в себя этапы создания начальной популяции, селекции, скрещивания и мутации.

Пусть заданы множество требований S = {σ1, …, σn}, период планирования [T0, T] и множество подготовительных агрегатов K = {k1, …, kl} с фиксированной длительностью λ(k1) = … = λ(kl) = λ для подготовки любого требования σi S. Под особью, или представителем популяции, будем понимать назначение вида f(S) = = {f1), …, fn)}. При этом различными генами особи f(S) являются назначения вида f i) = (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. Пока kK5 или cK6
  5. Выполнить процедуру отбора K2 представителей текущей популяции Fk в порядке возрастания критерия (6)
  6. Выполнить процедуру скрещивания всех K2K212 пар представителей, отобранных на шаге 5 // увеличить счетчик числа эпох, включить в новую популяцию лучшего представителя текущей и сформировать K3 представителей-потомков для каждой пары
  7. Выполнить процедуру мутации генов
  8. Выполнить процедуру отсечения текущей популяции Fk
  9. Вернуть f:PfminfFk // наилучший по критерию (6) представитель текущей популяции
  10. Если минимальное значение критерия (6) на шаге 5 отклоняется от значения на шаге 9 менее, чем на ε (%), то
  11. Увеличить счетчик числа эпох без улучшения целевого функционала

Рассмотрим подробнее этапы данного генетического алгоритма.

Процедуры формирования начальной популяции и отсечения

Для формирования начальной популяции F0 размещение f (S) требований производится случайным образом посредством выбора некоторых значений для машины, времени начала и длительности обработки из числа допустимых. Далее будем полагать, что время T0, T определяются целым числом в формате timestamp (ts). Время ti начала обработки каждого требования также будем определять в формате ts, а длительность обработки mi – в формате целого числа (количество минут).

Алгоритм 1. Процедура формирования начальной популяции

  1. F0 = {}
  2. Для всех k=1,n¯ // количество особей n = K1
  3. fk(S) = {}
  4. Для всех σiS
  5. ti=RndT0,T // случайное число в диапазоне от T0 до T
  6. mi=Rndμi,μ^i
  7. ri=Rnd1,ρi
  8. fσi=ri,ti,mi
  9. fkS=fkS+fσi // сформировать ген f (si) для текущей особи fk(S)
  10. F0=F0+fkS
  11. Вернуть F0=f1S,,fnS

Фрагмент начальной популяции из двух особей с пятью генами отображен на рисунке 5. Например, для требования σ1 на итерации k = 1 внешнего цикла алгоритма 1 установлена машина обработки r1 = r1, а на итерации k = 2 машина r1 = r2. Аналогично для итераций k = 1 и k = 2 на рисунке 5 представлены различные значения для t1 и m1 и т.д. для всех рассматриваемых требований σi,i=1,5¯.

 

Рис. 5. Фрагмент начальной популяции

Fig. 5. Initial population fragment

 

Таким образом, в строках 5–7 алгоритма 1 для каждого требования σi S выбираются произвольные время начала t1 ∈ [T0, T], длительность miμi,μ^i и машина обработки 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. Процедура отсечения популяции

  1. Для всех fSFk
  2. Для всех fσifS // по всем парам различных генов
  3. Для всех f(σj)f(S)σiσj
  4. Если ri = rj и tj ti и ti + mj > ti то // ограничения (3) нарушены
  5. Fk=FkfS // исключить особь из текущей популяции
  6. Выход из цикла
  7. Если ri = rj и ti < tj и tj + mj > ti то
  8. Fk = Fk – { f (S)}
  9. Выход из цикла
  10. Вернуть Fk

Процедура отбора представителей

Рассмотрим начальную популяцию:

F0=f1S,f2S,,

где

fjS=fjσ1,fjσ2, для всех j = 1, 2, ...

и

fjσi=ri,ti,mi для всех σi S .

Напомним, что любое размещение требований fj (S) ∈ F0 является допустимым с точки зрения ограничений задачи (2) ввиду структуры алгоритма 1 и с учетом выполнения процедуры отсечения согласно алгоритму 2.

Для каждого представителя fj (S) ∈ F0 определим множество (4) и значение критерия (6) при фиксированных l и λ для рассматриваемого количества подготовительных агрегатов и длительности подготовки каждого требования соответственно. На рисунке 7 приведен пример множества If для некоторого представителя f (S) с пятью генами f(σi),i=1,5¯ – точки на верхней горизонтальной прямой.

 

Рис. 7. Множество If

Fig. 7. Set If

 

Аналогично множество If и значение критерия (6) могут быть определены для представителей любой популяции Fk (условие допустимости всех представителей fj (S) произвольной популяции Fk с точки зрения ограничений задачи (2) будут обоснованы несколько позже на этапе обсуждения процедуры мутации генов).

Алгоритм 3. Процедура отбора представителей

  1. Для всех fj (S) ∈ Fk
  2. f = fj (S)
  3. Сформировать множество точек If=d1,d2,
  4. Для всех dnIf // n=1,If1¯
  5. Ldn,f=dk+1dklλfσif:dkti<dk+1
  6. Lj=maxnLdn,f
  7. Вернуть {L1, L2, …}
  8. Отсортировать Fk в порядке возрастания значений Lj ее представителей: fj1S,, fj1S,fj2S,, где Lj1Lj2
  9. Вернуть Fk=fj1S,,fjnS // n = K2
  10. Вернуть f*=fi1(S) // наилучший представитель текущей популяции

Процедуры скрещивания и мутации

Рассмотрим популяцию Fk=fj1S,,fjnS, построенную в результате выполнения алгоритма 3 как подмножество n = K2 лучших представителей по критерию (6). Для каждой пары представителей fi(S), fj(S) ∈ Fk гены представителя-потомка f (S) определяются посредством прямого наследования от случайным образом выбранного родителя fi (S) или fj (S). На рисунке 8 приведен пример формирования представителя потомка f (S) для родителей f1(S), f2(S) с генами f(σi),i=1,5¯, где гены f(σi),i=1,3¯, наследуются от родителя f1(S) и гены f(σi),i=4,5¯, от родителя f2(S) соответственно.

 

Рис. 8. Представитель-потомок f (S)

Fig. 8. Descendant representative f (S)

 

Алгоритм 4. Процедура скрещивания

  1. F=Fk,k=k+1,Fk=f*
  2. Для всех fiSF,  i=1,n¯ // n = K2
  3. Для всех fjSF,j=i+1,n¯ // для всех пар родителей
  4. Для всех l=1,m¯ // сформировать m = K3 потомков
  5. fl (S) = {}
  6. Для всех σ S
  7. p=Rnd0,1
  8. Если p ≤5 то
  9. f(σ)=fi(σ) // наследовать текущий ген от родителя fi (S)
  10. Иначе
  11. fσ=fjσ
  12. flS=flS+fσ
  13. Fk=Fk+flS
  14. Вернуть Fk, k

На шаге 1 алгоритма 4 формируется новая популяция Fk, в состав которой включается наилучший по критерию (6) представитель f * предшествующей популяции F. Данная процедура обеспечивает сохранение на каждой итерации текущего локально оптимального решения и последующий контроль числа K6 итераций без существенного улучшения целевого функционала – параметр ε (%) алгоритма.

Для каждого представителя текущей популяции f (S) ∈ Fk случайным образом выбранные K4 генов f (σ) мутируют в части времени начала и длительности исполнения соответствующего требования σ ∈ S по процедуре, описанной в алгоритме 1.

Алгоритм 5. Процедура мутации генов

  1. Для всех f (S) ∈ Fk
  2. Для всех i=1,n¯ // мутация n = K4 случайно выбранных генов
  3. j=Rnd1,S // выбор произвольного σ S
  4. tj=tj+Rndτ,τ
  5. fσj=rj,tj,mj
  6. Вернуть 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 требований с параметрами:

  • 30τi<τ^i180 (мин.),
  • 30μi<μ^i60 (мин.),
  • ρi = R

для всех i=1,100¯, где R=rj,j=1,5¯ – множество машин, доступных для исполнения требований множества S. Для множества подготовительных агрегатов K=kl,l=1,3¯, длительность обработки каждого требования фиксированная и составляет λ = 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 в обоих случаях. Однако разброс значений по всем точкам dkIf для размещения, построенного с использованием генетического алгоритма, существенно меньше и равен [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 % в среднем.

Дальнейшее развитие полученных результатов связано с исследованием теоретических вопросов сходимости и устойчивости предложенного генетического алгоритма. Важным этапом при этом выступает проведение масштабного вычислительного эксперимента с использованием данных тестовых библиотек. Также ставится задача разработки и реализации дополнительных оригинальных тестовых задач, позволяющих адекватно оценить поведение и свойства алгоритма. С практической точки зрения направление дальнейшего развития связано с исследованием возможностей применимости предложенного метаэвристического подхода для решения задачи планирования производственных процессов потокового типа на других этапах технологической цепочки.

×

Об авторах

Андрей Иванович Кибзун

Институт компьютерных наук и прикладной математики,
Московский авиационный институт (национальный исследовательский университет)(МАИ)

Email: kibzun@mail.ru

д.ф.-м.н., профессор, заведующий кафедрой

Россия, г. Москва, 125993

Варвара Андреевна Рассказова

Институт компьютерных наук и прикладной математики,
Московский авиационный институт (национальный исследовательский университет)(МАИ)

Автор, ответственный за переписку.
Email: varvara.rasskazova@mail.ru

к.ф.-м.н., доцент

Россия, г. Москва, 125993

Список литературы

  1. Ризванов Д.А., Чернышев Е.С. Информационное и алгоритмическое обеспечение планирования производственных мощностей // Интеллектуальные системы в производстве. 2020. Т. 18. № 4. С. 117–125. doi: 10.22213/2410-9304-2020-4-117-125.
  2. Махитько В.П., Рамзаев В.М., Гришанов Г.М. Экономические аспекты имитационного моделирования производственных участков в среде Technomatix Plant Simulation // Вестн. Самарского муниципального института управления. 2019. № 3. С. 7–16.
  3. Никишечкин П.А., Ивашин С.С., Черненко В.Е. и др. Система имитационного моделирования PlantTwin как инструмент верификации производственных планов и поддержки принятия решений для повышения эффективности производства // Вестн. машиностроения. 2021. № 3. С. 80–85. doi: 10.36652/0042-4633-2021-3-80-85.
  4. Александров В.Р., Баранов С.Е., Кузнецов М.И. и др. Искусственный интеллект в задачах планирования производства // Инфокоммуникационные и радиоэлектронные технологии. 2022. Т. 5. № 2. С. 196–208. doi: 10.29039/2587-9936.2022.05.2.14.
  5. Гайнанов Д.Н., Беренов Д.А., Рассказова В.А. и др. Data-PLAN: Свид. о регистр. ПрЭВМ № 2021665276. Рос. Федерация, 2021.
  6. Частикова В.А., Чич А.И. Генетические алгоритмы и генетическое программирование: особенности реализации // Перспективы науки. 2019. № 1. С. 13–16.
  7. Минитаева А.М., Векшин Р.Д., Шатилов А.А. Анализ различных видов генетических алгоритмов в задачах оптимизации // Технологии инженерных и информационных систем. 2022. № 1. С. 21–34.
  8. Курейчик В.М., Данильченко В.И. Генетический алгоритм планирования размещения СБИС // Изв. ЮФУ. Технич. науки. 2019. № 2. С. 26–34.
  9. Суслов Д.А., Сенченко К.А., Шмаль В.Н. Применение генетических алгоритмов в сфере организации пассажирских перевозок // Дневник науки. 2022. № 9. URL: https://dnevniknauki.ru/images/publications/2022/9/technics/Suslov_Senchenko_Shmal.pdf (дата обращения: 23.07.2024).
  10. Сидоренко В.Г., Сафронов А.И. Применение генетических алгоритмов при решении задач планирования перевозочного процесса городской рельсовой транспортной системы // Автоматика на транспорте. 2023. Т. 9. № 1. С. 49–62. doi: 10.20295/2412-9186-2023-9-01-49-62.
  11. Гусев П.Ю., Гусев К.Ю., Вахмин С.Ю. Применение генетических алгоритмов в оптимизации планировочных решений производственных подразделений машиностроительных предприятий // Вестн. ВГТУ. 2019. Т. 15. № 2. С. 22–28.
  12. Семенов Г.Е., Кейно П.П. Применение математических моделей на основе генетических алгоритмов в задачах планирования сложных технических объектов // Прикладная информатика. 2019. Т. 14. № 2. С. 56–62.
  13. Liang Z., Zhong P., Liu M., Zhang Ch., Zhang Z. A computational efficient optimization of flow shop scheduling problems. Sci. Reports, 2022, vol. 12, art. 845. doi: 10.1038/s41598-022-04887-8.
  14. Türkakın O.H., Arditi D., Manisali E. Comparison of heuristic priority rules in the solution of the resource-constrained project scheduling problem. Sustainability, 2021, vol. 13, no. 17, art. 9956. doi: 10.3390/su13179956.
  15. Abdel-Basset M., Manogaran G., El-Shahat D., Mirjalili S. A hybrid whale optimization algorithm based on local search strategy for the permutation flow shop scheduling problem. FGCS, 2018, vol. 85, pp. 129–145. doi: 10.1016/j.future.2018.03.020.
  16. Kadarkarainadar M.M., Tosun Ö., Geetha M. Hybrid monkey search algorithm for flow shop scheduling problem under makespan and total flow time. Applied Soft Computing J., 2017, vol. 55, pp. 82–92. doi: 10.1016/j.asoc.2017.02.003.
  17. Гончаров Е.Н. Алгоритм локального поиска для задачи календарного планирования с ограниченными ресурсами // Дискретный анализ и исследование операций. 2022. Т. 29. № 4. С. 15–37.
  18. Ladj A., Tayeb F.B.-S., Varnier C. Hybrid of metaheuristic approaches and fuzzy logic for the integrated flowshop scheduling with predictive maintenance problem under uncertainties. EJIE, 2021, vol. 15, no. 5, pp. 675–710. doi: 10.1504/EJIE.2021.117325.
  19. Rasskazova V.A. LIP model in solving RCPSP at the flow type production. In: CCIS. Proc. OPTIMA, 2023, vol. 1913, pp. 75–88. doi: 10.1007/978-3-031-48751-4_6.
  20. Kibzun A.I., Rasskazova V.A. LIP model as mathematical ware for an optimal flow production planning system at operational scheduling stage. Automation and Remote Control, 2023, vol. 84, no. 5, pp. 529–542. doi: 10.1134/S0005117923050065.

Дополнительные файлы

Доп. файлы
Действие
1. JATS XML
2. Рис. 1. Длительность ожидания и время обработки требования σi

Скачать (12KB)
3. Рис. 2. Длительность подготовки при последовательном назначении требований

Скачать (10KB)
4. Рис. 3. Задача о назначении подготовительных агрегатов

Скачать (10KB)
5. Рис. 4. Задача о формировании детализированных технологических маршрутов

Скачать (13KB)
6. Рис. 5. Фрагмент начальной популяции

Скачать (18KB)
7. Рис. 6. Пересечение требований

Скачать (12KB)
8. Рис. 7. Множество If

Скачать (18KB)
9. Рис. 8. Представитель-потомок f (S)

Скачать (50KB)
10. Рис. 9. Структура вычислительного эксперимента

Скачать (56KB)
11. Рис. 10. Значение L(dk, f) для точек множества If

Скачать (65KB)

© Kibzun A.И., Rasskazova V.А., 2025

Creative Commons License
Эта статья доступна по лицензии Creative Commons Attribution-ShareAlike 4.0 International License.

Согласие на обработку персональных данных с помощью сервиса «Яндекс.Метрика»

1. Я (далее – «Пользователь» или «Субъект персональных данных»), осуществляя использование сайта https://journals.rcsi.science/ (далее – «Сайт»), подтверждая свою полную дееспособность даю согласие на обработку персональных данных с использованием средств автоматизации Оператору - федеральному государственному бюджетному учреждению «Российский центр научной информации» (РЦНИ), далее – «Оператор», расположенному по адресу: 119991, г. Москва, Ленинский просп., д.32А, со следующими условиями.

2. Категории обрабатываемых данных: файлы «cookies» (куки-файлы). Файлы «cookie» – это небольшой текстовый файл, который веб-сервер может хранить в браузере Пользователя. Данные файлы веб-сервер загружает на устройство Пользователя при посещении им Сайта. При каждом следующем посещении Пользователем Сайта «cookie» файлы отправляются на Сайт Оператора. Данные файлы позволяют Сайту распознавать устройство Пользователя. Содержимое такого файла может как относиться, так и не относиться к персональным данным, в зависимости от того, содержит ли такой файл персональные данные или содержит обезличенные технические данные.

3. Цель обработки персональных данных: анализ пользовательской активности с помощью сервиса «Яндекс.Метрика».

4. Категории субъектов персональных данных: все Пользователи Сайта, которые дали согласие на обработку файлов «cookie».

5. Способы обработки: сбор, запись, систематизация, накопление, хранение, уточнение (обновление, изменение), извлечение, использование, передача (доступ, предоставление), блокирование, удаление, уничтожение персональных данных.

6. Срок обработки и хранения: до получения от Субъекта персональных данных требования о прекращении обработки/отзыва согласия.

7. Способ отзыва: заявление об отзыве в письменном виде путём его направления на адрес электронной почты Оператора: info@rcsi.science или путем письменного обращения по юридическому адресу: 119991, г. Москва, Ленинский просп., д.32А

8. Субъект персональных данных вправе запретить своему оборудованию прием этих данных или ограничить прием этих данных. При отказе от получения таких данных или при ограничении приема данных некоторые функции Сайта могут работать некорректно. Субъект персональных данных обязуется сам настроить свое оборудование таким способом, чтобы оно обеспечивало адекватный его желаниям режим работы и уровень защиты данных файлов «cookie», Оператор не предоставляет технологических и правовых консультаций на темы подобного характера.

9. Порядок уничтожения персональных данных при достижении цели их обработки или при наступлении иных законных оснований определяется Оператором в соответствии с законодательством Российской Федерации.

10. Я согласен/согласна квалифицировать в качестве своей простой электронной подписи под настоящим Согласием и под Политикой обработки персональных данных выполнение мною следующего действия на сайте: https://journals.rcsi.science/ нажатие мною на интерфейсе с текстом: «Сайт использует сервис «Яндекс.Метрика» (который использует файлы «cookie») на элемент с текстом «Принять и продолжить».