Задача о загрузке (задача о ранце) и различные её модификации широко применяются на практике в прикладной математике, криптографии, экономике, логистике, для нахождения решения оптимальной загрузки различных транспортных средств: самолетов, кораблей, железнодорожных вагонов и т.д.
С помощью математических моделей ранцевого типа
описываются следующие прикладные задачи:
- задача загрузки уникального оборудования,
- задача формирования портфеля заказов, обеспеченного
ресурсами,
- задача объемного планирования для предприятия,
- задачи загрузки контейнеров и др.
Существует несколько модификаций задачи.
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. Методическое пособие по курсу "Математические основы информатики" для студентов факультета ВМК, специальность "Прикладная информатика".