Задача упаковки в контейнеры

  • Вид работы:
    Реферат
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    483,31 Кб
  • Опубликовано:
    2014-05-09
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Задача упаковки в контейнеры

МИНОБРНАУКИ РОССИИ

Федеральное государственное автономное образовательное учреждение

высшего профессионального образования

«ЮЖНЫЙ ФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТ»

ИНЖЕНЕРНАЯ ТЕХНОЛОГИЧЕСКАЯ АКАДЕМИЯ В Г. ТАГАНРОГЕ

(ТРТИ Южного федерального университета)

Факультет АВТОМАТИКИ И ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ




РЕФЕРАТ

по учебной дисциплине

«Теория принятия решений»

на тему

«Задача упаковки в контейнеры»

Выполнила: студентка гр. А-31,

Панченко Е.Л.

Проверил:   Грищенко А. С.



Таганрог, 2014 г.

Введение

В теории сложности вычислений <#"721935.files/image001.gif">

Множества Bj называют контейнерами.

Требуется упаковать предметы в минимальное число контейнеров.

Задача NP-трудна и часто возникает в приложениях.

.1.     Алгоритм «Следующий подходящий» (NF)

В произвольном порядке упаковываем предметы по следующему правилу.

Первый предмет помещаем в первый контейнер.

На k-м шаге пытаемся поместить k-й предмет в текущий контейнер.

Если предмет входит, то помещаем его и переходим к следующему шагу, иначе помещаем предмет в новый контейнер.

Т = О(n), П = О(1), если не считать место для исходных данных.

Теорема(L) ≤ 2OPT(L).

Доказательство. Пусть

Так как любые два последовательных контейнера содержат предметы суммарным весом не меньше единицы, то NF(L) < 2⎡W⎤.

Кроме того, OPT(L) ≥ ⎡W⎤, откуда и следует требуемое.

Пример.

Замечание. NF(L) ≤ 2OPT(L) - 1 для всех L.

Пусть алгоритм A для множества L порождает A(L) контейнеров и


Для задачи на минимум гарантированная относительная точность RA для алгоритма A определяется как RA ≡ inf {r ≥ 1 | RA (L) ≤ r для всех L}.

Определение. Асимптотическая гарантированная относительная точность для алгоритма A определяется как

≡ inf {r ≥ 1 | ∃ N > 0 такое, что RA (L) ≤ r для всех L с OPT(L) ≥ N}.

1.2.   Алгоритм «Первый подходящий» (FF)

В произвольном порядке упаковываем предметы по следующему правилу.

Первый предмет помещаем в первый контейнер.

На k-м шаге находим контейнер с наименьшим номером, куда помещается k-й предмет, и помещаем его туда. Если такого контейнера нет, то берем новый

 пустой контейнер и помещаем предмет в него. Т = О(n2), П = О(n).

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

 (Без доказательства).

Пример.



1.3.   Алгоритм «Наилучший подходящий» (BF)

В произвольном порядке упаковываем предметы по следующему правилу.

Первый предмет помещаем в первый контейнер.

На k-м шаге размещаем k-й предмет. Находим частично заполненные контейнеры, где достаточно для него свободного места и выбираем среди них наиболее заполненный. Если таких нет, то берем новый пустой контейнер и помещаем k-й предмет в него. Т = О(n2), П = О(n).

Теорема.


и существуют примеры со сколь угодно большими значениями OPT(L), для которых BF(L) = 4/3 FF(L) и FF(L) = 3/2 BF(L).

.4.     Алгоритмы типа On-line

Предметы поступают в непредсказуемом порядке. Требуется упаковать их в минимальное число контейнеров. Упакованный предмет нельзя перемещать в другой контейнер. Место для предварительного хранения предметов отсутствует.

Алгоритмы NF, FF, BF являются On-line алгоритмами.

Теорема. Для любого On-line алгоритма A справедливо неравенство

 (Без доказательства).

