Научная статья на тему 'Алгоритм метода ветвей и границ оптимизации расписаний выполнения пакетов заданий в конвейерных системах'

Алгоритм метода ветвей и границ оптимизации расписаний выполнения пакетов заданий в конвейерных системах Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
5
0
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
конвейерные системы / пакеты заданий / метод ветвей и границ / расписания выполнения пакетов заданий / pipeline systems / batch jobs / branch and bound method / batch scheduling

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Кротов Кирилл Викторович

Введение: оптимизация расписаний выполнения пакетов заданий обеспечивает эффективную реализацию производственных и вычислительных процессов. Современные методы оптимизации расписаний характеризуются ограничениями на размерность задач либо невозможностью получить решения, приближающиеся к глобально оптимальному. Цель: разработать алгоритм метода ветвей и границ оптимизации расписаний выполнения пакетов заданий в конвейерных системах. Результаты: получена математическая модель многостадийных процессов, позволяющая идентифицировать моменты времени начала выполнения пакетов заданий в соответствующих позициях в последовательностях реализации действий с ними на приборах конвейерных систем. Представлен критерий оптимизации решений, соответствующий моменту времени окончания выполнения заданий, включенных в пакеты. Сформулирован способ разбиения множеств решений на их подмножества (ветвления вершин дерева), который предусматривает добавление по одному пакету разных типов в последовательности реализации действий с ними из множеств не включенных в них пакетов. Разработан способ построения решений по порядкам выполнения на приборах пакетов, входящих в сформированные подмножества, для которых вычисляются значения критерия, используемые при обновлении верхних оценок. Синтезирован способ определения значений нижних оценок критерия для множеств решений, соответствующих вершинам дерева, полученным в результате ветвления, а также алгоритм метода ветвей и границ. Практическая значимость: исследования, проведенные с использованием программной реализации алгоритма, показали, что он позволяет до 35 % сократить время на выполнение пакетов по сравнению с решениями без оптимизации. При малом количестве типов заданий алгоритм позволяет получить решение, соответствующее глобально оптимальному. При увеличении количества типов заданий точность приближения решений к глобально оптимальному составляет 0,9-0,95.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Кротов Кирилл Викторович

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

A branch and bound algorithm for the optimization of batch scheduling in pipeline systems

Introduction: The optimization of batch scheduling ensures efficiency in production and computational processes. Modern methods of scheduling optimization are characterized by limitations on the dimensionality of tasks or the impossibility of obtaining solutions that approach the globally optimal ones. Purpose: To develop a branch and bound algorithm for the optimization of batch scheduling in pipeline systems. Results: We obtain a mathematical model of multistage processes that allows to identify the point in time when batch jobs start running in the appropriate positions in the sequences of the implementation of actions with them on the devices of pipeline systems. We present the criterion for optimizing solutions that corresponds to the point in time when the tasks included into the batch stop running. We formulate a method of partitioning sets of solutions into their subsets (branch tree vertices). This method involves adding a package of different types one at a time to the sequence of implementation of actions with them from the sets not included into them. We develop a method for constructing solutions according to the order of execution on the devices of the packages which are included in the formed subsets. For these subsets we calculate the values of the criterion used when updating the upper estimates. We synthesize a method for determining the values of the lower estimates of the criterion for sets of solutions corresponding to the vertices of the tree obtained as a result of branching. A branch and bound algorithm is also developed. Practical relevance: The studies that are conducted with the use of the software implementation of the algorithm have shown that it allows up to 35% decrease in the time for batch jobs execution as compared to the solutions without optimization. With a small number of task types, the algorithm allows one to get a solution which approximates the globally optimal one. With the increase in the number of task types, the accuracy of approximation of the solutions to the globally optimal ones is 0.9-0.95.

Текст научной работы на тему «Алгоритм метода ветвей и границ оптимизации расписаний выполнения пакетов заданий в конвейерных системах»

удк 004.453 Научные статьи

doi:10.31799/1684-8853-2023-2-15-26 Articles

EDN: WWXRRW

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

К. B. Кротовa, канд. техн. наук, доцент, orcid.org/0000-0002-9670-6141, krotov_kl @mail.ru ^Севастопольский государственный университет, Университетская ул., 33, Севастополь, 299053, РФ

Введение: оптимизация расписаний выполнения пакетов заданий обеспечивает эффективную реализацию производственных и вычислительных процессов. Современные методы оптимизации расписаний характеризуются ограничениями на размерность задач либо невозможностью получить решения, приближающиеся к глобально оптимальному. Цель: разработать алгоритм метода ветвей и границ оптимизации расписаний выполнения пакетов заданий в конвейерных системах. Результаты: получена математическая модель многостадийных процессов, позволяющая идентифицировать моменты времени начала выполнения пакетов заданий в соответствующих позициях в последовательностях реализации действий с ними на приборах конвейерных систем. Представлен критерий оптимизации решений, соответствующий моменту времени окончания выполнения заданий, включенных в пакеты. Сформулирован способ разбиения множеств решений на их подмножества (ветвления вершин дерева), который предусматривает добавление по одному пакету разных типов в последовательности реализации действий с ними из множеств не включенных в них пакетов. Разработан способ построения решений по порядкам выполнения на приборах пакетов, входящих в сформированные подмножества, для которых вычисляются значения критерия, используемые при обновлении верхних оценок. Синтезирован способ определения значений нижних оценок критерия для множеств решений, соответствующих вершинам дерева, полученным в результате ветвления, а также алгоритм метода ветвей и границ. Практическая значимость: исследования, проведенные с использованием программной реализации алгоритма, показали, что он позволяет до 35 % сократить время на выполнение пакетов по сравнению с решениями без оптимизации. При малом количестве типов заданий алгоритм позволяет получить решение, соответствующее глобально оптимальному. При увеличении количества типов заданий точность приближения решений к глобально оптимальному составляет 0,9-0,95.

Ключевые слова — конвейерные системы, пакеты заданий, метод ветвей и границ, расписания выполнения пакетов заданий.

Для цитирования: Кротов К. В. Алгоритм метода ветвей и границ оптимизации расписаний выполнения пакетов заданий в конвейерных системах. Информационно-управляющие системы, 2023, № 2, с. 15-26. doi: 10.31799/1684-8853-2023-2-15-26, EDN: WWXRRW

For citation: Krotov K. V. A branch and bound algorithm for the optimization of batch scheduling in pipeline systems. Informatsionno-upravliaiushchie sistemy [Information and Control Systems], 2023, no. 2, pp. 15-26 (In Russian). doi:10.31799/1684-8853-2023-2-15-26, EDN: WWXRRW

Введение

Выполнение в конвейерных системах (КС) заданий разных типов, входящих в наборы, предусматривает формирование пакетов для реализации операций с ними на приборах систем. Решение задачи оптимизации расписаний выполнения пакетов заданий (ПЗ) в КС предполагает решение подзадач: 1) оптимизации составов пакетов; 2) оптимизации расписаний выполнения пакетов в КС. Автором предложены следующие способы решения указанных задач: 1) метод многоуровневой оптимизации расписаний выполнения ПЗ в КС [1]; 2) метод ветвей и границ (МВГ) для оптимизации решений по составам ПЗ при построении расписаний их выполнения в КС на основе эвристического правила [2]. В практических приложениях актуальным является решение задачи оптимизации расписаний выполнения ПЗ на приборах КС.

Современные методы оптимизации расписаний выполнения ПЗ могут быть объединены

