Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

9435

.pdf
Скачиваний:
0
Добавлен:
25.11.2023
Размер:
2.67 Mб
Скачать

21

Мультиметодный генетический алгоритм, использующий разработанные эвристики размещения трёхмерных ортогональных объектов, обеспечивает получение наиболее плотных упаковок для четырёх из шести классов тестовых задач 3DBPP, а также обеспечивает получение наилучших решений среди прочих рассмотренных эвристических и метаэвристических алгоритмов оптимизации при общем анализе результатов решения всех тестовых задач.

Для быстрого получения субоптимального решения задачи прямоугольного раскроя или ортогональной упаковки может быть использован однопроходной алгоритм, выбирающий одну наиболее эффективную эвристику в качестве решения задачи. Для задач трёхмерной упаковки наиболее эффективной является эвристика O1 P3 , которая более чем в 65% случаев встречается в хромосомах наилучших решений.

Проведённый вычислительный эксперимент на тестовых задачах упаковки прямоугольных объектов на полубесконечную полосу, предложенных E. Pinto и J.F. Oliveira5, показал, что мультиметодный генетический алгоритм в среднем обеспечивает получение наиболее плотных упаковок в сравнении с прочими рассмотренными алгоритмами оптимизации, при этом для большого числа размещаемых объектов (5 000, 10 000 и 15 000) разработанные эвристики обеспечивают однопроходное получение безотходных упаковок (рисунок 7).

а) б) в) г)

Рисунок 7. Точные решения задачи упаковки 10 000 объектов, полученные эвристиками: а) BWF; б) BSF; в) FWF; г) FSF

В четвёртой главе рассматриваются вопросы повышения плотности размещения и равномерности распределения объектов в плотной упаковке.

Одним из эффективных методов повышения качества полученной упаковки является её уплотнение, которое может быть реализовано путём удаления некоторых размещённых в контейнере объектов с последующим более рациональным размещением. При удалении любого объекта из упаковки необходимо обновить набор потенциальных контейнеров, окружающих этот объект. Разработанный алгоритм удаления D -мерного ортогонального объекта i из ортогонального контейнера j включает 8 шагов.

5 https://github.com/Oscar-Oliveira/OR-Datasets/tree/master/Cutting-and-Packing/2D/Datasets/PO

 

 

 

22

 

 

Шаг 1. Создание нового пустого

D -мерного ортогонального контейнера

j

с габаритными размерами, совпадающими с габаритными размерами

исходного контейнера j (W jd

= W jd d {1,K, D}).

 

 

Шаг 2. Размещение в контейнере

jобъекта iс габаритными размерами

wd = wd

d {1,K, D} в точке размещения объекта i

внутри контейнера j:

i

i

 

 

 

 

xd

= xd

d {1,K, D}.

 

 

 

i

i

 

 

 

 

 

Шаг 3. Формирование

списка

потенциальных

контейнеров Ω1 ,

положение и размеры которых могут быть изменены в контейнере j после удаления объекта i . В этот список включаются все потенциальные контейнеры

k, для которых справедливо неравенство xd

£ xd

+ wd

d {1,K, D}.

 

 

 

 

k

i

i

 

 

Шаг 4. Размещение в контейнере jобъектов с габаритными размерами

d

d

K

Ω1 в точках

d

При

размещении объектов

wk = pk

d {1, , D},

k

xk .

необходимо разрешить их взаимное перекрытие. Оставшееся в результате

размещения

объектов

свободное

пространство

в

контейнере

jбудет

описываться набором потенциальных контейнеров Ω2 .

 

 

 

Шаг 5. Создание нового пустого

D -мерного ортогонального контейнера

j′′

с габаритными

размерами, совпадающими

с габаритными

размерами

контейнера

j (W jd′′ = W jd

d {1,K, D}).

 

 

 

 

 

Шаг 6. Размещение в контейнере

j′′ объектов с габаритными размерами

d

d

 

K

, D},

k

′′

Ω2 в

точках

d

При

размещении объектов

wk ′′ = pk ′′

