Математика. Физика
УДК 517.8
ЗАДАЧА БЕЛЛМАНА-ДЖОНСОНА ДЛЯ КОНВЕЙЕРНЫХ СИСТЕМ С ПЕРЕМЕННЫМ ПОРЯДКОМ РАБОТ В.И. Левин
Пензенский технологический институт Представлена членом редколлегии профессором Г.М. Куликовым
Ключ слова и фразы: оптимальное планирование; теория расписаний; системы с последовательными ступенями.
Аннотация: Дано уточнение постановки и решения задачи Беллмана-Джонсона для многоступенчатых последовательных систем в условиях переменного порядка выполнения работ.
Введение
Для эффективной работы технических, экономических, административных и иных систем важно оптимальное планирование их работы. Решением этой задачи занимается современная теория расписаний. Ее возникновение связывают с работой С.М. Джонсона [1], в которой впервые была решена задача Беллмана-Джонсона оптимального по быстродействию упорядочения работ в конвейерных системах с двумя последовательными ступенями. Впоследствии в [1] был обнаружен и исправлен ряд неточностей, связанных с планированием порядка работ в случае равного времени их выполнения на обеих ступенях [2, 3]. В настоящей работе устанавливается другая существенная неточность работы [1], связанная с оптимизацией порядка работ в конвейерных системах с более чем тремя последовательными ступенями. Как показано в [1] на примере, если число ступеней т > 4, оптимальный порядок выполнения работ в системе в общем случае может потребовать изменения порядка подачи работ при переходе от предыдущей ступени к последующей. Однако при этом С.М. Джонсон упустил из виду, что изменение порядка работ есть особая операция, требующая конечного времени и имеющая свою особую математическую модель, что неизбежно влияет на решение всей задачи построения оптимального расписания выполнения работ. Эта неточность повторялась во всех последующих работах по теории расписаний [4 -7]. Некоторые авторы даже построили на этой основе специальные теории для отыскания оптимального порядка работ в системе с учетом возможного изменения порядка работ при переходе от одной ступени к другой [8, 9]. Однако правомерность таких построений и их практическая польза в свете сказанного выше вызывают серьезные сомнения.
В настоящей статье устраняется неточность, введенная в теорию и практику составления расписаний в работе [1]. С этой целью строится адекватная математическая модель процесса изменения порядка следования работ при переходе от одной ступени системы к другой, и на ее основе - адекватная математическая модель всего процесса выполнения работ в конвейерной системе с учетом указанного возможного изменения порядка работ. Эти модели позволяют анализировать и синтезировать расписания выполнения работ с указанными изменениями. На типовых примерах, неоднократно использованных в литературе, показано, что введение новых моделей существенно изменяет результаты анализа имеющихся и синтеза новых расписаний для конвейерных систем.
1 Постановка задачи
Задача синтеза оптимального расписания работ в конвейерной системе с постоянным порядком выполнения работ ставится так [1, 5, 6, 10]: 1) имеется п работ, выполняемых в системе из т последовательных ступеней; 2) каждая работа у, у = 1, п , состоит из т различных операций, выполняемых на соответствующих ступенях: сначала 1-я операция на 1-й ступени, далее 2-я операция на 2-й ступени и т.д.; 3) каждая г-я ступень в любой момент времени выполняет только одну работу (ее г-ю операцию) либо простаивает; 4) в любой ступени начавшаяся операция не прерывается, а продолжается до ее окончания; 5) все работы проходят последовательные ступени в одном и том же порядке Р; 6) каждая ступень начинает выполнение очередной работы сразу после ее поступления (если ступень в этот момент свободна) либо после окончания предыдущей работы (если она занята выполнением предыдущей работы); 7) времена выполнения всех работ у на всех ступенях г точно известны и заданы матрицей времен работ
А = ||агу||, г = 1, т, у = 1, п ; 8) требуется найти порядок Р прохождения работ через систему, при котором общее время выполнения всех работ Т (Р) минимально, т.е. оптимальный по быстродействию порядок работ Ропт .
Задача синтеза оптимального расписания работ в системе с переменным порядком выполнения работ отличается от изложенной задачи, во-первых, заменой пп. 5 и 8 на 5' и 8' соответственно, все работы проходят последовательные ступени 1,2,...,т в соответствующем порядке р,Р2,...,Рт , где в общем случае Р ф Ру
при I ф у; 8') требуется найти набор Р = (Р1,Р2,...,Рт) порядков прохождения работ через систему, при котором общее время выполнения всех работ Т (Р) минимально (оптимальный по быстродействию набор Ропт ). Во-вторых, в формулировку новой задачи вводятся три новых пункта: 9) между любыми 2 соседними ступенями г,г +1 происходит преобразование порядка Р , в котором работы проходят ступень г, в порядок Р+1 прохождения ими ступени г +1, причем времена преобразования В(Р, Р+1) для всех пар порядков (Р, Р+1) точно известны и заданы матрицей времен преобразований В = ||В(р, р+1)||; 10) преобразование порядка работ Р ^ Р +1 начинается сразу после прохождения всех п работ через ступень г; 11) совокупность работ, переставленная после очередной ступени г в новом порядке Р+1 , немедленно подается в этом порядке на следующую ступень г +1 и обрабатывается дальше так, как если бы это была 1-я ступень. Глобальная задача синтеза оптимального расписания работ в конвейерной системе заключается в выборе лучшего по быстродействию из расписаний с постоянным и переменным порядками выполнения работ.
При формулировке пп. 9, 10 исходим из того, что преобразование порядка следования работ на очередной г-й ступени должно осуществляться путем одновременной перестановки всех п работ. Действительно, в общем случае преобразование порядка следования работ требует перестановки всех п работ. Причем только одновременность этой перестановки может обеспечить достаточно малое время преобразования и тем самым возможность уменьшения общего времени выполнения всех работ при переходе от постоянного порядка их прохождения через систему к переменному. В случаях, когда работы означают обслуживание людей, участие всех работ в перестановке понимается и в том смысле, что каждый человек должен дать согласие на преобразование порядка обслуживания, даже если его лично это преобразование не коснется.
2 Идея решения
Основную идею решения покажем для простейшего случая, когда порядок следования работ через систему может меняться только один раз, на некоторой г-й ступени. Тогда переменный порядок прохождения работ через систему имеет вид Рпе = (Р[,Р2), где р - порядок следования работ через ступени 1,...,г , а р - порядок следования через ступени г +1,...,т , где в общем случае р Ф р . Общее время Т (А, ре) выполнения всех работ в данной системе
T (A, PTO ) = T [ A (J), Pi ] + T [ A (rml), P2 ]+ B (Pi, P2).
(i)
Здесь Т
A
Р - время выполнения всех работ в подсистеме 1, образованной ступенями 1,...,г (матрица времен работ этой подсистемы А (Г) образована стро-
ками 1,...,г матрицы времен работ всей системы А), Т
A
(
полнения всех работ в подсистеме 2, образованной ступенями г +1,
r + І,
- время вы-m (матрица m матрицы
времен работ этой подсистемы А (г;+1) образована строками
А), а В (1, Р) - время преобразования порядка работ Р1 в Р2 , при переходе с г-й на (г +1) -ю ступень.
Оптимизация переменного порядка работ в системе Рпе в силу независимости подсистем 1, 2 сводится к оптимизации порядков работ в указанных подсис-
темах, т.е. Pm
= (Pi
опт, -^опт
). Оптимальные постоянные порядки работ
P
P
1,опт 5 і 2,опт
в подсистемах 1, 2 можно найти общеизвестными методами по-
строения оптимальных расписаний для постоянного порядка работ [4-7, 10]. После этого методами [4-7, 10] можно вычислить соответствующие минимальные времена Т[□] выполнения всех работ в подсистемах 1, 2, а затем по формуле (1)
минимальное время Т (□) выполнения всех работ в системе. Для того, чтобы принять оптимальный переменный порядок Рпе опт за глобально оптимальный порядок Ропт прохождения работ через систему, надо сравнить его с оптимальным постоянным порядком Рпо опт работ в системе. Если при этом окажется, что соответствующее минимальное время Т(А,Рпоопт) выполнения всех работ в системе таково, что Т(А, Рпе,опт) < Т(А, Рпо,опт) или с учетом (1)
то принимаем P^,^ за P0Пт .
т.е. в случае выполнения неравенства (2) глобально
оптимальным порядком прохождения работ через систему Ропт является оптимальный переменный порядок Рпе опт. Если же окажется, что Т(А, Рпе опт) > > Т(А, Рпоопт), так что выполнено противоположное (2) неравенство, то принимаем Рпо опт за Ропт . Т.е. в случае выполнения неравенства, противоположного (2), глобально оптимальным порядком прохождения работ через систему Ропт является оптимальный постоянный порядок Рпо опт. Другими словами, в этом
случае для увеличения быстродействия системы нет необходимости прибегать к изменению порядка выполнения работ при их прохождении через систему - такое изменение может только ухудшить быстродействие.
Время Т(А,Р) выполнения всех работ в системе с матрицей времен работ А и постоянным порядком следования работ Р определяем по формуле [10]
T (A, P) = Av (P),
(З)
где А(Р) - матрица А, в которой столбцы переставлены в порядке Р, а Av (Р) -логический определитель (ЛО) от этой матрицы, являющийся ее числовой характеристикой и вводимый так. Пусть А = агу| - любая прямоугольная матрица с
iimxn
4V,
вещественными элементами а^ . Тогда ЛО А от матрицы А есть максимальная
из сумм элементов на путях из левой верхней в правую нижнюю клетку А, где каждый шаг пути направлен вправо или вниз [10]. Вычисляется ЛО по итеративному алгоритму, на каждом шаге которого вычисляется очередной элемент А*,,
новой матрицы A =
Ar
используя соотношение
A*s = (A*_i,s v A* s-i) + ars (v - операция max), (4)
пока не будет вычислен правый нижний элемент Л^п , равный искомому ЛО Av . Например,
2 3 З V 2^ 3^ З10
Av = 3 2 1 = 2^
З 4 2 ЗЦ0 4У 2Цб
= 1б (вычисления показаны справа над элементами aij).
Оптимальный постоянный порядок Рпо опт прохождения работ через систему с матрицей времен работ А находится так [10]. Вводим двухстолбцевые ЛО из всевозможных пар соответственных участков г-го и /-го столбцов матрицы А
AVr (i, L) =
a_si__asL
ari arj
1 < s < r < m .
(З)
Тогда для оптимальности порядка работ Р = (/'1,...,/, ],..., 1п), соответствующего порядку столбцов в матрице А, необходимо выполнение для любых соседних работ /, ] системы неравенств
А12 (/, ]) < А12(7,/) или
А?з(г17) <_Аз(7,./)_1 _=_ 1:2_}или (6)
А^го (/, 7) < А^ (7, /), 1 = 1, га -1}.
Для отыскания Рпоопт с помощью условий (6) нужно: 1) для каждой упорядоченной пары (/, ]) столбцов матрицы А проверить выполнение условий (6); 2) построить орграф Г приоритетов работ с вершинами, соответствующими столбцам, и дугами / ^ 7 между вершинами /, 7, для которых упорядоченные пары столбцов (/, ]) удовлетворяют (6); 3) найти в Г все гамильтоновы пути, каждый путь определит некоторый порядок столбцов Р в А; 4) для каждого найденного порядка столбцов Р в А вычислить по алгоритму (4) соответствующий ЛО ^ (Р); 5) найти порядок Р, для которого Av (Р) = шт. Это согласно (3) и будет Рпо,опх .
Изложенный алгоритм позволяет находить также оптимальные постоянные порядки Р1,опт, Р2,опт прохождения работ через подсистемы 1, 2: в первом случае
матрица времен работ есть А ), во втором А (г^+1). По найденным
Рпоопт-,Р опт-, Ропт находим времена выполнения работ Т(□) [по формуле (3)] и время преобразования порядка работ В(П), фигурирующие в неравенстве (2). Это позволяет проводить глобальную оптимизацию порядка выполнения работ в конвейерной системе, не ограничиваясь одним определенным классом порядков работ, в котором ищется оптимум (постоянных или переменных порядков).
Рассмотрение общего случая, когда порядок следования работ через систему может меняться несколько раз (на нескольких ступенях), аналогично.
3 Некоторые примеры
Пример 1 [1]. Рассмотрим конвейерную систему с 4 ступенями, 2 работами
и матрицей времен работ А =
З З
3 1
3 1
З З
. Согласно [1] оптимальный порядок следова-
ния работ в этой системе состоит из двух постоянных порядков соответственно на первых двух и последних двух ступенях, с изменением порядка при переходе со 2-й ступени на 3-ю. Проанализируем систему изложенным методом. Найдем оптимальный постоянный порядок выполнения работ Рпо опт. Проверяем условия
(6). Они выполнены для обеих пар работ: (1,2) и (2,1). Соответствующий орграф приоритетов работ Г дан на рис. Из него видно, что имеется 2 гамильтоновых
пути и, соответственно, 2 порядка
столбцов в А: Р1 = (1,2) и Р2 = (2,1). Для каждого по алгоритму (4) вычисляем ЛО: А""(РО = 15,А'^(Р2) = 15 . Так как ЛО равны, то по (3) равны и времена Т(А,Д) = Т(А,Р>) = 15, и любой из порядков Рь Р2 можно принять за Рпо,опт. Найдем оптимальный переменный
2
порядок выполнения работ Рпе опт. Так как на первых двух ступенях этот порядок должен быть постоянным, как и на последних двух ступенях, ищем его в виде Рпе,ощ- = (Р\,опт, Р2,опт ) , где Р',опт - оптимальный постоянный порядок работ в /-й подсистеме (/ = 1,2), где 1-я подсистема включает 1-ю и 2-ю ступени, а 2-я - 3-ю и 4-ю, с преобразованием порядка между 1-й и 2-й подсистемами. Время преобразования В. Аналогично изложенному находим Р1 опт = (1,2), Р2 опт =
= (2,1), T
A
1, опт
= 1,T
All P
14/ 2,опт
= 1.
Теперь неравенство (2) приобретает вид 7 + 7 + В < 15 или В < 1. Таким образом, найденный оптимальный переменный порядок следования работ Рпе,опт = (Р1, опт, Р2,опт), где Р1, опт = = (1,2), Р2,опт = (2,1), является глобально оптимальным только при В < 1. Если же В > 1, то глобально оптимальным является любой из 2 оптимальных постоянных порядков Р = (1,2), Р2 = (2,1). Этот результат дополняет и уточняет результаты [1].
Пример 2 [9]. Имеем конвейерную систему с 4 ступенями, 3 работами и
матрицей времен работ А =
З 4 2
2 2 4
1 i 4
i 4 i
. В литературе считается ([9] и другие рабо-
ты), что глобально оптимальный порядок следования работ здесь есть переменный порядок Рпе,ош. = (р, Р2), где р = (3,2,1), Р2 = (2,3,1), т.е. он состоит из постоянных порядков Р1 на первых двух и Р2 на последних двух ступенях, с преобразованием порядка между 2-й и 3-й ступенями.
Проанализируем систему аналогично примеру 1. Оптимальный постоянный порядок выполнения работ в системе Рпо опт = р = (2,3,1) или Р2 = (3,2,1). Соответствующие времена выполнения Т(А, Р) = Av (Р) = 16, Т(А, Р2) = Av (Р2) = 16. Оптимальный переменный порядок выполнения работ, как и в примере 1, ищем в виде Рпеотт- = (рот, Р2 опт), где рош- и Р2 опт - оптимальные постоянные порядки выполнения работ на первых двух и последних двух ступенях. Находим Р1опт = (2,3,1) или (3, 2, 1), Р2опт = (1,2,3) или (2, 3, 1), или (2, 3, 1),
T
A
P
1,опт
= 13, T
AI4 T P2,om-
= 1.
Теперь неравенство (2) конкретиз ируется как 13 + 7 + В < 16, где В - время преобразования Ропг ^Р,опг. Полученное неравенство невозможно при любом В > 0 . Это означает, что глобально оптимальный порядок следования работ через систему есть не переменный Р1е опт, а постоянный оптимальный порядок Рпо опт, те. Р = (2,3,1) или Р2 = (3,2,1), со временем выполнения всех работ Т = 16. Переменный же порядок Ріеопт имеет большее время выполнения даже при В = 0 , а именно, по формуле (1) Т = 13 + 7 = 20. Этот результат исправляет и уточняет известные из литературы результаты.
Заключение
Построена адекватная модель процесса выполнения работ в конвейерных системах при допустимости изменения порядка работ в процессе их движения от одной ступени системы к другой. Это позволяет более точно, с учетом указанных
изменений, синтезировать и анализировать расписания выполнения работ в этих системах.
Список литературы
1. Johnson S.M. Optimal two- and three stage production schedules with set-up times included // Nav. Res. Log. Quart. 1954. V. 1, No. 1. Pp. 61-68.
2. Хоботов Е.Н. Некоторые замечания к теореме Джонсона // Автоматика и телемеханика. - 1995. - № 10. - С. 186-187.
3. Левин В.И. К задаче Беллмана-Джонсона // Изв. РАН. Теория и системы управления. - 1999. - № 1. - С. 99-105.
4. Португал В.М., Семенов А.И. Теория расписаний. - М.: Знание, 1972.
5. Конвей Р.В., Максвелл В. Л., Миллер Л.В. Теория расписаний. - М.: Наука,
1975.
6. Танаев В.С., Шкурба В.В. Введение в теорию расписаний. - М.: Наука, 1975.
7. Исследование операций. Т. 2. Модели и применения / Под ред. Дж. Мо-удера и С. Элмаграби. - М.: Мир, 1981.
8. Мирецкий И.Ю. Оптимизационная модель конвейерной системы // Вестник ТГТУ. - 2000. - Т. 6, № 3. - С. 459-465.
9. Мирецкий И.Ю. Конвейерная задача: алгоритмы синтеза оптимальных расписаний // Вестник ТГТУ. - 2001. - Т. 7, № 4. - С. 634-639.
10. Левин В.И. Структурно-логические методы исследования сложных систем. - М.: Наука, 1987.
Bellman-Johnson Problem for Conveyor Systems with Changing
Work Order
V.I. Levin
Penza Technological Institute
Key words and phrases: optimum planning; schedule theory; system with sequential steps.
Abstract: Refinement of setting and solving of Bellman-Johnson problem for multi-step sequential systems in terms of changing work order is given.
Bellman- Johnson Aufgabe fur die FlieBsysteme mit der variablen Arbeitsordnung
Zusammenfassung: Es ist die Prazisierung der Stellung und der Losung der Bellman-Johnson Aufgabe fur die mehrstufigen aufeinanderfolgenden Systeme unter den Bedingungen der variabelen Ordnung der Arbeiterfullung gegeben.
Probleme de Bellman-Johnson pour les systemes de chaine avec le regime variable du fonctionnement
Resume: Est donnee la precision de la formation et de la resolution du probleme de Bellman-Johnson pour les systemes a plusieurs niveaux dans les conditions de regime variable du fonctionnement.