федеральное агентство по образованию
фгоу спо астраханский колледж вычислительной техники
Введение
В рамках теории исследования операций рассматривается большое количество практических задач, которые можно сформулировать решить с помощью транспортных задач. Наряду с задачами транспортировки грузов модель транспортной задачи находит широкое применение в различных видах экономической деятельности. Целый ряд линейного программирования, базирующихся на модели транспортной задачи, не имеют ничего общего с транспортировкой груза. Поэтому в зависимости от конкретной задачи величины и переменные могут иметь различный экономический смысл.
Решение транспортной задачи разбивается на три этапа.
-Проверка сбалансированности и построение математической модели.
-Определение базисного решения методом северо-западного угла по формуле
Xij=min{ai,bj}
или минимального элемента
-Определение оптимального решения методом потенциалов.
Шаг 1
Каждому поставщику поставить в соответствии число ui(i=1..m),каждому потребителю vj(j=1..n). для каждой заполненной клетки составим уравнение ui+vj=cij получаем m+n-1 уравнений с m+n неизвестными. Для определения частного решения любому потенциалу присваивается произвольное значение u1=0
Шаг 2
Для каждой не заполненной переменной подсчитываются косвенные тарифы cij=ui+vj
Шаг 3
Для каждой не заполненной клетки вычисляются разности c'ij-cij если все разности меньше или равно 0 то решение является оптимальным и можно прекратить решение, если есть больше 0 то выбирается клетка с MAX положительной разностью, которая выводится из базиса т.е. осуществляется переход к новому решению.
Шаг 4
Для выбранной небазисной переменной строится замкнутый путь состоящий из
-выбранная переменная
-три базисные переменные
Шаг 5
В каждой клетке пути начиная с выбранной проставляются знаки + и - поочередно. Выбирается минимальная величина с отрицательным знаком. Выбранная величина приближенная к клетки со знаком + и вычитается из клетки со знаком минус. Новые переменные заносятся в новую таблицу и переходим к Шагу 1.
1. ОБЩИЙ РАЗДЕЛ
интерфейс критический сетевой график
1.1 Цель разработки
Получить практические навыки по разработке курсовой работы.
Повторить правила построения сетевых графиков; расчет временных параметров событий и работ, определение критического пути.
Разработать программный продукт.
Повторить правила оформления документации в соответствии с ГОСТ-ом.
1.2 Характеристика математических методов
Постановка задачи.
Пусть имеется m-поставщиков А1,А2,Аm однородного грузов количестве а1,а2,am и n-потребителей, данного груза в количестве b1,b2, bn известны стоимость перевозок от i-поставщика кj-потребителю Cij. Требуется создать такой план выпуска продукции, чтобы транспортные расходы были минимальными. В конкретном случае возможны 3 ситуации:
- Количество груза у всех поставщиков равно потребности в данном грузе всех потребителей (1)
a1+a2+am=b1+b2+bn (1)
или
Задача является сбалансированной модель его закрытая.
- Количество груза у всех поставщиков больше потребностей в грузе всех потребителей. Задача не сбалансированная, модель открытая. Для балансировки задачи вводится фиктивный потребитель.(1.1)
, (1.1)
-Количество грузов у поставщиков меньше потребности в грузе потребителей. Задача сбалансированная, модель открытая.(1.2)
, (1.2)
Решение транспортной задачи разбивается на три этапа.
-Проверка сбалансированности и построение математической модели.
-Определение базисного решения методом северо-западного угла по формуле (2)
Xij=min{ai,bj},(2)
или минимального элемента
-Определение оптимального решения методом потенциалов.
Шаг 1
Каждому поставщику поставить в соответствии число ui(i=1..m),каждому потребителю vj(j=1..n). для каждой заполненной клетки составим уравнение ui+vj=cij получаем m+n-1 уравнений с m+n неизвестными. Для определения частного решения любому потенциалу присваивается произвольное значение u1=0
Шаг 2
Для каждой не заполненной переменной подсчитываются косвенные тарифы cij=ui+vj
Шаг 3
Для каждой не заполненной клетки вычисляются разности c'ij-cij если все разности меньше или равно 0 то решение является оптимальным и можно прекратить решение, если есть больше 0 то выбирается клетка с MAX положительной разностью, которая выводится из базиса т.е. осуществляется переход к новому решению.
Шаг 4
Для выбранной небазисной переменной строится замкнутый путь состоящий из
-выбранная переменная
-три базисные переменные
Шаг 5
В каждой клетке пути начиная с выбранной проставляются знаки + и - поочередно. Выбирается минимальная величина с отрицательным знаком. Выбранная величина приближенная к клетки со знаком + и вычитается из клетки со знаком минус. Новые переменные заносятся в новую таблицу и переходим к Шагу 1.
1.3 Описание инструментальных средств
Электронные таблицы Excel используются для обработки цифровых данных по заданным формулам, а так же для автоматизации учета и разного рода отчетности. Документ Excel состоит из рабочего листа. Рабочий лист из строк и столбцов. Места пересечения столбцов и строк образует ячейки, в которых хранятся данные. Данные могут представлять собой текст, числа или формулы. Каждая ячейка имеет уникальный адрес, который состоит из названия столбца и строки, а также из имени рабочего листа (Адрес «Лист1!А2» т.е. ячейка располагается по адресу рабочий лист «Лист1», столбец «А», строка «2»). Данные всегда вводятся в ячейки. Ячейку можно сделать активной щелкнув на не курсором мышки, или прописать в поле имени. Теперь с этой ячейкой можно работать. Формулы могут включать в себя компоненты различных типов:
- Постоянные - фиксированные значения (12; 56);
- Ссылки на ячейки - адрес ячейки (А2; В9);
- Имена - используются как ссылка на ячейки и являются уникальные;
- Операторы используются для связи отдельных компонентов формул(+;-;*;/;^;%;(;));
- Функции - обозначаются определенными в Excel по умолчанию словами. Функции выполняют более или менее сложные вычисления (СУММ; СРЗНАЧ и т.д).
Компоненты, использование которых допускается в формулах, могут сочетаться в соответствии с правилами построения формул. Для того что бы ввести формулу нужно:
- Выделить ячейку, в которой требуется ввести формулу;
- Нажать клавишу «=»;
- Ввести константу или ссылку на ячейку (а3 или указать ячейку при помощи мышки);
- Ввести оператор, то есть математический знак;
- Ввести другую константу или ссылку на ячейку;
- Продолжать процедуру до тех пор, пока формула не будет полностью записана;
- Завершите ввод, нажав клавишу «Enter».
1.4 Обоснование среды программирования
Система Delphi7 использует технологию визуального программирования и предназначена для разработки приложений «под Windows». Без этой системы программирование достаточно сложно и кропотливо, требует большого умения, изобретательности, творческого потенциала и выдержки. Delphi могут использовать программисты со среднем уровнем подготовки, основательно знающие Pascal - язык программирования высокого уровня.
Среда визуального программирования реализует новую концепцию создания приложений, позволяя увидеть объекты на экране монитора до выполнения программы, в процесс разработки ее интерфейса. Без применения технологии визуального программирования процесс отображения требует написания и отладки достаточно сложного кода для создания и настройки объектов, а просмотр созданных объектов возможен только при выполнении программы.
Объектно-ориентированное визуальное программирование в Delphi выводит разработку приложений на новую ступень развития программирования. Она относится к системам быстрой разработки приложений (RAD - Rapid Application Development). При разработке интерфейса пользователя в Delphi традиционные структурные методы уступают место итерационным подходам, выполненным в интерактивном режиме Delphi. Это быстро развивающаяся система. В процессе ее развития были выпущены версии от Delphi до Delphi7. Каждая следующая версия дополняла предыдущую и повышала требования к ресурсам ПК. На ПК с ограниченными ресурсами целесообразно использовать более ранние версии системы. Новые версии Delphi требуют все больший объем дисковой памяти. Растут размеры выполняемых модулей приложений.
Все версии Delphi совместимы снизу вверх, т.е. все приложения, разработанные для более ранних версий, работают без изменения в более поздних версиях Delphi (кроме некоторых приложений для работы с базами данных). При разработке более поздних версий система Delphi дополнена средствами для работы с серверами Access'97, CORBA, MicroSoft Transaction Server (MTS), с технологией OLE, серверами COM Windows. Все они доступны, начиная с Delphi5. Большинство версий выпускается в нескольких вариантах: Standard (стандартный), Professional (профессиональный), Client/Server (клиент/сервер), Enterprise (для разработки мощных баз данных). Библиотеки компонентов более поздних версий дополняются новыми компонентами.
Delphi использует язык Object Pascal в среде визуальной разработки. Компиляторы с языка семейства Паскаль фирмы Borland - один из самых быстрых компиляторов. Приложения Delphi могут использовать и на других языках: С++ и ассемблере.
Одна из главных задач Delphi - разработка приложений для работы с базами данных. В Delphi можно работать с различными СУБД (системами управления базами данных).
Объекты в Delphi - это элементы, из которых строится приложение: форма, рамка, кнопка, метка и пр. Объектом является и включаемый визуальный компонент (например, кнопка) в том виде, как он представлен во время помещения его на форму и во время выполнения программы. Объекты изображаются на экране до выполнения самой программы. Поэтому программирование в Delphi - визуальное.
Основным окном разрабатываемого приложения является форма. В процессе разработки приложения при размещении объекта на форме (например, кнопки) в визуальной среде основные параметры объекта (размер, положение на экране, цвет и пр.) сразу отображаются в виде реального компонента на форме, а соответствующий ему код на языке Object Pascal автоматически записывается в исходный файл формы, который отображает объект в процессе выполнения программы. Затем этот исходный код компилируется в исполняемый машинный код, который выполняется быстрее, чем интерпретируемый код других визуальных сред разработки.
Не весь код программы, написанной для Delphi, находится в приложении Delphi. Небольшая его часть фактически является частью Windows. Например, коды для стандартных окон диалога и кнопок полностью получены от Windows. Delphi просто использует их, выполняя соответствующие вызовы из Windows.
Программный код, который пишет программист в Delphi, будет обеспечивать реакцию на события. Delphi работает с событиями путем вызова определенных процедур - обработчиков (Handler) событий. Если процедура не связана с данным событием, то оно игнорируется и выполняется стандартная реакция системы или не производится никакого действия. Для выполнения реакции на событие Delphi ищет метод, например btnOKClick, имя которого состоит из имени объекта, вызвавшего событие (например, btnOK - имя кнопки), и имени события (например, Click).
Интегрированная среда разработчика Delphi - это система, которая имеет все, необходимое для проектирования, запуска и тестирования приложений. Она представляет собою многооконную систему. Вид ее может изменяться в зависимости от настройки. После загрузки интерфейс Delphi7 имеет вид, представленный на рисунке, и имеет 4 основных окна с заголовками:
1) главное окно (Delphi7 - Project1);
2) инспектор объектов (окно Object Inspector);
3) конструктор форм (окно формы - Form1);
4) редактор кода (окно Code).
Главное окно занимает верхнюю часть экрана. В нем расположены: строка заголовка, строка главного меню, панель инструментов и панель палитры компонентов. После загрузки Delphi заголовок главного окна: `Delphi7 - Project1'. Все основные команды разработки расположены в главном меню. Они позволяют выполнить действия над файлами проекта, модулей, форм.
Панель инструментов расположена в левой части главного окна и служит для более удобного и быстрого обращения к наиболее важным командам главного меню. Набор команд панели инструментов можно настроить с помощью команды Customize из всплывающего (контекстного) меню этой панели. На панели инструментов размещены 4 подпанели с кнопками с ярлычками подсказок: New Items (новые данные), Open file (открыть файл), Save (сохранить), Save All (сохранить как), Open Project (открыть проект), Add file to project (добавить файл из проекта), Remove file from project (исключить файл из проекта), Help contents (содержание помощи), View Unit (просмотр модулей), View Form (просмотр форм), Toggle Form\Unit (переход от формы к модулю и обратно), New Form (создать новую форму), Run(F9) (запустить приложение), Pause (приостановить выполнение приложения), Trace into (F7) (построчное выполнить), Step over (F8) (построчно выполнить, в том числе подпрограмму за одно нажатие F8).