Лабораторная работа № 6
Телешовой Елизаветы, гр. 726,
Решение задачи о ранце методом ветвей и границ.
1. Постановка задачи.
1929 год. В США великая депрессия, введен сухой закон. Страна просто задыхается без спиртного. В этот сложный момент группа инициативных граждан под руководством Аль Капоне решает помочь родной стране. Ими планируется поставка алкогольной продукции из Ливерпуля в Штаты. Благодарные сограждане из 5 крупных городов США готовы платить большие деньги за тонну спиртного: 2000 долл. в Бостоне, 3000 в Детройте, 2500 в Вашингтоне, 3200 в Нью-Йорке и 1800 долл в Чикаго. Все 5 городов находятся на разном расстоянии от порта, куда прибывает груз: Бостон – 250 миль, Детройт – 300 миль, Вашингтон – 500 миль, Нью-Йорк –100 миль и Чикаго – 600 миль. Требуется выбрать города, в которых можно получить максимальную прибыль от продажи спиртного. При этом суммарное расстояние от этих портов до порта с грузом не должно превышать 1000 миль.
2. Решение задачи.
Данная задача является задачей о ранце вида:
, (1)
где критерием является функция
, (2)
которая может быть устремлена и к максимуму, и к минимуму.
Для начала составим следующую математическую модель:
Пусть – j-тый город, откуда соответственно . При этом, если в j-тый город будет разгружаться алкогольная продукция, то , иначе . Другим ограничением будет являться суммарное расстояние до порта с грузом. Таким образом:
;
Целевой функцией или критерием будет являться максимальная благодарность сограждан:
.
Далее отбираем порты по приоритетности, т.е. в порядке убывания отношения :
(3); (2); (4); (1); (5).
После этого определяем начальный план следующим образом: пусть , поскольку отношение наибольшее, и следовательно продажа спиртного в Нью-Йорке даст наибольшую прибыль при наименьших затратах, которые зависят от расстояния. Вычитая из суммарного расстояния расстояние до порта мы получим расстояние, которое разделяется между остальными городами, т.е.:
, ;
Аналогично рассуждая, далее получаем:
, ;
, ;
В последнем случае оставшееся после других городов расстояние меньше 500 миль, поэтому будет дробным: , => .
Таким образом, начальный опорный план: .
Значение целевой функции: .
Но обязательно целое. Поэтому чтобы определить, чему все же равен : 0 или 1 вычислим следующие значения:
;– целая часть критерия при существующем опорном плане.
;– значение критерия при целочисленном опорном плане, т.е. .
Множество D, которому принадлежит имеет , . Разделим его на 2 подмножества, такие что:
;
- здесь .
- здесь .
1) Анализ множества D1.
Поскольку целевая функция и ограничения будут иметь вид:
Строим новый опорный план:
, ;
, ;
, ;
Т.к. , поэтому будет дробным: , => .
Таким образом, новый опорный план: .
;
, при .
2) Анализ множества D2.
Поскольку целевая функция и ограничения будут иметь вид:
=> .
Строим новый опорный план:
, ;
, ;
Т.к. , поэтому будет дробным: , => .
Таким образом, новый опорный план: .
;
, при .
3) Отсев неперспективного подмножества.
.
Так как и больше Rec, то оба подмножества можно считать перспективными, но поскольку , то далее мы будем исследовать подмножество D2. Разделим его на 2 подмножества, такие что:
;
- здесь .
- здесь .
4) Анализ множества D3.
Поскольку , целевая функция и ограничения будут иметь вид:
.
Строим новый опорный план:
, ;
, ;
Т.к. , поэтому будет дробным: , => .
Таким образом, новый опорный план: .
;
, при .
5) Анализ множества D4.
Поскольку , целевая функция и ограничения будут иметь вид:
=> .
Строим новый опорный план:
, ;
Т.к. , поэтому будет дробным: , => .
Таким образом, новый опорный план: .
;
, при .
6) Отсев неперспективного подмножества.
.
Так как и больше Rec, то оба подмножества можно считать перспективными, но поскольку , то далее мы будем исследовать подмножество D3. Разделим его на 2 подмножества, такие что:
;
- здесь .
- здесь .
7) Анализ множества D5.
Поскольку , , целевая функция и ограничения будут иметь вид:
.
Строим новый опорный план, очевидно: . При , ограничение выполняется всегда.
;
, при .
8) Анализ множества D6.
Поскольку , , целевая функция и ограничения будут иметь вид:
.
Ограничение несовместное, поскольку даже при оно не выполняется. Следовательно множество D6 не существует.
Таким образом, оптимальным планом данной задачи будет: , то есть алкоголь выгоднее всего поставлять в 3 города: Детройт, Вашингтон и Нью-Йорк. При этом прибыль составит 8700 долл.
3. Постановка задачи о многомерном ранце.
В связи с тем, что спиртное стало хорошо раскупаться, Аль Капоне решил увеличить поставки. Но чтобы мирно спящее ФБР не дай бог не проснулось, было решено осуществлять поставки через три разных порта на восточном побережье. Цены на спиртное в пяти вышеуказанных городах не изменились, расстояние же от них (в милях) до портов указано в следующей таблице:
|
Бостон |
Детройт |
Вашингтон |
Нью-Йорк |
Чикаго |
Порт 1 |
250 |
300 |
500 |
100 |
600 |
Порт 2 |
100 |
200 |
700 |
400 |
300 |
Порт 3 |
500 |
400 |
300 |
550 |
150 |
Во всех трех случаях суммарное расстояние от порта до городов не должно превышать 1000 миль. Требуется решить тот же самый вопрос: в какие города выгоднее поставлять продукцию?
4. Решение задачи о многомерном ранце (вручную).
Задача о многомерном ранце имеет следующую математическую модель:
, (3)
где критерием является функция
, (4)
От задачи об одномерном ранце она отличается наличием нескольких ограничений. Таким образом, математическая модель:
Пусть – j-тый город, откуда соответственно . При этом, если в j-тый город будет разгружаться алкогольная продукция, то , иначе .
;
Целевой функцией или критерием будет являться максимальная благодарность сограждан:
.
Решим задачу оценки критерия для каждого ограничения в отдельности. Пусть множество относится к первому ограничению, – ко второму, а – к третьему.
1) Анализ множества .
(3); (2); (4); (1); (5).
Определяем начальный план:
, ;
, ;
, ;
В последнем случае оставшееся после других городов расстояние меньше 500 миль, поэтому будет дробным: , => .
Таким образом, начальный опорный план: .
;
2) Анализ множества .
(1); (2); (5); (3); (4).
Определяем начальный план:
, ;
, ;
, ;
В последнем случае оставшееся после других городов расстояние также равно 300 миль, поэтому будет целым: , => .
Таким образом, опорный план: .
;
3) Анализ множества .
(5); (2); (3); (4); (1).
Определяем начальный план:
, ;
, ;
, ;
В последнем случае оставшееся после других городов расстояние меньше 550 миль, поэтому будет дробным: , => .
Таким образом, опорный план: .
;
4) Вычисление верхней и нижней границ.
Вычисляем верхнюю границу:
; – третье ограничение более жесткое, далее будем исследовать опорный план .
Определяем опорные планы для третьего ограничения:
a) , ;
, ;
В последнем случае оставшееся после других городов расстояние равно 50 миль, поэтому . Таким образом : .
б) , ;
, ;
В последнем случае оставшееся после других городов расстояние равно 100 миль, поэтому . Таким образом : .
в) В этом случае .
Вычисляем нижнюю границу:
;
;
;
.
5) Ветвление множества D.
;
- здесь .
- здесь .
6) Анализ множества D1.
a) Определяем начальный план для :
, ;
, ;
В последнем случае оставшееся после других городов расстояние меньше 500 миль, поэтому будет дробным: , => .
Таким образом, новый опорный план: .
;
б) Определяем начальный план для :
, ;
, ;
, ;
В последнем случае оставшееся после других городов расстояние меньше 700 миль, поэтому будет дробным: , => .
Таким образом, новый опорный план: .
;
в) Определяем начальный план для :
, ;
, ;
, ;
В последнем случае оставшееся после других городов расстояние меньше 100 миль, поэтому будет дробным: , => .
Таким образом, новый опорный план: .
;
г) Вычисление верхней и нижней границ.
Вычисляем верхнюю границу:
; – первое ограничение более жесткое.
Определяем опорные планы для первого ограничения:
– В этом случае .
– , ;
, ;
В последнем случае оставшееся после других городов расстояние равно 450 миль, поэтому . Таким образом : .
– , ;
, ;
В последнем случае оставшееся после других городов расстояние равно 100 миль, поэтому . Таким образом : .
Вычисляем нижнюю границу:
Т.к. , то ;
;
.
7) Анализ множества D2.
Поскольку , то:
.
=> ;
a) Определяем начальный план для :
, ;
, ;
В последнем случае оставшееся после других городов расстояние меньше 500 миль, поэтому будет дробным: , => .
Таким образом, новый опорный план: .
;
б) Определяем начальный план для :
, ;
, ;
, ;
Таким образом, новый опорный план: .
;
в) Определяем начальный план для :
, ;
В последнем случае оставшееся после других городов расстояние меньше 400 миль, поэтому будет дробным: , => . Таким образом, новый опорный план: .
;
г) Вычисление верхней и нижней границ.
Вычисляем верхнюю границу:
; – третье ограничение более жесткое.
Определяем опорные планы для третьего ограничения:
– , ;
В последнем случае оставшееся после других городов расстояние равно 50 миль, поэтому . Таким образом: .
– , ;
, ;
В последнем случае оставшееся после других городов расстояние равно 50 миль, поэтому . Таким образом : .
– В этом случае .
Вычисляем нижнюю границу:
Т.к. , то ;
;
.
8) Отсев неперспективного подмножества.
.
Так как и больше Rec, то оба подмножества перспективные, но поскольку , то далее мы будем исследовать , как более перспективное.
;
- здесь .
- здесь .
9) Анализ множества D3.
Поскольку , то:
a) Определяем начальный план для :
, ;
, ;
В последнем случае оставшееся после других городов расстояние меньше 600 миль, поэтому будет дробным: , => .
Таким образом, новый опорный план: .
;
б) Определяем начальный план для :
, ;
, ;
В последнем случае оставшееся после других городов расстояние меньше 700 миль, поэтому будет дробным: , => .
Таким образом, новый опорный план: .
;
в) Определяем начальный план для :
, ;
В последнем случае оставшееся после других городов расстояние меньше 350 миль, поэтому будет дробным: , => .
Таким образом, новый опорный план: .
;
г) Вычисление верхней и нижней границ.
Вычисляем верхнюю границу:
; – третье ограничение более жесткое.
Определяем опорные планы для третьего ограничения:
– , ;
, ;
В последнем случае оставшееся после других городов расстояние равно 100 миль, поэтому . Таким образом : .
– , ;
, ;
В последнем случае оставшееся после других городов расстояние равно 300 миль, поэтому . Таким образом : .
– В этом случае .
Вычисляем нижнюю границу:
;
Т.к. , то ;
.
10) Анализ множества D4.
Поскольку , то:
.
=> ;
a) Определяем начальный план для :
, ;
В последнем случае оставшееся после других городов расстояние меньше 500 миль, поэтому будет дробным: , => .
Таким образом, новый опорный план: .
;
б) Определяем начальный план для :
, ;
, ;
Таким образом, новый опорный план: .
;
в) Определяем начальный план для :
В этом случае оставшееся после других городов расстояние меньше 150 миль, поэтому будет дробным: , => .
Таким образом, новый опорный план: .
;
г) Вычисление верхней и нижней границ.
Вычисляем верхнюю границу:
; – третье ограничение более жесткое.
Определяем опорные планы для третьего ограничения:
Очевидно, что поскольку , то .
Вычисляем нижнюю границу:
Т.к. , то ;
.
Так как и больше Rec, то оба подмножества перспективные, но поскольку , то подмножество более перспективное, следовательно оптимальным планом будет . То есть города, удовлетворяющие всем 3 условиям и при этом дающие максимальную прибыль – Детройт и Нью-Йорк.