d {1,

 

xk ′′ .

необходимо разрешить их взаимное перекрытие. Оставшееся в результате размещения объектов свободное пространство в контейнере j′′ будет описываться набором потенциальных контейнеров Ω3 , который также описывает свободное пространство контейнера j , которое будет образовано в области удаляемого объекта i .

Шаг 7.

Удаление объекта i из контейнера j .

Шаг 8.

Замена в исходном контейнере j набора потенциальных

контейнеров Ω1 на полученный набор Ω3 .

Разработан итерационный алгоритм уплотнения упаковки с обобщением по размерности, основанный на применении модели потенциальных контейнеров для анализа пустот внутри упаковки. Выбор объектов для локального перераспределения осуществляется следующими методами.

1. Метод AREA выбор объектов, касающихся наиболее удалённой границы описывающего упаковку ортогонального объекта с габаритными размерами V d = W d "d ¹ l , V l = max(xil + wil ), i =1Kn , где l = LD (рисунок 8, а).

2. Метод LAST выбор объектов, касающихся потенциальных контейнеров, границы которых вдоль координатной оси l совпадают с

границей контейнера, т.е. для которых xkl + pkl = V l (рисунок 8, б).

γ = (S0 S1 )

23

3. Метод MAX выбор объектов, касающихся заключённого внутри упаковки потенциального контейнера с наибольшим объёмом (площадью), т.е.

потенциального контейнера, для которого xl

+ pl

<V l

(на рисунке 8, в

k

k

 

 

найденный потенциальный контейнер изображён без заливки).

4. Метод DOUBLE выбор объектов, касающихся двух потенциальных контейнеров с наибольшими объёмами (площадями), находящихся целиком внутри упаковки (рисунок 8, г).

Методы первой группы (AREA и LAST) предназначены для выбора объектов, расположенных максимально далеко от начала координат контейнера. Методы второй группы (MAX и DOUBLE) предназначены для выбора объектов, окружающих наибольшие пустоты внутри упаковки. На основе этих методов реализованы шесть правил выбора объектов (таблица 5).

а)

б)

в)

г)

Рисунок 8. Объекты для удаления, выбранные различными методами: а) метод AREA; б) метод LAST; в) метод MAX; г) метод DOUBLE

Оценка степени уплотнения упаковки проводится по формуле

S0 ×100% , где S 0 длина упаковки до уплотнения упаковки, S1 длина упаковки после уплотнения. Результаты тестирования правил на стандартных тестовых задачах упаковки на полубесконечную полосу (O. Berkey и P. Wang, S. Martello и D. Vigo6) приведены в таблице 6 (наилучшие показатели уплотнения выделены полужирным шрифтом). На основе полученных результатов в алгоритме уплотнения упаковки задаётся следующий порядок использования правил выбора объектов (по убыванию показателя повышения плотности упаковки γ ):

MAXMAX_LAST DOUBLE_LAST MAXMAX_AREA

MAX_LAST DOUBLE_AREA MAX_AREA.

Средний процент повышения плотности упаковок, длина которых была уменьшена в результате работы алгоритма уплотнения (рисунок 9), составил 5,37% для случайных упаковок и 1,79% для предварительно оптимизированных упаковок. Для 5 тестовых задач более чем на 25% была повышена плотность случайных упаковок и для 8 тестовых задач более чем на 5% была повышена плотность оптимизированных упаковок.

6 http://or.dei.unibo.it/library/two-dimensional-bin-packing-problem

 

 

 

 

24

 

 

 

 

Таблица 5

 

Правила выбора объектов для локального перераспределения

 

 

 

 

 

Правило выбора

Метод 1

Метод 2

Примечание

п/п

объектов

 

 

 

1

MAX_AREA

AREA

MAX

Одновременное применение двух методов

2

MAX_LAST

LAST

MAX

Одновременное применение двух методов

3

DOUBLE_AREA

AREA

DOUBLE

Одновременное применение двух методов

4

DOUBLE_LAST

LAST

DOUBLE

Одновременное применение двух методов

 

 

 

 

Применение метода AREA, а также метода

5

MAXMAX_AREA

AREA

MAX

MAX к упаковке, полученной после удаления

 

 

 

 

всех объектов, найденных методом MAX

 

 

 

 

Применение метода LAST, а также метода MAX

6

MAXMAX_LAST

LAST

MAX

к упаковке, полученной после удаления всех

 

 

 

 

объектов, найденных методом MAX

 

 

 

 

Таблица 6

Результаты тестирования правил выбора объектов для локального перераспределения

Правило выбора

 

 

 

Класс задач

 

 

 

Среднее

Среднее

 

 

 

 

 

 

 

 

 

 

