У вас вопросы?
У нас ответы:) SamZan.net

Реферат Программа OptTrns Цель работы ~ изучение транспортной задачи с последующим написание

Работа добавлена на сайт samzan.net: 2015-07-05

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 1.7.2025

8

Федеральное Агенство по Образованию

ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ

УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ (ТУСУР)

КАФЕДРА КОМПЛЕКСНОЙ ИНФОРМАЦИОННОЙ БЕЗОПАСНОСТИ ЭЛЕКТРОННЫХ ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ (КИБЭВС)

«Транспортная задача»

2010


Реферат

Программа «OptTrans»

     Цель работы – изучение транспортной задачи, с последующим написанием программы «OptTrans», которая наглядно представляет решение транспортной задачи. Данная программа может использоваться в процессе изучения по дисциплине «Методы программирования».

     В результате проведенной работы был создан программный продукт, реализующий все заданные требования указанные в техническом задании.

     Программа разработана на языке Borland С++ Builder (version 6.0). Выбор обусловлен тем, что данный язык наиболее распространен среди разработчиков программного обеспечения, а визуальная среда позволяет сделать программу проще для понимания пользователем.

     Отчёт выполнен в текстовом редакторе Microsoft Word, и приложен на дискете к бумажному варианту вместе с исходным кодом и руководствами пользователя и программиста.


СОДЕРЖАНИЕ

  1.  Введение………………………………………………………….…………14
  2.  Основная часть…………………………………………………….………..15
  3.   Алгоритмы использованные в программе………………….…….……..15
  4.   Принцип работы алгоритмов…………………………………….………15

 2.3 Описание технического проекта…………………………………………18

  1.  Структура программы…………………………………………….….……..18
  2.  Оценка рисков………………………………………………………..……...19
  3.  Результаты Тестирование……………………..…………………..………...22
  4.  Заключение …………………………………………………………..………30
  5.  Список используемой литературы………………………………..….……..31

Приложение А  Руководство пользователя…………………………....………32

Приложение Б   Руководство программиста…….…………………..…..…….34


1. Введение

    Создать наглядное решение транспортной задачи. Программа ««OptTrans» предполагает реализацию метода потенциалов решения транспортной задачи на языке Borland С++ Builder. Алгоритмы, которые предполагается реализовать в данном проекте, можно использовать в обучающем процессе по дисциплине «Методы программирования», «Методы оптимизации».

В результате были разработаны процедуры, реализующие следующие функции:

  1.  Генерация исходных данных (GenDan);
  2.  Составление опорного плана (OPRplan);
  3.  Составление оптимального плана (OPTplan)

2. Основная часть     

  2.1 Алгоритмы, используемые в работе

  1.  GenDan;
  2.  OPRplant;
  3.  OPTplant.

2.2 Принцип работы алгоритмов

GenDan 

 Матрица штрафов:

Задается цикл для обхода всех клеток матрици. При помощи библиотечной функии random,  ячейкам случайным образом задаются значения 0-10.

Объмы складов и заводов:

Задается цикл для обхода всех клеток массива. При помощи библиотечной функии random,  ячейкам случайным образом задаются значения 1-100.

 

OPRplant 

Выбирается клетка с координатой [1][1], и для неё анализируются объемы складов и производства. Результирующее значение имеет меньший параметр. Далее движемся либо вниз, либо вправо и анализируем следующую клетку. Очередная загружаемая коммуникация выбирается в левой верхней клетке сохраненной части таблицы, т.е. в северо-западном углу таблицы. Математически это выражается следующим образом:

, I – множество номеров пунктов производства;

, J – множество номеров пунктов потребления;

OPTplant 

Для наглядности работы процедуры приведем пример:

1) для каждой занятой клетки транспортной таблицы сумма потенциалов должна быть равна для этой клетки;

2) для каждой незанятой клетки сумма потенциалов не больше (меньше или равно) .

Построим для каждой свободной переменной плана числа и они должны быть положительны. Так как число потенциалов равно 9, а система состоит из 8 уравнений, то для нахождения какого-либо решения этой системы необходимо первому из потенциалов придать произвольное значение (например: ). Далее последовательно находим значения всех потенциалов. Распишем подробно эту процедуру.

  

 

  

  

      Заводы         Склады

