Решение транспортной задачи

Определение оптимального плана перевозок однородного груза из k-пунктов отправления в m-пункты назначения. Описание алгоритма нахождения потока минимальной стоимости. Решение транспортной задачи вручную и в среде MathCad, сравнение полученных результатов.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 09.12.2010
Размер файла 773,6 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

ИНСТИТУТ ТРАНСПОРТА И СВЯЗИ

ФАКУЛЬТЕТ КОМПЬЮТЕРНЫХ НАУК И ЭЛЕКТРОНИКИ

Курсовая работа

Тема: "Решение транспортной задачи"

Выполнила: Долгополова Анастасия 4902BD

Рига

2010

Оглавление

1. Постановка задачи

2. Формулировка задачи

3. Теоретическое обоснование. Общие вопросы

4. Описание алгоритма нахождения потока минимальной стоимости

5. Решение индивидуального задания по шагам

6. Программа (Mathcad)

7. Исходные данные

8. Результат программы

9. Конечные результаты

Вывод

1. Постановка задачи

Математическая постановка задачи. Общая постановка транспортной задачи состоит в определении оптимального плана перевозок некоторого однородного груза k-пунктов отправления а12,…аi в m пунктов назначения b1,b2,…bj. При этом в качестве критерия оптимальности обычно берется либо минимальная стоимость всего груза, либо минимальное время его доставки. Данная транспортная задача была рассмотрена, где в качестве критерия оптимальности была взята минимальная стоимость перевозок все груза. Были введены следующие обозначения:

k - число поставщиков;

m - число потребителей;

i - индекс производителя i =1,к

j - индекс потребителя j = 1,m

а1 - возможности i-ro производителя

bj - спрос j-ro потребителя

сi,j - транспортные издержки (расходы) за доставку продукции от i к j.

xi,j - объемы перевозок от i к j.

Требуется составить план перевозок для которого:

1. все потребители удовлетворены

2. общие транспортные расходы минимальны

Требуется минимизировать функцию:

Ограничения по производству:

Общая сумма производимой продукции больше или равна спросу:

Следовательно ci,j тарифы перевозок единицы груза из i-го пункта отправления в j-й пункт назначения, через ai - запасы груза в i-м пункте отправления, через bj - потребности в грузе в j-м пункте назначения, а через хi,j - количество единиц груза, переводимого из i-го пункта определений в j-й пункт назначения. Тогда математическая постановка транспортной задачи состоит в определении минимального значения функции.

2. Формулировка задачи

Число производителей

k=3

а1=38

Объем производимой продукции

а2=45

а3=97

Число потребителей

m=4

b1=42

b2=35

Потребности потребителей:

b3=63

B4=15

Производители

Потребители

j=1

j=2

j=3

j=4

i=1

10

11

18

32

i=2

16

14

20

25

i=3

26

28

22

30

Рис. 1

На рисунке 1 представлен исходный граф, который иллюстрирует транспортную задачу. Для решения данной задачи требуется использовать стандартную форму фиксированного источника и стока. Каждый производитель связан с каждым потребителем. Источник не может иметь связи с потребителем, но зато каждый потребитель, в свою очередь, связан с фиктивным стоком. В обозначении дуги присутствует два параметра. Первый параметр указывает пропускную способность дуги, второй параметр показывает стоимость пересылки единицы потока на дуге. Так, например, из источника выходят дуги содержащие ограничения по пропускной способности, т.к. данная величина характеризует производительную возможность каждого поставщика, стоимость данной дуги равна нулю, т.к. источник - фиксированный элемент нашего графа. Такая же ситуация обстоит с дугами, которые втекают в сток. Дуги, которые выходят из i-ых вершин (производители) и входят j-ые вершины (потребители), т.е. соединяющие поставщика со складок, характеризуются тоже двумя параметрами. Только в этом случае, для данных дуг, в качестве первого параметра берется пропускная способность дуги равная бесконечности, а второй показатель - стоимость пересылки единицы потока.

3. Теоретическое обоснование. Общие вопросы

Сеть (транспортная сеть) - частный случай ориентированного графа. Транспортная сеть G=( V,E) - ориентированный граф, в котором каждое ребро имеет неотрицательную пропускную способность. Выделяются две вершины: источник v и сток u такие, что любая другая вершина сети лежит на пути из v в u. v - это единственная вершина (v - источник ), которая не содержит входящих дуг , а содержит только выходящие дуги. u - это единственная вершина (u - сток), которая не содержит выходящих дуг. Все остальные вершины - промежуточные вершины. Для любой промежуточной вершины существует путь из источника в сток. Сеть не содержит контуров. Если для сети указаны пропускные способности, то такая сеть называется транспортной сетью.