значение

время,

объектов

C1

C2

C3

C4

C5

C6

C7

C8

C9

C10

γ , %

с

 

 

 

 

 

 

 

 

 

 

 

 

 

MAX_AREA

0,48

2,39

0,14

2,71

0,41

1,72

0,44

1,17

0,00

0,70

1,07

0,22

MAX_LAST

0,50

4,75

0,73

3,80

0,59

3,93

0,42

1,33

0,00

0,74

1,68

0,27

DOUBLE_AREA

0,76

4,62

0,21

3,25

0,77

2,82

0,63

1,69

0,03

1,47

1,63

0,26

DOUBLE_LAST

0,85

5,03

0,79

4,75

1,04

4,34

0,67

2,10

0,03

1,62

2,12

0,30

MAXMAX_AREA

1,49

3,99

1,12

3,92

1,06

3,32

0,62

2,41

0,04

1,66

1,96

0,31

MAXMAX_LAST

1,50

5,92

1,32

5,80

1,23

4,63

0,62

3,36

0,19

1,85

2,64

0,33

Рисунок 9. Блок-схема алгоритма уплотнения упаковки

25

Предложен новый подход к решению задач раскроя-упаковки на основе эвристических и метаэвристических методов оптимизации, основанный на размещении объектов порциями. Установлено, что для тестовых задач двухмерной контейнерной упаковки (S.P. Fekete и J. Schepers) наиболее плотно объекты размещаются при использовании порций размером 100±50 объектов, а для тестовых задач упаковки на полубесконечную полосу (O. Berkey и P. Wang, S. Martello и D. Vigo ) – при использовании порций размером 50±10 объектов. Показано, что использование порций объектов гарантированно обеспечивает повышение скорости решения задачи.

Исследованы различные стратегии выбора контейнеров для размещения объектов при решении задачи контейнерной упаковки. Выявлено, что для задач контейнерной упаковки наивысшая скорость размещения объектов достигается при использовании стратегии выбора первого подходящего контейнера.

С целью более равномерного распределения веса объектов, размещённых внутри контейнера, разработан алгоритм, основанный на использовании мультиметодного генетического алгоритма, минимизирующего среднее квадратическое отклонение функции распределения веса упаковки на дно контейнера. Разработанный алгоритм оптимизации распределения веса может быть использован для упаковок, содержащих как ортогональные объекты, так и ортогональные многогранники.

Вконце главы представлены примеры решения ряда практических задач компоновки грузов в грузовой кабине тяжёлого дальнего транспортного самолёта Ан-124-100, а также в стандартном авиационном контейнере типа AAY (AAA), используемого для коммерческих грузоперевозок.

Впятой главе рассматриваются вопросы разработки алгоритмов формирования и размещения ортогональных многогранников различной размерности для решения задач упаковки объектов сложной геометрии внутри контейнеров произвольной формы.

Для формирования ортогональных многогранников произвольной размерности используются теоретико-множественные операции сложения, вычитания и пересечения. При выполнении операций сложения (вычитания) ортогональных объектов используются следующие наборы объектов: A

исходный набор объектов, A+ ( A) – наборы объектов, к которым применяется операция сложения (вычитания), B промежуточный набор объектов, C результирующий набор ортогональных объектов. Размер набора объектов обозначается следующим образом (на примере набора A ): A .

Операция сложения ортогональных объектов (рисунок 10):

1. Поместить в набор A+ все объекты из набора A . Создать B = , C = .

2.Упорядочить набор A+ по убыванию объёмов (площадей) объектов.

3.Первый объект o1 A+ включить в набор C .

4.

Для каждого текущего объекта o A+

(k = 2K

 

A+

 

) выполнить

 

 

 

k

 

 

 

 

 

проверку на перекрытие с объектом o1 . Если объекты не перекрывают друг

26

друга, то поместить текущий объект ok в набор B , в противном случае выполнить процедуру отсечения ортогональных объектов (выполняется аналогично разбиению потенциальных контейнеров при их перекрытии размещаемым объектом), после чего полученные объекты поместить в набор B .

5. Очистить набор A+. Если набор B ¹ , то переместить все объекты из

набора B в набор A+, после чего перейти к п. 2.

Операция вычитания ортогональных объектов (на рисунке 11 вычитаемые объекты показаны пунктирными линиями):

1. Поместить в набор C все объекты из набора A . Создать набор B = .

