- •Руководство по эксплуатации программного комплекса
- •1. Для решения ктз.
- •Варианты заданий.
- •Пример выполнения работы
- •2. Для решения задачи поиска кратчайшего пути на транспортной сети.
- •Варианты заданий.
- •Пример выполнения работы
- •3. Для решения задачи нахождения максимального потока на сети.
- •Варианты заданий.
- •Пример выполнения работы
- •4 Задача о загрузке рюкзака
- •5. Задача дискретного целочисленного программирования Описание работы с программой ldpTechs.
- •Варианты заданий.
- •Пример выполнения работы
- •6. Решение матричной игры () среди смешанных стратегий
- •Варианты заданий.
- •Пример выполнения работы
- •Лабораторная работа №7 Варианты заданий.
Пример выполнения работы
С одержательная постановка задачи. С острова А на остров В можно попасть только на лодках. Прямого сообщения между островами нет. Лодки курсируют между островами архипелага по указанной схеме. Количество человек, которое может быть перевезено за сутки между каждой парой островов, для которых есть прямое сообщение, также указано на схеме. При движении от острова А к острову В люди на промежуточных островах не остаются. Новые пассажиры с промежуточных островов не подсаживаются.
Определить, какое максимальное количество человек за сутки может быть перевезено с острова А на остров В. Также определить количество пассажиров между каждой парой сообщающихся островов.
Построение математической модели. Всего островов 8. Пронумеруем острова: остров А- это остров № 0, остров В – это остров №7. Остальные острова уже пронумерованы. Обозначим xij - количество людей, перевозимое по дуге (i,j), т.е. с острова i на остров j. Значения i и j меняются от 0 до 7. Очевидно, все величины xij ограничены указанным на схеме максимальным количеством перевозимых за сутки пассажиров. Обозначим это количество как dij. Следовательно:
, где n=7.
Запишем выражение, определяющее общее количество людей, вывезенных за сутки с острова №0:
х01+х02+х03+...+х0n,
или: .
Теперь запишем выражение, определяющее общее число людей, приехавших на остров №7 (т.е. остров №n):
х0n+х1n+х2n+...+хn-1n,
или: .
Очевидно, что два эти выражения должны давать одно и то же количество человек:
Обозначим это количество V. Оно и будет определять общее число перевезенных пассажиров, т.е. его мы и должны максимизировать:
Теперь запишем условие о том, что люди не остаются и не подсаживаются на промежуточных островах. Это означает, что количество прибывших на каждый промежуточный остров людей должно равняться количеству уехавших. Рассмотрим, например, промежуточный остров №1. Количество приехавших на остров: х01+х21+х31+...+хn-11=
Количество уехавших с острова: х12+х13+х14+...+х1n=.
Раз эти количества совпадают, то разность полученных сумм должна равняться нулю:
-=0.
Аналогичное условие может быть записано для всех остальных промежуточных островов.
Тогда математическая модель задачи будет иметь:
(1)
(2)
(3)
Как видно из полученной модели, сформулированная задача является задачей поиска максимального потока на сети. Следовательно, для ее решения может быть применен алгоритм Форда.
Перепишем общую мат. модель для нашей конкретной задачи и исходные данные занесем в таблицу, отражающую пропускную способность дуг сети:
|
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
0 |
|
12 |
14 |
|
|
|
|
|
1 |
|
|
9 |
9 |
|
|
|
|
2 |
|
|
|
11 |
|
|
|
|
3 |
|
|
|
|
17 |
|
12 |
11 |
4 |
|
|
|
|
|
4 |
|
|
5 |
|
|
|
|
|
|
7 |
17 |
6 |
|
|
|
|
|
8 |
|
10 |
7 |
|
|
|
|
|
|
|
|
х01- (х12+ х13)=0
х02-х23=0
х13+x23- (х34+ х36+ х37)=0
х34-х45=0
х45+x65- (х56+ х57)=0
х36+x56- (х65+ х67)=0
|
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
0 |
|
9 |
11 |
|
|
|
|
|
1 |
|
|
|
9 |
|
|
|
|
2 |
|
|
|
11 |
|
|
|
|
3 |
|
|
|
|
4 |
|
5 |
11 |
4 |
|
|
|
|
|
4 |
|
|
5 |
|
|
|
|
|
|
|
4 |
6 |
|
|
|
|
|
|
|
5 |
7 |
|
|
|
|
|
|
|
|
Полученные результаты в терминах поставленной задачи могут быть интерпретированы следующим образом: всего за сутки между островами А и В может быть перевезено 20 человек. При этом с острова А 9 человек будет перевезено на остров 1 и 11 на остров 2. С острова 1 будет перевезено 9 человек на остров 3. Также на остров 3 доставят 11 человек с острова 2. Далее с острова №3 4 человека доставят на остров 4, 5 человек на остров 6 и 11 человек в пункт назначения остров В. С четвертого острова 4 человека переедут на пятый, откуда они попадут на остров В. С шестого острова 5 человек переедут на В. Итого: всего переедет 20 человек.