КОМПЬЮТЕРНЫЕ_
УДК 658.52.011.56
АЛГОРИТМЫ КАЛЕНДАРНОГО ПЛАНИРОВАНИЯ ПРОИЗВОДСТВА С ПЕРЕНАЛАДКАМИ ОБОРУДОВАНИЯ
КАНЦЕДАЛ С.А., КОСТИКОВА М.В.____________
В рамках общей задачи теории расписаний описывается два алгоритма, в которых учитывается время, обусловленное переналадками оборудования. Приводятся экспериментальные характеристики алгоритмов. Даются рекомендации к их практическому применению.
Постановка задачи
Оснащение промышленных предприятий машиностроения гибкими промышленными системами (ГПС) возобновило необходимость создания в рамкахАСУТП эффективных алгоритмов календарного планирования работы участков и цехов, повышающих экономические показатели этих подразделений производства. Чаще всего в качестве объекта управления в ГПС рассматривают автоматизированный механообрабатывающий участок, имеющий m групп оборудования типа механообрабатывающих центров (МОЦ). Каждая группа может включать от одного до нескольких взаимозаменяемых станков, как правило, с числовым программным управлением (ЧПУ) и роботами-манипуляторами. Станки имеют автоматизированную транспортную связь между собой, складами заготовок и готовой продукции, инструмента и приспособлений. Каждая группа станков располагает конечным набором наладок—программ для станков с ЧПУ и приспособлений, обеспечивающих подготовку обрабатывающего центра к выполнению той или иной технологической операции. Время установки и снятия наладок для каждой группы станков считается известным и может быть принято равным или различным в зависимости от условий производства.
На участке обрабатывается n партий деталей. Каждая партия имеет свой маршрут обработки, представляемый последовательностью технологических операций, номеров групп станков, их выполняющих, времени выполнения операций и номеров наладок, которые необходимы для этого. Весьма часто может быть задано среднее время пролеживания партии после выполнения каждой операции, равное для всех партий или различное.
Календарное планирование работы такого участка рассматривается как основная автоматизируемая функция управления участком и интерпретируется
как последовательное составление суточных расписаний работы производственной системы или, что то же самое, изготовление партий деталей. К расписанию предъявляется известное требование: максимально плотное (без неоправданных простоев) использование станков во времени, обеспечивающее выполнение заданного объема работы в требуемые сроки.
В большинстве проектных решений базой для разработки алгоритмов составления календарного плана служит общая задача теории расписаний [ 1, 2], суть которой состоит в решении экстремальной задачи комбинаторного типа, определяющей последовательности обработки партий деталей на станках, моменты начала загрузки станков и общее время обработки набора деталей. В связи с тем, что эта задача точно не разрешима за полиномиальное время [3], для практических целей конструируют алгоритмы, решающие ее приближенно. При этом допускают, что время выполнения технологических операций содержит время их переналадок. Этот подход не адекватен реальному производству, так как предполагает, что при выполнении очередной операции каждая машина должна переналаживаться и тем самым должно удлиняться время ее занятости. В действительности, переналадки машин возникают только тогда, когда их наладки не совпадают с требованиями технологии выполнения соответствующей операции. В частности, в гибких автоматизированных участках (ГАУ), механообрабатывающие центры (МОЦ) которых предварительно настраиваются на обработку некоторого набора предметов, переналадки необходимы в тех случаях, когда требуется замена магазина с режущим инструментом, перекантовка детали, смена программы для станка с ЧПУ и др.
Очевидно, что необходимость учитывать время переналадок оборудования, тем более, если оно существенно по сравнению с длительностью операций, влечет за собой изменение критерия, который следует использовать при построении календарного плана. Если придерживаться основного требования — построить расписание минимальной длины, то такой критерий — минимальное количество переналадок станков плюс эвристические приемы, способствующие построению расписаний минимальной длины. Указанная двойственность порождает две группы приближенных алгоритмов, которые можно сконструировать для формирования расписаний по заданному критерию. К первой группе отнесены алгоритмы, которые составляют расписания по критерию минимума переналадок МОЦ плюс эвристики, способствующие формированию компактных или незадерживающих расписаний [4]. Во вторую группу включены алгоритмы, формирующие такие расписания по критерию, которые обеспечивают его принадлежность к классу компактных или незадерживающих расписаний плюс минимум переналадок МОЦ.
В статье описаны два алгоритма из указанных групп, которые отличаются правилами выбора машины под загрузку. В алгоритме 1 это машина, для которой более вероятно совпадение ее наладки с наладкой, требуемой операцией предмета. Однако эта машина
90
РИ, 2000, № 1
не обязательно первой начинает работу, что нарушает принцип построения незадерживающих расписаний. В алгоритме 2 это машина, которая в соответствии с принципами незад ерживаемости раньше других машин начинает выполнение некоторой работы, но в меньшей степени гарантирует совпадение текущей наладки МОЦ с наладкой, которую требует технологическая операция.
Формализация
Без ограничения общности каждую группу станков участка представим одной, всегда доступной для выполнения работ машиной. Каждую партию деталей интерпретируем как предмет с заданным маршрутом обработки. Тогда задачу составления расписания можно сформулировать следующим образом.
Предметы из множества I = { i|1 < i < п} требуется обработать машинами из множества Q = { q|i < q < rn }. Обработка каждого предмета і є I состоит в выполнении машинами из Q предписаний последовательности операций Ii ={iqj |1 < j < ji } , специфичной для данного предмета. По времени выполнения операции не перекрываются, и каждая операция iqj є Ii выполняется
только одной машиной q за время tiq > 0 . Вслед-
і iqj
ствие этого все множество операций Ij = U ieI Ii разбивается на m классов Iq , 1 < q < m — перечней операций, выполняемых каждой машиной. Предполагается, что каждый класс Iq содержит не менее двух операций, прерывание и одновременное выполнение которых соответствующей машиной запрещено. При этих условиях для всех m машин необходимо задать порядки выполнения операций и определить моменты их начала так, чтобы минимизировать либо переналадки каждой машины, одновременно способствуя сокращению длины расписания, либо общее время выполнения всех работ, способствуя уменьшению количества переналадок машин.
Удобной интерпретацией задачи как математического объекта является представление ее на языке орграфов. С этой целью каждую линейно упорядоченную последовательность операций Ii, i є I представим последовательным графом Gi = Vi, Wi )c
множеством меченных вершин Ii, дуг Vi и функцией Wi :Ii ^ R+ , где R+ — множество положительных чисел. Каждая вершина iqj этого графа имеет пять меток i, j, q, h, t и соответствует одной и только одной операции iqj предмета Ii.
Метки i, j, q, h, t представляют собой номера предметов, операций, машин, наладок и время выполнения операций конкретной машиной. Каждая
пара вершин (iqj,iqj+i ЬIi, j = 1,2, ...,ji -1 графа Gi соединяется дугой є Vi, которая исходит из
вершины iqj и заходит в вершину iqj+1. Функция
РИ, 2000, № 1
Wi определена как Wi(iqJ = tiqj +1^, где ^ -время пролеживания i -й партии после j -й операции. Располагая Gi, 1 < i < m, определяем граф Gi = Ui^Gi = (Ii,Vi,Wi) с множеством вершин II = UieJIi, дуг V = UieJVi и функцией
Wj : Ij ^ R+ . Множество вершин Ij пополним вершинами is, iF и положим W(is) = WiO = 0. Вершину iS соединим исходящими дугами Vs с вершинами Ij, имеющими в Gj нулевую полустепень захода. Вершины из Ij с нулевой полустепенью исхода в Gj соединим с вершиной iF дугами VF, направленными к этой вершине. В результате получим сеть GT = (lj,iS,iF, VT, WT),
VT = Vj U Vs U Vf , WT :VT ^ R+ U { 0 }
с истоком is и стоком iF , определяющую технологические данные задачи.
Пусть Iq ^ Ij — подмножества вершины Gt , соответствующие множествам одноименных операций Iq , 1 < q < m . Используя это, некоторые порядки выполнения операций машинами q є Q на графе
Gt отобразим множествами Vq , 1 < q < m дополнительных дуг. Эти дуги связывают вершины каждого множества Iq так, что для любой пары (iqj,iqr)^ Iq вершин дуга Вjr исходит из вершины iqj и заходит в вершину iqr тогда и только тогда, когда операция, отображаемая вершиной iqj, непосредственно предшествует операции, отображаемой вершиной iqr . В результате получим граф G = (Vs,iF,V,W), V = Vt U Vm , Vm = 1^=1 Vq , W = WT и Wm , Wm :Vm ^ R+ U { 0 }, в котором функция Wm представлена так, что для каждой вершины iqj и исходящей дуги є Vq
Wq
tiqj, если h = Pq;
tiqj + tpq + thq, ЄСЛИ h * Pq ,
где h — наладка, требуемая j -й операцией; Pq — номер текущей наладки машины; tp , th — время
снятия наладки p и установки наладки h на машине q є Q . Если граф G ацикличен, то длина критического пути L из вершины is в вершину iF этой сети определит минимальное время выполнения множества операций Ij, порожденное заданными технологическими порядками их выполнения и теми порядками, которые установлены на машинах.
91
Определим Q в качестве множества всех сетей G , которые можно построить, формируя n^=1 Iq ! различных порядков обработки множества предметов I. Тогда задача о поиске порядка, определяющего расписание наименьшей длины с учетом переналадок машин, сводится к построению такой сети
G ёП, для которой L = l(g*J = min LG ™ G ёП .
>н
Совокупность U из m последовательностей ранних времен начала операций в G дает искомое расписание загрузки машин. Таким образом, точным
* * \ | |
G ,U ,L I. Приближенное ее решение (G, U, L) удовлетворяет условиям G ёП , L > L .
Алгоритмы и их характеристики
При описании алгоритмов используются принципы их конструирования, изложенные в [4]. Пусть
Is ^ Ij — множество операций предметов I, которые
могут выполняться машинами из множества Q в
текущие моменты времени S = 1,2,..., или, что одно и то же, множество вершин частично построенного
графа G, не имеющих заходящих дуг. Пусть Iq с IS — подмножество операций, выполняемых машиной q в момент S , а Uiq , Uq — текущие моменты начала выполнения очередной операции i -го предмета машиной q є Q и ее доступности. Пусть I^ , Ip —
множества работ, выполнение которых обеспечивает незадерживаемость расписания и наладки которых совпадают с текущей наладкой машины.
Алгоритм 1.
Шаг 1. Положить S = 1; выделить множество Is ; Viq є Is положить Uiq = 0 ; Vq є Q положить Uq = 0 .
Шаг 2. Выделить множество MS тех машин, которые могут выполнять операции из Is ; для каждой
машины q є MS вычислить Uq = min max(Uiq,Uq)
iqelS
— самый ранний момент начала ее работы — и сформировать множество UQ = |uS |q є MS }.
Шаг 3. Упорядочить множество MS по неубыванию элементов UQ.
Шаг 4. Определить очередную машину q є MS , текущая наладка которой pq совпадает с наладкой предмета h; если такой машины нет, выбрать первую по порядку машину в MS и перейти к шагу 6.
92
Шаг 5. Сформировать множество предметов Ip ^ IS,
наладки которых совпадают с наладкой pq ; выделить множество I™ ^ Ip , такое что
по
rPN
правилу
(Viq є I?N)max(uiqJUq) = Ц ;
MWKR/P выбрать операцию iq є IpN и перейти к шагу 7.
Шаг 6. Выделить множество L ^ і, такое, что
(viq є IN)max(Uiq,UJ=uq;
по правилу MWKR/P выбрать операцию iq є IN . Шаг 7. Для выбранной операции iq є Iq вычислить
Uiq = maX(Uiq,U J; Ui = Uiq + t|q ;
U2 =
Uiq ^ ^iq, если h pq,
Uiq + tiq + tpq + thq, Єсли h Ф pc
и положить Uq = Ц2.
Шаг 8. Положить S = S +1; выделить множество Is .
Шаг 9. Если Is A 0, для новой операции, поступившей в Is , положить Uiq = U1 и вернуться к шагу 2;
иначе вычислить L = maxjUq | по q є Q и остановиться.
Алгоритм 2.
Шаг 1. Выполнить согласно алгоритму 1.
Шаг 2. Вычислить U? = min min max (U^U, I и S q^QiqEI? V 4 q/
тем самым определить машину q є Q, которая раньше всех остальных машин может начать выполнение операции iq є Iq .
Шаг 3. Выделить множество операций IN с Iq
такое, что
(viq Є IN)max(Uiq,Uq) = U
Шаг 4. Выделить множество операций IN? ^ IN , наладки которых совпадают с текущей наладкой pq машины q; если lNP =0 , по правилу MWKR / P выбрать операцию iq є iN и перейти к шагу 6. Шаг 5. По правилу MWKR /Р выбрать операцию
iq є iNp .
Шаги 6-8 выполнить согласно шагам 7-9 алгоритма 1.
Правило MWKR / Р , согласно которому в приведенных алгоритмах выбирается операция, формулируется следующим образом: из множества операций
РИ, 2000, № 1
iq выбрать операцию того предмета, для которого
отношение суммарной длительности всех оставшихся операций к длительности выбираемой операции максимально [2].
Рабочие характеристики алгоритмов получены экспериментальным путем. С этой целью алгоритмы
были запрограммированы на TURBO BASIC , версия 1.1 и реализованы на ПК Pentium 1,200 MHz. Решены два набора из 150 случайных задач размером n • m = 36доп • m = 144 работ с величинами отношений — = 1,2,4. Задачи генерировались программным путем. В качестве оценок, по которым сопоставлялись алгоритмы, использовалось среднее арифметическое суммарного количества переналадок МОЦ Ps, длин расписаний Ls, погрешностей As по отношению к нижним границам длин расписаний. Эти данные представлены в таблице. Из нее следует, что для все х размеров задач 36 < n • m < 144 и всех
возрастает количество предметов, претендующих на обработку каждой машиной, увеличивая тем самым возможность выбора предмета, наладка которого h совпадает с текущей наладкой машины Pq .
В заключение отметим, что оба алгоритма целесообразны к применению. Первый — в тех случаях, когда по соображениям практики отдается предпочтение минимизации переналадок, второй — когда требуется строить расписания с меньшей длительностью, жер -твуя при этом числом переналадок.
Литература: 1. Танаев В. С., Шкурба В.В. Введение в теорию расписаний. М.: Наука. 1975. 305 с. 2. Конвей Р.В., Максвелл В.Л., Миллер Л.В. Теория расписаний. М.: Наука. 1975. 320 с. 3. Garey M, Jonson D., Sethi R. The Complexity of Flowshop and Jobshop Schednling. Math. Oper. Res.. 1976. Vol.1, № 2. P. 117-129. 4. Канцедал С.А. Вычислительные алгоритмы решения задач теории расписаний. Изв. АН СССР. Техническая кибернетика. 1982. №3. С. 42-51.
Поступила в редколлегию 28.05.99 Рецензент: д-р техн. наук Евдокимов А.Г.
отношений — - 1,2,4 алгоритм 1 строит расписания с меньшим средним числом переналадок, чем алго-
ритм 2. Вместе с тем средние длины расписаний Ls и погрешности решений для алгоритма 1 хуже, чем для алгоритма 2. Величина расхождений по переналадкам составляют примерно 13%, по длинам расписаний и погрешности — 30%. Эти данные очевидным образом подтверждают определяющее влияние на длину расписания принципа незадержи-
Канцедал Сергей Андреевич, д-р техн. наук, профессор. Научные интересы: математическое моделирование, теория расписаний и ее применение. Адрес: Украина, 61002, Харьков, ул. Петровского, 25, тел. 10-77-53.
Костикова Марина Владимировна, канд. техн. наук, доцент кафедры информатики ХГАДТУ. Научные интересы: математическое моделирование, теория расписаний и ее применение. Адрес: Украина, 61002, Харьков, ул. Петровского, 25, тел. 10-77-53.
ваемости выполнения работ: даже при минимиза-
Статистические данные решения задачи
ции переналадок не удается получить расписания с № п/п Параметры задачи Алгоритм 1 Алгоритм 2
меньшей средней длиной. Данные таблицы свиде- n m Pi LI £w <1 Pi LI £w <1
тельствуют также о том, 1 6 6 26 734 73,52 29 675 62,41
что с увеличением размера 2 9 4 18 815 41,9 22 730 26,6
решаемой задачи среднее 3 12 3 10 907 25,97 14 811 11,75
количество переналадок, 4 8 8 51 916 77,59 53 883 70,21
порождаемых алгоритма- 5 11 6 43 1034 47,6 48 968 32,03
ми 1, 2, увеличивается, что 6 16 4 25 1261 30,88 31 1124 16,62
естественно, и уменьша- 7 9 9 66 1081 78,82 70 990 70,86
ется с уменьшением отно- 8 13 6 51 1154 42,09 56 1074 38,02
n шения — и n • m = const. 9 20 4 28 1567 31,34 33 1325 10,71
10 10 10 81 1160 77,22 86 1139 71,35
m 11 14 7 69 1282 47,33 75 1179 35,4
Последнее свойство алго- 12 20 5 46 1601 32,11 54 1421 17,61
ритмов объясняется тем, 13 12 12 121 1451 86,34 128 1396 72,28
что с увеличением отно- 14 16 9 108 1575 61,4 117 1454 48,86
n шения — значительно 15 24 6 71 1941 33,31 83 1714 17,67
m
РИ, 2000, № 1
93