1.5.   Алгоритмы с ограниченным доступом к контейнерам

line алгоритм называют алгоритмом с ограниченным доступом к контейнерам, если на каждом шаге алгоритм имеет возможность помещать предметы только в один из K контейнеров (K - const). Эти контейнеры называются открытыми. Если контейнер закрыли, то он уже не открывается (например, отправляется потребителю). Прежде чем добавить пустой открытый контейнер, нужно закрыть один из K открытых контейнеров.

Алгоритм NF - пример для K = 1.

Правила для выбора контейнера:

. Закрыть контейнер с наименьшим номером

. Закрыть самый заполненный контейнер.

Примеры алгоритмов с ограниченным доступом- алгоритм FF с правилом 1.- алгоритм FF с правилом 2.- алгоритм BF с правилом 1.- алгоритм BF с правилом 2.



.6.     Алгоритм «Первый подходящий с упорядочиванием» (FFD)

• Сортируем предметы по невозрастанию весов w1 ≥ w2 ≥ … ≥ wn

• Применяем алгоритм FF (BF).

Теорема.


для всех L и существуют примеры со сколь угодно большими значениями OPT(L), для которых


Кроме того

 (Без доказательства).

Пример



Асимптотические гарантированные оценки точности


Теорема. Для любого ε ∈ (0,1] существует алгоритм Aε , который находит упаковку с числом контейнеров не более (1 + 2ε) OPT + 1.

Трудоемкость Aε полиномиально зависит от n .

(Без доказательства).

.7.     Алгоритм Aε

. Удалить предметы с весом менее ε.

. Упорядочить оставшиеся предметы и разбить их на K = ⎡1/ε2⎤ групп.

3. В каждой группе увеличить веса предметов до максимального веса в группе.

. Найти оптимальную упаковку предметов, имеющих только K различных весов каждый из которых не менее ε.

. Вернуть исходные веса предметов и применить алгоритм FF для предметов с весом менее ε.

Негативный результат

Теорема. Для любого ε > 0 существование приближенного полиномиального алгоритма A с гарантированной точностью влечет P = NP.

Доказательство. Пусть такой алгоритм А существует. Покажем, как с его помощью можно решить точно одну из NP-полных задач, а именно задачу о разбиении. Дано n неотрицательных чисел a1,…, an.

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


Рассмотрим задачу упаковки в контейнеры с весами предметов wi =ai/C, i = 1,…, n. Если их можно упаковать в два контейнера, ответ в задаче

 о разбиении - «ДА». Применим алгоритм А к задаче о контейнерах.

Если OPT = 2, то алгоритм А тоже дает 2, иначе , то есть алгоритм А точный.

.8.     Релаксация линейного программирования

Заменим условие булевости переменных на условия:

≤ yj ≤ 1, j = 1,…, n

≤ xij ≤ 1, i, j = 1,…, n.

Тогда одно из оптимальных решений имеет вид

что дает нижнюю оценку


(предметы можно резать произвольным образом).

.9.     Оценки Martello & Toth

Для примера L = {1,…, n}, 0 ≤ wi < 1 и произвольного 0 ≤ α ≤ 1/2 положим

= { i∈L | wi > 1 - α } - крупные предметы= { i∈L | 1- α ≥ wi > 1/2 } - средние предметы= { i∈L | 1/2 ≥ wi ≥ α } - мелкие предметы

Теорема. Для любого 0 ≤ α ≤ 1/2 величина является нижней оценкой для OPT(L).


Доказательство. Каждый предмет из множества L1 ∪ L2 требует отдельный контейнер. Поэтому в любом допустимом решении не менее | L1 | + | L2 | контейнеров. Предметы из множества L3 не лежат вместе с предметами из L1.

Значит, они лежат либо вместе с предметами из L2 , либо в отдельных  контейнерах. В контейнерах для L2 осталось свободного места.


