
- •Здійснення постановки задачі лінійного програмування
- •Завдання №4 Побудова подвійної задачі лінійного програмування та її розв’язок
- •Розв’язок транспортної задачі лінійного програмування
- •Завдання №6 Розв’язок задач дискретного програмування методом Гоморі та методом віток та границь
- •Завдання №7 Розв’язок задач дискретного програмування методом Мака та Угорським методом
- •Завдання №8,9 Розв’язок задач нелінійного програмування методом виключень, методом множників Лагранжа та градієнтних методів.
- •Розв’язок задач динамічного програмування
- •Прикдад виконання робіт Задание №1
- •Задание № 2,3
- •Задание №4
- •Задание №5 Задание: решить транспортную задачу линейного программирования методом потенциалов.
- •Задание №6
- •Задание № 7
- •Задание №8,9
- •Задание №10
Задание №10
Задание: решить задачу динамического программирования с поиском минимального маршрута между двумя заданными пунктами 1 и 7, схема сети приведена на рисунке 1. Длина отрезков маршрута для каждого из вариантов приведена в таблице.
№ вар |
Расстояния между пунктами |
|||||||||||
1-2 |
1-3 |
1-4 |
2-4 |
2-5 |
3-4 |
3-6 |
4-5 |
4-6 |
4-7 |
5-7 |
6-7 |
|
31 |
2 |
4 |
10 |
11 |
5 |
3 |
1 |
8 |
7 |
5 |
6 |
9 |
Решение:
Необходимо среди множества возможных маршрутов из узла 1 в узел 7 выбрать кратчайший. Узел 1 – начальный в маршруте, узел 7 – конечный в маршруте.
Введем обозначения:
Di,j - расстояние между двумя смежными узлами i и j;
Uj - кратчайшее расстояние между узлами i и j;
Uj определяется как кратчайшее расстояние до предыдущего узла плюс расстояние между текущим узлом и предыдущим, т.е.
Uj=min{Ui+Di,j}
Из данной формулы выплывает, что кратчайшее расстояние Uj до узла j может определится после того, как определено кратчайшее расстояние до каждого предыдущего узла i, который соединяется дугой (i, j) с узлом j.
Рассмотрим узел 1. Расстояние от узла до самого себя U1=0.
Расстояние от узла 1 до узла 2 определяем как U2=U1+D1,2=0+2=2
Расстояние от узла 1 до узла 3 определяем как U3=U1+D1,3=0+4=4
Маршрут, дающий кратчайшее расстояние от узла 1 к узлу 4 определяем с учетом расстояний от узла 1 до узлов, предыдущих узлу 4. Это узлы 1,2,3.
U4=min{U1+D1,4;U2+D2,4;U3+D3,4}=min{0+10;2+11;4+3}=7
Маршрут, дающий кратчайшее расстояние до узла 5 определяем с учетом ранее полученных данных. Узел 5 опережают узлы 2 и 4, поэтому:
U5=min{U2+D2,5;U4+D4,5}=min{2+5;7+8}=7
Аналогично определяем для узла 6:
U6=min{U3+D3,6;U4+D4,6}=min{4+1;7+7}=5
Для узла 7:
U7=min{U4+D4,7;U5+D5,7;U6+D6,7}=min{7+5;7+6;5+9}=12
Поднимаясь по расчетам вверх с учетом пояснений, которые указывают через какой узел получено кратчайшее расстояние до очередного узла находим минимальный маршрут 1→3→4→7 с длиной 12.