Научная статья на тему 'Модификация метода ветвей и границ для поиска оптимального решения задачи одномерной упаковки прямоугольно-ориентированной структуры'

Модификация метода ветвей и границ для поиска оптимального решения задачи одномерной упаковки прямоугольно-ориентированной структуры Текст научной статьи по специальности «Математика»

CC BY
401
63
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
МЕТОД ВЕТВЕЙ И ГРАНИЦ / ПРЯМОУГОЛЬНО-ОРИЕНТИРОВАННАЯ ОДНОМЕРНАЯ УПАКОВКА / ЛИНЕЙНОЕ ПРОГРАММИРОВАНИЕ

Аннотация научной статьи по математике, автор научной работы — Месягутов Марат Артурович

Рассмотрена задача прямоугольно-ориентированной одномерной упаковки. Для ее решения предложен метод ветвей и границ с использованием правила «следующий подходящий» и оценок, получаемых с помощью решения вспомогательной задачи линейного программирования

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

The 1D rectangular-oriented packing problem is considered. For its solution we propose a branch-and-bound method with usage of «next fit» rule and bounds based on the auxiliary linear programming problem.

Текст научной работы на тему «Модификация метода ветвей и границ для поиска оптимального решения задачи одномерной упаковки прямоугольно-ориентированной структуры»

УДК 519.87

М.А. Месягутов

МОДИФИКАЦИЯ МЕТОДА ВЕТВЕЙ И ГРАНИЦ ДЛЯ ПОИСКА ОПТИМАЛЬНОГО РЕШЕНИЯ ЗАДАЧИ ОДНОМЕРНОЙ УПАКОВКИ ПРЯМОУГОЛЬНО-ОРИЕНТИРОВАННОЙ СТРУКТУРЫ

В качестве основной рассматривается следующая задача прямоугольно-ориентированной одномерной упаковки (1D Rectangular Oriented Cutting Stock Problem, 1ROCSP): в одномерные контейнеры длины W требуется упаковать предметы заданной длины w. в количестве Ъ. (потребности), /еI := {1, ..., m}, соблюдая при этом следующие условия: в один и тот же контейнер можно упаковать предметы только с различными номерами; если при упаковке предмета с номером /е I в текущий контейнер такие предметы ещё остались не упакованными, то предмет с этим же номером упаковывается в следующий контейнер. Требуется минимизировать количество упакованных контейнеров. При этом все величины - целые.

Описанная задача отвечает блочной структуре двухмерной упаковки, которая была введена Э.А. Мухачевой и описана в 1998 г. в [1]. Одновременно с блок-структурами двухмерной упаковки в [2] рассматриваются соответствующие им прямоугольно-ориентированные одномерные упаковки, уточнения свойств которых приведены в [3]. Независимо от вышеуказанных авторов, поставленная задача рассматривалась итальянским исследователем M. Monachi в формулировке задачи одномерной продолженной упаковки (1D Contiguous Bin Packing Problem, 1CBPP), которая тождественна задаче 1ROCSP. В работе [4] показано, что оптимальное решение задачи 1CBPP является нижней границей для двухмерной упаковки. А.С. Мухачевой доказано, что значение решения задачи ROCSP, отвечающей индивидуальной задаче прямоугольной упаковки, не превосходит ее решения [5]. Отсюда вытекает тот же результат, который был получен M. Monachi. На этом факте построены алгоритмы локального поиска [5, 6] для задачи двухмерной упаковки. Наряду с этим задача 1CBPP также имеет самостоятельное применение, например, в области расписания [7].

На основе результатов M. Monachi и А.С. Мухачевой автором разработан метод точного

решения задачи ROCSP для поиска улучшенной нижней границы для двухмерной упаковки. Он является модификацией метода ветвей и границ, основные процедуры которого - ветвление и подсчет нижней границы частичных упаковок. Реализация этих процедур описана в статье, также приведены результаты численного эксперимента.

Ветвления