Следовательно, для предметов из множества L3 требуется как минимум отдельных контейнеров.


Теорема. Для любого 0 ≤ α ≤ 1/2 величина


является нижней оценкой для OPT(L).


Доказательство. Заменим вес каждого предмета из множества L3 на α.

Тогда в один контейнер войдет предметов, и для множества L3 потребовалось бы дополнительных контейнеров.

Но часть предметов из L3 можно уложить в контейнеры для L2. Каждый из них


имеет 1- wi, i∈L2 свободного места, где поместится предметов из L3.

Следствие 1. Величина H = max{H1(α ), H2(α ), 0 ≤α ≤ 0,5} является нижней оценкой для OPT(L).

Следствие 2.


Доказательство. При α = 0 получаем H ≥ H1(0) = max{|L2|, H0}≥ H0.

Как найти H, не перебирая все значения α ?

Следствие 3. Пусть V - множество всех различных значений wi ≤ 0,5.

Тогда


2.      Общий алгоритм решения задачи об упаковке

1.      Предварительное упорядочивание объектов в соответствии с отношением доминирования.

Исследование соотношений по качеству объектов. Путём попарного сравнения объектов определяется асимметричное транзитивное отношение доминирования:

P0={(yi,yj)ÎY´Y | "k=1,…,N; yik£ yjk и $p: yip< yjp }

.        Выделение паретовых слоёв.

В соответствии с отношением P0 на множестве объектов можно выделить подмножество недоминируемых объектов. После их удаления можно выделить второе подмножество и т.д. до исчерпания множества. Выделенные слоя являются паретовыми слоями.

.        Предварительная упаковка объектов.

Она заключается в применении алгоритма АОЧ по слоям.

Пусть упаковка объектов (i-1) первых слоёв возможна, но объекты i-го слоя уже не входят. Рассмотрим частный случай, когда каждый объект (i-1)-го слоя превосходит каждый объект i-го слоя и каждый объект i-го слоя в свою очередь превосходит каждый объект (i+1)-го слоя, причём объекты, принадлежащие одному слою, эквиваленты по качеству. В этом случае можно сразу переходить к шагу 6, т.к. имеется вся необходимая информация для упаковки объектов в месте их предполагаемого "разреза" на группы упакованных и неупакованных объектов.

В общем случае такая информация отсутствует. Для уменьшения неопределённости требуются шаги 4,5.

.        Определение информации, требующейся для предварительного упорядочивания объектов.

Производится сравнение объектов (i-1), i и (i+1) слоёв, т.е. тех слоёв, где вероятно произойдёт разделение объектов при упаковке. Определяется объём информации, необходимый для упорядочения этих объектов по качеству.

Если объекты этих слоёв находятся в отношении доминирования или "почти" доминирования (т.е. доминирования по всем критериям, кроме одного), то информация для упорядочения этих объектов может быть получена от ЛПР путём прямого опроса. ЛПР предъявляют объекты (попарно) и выясняют, какой из них для ЛПР является более ценным. При возникновении противоречий (A>B>C>A) необходимо указывать на эти противоречия ЛПР для их разрешения.

В общем случае объекты отличаются оценками по нескольким критериям и при этом являются достаточно представительными элементами множества Y. Для их упорядочения требуется дополнительная информация о предпочтениях ЛПР.

Например, если все объекты можно расположить в соответствии с оценками так, как это приведено на рис. 3.1,а ,то объекты 2 и 5, 4 и 6, 4 и 7 оказываются несравнимыми. Для их упорядочения нужна дополнительная информация от ЛПР (рис. 3.1,б).

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

Рис. 3.1. Пример построения квазипорядка для объектов

5.      Построение квазипорядка на множестве объектов.

На основе сформированного на шаге 4 бинарного отношения можно построить квазипорядок (рис. 3.1,в) и выделить паретовые слои. При этом считается, что объект, принадлежащий высшему слою, "потенциально" лучше объекта из низшего слоя.

.        Нахождение различных вариантов упаковки.

К построенному квазипорядку итеративно применяется алгоритм АОЧ. Среди объектов, упакованных на первом этапе, выделяется подмножество объектов, превосходящих каждый из остальных упакованных, если таковые имеются. Это подмножество подлежит обязательной упаковке. Далее к списку применяется алгоритм АОЧ, но объекты из вышеуказанного подмножества не отбрасываются. Т.о., алгоритм применяется, начиная с i-го слоя объектов.

Будем применять алгоритм АОЧ до исчерпания списка. Получим варианты с различными значениями критериев, например, для случая двух критериев (рис. 3.2)

Рис. 3.2. Примеры оценок вариантов решений по двум критериям

7.      Определение компромисса между критериями (3) и (4).

ЛПР может выбрать один из полученных вариантов или указать соотношение значений критериев, по которому будет произведён этот выбор, например:

K = max (0.9O1 + 0.3O2)

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

1)      часть объектов может быть упакована только в определённые контейнеры;

