Курсовая работа: Решение транспортной задачи распределения методом потенциалов
ед. прод.
Из модели (4.1) следует, что сумма запасов продукции во всех пунктах отправления должна равняться суммарной потребности во всех пунктах потребления, т.е.
. | ( |
Если (4.2) выполняется, то ТЗ называется сбалансированной (закрытой), в противном случае – несбалансированной (открытой). В случае, когда суммарные запасы превышают суммарные потребности , необходим дополнительный фиктивный (реально не существующий) пункт потребления, который будет формально потреблять существующий излишек запасов, т.е.
.
Если суммарные потребности превышают суммарные запасы , то необходим дополнительный фиктивный пункт отправления, формально восполняющий существующий недостаток продукции в пунктах отправления:
.
Для фиктивных перевозок вводятся фиктивные тарифы , величина которых обычно приравнивается к нулю . Но в некоторых ситуациях величину фиктивного тарифа можно интерпретировать как штраф , которым облагается каждая единица недопоставленной продукции. В этом случае величина может быть любым положительным числом.
Задача о назначениях – частный случай ТЗ. В задаче о назначениях количество пунктов отправления равно количеству пунктов назначения. Объемы потребности и предложения в каждом из пунктов назначения и отправления равны 1. Примером типичной задачи о назначениях является распределение работников по различным видам работ, минимизирующее суммарное время выполнения работ.
Переменные задачи о назначениях определяются следующим образом
3. Реализация алгоритма программы
Программа написана в программной среде C++ Builder 6.0. Для реализации всех методов программы используются следующие библиотеки:
< vcl . h > - библиотека визуальных компонентов(внешнее оформление программы)
В программе определены и инициализированы следующие переменные и массивы:
massiv 1[5][5] – массив мощностей поставщиков и потребителей
massiv 2[5][5] - массив поставок
massiv 3[5][5] – массив значений матрицы оценок
massiv 4[5][5], massiv 5[5][5] - дополнительные массивы
Всю работу программы можно разбить на четыре основных шага: считывание данных в виде матрицы, заполнение значений методом северо-западного угла, решение таблицы и вывод результата.
Руководство пользователя
О программе. Программа позволяет проверить правильность решения транспортных задач или же сделать за вас всю рутинную работу при решении этих задач. Программа позволяет загружать таблицы из файла (*.dat) или создавать новую таблицу, путём создания ячеек таблицы. Программа работает на любой IBM совместимой машине при 32 Мб ОЗУ и 1 Мб свободного места на диске, на любом процессоре старше 486 и ОС Windows 98\2000\XP.
Описание программы. Программа имеет удобный и понятный интерфейс, благодаря которому быстро осваивается пользователем. При запуске программы открыто окно ввода значений.
Программа позволяет загружать/сохранять файлы описания таблиц в формате *.dat. Они представляют собой текстовые файлы с параметрами исходной задачи. Если файл описания загружен, он отобразится в окне на странице. Если это так, можно жать кнопку запуска расчётов.
После просмотра результатов необходимо очищать элементы интерфейса нажатием на кнопку меню «Сбросить». После каждого решения нужно очищать введенные данные, в противном случае программа неправильно посчитает поставленную задачу.
Описание работы программы. Для начала работы нужно загрузить файл с помощью команды Файл>Открыть.
Выбранный файл отобразится в окне. В этом же окне можно изменить данные в соответствии с требуемой задачей. Между значениями и в конце каждой строки должен стоять знак пробела.
Сохранение значений оуществляется командой Файл->Сохранить.
После внесения необходимых значений нужно нажать кнопку “Запустить”. После этого можно будет увидеть решение.
Когда распределение поставок будет оптимальным алгоритм программы заканчивает свое решение. Функция цели () и количество шагов подсчитывается автоматически.