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

Решение транспортной задачи алгоритмом Басакера - Гоуэна

Работа добавлена на сайт samzan.net: 2016-03-13

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

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

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

от 25%

Подписываем

договор

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

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

Лабораторная работа

Решение транспортной задачи алгоритмом Басакера - Гоуэна

Транспортные задачи

Транспортные модели (задачи) - специальный класс задач линейного программирования. Эти модели часто описывают перемещение (перевозку) какого-либо товара из пункта отправления (исходный пункт, например место производства) в пункт назначения (склад, магазин, грузохранилище). Назначение транспортной задачи - определить объем перевозок из пунктов отправления в пункты назначения с минимальной суммарной стоимостью перевозок. При этом должны учитываться ограничения, налагаемые на объемы грузов, имеющихся в пунктах отправления (предложение), и ограничения, учитывающие потребность грузов в пунктах назначения (спрос).

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

Введем для начала понятие сети. Сеть  состоит из множества узлов -  (называемых также вершинами или точками соединения) и множества дуг  (называемых также звеньями, или ребрами), которые связывают эти узлы. Для изображения узлов и дуг используются соответственно кружки и линии. Будем использовать символ  для обозначения узла  и символ  для обозначения дуги, ведущей из  в . Последовательность узлов и дуг сети  называется цепью, ведущей из узла , в узел . Если , то такая последовательность называется циклом.

На рисунке 1 показано общее представление транспортной задачи в виде сети с  пунктами отправления и  пунктами назначения, которые показаны в виде узлов сети. Дуги, соединяющие узлы сети, соответствуют маршрутам, связывающим пункты отправления и назначения. С дугой , соединяющей пункт отправления  с пунктом назначения , соотносятся два вида данных: стоимость  перевозки единицы груза из пункта  в пункт  и количество перевозимого груза . Объем грузов в пункте отправления  равен , а объем грузов в пункте назначения  - . Задача состоит в определении неизвестных величин , минимизирующих суммарные транспортные расходы и удовлетворяющих ограничениям, налагаемым на объемы грузов в пунктах отправления (предложение) и пунктах назначения (спрос).

Рисунок  - Представление транспортной задачи

Сведение транспортной задачи к задаче о потоке минимальной стоимости

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

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

Эту задачу можно рассматривать как задачу нахождения потока, имеющего заданную величину и обладающего минимальной стоимостью в сети, изображенной на рисунке 2. (Упорядоченная пара чисел, приписанная каждой дуге, представляет пропускную способность дуги и единичную стоимость перевозок). Если перевозки из некоторых пунктов  в некоторые пункты  не разрешаются, то соответствующие дуги в сети просто опускаются. Таким образом, решая задачу о потоке в сети, мы получим план, позволяющий перевезти заданное количество товара при минимальной стоимости.

Рисунок - Транспортная задача в сетевой постановке

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

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

                               (1)

,

для всех .                                       (2)

Здесь первая сумма берется по дугам, ведущим в узел , а вторая сумма - по дугам, ведущим из узла .

Неотрицательное число , фигурирующее в (1), называется величиной потока. Число  называется потоком по дуге , или дуговым потоком.

Заметим, что ограничения (1) выражают тот факт, что в каждый узел (кроме источника и стока) приходит столько потока, сколько из него выходит (условие сохранения). Ограничение (2) означает, что поток  по дуге ограничен пропускной способностью дуги .

Поиск потока минимальной стоимости

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

Формально задача ставится следующим образом:

минимизировать

при условиях

при всех .

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

Рассмотрим алгоритм поиска потока минимальной стоимости, предложенный Басакером и Гоуэном.

Алгоритм Басакера - Гоуэна имеет следующий вид:

Шаг 0. Положить все дуговые потоки и величину потока равными пулю.

.

Шаг 1. Определить модифицированные дуговые стоимости , зависящие от величины уже найденного потока, следующим образом:

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

Поиск кратчайшей цепи

В рассмотренном алгоритме поиска потока минимальной стоимости Басакера-Гоуэна на шаге 2 необходимо найти кратчайшую цепь, то есть цепь минимальной стоимости, из источника в сток, используя модифицированные дуговые стоимости.

Рассмотрим задачу нахождения кратчайшей цепи между двумя заданными узлами.

Задача о кратчайшем пути (ЗКП) между фиксированными узлами формулируется следующим образом: в заданной сети  с двумя выделенными узлами  и  найти кратчайший -путь.

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

Для поиска кратчайшей цепи будем использовать алгоритм Форда - Беллмана. Основная идея данного алгоритма заключается в поэтапном вычислении кратчайших расстояний. Обозначим через  длину кратчайшего среди всех -путей, содержащих не более чем  дуг. Заметим, что справедливы следующие неравенства:

.

Поскольку по предположению в сети нет отрицательных циклов, кратчайший -путь не может содержать более чем  дуг. Поэтому величина  дает искомое расстояние от  до . Для вычисления  достаточно последовательно вычислять  для всех .

Значения  вычисляются просто:

для всех .

Пусть значения  вычислены для всех , тогда получим формулу для расчета :

.

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

Тогда алгоритм Форда – Беллмана может быть представлен следующим образом:

Шаг 0. По данной матрице весов дуг  положить ,  для всех узлов .

Шаг 1. Произвести пересчет значений  для всех узлов  по формуле:

                     (3)

Если , тогда .

Повторить шаг 1  раз.


Решение транспортных задач алгоритмом Басакера – Гоуэна

Для решения транспортной задачи алгоритмом Басакера - Гоуэна будем использовать программу «T-zadacha». В программе берется транспортная задача в сетевой постановке и решается как задача поиска потока минимальной стоимости алгоритмом Басакера - Гоуэна.

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

Рассмотрим решение транспортной задачи с помощью программы.

Задача:

Дана транспортная задача в сетевой постановке, представленная на рисунке 3, где каждой дуге сопоставлено два числа: первое число – пропускная способность дуги, второе – ее дуговая стоимость. Имеется 4 пункта отправления (узлы 1, 2, 3, 4) и 2 пункта назначения (узлы 5, 6).

Рисунок

Даны матрица пропускных способностей -  и матрица дуговых стоимостей - :

,  

Необходимо найти план перевозок (поток) величины 8, обладающий минимальной стоимостью.

Решение:

1. Запускаем программу «T-zadacha». Первоначальное окно программы имеет вид:

Рисунок

2. Вводим количество узлов – 8, количество дуг – 14 и величину потока (план перевозок) – 8. Далее нажимаем на кнопку «OK», и окно программы принимает следующий вид:

Рисунок

3. Вводим матрицу пропускных способностей и нажимаем на кнопку «Заполнить», расположенную под ней. Окно программы принимает вид:

Рисунок

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

После заполнения матрицы дуговых стоимостей, нажать на кнопку «Заполнить», расположенную под ней, тогда окно программы примет вид:

Рисунок

Таким образом, все входные данные заполнены, и можно приступить к решению задачи.

4. Нажать на кнопку «Решить задачу». Открылось результативное окно программы:

Рисунок

Получили решение задачи, представленное матрицей дуговых потоков и суммарной стоимостью потока (плана перевозок), равной 52.

Полученный поток можно изобразить в виде сети:

Рисунок


Варианты для выполнения лабораторной работы

Вариант № 1

Дана транспортная задача в сетевой постановке:

Даны матрицы пропускных способностей и дуговых стоимостей:

,  

Необходимо найти план перевозок (поток) величины 12, обладающий минимальной стоимостью.

Вариант № 2

Дана транспортная задача в сетевой постановке:

Даны матрицы пропускных способностей и дуговых стоимостей:

,  

Необходимо найти план перевозок (поток) величины 8, обладающий минимальной стоимостью.

Вариант № 3

Дана транспортная задача в сетевой постановке:

Даны матрицы пропускных способностей и дуговых стоимостей:

,  

Необходимо найти план перевозок (поток) величины 16, обладающий минимальной стоимостью.

Вариант № 4

Дана транспортная задача в сетевой постановке:

Даны матрицы пропускных способностей и дуговых стоимостей:

,  

Необходимо найти план перевозок (поток) величины 20, обладающий минимальной стоимостью.

Вариант № 5

Дана транспортная задача в сетевой постановке:

Даны матрицы пропускных способностей и дуговых стоимостей:

,  

Необходимо найти план перевозок (поток) величины 24, обладающий минимальной стоимостью.

PAGE  17




1. Открытые врата среди участников которой были откликнувшиеся на книгу
2. Реферат Объектом исследования является сферическая оболочка заданной толщины с переменным коэффициенто
3. Object position or direction with the time psses reltive to nother object or fixed point known s frme of reference
4. ЕВГЕНИЙ ОНЕГИН И ТВОРЧЕСКАЯ ЭВОЛЮЦИЯ ПУШКИНА Андрей Немзер Предисловие к первому изданию первой главы
5. Влияние органических кислот цикла Кребса на образование триоз в листьях ячменя
6. термическая схема
7. Реферат- Сутність, сучасний стан та перспективи розвитку митно-тарифних відносин
8. Многоклеточные паразиты простейших.html
9. і Місце дисципліни в системі професійно орієнтованих дисциплін
10. конспект лекций Реферат Невербальные формы коммуникации- функции структура правила формы национальны