2.Упорядочить набор Aпо убыванию объёмов (площадей) объектов.

3.Для каждого объекта oi A(i =1K A) выполнить пп. 4−5.

4.Для каждого текущего объекта ok C (k =1K C ) выполнить проверку на его перекрытие текущим вычитаемым объектом oi . Если объекты oi и ok не перекрывают друг друга, то поместить текущий объект ok в набор B , в

противном случае выполнить процедуру отсечения ортогональных объектов, после чего полученные объекты поместить в набор B .

5. Установить C = B . Очистить набор B .

а)

б)

а)

б)

Рисунок 10. Операция сложения:

Рисунок 11. Операция вычитания:

а) исходные объекты; б) результат

а) исходные объекты; б) результат

В случае совместного применения операций сложения и вычитания (рисунок 12) выполняются следующие шаги:

1.Разделить исходный набор A на непересекающиеся наборы A+ и A.

2.Применить операцию вычитания объектов из набора Aк объектам из

набора A+, в результате чего будет сформирован набор объектов C . 3. Применить операцию сложения ко всем объектам из набора C .

Результатом выполнения операции пересечения ортогональных многогранников O1 Ç O2 является новый ортогональный многогранник, точки которого занимают пространство, которое принадлежит одновременно двум ортогональным многогранникам (рисунок 13).

27

а)

б)

а)

б)

Рисунок 12. Совместное применение операций

Рисунок 13.

Операция пересечения

сложения и вычитания:

ортогональных многогранников:

а) исходные объекты (вычитаемые объекты

а) исходные объекты; б) результат

представлены белым цветом); б) результат

 

 

Разработанный алгоритм декомпозиции D -мерного ортогонального многогранника V на множество крупных ортогональных объектов включает

шаги 1–6.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Шаг 1. Создать

пустой

D -мерный

 

ортогональный

контейнер 1

с

габаритными

размерами

{W 1,W

2

,K,W D },

 

совпадающими

с

габаритными

 

 

 

 

 

 

 

1

1

1

 

 

 

 

 

 

 

размерами

D -мерного

 

параллелепипеда,

описывающего

 

исходный

ортогональный многогранник V

 

(W d = S d , d {1,K, D}, где

S d

длина

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

упаковки, измеренная вдоль оси d .

 

 

 

 

 

 

 

 

 

Шаг 2. Разместить ортогональный многогранник V в контейнере 1.

 

 

В результате размещения в контейнере 1 будет сформирован набор

потенциальных контейнеров

Ω

1

с габаритными размерами

{w1

, w2 ,K, wD },

 

 

 

 

 

 

 

 

 

 

 

 

 

k1

k1

k1

k

Ω

1

, расположенных

в

точках {p1 , p

2

,K, p D }. Набор потенциальных

1

 

 

 

 

 

 

 

 

k

k

 

k

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

1

 

1

 

 

 

 

контейнеров

Ω1

описывает

 

пространство

контейнера 1,

которое

не

принадлежит размещённому ортогональному многограннику V .

Шаг 3. Создать пустой D -мерный ортогональный контейнер 2 с габаритными размерами, совпадающими с габаритными размерами контейнера 1 (W2d =W1d , d {1,K, D}).

Шаг 4. Разместить в контейнере 2 набор D -мерных ортогональных объектов с параметрами, совпадающими с параметрами потенциальных контейнеров из контейнера 1 (при размещении объектов разрешить их взаимное

перекрытие):

xd = pd

и wd

= wd

d {1,K, D},

i =1K

 

Ω

1

 

. В

результате

 

 

 

i

 

k

 

i

k

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

размещения

в

контейнере 2

будет сформирован

набор

 

потенциальных

контейнеров

Ω

2

с

габаритными

размерами

{w1

, w2 ,K, wD },

k

2

Ω

2

,

 

 

 

 

 

 

 

k

2

k 2

 

 

k 2

 

 

 

расположенных в точках {p1k

, pk2 ,K, pkD }. Набор Ω2

описывает пространство

 

 

 

 

 

2

2

2

 

 

 

 

 

 

 

 

 

 

 

 

 

контейнера 2, которое принадлежит ортогональному многограннику V .

 

 

 

 

Шаг 5. Создать

D -мерный ортогональный многогранник V ,

состоящий

из ортогональных объектов с параметрами, совпадающими с параметрами

потенциальных контейнеров из контейнера 2: z d

= pd

и wd = wd

i

k2

i

k2

28

d {1,K, D}, i =1K Ω2 , т.е. ортогональный многогранник V будет содержать

множество всех ортогональных объектов, на которые он может быть декомпозирован.

Шаг 6. Применить операцию сложения ко всем ортогональным объектам, входящим в состав ортогонального многогранника V . В результате будет получен ортогональный многогранник O , состоящий из неперекрывающих друг друга наибольших по объёму ортогональных объектов.

В отличие от алгоритмов декомпозиции, разработанных другими авторами, предложенный алгоритм описан и программно реализован с обобщением по размерности решаемой задачи. Разработанный алгоритм обеспечивает декомпозицию ортогональных многогранников произвольной формы, в том числе, имеющих отверстия или внутренние полости. Примеры декомпозиции ортогональных многогранников представлены на рисунке 14.

а)