В процессе комбинаторного поиска множество кодов задает пространство решений, и исходная задача нахождения оптимального решения сводится к поиску наилучшего элемента (кода) в этом пространстве. Необходимо, чтобы это пространство было Р-допустимым.

Определение 1. Пространство представлений решений называется Р-допустимым, если оно удовлетворяет следующим требованиям: 1) пространство кодов конечно; 2) каждый элемент кода соответствует допустимому решению; 3) решение задачи может быть получено по его коду за полиномиальное время; 4) наилучший элемент в пространстве кодов соответствует оптимальному решению исходной задачи.

Утверждение 1. Множество перестановок элементов списка (i1,..., im) определяет Р-допустимое пространство решений задачи 1ROCSP размерности m, которое состоит из m! перестановок, каждая из которых может быть трансформирована в допустимую упаковку за время O(m • logm) и по меньшей мере одна из них соответствует оптимальному решению задачи 1ROCSP.

Для восстановления упаковки по ее коду (перестановке) предлагается использовать правило «следующий подходящий» (Next Fit, NF). Рассмотрим приоритетный список (i1,..., im}, который определяет порядок последовательного размещения предметов. Пара i i e I означает, что предмет г+1 будет размещен следующим по

порядку после г. Если предмет г++1 не умещается в текущий контейнер, то осуществляется переход к следующему контейнеру. Если при размещении предмета такой же предмет ещё не упакован, то он размещается в следующем контейнере. Обозначим NF(^г1,..., т) факт получения упаковки контейнера применением правила NF к приоритетному списку (11,..., г^), г¡еI, I = {1, ..., т}.