в соответствии с типом обрабатывающих систем: 1) системы с одной машиной обработки заданий в составе пакетов (Batch Proccesing Machine — BPM); 2) системы потокового типа (Flow Shop), в состав которых входят машины последовательной обработки (Job Proccesing Machine — JPM) и BPM; 3) системы с последовательной обработкой единичных заданий на первой стадии выполнения операций с ними (системы Flow Shop либо Job Shop) и с BPM на второй стадии. В работах [3, 4] рассматриваются способы оптимизации составов пакетов для их выполнения на одной BPM. Синтезированы модели смешанного целочисленного линейного программирования (mixed-integer linear programming — MILP). Особенностью предложенной в [3] модели является учет зависимости времени настройки приборов от размеров партий. При распределении заданий по пакетам в [5] используется алгоритм муравьиной колонии, позволяющий группировать задания, имеющие приближенно одинако-

вую длительность выполнения, и реализовать обмен заданиями между пакетами для снижения простоев приборов в ВРМ. В [6, 7] для определения составов ПЗ и расписаний их выполнения на приборах одной ВРМ применены эвристические правила, не гарантирующие приближения к оптимальному решению. В [8] рассматривается решение задачи построения расписаний выполнения ПЗ в системах второго типа. Для построения расписаний выполнения ПЗ использован метод обратного планирования, предусматривающий: 1) выбор пакета с наибольшим количеством заданий, определение момента времени начала действий с ним таким образом, чтобы момент времени окончания его выполнения совпадал с директивным сроком окончания для всех заданий; 2) при упорядочивании пакетов по невозрастанию количества заданий в них применение указанного подхода для каждого пакета. В [9] рассматривается система, содержащая несколько ВРМ. Способ определения составов пакетов основывается на условии, что включаемые в них задания имеют различные моменты времени поступления в систему. В соответствии с этими значениями реализуется упорядочивание заданий, на основе сформированной последовательности определяются составы пакетов с учетом пропускной способности ВРМ. Работа [10] посвящена синтезу модели М1ЬР для оптимизации расписаний в системах с машинами в следующей последовательности: первая и третья — №М, вторая — ВРМ. В соответствии с порядком выполнения единичных заданий на №М определяются составы ПЗ и порядки их выполнения на ВРМ. Значительное количество переменных и ограничений обуславливают невозможность оптимизации решений за ограниченное время при значительной размерности задач. Особенностью системы в [11] является наличие ВРМ, приборы которых могут быть включены в многостадийные процессы обработки ПЗ по одному, обеспечивая тем самым их гибкость. Сформулирован алгоритм табу-поиска, в котором выделены уровни для: 1) перераспределения заданий между пакетами; 2) упорядочивания пакетов на машинах; 3) упорядочивания заданий в пакетах. Синтезированы операторы: 1) вставки, реализующий добавление заданий в пакеты для одной либо разных ВРМ; 2) замены, реализующий замену заданий в пакетах либо пакетов на разных машинах. Обрабатывающая система, рассматриваемая в [12], содержит №М на первой и третьей стадиях обработки партий деталей и ВРМ на второй стадии. На третьей стадии выполняет функции контроля деталей, получаемых на первой и второй стадиях, включаемых в контрольные партии для идентификации бракованных среди них. Авторами [12] получены

формулы для вычисления: 1) количества и составов производственных и контрольных партий; 2) рангов партий, в соответствии с которыми реализуется их упорядочивание на приборах. В [13] конвейер обработки ПЗ представлен в виде последовательности вершин графа потока управления, в котором каждой вершине соответствует определенное приложение. Разработанная авторами [13] программа реализует моделирование перемещения пакетов в конвейере с целью определять оптимальные параметры функционирования системы (количество пакетов, поступающих на вход приложений в единицу времени, размеры пакетов) и оптимальное распределение ресурсов между приложениями. Система, рассматриваемая в [14], содержит на первом этапе Job Shop, а на заключительной стадии обработки — BPM. По окончании обработки в Job Shop детали размещаются в буфере перед BPM. Задача распределения заданий по пакетам решается при различных моментах времени поступления их в буфер.

Современное состояние применения МВГ для оптимизации расписаний характеризуется работами [15-20], в которых решаются следующие задачи:

— оптимизация составов ПЗ и расписаний их выполнения на одном приборе с целью минимизировать затраты на производство изделий в составе партий, незавершенное производство [15];

— построение расписаний выполнения единичных заданий в системах Flow Shop [16];

— оптимизация расписаний выполнения единичных заданий на параллельных приборах [17];

— построение расписаний выполнения проектов при ограничениях на возобновляемые ресурсы и директивные сроки окончания [18];

— проектное планирование при разработке программ [19];

— построение расписаний выполнения заданий при условии нечетких длительностей реализации действий с ними на приборах [20].

Таким образом, применение МВГ для задач оптимизации расписаний выполнения ПЗ заданных составов в КС не реализовано, требуется развить МВГ для решения задачи оптимизации расписаний выполнения ПЗ в КС.

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

Синтез модели процессов выполнения ПЗ в КС обеспечивается введением обозначений для входных данных, параметров и решений, соответствующих порядкам реализации действий с ПЗ. Введены обозначения: N — количество типов заданий, выполняемых в КС; i — иден-

тификатор типа заданий, пакеты которых выполняются в КС (г = 1, N); \ — идентификаторы

последовательно-

приборов КС (\ = 1, Ь); %1 сти выполнения ПЗ на 1-х приборах КС, соответствующие порядкам реализации действий с ними; М = (то-р т^, ..., тя)т — вектор количества ПЗ 1-х типов; А = ||аг^^хттах — матРиЧа составов ПЗ |ттах = тах(тг )|; Ыр — количество

ПЗ, размещаемых в последовательностях %1, порядок выполнения которых в КС оптимизируется; Т = | |£й||ьхN — матрица длительностей выполнения заданий на приборах КС;

NxN

(\ = 1, Ь) — матрицы длительностей

переналадок 1-х приборов с выполнения заданий 1-х на выполнение заданий г'-х типов (Ьг\ = 0); ' — номера позиций, которые занимают ПЗ в последовательностях п1 (\ = 1, Ь); Я = Цгу-Ц ^ — матрица количества заданий 1-х типов в пакетах,

т! in-

занимающих в nlj-e позиции; T =

nl

tij

N xN„

матрицы моментов времени начала выполнения ПЗ 1-х типов, занимающих '-е позиции в последовательностях %1.

Постановка задачи оптимизации расписаний выполнения ПЗ в КС формулируется следующим образом. Параметры процесса выполнения ПЗ в КС: 1) количество типов заданий N и приборов Ь; 2) матрицы: Т длительностей выполнения заданий и Т1 (\ = 1, Ь) длительностей переналадок приборов. Входными данными являются: вектор М количества ПЗ и матрица А составов ПЗ. Результатом являются: 1) матрица К порядка выполнения ПЗ в КС; 2) матрицы Тп1 моментов времени начала выполнения ПЗ 1-х типов, занимающих в я\у-е позиции.

Математическая модель процессов выполнения ПЗ в КС обеспечивает определение значений элементов матриц Тп1 на основе матриц Т, Т1 (\ = 1, Ь) и матрицы К порядка их выполнения. Определение значений Ьц реализуется с использованием значений простоев \-х приборов в ожидании начала выполнения ПЗ 1-х типов в ]-х позициях в %1 (\ = 1, Ь), обозначенных как

Ргу. Выражения для вычисления значений Ргу получены в следующем виде:

-1 = 1: РП1 = 0 (i = 1, N; j = 1, Np); -l > 1: Prj = max[0, j1 + rj • t«^i

- (j+* j_1 • tu,+ 4i)],

) -

