УДК 658.52.011.56 М.В.КОСТИКОВА, В.А.ПЬЯНИДА
АЛГОРИТМЫ РЕШЕНИЯ ЗАДАЧ ТЕОРИИ РАСПИСАНИЙ НА ОСНОВЕ ПРОГНОЗА. ЧАСТЬ 1
Описывается постановка общей задачи теории расписаний, математическая модель, представленная в терминах теории графов, а также основные характеристики погрешностей алгоритмов, решающих задачу.
1. Постановка задачи
Рассмотрим приближенный алгоритм решения общей задачи теории расписаний, использующий прогноз качества решения задачи. Приведем постановку задачи и математическую модель с двумя разновидностями алгоритма: с одношаговым прогнозом и с прогнозом в два шага.
Представим задачу составления расписания производства в традиционной постановке.
В некоторый момент времени 1 = 0 на вход производственной системы - цех механообработки деталей или участок их обработки, включающий т единиц оборудования - станков и обрабатывающих центров, которые образуют конечное множество машин Q = {1, 2, ..., д, ..., т}, на обработку поступает п заготовок, полуфабрикатов, деталей, образующих конечное множество предметов I = {1, 2, к, 1, к, п}. Обработка каждого предмета I е I состоит в выполнении машинами из множества Q конечной строго упорядоченной последовательности операций I; = (^1, 1д2, к, ^ ...^^), соответствующей технологии обработки этого предмета. Операция iqj е I; выполняется машиной д е Q за конечное время tiqj > 0 без прерывания и может начаться только после полного завершения непосредственно предшествующей ей операции iqj_1 е I;. Каждая машина д е Q одновременно может выполнять только одну операцию.
В описанной системе любая машина д е Q выполняет некоторый набор операций ^ так, что все их множество ^^^ =! = . Поэтому естественным является требование:
для каждого набора операций ^ найти порядок их выполнения Рд такой, чтобы в совокупности все порядки Ц^ед Рд оптимизировали некоторый критерий выполнения работ I. В общей задаче в качестве критерия рассматривается полное время выполнения всех операций предметов и предъявляется требование минимизировать это время. Таким образом, необходимо найти такие порядки выполнения операций на каждой машине д е Q , которые бы позволяли выполнить обработку всех предметов I за минимальное время.
В свою очередь количество порядков обработки набора операций ^, д е Q определяется количеством перестановок этих операций и равно 1^!. Поэтому общее количество совокупностей порядков определяется по выражению Пт=1I ^ |!. Среди этих наборов совокупностей есть такие, которые не позволяют составить расписание [1, 2]. Они называются недопустимыми. В результате выражение Пт=11 ^ |! является лишь верхней границей возможного выбора наборов обработки предметов.
2. Формализация
Опишем задачу на языке орграфов. Для этого каждую линейно-упорядоченную последовательность операций I; = ^1,..., iqj, ..., iqj;), 1 е I представим последовательным графом О; = (I;, V;, Wi) с множеством вершин I;, дуг V; и функцией ^ : I; ^ Я + , где Я + -множество действительных положительных чисел. В этом графе каждая вершина iqj
соответствует одной и только одной операции iqj предмета х е I, каждая пара вершин iqj+1) с 1х, j = 1, 2, ..., jj_1, соединяется дугой Vij е Ух, которая исходит из вершины iqj и заходит в вершину iqj+1, функция Wi задана как Wi(iqj) = , т.е. определяет времена выполнения операций последовательности 1х = (Щь — ,iqj, -Л^^ . Объединив графы Ох,
Х е I в граф , получим, что этот ациклический граф = Ц^Ох = (1ь У1; WI) с множеством вершин 11 = Ц^х , дуг У1 = Ц^У и функцией WI: 11 ^ Я + будет представлять исходные данные задачи.
Множество вершин II пополним вершинами Х8, Хр и положим W(is) = W(iF) = 0 . Вершину Х8 соединим исходящими дугами У8 , направленными к вершинам графов Ох, имеющих в О! нулевую полустепень захода. Вершины графов Ох, имеющие в О! нулевую полустепень исхода, соединим с вершиной Хр дугами Ур , направленными к этой вершине. В результате получим технологическую сеть От = (II, Хр,Ух, Wт), Ут = VI и У§ и УF,WX: Ут ^ Я + и {0} с истоком Х8 и стоком ^ . Длина максимального (критического) пути на этой сети из вершины Х8 в вершину iF определяется по выражению Ьх = тах{Ц}, где Ц =£j=1tiqj ,Х = 1, 2, ..., п - время обработки Х -го предмета без задержек при выполнении всех его операций. Для некоторой произвольно выбранной задачи технологическая сеть изображена на рис. 1.
Шифровка вершин графа Ох произведена буквенно-цифровым способом. Буква - это название предмета, числовой индекс - номер машины, выполняющей очередную операцию по обработке этого предмета. У вершин графа над дугами указаны их веса - длительности соответствующих операций обработки предметов. Критический путь на графе отмечен
жирными линиями. Длина этого пути Ьх = тах(10, 8, 13) = 13.
Пусть ^ с II, q = 1, 2, ..., т - множества вершин графа Ох , соответствующие множествам операций ^, q = 1, 2, ..., т , выполняемых т машинами. Возможные порядки выполнения операций машинами q = 1, 2, ..., т на графе Ох отобразим множествами Vq, q = 1, 2, ..., т дополнительных дуг. Эти дуги связывают вершины каждого множества ^ так, что для любой пары вершин (iqj, iqi) с ^ дуга V.х е У<1 исходит из вершины iqj и заходит в вершину iqi тогда и только тогда, когда операция, отображаемая вершиной iq., непосредственно предшествует операции, отображаемой вершиной iqi. В результате получим граф О = У, Wх), У = УхиУт, Ут = ит=1У(1 с дугами порядков у. Для одного набора порядков выполнения операций на машинах такой граф изображен на рис. 2. Дополнительные дуги у графа Ох показаны штриховыми линиями.
Если полученный описанным способом граф О окажется ациклическим, то на нем известным способом может быть выделен критический путь и вычислена его длина ь, определяющая полное время обработки множества предметов I. Другой допустимый порядок обработки предметов порождает другой ациклический граф О, другой его критический путь и другую его длину ь .
Таким образом, процедура решения задачи поиска порядка обработки предметов на машинах, минимизирующего полное время их обработки, в интерпретации ее на языке орграфов состоит в циклическом выполнении следующих четырех действий:
1) формировании допустимого порядка обработки предметов на машинах;
2) построении ациклического графа О ;
3) вычислении длины его критического пути;
4) запоминании меньшей длины ь .
Эта процедура отображает полный перебор или исчерпывающий поиск необходимых порядков. Она теоретически всегда позволяет получить оптимальное решение задачи. Однако практически эта процедура осуществима лишь для малых значений п , т . Например, в рассматриваемом примере верхняя граница числа совокупности порядков равна (3!)3 = 216, и поэтому при помощи современных компьютеров лучший порядок легко может быть найден. Однако уже для п = 5 , т = 5, т.е. при (5!)5 = 24883200000 возникают проблемы с временем счета.
Поэтому единственный практически приемлемый путь решения задачи - ограничить перебор. Ограничение можно выполнить в рамках схемы ветвей и границ, стремясь получить точное решение, или остановиться на одном порядке обработки предметов, довольствуясь подходящим приближенным ее решением. В дальнейшем внимание будет акцентировано на обосновании алгоритмов, позволяющих получать качественные приближенные решения задач практически подходящих размеров за допустимое время. Прежде, чем излагать идеи построения таких алгоритмов, рассмотрим некоторые свойства графовой модели общей задачи.
Заметим, что в каждую вершину графа О (см. рис. 2), исключая вершину ¡р , заходит две дуги: технологическая и дуга порядка. Это дуги разной длины (разного веса). С другой стороны, из каждой вершины графа О исходит также две дуги, имеющие равные веса, определяемые как времена выполнения операции машиной, идентифицируемой той вершиной, из которой исходят дуги.
Удалим из графа О все технологические дуги и построим граф порядков Ор = (1ь ^, ^ : Ут ^Я+и(0> . Этот граф изображен на рис. 3.
Длина критического пути из вершины в вершину ¡р на построенной сети определяется по выражению Ьр = тах{Ьд} , где = ^p=1tipq , д = 1, 2, ..., т - время работы машины q е Q без простоев при выполнении всех Рд операций. Для рассматриваемого примера
длина критического пути Ьр = тах{12, 9, 10} = 12.
В связи с тем, что критический путь в общей сети О образуется дугами технологии и порядка, наименьшая нижняя граница его длины определяется по выражению = тах{Ьт, Ьр} . Это означает, что никакой набор порядков обработки предметов на машинах не позволит получить полное время их обработки, меньшее . В рассматриваемом примере = тах{13, 12} = 13.
Теперь сделаем попытку оценить длину критического пути графа О сверху. С этой целью для общей задачи рассмотрим худший случай, когда первые операции всех предметов выполняются одной и той же машиной, например, первой, которая определяет критический путь в графе порядков О р . Выберем порядок обработки предметов на этой машине такой, что он создает критический путь в графе От длиной Ьт. В результате получим частичный граф О1, изображенный на рис. 4.
В этом графе критический путь образует последовательность дуг (!8, а1), (а1, Ь1), (Ь1, с1), (с1, с2), (с2, с3), (с3, ¡р), порождающую длину Ь1 = Ьр + Ьт -ttm, где величина - вес той дуги, которая одновременно принадлежит множествам дуг Ут и Ут . В данном примере это дуга (с1, с2). Поэтому Ь1 = 12 +13 - 4 = 21.
Если теперь на оставшихся т -1 машинах, в данном случае на машинах 2 и 3, определить некоторые порядки, порождающие ациклический граф О , то длина критического пути
этого графа не будет меньше длины критического пути Ц частичного графа О1. В общем случае следует ожидать, что длина Ц увеличится на некоторую величину АЬт . Поэтому выражение Ьт + Ьр + АЬ, где АЬ = АЬт - 1;1т , можно считать одной из верхних границ длины критического пути графа О .
Априори добавку АЬ , к сожалению, нельзя определить. Поэтому величина Ьт + Ьр + АЬ не является гарантированной оценкой длины критического пути. Тем не менее, в предположении, что каждый раз при построении ациклического графа О может быть установлена величина АЬ , имеется возможность получить некоторые выводы о свойствах погрешностей алгоритмов, решающих рассматриваемую задачу.
Так как наименьшая длина критического пути Ь* экстремального графа О удовлетво-
*
ряет неравенству Ь > тах(Ьт, Ьр), для абсолютной и относительной погрешностей некоторого приближенного алгоритма, решающего рассматриваемую задачу, получим:
Ь - Ь* < Ьт + Ьр + АЬ - тах(Ьт, Ьр), (1)
Ь < Ьт + Ьр + АЬ
Ь " тах(Ьт, Ьр) . (2)
Из соотношения (1) следует, что с увеличением размера задачи N = п • т сумма Ьт + Ьр растет быстрее, чем тах(Ьт, Ьр). В связи с этим растет первая часть неравенства и, таким образом, абсолютная погрешность решающего алгоритма. Соотношение (2) показывает, что при Ьт = Ьр, которое соответствует случаям п « т, относительная по-
АЬ АЬ
грешность алгоритма будет максимальна, но не больше, чем 2 +--или 2 +--. Когда
Ьр Ьт
же Ьр >> Ьт, которое соответствует случаям п >> т, его погрешность минимальна и
равна 1 +--. Таким образом, в тех производственных системах, для которых типичным
Ьр
является планирование существенно большего количества деталей по отношению к установленному количеству машин т , алгоритм будет решать задачу более точно, чем при п = т.
3. Выводы
Представлена новая формализация общей задачи теории расписаний на языке ориентированных графов. Эта формализация позволила получить возможность оценить погрешности алгоритмов и указать их поведение при различных параметрах задачи. На этом основании при практическом использовании алгоритмов можно, зная параметры задачи, ориентировочно указать величину погрешности, с которой в среднем он будет решать задачу.
Список литературы: 1. Канцедал С. А. Дискретная математика: учебное пособие. М.: ИД «ФОРУМ»: ИНФРА-М, 2007. 224 с. (Профессиональное образование). 2. Конвей Р.В., Максвелл В.П., Миллер Л.В. Теория расписаний. М.: Наука, 1975. 360 с.
Поступила в редколлегию 21.05.2007
Костикова Марина Владимировна, канд. техн. наук, доцент кафедры информатики Харьковского национального автомобильно-дорожного университета. Научные интересы: математическое моделирование, теория расписаний и ее применение. Адрес: Украина, 61002, Харьков, ул. Петровского, 25, тел. 707-37-74.
Пьянида Виктор Александрович, преподаватель кафедры прикладной математики и информатики Западнодонбасского института экономики и управления. Научные интересы: теория расписаний в моделировании производственных и управленческих процессов. Адрес: Украина, 51400, Павлоград, ул. Парковая, 1а, тел. 311-95.