Заводы 1

Заводы 2

Заводы 3

Заводы 4

Заводы 5

5

18

17

22

8

Склад 1

15

15

Склад 2

20

17

3

Склад 3

10

2

8

Склад 4

25

5

18

2

Таким образом, после того, как все потенциалы найдены, можно искать :

  

  

  

  

 

 

Видно, что и меньше нуля, значит существующий опорный план можно улучшить. Поскольку , нужно ввести в базис вектор, соответствующий клетке (2; 1), для чего загрузить ее некоторым количеством единиц груза. Но, так как мы, увеличивая загрузку (2; 1), нарушаем баланс строк и столбцов распределительной таблицы, то следует изменить объемы поставок в ряде других занятых клеток. А чтобы число базисных переменных осталось прежним, необходимо вывести из базиса одну переменную. Выводится обычно та переменная, у которой загрузка в цикле минимальна.

Строим цикл:

(2; 1) – начальная точка цикла;

Что характерно, для этой точки (впрочем как и для других) мы можем построить только один цикл. Каждой клетке цикла приписываем определенный знак:

(2; 1) – “+”, (4; 1) – “-”, (4; 4) – “+” (2; 4) – “-”.

+

+

-

-

      Заводы                                         

Склады

Завод 1

Завод 2

Завод 3

Завод 4

Завод 5

5

18

17

22

8

Склад 1

15

15

Склад 2

20

17

3

Склад 3

10

2

8

Склад 4

25

5

18

2

В клетках с “+” – увеличиваем загрузку, а в клетках с “-” – уменьшаем. Величина, на которую увеличиваем или уменьшаем всегда одна и она определяется из условия:

, где – содержимое клеток с “-”.

Таким образом получаем:

, а значит из базиса будет выведена (2; 4), где в процессе реализации цикла загрузка уменьшится до 0.

Перейдем к новому опорному плану

     Заводы        

Склады

Завод 1

Завод 2

Завод 3

Завод 4

Завод 5

5

18

17

22

8

Склад 1

15

15

Склад 2

20

3

17

Склад 3

10

2

8

Склад 4

25

2

18

5

  

 

  

  

Определяем

  

  

  

  

 

 

Все больше 0, следовательно план оптимальный.

.

Целевая функция при этом плане:

2.3 Описание технического проекта:

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

  1.  Должны реализовываться алгоритмы:
  2.  GenDan;
  3.  OPRplant;
  4.  OPTplant.

  1.  Программный продукт должен быть прост для освоения и применения. Для этого:
  2.  Должен быть простой и понятный интерфейс программы;
  3.  Нужны конкретные и понятные инструкции пользователя и программиста.
  4.  Интерфейсная часть

Для реализации решения необходим набор следующих сервисов и технологий:

  1.  Компьютер с необходимыми системными требованиями, необходимыми для программной среды Borland С++ Builder.
  2.  Программная среда Borland С++ Builder, в которой и будет выполнен данный программный продукт.
  3.  Литература, необходимая для обеспечения проектной группы информацией.
  4.  Бумажные, а также дисковые носители, на которых заказчику будут предоставляться результаты работы над проектом.

3. Структура программы 

Исполняемый файл project.exe использует в процессе выполнения следующие  данные:

  1.  Матрица штрафов;
  2.  Количество товаров на заводах и складах;




1. направленное упорядоченное движение электрических зарядов
2. Оценка конкурентоспособности товара
3. Закаливание организма
4. Великий київський князь Володимир Мономах
5. Медицинская служба гражданской обороны
6. Пошив фартука на уроке труда
7. ОМСКИЙ ГОСУДАРСТВЕННЫЙ ПЕДАГОГИЧЕСКИЙ УНИВЕРСИТЕТ ФГБОУ ВПО ОмГПУ факультет начального дошкольно
8. 1Древнейший или царский период Римской цивилизации 9 1
9. Основы менеджмента и предназначены для проведения лабораторных работ по данной дисциплине.
10.  Военнослужащие и члены их семей как объект социальной работы Социальноправовой статус военнослужащи