(1)

(2)

где у' = 2, Np; г' — тип заданий в пакете, занимающем в последовательностях %1 (у - 1)-ю позицию, предшествующуюу'-й позиции пакета г-го типа.

Выражения для вычисления tj^ (l = 1, L) получены в виде

-l = 1: tJi1 = 0 (j = 1); j = t?1/-1 + rj' j-1 • hr + t)i (j = 27NP); (3)

l-1 N

~l > 1: ti1 = • rs1 (j = 1);

S=18=1

tij = j + j • tli + 4j + Prj (j=2N), (4)

где i интерпретируется по аналогии. В результате математическая модель процессов выполнения ПЗ в КС представлена выражениями (1)-(4).

Критерий оптимальности расписаний представляет собой момент времени окончания выполнения ПЗ на L-м приборе и определяется выражением вида max (tfL + rj jtLj). Задача опти-j=1, Np

мизации расписаний имеет вид

min f (R) ,

(5)

где f (R) = max^ + rj fa j).

j=1, nB

i jT'i , fL ,i>

Ограничения множества допустимых расписаний имеют вид:

1) ограничение на количество заданий г-го типа в пакетах в последовательностях %1 их выпол-

NP т

нения на приборах КС: ^ Г' = ^ а^;

3=1 ь=1

2) ограничение на общее количество заданий N типов в пакетах в последовательностях %1 их

N Np N тг выполнения на приборах КС: ^^Гу = ^^ а^.

¿=13=1 ¿=1 н=1

Алгоритм метода ветвей и границ оптимизации расписаний выполнения ПЗ в КС

Метод ветвей и границ использован для оптимизации порядка выполнения ПЗ на приборах КС (последовательностей п1 (\ = 1, Ь) реализации действий с ПЗ в КС). Для разработки алгоритма оптимизации расписаний выполнения ПЗ в КС, использующего МВГ, в рассмотрение введены обозначения: \к — идентификатор вершины в дереве МВГ, формируемой на &-й итерации алгоритма (соответствующей размещению ПЗ г-го типа в у'-й позиции в последовательностях %1 их выполнения в КС); — множество решений, предусматривающих размещение одного Л--го пакета г-го типа в у'-й позиции в последовательностях %\ (\ = 1, Ь), соответствующее \к-й вершине; С0к — нижняя оценка значений критерия f, вы-

числяемая для ¡к-й вершины, соответствующей О к • 0В — верхняя оценка значений критерия / соответствующая решению-рекорду; И^ — множества номеров кг ПЗ 1-х типов (г = 1, N), которые сопоставлены ¡к-й вершине дерева МВГ в целях реализации процедуры ветвления (ПЗ размещаются в (у + 1)-й позиции в последовательностях %1 (I = 1, Ь) их выполнения в КС

(кг е )); Иг2 — копии множеств И1 номеров кг ПЗ 1-х типов (г = 1, N), используемые при вычислении значения 01к и значения критерия / для

решения, входящего в 01к; Я1 = г1 — ма-

у

N

трица количества задании 1-х типов в пакетах, занимающих у-е позиции в л", соответствующая

вершине дерева МВГ; = Г){

— ко-

N xN„

пия матрицы И к, модифицируемая при вычислении 01к и значения критерия / для решения,

входящего в

О^к • хп1 =

Ы

N xN

— матрицы

р

моментов времени начала выполнения ПЗ 1-х типов, занимающиху'-е позиции в %1 (I = 1, Ь), соответствующие ¡к-й вершине дерева для вычисления 0к и значения критерия /; I, I' — векторы типов заданий, в которых они упорядочены по неубыванию средней длительности переналадок; N1 и N1, — количество элементов в I и I';' — номер позиции, в которой в п1 размещаются оставшиеся не добавленными задания разных типов при вычислении 01к и значения критерия /; О — множество номеров ¡к~х вершин к-го уровня дерева.

Разработка алгоритма МВГ включает синтез процедур: 1) разбиение множеств решений 0^к на подмножества 0!'к+1 (ветвление ¡к~х вершин дерева); 2) формирование решений по порядку выполнения ПЗ в п1, входящих в множества 01к, для которых реализуется вычисление значений критерия /, используемых при определении значения оценки Ов и вычислении нижних оценок 01к для множеств 0к. Также требуется явно определить условия: 1) исключения бесперспективных множеств решений О^, соответствующих ¡к~м вершинам, из дальнейшего рассмотрения; 2) остановки алгоритма МВГ при получении оптимального решения.

Каждой вершине дерева соответствуют кортеж параметров <к, ¡к, г, к¿, '>, группа множеств Дд (г = 1, N), содержащих номера кг пакетов 1-х типов, которые будут включены в последовательности %1 на следующей итерации алгоритма (сопоставлены вершинам (к + 1)-го уровня дерева МВГ). Реализации ветвления предшествует формирование множеств Н1! (г = 1, N) номеров ПЗ 1-х типов, которые размещаются в л" (множества И0, соответствующие корневой вершине О0, имеют вид Ид = {1, 2,.., тг}). Процедура ветвле-

ния вершин дерева предполагает, что множество О корневой вершины разбивается на подмноже-

( N \

ства решений О 1

¡1 = 1, ь , Ь = х

т;

каждое

из которых предполагает размещение в (у = 1)-й позиции в последовательностях л" одного к-го пакета г-го типа (г = 1, N). Формируемым вершинам ставятся в соответствие кортежи <1, ¡1, г, к^ 1>

( __N _ _^

¡1 = 1, Ь^, Ь = ^ тг, кг = 1, тг, г = 1, N . После

г=1 )

формирования (к = 1)-го уровня дерева МВГ и сопоставления каждой его вершине определенного к-го ПЗ г-го типа (кг = 1, тг, г = 1, N) реализуется модификация множеств Я?} (г = 1, N). Из множества Н1 для заданий г-го типа, пакет которых сопоставлен с ¡1-й вершиной (к = 1)-го уровня дерева МВГ, исключается идентификатор пакета кг (= НЦ \{кг}). При реализации процедуры ветвления ¡1-й вершины формируются ¡2-е вершины на (к = 2)-м уровне, каждой из которых соответствует множество О"2 решений, предусматривающих размещение в (у = 2)-й позиции в последовательностях %1 к^-х пакетов г'-х типов (г' Ф г), идентификаторы которых принадлежат множествам Н¡1 (г = 1, N), соответствующих "1-й вершине, подвергающейся ветвлению. Для ¡2-й вершины, полученной при ветвлении

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

¡1-й вершины, множества Н"2 (г = 1, N) имеют

" ¡

вид: 1) если г = г', то Н^^ = НЦ \ {кг}; 2) если г Ф г', то #¡2 = нЬ. При ветвлении ¡к"й вершины фор-

мируются (¡к+1)-е вершины, каждой из которых соответствует кортеж <к + 1, ¡к+\, г', к^,' + 1> и множества Н!^1. Каждой ¡к+х-й вершине, по-