Поток - это определенная величина на дуге е. Поток в сети G=( V,E) - это функция f, заданная на дугах сети, значение на дуге е - это величина на дуге е. Для всех промежуточных вершин соответствует сумма величин потоков на дугах входящих в вершину w, которая равна выходящему из вершины потоку.

Величина потока в сети.

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

Поток минимальной стоимости - задача о потоке минимальной стоимости состоит в нахождении самого дешевого способа передачи определенного количества потока через транспортную сеть.

Обозначения:

Для всех дуг имеется пропускная способность:

Стоимость пересылки единицы потока по дуге e: C(e)

Накладываются следующие условия:

1. Ограничение пропускной способности . Поток не может превысить пропускную способность.

2. Антисимметричность: . Поток из u в v должен быть противоположен потоку из v в u.

4. Описание алгоритма нахождения потока минимальной стоимости

Вход: транспортная сеть G=( V,E)с пропускной способностью дуг B(e)

Выход: максимальный поток с минимальной стоимостью.

Идея: Каждая итерация ставит своей целью увеличить поток в сети. Для этих целей предназначен инкрементальный граф, который позволяет увеличить поток на некоторую фиксированную величину. Наличие прямых дуг позволяет увеличить поток на соответствующей дуге сети. Обратная дуга уменьшает поток. Алгоритм заканчивается когда в инкрементальном графе нет пути от источника к стоку.

Алгоритм:

Шаг 0

Данный шаг осуществляется только один раз. Вначале мы присваиваем всем дугам нулевой поток:

Шаг 1

Для текущего потока строится инкрементальный граф. Прямые дуги имеются, если поток на этой дуге меньше, чем пропускная способность:

Обратные дуги (дуги противоположны по отношению к ориентации прямых дуг) имеются, если на дугах имеется поток.

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

Назначаем длины дуг для инкрементального графа:

· Для прямой дуги: e:C(e)

· Для обратной дуги: e: - C(e)

Шаг 2

Нахождение кратчайшего пути в инкрементальном графе из источника v в сток u. Если такого пути нет, то происходит конец алгоритма. Найденный путь является максимальным.

Шаг 3

Нахождение минимального Д. Просматриваем дуги кратчайших путей в инкрементальном графе. Для каждой дуги определяем величину Д.

Для каждой прямой дуги:

Для каждой обратной дуги:

Величина, на которую можно увеличить поток. Находим минимальное значение на всех этих дугах.

Шаг 4

Наращивание потока в сети. Корректируем поток на дугах в соответствии последнего пути в инкрементальном графе.

На этих дугах, поток изменяется по правилам:

Для прямых дуг:

Для обратных дуг:

Алгоритм завершается, если заданная величина потока достигнута.

Переход к шагу 1.

5. Решение индивидуального задания по шагам

Рис. 2. Нулевой поток.

Рис.3. Инкрементальный граф

Рис. 4. Увеличения потока в сети

Рис.5. Инкрементальный граф

Рис. 6. Увеличение потока в сети

Рис.7. Инкрементальный граф

Рис. 8. Увеличение потока в сети

Рис.9. Инкрементальный граф

Рис. 10. Увеличение потока в сети

Рис.11. Инкрементальный граф

Рис. 12. Увеличение потока в сети

Рис.13. Инкрементальный граф

Рис. 14. Увеличение потока в сети

Рис. 15. Инкрементальный граф

Рис. 16. Увеличение потока в сети. Конец алгоритма.

6. Программа (Mathcad)

Исходные данные:

· Число вершин n=9

· Очень большое число q=?

· Заданная величина потока Givenflof =155

Пропускная способность дугСтоимость пересылки по дугам

Где, P - поток в сети; Tekflow - текущая величина потока, Givenflofw - заданная величина потока, Vect - величина на данной дуге, L -метки

7. Результаты программы

Величина потока

Стоимость потока

Price - стоимость

8. Конечный результат программы

Данная программа была решена двумя способами: в ручную и в среде MathCad. Результаты решения обеих вариантов совпадают, значит, можно сделать вывод о том, что поставленная транспортная задача, была решена, верно. По результатам вычислений, можно составить следующий план перевозок:

Рис. 17. Конечный результат

