Исследование очередного решения на оптимальность

Пример № 1

На трех базах находится однородный груз. На базе А1 в количестве 300 т., на базе А2 в количестве 150 т., на базе А3 в количестве 50 т. Весь этот груз необходимо развести четырем заказчикам так, чтобы стоимость перевозок была наименьшей. Заказчику в пункте В1 должно поступить 170 т., в пункте В2 – 110 т., в пункте В3 – 100 т., в пункте В4 – 120 т. Расстояния между базами и пунктами назначения приведены в таблице 1 в угловых скобках.

Таблица 1

  Базы Заказчики Запасы на базах
В1 В2 В3 В4
Исследование очередного решения на оптимальность - student2.ru Исследование очередного решения на оптимальность - student2.ru Исследование очередного решения на оптимальность - student2.ru Исследование очередного решения на оптимальность - student2.ru А1   300 т.
Исследование очередного решения на оптимальность - student2.ru Исследование очередного решения на оптимальность - student2.ru Исследование очередного решения на оптимальность - student2.ru Исследование очередного решения на оптимальность - student2.ru А2   150 т.
Исследование очередного решения на оптимальность - student2.ru Исследование очередного решения на оптимальность - student2.ru Исследование очередного решения на оптимальность - student2.ru Исследование очередного решения на оптимальность - student2.ru А3   50 т.
Исследование очередного решения на оптимальность - student2.ru Потребности заказчика   170 т.   110 т.   100 т.   120 т. 500 т. 500 т.

Решение

1. Описание транспортной задачи как задачи линейного программирования

Пусть из i-ой базы (i = Исследование очередного решения на оптимальность - student2.ru ) j-му заказчику (j = Исследование очередного решения на оптимальность - student2.ru ) доставлено хij тонн груза. От j-го заказчика i-я база находится на известном расстоянии сij (км), указанном в таблице 1 в угловой скобке. В этом случае хіjсіj есть количество тонно-километров необходимое для такой перевозки. Рассматривая в произведениях хіjсіj всевозможные комбинации значений индексов i и j, получим для каждой такой комбинации свое значение тонно-километров. Из суммы этих произведений образуется общая стоимость перевозок F, выраженная в тонно-километрах

Исследование очередного решения на оптимальность - student2.ru . (1)

Требуется найти такой план перевозок (х11, х12,…, х34), который минимизирует его стоимость. Этот план перевозок называется оптимальным.

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

Покажем, что транспортная задача есть частный случай задачи линейного программирования. Действительно, целевая функция F в ней это линейная функция вида (1) относительно определяемых переменных хіj. Линейной является и система ограничений, на которой требуется найти минимум функции F. Так в примере №1 система ограничений представлена уравнениями

Исследование очередного решения на оптимальность - student2.ru х11 + х12 + х13 + х14 = 300,

х21 + х22 + х23 + х24 = 150,

х31 + х32 + х33 + х34 = 50,

х11 + х21 + х31 = 170,

х12 + х22 + х32 = 110,

х13 + х23 + х33 = 100,

х14 + х24+ х34 = 120.

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

Примечание.Часто сij означают не расстояния между базами и заказчиками, а стои-мость перевозки одной тонны груза между ними. Очевидно, что эта стоимость пропорциональна расстоянию. Поэтому, если хіj – количество тонн груза, перевозимого из i-ой базы j-му заказчику, то функция (1) означает в этом случае стоимость всех перевозок, выраженную не в тонно-километрах, а в рублях.

2. Формирование опорного решения (опорного плана перевозок) методом северо-западного угла

При формировании опорного плана методом северо-западного угла, заполняется левая верхняя клетка (северо-западный угол) исходной таблицы или её оставшейся части. После заполнения северо-западного угла с учетом предельных возможностей базы, лежащей с заполняемой клеткой в одной строке, из таблицы исключается или очередной столбец слева, или очередная строка сверху. Так в данной таблице потребность заказчика В1 может быть полностью удовлетворена базой А11 = 300; в1 = 170; а1 > в1). Полагая х11=170, вписываем это значение в клетку (1;1) и исключаем из рассмотрения первый столбец.

На базе А1 остается 130 т. груза ( Исследование очередного решения на оптимальность - student2.ru ). В новой таблице с тремя строками А1, А2, А3 и тремя столбцами В2, В3, В4 северо-западным углом оказывается клетка (1;2). Первая база с оставшимися 130 т. груза может полностью удовлетворить потребность второго заказчика В2 ( Исследование очередного решения на оптимальность - student2.ru > в2). Полагая х12 = 110, вписываем это значение в клет-ку (1; 2) и исключаем из рассмотрения второй столбец. На базе А1 остается 20 т. груза ( Исследование очередного решения на оптимальность - student2.ru ).

В новой таблице с тремя строками А1, А2, А3 и двумя столбцами В3, В4 северо-западный угол соответствует клетке (1;3). Теперь третий заказчик

В3 может принять весь запас с базы А1 ( Исследование очередного решения на оптимальность - student2.ru < в3 ). Полагая

х13 = 20, вписываем это значение в клетку (1;3) и исключаем из рассмотрения первую строку. Но потребность заказчика В3 оказалась не удовлетворенной ( Исследование очередного решения на оптимальность - student2.ru ). Эту потребность может удовлетворить база А2. После чего в ней останется Исследование очередного решения на оптимальность - student2.ru (т. груза). Записывая в клетку (2;3) х23 = 80 мы полностью удовлетворяем потребность заказчика В3 и вычеркиваем третий столбец. Теперь на северо-западе находится клетка (2;4) и потребность заказчика В4 будет частично удовлетворяться остатками груза с базы А2. Таким образом,

х24 = 70, что приводит к исключению второй строки в таблице 1. А не вполне удовлетворенная потребность заказчика В4 ( Исследование очередного решения на оптимальность - student2.ru ) удовлетворяется запасами груза с базы А3. При этом х34 = 50.

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

3. Циклы пересчета в таблице перевозок

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

Циклом пересчета в таблице перевозок называется последовательность переменных хіj, удовлетворяющих следующим условиям:

1) в каждый цикл может входить только одно свободное переменное (пустая клетка – клетка с прочерком). Все остальные переменные должны быть базисными (заполненные клетки);

2) каждые две последовательные переменные, входящие в цикл, могут находиться только на одной строке или только в одном столбце;

3) каждая строка или столбец данного цикла может содержать только две переменные;

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

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

Укажем циклы пересчета для всех свободных клеток таблицы 1 и пере-распределение груза в них по следующим правилам:

а) снабдим свободную клетку знаком (+) и с каждым переходом к следую-щей клетке цикла будем изменять знак на противоположный;

б) в клетках, отмеченных знаком (-) выберем наименьшее из чисел. Это то количество груза, которое будет последовательно перевозиться из одной клетки в другую. Из клеток, отмеченных знаком (-), зафиксированное количество груза вывозится; в клетках со знаком (+) – прибывает.

Циклы пересчета в примере №1:

Исследование очередного решения на оптимальность - student2.ru 1) Исследование очередного решения на оптимальность - student2.ru

F = 70·170 + 50·110 + 80·20 + 40·100 + 60·50 + 11·50 = 26 550 (т.км.);

 
  Исследование очередного решения на оптимальность - student2.ru

Исследование очередного решения на оптимальность - student2.ru 2) Исследование очередного решения на оптимальность - student2.ru

F = 70 · 90 + 50 · 110 + 15 · 100 + 80 · 80 + 60 · 70 + 11 · 50= 24 450 (т.км.);

Исследование очередного решения на оптимальность - student2.ru 3) Исследование очередного решения на оптимальность - student2.ru

F = 70 · 170 + 50 ·30 + 15 ·100 + 80 · 90 + 60 · 70 + 11 · 50 = 26 850 (т.км.);

Исследование очередного решения на оптимальность - student2.ru 4) Исследование очередного решения на оптимальность - student2.ru Исследование очередного решения на оптимальность - student2.ru

F = 70 ·120 + 50 ·110 + 15 ·70 + 40 ·30 + 60 ·120 + 50 · 50 = 25 850 (т.км.);

Исследование очередного решения на оптимальность - student2.ru 5) Исследование очередного решения на оптимальность - student2.ru

F = 70 · 170 + 50 · 60 + 15 · 70 + 40 ·30 + 60 ·120 + 10 · 50 = 24 850 (т.км.);

 
  Исследование очередного решения на оптимальность - student2.ru

Исследование очередного решения на оптимальность - student2.ru 6) Исследование очередного решения на оптимальность - student2.ru

F = 70 ·170 + 50 ·110 + 15 · 20 + 40 · 30 + 60 ·120 + 90 ·50 = 30 600 (т.км.);

Следует сравнить стоимость перевозок в каждом цикле со стоимостью перевозок по опорному (первоначальному) плану

Fнач = 70·170 + 50·110 + 15·20 + 40·80 + 60·70 + 11·50 = 25650 (т.км.)

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

Таблица 2

 
  Исследование очередного решения на оптимальность - student2.ru


Базы

Заказчики Запасы на базах В1 В2 В3 В4 Исследование очередного решения на оптимальность - student2.ru Исследование очередного решения на оптимальность - student2.ru Исследование очередного решения на оптимальность - student2.ru Исследование очередного решения на оптимальность - student2.ru Исследование очередного решения на оптимальность - student2.ru Исследование очередного решения на оптимальность - student2.ru Исследование очередного решения на оптимальность - student2.ru Исследование очередного решения на оптимальность - student2.ru А1 ―   300 т. Исследование очередного решения на оптимальность - student2.ru Исследование очередного решения на оптимальность - student2.ru Исследование очередного решения на оптимальность - student2.ru Исследование очередного решения на оптимальность - student2.ru Исследование очередного решения на оптимальность - student2.ru Исследование очередного решения на оптимальность - student2.ru Исследование очередного решения на оптимальность - student2.ru А2 ― ―   150 т. Исследование очередного решения на оптимальность - student2.ru Исследование очередного решения на оптимальность - student2.ru Исследование очередного решения на оптимальность - student2.ru Исследование очередного решения на оптимальность - student2.ru Исследование очередного решения на оптимальность - student2.ru Исследование очередного решения на оптимальность - student2.ru Исследование очередного решения на оптимальность - student2.ru Исследование очередного решения на оптимальность - student2.ru А3 ― ― ―   50 т. Исследование очередного решения на оптимальность - student2.ru Потребности заказчика   170 т.   110 т.   100 т.   120 т. 500 т. 500 т.

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

4. Критерий оптимальности решения транспортной задачи

Величины сij в клетках таблицы 1, таблицы 2 и последующих таблицах означают или расстояния между i–ой базой и j-ым заказчиком, или стоимость перевозки одной единицы груза между ними. Эти величины в общем случае называются тарифами.

Изменение стоимости перевозок в каждом из шести вышерассмотренных вариантов связано с изменением количества груза в вершинах циклов. Пусть это количество изменяется на m (фиксированное число цикла) т. в соответствии со знаком вершины. (Если вершина снабжена знаком (+), то это количество груза на m т. увеличивается; (-) - на m т. уменьшается.) Тогда в первом варианте стоимость перевозок изменится на

m · с14 – m · с13 + m · с23 – m · с24 = (с14 – с13 + с23 – с24) · m =

= (80 – 15 + 40 – 60) · 20 = 45 · 20 = 900 = 26 550 – 25 650 (т.км.).

То есть, в первом варианте стоимость перевозок 26 550 т.км. больше по сравнению с предыдущим (опорным) решением 25 650 т. км. на 900 т.км.

Во втором варианте изменение составит

m · с21 – m · с23 + m · с13 – m · с11 = (с21 – с23 + с13 – с11) · m =

= (80 – 40 + 15 – 70) · 80 = –15 · 80 = – 1200 = 24 450 – 25 650 (т.км).

То есть, во втором варианте стоимость перевозок уменьшается на 1200 т.км.

Исследование очередного решения на оптимальность - student2.ru Мы видим, что факт увеличения или уменьшения стоимости перевозок определяется не количеством перевозимого груза, а знаком алгебраической суммы тарифов по данному циклу. Так для третьего варианта

Исследование очередного решения на оптимальность - student2.ru Исследование очередного решения на оптимальность - student2.ru с22 – с23 + с13 – с12 = 90 – 40 + 15 – 50 = 15 > 0.

Таким образом, в третьем варианте стоимость перевозок увеличивается по сравнению с предыдущим (опорным) решением. Следовательно, этот вариант интереса не представляет. В четвертом

Исследование очередного решения на оптимальность - student2.ru Исследование очередного решения на оптимальность - student2.ru Исследование очередного решения на оптимальность - student2.ru Исследование очередного решения на оптимальность - student2.ru с31 – с34 + с24 – с23 + с13 – с11 = 50 – 11 + 60 – 40 + 15 – 70 = 4 > 0.

и шестом вариантах

с33 – с34 + с24 – с23 = 90 – 11 + 60 – 40 = 150 – 51 = 99 > 0.

мы приходим к тому же выводу. И только для пятого варианта алгебраическая сумма тарифов

с32 – с34 + с24 – с23+ с13 – с12 =10 – 11 + 60 – 40 +15 – 50 = 85 – 101 = –16 < 0,

что говорит о том, что стоимость перевозок будет уменьшаться на m ·16 т.км., где m = 50т. Таким образом, стоимость перевозок по 5-му варианту уменьшиться на 800 = 25 650 – 24 850 (т.км.).

Однако, есть лучший вариант – второй, в котором стоимость перевозок уменьшается на 1200 т.км. Этот вариант и принимается в качестве следующего решения, зафиксированного в таблице 2.

Становится очевидным и критерий оптимальности очередного решения:

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

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

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

В рассматриваемой таблице каждый тариф сij в клетке с базисным переменным представляется в виде суммы сij = Исследование очередного решения на оптимальность - student2.ru . Тогда для опорного плана, полученного в примере №1 методом северо-западного угла, образуется система уравнений

Исследование очередного решения на оптимальность - student2.ru Исследование очередного решения на оптимальность - student2.ru = с11 = 70,

Исследование очередного решения на оптимальность - student2.ru = с12 = 50,

Исследование очередного решения на оптимальность - student2.ru = с13 = 15,

Исследование очередного решения на оптимальность - student2.ru = с23 = 40,

Исследование очередного решения на оптимальность - student2.ru = с24 = 60,

Исследование очередного решения на оптимальность - student2.ru = с34 = 11.

Если цикл пересчета можно построить для любой свободной клетки исходной таблицы, то число уравнений, в системе всегда будет на единицу меньше числа неизвестных. При этом значение одного из данных неизвестных можно выбирать произвольно. Например, можно принять, что α1 = 0. Тогда решение системы примет вид

α1 = 0, β1 = 70,

α2 = 25, β2 = 50,

α3 = – 24, β3 = 15,

β4 = 35.

Полученные значения αi называют потенциалами соответствующих баз,

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

щую первому циклу пересчета для свободной клетки (1,4) в таблице 1.

s14 = c14 – c13 + c23 – c24 = c14 – (α1 + β3) + (α2 + β3) – (α2 + β4) =

Исследование очередного решения на оптимальность - student2.ru Исследование очередного решения на оптимальность - student2.ru Исследование очередного решения на оптимальность - student2.ru Исследование очередного решения на оптимальность - student2.ru = c14 – α1 – β3+ α2+ β3– α2– β4= c14 – (α1 + β4).

Сумму αi + βj принято называть косвенным тарифом свободной клетки (i, j) и обозначать как c¢ij. Тогда алгебраическая сумма тарифов для данной свободной клетки представится разностью истинного и косвенного тарифов. В частности

s14 = c14 – c'14= 80 – (0 + 35) = 45.

Можно показать, что и для всех других свободных клеток таблицы 1 алгебраи-ческая сумма тарифов равна разности истинного и косвенного тарифов данной клетки:

Исследование очередного решения на оптимальность - student2.ru s21 = c21 – c'21 = с21 – (α2 + β1) = 80 – (25 + 70) = - 15,

s22 = c22 – c'22 = с22 – (α2 + β2) = 90 – (25 + 50) = 15,

s31 = c31 – c'31 = с31 – (α3 + β1) = 50 – (–24 + 70) = 4,

Исследование очередного решения на оптимальность - student2.ru s32 = c32 – c'32 = с32 – (α3 + β2) = 10 – (–24 + 50) = - 16,

s33 = c33 – c'33 = с33 – (α3 + β3) = 90 – (–24 + 15) = 99.

(Сравните полученные результаты с предыдущими.)

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

Исследование очередного решения на оптимальность - student2.ru Исследование очередного решения на оптимальность - student2.ru

При этом стоимость перевозок уменьшится на

Исследование очередного решения на оптимальность - student2.ru (т.км.).

А для клетки (3;2) имеем

Исследование очередного решения на оптимальность - student2.ru Исследование очередного решения на оптимальность - student2.ru Исследование очередного решения на оптимальность - student2.ru Исследование очередного решения на оптимальность - student2.ru Исследование очередного решения на оптимальность - student2.ru

При этом стоимость перевозок уменьшится на

Исследование очередного решения на оптимальность - student2.ru (т.км.).

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

Исследование очередного решения на оптимальность

С помощью метода потенциалов, уменьшающего объём вычислений, легко определить, является ли полученное решение оптимальным. Так для определе-ния оптимальности решения, представленного таблицей 2, каждый тариф сij, находящийся в одной клетке с базисной переменной, выражается в виде суммы потенциалов соответствующей базы αiи заказчика βj. Тогда для найденного плана перевозок образуется система уравнений

Исследование очередного решения на оптимальность - student2.ru с11 = α1 + β1 = 70,

с12 = α1 + β2 = 50,

с13 = α1 + β3 = 15,

с21 = α2 + β1 = 80,

с24 = α2 + β4 = 60,

с34 = α3 + β4 = 11.

Если α1 = 0, то β1 = 70,

α2 = 10, β2 = 50,

α3 = – 39, β3 = 15,

β4 = 50.

При этом значения алгебраической суммы тарифов для свободных клеток таблицы 2 оказываются равными

s14 = c14 – c'14 = c14 – (α1 + β4) = 80 – 50 = 30,

s22 = c22 – c'22 = c22 – (α2 + β2) = 90 – (10 + 50) = 30,

s23 = c23 – c'23 = c23 – (α2 + β3) = 40 – (10 + 15) = 15,

s31 = c31 – c'31 = c31 – (α3 + β1) = 50 – (–39 + 70) = 19,

s32 = c32 – c'32 = c32 – (α3 + β2) = 10 – (–39 + 50) = –1,

s33 = c33 – c'33 = c33 – (α3 + β3) = 90 – (–39 + 15) = 114.

Исследование очередного решения на оптимальность - student2.ru Вычисления показывают, что план перевозок, соответствующий последнему решению, представленному в таблице 2, можно улучшить, производя цикл пересчёта со свободной клеткой (3;2):

Исследование очередного решения на оптимальность - student2.ru

Таблица 3

               
  Исследование очередного решения на оптимальность - student2.ru   Исследование очередного решения на оптимальность - student2.ru   Исследование очередного решения на оптимальность - student2.ru   Исследование очередного решения на оптимальность - student2.ru
 


Базы

Заказчики Запасы на базах В1 В2 В3 В4 Исследование очередного решения на оптимальность - student2.ru Исследование очередного решения на оптимальность - student2.ru Исследование очередного решения на оптимальность - student2.ru Исследование очередного решения на оптимальность - student2.ru Исследование очередного решения на оптимальность - student2.ru Исследование очередного решения на оптимальность - student2.ru А1 –   300 т. Исследование очередного решения на оптимальность - student2.ru Исследование очередного решения на оптимальность - student2.ru Исследование очередного решения на оптимальность - student2.ru Исследование очередного решения на оптимальность - student2.ru Исследование очередного решения на оптимальность - student2.ru Исследование очередного решения на оптимальность - student2.ru Исследование очередного решения на оптимальность - student2.ru А2 – –   150 т. Исследование очередного решения на оптимальность - student2.ru Исследование очередного решения на оптимальность - student2.ru Исследование очередного решения на оптимальность - student2.ru Исследование очередного решения на оптимальность - student2.ru Исследование очередного решения на оптимальность - student2.ru Исследование очередного решения на оптимальность - student2.ru Исследование очередного решения на оптимальность - student2.ru А3 – – –   50 т. Исследование очередного решения на оптимальность - student2.ru Потребности заказчика   170 т.   110 т.   100 т.   120 т. 500 т. 500 т.

Исследование очередного решения на оптимальность продолжается аналогичным образом:

Исследование очередного решения на оптимальность - student2.ru Исследование очередного решения на оптимальность - student2.ru с11 = α1 + β1= 70, с21 = α2 + β1= 80,

с12 = α1 + β2= 50, и с24 = α2 + β4= 60,

с13 = α1 + β3= 15 с32 = α3 + β2= 10.

Тогда, если α1 = 0, то β1= 70,

α2 = 10, β2= 50,

α3 = – 40, β3= 15,

β4= 50.

Наши рекомендации