лучаемой в результате ветвления, сопоставлено множество решений 0к+1, предусматривающих размещение одного кг~то пакета такого, что кг е Н1 в текущей (у' + 1)-й позиции в последовательностях л" их выполнения на приборах КС

(НЛ - множества идентификаторов ПЗ, не раз-

1

мещенных в последовательностях я, соответствующих ¡к"й вершине).

Способ вычисления оценки 01к и значения критерия / для решения, входящего в множество 0^к (используемого при возможном обновлении значения верхней оценки Ов), предусматривает формирование матрицы Я^ порядка выполнения кг~х пакетов, добавленных в %1 к текущей к-й итерации алгоритма. Идентификаторы 1-х типов заданий, кг~х пакетов, номера позиций' пакетов в последовательностях входящих в кортежи <к, ¡к, г, кг, '> для вершин, используются при

инициализации значений элементов гк матри-¡ ¡

цы Я к следующим образом: Ггк = агк (к = кг, агк — элементы матрицы А, соответствующие

количеству задании в пакетах, занимающих у'-е позиции в последовательностях %1). В итоге формируется матрица И1к, соответствующая по-

рядку выполнения

ПЗ в %1 для рассматриваемой lk-ü вершины. Матрица R k передается при ветвлении lk-ü вершины дочерней (^+1)-й вершине в целях ее дополнения значением количества заданий в пакете, размещаемом в следующей (j + 1)-й позиции в л1.

На основе матрицы Rlk формируется матрица Rik, используемая при расчете Ok и значения критерия f для решения, входящего в Glk, используемого при обновлении оценки Ов. Алгоритм модификации матрицы R1 для вычисления Olk и значения критерия f (для обновления Ов) содержит шаги:

1. Присвоить счетчику Nr значение N: Nr = N. Присвоить j значение позиции j из кортежа, соответствующего рассматриваемой lk-й вершине: j = j.

2. Если Nj, = 0, то перейти на п. 4. Если Nr ^ 0, то определить номер s' элемента в векторе I', соответствующего типу заданий i's: s' = min s. В соответствии с s' определить в I' тип оставшихся заданий, которые размещаются в позиции j' в %1: i = i's. Удалить i's из вектора I', модифицировать

Nr: Nr = Nr- 1.

3. Модифицировать номер j' позиции в последовательностях я1, в которой размещаются оставшиеся задания i-ro типа: j' = j' + 1.

Инициализировать элемент (г/ )1k матрицы

lk l ' xj l

R1 • (Г/')1k = П - ^ (ijs) k. Перейти на п. 2.

s=1

4. Останов алгоритма.

В матрице R^ элементы столбцов с 1-го по j-й соответствуют ПЗ, добавленным в эти последовательности nl при реализации процедуры ветвления l^x вершин. Элементы столбцов с индексами, большими j, формируются с учетом размещения в nl оставшихся заданий i-x типов (i = 1, N), не размещенных в них до этого. Процедура вычисления оценки O k предполагает реализацию этапов:

1. Расчет значений элементов матриц

Tf^ (l = 1, L) для ПЗ, размещенных в nl в позици-

lk

ях с 1-ю по j-ю, где j — элемент кортежа <k, lk, i, hi, j > для lk-й вершины, для которой вычисляется оценка Olk. Для этого предусматривается ис-

inL

пользование матрицы И! и выражений (1)-(4)

2. Расчет значений элементов матрицы Т,п

(для Ь-го прибора) для «остатков» заданий, размещенных в п1 в позициях, больших у'-й. Для этого предусматривается использование матрицы , а также формулы вида

('1 )П" = ^ + Г'' • ьЬ . (6)

На основе значений элементов матрицы Т,^ \ \ 1к нижняя оценка О к для множества О к определяется как момент времени окончания выполнения ПЗ на Ь-м приборе КС, а также оставшихся не размещенными в %1 заданий разных типов:

Ф = (t Г + iJ,Np ■ tLj,

4nL

(7)

где Np — позиция последнего ПЗ г-го типа в пЬ на Ь-м приборе. \

Способ формирования матрицы К , способ расчета значений элементов матриц Т;п1 и Т,^ соответствуют размещению в последовательностях %\ всех ПЗ для вершин, лежащих на пути из нулевой в рассматриваемую \к-ю вершину, и размещению всех оставшихся заданий в последовательности пЬ на Ь-м приборе.

Обновление значения верхней оценки Ов обеспечивается расчетом значения критерия [ для сформированного порядка выполнения ПЗ в п1

(\ = 1, Ь), которому соответствует матрица И]4, синтезированная с использованием приведенного выше способа (для каждой \к-й вершины). Вычисление значения [ для решения, представленного матрицей , обеспечивается определением значений элементов (матриц

\ - " \к

Т, (\ = 1, Ь) в соответствии с выражениями (1)-

(4). Значение критерия f для расписания выполнения ПЗ в КС, характеризуемого матрицей И4, определяется выражением

Л

f (R1 ) = (t-

N.

)nL + r

i,Np " tL,i

(8)

где i — тип задании, пакет которых занимает последнюю Np-ю позицию в последовательностях %l (l = 1, L). При формировании l^x вершин на некотором k-м уровне дерева МВГ пересчет верхней оценки и обновление рекорда реализуется при условии min f (R^) < OB (где min f (R^) определяется среди значений критерия f, соответствующих решениям из множеств Gk для lk-x. вершин k-ro уровня дерева).

Условие исключения дальнейшего ветвления lk-x вершин дерева МВГ в целях сокращения мощности множества расписаний выполнения ПЗ в КС (отбрасывания бесперспективных направлений) имеет вид Olk > OB, где Olk - нижняя оценка для множества решений Glk, соответствующего lk-й вершине.

Условие останова алгоритма предполагает, что если для решения по порядкам выполнения ПЗ в КС, характеризуемого матрицей R^, получено значение критерия f (R^), для которого выполняется условие f (R1k) = Ok < Ol (lk — индексы других вершин рассматриваемого k-ro уровня

дерева МВГ, ¡'к ^ ¡к), то это решение является оптимальным, и дальнейший поиск прекращается.

Вычисление верхней оценки Ов и определение решения-рекорда для множества О0 предусматривает, что сформированы: 1) множества номеров пакетов заданий 1-х типов Н01 (Н01 = {1, 2,.., тг} (г = 1, N)); 2) векторы I и I', элементами которых являются типы заданий, упорядоченные по неубыванию средней длительности переналадок приборов. Для сформированной матрицы Я0 с использованием выражений (1)-(4) определяются значения элементов матриц Тд^ (! = 1, Ь). На основе значений элементов матрицы То^ идентифицируется значение критерия /для множества О0, которое выступает в качестве верхней оценки Ов, соответствующее ему решение является рекордом.

Алгоритм МВГ, позволяющий реализовать оптимизацию расписаний выполнения ПЗ на приборах КС, имеет следующий порядок шагов:

1. Для корневой вершины дерева МВГ (множества О0) сформировать множества Я0 (г = 1, N) в виде Н°1 = {1, 2,.., тг}. Сформировать вектор типов заданий I. Инициализировать вектор I': I' = I. Инициализировать элементы г0 матрицы Я0 значениями 0. Инициализировать матрицу

R0 : R0 = R0. Выполнить процедуру модифика-

»0

т>0

ции матрицы Ri пользованием

0

На основе матрицы с ис-выражений (1)-(4) определить значения элементов (Ьу ^ матриц Т^. На основе матрицы Т^ вычислит ь значение критерия / по формуле (8), соответствующее множеству О0. Инициализировать матрицу Кв, соответствующую решению-рекорду: = Я0, оценку 0В инициализировать значением критерия /

2. Задать значение номера к итерации алгоритма равным 1 (к = 1). Инициализировать множество О Ф 0. Выполнить формирование дочерних ¡1-х вершин дерева МВГ, используя для этого множества Я0 (г = 1, N). Каждой сформированной вершине дерева МВГ поставить в соответствие кортеж вида <1, ¡1, г, кг, 1>. Добавить идентификаторы сформированных ¡1-х вершин, полученных в результате ветвления, в множество С __N А

= ОМУ ¡1 = 1, Ь = ^тг, 01 = Ь

\ г=1

Для каждой дочерней ¡1-й вершины выполнить

1 !

инициализацию множеств НЦ, используя множества Н0 корневой вершины. Для каждой ¡1-й вершины выполнить модификацию множества

Н

k

il

соответствующего типу задании i из корте-

жа <1, l

h, 1>:

4 = flj \{h}

где h

мер пакета, размещенного в (у' = 1)-й позиции в ^ (! = 1, Ь). Инициализировать векторы I и I'. Для каждой ¡1-й вершины на основе матрицы К0

сформировать матрицы К1, а затем их модифи-

¡1

цировать путем инициализации элементов значением элемента аг к матрицы А, индексы которого соответствуют значениям элементов кортежа для этой вершины. На основе матрицы Я¡1 сформировать матрицу . Для каждой ¡1-й вершины с использованием множеств Н^ (г = 1, N) путем реализации соответствующей процедуры модифицировать матрицу R11. Для каждой ¡1-й

вершины на основе матрицы ии^сдеяин

значение нижней оценки 0¡1 для множества О¡1

определить

с использованием рассмотренной процедуры. Для каждой ¡1-й вершины на основе сформированной матрицы Rl1 с использованием выражений (1)-(4) определить значения элементов

(tij)fk матриц Т,ш (l = 1, L), а также значение

ч ¿1 ¿1

f (R1) для решения, входящего в множество G 1. Если для l!-х вершин выполняется условие

min f (r1 ) < OB, то верхняя оценка Ов модифи-1 k цируется (OB = min f (R11)).

3. Если для одной из lk-x вершин 1-го уровня дерева выполняется условие f (R^) = = Olk < Okk (Okk - нижние оценки l'k-x вершин, принадлежащих k-му уровню дерева), то инициализировать матрицу RB: Перейти на п. 19. Если условие f (R1k) = Ok < Ok не выполняется ни для одной ¿k~ü вершины на k-м уровне дерева МВГ, то идентифицировать l^e вершины (¿k £ Qk) такие, что Ok > OB. Идентификаторы lk~x вершин k-ro уровня дерева МВГ, для которых Olk > OB, исключить из множества Qk : Qk = = Qk\{lk}. Сформировать множество Q^ вершин — кандидатов на ветвление: Qk = Qk.

4. Если Qk = 0, то перейти на п. 18. Если

rnl

rk

k

то среди

lk'x

Q' в

брать lk -ю вершину,

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

= min(Olk |lk eQl).

5. Модифицировать

вершин (¿k е Qk) вы-

для которой

Olk =

множество

Ql : Qk, =

N

= Q^ }. Если для ¿k-й вершины ^ НЦ = 0,

N

i=1

¡в

то перейти на п. 4. Если ^ Н £ Ф 0, то перейти на п. 6. 1=1

¡в

6. С использованием множеств Н^ для Щ-й вершины сформировать дочерние вершины (количество сформированных дочерних вершин

N

X

определяется как

¡в

множество Нг 1, соответствующее типу г заданий и номеру кг пакета заданий в кортеже < к, ¡к ,г, кг, у > для ¡^ -й вершины следующим

образом: яЦ = яЦ \{кг}.

7. Инициализировать идентификатор (номер) ¡к+1-й вершины на (к + 1)-м уровне дерева МВГ

i=1

lB Hi

). Модифицировать

но-

значением 1: l

k+1

1. Инициализировать Q

k+1

Як+1 = 0.

8. Извлечь идентификатор \'к~й вершины из множества Як в соответствии с условием \'к = ш1и(\к|\к е Як). Исключить идентификатор \'к~й вершины из множества Я^ Як = Як\{\'и!- Если \'к = \к, то перейти на п. 10. Если \'к ^ \|, то присвоить рассматриваемой вершине идентификатор \к+1 вершины на (к + 1)-м уровне и поставить ей в соответствие кортеж параметров вида <к + 1, \к+1, г, '>, в котором значения параметров г, Ьг,' соответствуют значениям параметров из кортежа \к"й вершины. Поставить в соответствие \к+1-й вершине множества Н11 (г = 1, N)

следующим образом: Н1^1 = (г = 1, N). Инициализировать матрицу И1к+1 для \к+1-й вершины: И1к+1 = И1к. Дополнить множество Як+1 номером \к+х-й вершины: °к+1 = Як+)\{\к+1}-Модифицировать идентификатор \к+1 вершины на (к + 1)-м уровне дерева МВГ: \к+1 = \к+1 + 1.

9. Если \'к < \к, то перейти на п. 8.

10. Исключить идентификатор \к-й вершины из Як : Як = Як \{\к}. Инициализировать

\В -

множества Н2 (г = 1, N) для \к-й вершины:

\В \В _

= Н1 (г = 1, N). Задать тип заданий г', пакеты которых будут сопоставляться с вершинами, полученными в результате ветвления, равным 1. Модифицировать номер позиции' ПЗ из кортежа < к, \к, г, Ьг, ' >, соответствующего \к"й вершине: ' = ' + 1.

11. Если для г'-го типа заданий выполняется условие г' = г (где г — тип заданий в кортеже, соответствующем \к -й вершине), то перейти на п. 14.

12. Если для множества Н^, соответствующего рассматриваемому г'-му типу зада-

ний, выполняется условие НА = 0, то перей-

\В г 2 \в

ти на п. 14. Если ^ то извлечь из Дг^ номер пакета, размещаемого в '-й позиции в последовательностях п1 их выполнения на приборах КС, модифицировать множество

Н^ : Щ'= тш{| Ъ е Я«}, Н% = н%\{Щ.

С использованием значений: номера \к+гй вершины дерева МВГ, идентификатора типа заданий г', идентификатора пакета заданий Н\,, номера ' позиции пакета в последовательностях %1 — инициализировать параметры корте-

жа вершины, являющейся дочерней к -и вершине: <к + 1, \к+1, г', Щ,, '>. Инициализировать матрицу Ик+1, соответствующую добавленной

вершине:

l lB

R k+1 = Rk

Модифицировать матрицу И1к+1 путем инициализации элемента

г' 1 : г' 1 = а^ь., (а^ь, — соответствующий элемент матрицы А). Дополнить множество Як+1:

Qk+1 = Qk+1^{lk+1>. Инициализировать множества H11 для lk+1-й вершины: H1^1 = H^.

13. Модифицировать номер вершины: lk+1 = lk+1 + 1. Перейти на п. 12.

14. Модифицировать идентификатор i типа заданий, пакеты которых добавляются в последовательности %1 в рассматриваемую j-ю позицию: i = i + 1. Если i'< N, то модифицировать значение идентификатора lk+1 вершины на (k + 1)-м уровне дерева МВГ: lk+1 = lk+1 + 1, перейти на п. 12. Если i > N, то модифицировать идентификатор lk+1-й вершины: lk+1 = lk+1 + 1. Перейти на п. 15.

15. Извлечь идентификатор lk-й вершины из множества Qk в соответствии с условием l'k = min(lk|lk e Qk). Исключить идентификатор l'k~ü вершины из множества Qk : Qk = Qk|{lk} Присвоить вершине идентификатор lk+1 и поставить ей в соответствие кортеж параметров <k + 1, lk+1, i, hi, j>, в котором значения параметров i, hi, j соответствуют значениям кортежа параметров lk-й вершины. Поставить в соответствие рассматриваемой lk+гй вершине множества

H\1+1 (i = 1N): H\1+1 = H?1. Инициализировать матрицу Rlk+1 : Rlk+1 = Rlk. Дополнить множество Qk+1 номером lk+1-fi вершиньг Qk+1 = Qk+1^{lk+1>.

16. Если Qk+1 ^ 0, то модифицировать значение идентификатора lk+1 вершины: lk+1 = lk+1 + 1, перейти на п. 15. Если Qk+1 = 0, то перейти на п. 17.

17. Модифицировать значение идентификатора k текущего рассматриваемого уровня дерева МВГ: k = k + 1. Инициализировать векторы I и I'. Для каждой lk-й вершины инициализировать матрицы R1k на основе матриц Rlk : R^ = Rlk. Для каждой lk-й вершины с использованием множеств Hl1 (i = 1, N) модифицировать матрицу

l l R1k и определить значение нижней оценки O k

для множества G k. Для каждой lk-й вершины на основе сформированной матрицы r1 с использованием выражений (1)-(4) вычислить значения

элементов матриц T,nl (l = 1, L), а также значение l lk l f (R1k) для решения, входящего в множество G k.

Если для lk-x. вершин выполняется условие

min f (R1k) < OB, ,то модифицировать значение Ов: OB = min f (R1k). Перейти на п. 3.

18. Для каждой lk-й вершины k-ro уровня (lk е Qk) на основе сформированной матрицы Rlk с использованием выражений (1)-(4) вычислить

значения элементов (tij)fl матриц Tf1, (l = 1, L),

J l lk lk a также значение f (Rk) для решения, которому соответствует эта матрица. Среди решений по порядкам выполнения ПЗ на приборах КС, сопоставленных lk-м вершинам (lk е Qk), идентифицировать решение, для которого

Rlk = arg min f (Rlk), и соответствующую ему ¿¿-ю вершину. С использованием Rlk инициализировать решение-рекорд RB: RБ = Rik.

19. Останов алгоритма.

Исследование эффективности применения алгоритма МВГ при оптимизации расписаний выполнения ПЗ в КС

Для исследования эффективности применения МВГ при оптимизации расписаний выполнения ПЗ в КС использованы параметры: неоднородность длительностей выполнения заданий — max(tii)/min(tii); неоднородность длительностей

переналадок — max( tj )/min( tkj). Значения max(tj)/min(tj) e {1, 2, 4, 8, 12}; значения max(tki)/ min(tii) e {1, 2, 4, 8}. Значения n e {2, 3, 5}, значения mi e {2, 4, 6}, ni = 6 при m- = 2, ni = 12 при mi = 4, ni = 24 при mi = 6. Значение L = 3. В качестве результатов фиксируются зависимости значений отношения fC B B.n = (/фикс - /0.р.п)//фикс от входных параметров (fc в в п — снижение времени выполнения пакетов при оптимизации расписаний по сравнению с фиксированными ПЗ, /с^икс — значение критерия для фиксированных ПЗ, fopn — значение критерия при оптимизации расписаний пакетов с использованием МВГ). Графики, отображающие зависимости значений fc в в п от значений входных параметров задачи, представлены рис. 1-3. Вычислительная сложность алгоритма оценена как O(n ■ mf), где n — количество типов заданий, mi — количество па-

кетов каждого типа (г = 1, N). Оценка требуемой памяти для реализации алгоритма — О(пт^).

Интервалы времени получения результатов не превышают: при n е {2, 3} и mi = 2 — 1 мин; при n е {2, 3} и mi = 4 — 3 мин; при n = 2 и mi = 6, n = 5 и mi = 2 — 10 мин. Программа реализована с использованием языка C# в среде разработки Visual Studio. Анализ результатов показал, что использование МВГ позволяет снизить время выполнения ПЗ при оптимизации расписаний на 30-35 % по сравнению с не оптимизируемыми решениями. При n = 2 МВГ формирует оптимальное решение, соответствующее решению, полученному при полном переборе. При n = 3 точность приближения решения к глобально оптимальному составила 0,9-0,95.

Применение разработанного алгоритма метода МВГ оптимизации расписаний выполнения ПЗ в КС достаточно обширно. В частности, целесообразно его применение в системах оптимизации расписаний (планирования) многостадийных процессов обработки партий деталей в многономенклатурных механообрабатывающих производствах (планирование процессов реализуется с учетом динамически поступающих заказов на выпуск продукции), а также при оптимизации расписаний (планировании вычислительных процессов) обработки пакетов данных дистанционного зондирования Земли в составе web-ориентированных сервисов мониторинга ее поверхности в целях идентификации наличия на ней негативных природных явлений и техногенных воздействий на окружающую среду, их характеристик и условий распространения [21] (массивы значений отражательной способности земной поверхности, включаемые в пакеты, получены строго в одних и тех же каналах от одного и того же искусственного спутника Земли и соответствуют областям на ее поверхности

б)

max(fy)/min(iy) — max(ia)/min(ia)=2

jS

¡Н S

й Я

а Й

н ч

Й й

И со

в 3 °

s ^

Я И

ig « § Н

а ®

m и ® ш

!§ Я 2

я £ я

0,35

0,30

0,25

0,20

0,15

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

я 0,10

0,05

0,00

max(iy)/min(iy)

max(%)/min(iß )=4

max(f^)/min(iß)=8

■ Рис. 1. Уменьшение времени выполнения пакетов заданий при оптимизации расписаний для: а — n = 2, mi = 2 (i = 172); б — n = 2, mt = 4 (i = 172)

■ Fig. 1. Decrease of the time of execution of the batchs of tasks when optimizing schedules for: a — n = 2,

mi = 2 (i = 172); б — n = 2, mt = 4 (i = 172)

а)

5 и £

а Й « ^ ч й я я ё

со со s

% I? § 3 £ я и S ¡а

Я К

S Ч s 1 с я

о, ® й ^s 5

S ® s

s £ *

« ч н

!§ § I» &

° й С и

max(fy)/min(iy) — max(%)/min(ia)=2

max(iy)/min(ijy)

max(%)/min(ia )=4

max(f^)/min(i й)=8

■ Рис. 2. Уменьшение времени выполнения пакетов заданий при оптимизации расписаний для: а mi = 6 (i = 172); б — n = 3, mt = 2 (i = 173)

■ Fig. 2. Decrease of the time ofexecution of the batchs of tasks when optimizing schedules for: a mi = 6 (i = 172); б — n = 3, mt = 2 (i = 173)

n = 2, n = 2,

max(i;;)/min(i;;) и у

— max(%)/min(ia)=2

max(fy)/min(iy)

max(fa)/min(i^)=4

max(fa)/min(i^)=8

■ Рис. 3. Уменьшение времени выполнения пакетов заданий при оптимизации расписаний для: a — n = 3, mi = 4 (i = 173); б — n = 5, mi = 2 (i = 175)

■ Fig. 3. Decrease of the time of execution of the batchs of tasks when optimizing schedules for: a — n = 3,

mi = 4 (i = 173); б — n = 5, mi = 2 (i = 175)

одинакового размера). Составы партий деталей, выпускаемых на приборах КС, определяются заказами от потребителей, поступающими на предприятие. Оптимизация расписаний обработки партий деталей в КС позволяет значительно сократить время, затрачиваемое на их выпуск. Оптимизация расписаний выполнения ПЗ на обработку массивов данных дистанционного зондирования Земли позволяет значительно сократить время отклика на запросы пользователей по определению в заданных ими областях на земной поверхности наличия на ней негативных природных явлений и техногенных воздействий на окружающую среду, их характеристик и условий распространения [21].

Заключение

Современные методы построения расписаний выполнения ПЗ предусматривают, что обрабатывающие системы включают ВРМ. Эти методы характеризуются ограничением на размерность задач, а также невозможностью гарантированного получения решения, приближающегося к глобально оптимальному. Алгоритмы МВГ не ориентированы на оптимизацию расписаний многостадийных процессов выполнения ПЗ в КС. В связи с этим разработана математическая модель процессов выполнения ПЗ в КС, способы вычисления нижней и верхней оценок множеств решений, способ ветвления вершин в дереве

МВГ, а также непосредственно алгоритм МВГ для оптимизации расписаний выполнения ПЗ в КС. Использование разработанного алгоритма МВГ для оптимизации расписаний выполнения

Литература /

1. Кротов К. В. Комплексный метод определения эффективных решений по составам партий данных и расписаниям их обработки в конвейерных системах. Вычислительные технологии, 2018, т. 23, № 3, с. 58-76.

2. Кротов К. В. Математическая модель и алгоритм метода ветвей и границ для оптимизации решений по составам пакетов в многостадийных системах. Информатика и автоматизация, 2022, т. 21, № 1, с. 5-40. doi:10.15622/ia.2022.21.1

3. Shaoxiang Z., Naiming X., Qiao W. Single batch machine scheduling with dual setup times for autoclave molding manufacturing. Computers and Operations Research, 2021, vol. 133, iss. C. doi:10.1016/j.cor.2021. 105381

4. Ogun B., Cigdem A.-U. Mathematical models for a batch scheduling problem to minimize earliness and tardiness. Journal of Industrial Engineering and Management, 2018, vol. 11, iss. 3, pp. 390-405. doi:10. 3926/jiem.2541

5. Li X. L., Wang Y. Scheduling batch processing machine using max-min ant system algorithm improved by a local search method. Mathematical Problems in Engineering, 2018, vol. 2018, Art. ID: 3124182. doi:10. 1155/ 2018/ 3124182

6. Jin M., Liu X., Luo W. Single-machine parallel-batch scheduling with nonidentical job sizes and rejection. Mathematics, 2020, vol. 8, Art. ID: 258. doi:10.3390/ math8020258

7. Fan J. Integrated scheduling problem on a single bounded batch machine with an unavailability constraint. Discrete Dynamics in Nature and Society, 2020, vol. 12, Art. ID: 8625849. doi:10.1155/2020/ 8625849

8. Halim A. H., Hidayat N. P. A., Aribowo W. Single item batch-scheduling flow shop with m batch-processing machines to minimize total actual flow time.

International Journal of Technology, 2022, vol. 13, no. 4, pp. 816-826. doi:https://doi.org/10.14716/ijtech. v13i4.4869

9. Hertrich Ch., Weiß Ch., Ackermann H., Heyd-rich S., Krumke S. O. Scheduling a proportionate flow shop of batching machines. Journal of Scheduling, 2020, vol. 23, pp. 575-593. doi:10.1007/ s10951-020-00667-2

10. Mauluddin Yu. Three-stage flow-shop scheduling model with batch processing machine and discrete processing machine. The 3rd Annual Applied Science and Engineering Conf., 2018, vol. 197, Art. ID: 14002. doi:10.1051/matecconf/201819714002

ПЗ позволяет до 35 % сократить временные затраты на реализацию действий с ними по сравнению с не оптимизируемыми расписаниями.

11. Shahvari O., Logendran R. A comparison of two stage-based hybrid algorithms for a batch scheduling problem in hybrid flow shop with learning effect. International Journal of Production Economics, 2018, vol. 195, pp. 227-248.

12. Suryadhini P. P., Sukoyo S., Suprayogi S., Halim A. H. A batch scheduling model for a three-stage flow shop with job and batch processors considering a sampling inspection to minimize expected total actual flow time. Journal of Industrial Engineering and Management, 2021, vol. 14, no. (3), pp. 520-537. doi:10.3926/ jiem.3438

13. Lévai T., Németh F., Raghavan B., Rétvári G.

Batchy: batch-scheduling data flow graphs with service-level objectives. 17th USENIX Symp. on Networked Systems Design and Implementation (NSDI'20), 2020, February 25-27, Santa Clara, CA, USA, pp. 633-649.

14. Song L., Liu Ch., Shi H., Zhu J. An improved immune genetic algorithm for solving the flexible job shop scheduling problem with batch processing. Wireless Communications and Mobile Computing, vol. 2022, Art. ID: 2856056. doi:10.1155/2022/2856056

15. Indrapriyatna A. S., Triha H. A. Modified branch and bound algorithm for batch scheduling in discrete manufacture system. IOP Conf. Series: Materials Science and Engineering, 2018, vol. 319, Art. ID: 012074. doi:10.1088/1757-899X/319/1/012074

16. Gmys J., Mezmaz M., Melab N., Tuyttens D. A computationally efficient branch-and-bound algorithm for the permutation flow-shop scheduling problem. European Journal of Operational Research, 2020, vol. 284, iss. 3, pp. 814-833. doi:10.1016/ j.ejor.2020. 01.039

17. Mazda Ch. N., Kurniawati D. A. Branch and bound method to overcome delay delivery order in flow shop scheduling problem. IOP Conf. Series: Materials Sci-enceand Engineering, 2020, IOP Publishing. doi:10. 1088/1757-899X/1003/1/012129

18. Watermeyer K., Zimmermann J. A branch-and-bound procedure for the resource-constrained project scheduling problem with partially renewable resources and general temporal constraints. OR Spectrum, 2020, vol. 42, pp. 427-460. doi:10.1007/s00291-020-00583-z

19. Su Ch.-H., Wang J. Y. A branch-and-bound algorithm for minimizing the total tardiness of multiple developers. Mathematics, 2022, vol. 10, Art. ID: 1200. doi:10. 3390/ math10071200

20. Santi S., Selvakumari K. Flow shop scheduling problem in neutrosophic environment using trapezoidal fuzzy numbers. Eurasian Journal of Analytical Chemistry, 2019, vol. 14(1), pp. 111-115.

21. Кротов К. В., Скатков А. В. Организация —еЬ-ориентированного сервиса мониторинга окружающей среды с использованием данных дистанционного зондирования Земли и конвейеризации обра-

ботки данных. Труды учебных заведений связи, 2021, т. 7, № 1, с. 105-121. https://doi.org/10.31854/ 1813-324X-2021-7-1-105-121

UDC 004.453

doi:10.31799/1684-8853-2023-2-15-26 EDN: WWXRRW

A branch and bound algorithm for the optimization of batch scheduling in pipeline systems

K. V. Krotova, PhD, Tech., Associate Professor, orcid.org/0000-0002-9670-6141, krotov_k1@mail.ru aSevastopol State University, 33,UniversitetskayaSt., Sevastopol, 299053, Russian Federation

Introduction: The optimization of batch scheduling ensures efficiency in production and computational processes. Modern methods of scheduling optimization are characterized by limitations on the dimensionality of tasks or the impossibility of obtaining solutions that approach the globally optimal ones. Purpose: To develop a branch and bound algorithm for the optimization of batch scheduling in pipeline systems. Results: We obtain a mathematical model of multistage processes that allows to identify the point in time when batch jobs start running in the appropriate positions in the sequences of the implementation of actions with them on the devices of pipeline systems. We present the criterion for optimizing solutions that corresponds to the point in time when the tasks included into the batch stop running. We formulate a method of partitioning sets of solutions into their subsets (branch tree vertices). This method involves adding a package of different types one at a time to the sequence of implementation of actions with them from the sets not included into them. We develop a method for constructing solutions according to the order of execution on the devices of the packages which are included in the formed subsets. For these subsets we calculate the values of the criterion used when updating the upper estimates. We synthesize a method for determining the values of the lower estimates of the criterion for sets of solutions corresponding to the vertices of the tree obtained as a result of branching. A branch and bound algorithm is also developed. Practical relevance: The studies that are conducted with the use of the software implementation of the algorithm have shown that it allows up to 35% decrease in the time for batch jobs execution as compared to the solutions without optimization. With a small number of task types, the algorithm allows one to get a solution which approximates the globally optimal one. With the increase in the number of task types, the accuracy of approximation of the solutions to the globally optimal ones is 0.9-0.95.

Keywords — pipeline systems, batch jobs, branch and bound method, batch scheduling.

For citation: Krotov K. V. A branch and bound algorithm for the optimization of batch scheduling in pipeline systems. Informatsionno-upravliaiushchie sistemy [Information and Control Systems], 2023, no. 2, pp. 15-26 (In Russian). doi:10.31799/1684-8853-2023-2-15-26, EDN: WWXRRW

References

1. Krotov K. V. The complex method for determining effective solutions for data batch sizes and processing schedules in conveyor systems. Computing Technologies, 2018, vol. 23, no. 3, pp. 58-76 (In Russian).

2. Krotov K. V. Mathematical model and algorithm of branch and boundary method for optimizing solutions for package compositions in multi-stage systems. Informatics and Automation, 2022, vol. 21, no. 1, pp. 5-40 (In Russian). doi:10.15622/ia.2022.21.1

3. Shaoxiang Z., Naiming X., Qiao W. Single batch machine scheduling with dual setup times for autoclave molding manufacturing. Computers and Operations Research, 2021, vol. 133, iss. C. doi:10.1016/j.cor.2021.105381

4. Ogun B., Cigdem A.-U. Mathematical models for a batch scheduling problem to minimize earliness and tardiness. Journal of Industrial Engineering and Management, 2018, vol. 11, iss. 3, pp. 390-405. doi:10.3926/jiem.2541

5. Li X. L., Wang Y. Scheduling batch processing machine using max-min ant system algorithm improved by a local search method. Mathematical Problems in Engineering, 2018, vol. 2018, Art. ID: 3124182. doi:10.1155/ 2018/ 3124182

6. Jin M., Liu X., Luo W. Single-machine parallel-batch scheduling with non identical job sizes and rejection. Mathematics, 2020, vol. 8, Art. ID: 258. doi:10.3390/ math8020258

7. Fan J. Integrated scheduling problem on a single bounded batch machine with an unavailability constraint. Discrete Dynamics in Nature and Society, 2020, vol. 12, Art. ID: 8625849. doi:10.1155/2020/8625849

8. Halim A. H., Hidayat N. P. A., Aribowo W. Single item batch-scheduling flow shop with m batch-processing machines to minimize total actual flow time. International Journal of Technology, 2022, vol. 13, no. 4, pp. 816-826. doi:https://doi.org/10.14716/ijtech.v13i4.4869

9. Hertrich Ch., Weiß Ch., Ackermann H., Heydrich S., Krum-ke S. O. Scheduling a proportionate flow shop of batching

machines. Journal of Scheduling, 2020, vol. 23, pp. 575-593. doi:10.1007/ s10951-020-00667-2

10. Mauluddin Yu. Three-stage flow-shop scheduling model with batch processing machine and discrete processing machine. The 3rd Annual Applied Science and Engineering Conf., 2018, vol. 197, Art. ID: 14002. doi:10.1051/matecco-nf/201819714002

11. Shahvari O., Logendran R. A comparison of two stage-based hybrid algorithms for a batch scheduling problem in hybrid flow shop with learning effect. International Journal of Production Economics, 2018, vol. 195, pp. 227-248.

12. Suryadhini P. P., Sukoyo S., Suprayogi S., Halim A. H. A batch scheduling model for a three-stage flow shop with job and batch processors considering a sampling inspection to minimize expected total actual flow time. Journal of Industrial Engineering and Management, 2021, vol. 14, no. (3), pp. 520-537. doi:10.3926/ jiem.3438

13. Lévai T., Németh F., Raghavan B., Rétvári G. Batchy: batch-scheduling data flow graphs with service-level objectives. 17th USENIX Symp. on Networked Systems Design and Implementation (NSDI'20), 2020, February 25-27, Santa Clara, CA, USA, pp. 633-649.

14. Song L., Liu Ch., Shi H., Zhu J. An improved immune genetic algorithm for solving the flexible job shop scheduling problem with batch processing. Wireless Communications and Mobile Computing, vol. 2022, Art. ID: 2856056. doi:10.1155/2022/2856056

15. Indrapriyatna A. S., Triha H. A. Modified branch and bound algorithm for batch scheduling in discrete manufacture system. IOP Conf. Series: Materials Science and Engineering, 2018, vol. 319, Art. ID: 012074. doi:10.1088/1757-899X/ 319/1/ 012074

16. Gmys J., Mezmaz M., Melab N., Tuyttens D. A computationally efficient branch-and-bound algorithm for the permutation flow-shop scheduling problem. European Journal of

Operational Research, 2020, vol. 284, iss. 3, pp. 814-833. doi:10.1016/j.ejor.2020. 01.039

17. Mazda Ch. N., Kurniawati D. A. Branch and bound method to overcome delay delivery order in flow shop scheduling problem. IOP Conf. Series: Materials Science and Engineering, 2020, IOP Publishing. doi:10.1088/1757-899X/1003/ 1/012129

18. Watermeyer K., Zimmermann J. A branch-and-bound procedure for the resource-constrained project scheduling problem with partially renewable resources and general temporal constraints. OR Spectrum, 2020, vol. 42, pp. 427-460. doi:10.1007/ s00291-020-00583-z

19. Su Ch.-H., Wang J. Y. A branch-and-bound algorithm for minimizing the total tardiness of multiple developers. Math-

ematics, 2022, vol. 10, Art. ID: 1200. doi:10. 3390/ math10071200

20. Santi S., Selvakumari K. Flow shop scheduling problem in neutrosophic environment using trapezoidal fuzzy numbers. Eurasian Journal of Analytical Chemistry, 2019, vol. 14(1), pp.111-115.

21. Krotov K. V., Skatkov A. V. Organization of web-based environmental monitoring service using earth remote sensing data and pipelining data processing. Proc. of Telecommunication Universities, 2021, vol. 7, no. 1, pp. 105-121 (In Russian). https://doi.org/10.31854/1813-324X-2021-7-1-105-121

УВАЖАЕМЫЕ АВТОРЫ!

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Научные базы данных, включая Scopus и Web of Science, обрабатывают данные автоматически. С одной стороны, это ускоряет процесс обработки данных, с другой — различия в транслитерации ФИО, неточные данные о месте работы, области научного знания и т. д. приводят к тому, что в базах оказывается несколько авторских страниц для одного и того же человека. В результате для всех по отдельности считаются индексы цитирования, что снижает рейтинг ученого.

Для идентификации авторов в сетях Thomson Reuters проводит регистрацию с присвоением уникального индекса (ID) для каждого из авторов научных публикаций.

Процедура получения ID бесплатна и очень проста, есть возможность провести регистрацию на 12 языках, включая русский (чтобы выбрать язык, кликните на зеленое поле вверху справа на стартовой странице): https://orcid.org

i Надоели баннеры? Вы всегда можете отключить рекламу.