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




Скачать 122.73 Kb.
НазваниеЗадача упаковки в контейнеры
Дата конвертации16.10.2013
Размер122.73 Kb.
ТипЗадача
Задача упаковки в контейнеры


Дано: множество предметов L = {1, … , n} и их веса wi(0,1), iL.

Найти: разбиение множества L на минимальное число m подмножеств

B1, B2, … , Bm такое, что

, для всех 1  j m.


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

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

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

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

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

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

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

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

Т = О(n), П = О(1).

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

Доказательство. Пусть Так как любые два последовательных контейнера содержат предметы суммарным весом не меньше единицы, то
NF(L) < 2W. Кроме того, OPT(L)  W, откуда и следует требуемое.

Пример


. Всего 4N предметов.

1/2N


1/2N

½

N

1

2N

OPT(L) = N + 1

1/2N


½

.

1/2N

½

1/2N

NF(L) = 2N

Замечание. 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}.

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

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

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


Т = О(n2), П = О(n).


Теорема. FF(L)  OPT(L) +1 для всех L и существуют примеры со сколь угодно большими значениями OPT, для которых FF(L)   OPT(L) – 1 .

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

Пример

L = {1,…, 18 m}








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

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

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


Т = О(n2), П = О(n).

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

и FF(L) = 3/2 BF(L).

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

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

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

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


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

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

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

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

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

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

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

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

Примеры алгоритмов с ограниченным доступом

FF1 — алгоритм FF с правилом 1.

FF2 — алгоритм FF с правилом 2.

BF1 — алгоритм BF с правилом 1.

BF2 — алгоритм BF с правилом 2.

Теорема. Для любого K  2

1) .

2) .

3) .

4) Для любого алгоритма A с ограниченным доступом к контейнерам

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

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

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



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

FFD(L)  OPT(L).

Кроме того .

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

Пример

L = {1,…, 30 m}






6m 3m 6m 2m 3m

OPT(L) = 9m FFD(L) = 11m

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



Алгоритм

T*A









NF

O(n)

2.000

2.000

1.500

1.333

FF

O(n log n)

1.700

1.500

1.333

1.250

BF

O(n log n)

1.700

1.500

1.333

1.250

NFD

O(n log n)

1.691

1.424

1.302

1.234

FFD

O(n log n)

1.222

1.183

1.183

1.150

BFD

O(n log n)

1.222

1.183

1.183

1.150



— асимптотическая точность для примеров с весами предметов
wi  , для всех iL.

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

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

Алгоритм A

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

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

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

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

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

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

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

Доказательство. Пусть такой алгоритм А существует. Покажем, как с его помощью можно решить точно одну из NP-полных задач, а именно задачу о разбиении. Дано n неотрицательных чисел a1,…, an. Можно ли разбить их на два подмножества так, чтобы сумма чисел в каждом подмножестве равнялась ? Рассмотрим задачу упаковки в контейнеры с весами предметов wi =ai/C, i = 1,…, n. Если их можно упаковать в два контейнера, ответ в задаче о разбиении — «ДА». Применим алгоритм А к задаче о контейнерах. Если OPT = 2, то алгоритм А тоже дает 2, иначе RA , то есть алгоритм А точный.

Нижние оценки

Переменные задачи



Математическая модель



при ограничениях



yj, xij {0,1} i, j = 1,…, n.

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

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

0  yj  1, j = 1,…, n

0  xij  1, i, j = 1,…, n.

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

,

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



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

Оценки Martello & Toth

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

L1 = { iL | wi > 1 – } — крупные предметы

L2 = { iL | 1– wi > ½ } — средние предметы

L3 = { iL | ½ wi } — мелкие предметы


Теорема. Для любого 0  ½ величина

.

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

