Том 155, кн. 2
УЧЕНЫЕ ЗАПИСКИ КАЗАНСКОГО УНИВЕРСИТЕТА
Физико-математические пауки
2013
УДК 519.178
МОДЕЛИ ЗАДАЧИ НЕГИЛЬОТИННОГО РАЗМЕЩЕНИЯ НАБОРА ПРЯМОУГОЛЬНИКОВ НА ЛИСТЕ И ПОЛУПОЛОСЕ
A.A. Андрианова, Т.М. Мухтарова, В.Р. Фазылов
Аннотация
Предложены математические модели для задачи пегильотишгого неориентированного размещения набора прямоугольников различных размеров па листе и полуполосе. Модели имеют форму системы лилейных частично булевых неравенств и задачи лилейного частично булевого программирования. Обсуждены особенности применения метода Лэпд и Дойг и эвристические приемы, уменьшающие общую трудоемкость решения задачи.
Ключевые слова: упаковка набора прямоугольников в полуполосу. 2ВР. 2SP, точный метод решения задачи прямоугольной упаковки, метод Лэпд и Дойг.
Введение
Задача двумерной упаковки прямоугольников на лист или в полу пол осу (задача прямоугольного раскроя, задача размещения прямоугольников) представляет очевидный практический интерес и давно привлекает внимание исследователей (см.. например. [1 3]). Тем не менее и в настоящее время она не потеряла актуальность. за последнее десятилетие ей было посвящено множество публикаций. Известно несколько различных вариантов постановок задачи прямоугольной упаковки на листе заданного размера или на бесконечной полуполосе заданной ширины. с возможностью поворота прямоугольников и без нее. с условием гильотинного и негильотинного размещения, с условием безотходной упаковки и без этого условия. Обзоры различных постановок задачи прямоугольного раскроя и методов для их решения можно найти, например, в [4. 5].
Поскольку практически все варианты задачи прямоугольного раскроя являются ХР-трудиыми (см.. например. [4. 5]). основное внимание исследователей направлено на разработку эвристических (метаэвристических) алгоритмов решения задачи, наиболее популярными из которых являются генетические алгоритмы [3. 5 8]. В связи с этим математическая постановка задачи прямоугольного раскроя присутствует в публикациях нечасто. Например, в [7] модель задачи прямоугольной упаковки сформулирована в виде задачи нелинейного (невыпуклого) программирования, в [9] предлагаются две постановки задачи: задача линейного программирования с альтернативными ограничениями и задача частично булевого линейного программирования для безотходного размещения с очень большим количеством переменных и ограничений (например, для безотходного размещения 10 прямоугольников на листе размера 5 х 10 модель содержит 500 переменных и 60 ограничений). В [5. 10] приведена математическая модель размещения в полуполосу прямоугольников и кругов, которая в частном случае размещения только прямоугольников является задачей линейного частично булевого программирования. Эта модель будет обсуждена в разд. 2.
Заметим, что указанные математические модели задач, в основном, не связаны непосредственно с предлагаемыми методами решения задачи. Для частных случаев задач прямоугольной упаковки (ориентированный случай [11]. гильотинное размещение прямоугольников [13] или безотходная упаковка [9]) предложены точные методы решения. Эти методы имеют комбинаторный характер. Большинство из них относится к классу методов ветвей и границ.
В настоящей статье предлагаются линейные частично булевы модели задач негильотинного неориентированного размещения набора прямоугольников на листе заданного размера и в полуполосе заданной ширины. В последнем случае требуется определить минимальную длину полосы для размещения набора прямоугольников. то есть речь идет о задаче компактного размещения. Предполагается также, что при упаковке могут образоваться отходы. Для получения точного решения по этим моделям мы применили метод Лэнд и Дойг [12]. В статье описаны результаты вычислительного эксперимента и сравнение нескольких вариантов применения метода Лэнд и Дойг. а также предложены эвристические приемы, уменьшающие трудоемкость решения задач.
Задача размещения набора прямоугольников на прямоугольном листе формулируется следующим образом. Пусть даны прямоугольный лист с целочисленными размерами А х В (А - длина листа, В - его ширина, А > В) и набор п прямоугольников (далее деталей) с целочисленными размерами аг х Ьг (аг и Ьг - длина и ширина г-й детали соответственно, причем аг > Ъг, г = 1,..., п, то есть длина детали не меньше ее ширины).
Требуется определить:
1) размещается ли набор деталей на листе:
2) если набор деталей размещается на листе, то определить положение деталей на листе.
Эта задача при наличии требования гильотинного размещения решена в [13] в более общем виде: предложенный в [13] метод вычисления функции гильотинного размещения дает полный набор прямоугольных листов различных размеров, необходимых и достаточных для гильотинного размещения заданного набора прямоугольников. В настоящей работе предполагается, что требование гильотинности размещения отсутствует.
Разместим лист на координатной плоскости так, что левый нижний угол листа имеет координаты (0, 0), а правый верхний - (А, В). Будем рассматривать как возможные только такие размещения деталей на листе, при которых каждая деталь ориентирована либо вдоль листа (расстояние между правым и левым краями детали равно аг), либо поперек листа (расстояние между правым и левым краями детали равно Ьг), размещения деталей «наискосок» нами не рассматриваются.
Обозначим через (хг, уг) координаты левого нижнего угла г-й детали, а через гг - ориентацию г-й детали на листе
Для удобства изложения обозначим через уг размер г-й детали по оси X (расстояние между левым и правым краями детали) в зависимости от ее ориентации
1. Модель размещения набора прямоугольников на прямоугольном листе
0, , 1, .
У = аг( 1 - + Ь^ = (Ьг - аг)хг + аг,
(1)
а через иг - размер г-й детали по оси У (расстояние между нижним и верхним краями детали)
иг = (11X1 + Ъг (1 - Хг) = (( - Ъг)хг + Ъг. (2)
Предлагаемая ниже модель размещения деталей на листе состоит из условий двух типов: условий размещения каждой отдельной детали на листе и условий попарного непересечения деталей.
Условия размещения г-й детали на листе, очевидно, имеют вид двусторонних линейных неравенств
0 < хг < А - V,, (3)
0 < у, < В - и,. (4)
А для того чтобы г-я деталь те пересекалась с у-й, требуется выполнение одного из четырех неравенств
X] - хг > V, (о-я деталь лежит правее г-й), (5)
хг - X] > V] (о-я деталь лежит левее г-й), (6)
У] - У г > иг (у-я деталь лежит выше г-я), (7)
У г - У] > и] (у-я деталь лежит ниже г-й). (8)
Очевидно, что эта система несовместна: неравенство (5) противоречит неравенству (6), а неравенство (7) неравенству (8).
Чтобы свести систему альтернативных неравенств (5), (6) к совместной, используем известный прием (см., например, [14]). Суть этого приема заключается в следующем. Введем булеву переменную вг], которая принимает значение "О", если выполняется неравенство (5), и значение "1", если выполняется неравенство (6), и достаточно большое число А. Тогда условия пепересечения г-й детали с у-й по оси X можно представить в виде совместной системы неравенств
Ав] + X] - хг > VI, (9)
А(1 - в]) + хг - X] > V]. (10)
Видно, что если выбрать А такое, что А > А, то при в] = 0 неравенство (9) превращается в неравенство (5), а неравенство (10) - в неравенство А + хг - х] > V], которое является следствием неравенств хг > 0, х] < А - V] и А > А, то есть является избыточным. Если же вг] = 1, то неравенство (10) превращается в неравенство (6), а неравенство (9) становится избыточным, так как следует из неравенств х] > 0, хг < А - гиг и А > А.
Аналогичным образом можно свести систему альтернативных неравенств (7), (8) к системе совместных неравенств. В этом случае достаточно большим числом будет В, удовлетворяющее неравенству В > В, а переменная вг] принимает значение "0", если выполняется неравенство (7), и значение "1", если выполняется нера-
У
Ввг] + У] - Уг > иг, (11)
В(1 - вг]) + Уг - У] > и]. (12)
Итак, получены две системы неравенств (9), (10) и (11), (12), каждая из которых обеспечивает непересечение г-й и у'-й деталей по горизонтали и вертикали соответственно. Но так как заранее неизвестно, какую из этих систем нужно выбрать для каждой пары деталей, то введем булеву переменную 1г], которая принимает
значение "О", если для г-й и у'-й деталей выбирается система (9), (10), и значение !Т', если выбирается (11). (12).
Теперь условия попарного непересечения г-й и у'-й детадей по оси X или по оси У можно представить в виде системы линейных неравенств
АЬгц + Авг^' + Xц Xг > Vг, (13)
АЬ^ + А(1 - вгц ) + Хг - хц > Vj, (14)
В(1 - Ьгц) + Ввц + Уз - Уг > Юг, (15)
В(1 - Ьгз ) + В(1 - вгз ) + Уг - Уз > Юц. (16)
Очевидно, что для любых конкретных значений вц, Ьц одно из неравенство (13) (16) совпадает с одним из альтернативных неравенств (5) (8). Оставшиеся же три неравенства системы (13) (16) будут избыточными.
Объединив условия (3), (4), (13)-(16) и заменив в них VI, Vц, юг, Юц согласно (1), (2), получим модель размещения набора деталей на листе в форме системы
линейных частично булевых неравенств
0 < хг + (Ъг - о,г)гг < А - аг, г = 1,..., п, (17)
0 < Уг + (ог - Ъг)гг < В - Ъг, г = 1,...,п, (18)
-хг + хц - (Ъг - аг)гг + АЬц + Авц > ог, г = 1,..., п - 1, у = г + 1,..., п, (19)
хг - хц - (Ъц - оц + АЬгц - Авц > оц - А, г = 1, .. ., п - 1, у = г + 1, .. ., п, (20)
-Уг + Уц - (ог - Ъг)хг - В Ьц + В вц > Ъг - В, г =1,...,п - 1, у = г + 1,...,п, (21)
Уг - Уц - (оц - Ъц- ВЬгц - Ввгц > Ъц - 2В. г = 1,..., п - 1, у = г + 1,...,п, (22)
гг € {0,1}, г = 1,...,п, (23)
вгц € {0,1}, г = 1,. .., п - 1, у = г + 1,...,п. (24)
Ьгц € {0, 1}, г = 1,...,п - 1, у = г +1,...,п. (25)
Отметим ряд очевидных случаев, в которых значения некоторых булевых переменных можно зафиксировать заранее и тем самым уменьшить размерность задачи. Пусть система (17) (25) совместна, тогда справедливы следующие предложения.
А= В ( ) г
детали, удовлетворяющей условию ог > Ъг. Тогда система (17)-(25) останется совместной и с дополнительным ограничением гг = 0.
Заметим, что предложение 1 без риска потери совместности системы (17) (25) можно применить только для одной детали.
Предложение 2. Система (17) (25) останется совместной и с дополнительными ограничениями гг = 0 для всех г, удовлетворяющих одному из условий: ог = Ъг ( ) ог > В ( )
Предложение 3. Система (17) (25) останется совместной и с дополнительными ограничениями Ьгц = 0 для всех пар г, у, удовлетворяющих условиям г < у, Ъг + Ъц > В (две широкие детали).
Предложение 4. Система (17) (25) останется совместной и с дополнительными ограничениями вц = 0 для всех пар г,у, удовлетворяющих условиям г < у', ог = оц и Ъг = Ъц (одинаковые детали).
Предложение 4 позволяет в случае m одинаковых деталей ограничиться рассмотрением только одного из m! фактически неразличимых вариантов размещения. отличающихся лишь перестановкой одинаковых деталей.
Обозначим через I(а, b) множество всех индексов деталей с размерами a х b: I(а, b ) = {i £ {1,. .., n} : aj = a, bj = b }.
Предложение 5. Пусть j,k таковы, что j < k и I (aj, bj) = I (ak, bk). T7o-ложим j* = min{i : г £ I(aj, 6j)}, k* = max{i : г £ I(ak,bk)}. Тогда система (17)-(25) останется совместной и с дополнительным ограничением sj*k* = 0.
Нетрудно увидеть, что любому допустимому размещению деталей соответствует три симметричных варианта: относительно средней линии листа по горизонтали. относительно средней линии листа по вертикали и относительно центра листа. Предложение 5 позволяет исключить из рассмотрения два из них. Заметим.
j, k
2. Модель компактного размещения набора прямоугольников на полуполосе
Рассмотрим теперь задачу компактного размещения набора деталей на полуполосе. Пусть даны набор n деталей с размерами aj х Ъ (aj > 6j), i = 1,..., n, и полуполоса с шириной B, B > max 6j. Требуется определить длину куска по-
1<j<n
луполосы, необходимую и достаточную для размещения данного набора деталей, и соответствующий план размещения.
Решение этой задачи сводится к решению следующей задачи линейного частично булевого программирования
min A (26
0 < xj + (bj - aj)zj < A - aj i= 1 , . . . , n, (27
0 < Vj + (aj - 6j)zj <B- bj, i= 1 , . . . , n, (28
xj + xj (Ъ 4 - aj)zj + Atjj + A Sjj > aj, i = 1,... , n- 1, j = = i +1,.. , n, (29
j j (Ъ j aj )zj H- Atjj — Asjj > aj - A , i= 1,... ,n - 1, j = i + 1,. . , n, (30
-Vj + Vj - (aj - bj)zj - Btjj + Bsjj > bj - B, i= 1,.. ,n - 1, j = i + 1, . . , n, (31
Vj - Vj - (aj - bj)zj - Btjj - Bsjj > 6j - 2B. i= 1,... ,n - 1 j = i + 1, . . , n, (32
zj £ {0,1}, i = 1, . . , n, (33
sjj £ {0,1}, i = 1,. ..,n- 1, j=i + 1,..., n, (34
tjj £ {0,1}, i = 1,. .,n- 1, j=i + 1,..., n. (35
В этой модели В, как и в модели размещения набора деталей на листе, должно удовлетворять условию В > В, а А должно быть не меньше оптимального
п
значения целевой функции, в частности А можно принять равным ^ аг.
г=1
Заметим, что предложения 2 5 имеют силу и для модели (26) (35). Очевидно также, что предложение 1 к данной модели неприменимо, так как длина искомого листа заранее неизвестна.
Сравним полученную модель (26) (35) задачи негильотииного прямоугольного размещения с частным случаем известной модели размещения кругов и прямоугольников в полуполосе [5], уточненный вариант которой, опубликованный в [10], в частном случае размещения только прямоугольников имеет вид
шт А (36)
0 < xi + (^ — ai)zi < А — а^ г = 1,..., п, (37)
0 < yi + (а — < В — Ь, г = 1,..., п, (38)
Xi + аi(1 — zi) + 6iZi < х, + (1 — д-)А, г = 1,...,п, = 1,..., п, (39)
Уi + Ь<(1 — Zi) + aiZi < у, + (1 — дВ )В, г =1,...,п, = 1,. .., п, (40)
д£ + дВ + + дВ =1 г = 1,...,п, = 1,...,п, (41)
Zi е {0, 1}, г = 1,...,п, (42)
д- е {0,1}, г = 1,...,n, = 1,...,n, (43)
дВ е{0,1}, г = 1,..., п, ^ = 1,..., п, (44)
где д^- равно "1", еели г-я деталь расположена левее ^'-й, и "0" в противном случае; дВ равно "1", если г-я деталь расположена ниже ^'-й, и "0" в противном случае.
Как видно, модель (36) (44) в сравнении с моделью (26) (35) имеет следующие недостатки:
1) очевидно, что в ограничениях (39). (40) условия перебора индексов следует дополнить условием г = j, так как в случае г = j в силу (42)—(44) получим, что д^ = 0, дВ =0, поэтому неравенства (39), (40) станут избыточными;
г=
= 1,..., п — 1, j = г +1,..., п. В противном случае, во-первых, при г = j возникает дублирование уравнений, а во-вторых, при г = j уравнение (41) противоречит условиям (43), (44);
3) очевидно, что в ограничениях (43), (44) условия перебора индексов также следует дополнить условием г = так как переменные д^- и дВ щи г = j не имеют смысла;
4) с учетом 3) количество булевых переменных в модели (36)—(44) равно 2п2 — п, а для модели (26)-(35) это количество составляет п2 ;
5) с учетом 1) и 2) количество ограничений в модели (36)—(44) равно 4.5п2+0.5п, а для модели (26)-(35) это количество составляет 3п2 + 2п.
Итак, видно, что модель (26) (35) предпочтительнее модели (36) (44).
3. Применение метода Лэнд и Дойг
Для решения задачи (26) (35) мы использовали метод Лэнд и Дойг [12], который, как известно, является универсальным методом решения задач частично целочисленного линейного программирования с двусторонними ограничениями на переменные
N
шш^ С X (45)
¿=1
N
^А,X,- < В г = 1,...,М, (46)
¿=1
Е < X, < ^ j = 1,...,Ж, (47)
X, е . j е 7, (48)
где . — множество целых чисел, 7 — множество индексов целочисленных переменных.
Заметим, что булеву переменную можно считать целочисленной переменной, лежащей в интервале [0,1].
Метод относится к классу методов ветвей и границ и заключается в сведении частично целочисленной задачи линейного программирования к решению конечного набора обычных задач линейного программирования, отличающихся друг от друга лишь двусторонними ограничениями на целочисленные переменные исходной задачи.
Описание метода
0. Пусть множество отложенных задач Б пусто. Определим начальный (фиктивный) рекорд с рекордным значением, целевой функции, равным
N
(шт{0, С,+ шах{0, С,) + 1. Поместим обычную задачу линейного про-
¿=1
граммирования (45)-(47) в Б.
1. Если Б пусто, останов: если последний рекорд является фиктивным, то задача (45) (48) не имеет решения, в противном случае последний рекорд является оптимальным решением задачи (45) (48).
2. Из множества отложенных задач извлечем одну, назовем ее текущей.
3. Если текущая задача не имеет решения (область допустимых решений пуста), то перейдем к п. 1.
N
4. Вычислим X* - оптимальное решение текущей задачи. Если ^ С,X* не
¿=1
меньше рекордного значения целевой функции, то перейдем к п. 1.
5. Если X* удовлетворяет условиям (48), то примем X* в качестве очередного рекорда (обновление рекорда) и перейдем к п. 1.
6. Выберем индекс j* е 7 такой, что X** / ..В Б поместим две новые задачи, полученные из текущей добавлением ограничения X,* < [X**] или X,* >]X¿* [ соответственно, где [ • ] и ] • [ — операции округления до ближайшего меньшего или большего целого соответственно. Перейдем к п. 1.
Заметим, что формирование двух новых задач из текущей (см. п. 6 метода) фактически означает лишь изменение в текущей задаче верхней или нижней границы переменной X,*.
Для построения алгоритма метода Лэнд и Дойг нужно конкретизировать правило выбора текущей задачи и правило выбора переменной ветвления переменной, используемой для формирования двух новых задач из текущей (см. п. 6). Заметим, что в литературе нет общих рекомендаций по выбору этих правил. Для решения задачи (26) (35) нами были применены следующие правила.
Для хранения отложенных задач мы используем стек, что однозначно определяет правило выбора текущей задачи: выбирается задача из вершины стека. Добавление в стек новых задач производится в следующем порядке: если X** — [X** ] > >]X** [—X**, то сначала в стек помещается задача с ограничением X** < [X,* ], а затем задача с ограничением X** >]X** [, в противном случае используется обратный порядок включения задач в стек.
Для выбора переменной ветвления мы используем правило первой нецелой переменной. В результате проведенных численных экспериментов было установлено, что для уменьшения трудоемкости вычислений целесообразно сделать следующее:
1) предварительно отсортировать детали по невозрастанию площадей, а детали с равными площадями по невозрастанию длин деталей:
2) по отсортированному списку деталей сформировать следующий список булевых переменных:
Z1,Z2, 512, ¿12^3, «13, ¿13, в23, ¿23, Z4, . . . , «„-!,„, ¿п-1,п,
и в качество перемешюй ветвления выбирать первую по этому списку нецелую переменную. Такой порядок переменных и правило выбора первой нецелой переменной отражают стремление искать оптимальное размещение путем добавления очередной детали к уже полученному частичному размещению.
Для задачи (26)-(35) очевидно, что если Б - наибольший общий делитель ши-
рины полосы и всех размеров деталей, то величина
£-1 ^
¿=1 Б
• Б является
нижней границей значения целевой функции. Поэтому в случае ее совпадения с текущим рекордным значением целевой функции можно прекратить вычисления, так как текущий рекорд будет оптимальным решением задачи.
Более того, так как рекордные значения целевой функции будут кратны величине Б, можно усилить критерий отсева бесперспективных задач, заменив п. 4 описанного выше метода на:
N
4'. Вычислим X* - оптимальное решение текущей задачи. Если ^ С,X* боль-
3 = 1
ше рекордного значения целевой функции, уменьшенного на Б, то перейдем к п. 1.
Для решения задачи (26) (35) метод Лэнд и Дойг применялся в двух вариантах.
Вариант 1. Реализация вышеописанной схемы проводилась с модифицированным п. 4 и фиктивным (начальным) рекордом со значением целевой функции,
п
равным a¿ + 1.
¿=1
Вариант 2. Для заданного набора деталей предварительно рассчитывалась функция гильотинного размещения (см. [13]). Затем решалась задача (26) (35) с дополнительным ограничением А < Ь, где Ь - оптимальная длина полосы шириной В при условии гильотинного размещения набора деталей.
Сравнение вариантов метода проводилось с помощью вычислительного эксперимента на наборе сгенерированных псевдослучайных задач, где в качестве критерия эффективности использовалась трудоемкость получения решения (Т), измеряемая количеством рассмотренных задач линейного программирования. В качестве показателя эффективности варианта 2 относительно варианта 1 использовался средневзвешенный процент уменьшения трудоемкости РБ, рассчитанный по следующей формуле:
(и м \
1 "Е Тад/Е Т1, • 100%, (49)
3=1 3=1 )
где Ту - трудоемкость решения ^'-й задачи вариантом 1, - трудоемкость решения ^'-й задачи вариантом 2, М - количество решенных задач в рамках эксперимента.
4. Результаты численных экспериментов
Для формирования задач использовался следующий генератор исходных данных.
0. Выберем требуемое количество деталей п и границы интервала разброса размеров деталей Ь, Н, Ь > Н.
1. Положим г = 1.
2. Выберем из целых чисел интервала [Ь; Н] по равномерному закону два числа
9, н.
3. Если 9 > Н, то положим а^ = 9, b¿ = Н, иначе а^ = Н, b¿ = 9.
4. Положим г = г + 1. Если г < п, то перейдем к п. 2.
Табл. 1
Результаты сравнения трудоемкости вариантов 1 и 2 метода Лэпд и Дойг
Количество деталей Минимальная трудоемкость Средняя трудоемкость Максимальная трудоемкость
п = 10 225 / 99 570 262 / 564 335 21968 829 / 21600 257
п = 11 475 / 325 1532 450 /1516 874 27 261 195 / 27 251353
п = 12 2 701 / 437 1 104 363 / 1094 731 13 210 652 /13156 273
5. Отсортируем полученный набор деталей по неубыванию их площадей, а детали с одинаковыми площадями по неубыванию их длин. п
нерировались из интервала [1; 20]. Ширина полосы табулировалась от значения тах Ьг с шагом Б до тех пор, пока не оказывалась большей или равной опти-
1<г<и
мальиой длине полосы, полученной при предыдущем значении ее ширины. Таким образом, для одного и того же набора деталей формировалось несколько задач размещения, отличающихся друг от друга шириной полосы.
В предварительном эксперименте исследовалось влияние на трудоемкость порядка просмотра булевых переменных {{8^-}п=г+1}"Т11 и {{¿^}п=г+1}"Т11 для определения переменной ветвления. Рассматривались два варианта списков:
1) ¿1, ¿2, 812, ^12, ^з, 813, ^13, 823, ¿23, ¿4, . . . , 8„-1,п, ¿п-1,„;
2) ¿1, ¿2, ¿12, 812, ¿3,¿13, 813, ¿23, 823, ¿4, . . . ,¿„-1,«, 8п-1,п;
существенной разницы в трудоемкости вычислений не наблюдалось. Для определенности был выбран первый вариант списка булевых переменных.
Целыо основного эксперимента являлось исследование влияния на эффективность метода ветвей и границ Лэнд и Дойг наличия хорошего рекорда, в качестве которого мы использовали значение функции гильотинного размещения для заданной ширины полосы. Заметим, что вычисление функции гильотинного размещения (см. [13]) является малотрудоемкой процедурой по сравнению с решением одной задачи (26) (35) методом Лэнд и Дойг несмотря на то, что значения этой функции определяются сразу для всех значений ширины полосы.
Сравнение эффективности вариантов реализации метода Лэнд и Дойг прово-
п
(87 задач), 12 (13 задач) деталей. Результаты эксперимента приведены в табл. 1. Данные в таблице приведены в формате V/W V, Ш - значения трудоемкостей для вариантов 1 и 2 соответственно.
Из табл. 1 видно, что второй вариант метода лучше первого, однако значительного сокращения трудоемкости решения задачи не наблюдается. Средневзвешенный процент уменьшения трудоемкости, вычисленный по формуле (49), составил РБ « 1%.
Обсудим результаты данного эксперимента подробнее.
1. Улучшение гильотинного решения задачи размещения наблюдалось в 13.6% случаев, причем само улучшение лежало в пределах от 1% до 7% от оптимальной длины полосы, полученной при гильотинном размещении деталей.
Несмотря на невысокий процент таких задач, следует отметить наличие наборов деталей, в которых ситуация улучшения гильотинной рекордной длины возникала достаточно часто. В качестве примера приведем результаты решения задачи (26) (35) для следующего набора деталей:
Количество деталей 1 1 1 1 1 1 3 1
Длина 8 7 9 5 6 5 4 3
Ширила 7 6 3 4 3 3 2 2
В табл. 2 приведены значения оптимальных длин полосы при гильотинном и негильотинном размещении этого набора деталей для различных значений ширины полосы. Как видно, в этом примере улучшить гильотинное размещение удалось в 50% рассмотренных вариантов ширины полосы.
Табл. 2
Сравнение оптимальной длины полосы при гильотишгом и пегильотишгом размещении набора деталей
Ширина полосы 7 8 9 10 11 12 13 14
Гильотинное размещение 31 27 24 21 20 18 17 15
Негильотиппое размещение 30 26 24 21 19 18 16 15
2. Наибольший эффект от применения хорошего рекорда наблюдался на классе задач, в которых достигалась нижняя оценка длины полосы (62.9% решенных задач). Для данного класса задач при п =10 уменьшение трудоемкости составило Г Б « 1.9%, для п = 11 - Г Б « 2.4%, для п = 12 - Г Б « 4.8%. В табл. 3 приведены показатели эффективности (Т) при решении задач данного класса. Формат представления результатов в табл. 3 такой же, как и в табл. 1.
Табл. 3
Результаты сравнения вариантов 1 и 2 метода Лэпд и Дойг для задач с достижимой нижней границей
Количество деталей Минимальная трудоемкость Средняя трудоемкость Максимальная трудоемкость
п =10 225 / 99 148 443 / 145 614 8 079 919 / 8 050 641
п =11 475 / 325 323 528 / 315 651 9 327 671 / 9 298142
п =12 2 701 / 437 112109 / 106 691 925 557 / 922 685
Для задач, в которых не достигалась нижняя оценка длины полосы (37.1% от общего количества задач эксперимента), оказалось, что Г Б < 0.6%. К сожалению, задачи именно этого класса являются существенно более трудоемкими по сравнению с темп, где нижняя оценка достижима, что легко увидеть, сравнив данные из табл. 1 и 3.
3. Значительное уменьшение трудоемкости (в процентном отношении) наблюдалось только для задач, общая трудоемкость решения которых была небольшой (максимальная трудоемкость для класса таких примеров 144691). В них за счет начального рекорда, взятого из гильотинного размещения, и достижения нижней границы длины полосы Г Б > 50%. Более трудоемкие задачи не дают такого эффекта.
4. Еще один показатель, с помощью которого можно осуществить сравнение двух вариантов метода Лэнд и Дойг, остаточная трудоемкость метода ветвей и границ после получения оптимального размещения доля от общего количества решенных задач линейного программирования, которую приходится решить уже после получения оптимального решения:
ЕТ = (1 - ТгеС/Т) • 100%,
где Т - трудоемкость некоторого варианта метода Лэпд и Дойг, Тгес - количество узлов, просмотренных на момент получения оптимальной длины полосы.
Эксперименты показали, что хороший рекорд при решении задачи обоими вариантами метода Лэнд и Дойг получается довольно рано. Если оптимальная длина полосы соответствует нижней оценке, то остановка вычислений производится быстро (ЕТ « 7%). Однако для класса задач, в которых априорная нижняя оценка длины полосы недостижима, остановка производится только после полного просмотра
дерева решений. Именно на последовательный просмотр и отсечение оставшихся ветвей дерева решений и приходится основная часть трудоемкости при решении задач данного класса. Данные в табл. 4 и 5 подтверждают этот вывод. В табл. 4 содержится информация о долях от общего количества задач с недостижимой нижней границей длины полосы, в которых наблюдалась остаточная трудоемкость ДТ из заданного интервала.
Табл. 4
Доли задач с определенной остаточной трудоемкостью (класс задач с недостижимой нижней границей)
ИТ < 20% (20%; 40%] (40%; 70%] (70%; 90%] > 90%
Вариант 1 27.6% 7.4% 5.5% 6.5% 53%
Вариант 2 12% 9.5% 8.2% 15.7% 54.6%
Как видно из табл. 4, процесс просмотра дерева решений после получения оптимальной длины полосы почти одинаково трудоемок для обоих рассматриваемых вариантов метода Лэнд и Дойг. Об этом говорит значительная доля задач с высокой остаточной трудоемкостью (ДТ > 70%). Особенно это заметно для варианта 2 метода Лэнд и Дойг. Эти же данные подтверждают и тот вывод, что априорное знание хорошего рекорда во втором варианте метода лишь незначительно позволяет сократить общую трудоемкость (в основном сокращается доля вычислений до получения оптимальной длины полосы).
В табл. 5 приведены значения средней доли дерева перебора решений (в процентах), просмотренной (с учетом отсеченных узлов) на момент получения оптимального решения.
Табл. 5
Доля дерева решений до получения оптимальной длины полосы (класс задач с недостижимой нижней границей)
ИТ < 20% (20%; 40%] (40%; 70%] (70%; 90%] > 90%
Вариант 1 2.3% 4.8% 3.1% 8.8% 0.8%
Вариант 2 2.9% 3.9% 0.9% 6.6% 0.7%
Видно, что для получения оптимального решения в данном эксперименте в среднем достаточно было бы просмотреть около 9% дерева. В связи с этим мы рассмотрели возможность досрочной остановки вычислений по следующему эвристическому критерию: последний иефиктивный рекорд будем считать эвристическим решением задачи, если текущая трудоемкость превысила N узлов и выполняется одно из условий:
1) оценка просмотренной доли дерева превышает р (в процентах);
2) трудоемкость процесса вычислений с момента получения последнего рекорда
Ь
Согласно указанному критерию задачи с трудоемкостью до N узлов считаются нетрудоемкими, поэтому для этих задач остановка вычислений может произойти по достижению нижней границы длины полосы или по условию полного просмотра дерева решений. Для задач с большей трудоемкостью при наличии полученного размещения для остановки вычислений проверяются условия 1) и 2) критерия. Мы предлагаем использовать этот критерий только для варианта 2 метода Лэнд и Дойг, так как в этом случае первый нефиктивный рекорд будет достаточно хорошим.
Приведем результаты анализа эффективности применения эвристического критерия на указанном выше множестве задач при следующих значениях параметров:
Табл. 6
Задачи, в которых не была найдена оптимальная длила полуполосы)
n B A* A+ n B A* A+ n B A* A+
10 13 15 16 10 8 14 15 10 5 21 22
10 7 30 31 10 10 20 21 10 11 19 20
10 13 16 17 10 10 23 24 10 12 19 20
10 10 56 57 10 16 36 37 10 10 42 44
10 44 59 61 11 12 12 13 11 16 16 17
11 17 50 51 11 18 46 47 11 15 47 48
11 16 44 45 11 18 39 40 11 25 28 29
11 27 26 27 11 20 46 47 11 21 43 45
N = 100 000, р = 1% £ = 50%. Досрочная остановка вычислений по эвристическому критерию произошла в 63% случаев. Среди них в 67% случаев наблюдалось уменьшение общей трудоемкости более чем на 50%, а в 30% случаев более чем на 90%. Отметим, что зачастую остановка происходила при выполнении обоих условий критерия одновременно, а в случае остановки по одному из условий, заметно реже остановка вычислений происходила по условию 2).
В основном (92% от общего количества задач) было получено оптимальное размещение деталей на полуполосе. Результаты решения остальных 8% задач приведены в табл. 6. Для каждой задачи указаны количество деталей п, ширина полосы В и оптимальная длина полосы А* , полученная длина полосы А+.
Средняя погрешность полученных размещений составила менее 4%. С учетом небольших значений оптимальной длины полосы в табл. 6 эту погрешность можно считать незначительной. Таким образом, анализ результатов эксперимента показал, что применение эвристического критерия останова существенно уменьшает вычислительные затраты, при этом большая часть задач была решена точно, а для неточно решенных задач погрешность решения невелика.
Работа выполнена при финансовой поддержке РФФИ (проект ^12-01-31515, 12-01-97022, 13-01-00908).
Summary
A.A. Antlrianova, Т.М. Mukhtarova, V.R. Fazylov. Models of the Nonguillotine Sheet, and Strip Rectangular Packing Problem.
Mathematical models of the nonguillotine sheet and strip rectangular packing problem with rotation are suggested. The models have the form of the linear partially Boolean inequalities system and the linear partially Boolean programming problem. Several computing features of the Land and Doig method and the heuristic approaches for reducing general complexity of solving the problem are discussed.
Keywords: rectangular packing problem. 2BP. 2SP, exact method for solving strip rectangular packing problem. Land and Doig method.
Литература
1. Канторович Л.В. Математические методы в организации и планировании производства. Л.: Изд-во ЛГУ. 1939. 68 с.
2. Каилюрович Л.В., Залгалле.р В.А. Расчет рационального раскроя промышленных материалов. Л.: Лепипгр. газ.-журп. изд-во. 1951. 198 с.
3. Мухаче.ва Э.А. Рациопальпый раскрой промышленных материалов. Применение в АСУ. М.: Машиностроение. 1984. 176 с.
4. Lodi A., Martello S., Monad М. Two-dimensional packing problems: A survey // Eur. J. Oper. Res. 2002. V. 141, No 2. P. 241 252.
5. Pydueo A.C. Вероятностный поиск с запретами для задачи упаковки кругов и прямоугольников в полосу // Дискр. анализ и исслед. операций. 2009. Т. 16, Л' 4. С. 61 86.
6. Zhang D., Капу К, Deng S. A new heuristic recursive algorithm for the strip rectangular packing problem // Comput. Oper. Res. 2006. V. 33, No 8. P. 2209 2217.
7. Старостин H.B., Силаев A.H., Седых И.О. Многоуровневый эволюциошю-гепетический метод размещения прямоугольников па плоскости // Вести. Нижегор. уп-та им. Н.И. Лобачевского. 2009. № 5. С. 163 168.
8. Chen М., Huang W. A two-level search algorithm for 2D rectangular packing problem // Comput. Ind. Eng. 2007. V. 53, No 1. P. 123 136.
9. Kenmoehi M., Imamiehi Т., Nonobe K., Yagiura M., Nagamoehi H. Exact algorithms for the two-dimensional strip packing problem with and without rotations // Europ. J. Oper. Res. 2009. V. 198, No 1. P. 73 83.
10. Pydueo A.C. Алгоритмы локального поиска для задач двумерной упаковки: Автореф. дис. ... капд. физ.-матем. паук. Новосибирск, 2010. 19 с.
11. Векгаг А., Каеет I., Chu С. A comparative study of exact algorithms for the two dimensional strip packing problem // Int. J. Ind. Syst.. Eng. 2007. V. 1, No 2. P. 151 170.
12. Land A.H., Doig A.C. An automatic method of solving discrete programming problems // Econometrica. 1960. V. 28, No 3. P. 497 520.
13. Лериер Э.Ю., Фазы,лов В.P. Функция гильотинного размещения // Исслед. по приклад. матем. Казань: Упипресс, 1999. Вып. 21. С. 187 196.
14. Мэн А.С. Задача календарного планирования для предприятий единичного и мелкосерийного производства // Календарное планирование. М.: Прогресс, 1966. С. 222 226.
Поступила в редакцию 28.12.12
Андрианова Анастасия Александровна кандидат физико-математических паук, доцепт кафедры системного анализа и информационных технологий, Казанский (Приволжский) федеральный университет, г. Казань, Россия.
Е-шаП: аапЛг18Qm.aU. ги
Мухтарова Татьяна Маратовна ассистент кафедры анализа данных и исследования операций, Казанский (Приволжский) федеральный университет, г. Казань, Россия.
Е-шаП: Ьпт- 08Qm.aU. ги
Фазылов Валерий Рауфович доктор физико-математических паук, профессор кафедры анализа даппых и исследования операций, Казанский (Приволжский) федеральный университет, г. Казань, Россия.
Е-шаП: у$агу1оу вдтай. сот.