- •Руководство по эксплуатации программного комплекса
- •1. Для решения ктз.
- •Варианты заданий.
- •Пример выполнения работы
- •2. Для решения задачи поиска кратчайшего пути на транспортной сети.
- •Варианты заданий.
- •Пример выполнения работы
- •3. Для решения задачи нахождения максимального потока на сети.
- •Варианты заданий.
- •Пример выполнения работы
- •4 Задача о загрузке рюкзака
- •5. Задача дискретного целочисленного программирования Описание работы с программой ldpTechs.
- •Варианты заданий.
- •Пример выполнения работы
- •6. Решение матричной игры () среди смешанных стратегий
- •Варианты заданий.
- •Пример выполнения работы
- •Лабораторная работа №7 Варианты заданий.
Пример выполнения работы
Содержательная постановка задачи. Автогараж располагает 3 видами грузовых машин: А, Б и В грузоподъемностью 5т, 4т и 3т соответственно. Одна машина типа А тратит на выполнение работы 60л бензина, типа Б - 30л, типа С - 20л. Найти число машин, исходя из следующих условий:
-
затраты бензина не превосходят 3000л ,
-
объем перевозок не менее 300т ,
-
суммарное количество машин минимально.
Анализ словесного описания задачи
Управляемые параметры: количество машин каждого вида Неуправляемые параметры: грузоподъемность каждой машины и расход бензина Целевые параметры: суммарные затраты бензина, суммарный объем перевозок суммарное количество используемых машин
Построение математической модели
Характеристика машины |
Машина типа А |
Машина типа Б |
Машина типа В |
Грузоподъемность, т |
5 |
4 |
3 |
Расход бензина |
60 |
30 |
20 |
Условные обозначения:
Управляемые параметры: X1,X2,X3 - количество машин типа А,Б и В соответственно, т.е. количество неизвестных равно 3.
Целевые параметры: F3 - количество используемых машин.
Ограничиваемые параметры:
-
W1 - затраты бензина,
-
W2 - объем перевозок,
т.е. количество ограничений равно 2. Неуправляемые параметры: a1,1=60 a1,2=30 a1,3=20 a2,1=5 a2,2=4 a2,3=3 Соотношения между параметрами: W1 = 60X1+30X2 +20X3 W2 = 5X1 + 4X2 + 3X3 F3 = X1 + X2 + X3
Формирование задачи выбора наилучшей стратегии
Искомые параметры: X1 , X2 , X3 Целевая функция: F(X) = X1 + X2 +X3 => min Ограничения:
60X1 +30X2 +20X3 ≤ 3000 5X1 +4X2 +3X3 300 Xi ≥0 - целые, (i=1,3)
Решение данной задачи.
Введем сформированную модель в программу LDPTechs и решим ее симплекс-методом без учета целочисленности. Получим следующий результат:
Это означает, что решением является план (331/3; 331/3; 0), , и значение целевой функции при этом 662/3.
Т.к. полученный план очевидно нецелочисленный, произведем ветвление относительно любой нецелой компоненты (либо относительно х1, либо относительно х2). Выберем х1. Тогда исходная задача:
-
G0
F(X) = X1 + X2 +X3 => min 60X1 +30X2 +20X3 ≤ 3000 5X1 +4X2 +3X3 300 Xi ≥0 (i=1,3)
Решение: (331/3; 331/3; 0), F=662/3.
разбивается на две:
G11 |
F(X) = X1 + X2 +X3 => min 60X1 +30X2 +20X3 ≤ 3000 5X1 +4X2 +3X3 300 X1 ≤ 33 (-целая часть компоненты Х*1=33,3) Xi ≥0 (i=1,3)
|
G12
|
F(X) = X1 + X2 +X3 => min 60X1 +30X2 +20X3 ≤ 3000 5X1 +4X2 +3X3 300 X1 34 (-целая часть компоненты Х*1=33,3 плюс 1) Xi ≥0 (i=1,3)
|
Решаем обе эти задачи при помощи той же программы LDPTechs. Первую (G11):
И вторую (G12):
Полученные оптимальные планы и значения целевой функции удобнее всего отразить на дереве ветвлений:
-
G0
F(X) = X1 + X2 +X3 => min 60X1 +30X2 +20X3 ≤ 3000 5X1 +4X2 +3X3 300 Xi ≥0 (i=1,3)
Решение: (331/3; 331/3; 0), F=662/3.
G11 |
F(X) = X1 + X2 +X3 => min 60X1 +30X2 +20X3 ≤ 3000 5X1 +4X2 +3X3 300 X1 ≤ 33 (-целая часть компоненты Х*1=33,3) Xi ≥0 (i=1,3) |
G12
|
F(X) = X1 + X2 +X3 => min 60X1 +30X2 +20X3 ≤ 3000 5X1 +4X2 +3X3 300 X1 34 (-целая часть компоненты Х*1=33,3 плюс 1) Xi ≥0 (i=1,3) |
Решение: (33; 33 3/4; 0), F=66 ¾. |
Решение: (34; 28; 6), F=68. |
На множестве G12 полученный план – целый, однако оценка нижней границы (значение целевой функции) выше, чем на множестве G11 (F(G11)=66¾ < F(G12)=68). Поэтому план (34; 28; 6) не является оптимальным. План же множества G11 не целый, поэтому необходимо продолжить ветвление множества G11 относительно нецелочисленной компоненты плана (33; 33 3/4; 0), т.е. относительно Х2 =33 3/4. Получим:
-
G0
F(X) = X1 + X2 +X3 => min 60X1 +30X2 +20X3 ≤ 3000 5X1 +4X2 +3X3 300 Xi ≥0 (i=1,3)
Решение: (331/3; 331/3; 0), F=662/3.
G11 |
F(X) = X1 + X2 +X3 => min 60X1 +30X2 +20X3 ≤ 3000 5X1 +4X2 +3X3 300 X1 ≤ 33 Xi ≥0 (i=1,3)
|
G12
|
F(X) = X1 + X2 +X3 => min 60X1 +30X2 +20X3 ≤ 3000 5X1 +4X2 +3X3 300 X1 34 Xi ≥0 (i=1,3)
|
Решение: (33; 33 3/4; 0), F=66 ¾. |
Решение: (34; 28; 6), F=68.
|
G111 |
F(X) = X1 + X2 +X3 => min 60X1 +30X2 +20X3 ≤ 3000 5X1 +4X2 +3X3 300 X1 ≤ 33 X2 ≤ 33 Xi ≥0 (i=1,3)
|
G112 |
F(X) = X1 + X2 +X3 => min 60X1 +30X2 +20X3 ≤ 3000 5X1 +4X2 +3X3 300 X1 ≤ 33 X2 34 Xi ≥0 (i=1,3)
|
Перенумеровав полученные множества: G111= G21, G112= G22, G12= G23, введем данные задач G21 и G22 в программу LDPTechs и решим их:
Для G21:
Для G22:
Отразим решение в дереве:
-
G0
F(X) = X1 + X2 +X3 => min 60X1 +30X2 +20X3 ≤ 3000 5X1 +4X2 +3X3 300 Xi ≥0 (i=1,3)
Решение: (331/3; 331/3; 0), F=662/3.
G11 |
F(X) = X1 + X2 +X3 => min 60X1 +30X2 +20X3 ≤ 3000 5X1 +4X2 +3X3 300 X1 ≤ 33 Xi ≥0 (i=1,3)
|
G23
|
F(X) = X1 + X2 +X3 => min 60X1 +30X2 +20X3 ≤ 3000 5X1 +4X2 +3X3 300 X1 34 Xi ≥0 (i=1,3)
|
Решение: (33; 33 3/4; 0), F=66 ¾. |
Решение: (34; 28; 6), F=68.
|
G21 |
F(X) = X1 + X2 +X3 => min 60X1 +30X2 +20X3 ≤ 3000 5X1 +4X2 +3X3 300 X1 ≤ 33 X2 ≤ 33 Xi ≥0 (i=1,3)
|
G22 |
F(X) = X1 + X2 +X3 => min 60X1 +30X2 +20X3 ≤ 3000 5X1 +4X2 +3X3 300 X1 ≤ 33 X2 34 Xi ≥0 (i=1,3)
|
Решение: (33; 33; 1), F=67 |
Решение: (32 4/5; 34; 0), F=66 4/5. |
Минимальное значение целевой функции достигается на множестве G22, соответствующий план – не целый. Продолжаем ветвление: ветвим множество G22 относительно компоненты Х1=32 4/5.
-
G0
F(X) = X1 + X2 +X3 => min 60X1 +30X2 +20X3 ≤ 3000 5X1 +4X2 +3X3 300 Xi ≥0 (i=1,3)
Решение: (331/3; 331/3; 0), F=662/3.
G11 |
F(X) = X1 + X2 +X3 => min 60X1 +30X2 +20X3 ≤ 3000 5X1 +4X2 +3X3 300 X1 ≤ 33 Xi ≥0 (i=1,3)
|
G23
|
F(X) = X1 + X2 +X3 => min 60X1 +30X2 +20X3 ≤ 3000 5X1 +4X2 +3X3 300 X1 34 Xi ≥0 (i=1,3)
|
Решение: (33; 33 3/4; 0), F=66 ¾. |
Решение: (34; 28; 6), F=68.
|
G21 |
F(X) = X1 + X2 +X3 => min 60X1 +30X2 +20X3 ≤ 3000 5X1 +4X2 +3X3 300 X1 ≤ 33 X2 ≤ 33 Xi ≥0 (i=1,3)
|
G22 |
F(X) = X1 + X2 +X3 => min 60X1 +30X2 +20X3 ≤ 3000 5X1 +4X2 +3X3 300 X1 ≤ 33 X2 34 Xi ≥0 (i=1,3)
|
Решение: (33; 33; 1), F=67 |
Решение: (32 4/5; 34; 0), F=66 4/5. |
-
G221
F(X) = X1 + X2 +X3 => min 60X1 +30X2 +20X3 ≤ 3000 5X1 +4X2 +3X3 300
X1 ≤ 33
X2 ≤ 33
X1 ≤ 32
Xi ≥0 (i=1,3)
G221
F(X) = X1 + X2 +X3 => min 60X1 +30X2 +20X3 ≤ 3000 5X1 +4X2 +3X3 300
X1 ≤ 33
X2 34
X1 33
Xi ≥0 (i=1,3)
Перенумеровываем: G23= G31, G21= G32, G221= G33, G222= G34 введем данные в программу LDPTechs и решим их:
Для G33:
Для G34:
-
G0
F(X) = X1 + X2 +X3 => min 60X1 +30X2 +20X3 ≤ 3000 5X1 +4X2 +3X3 300 Xi ≥0 (i=1,3)
Решение: (331/3; 331/3; 0), F=662/3.
G11 |
F(X) = X1 + X2 +X3 => min 60X1 +30X2 +20X3 ≤ 3000 5X1 +4X2 +3X3 300 X1 ≤ 33 Xi ≥0 (i=1,3)
|
G31
|
F(X) = X1 + X2 +X3 => min 60X1 +30X2 +20X3 ≤ 3000 5X1 +4X2 +3X3 300 X1 34 Xi ≥0 (i=1,3)
|
Решение: (33; 33 3/4; 0), F=66 ¾. |
Решение: (34; 28; 6), F=68.
|
G32 |
F(X) = X1 + X2 +X3 => min 60X1 +30X2 +20X3 ≤ 3000 5X1 +4X2 +3X3 300 X1 ≤ 33 X2 ≤ 33 Xi ≥0 (i=1,3)
|
G22 |
F(X) = X1 + X2 +X3 => min 60X1 +30X2 +20X3 ≤ 3000 5X1 +4X2 +3X3 300 X1 ≤ 33 X2 34 Xi ≥0 (i=1,3)
|
Решение: (33; 33; 1), F=67 |
Решение: (32 4/5; 34; 0), F=66 4/5. |
-
G33
F(X) = X1 + X2 +X3 => min 60X1 +30X2 +20X3 ≤ 3000 5X1 +4X2 +3X3 300
X1 ≤ 33
X2 ≤ 33
X1 ≤ 32
Xi ≥0 (i=1,3)
G34
F(X) = X1 + X2 +X3 => min 60X1 +30X2 +20X3 ≤ 3000 5X1 +4X2 +3X3 300
X1 ≤ 33
X2 34
X1 33
Xi ≥0 (i=1,3)
Решение: (32; 35; 0), F=67
Решение: (33; 34; 0), F=67
Минимальное значение целевой функции F= 67 достигается сразу на трех множествах: G32, G33, G34. На всех трех множествах полученные планы – целочисленные. Поэтому в качестве решения можно выбрать любое из:
(33; 33; 1), (32; 35; 0), (33; 34; 0). К примеру, возьмем первое.
Если бы при равных значениях F некоторые планы были бы не целые, то в качестве решения мы выбрали бы целочисленное.
В терминах постановки задачи данные результаты могут быть интерпретированы следующим образом: необходимо использовать 33 машины типа А, 33 машины типа Б и одну машину типа В. Суммарное количество машин при этом – 67 штук.