Потребитель b1 получает от поставщика a1 38 единиц товара

Потребитель b1 получает от поставщика a2 4 единиц товара

Потребитель b2 получает от поставщика a2 35 единиц товара

Потребитель b4 получает от поставщика a2 6 единиц товара

Потребитель b3 получает от поставщика a3 63 единиц товара

Потребитель b4 получает от поставщика a3 9 единиц товара

У поставщика а3 осталось 25 единиц товара не реализовано

Из выше перечисленного следует следующая реализация единиц ресурсов:

Поставщики (реализованные ресурсы)

Потребители, которые получают от соответствующего поставщика ресурсы

а1 - 100%

b1

а2 - 100%

b1, b2, b4

а3 - 74,22%

b3, b4

Из приведенной таблицы видно, что два первых поставщика (а1 и а2) полностью реализуют поставки выделенных ресурсов. У третьего поставщика (а3) в наличии еще 25,77% единиц не реализованной продукции.

Общая стоимость:

С() = 38*10 + 4*16 + 35*14 + 6*25 + 63*22 + 9*30 = 380 + 64 + 490 + 150 + 1386 + 270 = 2740

9. Вывод

По окончанию данной работы я могу сказать, что данная работа была для меня как интересной, так и полезной. Благодаря ней я лучше научилась разбираться в транспортных задачах, в потоках и сетях. Сама задача мне не показалась достаточно сложной, при ее выполнение особых проблем не возникало. Также в данном курсе нас познакомили с такой средой как MathCad. Одной из главных задач данной работы было решение и сравнение транспортной задачи вручную и в среде MathCad. Подводя итоги данной работы, я убедилась, что задача была решена, верно, так как решение совпадает. Но стоит сказать, что решение данной задачи вручную мне понравилось гораздо больше, так как здесь пришлось анализировать различные факторы при нахождении минимального пути. Я надеюсь, что данная работа помогла мне лучше разобраться в данной теме.


Подобные документы

  • Особенности решения транспортной задачи распределительным методом и анализ результатов. Построение математической модели, алгоритма. Создание программы для решения транспортной задачи распределительным методом в программной среде Borland Delphi 7.

    курсовая работа [1000,7 K], добавлен 23.06.2012

  • Создание и реализация алгоритма решения транспортной задачи методом наименьших стоимостей. Схема алгоритма основной программы. Основные шаги алгоритма решения транспортной задачи. Инструкция по эксплуатации программы и обзор результатов ее выполнения.

    курсовая работа [2,0 M], добавлен 12.02.2013

  • Основные этапы решения транспортной задачи, использование метода потенциалов. Алгоритм решения методом аппроксимации Фогеля. Процедура построения цикла. Планирование перевозок из конечного числа пунктов отправления в конечное число пунктов назначения.

    контрольная работа [32,6 K], добавлен 26.04.2011

  • Стандартная и каноническая форма записи задачи линейного программирования. Ее запись на листе MS Excel. Математическая модель транспортной задачи, состоящей в определении оптимального плана перевозок некоторого однородного груза, результаты ее решения.

    контрольная работа [1,1 M], добавлен 25.01.2016

  • Сущность и постановка транспортной задачи для n переменных, их виды, применение и пример решения в MS Excel. Управляющие структуры ветвления Maple языка (if предложение). Решение транспортной задачи в векторных координатах для двух и трёх матриц.

    дипломная работа [109,3 K], добавлен 12.01.2011

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

    курсовая работа [167,2 K], добавлен 16.01.2011

  • Расчеты по таблице перевозок грузов между отдельными регионами. Решение задачи управления процессами перевозок в среде Pascal. Решение задачи средствами MS Excel. Исходные данные и итоги по строкам и столбцам. Решение задачи средствами MATHCAD.

    курсовая работа [1,8 M], добавлен 25.03.2015

  • Решение задачи линейного программирования симплекс-методом: постановка задачи, построение экономико-математической модели. Решение транспортной задачи методом потенциалов: построение исходного опорного плана, определение его оптимального значения.

    контрольная работа [118,5 K], добавлен 11.04.2012

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

    курсовая работа [33,7 K], добавлен 20.11.2008

  • Оптимизация затрат на доставку продукции потребителям. Характеристика транспортной задачи, общий вид решения, обобщение; содержательная и математическая постановка задачи, решение с помощью программы MS Excel: листинг программы, анализ результатов.

    курсовая работа [514,8 K], добавлен 04.02.2011

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.