Скачиваний:
11
Добавлен:
28.03.2019
Размер:
6.83 Mб
Скачать

3. Для решения задачи нахождения максимального потока на сети.

При решении задачи нахождения максимального потока на транспортной сети можно выделить последовательность действий, при выполнении которых осуществляется правильная работа программы. Рассмотрим ход решения этой задачи на конкретном примере.

1. Для начала работы с программой необходимо запустить файл Макс_поток.exe. Сразу после запуска на экране появляется запрос о вводе количества строк и столбцов в задаче:

Рис. 48

и основная форма «Задача о максимальном потоке на транспортной сети» программного комплекса, которая выглядит следующим образом:

Рис. 49

Студент должен ввести исходные данные в таблицу «Рабочая область» и далее нажать на кнопку «Принять данные»:

Рис. 50

2. Далее при нажатии кнопки «Добавление дуг» программа производит перенос введенных данных в таблицу «Выполнено» и автоматически заполняет клетки, симметричные относительно главной диагонали.

Рис. 51

  1. Студент должен нажать кнопку «Найти путь», после чего он сможет перейти к реализации алгоритма Форда нахождения максимального потока на сети.

  2. На данном шаге студент должен пометить столбцы в таблице «Рабочая область» согласно алгоритму Форда:

Рис. 52

после чего необходимо нажать на кнопку «Столбцы помечены»:

Рис. 53

Если обучаемый ввел правильные данные, то на экран выдается сообщение «Правильно», в противном случае - «Неправильно!».

5. Далее студент должен ответить на вопрос существует ли путь из узла-источника в узел-сток, для этого на форме появляются 2 кнопки: «Да» и «Нет»:

Рис. 54

Если путь существует, а студент ответил «Нет», то программа выводит сообщение «Путь существует. Вы неправы!». В противном случае студент видит сообщение «Вы неправы!».

Если путь не существует, а студент ответил «Да», то получает сообщение «Вы неправы!». Далее переход к шагу №8.

6. На следующем шаге от обучаемого требуется выделить клетки в «Рабочей области», соответствующие дугам этого пути:

Рис. 55

Студент должен нажать кнопку «Клетки выделены»,

Рис. 56

после чего в случае правильности выделения на экран выдается сообщение «Верно. Вы выделили правильные клетки!», соответствующие клетки выделяются красным цветом и помечаются знаком «-»:

Рис. 57

в противном случае – «Проверьте правильность выделения клеток!».

7. На данном шаге у студента просят ввести величину максимально возможного потока.

Рис. 58

В случае правильного ответа выдается сообщение «Вы правы!» и эта величина отнимается от всех пропускных способностей клеток, помеченных «-» и прибавляется к – «+» в таблицах «Рабочая область» и «Выполнено». На форме появляется максимально возможный поток.

Рис. 59

Далее снова переходим к шагу №2

7. Далее от студента требуется выделить клетки, пропускные способности которых будут увеличиваться. В случае правильного выделения после нажатия кнопки «Клетки выделены», соответствующие клетки выделяются красным и помечаются знаком «+», а на экран выводится сообщение «Вы правы!»:

Рис. 60

в противном случае просто выдается сообщение: «Проверьте правильность выделения клеток!».

8. На данном шаге от студента требуется ввести значение максимального потока на сети и нажать на кнопку «Принять».

Рис. 61

Если значение является правильным, то выдается сообщение «Правильно», а на форме появляется минимальный разрез и максимальный поток, в противном случае – «Неправильно!».

9. Далее студент должен заполнить таблицу «Рабочая область» значениями потоков по дугам xij* как разность таблиц «Выполнено» и «Рабочая область» и нажать кнопку «Произвести проверку введенных данных». В случае верного ответа выдается сообщение «Правильно!» и клетки с положительными значениями заносятся в таблицу «Выполнено» из «Рабочей области», на форме выдается общее число ошибок, совершенных студентом за время решения задачи, в противном случае – «Проверьте правильность введенных данных!»

Рис. 62