Доказательство. Каждый предмет из множества L1L2 требует отдельный контейнер. Поэтому в любом допустимом решении не менее | L1 | + | L2 | контейнеров. Предметы из множества L3 не лежат вместе с предметами из L1. Значит, они лежат либо вместе с предметами из L2 , либо в отдельных контейнерах. В контейнерах для L2 осталось свободного места. Следовательно, для предметов из множества L3 требуется как минимум отдельных контейнеров.




Теорема. Для любого 0  ½ величина



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

Доказательство. Заменим вес каждого предмета из множества L3 на . Тогда в один контейнер войдет предметов, и для множества L3 потребовалось бы дополнительных контейнеров. Но часть предметов из L3 можно уложить в контейнеры для L2. Каждый из них имеет 1– wi, iL2 свободного места, где поместится предметов из L3.

Следствие 1. Величина

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

Следствие 2. .

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

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

Тогда



т. е. после сортировки предметов получаем

Дополнительная литература


  1. E.G. Coffman, M.R. Garey, D.S. Johnson. Approximation algorithms for bin packing: A survey. http://www.math.nsc.ru/LBRT/k5/bp-chapter.pdf




  1. Э.Х. Гимади. О некоторых математических моделях и методах планирования крупномасштабных проектов //Модели и методы оптимизации. Труды Института математики. Новосибирск. Наука. Сиб. Отд–ние. 1988. с. 89–115.




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




Лекция 4. Задачи раскроя и упаковки --



Похожие:

Задача упаковки в контейнеры iconЗадача редизайна упаковки Текущий дизайн упаковки «Московский картофель»
Текущий дизайн упаковки «Московский картофель» был разработан в 2003 году и с тех пор не претерпевал никаких изменений. Дизайн/элементы...
Задача упаковки в контейнеры iconПримеры экологических идей
Экологическое движение эка запускает общероссийскую программу «Распаковка» по экологически безопасной упаковке. Задача – сформировать...
Задача упаковки в контейнеры iconГазовые контейнеры-цистерны (танк-контейнеры)
Контейнеры цистерны этого типа предназначены для перевозки сжиженных углеводородных газов ( пропан, бутан, и др.) и аммиака
Задача упаковки в контейнеры iconКласс 09 тара, упаковки и контейнеры, используемые для транспортировки или хранения товаров
Бутылки, флаконы, банки, бутыли, в том числе оплетенные, и сосуды для хранения содержимого под давлением
Задача упаковки в контейнеры iconЭкспонаты выставки в период второй фазы (23 – 27 октября 2011)
Контейнеры из нержавеющей стали, эмалированные контейнеры и из других материалов. Столовые приборы и декоративные предметы: посуда,...
Задача упаковки в контейнеры iconКонтейнеры для перевозки (транспортировки) живой птицы ктл
Данные контейнеры предназначены для перевозки (транспортировки) живой птицы на убой. Предусмотрена возможность боковой погрузки/разгрузки...
Задача упаковки в контейнеры iconПредприятия
Поиск партнеров по производству упаковки и оборудования в этой сфере. Возможность встречи с партнерами, связанными с производством...
Задача упаковки в контейнеры iconКонтейнеры массой брутто 20 и 24 т (ic и icc) имеют одинаковую длину 20 футов (чуть более 6 м), а контейнеры массой брутто 30,5 т (ia и iaa) в 2 раза длиннее
Структура маркировочного кода состоит, как правило, из двух строк, хотя форма представления может быть иной. Структура маркировочного...
Задача упаковки в контейнеры iconРазработка алгоритма решения задачи ортогональной упаковки прямоугольных объектов в двухмерный контейнер
Для решения np-трудной задачи ортогональной упаковки прямоугольных объектов в двухмерный контейнер предлагается эффективный метод...
Задача упаковки в контейнеры icon3 и 5 тонные контейнеры

Разместите кнопку на своём сайте:
Библиотека


База данных защищена авторским правом ©tnu.podelise.ru 2013
обратиться к администрации
Библиотека
Главная страница