Задача о ранце методом ветвей и границ

Задача о загрузке (задача о ранце) и различные её модификации широко применяются на практике в прикладной математике, криптографии, экономике, логистике, для нахождения решения оптимальной загрузки различных транспортных средств: самолетов, кораблей, железнодорожных вагонов и т.д.

С помощью математических моделей ранцевого типа

описываются следующие прикладные задачи:

- задача загрузки уникального оборудования,

- задача формирования портфеля заказов, обеспеченного

ресурсами,

- задача объемного планирования для предприятия,

- задачи загрузки контейнеров и др.

Существует несколько модификаций задачи.

1. классическая

2. классическая в обратной постановке

3. с дробимыми предметами

4. задача с двумя ранцами

5. многомерная

6. бикретериальная

1.Классическая задача о ранце

Имеется ранец, в который можно поместить n предметов. У каждого предмета есть свой вес(vi) и своя стоимость (ci). В ранец может влезть вес не больше W. Все предметы взять нельзя. Предметы не дробимы.

Вводим переменные х1, х2,… хn

1, предмет в ранце

xi=

0, предмет не в ранце

i=1…n

Математическая формулировка задачи:

(1)

(2)

xi {0,1}, ci>0, vi>0, i=1..n (3)

2.Классическая задача о ранце в обратной постановке

Вводим переменные у1, у2,… уn

1, предмет вне ранца

уi=

0, предмет в ранце

(1)

(2)

уi {0,1}, ci>0, vi>0, i=1..n (3)

3.Задача о ранце с дробимыми предметами

(1)

(2)

xi [0,1], ci>0, vi>0, i=1..n (3)

4.Задача о двух ранцах

В первый ранец нельзя вложить больше W1

Во второй ранец нельзя вложить больше W2

Есть n предметов. У каждого своя стоимость (сi) и свой вес(vi).

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

Вводим переменные:

xi- для 1 ранца.

уi – для 2 ранца.

(1)

(2)

(3)

(4)

уi {0,1}, xi {0,1}, ci>0, vi>0, i=1..n(5)

5.Многомерная задача о ранце(m-мерная)

(1)

(2)

xi {0,1}, ci>0, i>0, i=1..n

i, - m –мерные вектора

6.Бикретериальная задача о ранце

(1)

(2)

(3)

xi {0,1}, ci>0, vi>0, i=1..n (4)

Классическая задача о ранце методом ветвей и границ.

Основан на трёх компонентах:

1. способ получения верхних оценок

2. способ получения нижних оценок

3. способ ветвления

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

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

Вершину называют терминальной, если верхняя и нижняя оценка совпадают

Вершину называют закрытой, если ветвление выполнено. Остальные - открытые.

Пример 1(однокритериальная)

xi {0,1}

x1=1 x2=1 x3=1 x5=1 x4=3/4

2+2+4+5+4*3/4=13+3=16

1)Если x4=1

x1=1 x3=1 x5=1 x2=1/2

2+4+4+5+2*1/2=15+1=16

Если x4=0

Нижняя граница совпадает с верхней и равна 13

2)Если x2=1

x1=1 x3=1 x5=3/4

2+2+4+4+5*3/4=12+5=17

Если x2=0

Нижняя граница совпадает с верхней и равна 15

3)Если x5=1

x1=1 x3=2/3

2+2+4+5+4*2/3=13+4=17

Если x5=0

Нижняя граница совпадает с верхней и равна 12

3)Если x3=1

Нижняя граница совпадает с верхней и равна 15

Если x3=0

Нижняя граница совпадает с верхней и равна 13

Ответ: 15

x1=1 x2=0 x3=1 x4=1 x5=1.


Пример 2(бикритериальная)

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

1.Коган Д.И. «Динамическое программирование и дискретная многокритериальная оптимизация». Нижний Новгород: Изд-во ННГУ, 2004

2.Коган Д.И. «Многокритериальные задачи принятия решений в системах управления». Москва: МГУПИ,2008

3. Методическое пособие по курсу "Математические основы информатики" для студентов факультета ВМК, специальность "Прикладная информатика".


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: