Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЭУМКД-МиМАПР / Electr_uchebnik_po_ТПР.doc
Скачиваний:
62
Добавлен:
12.03.2015
Размер:
2.64 Mб
Скачать

3.8. Транспортная задача линейного программирования (лп)

Постановка и основные свойства транспортной задачи

Транспортная задача (Т-задача) является одной из самых распространенных специальных задач ЛП. Частные постановки задачи рассмотрены рядом специалистов по транспорту, например, А. Н. Толстым[5].

Первая строгая постановка Т-задачи принадлежит Хичкоку, и поэтому в зарубежной литературе ее называют проблемой Хичкока.

Первый точный метод решения Т-задачи разработан советскими учеными Л. В. Канторовичем и М. К. Гавуриным.

ПОСТАНОВКА Т- задачи. Пусть в пунктах, , …, производят некоторый однородный продукт, причем объем производства в пунктесоставляетаi, единицi = 1, 2,…,m.

Допустим, что данный продукт потребляют в пунктах В1, …, , а объем потребления в пункте составляет единиц j =1, 2, .., …,n.

Предположим, что из каждого пункта производства возможна транспортировка продукта в любой пункт потребления. Транспортные издержки по перевозке из пункта в пункт единицы продукции равны(i = 1, 2, ...,m;j=1, 2, ...,n).

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

Условия Т-задачи удобнее представить в виде табл.1

Таблица 1

Пункты

потребления

Пункты

производства

c11

c12

c13

c1n

c21

c22

c23

c2n

cm1

cm2

cm3

cmn

Объем

Производства

Объем

потребления

Пусть xij – количество продукта, перевозимого из пунктав пункт . Требуется определить множество переменныххij≥ 0,i=1, 2, …,m;j= 1, 2,…, n, удовлетворяющих условиям

i=1, 2, …, m; (1.1)

j=1, 2, …, n,(1.2)

и таких, что целевая функция

(1.3)

достигает минимума.

Условие (1.1) гарантирует полный вывоз продукта из всех пунктов производства, а условие (1.2) означает полное удовлетворение спроса во всех пунктах потребления.

Т-задача представляет собой задачу ЛП с (m ×n) числом переменныхxiи (m +n) числом ограничений-равенств.

Переменные xij нумеруются с помощью двух индексов и потому набор {xij}, удовлетворяющий условиям (1.1) и (1.2), записывают в виде матрицы

. (1.4)

Матрицу Х называютпланом перевозокТ-задачи, а переменныеxij перевозками. ПланХопт, при котором целевая функция минимальна, называется оптимальным планом. МатрицаС =называется матрицей транспортных издержек.

Вектор Рij, компоненты которого строятся из коэффициентов при переменныхxij в ограничениях (1.1) и (1.2), называютвектором коммуникаций:

Рис. 3.1

Вводят также вектор производства потребления Р0, где

Тогда ограничения (1.1) и (1.2) можно записать в векторной форме

(1.5)

Графический способ задания условий Т-задачи показан на рис. 3.1.

Отрезок называюткоммуникацией. На всех коммуникациях составят величины перевозокxij.

Свойства транспортной задачи.

  1. Для разрешимости Т-задачи необходимо и достаточно, чтобы выполнялось условие баланса

(1.6)

иными словами, объем производства должен быть равен объему потребления.

  1. Ранг системы ограничений (1.1) и (1.2) равен r = m + n1.

Двойственная транспортная задача (-задача).Для Т-задачи, как и для любой задачи ЛП, существует двойственная к ней -задача.

Переменные -задача обозначимv1, v2 ,…,vn и (-u1), (-u2), …,(- um).

ТЕОРЕМА 3.1. Т-задача всегда имеет решение илиХопт =иWопт ={v1опт, v2опт, …, vnопт, - u1опт, - u2опт, …, - umопт} –оптимальные решении Т- и - задач соответственно, то

(1.7)

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

Переменные vjиuiназываютпотенциаламиAiиBjдля Т-задач.

Таким образом, теорема 3.1 утверждает, что при оптимальных решениях значения целевой функции прямой и двойственной Т-задачи равны между собой.

Справедливость теоремы следует из основной теоремы двойственности ЛП (теорема 2.5).

Сформулируем теперь необходимые и достаточные условия оптимальности плана Т-задачи.

ТЕОРЕМА 3.2. Для оптимальности плана Х0 Т-задачи необходимо и достаточно существования чисел v1, v2, ..., vn и (-u1), (-u2), ..., ..., (-um) таких, что

vj - ui ≤ cij, i=1, 2, ..., m; j= 1, 2, ..., n, (1.8)

при этом, если >0, то vjui = cij

Эта теорема дает достаточные условия оптимальности плана Х.

Справедливость этой теоремы вытекает из общих идей теории двойственности линейного программирования (в частности, теорем 2.5 и 2.7). Дадим экономическую интерпретацию условий теоремы 3.2.

Разность между потенциалами пунктов ВjиАi, т.е. величинуvjui , можно рассматривать как приращение ценности единицы продукции при перевозке из пунктаАiв пунктBj.

Поэтому если vj - uicij, то перевозка по коммуникации нерентабельна ихij=0.

Если vj - ui = cij, то такая перевозка рентабельна и >0 (см. теорему 2.7).

Транспортная задача с ограниченными пропускными способностямиd-задача). Важной в практическом отношении является Т-задача, в которой существуют ограничения на пропускные способностей коммуникаций.

Пусть dijпропускная способность коммуникации. Тогда

хijdij (1.9)

Тd-задача состоит в минимизации целевой функции (1.3) при условиях (1.1), (1.2) и (1.9).

Даже в случае разрешимости Т-задачи Тd-задача может оказаться неразрешимой, поскольку величины пропускных способностей будут недостаточны для полного вывоза продукта из пунктаAi (i=1, 2, ... ,m) и его полного вывоза в пунктBj (j=1, 2, ...,n). Поэтому для Тd-задача вводят еще два условия:

i=1, 2, …,m(1.10)

и

j=1, 2, …,n(1.11)

Но и при добавочных условиях (1.10) и (1.11) Тd-задача не всегда разрешима. Для установления совместимости всех условий строят любой план Тd-задачи. Если план построить удается, то система уравнений (1.1), (1.2), (1.9), (1.10) и (1.11) совместна. В противном случае Т-задача неразрешима.

ТЕОРЕМА 3.3. Для оптимальности плана Х0 Тd-задача необходимо и достаточно существование таких чисел v1, v2, ..., vn и (-u1), (-u2), (-um), при которых

vjuicij , если =0; (1.12)

vjui = cij , если 0< < dij ; (1.13)

vjuicij , если = dij ; (1.14)

Смысл условий оптимальности (3.1.12), (3.1.13) и (3.1.14) состоит в следующем. Если приращение стоимости продукта vjuiпри перевозке по коммуникации меньше транспортных расходовci (1.12), то такая перевозка убыточна, а потомуx0ij =0.

Если же приращение стоимости продукта vjui больше транспортных расходов cij(1.14), то эта перевозка прибыльна и ее величина в оптимальном плане должна быть максимальной, т.е. = dij.

Таким образом, теорема 3.3 по существу выражает принцип рентабельностидля Тd-задачи.

Открытые транспортные модели.Существует ряд практических задач, в которых условие балансане выполняется. Такие модели называютсяоткрытымиТ-моделями. Возможны два случая: 1); 2).

В первом случае полное удовлетворение спроса невозможно. Такую задачу можно привести к обычной Т-задаче следующим образом.

Обозначим через rjвеличину штрафа из-за неудовлетворения запросов на единицу продукта в пунктеBj.

Тогда требуется минимизировать суммарные затраты:

минимизировать (1.15)

при условиях

для всехi;j=1, …,n,

где неудовлетворенный спрос.

Задачу (1.15) приводят к обычной Т-задаче введением фиктивного пункта производства Ат+1 с объемом производстваи транспортными издержкамист+1, j = rj , j=1,…,n.

В таком случае Т-задача будет иметь вид:

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

при условиях

;.

В найденном решении Хопт полагаем все перевозки из фиктивного пунктаАт+1 равным нулю,, i=

Примеры задач, приводимых к транспортной модели

Задачи наилучшего распределения боевых средств (задачи целераспределения). Пусть имеется система обслуживания, состоящая изn типов различных приборов. ОбозначимNj (j= 1,...,n) – количество приборовj-го типа, тогда общее количество приборов

В систему обслуживания в определенные моменты времени прибывают заявки разных типов. Обозначим di(t) (i= 1, ..., m) – число заявокi-го типа, прибывших в систему в момент времениt.

Общее число заявок равно

.

Различные приборы имеют разную эффективность (производительность) при обслуживании соответствующих типов заявок. Обозначим матрицу эффективностей

M= ||μij ||i = 1, ...,m;j= 1, ...,n.

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

Обозначим хij (0 ≤ xij Nj ) – число приборовj-го типа, отведенных для обслуживания заявокi-го типа.

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

минимизировать (1.16)

при ограничениях

i = 1, ...,m;j=1, ...,n.

Полученная модель является моделью открытой Т-задачи.

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

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

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

alk– количество машин k-го типа в автохозяйстве l, где l=1, …, S; k= 1,…, r; cij - количество i-го груза, которое подлежит перевозке j-му потребителю (i=1,…, m j=1,…, n); dij- количество i-го груза, которое перевозят j-му потребителю (определяют по известной грузоподъемности машин); tijlk– время занятости одной машины k-го типа автохозяйства lпо перевозке i-го груза j-му потребителю.

Количество машин k-го типа из автохозяйства l, занятых перевозкой i-го груза j-му потребителю, обозначим xijlk.

Минимизировать (1.17)

при условиях

;l=1, …,S;k=1, …,r

и

;

Заменим пары индексов (i,j) и (l,k) соответственно индексами λ и μ по следующим формулам:

λ = i + m (j-1)иμ= l + S(k - 1)

Если индекс iпринимает все значения от 1 доm, а индексj– от 1 доn, то индекс λ принимает все целые значения от 1 доm*n. Аналогично при изменении значения индексаlот 1 доS, аk– то 1 доrиндекс μ принимает все значения от 1 доSr.

Введем для переменных следующие обозначения: xijlk =zλμ,tijlkλμ , alk = bμ , а для отношения.

В новых обозначениях задача (1.17) имеет такой вид:

минимизировать (1.18)

при условиях

;1, …,Sr;

; …,mn;.

Итак, это обычная Т-задача с размерностью mn×Sr.

По компонентам оптимального плана zλμвычисляют составляющие решения исходной задачиxijlkопт. При этом индексы iиjвычисляют следующим образом:

Аналогично вычисляют индексы lиkпо значениямμ.

Опорные планы транспортной задачи

Опорным планом Т-задачи называют любое ее допустимое базисное решение. Понятие опорного плана имеет наглядную геометрическую интерпретацию.

Последовательность коммуникаций

(1.19)

называют маршрутом, соединяющим пунктыи (рис 3.2).

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

Рис. 3.2.

Маршрут (1.19), к которому добавлена коммуникация , называется замкнутым маршрутом, или циклом.

Способ проверки произвольного плана Т-задачи на опорность основана на следующих теоремах (прямой и обратной).

ТЕОРЕМА 3.4.Система, составленная из векторов Рij Т-задачи, является линейно независимой тогда, и только тогда, когда из коммуникаций, соответствующих этим векторам, нельзя составить замкнутый маршрут.

ТЕОРЕМА 3.5 Вектор Рkl является линейной комбинацией векторов системы R тогда, и только тогда, когда из векторов этой системы можно составить маршрут, соединяющий пункты Ak и Вl. Если этот маршрут имеет вид

то

. (1.20)

Рассмотрим произвольную матрицу Хт×п. Между позициями матрицыХи векторамиРijможно установить следующее соответствие. ВекторРij соответствует элементу матрицыХна пересеченииi-й строчки иj-го столбца. Тогда можно создать произвольную систему из векторов { Рij}, выделив единицами соответствующие элементы матрицыХ. Рассмотрим матрицу на рис.3.3. здесь единицами отмечена система векторовR:

{P11, P21,P22,P32,P33,P43,P44,P54,P55,P56}.

1

2

3

4

5

6

i

j

1

+

1

1

1

2

1

1

3

1

1

4

1

1

1

5

Рис. 3.3.

При использовании матрицы Хкритерий проверки линейной независимости формулируется так:для линейной независимости системы векторов {Рij}необходимо и достаточно, чтобы из ненулевых элементов матрицы Х, отвечающих этим векторам, невозможно было составить замкнутый маршрут (цикл).

Так как из выделенных единицами позиций нельзя составить замкнутый маршрут, то данная система линейно независима и образует базис. (рис 3.3).

Введем вектор P16,отметив его знаком +. Чтобы разложить P16по векторам системыR, составим цепочку из выделенных элементов, которая замыкается на элементех16:

P16 = P11 - P21 + P22 - P32 + P33 - P43 + P44 - P54 + P56.

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

Метод вычеркивания позволяет выделить в произвольном плане ХТ-задачи замкнутую цепочку, если она существует.

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

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

Рис. 3.4.

В первом случае из элементов Sсоставить цикл невозможно. Во втором случае множество элементовSсодержит циклы из невычеркнутых элементовS.

На рис. 3.4 показаны два плана Т-задачи: неопорный и опорный. Номера линий указывают порядок вычеркивания. Звездочками отмечены элементы, которые вычеркнуть нельзя. Они образуют цикл.

Нахождение начальных опорных планов

Метод северо-западного угла используют для нахождения произвольного опорного плана Т-задачи. Основную идею метода рассмотри на конкретном примере.

Дана Т-задача с четырьмя пунктами производства {ai}= 1, 2, 3, 4 и потребителя {bj}= 5, 1, 2, 2. строим матрицу размером 4×4, причем для удобства вычислений снизу от нее выписываем неудовлетворенные потребности, а в столбцах справа – остатки невывезенного продукта (табл. 3.2).

Заполнение таблицы начнем с левого верхнего элемента x11, что и обусловило название - метод северо-западного угла. Сравнивa1= 1 иb1=5, выбираем меньшее из них и получимх11= 1. Так как выбор произведен по строке, то остальная часть первой строки должна быть заполнена нулями. Во вспомогательном столбце записываем остатки невывезенного продукта, а в вспомогательной строке – неудовлетворенные потребности после одного шага заполнения.

Таблица 2

1

0

0

0

1

0

0

0

0

0

Х=

2

0

0

0

2

2

0

0

0

0

2

1

0

0

3

3

3

1

0

0

0

0

2

2

4

4

4

4

4

2

5

1

2

2

4

1

2

2

2

1

2

2

0

1

2

2

0

0

2

2

0

0

0

2

Переходим ко второй строке и начинаем заполнение с элемента a21. Сравнивая)= 2 и= 4, выбираем меньшее из них, и потомух21= 2. остальную часть второй строки заполним нулями. Процесс заполнения далее продолжаем аналогично.

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

i=1, 2, 3, 4; j=1, 2, 3, 4.

Формальное описание алгоритма.

  1. Определяют верхний левый элемент матрицы Х:

х11=min(a1,b1).

Возможны три случая:

  1. если a1<b1, тох11=a1, и всю первую строку, начиная со второго элемента, заполняют нулями;

  2. если a1>b1, тох11=b1, а все оставшиеся элементы первого столбца заполняют нулями;

  3. если a1=b1, тох11=a1 =b1, и все оставшиеся элементы первых столбцов и строки заполняют нулями.

Находим

=a1-х11,

= b1-х11.

На этом один шаг метода заканчивается.

  1. Пусть уже проделано kшагов. (k+1)-й шаг состоит в следующем.

Определяют верхний левый элемент незаполненной части матрицы Х. пусть этот элемент

xλμ(λ+μ=k+2),

причем

хλμ=min{,}, (1.21)

где

и(1.22)

Если <, то заполняем нулямиλ-ю строку, начиная с (μ+1)-го элемента. В противном случае заполняем нулями оставшуюся частьμ-го столбца.

Далее вычисляем =-хλμ,= -хλμ..На этом (k+1)-й шаг заканчивается. Описанный процесс повторяется до тех пор, пока матрицаХне будет полностью определена (заполнена).

Метод минимального элементапозволяет построить начальный опорный план Т-задачи и является вариантом метода северо-западного угла, учитывающим специфику матрицыС= ||сij||.В отличии от метода северо-западного угла данный метод позволяет сразу получить достаточно экономичный план, сокращая общее количество итераций по его оптимизации.

Формальное описание метода.Элементы матрицыС нумеруют, начиная от минимального в порядке возрастания, а затем в этом же порядке заполняют матрицуХ0.

Пусть элементом с минимальным порядковым номером оказался элемент хij=min{ai,bj}.

Возможны три случая: а) если min{ai,bj} = аi, то оставшуюся частьi-й строки заполняем нулями; б) еслиmin{ai,bj} = bj, то оставшуюся частьj-го столбца заполняем нулями; в) еслиai=bj, то оставшуюся часть строки и столбца заполняем нулями.

Далее этот процесс повторяют с незаполненной частью матрицы.

Пусть элементом с k-м порядковым номером оказался .

Тогда =min{,},

где

,g=1, …, (k-1);

,l=1, …, (k-1).

Возможны три случая: а) <, тогда= и оставшуюся часть строки λ заполняем нулями; б)>, тогда = и оставшуюся часть столбца μ заполняем нулями; в) =, тогда оставшуюся часть строки λ и столбца μ заполняем нулями.

Метод потенциалов

Метод потенциалов позволяет, исходя из некоторого опорного плана перевозок, построить за конечное число итераций решение Т-задачи.

Общая схема метода такова. В данном начальном опорном плане каждому пункту ставят в соответствии некоторое число, называемое его предварительным потенциалом. Предварительные потенциалы выбирают так, чтобы их разность для любой пары пунктовАi и Bj,связанных основной коммуникацией, была равнаcij. Если окажется, что разность предварительных потенциалов для всех других коммуникаций не превосходит cij, то данный план перевозок – оптимальное решение задачи. В противном случае указывают способ улучшения опорного плана Т-задачи.

Описание алгоритма метода потенциалов. Алгоритм складывается из предварительного этапа и конечного числа однотипных итераций.

На предварительном этапе строят начальный опорный план Х0и составляют матрицу

С1= ||cij – ()|| m, n,

где ,– предварительные потенциалы пунктов Аi (i = 1, 2, ...,m) иBj(j= 1, 2, ...,n).

Предварительный этап.С помощью известного метода (например, метода северо-западного угла) определяют начальный опорный планХ0и вычисляют предварительные потенциалы ,.

Вычисление предварительных потенциалов производят так. По найденному плану Х0строят схему Т-задачи из основных коммуникаций плана. Далее образуют следующие множества:I1множество индексов всех пунктовBj, которые связаны с пунктом А1основными коммуникациями;I1множество индексов тех пунктов производства Аi, которые связаны основными коммуникациями с множествомI1; наконец, J2– множество индексов пунктов потребления, которые связаны основными коммуникациями с множествомI1и т.д. Образование таких множеств продолжают до тех пор, пока не получат пустое множество.

Поскольку на выполнение условий оптимальности плана оказывают влияние лишь разности vjui, то за начало отсчета (нуль) можно принять потенциал любого из пунктов (см. теорему 3.2).

Полагаем для определенности = 0 и вычислим систему потенциалов относительно А1. Тогда =+=, где j J1.

По значениям ( j J1) определяют потенциалы пунктов Аi(iI1):

=– сij ( jJ1 ; iI1)

Аналогично вычисляют потенциалы ( jJ2) и т. д. После того как потенциалы всех пунктов найдены, строят матрицу

C1 =.

Очевидно, позиции матрицы С1, отвечающие базисным элементам планаХ0, будут заняты нулями.

Если матрица С1на содержит отрицательных элементов, тоХ0– оптимальный план. В противном случае Х0– неоптимальный план, который может быть улучшен. Тогда переходят к выполнению однотипных итераций.

(k +1)-я итерация.Каждая итерация, кроме первой, где отсутствует первый этап, состоит из двух этапов. Предположим, что уже проведеноkитераций (k=1, 2, …), в результате которых получен планXkи матрицаСk.

Цель (k+1)-я итерации - построение матрицыСk+1, а также либо установление оптимальности плана Хk, либо нахождение более экономичного планаХk+1.

Первый этап.Вычислить матрицуСk+1.Преобразование матрицыСk в матрицуСk+1состоит в следующем. Выбирают наибольший по модулю отрицательный элемент матрицыСk. Пусть этот элемент= k (∆k < 0). Выделяют (вычеркивают) строку, в которой содержится элемент , а множество существенных элементов этой строки, не совпадающих с данным элементом, обозначаютG1. При этомXkсущественными элементами называют те элементы матрицы Сk, которые отвечают базисным перевозкам плана Хk.

Затем выделяют столбцы матрицы Сk,которые содержат элементы множестваG1. МножествоХk –существенных элементов, которые находятся в столбцах матрицыСkи отличны отG1 элементов множества, обозначаютG2.

Процесс выделения продолжают до тех пор, пока очередное множество не окажется пустым. Поскольку каждая строка и столбец не могут быть выделены дважды, то весь процесс заканчивается заl = m+ n – 1шагов.

Далее строят матрицу Сk+1. Для этого величинуприбавляют ко всем выделенным строкам и вычитают из всех выделенных столбцов матрицыСk.При этом все выделенныеХk –существенные элементы матрицыСk остаются быть равными нулю, а кроме того, в нуль превращается элемент.

Если все элементы матрицы Сk+1 окажутся неотрицательными, тоХk– оптимальный план, и на этом процесс заканчивается. В противном случае переходят ко второму этапу.

Второй этап.Производят улучшение планаХk. Выбирают наибольший по модулю отрицательный элемент матрицыСk+1. Пусть этот элемент . Затем составляют, применив, например, метод вычеркивания цепочку из положительных элементов плана Хk, которая замыкается на.

После того как цепочка построена, в ней находят минимальный нечетный по порядку следования элемент

Прибавляют ко всем четным элементам цепочки и к элементуи вычитаютиз всех нечетных элементов. Остальные элементыХkоставляют без изменения.

Новый план Хk+1построен.Он является опорным, так как число его ненулевых перевозок не изменилось.

Пусть Lk - величина транспортных издержек, отвечающих плануХk. Тогда новое значение целевой функции, отвечающее плануХk+1,находят по соотношению

. (2.1)

Так как θk+1>0 и ∆k+1<0, тоLk+1 < Lk. ПоэтомуХk+1является улучшенным опорным планом.

Затем производят аналогично (k+2)-ю итерацию.

Связь метода потенциалов с симплекс-методом.Пусть- некоторый опорный план Т-задачи. Множество, состоящее из базисных векторовPij, которые отвечают основным коммуникациям планаХ, обозначимКх, т.е.Кх состоит из (т+ п- 1)-векторов.

На первом этапе метода потенциалов вычисляют предварительные потенциалы , , ..., ,,,…, которые удовлетворяют условиям -=cij для всех векторовPijКх . Величина имеет смысл симплекс разности.

Предположим, что для всехPijКх. Это означает, что при введении любого из векторовPij уменьшить целевую функциюL(X) нельзя, а поэтому планХ– оптимальный. Если же два некоторых векторавеличина, то при введении векторав базис можно уменьшить значение целевой функцииL(X).

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

(2.2)

где

- базисное значение переменной при векторе, выводимом из базиса;- коэффициент при выводимом из базиса векторев разложении для вектора.

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

(2.3)

где ik , jkиндексы выводимого из базиса вектора.

Поскольку формулы (2.2) и (2.3) применительно к Т-задаче можно представить следующим правилом изменения перевозок: перевозки запланированные по нечетным (четным) коммуникациям, уменьшаются (увеличиваются) на величину θ, перевозка междуиполагается равной θ, а остальные перевозки сохраняют свои значения, где θ – минимальная нечетная по порядку следования перевозка маршрута, который соединяет пунктыи.

Таким образом, метод потенциалов является частным случаем симплекс-метода, учитывающим специфику ограничений Т-задачи.

Решение транспортной задачи при вырожденном опорном плане

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

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

Рассмотрим два случая:

  1. Вырожденный план является начальным (Х0). Тогда выбирают некоторые нулевые элементы матрицыХ0в качестве базисных элементов так, чтобы при этом не нарушалось условие опорности: отсутствие цикла из ненулевых перевозок.

Далее данные элементы матрицы заменяют на ε> 0 (гдеε –произвольное, бесконечно малое число) и рассматривают как обычные базисные элементы плана.

Задачу решают как невырожденную, а в оптимальном плане вместо εпишут нули.

  1. Вырожденный план получается при построении Хk+1,если цепочка содержит не менее двух минимальных нечетных элементов. В таком случае в матрицеХk+1полагают равным нулю только один из этих элементов, остальные заменяются наεи решают задачу как невырожденную. Если наk-ом шаге θk=ε, то при переходеХk→ Хk+1целевая функция не изменяется, а в базис вводится элемент, для которого перевозка станет равнойε.

Пример 1.10.

Даны: матрица транспортных издержек С = || cij ||,i=1,т,j=1, n, объемы производства ai. Объемы потребления bij.

ai

bj 70 5 45 70

Проверяем условие баланса : 190 = 190. Строим исходный опорный планХ0:

х11=min{60;70}=60;

х21 =min{55; 70 – 60} = 10;

х22=min{5; 55 - 10} = 5;

х23=min{45; 55 – 10 - 5}=40;

х33=min{40; 45 - 40} =5;

х34= min{70; 40 – 5} = 35;

х44=35.

Полученный план не вырожденный, так как r=4+4-1=7.

Начальный опорный план может быть найден также методом минимального элемента. Этот метод позволяет получить опорный план с учетом матрицы стоимости перевозок C=||cij ||. План строим таким образом, чтобы перевозкихijвыполнялись, по возможности, по маршрутам с минимальной стоимостью. Для этого элементы матрицы С

ai

bj 70 5 45 70

нумеруем, начиная от минимального в порядке возрастания, а затем в этом же порядке определяем элементы матрицы Х1

х11=min{60;70}=60;

х23 =min{55; 45} = 45;

х44=min{35; 70}=35;

х12=0;

х41=0;

х21=min{55; 70 – 60}=10;

х42=0;

х43=0;

х34=min{40; 70 - 35} =35;

х22=0;

х32=min{40 – 35; 5} = 5.

Элементы матрицы Х, соответствующие с24, с31, с14, с33, с13, не рассматриваются, так как исчерпаны все ресурсы и удовлетворены все потребности.

Строим опорный план Х0, заполняяxijв порядке полученной нумерации:

Построенный план вырожденный, поскольку количество ненулевых элементов xij≠0 равно 6, аr=m+n-1=7.

Рассмотрим работу алгоритма на примере 1.10. Решение начинаем с проверки выполнения условия баланса, т.е. условия разрешимой задачи:

= 190.

Строим начальный опорный план по методу северо-западного угла:

Для удобства вычисления потенциалов uiиvjпредставим графически план перевозок, соответствующий начальному опорному плану (рис.12).

По соответствующим маршрутам указываем стоимость перевозки cij единицы грузаi-го пункта вj-й. принимаемui=0 (можно взять любое число) и, пользуясь соотношением (1.11.7), определяем потенциалы:

u1=0;

c11=1, v1 - u1= c11, v1= 1;

c21=3, v1 – u2= c21, u2= -2;

c22=4, v2 – u2= c22, v2 = 2

и т.д.

Рис.1.12

Рассчитываем элементы оценочной матрицы по соотношению (1.11.6):

cij= cij – (vj – ui);

c12= c12 - v2+ u1 = 2 - 2+0 =0;

c13= c13v3+ u1 = 9 + 1-0 =10;

c14= c14v4+ u1 = 7+ 2- 0 =13;

и т.д.

Таким образом

Поскольку в С1имеются отрицательные элементы, план Х0не является оптимальным.

Первая итерация. В матрице Х0, начиная с элемента х32, соответствующего в оценочной матрице наибольшему отрицательному элементу, строим цепочку. Изменяя элементы, входящие в цепочку, на величину Ө =min{5;5}=5 строим план Х1:

Полученный план является вырожденным. Поскольку в дальнейших расчетах оперируем невырожденным планом, один из нулей цепочки заменяем величиной ε≠0. В случае вырожденности при построении начального опорного плана вводим xij=ε по такой коммуникации, которая необходима для определения потенциаловuiиvj.

Выполняем преобразования в матрице С1, предварительно отменив в ней нули, соответствующие базисным переменным xij≠0 плана Х1, и строим оценочную матрицу С2:

В оценочной матрице С2 нет отрицательных элементов, следовательно, план Х1 является оптимальным. Стоимость перевозок в условных единицах

60*1+ 10*3 + 40*1 + 5*4 + 35*3 + 35*1 = 290.