Принцип ветвлений состоит в последовательном и направленном размещении каждого элемента множества I. Посредством этого строится дерево ветвлений Т = (V, Е), листья которого представляют собой множество всех перестановок элементов из I. С каждым узлом и е V связана упорядоченная последовательность и:= (11, ..., г^) размещенных предметов г1 еI, 1=1, ..., d < т . При этом каждому узлу ие V дерева Т соответствует однозначно получае-маяспомощьюалгоритмаNF(u)частичнаяупаковка ((а1, х1), ..., (аа(и) , Ха(и)^, или блок-структура (по аналогии с двухмерной упаковкой [1, 2]), в которой предметы 1(и) := I\{/ ..., г} должны быть размещены; а' - вектор упаковки блока ', а % - интенсивность (длина) блока'. Например, на рис. а имеется частичная прямоугольно-ориентированная одномерная упаковка, состоящая из четырех блоков. Ей соответствует блок-структура 55 = ((1, 2, 3) 2; (1, 3, 4) 1; (1, 3) 4; (3) 2), которая получается указанием номеров предметов, пересекающих каждый блок по направлению снизу-вверх, и интенсивности блоков. Ребро (и, у), где и, уе V, и Ф V, принадлежит множеству Е, если подзадача V получается из и размещением предмета геТ(и), т. е. V = (и, /).

Очевидно, что при таком способе кодирования порождается большое количество эквивалентных

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

Определение 2. Пусть дана упаковка и = (г ..., гк, ..., г , ..., г)е Vс ее блок-структурой 55(и), где к < q и! 1к, , I- = {ге1 : г £Г^},'е {1, ..., о(и)}. Упаковку и' = (г1, ..., г ..., гк , ..., е V с блок-структурой 55(и) назовем вертикально эквивалентной упаковке и.

Далее вводится следующее правило отсечения. Пусть дан узел и = (г1, ..., е Vс блок-структурой 55(и), если при размещении следующего предмета он помещается в текущий контейнер, а его номер меньше наибольшего номера предмета, который впервые начинает размещаться в этом контейнере, то узел у = (г ..., г г* отсекается из рассмотрения. Для корректности применения введенного правила отсечения доказывается следующее утверждение.

Лемма 1. Пусть дана оптимальная упаковка и = (г1, ..., г^е Vс блок-структурой 55(и). Если существует блок 5 е 55(и), в котором имеются такие элементы к, qе {1, ..., т}, что

i,, i е/ , к< q, i, > i,

к' q J ' к q'

•к- V (1)

то существует оптимальная упаковка и'е V, для которой условия (1) не выполняются.

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

Я блоков

U

U

и'2

и

1

h

Ал

Ц

1111

х

Яп

Частичная прямоугольно-ориентированная одномерная упаковка: а - блок-структура упаковки; б, в - горизонтальная и вертикальная релаксации

Аналогично описанному правилу в рассмотрение вводятся правила отсечения горизонтально эквивалентных упаковок, эквивалентных упаковок для идентичных предметов и другие правила отсечения.

Нижние границы

На рис. б изображена полученная с помощью алгоритма NF(u) блок-структура SS(u) узла u = (i1, ..., i^е V. Остатки в контейнерах имеют длины Хк в количестве uK

Сформулируем для узла u е V следующую задачу. Имеются прутки материала различной длины Ак в комплектности uk, из которых необходимо вырезать предметы длины w. в количестве Ъ,, iel (u), при этом соблюдая два условия: каждый предмет w. вырезается только один раз из прутка и комплектность uk каждого типа прутка не должна быть превышена заданной. Необходимо минимизировать количество затраченных прутков типа А Эта задача известна как проблема одномерного раскроя с различными длинами прутков (1D Cutting Stock Problem with Multiple Stock Lengths, 1CSPM) [8]. Для ее решения предложена релаксация на основе линейного программирования L1CSPM(u), которая решается с использованием метода генерации столбцов. Обозначим z*^ значение ее оптимального решения. Имеет место следующее утверждение.

Лемма 2. Пусть дан узел u = (iv ..., id)е V, i,eI, l = 1, ..., d, d< m. Число

"М г -I

lbu.(.u):=^Xj + [z'LP(u)\

Лемма 3. Пусть дан узел u = (jv ..., id)e V,

i,el, l = 1, ..., d, d< m. Если

(2)

M

является нижнеи границей для значении решений, которые могут быть получены ветвлением узла и.

С другой стороны, если известна верхняя граница Н0 (например, полученная приближенно любым эвристическим методом), то можно проверить, умещаются ли оставшиеся предметы в контейнеры до Н0 - 1. Если нет, то данный узел может быть удален из рассмотрения. Аналогично L1CSPM(u) формируется задача вертикальной релаксации L1CSPM'(u, Н0), где предметы Ъ. в потребности Х'к вырезаются из прутков длины в комплектности и'к (см. рис. в). При этом контейнеры последнего типа доступны в ограниченном количестве. Пусть ^ * (и, Н0) - значение оптимального решения задачи L1CSPM'(u, Н0), тогда справедливо следующее утверждение.

(3)

z"Lp (U, tf0) > 8, 8 > 0,

то решение, которое будет получено ветвлением узла u, будет иметь значение не лучше, чем верхняя граница H0 для значения целевой функции.

В процессе ветвления узла u e Vсоздается узел v, при этом (u, v) e E, только если нижняя граница (2) меньше, чем верхняя граница для дерева T, и не выполнено условие (3). Имеет место следующее утверждение.

Теорема 1. Алгоритм, основанный на методе ветвей и границ на приоритетных списках с учетом нижней границы (2) и условия (3), является точным.

Численный эксперимент

В связи с тем, что решение задачи 1ROCSP является нижней границей для 2SPP, численный эксперимент проводился на задачах 2SPP библиотеки задач Bortfeld [9]. Результаты сравнивались с известными нижними границами. Программное обеспечение было реализовано на C++ и скомпилировано gcc 4.1.2. Вычислительные эксперименты проводились на AMD Opteron 250 (2,4 GHz).

Библиотека состоит из 500 примеров, которые были случайно сгенерированы и поделены на десять классов. Задачи из первых шести классов предоставлены Berkey и Wang. Остальные четыре класса предоставили Martello и Vigo. Ширина полосы для каждого класса W = 100 . Число предметов в каждом классе 20, 40, 60, 80 и 100. Для каждого числа предметов сгенерировано по десять задач.

Для каждого примера Bortfeld предложил нижнюю границу, среднее значение которой для каждого класса приведено в табл. 1 в столбце Bortfeld(B). Для сравнения приводится значение оптимального решения непрерывной релаксации задачи одномерного раскроя прутков (столбец LP), округленное сверху. В столбце 1ROCSP(C) приведено среднее значение решений 1ROCSP, из которых в шестом столбце указано число задач, решенных оптимально. Для остальных задач, которые не были решены оптимально, приведено минимальное значение нижней границы среди всех необработанных узлов. На каждый пример налагалось ограничение времени счета в 3 мин.

Случаи, когда одна из границ превышает другие, приведены в табл. 2, из которой видно, что в 178 и 184 случаях нижние границы LP (столбец

Таблица 1

Среднее значение нижних границ для задач Berkey & Wang и Martello & Vigo

Класс N Bortfeld(B) LP ÎROCSP(C) Кол-во опт.

сЮ1 50 187,18 187,68 187,74 33

с102 50 60,52 60,52 60,52 33

сЮЗ 50 504,12 507,62 507,84 12

с104 50 193,50 193,50 193,50 0

с105 50 1613,16 1630,66 1631,72 26

с106 50 506,40 506,40 506,40 0

сЮ7 50 1577,82 1588,76 1591,24 46

сЮ8 50 1397,92 1399,58 1399,84 0

сЮ9 50 3343,10 3344,56 3346,16 50

cllO 50 909,16 917,58 917,70 6

500 1029,29 1033,69 1034,27 206

Таблица 2

Сравнение абсолютных значений нижних границ Bortfeld(B), LP и 1ROCPS(C)

Класс B>LP в>с LP>B LP>C с>в C>LP

сЮ1 1 0 15 0 16 3

сЮ2 0 0 0 0 0 0

сЮЗ 0 0 33 0 36 6

с104 0 0 0 0 0 0

сЮ5 1 0 44 0 45 10

сЮ6 0 0 0 0 0 0

сЮ7 9 0 27 0 27 16

сЮ8 0 0 15 0 16 6

сЮ9 3 0 5 0 5 4

cllO 0 0 39 0 39 1

14 0 178 0 184 46

LP>B) и точное решение задачи 1ROCSP (столбец C>B) соответственно больше, чем нижняя граница приведенная Bortfeld. В 46 случаях 1ROCSP оказалась лучше, чем нижняя граница LP (столбец C>LP). Из столбцов B>C и LP>C видно, что нижняя граница, основанная на точном решении 1ROCSP, на данных задачах строго лучше, чем две другие, известные из литературы, нижние границы.

Результаты численного эксперимента:

На классах cl04, cl06, cl08 не удалось решить оптимально ни одного примера. Эти классы можно обозначить как наиболее сложные для разработанного алгоритма. И, напротив, практически все задачи из классов cl07, cl09 были решены оптимально. В целом чуть меньше половины задач было решено оптимально, что говорит об удовлетворительной производительности алгоритма.

Нижняя граница на основе решения задачи 1ROCSP всегда не меньше границ Bortfeld, LP на примерах библиотеки задач Bortfeld.

В данной статье предложен точный алгоритм на основе метода ветвей и границ с использованием линейного программирования. Основываясь на том факте, что значение решения прямоугольно-ориентированной одномерной задачи является нижней границей для задачи двухмерной упаковки, исследование эффективности проводилось на задачах двухмерной упаковки. Несмотря на большую размерность задач (20-100), 42 % из них были решены оптимально. Для сравнения качества полученных решений согласно сравнения нижних границ для двухмерной упаковки использовались известные границы. Лучшие результаты показал предложенный метод.

СПИСОК ЛИТЕРАТУРЫ

1. Мухачева, Э.А. Модели и методы расчета раскроя-упаковки геометрических объектов [Текст] / Э.А. Мухачева, М.А. Верхотуров, В.В. Мартынов.

- Уфа, 1998.

2. Мухачева, Э.А. Генетический алгоритм блочной структуры в задачах двухмерной упаковки [Текст] / Э.А. Мухачева, А.С. Мухачева, А.В. Чиглинцев.

- М.: Информационные технологии. - 1999. - № 11.

- С.13-18.

3. Мухачева, Э.А. Задача прямоугольной упаковки: методы локального поиска оптимума на базе блочных структур [Текст] / Э.А. Мухачева, А.С. Мухачева. - М.: Автоматика и телемеханика. - 2004. - № 2.

- С. 10-15.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

4. Monachi, M. Algorithms for packing and scheduling problems. PhD Thesis [Текст] / M. Monachi. - University of Bologna, 2001.

5. Житников, В.П. Задача прямоугольной упаковки в полубесконечную полосу: поиск решения в окрестности локальной нижней границы [Текст] / В.П.

Житников, А.С. Филиппова. - М.: Информационные технологии. - 2007. - № 5. - С. 55-62.

6. Картак, В.М. Локальный поиск ортогональных упаковок с использованием нижних границ [Текст] / В.М. Картак, М.А. Месягутов, Э.А. Мухачева [и др.].

- М.: Автоматика и телемеханика. - 2009. - № 6. - С. 167-180.

7. Hartmann, S. Project Scheduling under limited resources. Models, methods and applications [Текст] / S. Hartmann. - Springer, Berlin, 1999.

8. Belov, G. A cutting plane algorithm for the one-dimensional cutting stock problem with multiple stock lengths [Текст] / G. Belov, G. Scheithauer // European Journal of Operational Research. - 2002. - № 141 (2).

- P. 274-294.

9. Bortfeld, A. A genetic algorithm for the two-dimensional strip packing problem with rectangular prices [Текст] / A. Bortfeld // European Journal of Operational Research. - 2006. - № 172 (3). - P.814-837.

УДК 519.6; 519.17

А.А. Кочкаров, Л.Х. Хапаева

АЛГОРИТМ РАСПОЗНАВАНИЯ ПРЕДФРАКТАЛЬНОГО ГРАФА С ЧЕРЕДОВАНИЕМ ЗАТРАВОК

Теория графов - незаменимый инструмент в проектировании сложных систем и синтезе структур. Применение методов и подходов теории графов показали свою результативность в различных областях от медицины и биологии до экономики и менеджмента [1].

Особое внимание стоит обратить на использование методов и подходов теории графов и дискретной математики в моделировании сложных многоэлементных систем. Задачи, которые возникли при исследовании таких систем, как электроэнергетические, социальные и информационные сети, дали существенный толчок для нового этапа развития и применения идей теории графов [2-3].

Интересные и оригинальные результаты были получены при моделировании сложных иерархических систем самоподобными или фрактальными графами [4]. Своим рождением фрактальные (предфрактальные) графы обязаны синтезу идей

синергетики [5] и нелинейной динамики [6], фракталов [10] и теории графов [1].

Термин «сеть» широко распространен в современной научной и бизнес-литературе. На слуху такие выражения, как «розничная или торговая сеть (сеть магазинов)», «сетевой маркетинг», «филиальная сеть», «сеть трубопроводов», «железнодорожная сеть», «социальная сеть», «компьютерная сеть», «информационная сеть», «телефонная сеть» и т. д. Часто этот термин используется для обозначения совершенно различных понятий. В настоящем диссертационном исследовании термин «сеть» понимается, во-первых, как совокупность путей доставки товаров или услуг до конечного получателя, а, во-вторых, как совокупность связей между элементами многоэлементной системы. Системы, в основе функционирования которых лежит сеть, принято называть сетевыми системами [8].

i Надоели баннеры? Вы всегда можете отключить рекламу.