Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
все_Лабораторные работы.doc
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
6.91 Mб
Скачать

Министерство образования и науки Российской Федерации

КАЗАНСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ

УНИВЕРСИТЕТ им. А.Н. ТУПОЛЕВА

_______________________________________________________________

ТЕОРИЯ ПРИНЯТИЯ РЕШЕНИЙ

Методические указания по проведению лабораторных работ

Лабораторная работа №1.

Решение открытой классической транспортной задачи.

1. Для решения ктз.

Для начала работы с программой необходимо запустить файл КТЗ.exe. Сразу после запуска на экране появляется основная форма «Решение КТЗ методом потенциалов» программного комплекса. Все это выглядит следующим образом:

Рис. 1 Рис. 2

В данном окне (рис.2) пользователь должен задать размерность задачи, т.е. ввести количество строк и столбцов соответственно в первую и вторую ячейки, и далее нажать на кнопку «Подтвердить». Если студент не ввел размерность задачи или выбрал количество строк и(или) столбцов, равным «0», то выдается сообщение об ошибке «Проверьте правильность введенных данных»:

Рис. 3

2. Далее на экране появляются таблицы с количеством строк и столбцов, заданным обучаемым:

Рис. 4 Рис. 5

Студенту необходимо ввести в «Рабочую область» (рис.5) исходные данные согласно своему варианту. Если обучаемый ввел правильные данные, то по нажатию кнопки «Принять данные» на экран выдается сообщение «Данные введены правильно!», а исходные данные заносятся в таблицу «Начальные данные».

Рис. 6

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

3. На следующем шаге происходит определение начального опорного плана:

Рис. 7 Рис. 8

Студент должен нажать кнопку «Определение НОП», после чего ему предлагается ввести значение клетки с минимальной стоимостью перевозки (рис.7). Студент должен ввести соответствующее значение клетки в ячейку и нажать кнопку «Готово», в данном случае «0»:

Рис. 9 Рис. 10

На экран выдается сообщение: «Правильно».

4. Клетка со значением минимальной стоимости перевозки обводится красным цветом, а далее обучаемому требуется нажать кнопку «Определение объема перевозки» (рис.10). После чего студенту нужно ввести максимально возможный объем перевозки в этой клетке в предназначенную для этого ячейку:

Рис. 11 Рис. 12

Если введенное им значение является верным (рис.12), то по нажатию кнопки «Готово» выдается сообщение: «Правильно»

Рис. 13 Рис. 14

Поскольку , то вычеркивается столбец №4, в таблицу «Текущие опорные планы и потенциалы» заносится текущий опорный план (рис.14). Далее снова возвращаемся к третьему шагу. Если студент ввел неправильное значение клетки,

Рис. 15 Рис. 16

то получает сообщение «Проверьте правильность введенных данных!» (рис.16).

Аналогично для четвертого шага: при неправильном введении значения максимально возможного объема перевозки в этой клетке:

Рис. 17 Рис. 18

Выдается сообщение «Проверьте правильность введенных данных!» (рис.18)

Шаги 3-4 повторяются до тех пор, пока не будут назначены объемы перевозок в (n+m-1) клетках, т.е. не получится некоторый опорный план перевозок.

Рис. 19

Вместо таблицы «Рабочая область» появляется таблица «Ваши начальные данные» с исходными данными студентов.

5. Далее производится проверка опорного плана на оптимальность. Для этого необходимо произвести определение потенциалов, для чего студент должен нажать кнопку «Определение потенциалов»:

Рис. 20 Рис. 21

Обучаемый должен заполнить столбец ui и строку vj соответствующими потенциалами (рис.21), после чего нажать на кнопку «Проверить потенциалы»

Рис. 22 Рис. 23

Если введенные студентом потенциалы соответствуют правильным, то выдается сообщение «Правильно!», в таблицу «Значения дельт» заносятся вычисленные программой автоматически соответствующие значения дельт, а в таблицу «Текущие опорные планы и потенциалы» - потенциалы, введенные обучаемым, в противном случае – сообщение «Проверьте правильность введенных данных!».

6. На данном шаге студент должен ответить на вопрос, является ли опорный план оптимальным. На форме появляются две кнопки: «Да» и «Нет». Поскольку для оптимальности опорного плана необходимо и достаточно существование вектора двойственных переменных, компоненты которого удовлетворяют условию: , то если в случае (рис.23) студент нажмет кнопку «Да» - получит сообщение «Неправильно, так как есть положительные дельты», а сами клетки с будут выделены красным цветом. Если ответит «Нет», получит сообщение «Задача решена, оптимальный план найден!». Так как из теоремы следует, что если хотя бы для одной небазисной переменной , то опорный план неоптимален и его требуется улучшить.

7. На этом шаге осуществляется переход к лучшему опорному плану. Студенту нужно выделить клетку, с которого начинается цикл, т.е. небазисную клетку (i,j) с наибольшим и нажать кнопку «Клетка выделена».

Рис. 24 Рис. 25

Если обучаемый выделит правильную клетку, то на форме появится сообщение «Верно!» (рис25), в противном случае – «Проверьте правильность введенных данных!».

8. Далее студентом выделяются оставшиеся клетки цикла, после чего следует нажатие кнопки «Цикл выделен»:

Рис. 26

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

Рис. 27 Рис. 28

В случае правильности выделения вместо таблицы «Значения дельт» появится «Текущий опорный план» с текущими опорными планами из таблицы «Текущие опорные планы и потенциалы», а сам цикл будет обведен красным цветом. В клетке ставится знак «+», а далее поочередно в вершинах цикла ставятся «-», «+»… (рис.28)

10. Студенту предлагается ввести величину Q=min{ }, которая будет прибавляться ко всем объемам перевозок, отмеченных знаком «+», и вычитаться от всех объемов перевозок, отмеченных знаком «-».

Рис. 29 Рис. 30

Если обучаемый ввел правильное значение, то по нажатию кнопки «θ введена» выдается сообщение «Правильно!» (рис.30), на форме выводится «tetta=…» и полученный новый опорный план записывается в новой распределительной таблице «Текущий опорный план», в противном случае – «Проверьте правильность введенных данных!».

11. Далее по нажатию на кнопку «Переходим к лучшему плану»:

Рис. 31 Рис. 32

программа автоматически осуществляет переход к лучшему опорному плану, рисует цикл в соответствующей таблице и выводит соответствующее значение θ (рис.32) и т.д. пока не получит оптимальный опорный план:

Рис. 33 Рис. 34

После того как найдено решение задачи на форме появляется общее количество совершенных студентом ошибок (рис.34).