2)      несколько объектов имеют общие части и должны быть упакованы вместе.

Вывод

Существует множество разновидностей этой задачи (двумерная упаковка <http://ru.wikipedia.org/w/index.php?title=%D0%94%D0%B2%D1%83%D0%BC%D0%B5%D1%80%D0%BD%D0%B0%D1%8F_%D1%83%D0%BF%D0%B0%D0%BA%D0%BE%D0%B2%D0%BA%D0%B0&action=edit&redlink=1>, линейная упаковка <http://ru.wikipedia.org/w/index.php?title=%D0%9B%D0%B8%D0%BD%D0%B5%D0%B9%D0%BD%D0%B0%D1%8F_%D1%83%D0%BF%D0%B0%D0%BA%D0%BE%D0%B2%D0%BA%D0%B0&action=edit&redlink=1>, упаковка по весу <http://ru.wikipedia.org/w/index.php?title=%D0%A3%D0%BF%D0%B0%D0%BA%D0%BE%D0%B2%D0%BA%D0%B0_%D0%BF%D0%BE_%D0%B2%D0%B5%D1%81%D1%83&action=edit&redlink=1>, упаковка по стоимости <http://ru.wikipedia.org/w/index.php?title=%D0%A3%D0%BF%D0%B0%D0%BA%D0%BE%D0%B2%D0%BA%D0%B0_%D0%BF%D0%BE_%D1%81%D1%82%D0%BE%D0%B8%D0%BC%D0%BE%D1%81%D1%82%D0%B8&action=edit&redlink=1> и т. п.), которые могут применяться в разных областях, как собственно в вопросе оптимального заполнения контейнеров, загрузки грузовиков с ограничением по весу, созданием резервных копий на съёмных носителях и т. д. Так как задача является NP-трудной <http://ru.wikipedia.org/wiki/NP-%D1%82%D1%80%D1%83%D0%B4%D0%BD%D0%BE%D1%81%D1%82%D1%8C>, то использование точного переборного алгоритма возможно только при небольших размерностях. Обычно для решения задачи используют эвристические <http://ru.wikipedia.org/wiki/%D0%AD%D0%B2%D1%80%D0%B8%D1%81%D1%82%D0%B8%D0%BA%D0%B0> приближённые полиномиальные алгоритмы.

алгоритм линейный упаковка контейнер

Список литературы

1. Э.Х. Гимади. О некоторых математических моделях и методах планирования крупномасштабных проектов //Модели и методы оптимизации.

. Труды Института математики. Новосибирск. Наука. Сиб. Отделение. 2011. с. 89-115.

. М. Гэри, Д. Джонсон. Вычислительные машины и труднорешаемые задачи. М.: Мир, 2009. с. 154-191.

Похожие работы на - Задача упаковки в контейнеры

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!