«Следующий подходящий» icon

«Следующий подходящий»


Смотрите также:
«Итоги работы школы в 2007-08 году: достижения, проблемы, задачи на следующий год»...
Презентация (от лат. Praesentatio -представление) официальное представление...
Эконом программа включает минимум услуг, позволяет сформировать свое путешествие самостоятельно...
Предмет, методы и задачи антропологии (Контрольная работа)...
Приказ № 2004 г...
Трудные времена проходят, мир прекрасного остаётся!!! Ирисовыйсадлоктев а...
Трудные времена проходят, мир прекрасного остаётся!!! Ирисовыйсадлоктев а...
Трудные времена проходят, мир прекрасного остаётся!!! Ирисовыйсадлоктев а...
Основные принципы принятия решения при выборе профессии...
Тест «Сказка» (для младшего возраста) Цель: наблюдение спонтанно возникающих эмоциональных...
Положение определяет содержание и порядок текущей и промежуточной аттестации обучающихся в...
Дневной Дозор: подходящий сценарий...



Загрузка...
скачать
Задача упаковки в контейнеры


Дано: множество предметов 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. Задачи раскроя и упаковки --






Скачать 135,35 Kb.
оставить комментарий
Дата04.03.2012
Размер135,35 Kb.
ТипЗадача, Образовательные материалы
Добавить документ в свой блог или на сайт

Ваша оценка этого документа будет первой.
Ваша оценка:
Разместите кнопку на своём сайте или блоге:
rudocs.exdat.com

Загрузка...
База данных защищена авторским правом ©exdat 2000-2017
При копировании материала укажите ссылку
обратиться к администрации
Анализ
Справочники
Сценарии
Рефераты
Курсовые работы
Авторефераты
Программы
Методички
Документы
Понятия

опубликовать
Загрузка...
Документы

Рейтинг@Mail.ru
наверх