
- •Киевский университет имени Тараса Шевченко
- •Общие рекомендации к использованию программного обеспечения
- •Элементарные преобразования матриц. Метод гаусса
- •Задача линейного программирования. Симплекс-метод Постановка задачи линейного программирования в стандартной форме (сзлп).
- •Задача линейного программирования. Модифицирован симплекс-метод.
- •Задача линейного программирования. Двойственный симплекс-метод
- •Транспортная задача. Метод потенциалов
- •Транспортная задача с ограниченными пропускными
- •Способностями. Метод потенциалов
- •Постановка транспортной задачи с ограниченными
- •Пропускными способностями (тзо).
- •Задача о кратчайшем пути на сети. Метод минти
- •Задача о максимальном потоке на сети. Метод форда-фалкерсона
- •Задача целочисленного линейного программирования. Метод гомори-1
- •Задача частично целочисленного линейного программирования. Метод гомори-2 Постановка частично целочисленной задачи линейного программирования (чцзлп).
- •Задача целочисленного линейного програмування. Метод гомори-3
- •Задача частично дискретного линейного программирования. Метод дальтона-ллевелина Постановка частично дискретной задачи линейного программирования (чдзлп).
- •Задача целочисленного линейного программирования. Метод ветвей и границ.
- •Лабораторная работа 14. Задача о назначении. Венгерский метод
- •Лабораторная работа 15. Задача о назначении. Метод мака Постановка задачи такая же самая, как и в предыдущем разделе (14.1–14.4).
- •6. Если каждый столбец матрицы расходов имеет элемент с отметкой *, тогда задача об оптимальных назначениях решена. Иначе переходим к следующему пункту.
- •Матричные игры. Связь с задачей линейного программирования. Метод брауна-робiнсон
- •Лабораторная работа 17. Методы одномерной оптимiзации
- •Лабораторная работа 18. Задача выпуклого квадратичного программирования. Квадратичный симплекс-метод
- •Задача безусловной оптимизации. Метод самого быстрого спуску
- •Лiтература
Задача о кратчайшем пути на сети. Метод минти
Постановка задачи о кратчайшем пути на сети.
На сети, что задается графом (I,U), где И — множество вершин, U — множество дуг, с определенной на ней функцией стоимости сіj ((і,j) — дуга с U), для фиксированных i1и isнайти путь
L = ((i1,i2),(i2,i3)...,(is-1,is))
из вершины i1в вершину is, длина которого
наименьшая.
Алгоритм метода Минти.
Методом Минти решается задача построения дерева кратчайших путей на сети с корнем в фиксированной вершине i1.
Алгоритм состоит из конечного числа шагов, на каждом из которых отражаются вершины сети и выделяются некоторые ее дуги.
Пусть Pr — множество вершин, обозначенных на шаге r, а Ir — множество вершин, обозначенных при r шагах.
ШАГ 0. Корень дерева (вершина i1) отражается постоянной h1=0; i1(h1)=i1(0). После нулевогошагаP0={i1(0)}, I0={i1(0)}.
Пусть выполнено r шагов, за которые построенное множество
Ir={i1(0),...,ik(hk),...}
обозначенных вершин ik(hk), каждой из которых поставлено в соответствие число hk (численно ровное длине кратчайшего пути из вершины i1в вершину ik).
ШАГ r+1. Строится
разрез сети, который порождается
множеством обозначенных вершин Ir,
и определяется множество Jr={...,im,...}
необозначенных вершин imсети, в которые
заходят дуги разреза. Для каждой дуги
(ik,im)
разреза вычисляют суммуhk++
и помечают те из дуг, для которых эта
сумма минимальная. Потом выделяют
обозначенные дуги так, чтобы в каждую
необозначенную вершину множества Jr,
в которое заходят обозначенные дуги
разреза, заходила бы только одна
выделенная дуга. После выделения дуг
помечают вершины —
концы выделенных дуг. Величина отметки
ровная минимальной из сумм hk++
,
вычисленных для всех дуг разреза.
Объединяя множество Irс множеством Pr+1вершин, обозначенных
на (r+1)
-м шаге, получают множество Ir+1вершин, обозначенных
при (r+1)
шагах. Переходят к следующему шагу, если
существует разрез, что порождается
множеством Ir+1.
Указанный процесс продолжают до тех пор, пока возможное расширение множества обозначенных вершин.
Если некоторая вершина in сети осталась необозначенной по окончании процедуры Минти, то пути, что начинается в вершине i1 и заканчивается в вершине in, не существует.
Программное обеспечение.
Обучающий модуль, с помощью которого задача о кратчайшем пути на сети Решается в диалоге с пользователем за выложенным алгоритмом, вызывается из раздела «ЛИНЕЙНОЕ ПРОГРАММИРОВАНИЕ» главного меню пакета ПО–МО.
Задание.
Решить методом Минти задачи о кратчайшем пути на сети, условия которых задаются модулем с помощью команды «Данные» главного меню (задачи №1–№9), а также следующие задачи, в каждой из которых сеть задается числом вершин N и матрицей L, что описывает множество дуг сети (каждый столбец этой матрицы отвечает существующей дуге сети, при этом, первый элемент столбца есть начало дуги, второе — конец дуги, третий — длина дуги):
1) N = 10, L =
1 |
1 |
1 |
2 |
2 |
2 |
3 |
3 |
4 |
4 |
5 |
5 |
5 |
6 |
6 |
7 |
7 |
8 |
9 |
2 |
3 |
4 |
3 |
5 |
6 |
4 |
6 |
6 |
7 |
8 |
9 |
10 |
5 |
9 |
6 |
9 |
10 |
10 |
5 |
10 |
20 |
5 |
20 |
17 |
12 |
17 |
5 |
4 |
10 |
6 |
20 |
7 |
5 |
1 |
5 |
11 |
15 |
2) N = 10, L =
1 |
1 |
2 |
2 |
3 |
3 |
3 |
4 |
4 |
5 |
5 |
6 |
6 |
7 |
7 |
7 |
8 |
8 |
9 |
9 |
2 |
3 |
4 |
5 |
2 |
7 |
8 |
3 |
7 |
9 |
10 |
5 |
10 |
6 |
8 |
9 |
4 |
9 |
6 |
10 |
20 |
12 |
9 |
20 |
12 |
20 |
7 |
20 |
2 |
10 |
18 |
10 |
18 |
1 |
7 |
16 |
18 |
17 |
20 |
8 |
3) N = 10, L =
1 |
1 |
1 |
2 |
2 |
2 |
3 |
4 |
4 |
4 |
4 |
5 |
5 |
6 |
7 |
7 |
7 |
8 |
8 |
9 |
2 |
3 |
4 |
3 |
5 |
6 |
5 |
3 |
5 |
7 |
9 |
6 |
7 |
8 |
6 |
8 |
9 |
9 |
10 |
10 |
18 |
20 |
19 |
8 |
2 |
11 |
2 |
7 |
1 |
6 |
12 |
9 |
5 |
12 |
6 |
15 |
6 |
16 |
2 |
4 |
4)N = 10,L=
1 |
1 |
1 |
2 |
2 |
2 |
3 |
3 |
4 |
4 |
4 |
5 |
5 |
5 |
6 |
6 |
7 |
8 |
9 |
2 |
3 |
4 |
4 |
5 |
6 |
2 |
4 |
5 |
7 |
8 |
7 |
9 |
10 |
5 |
9 |
8 |
10 |
10 |
15 |
2 |
20 |
9 |
20 |
17 |
13 |
12 |
15 |
8 |
5 |
4 |
3 |
7 |
7 |
11 |
5 |
6 |
4 |
5) N = 10, L =
1 |
1 |
2 |
2 |
2 |
3 |
3 |
3 |
3 |
4 |
4 |
5 |
5 |
6 |
6 |
7 |
7 |
8 |
9 |
10 |
2 |
3 |
4 |
5 |
6 |
2 |
6 |
7 |
8 |
5 |
9 |
6 |
9 |
7 |
9 |
9 |
10 |
7 |
10 |
8 |
13 |
2 |
8 |
18 |
2 |
11 |
13 |
20 |
20 |
10 |
20 |
4 |
20 |
20 |
20 |
11 |
20 |
11 |
14 |
5 |
6) N = 10, L =
1 |
1 |
1 |
1 |
2 |
2 |
3 |
3 |
3 |
3 |
4 |
4 |
5 |
5 |
6 |
7 |
7 |
8 |
8 |
9 |
2 |
3 |
4 |
5 |
3 |
6 |
4 |
6 |
7 |
10 |
7 |
8 |
4 |
8 |
10 |
9 |
10 |
7 |
9 |
10 |
10 |
18 |
20 |
20 |
8 |
15 |
9 |
7 |
17 |
12 |
8 |
10 |
7 |
15 |
5 |
10 |
19 |
20 |
10 |
2 |
Лабораторная работа 8.