в)

д)

б)

г)

е)

Рисунок 14. Примеры декомпозиции ортогональных многогранников (ОМ): а) исходный ОМ (1398 объектов); б) полученный ОМ (72 объекта); в) исходный ОМ (2259 объектов); г) полученный ОМ (308 объектов); д) исходный ОМ (13238 объектов); е) полученный ОМ (483 объекта)

Разработаны два алгоритма размещения ортогональных многогранников произвольной размерности в контейнерах. Показано, что алгоритм размещения, основанный на последовательном формировании ортогонального многогранника и выполнении ряда смещений в процессе его размещения в контейнере, является существенно менее эффективным по скорости размещения (в среднем, на два порядка) ортогональных многогранников, состоящих из 10 и более объектов, по сравнению с усовершенствованным алгоритмом размещения (рисунок 15), основанном на создании ортогональных многогранников, определяющих области возможного размещения для каждого объекта сложной формы. Этапы последовательного определения области возможного размещения ортогонального многогранника приведены на рисунке 16.

29

Рисунок 15. Алгоритм размещения ортогонального многогранника (ОМ) Oi в контейнере

а) б) в) г) д)

Рисунок 16. Определение области возможного размещения ОМ для текущего потенциального контейнера, расположенного в левом верхнем углу контейнера: а) Ui,1 ; б) Ui,2 ; в) U i ,3 ; г) Ui,4 ; д) результат – ОМ U i = U i,1 ÇU i ,2 ÇU i,3 ÇU i,4

30

Для преобразования геометрической формы контейнера, представленного D -мерным параллелепипедом, предлагается разместить в нём набор фиктивных ортогональных объектов, объединённых в один ортогональный многогранник ограничений. На рисунке 17 показано преобразование прямоугольного контейнера в эллипс. Примеры компоновок, полученных при размещении объектов внутри контейнеров различной формы, представлены на рисунке 18.

а)

б)

Рисунок 17. Размещение объектов внутри эллипса:

а) исходный контейнер с ограничениями; б) плотная упаковка объектов в контейнере

а)

б)

в)

Рисунок 18. Размещение объектов в контейнерах различной формы:

а) безотходная упаковка 1231 объекта внутри конуса; б) размещение 25 шаров внутри сферы; в) размещение 480 объектов внутри контейнера в форме буквы R

Вглаве также рассмотрены алгоритмы повышения скорости и качества размещения ортогональных многогранников в плотной упаковке.

Вконце главы представлены примеры решения практических задач компоновки деталей сложной формы, изготавливаемых с применением аддитивных технологий. Показано превосходство компоновок (по скорости их формирования и плотности размещения деталей), получаемых на основе разработанных алгоритмов, перед компоновками, формируемыми программой Materialise Magics, используемой подавляющим большинством ведущих мировых производителей оборудования для трёхмерной печати. Разработанные алгоритмы формирования и размещения ортогональных многогранников обеспечивают получение в среднем на 10% более плотных компоновок за время, меньшее в несколько раз.

Например, на рисунке 19, а представлено наилучшее решение,

полученное

модулем Sinter

программы

Materialise Magics (высота сборки:

318,0 мм,

время решения:

300 с).

Компоновка деталей, полученная

разработанной программой Packer в результате применения однопроходной эвристики с выбором наилучшего варианта ориентации каждой размещаемой детали, представлена на рисунке 19, б (высота: 298,4 мм; время решения: 96 с).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]