- Вычислить
max(
- cij). Если max(
- cij)=0, то вычисления
прекращаются и последний план является
оптимальным. В противном случае в ячейку,
соответствующую максимальной разности,
ввести перевозку Q>0. Чтобы не нарушился
баланс перевозок, нужно отнять и прибавить
Q в строках и столбцах так, чтобы по
стокам и столбцам суммы Q были равны
0.
- Выписать
все разности, содержащие Q и присвоить
Q значение наименьшего из уменьшаемых.
Пересчитать опорный план с учётом полученного
значения Q, проверить правильность
размещения перевозок в соответствии
с отграничениями по запасам и по потребностям,
посчитать стоимость перевозки. При этом
стоимость перевозки в каждой следующей
таблице не должна превышать стоимости
из предыдущей таблицы.
- Убедиться,
что опорный план невырожден (или привести
его к невырожденному виду) и перейти к
п.2.
По
окончании расчётов проверить правильность
размещения перевозок в соответствии
с отграничениями по запасам и по потребностям,
посчитать стоимость перевозки.
Пример
решения транспортной задачи методом
Фогеля представленный в таблице 1.2
Таблица
1.2
- Обоснование
выбора инструментальных средств
Для
написания программы, позволяющей
решить данную проблему, был выбран
язык Delphi (а именно Borland Delphi 7.0). Причины
такого выбора представлены ниже:
- Delphi - один
из самых распространенных языков программирования
(наряду с несколькими другими) и является
языком высокого уровня.
- Delphi имеет
очень мощную модель объектно-ориентированного
программирования.
- В высших
учебных заведениях и колледжах очень
популярен язык Delphi, так как он является
модернизированным «потомком» языка Pascal,
широко применяемого во многих школах
и лицеях, в качестве обучающего языка
программирования.
- Создаваемые
с его помощью программы могут работать
не только под управлением Windows, а сама
она относится к классу инструментальных
средств ускоренной разработки программ.
- Визуальное
конструирование форм избавляет программиста
от многих аспектов разработки интерфейса
программы, так как Delphi автоматически
готовит необходимые программные заготовки
и соответствующий файл ресурсов. Программист
использует специальное окно, которое
называется окном формы, как прототип
будущего окна программы и наполняет его
компонентами, реализующими нужные интерфейсные
свойства (разного рода списки, кнопки,
полосы прокрутки и т.п.). После размещения
на форме очередного компонента, Delphi автоматически
вставляет в связанный с формой модуль
ссылку на компонент, и корректирует специальный
файл описания формы с расширением DFM,
который после компиляции преобразуется
в ресурсный файл Windows.
- Использование
компонентов не только во много раз сокращает
сроки разработки программ, но и существенно
снижает вероятность случайных ошибок,
от которых, увы, не защищен ни один крупный
программный проект. Однако в их применении
есть оборотная сторона. Как правило, даже
простые в функциональном отношении компоненты
представляют лишь «вершину айсбергов»
так как они создаются по объектно-ориентированной
технологии и многие их функциональные
черты наследуются от многочисленных
родительских компонентов. В результате
даже несложные программы, созданные в
Delphi, редко имеют объем меньше сотен килобайт.
- Во всех случаях
Delphi имеет самый быстрый среди продуктов
подобного рода оптимизирующий компилятор,
позволяющий создавать быстрые и относительно
компактные программы.
- Технологическая
часть
- Назначение
и цель создания
Главной
задачей было изучение темы «Решение
транспортной задачи методом Фогеля».
Задача была предложена в качестве темы
для курсового проекта по предмету «Моделирование
производственных и экономических процессов».
Так же целью создания программы было
практическое закрепление навыков программирования
и изучение языка Delphi.
- Требование
к системе
- Требования
к функциям системы
Программа
предназначена для использования
на ПК.
Для
выполнения корректной работы этой программы
необходимы:
- Процессор
не ниже Pentium 2;
- Операционная
система Windows 95, 98, 2000, XP;
- Оперативная
память не меньше 125 Мб;
- Клавиатура,
мышь;
- Цветной монитор
SVGA.
- Требования
к интерфейсу пользователя
Требования,
предъявляемые к интерфейсу пользователя,
приведены ниже:
- Программа
содержит несколько рабочих форм, на которых
расположены все функциональные элементы,
что очень удобно и просто.
- Программа
содержит эргономичный интерфейс, что
позволяет каждому пользователю без предварительного
обучения работать с этим приложением.
- В данной
программе была создана детальная, предельно
понятная справочная система, которая
описывает все этапы работы с программой,
от введения исходных значений, до выхода
из программы.
- Требования
к защите информации
Программа
проверяет правильность введенных
пользователем значений, а именно
не даст решить задачу при неверно
введенных данных таких как, например:
буква вместо числа, любой знак вместо
числа, так же пока таблица не будет заполнена
полностью. Если количество потребностей
не равно количеству запасов, то добавляется
строка или столбец, для того чтобы уровнять
запасы и потребности.
- Перечень
и описание входных данных
В
качестве входных данных для программы
выступают следующие элементы:
- Количество
поставщиков
- Количество
потребителей
- Количество
запасов и потребностей
- Стоимости
перевозок
- Руководство
к использованию и эксплуатации
Для
того чтобы установить программу необходимо
запустить файл программы инсталлятора
Setup.exe. После запуска файла появится окно,
показанное на рисунке 2.1.
Рисунок
2.1 – Запуск инсталлятора.
Для
запуска установки необходимо следовать
инструкции программы.
Для
запуска программы необходимо запустить
ярлык с рабочего стола «Метод
Фогеля.exe»
Общий
вид меню программы приведен на рисунке
2.2.
Рисунок
2.2 – Общий вид окна заставки программы.
Для
входа в главное окно программы
необходимо кликнуть мышью на клавишу
«Вход». Далее откроется окно программы,
на которой будут происходить расчеты.
Общий вид окна программы приведен на
рисунке 2.3 ниже.
Рисунок
2.3 – Общий вид окна программы.
Ниже
описаны основные элементы окна программы:
- Кнопка «Задать
размер». После нажатия клавиши на экране
видим окно, в котором задается количество
поставщиков и потребителей (смотреть
Рисунок 2.4).
Рисунок
2.4 – Окно ввода количества поставщиков
и потребителей.
- Кнопка
«Посчитать», производит вычисления, появляется
после задания размера матрицы перевозок.
- Кнопка «Очистить
таблицу», очищает поля таблицы от данных.
- Кнопка «О
программе» выводит данные о создателях
приложения (смотреть рисунок 2.5).
Рисунок
2.5 – О программе.
- Кнопка
«Меню». После нажатия клавиши
появляется меню, имеющие кнопки: «Помощь»
- выводит файл справку, «Выход» - закрывает
приложение.
- Таблица ввода
дынных.
Просмотр
результата выполнения программы после
нажатия кнопки «Посчитать». Полученный
опорный будет выведен в таблицу ввода
первоначальных данных. Общий вид ответа
приведен на рисунке 2.6 ниже.
Рисунок
2.6 – Просмотр ответа.
Ниже
приведены этапы работы с программой:
- Ввод количества
строк и столбцов.
- Заполнение
таблицы стоимостей перевозок, ввод количества
запасов и потребностей.
- Расчет опорного
плана перевозок методом Фогеля.
Просмотр
справки вызывается нажатием кнопки
«Справка» в главном меню. Она
содержит подробное описание работы
с программой. Общий вид справки
приведен на рисунке 2.7 ниже.
Рисунок
2.7 – Справка.
- Результаты
экспериментальной проверки
После
окончательной отладки программы была
произведена серия тестов на решение задач
автоматически и вручную. Результаты работы
программы совпали с результатами, вычисленными
вручную, что подтверждает правильность
работы программы.
- Охрана
труда и техника безопасности
- Инструкция
предназначена для пользователей
персональных компьютеров.
- К работе
с персональным компьютером допускаются
лица, имеющие персональные навыки, изучившие
руководство по эксплуатации персонального
компьютера и знающие порядок включения
и отключения электронных устройств; прошедшие
вводный инструктаж, а также инструктаж
по безопасности труда непосредственно
на рабочем месте.
- Профессиональные
пользователи должны проходить обязательные
предварительные (при поступлении на работу)
и периодические медосмотры.
- К непосредственной
работе с персональным компьютером допускаются
лица, не имеющие медицинских противопоказаний.
- Работающие
с персональным компьютером, обязаны:
- выполнять
правила внутреннего распорядка, требования
настоящей инструкции, и инструкции по
эксплуатации правила электро-пожарной
безопасности;
- знать принцип
работы компьютера и методику правильной
его эксплуатации;
- знать возможные
вредные производственные факторы, характерные
для работы с компьютером (воздействие
электромагнитного и электростатического
полей, переутомление зрения, снижение
его остроты и др.);
- сообщать
руководителю работ или техническому
персоналу обо всех неполадках в работе
компьютера;
- знать приемы
освобождения от действия электрического
тока лиц, попавших под напряжение, и способы
оказания им первой помощи;
- знать расположение
средств пожаротушения и уметь ими пользоваться.
- Следует иметь
в виду, что:
- расстояние
между рабочими столами с компьютерами
в направлении тыла поверхности одного
видеомонитора и экрана другого видеомонитора
должно быть не менее 2 м, а расстояние
между боковыми поверхностями видеомониторов
- не менее 1,2 м;
- чтобы освещение
не создавало слепящих бликов на клавиатуре
и других устройствах ввода командной
информации, компьютер должен быть расположен
так, чтобы прямой свет не попадал на экран,
иначе при работе с монитором будут быстро
уставать глаза. Операторы не должны сидеть
лицом к окнам;
- верхний край
экрана следует располагать на уровне
глаз или чуть ниже;
- оптимальное
расстояние от глаз до экрана 600-700 мм, но
не ближе 500 мм;
- высота клавиатуры
должна быть отрегулирована так, чтобы
кисти рук держались прямо (возможно применение
подставок для кистей рук);
- с целью снижения
статического напряжения мышц шейно-плечевой
области и спины для предупреждения развития
утомления необходимо, чтобы рабочий стул
(кресло) позволял изменять позу, был подъемно-поворотным
и регулируемым по высоте и углам наклона
сидения и спинки от переднего сидения;
- кабели компьютера
должны располагаться так, чтобы их нельзя
было повредить неосторожным движением;
- для предотвращения
образования и защиты от статического
электричества, в помещении, где установлен
компьютер, необходимо применять нейтрализаторы
и увлажнители. Должна быть эффективная
вентиляция и поддерживаться относительная
влажность воздуха на уровне 40-60% (можно
разместить вблизи компьютера цветы или
аквариум).