Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
volkov4.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
10.08 Mб
Скачать

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

Основные понятия.

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

Замкнутый цикл (многоугольник) строится по следующим правилам:

315

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

вершины многоугольника должны находиться в занятых клет­ках, кроме одной начальной, лежащей в выбранной свободной {испытуемой) клетке;

пересечение несмежных сторон многоугольника вершиной не считается;

начальной вершине приписывается знак «+», далее знаки че­редуются.

В теории линейного программирования доказывается, что при выполнении указанных правил для любой свободной клетки можно построить единственный цикл. Два примера построения циклов для свободных клеток (3,5) и (2,5) показаны в таблицах 88 и 89, где размещено опорное решение задачи 15.5, полученное методом минимального элемента.

88. Цикл испытуемой клетки (3,5)

\\ у

1

2

3

4

5

1

55

30

+ Г--У*

50

15

9 '

40" " ^

2

35 23

30 40

1 100

45

1 60

3

40 17

60

' 95

55

1 ' 25

11 ~

30

■■ +

89. Цикл испытуемой клетки (2,5)

Преобразование решения осуществляется следующим обра­зом (см., например, табл. 88). Среди клеток, помеченных знаком «—», находят клетку с наименьшим ресурсом (обозначим его хтт) и далее последовательно в клетках, помеченных знаком «+», ре­сурс увеличивают на хт1п, а в помеченных знаком «-» —умень­шают на хт[п. Очевидно, что при этом, как минимум, в одной из

316

клеток ресурс уменьшится до нуля и в испытуемой клетке (/,/) появится ресурс ху = хт1п, то есть переменная ху будет введена в базис. При таком изменении решения значение целевой функ­ции может уменьшиться (то есть достигается улучшение решения задачи на минимизацию) или увеличиться (то есть решение ухуд­шится). Чтобы выяснить, как изменится решение, вычисляют так называемую оценку испытуемой клетки (такую оценку иногда называют ценой цикла, или характеристикой клетки):

(+) (-) -^

где (+) и (—) относятся к клеткам, помеченным знаками «+» и «—» соответственно.

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

Л^=ХтнАу- (15.7)

На этой формуле основан также один из видов контроля зна­чений целевой функции промежуточных решений транспортной задачи: 2'= 20 + А2 или 2/=ЪСуХу, где 2,'— значение целевой функции улучшенного плана, 2!0 — значение целевой функции предыдущего плана. Значения Т, вычисленные по двум разным формулам, должны совпадать.

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

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

Для примеров циклов, приведенных в таблицах 88 и 89, оцен­ки свободных клеток составляют:

а35 = С35 + С,3 - С15 - С33 = -45 < 0;

°"25 = С25 + С\Ъ + С31 - С*15 - С33 ~ С21 = -5 < 0.

Таким образом, преобразование решения с помощью обоих циклов выгодно.

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

317

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

Распределительный метод — весьма трудоемкая процедура, поскольку требует построения циклов для всех свободных клеток. Существенно меньше вычислений требует метод потенциалов, позволяющий в результате небольшого числа операций сразу (без построения циклов) определить оценки свободных клеток. Пол­ное обоснование этого метода потенциалов может быть получено в рамках общего метода решения задач линейного программиро­вания — симплекс-метода и теории двойственности таких задач. Мы воспользуемся более простой, но также достаточно строгой схемой (Вентцель Е. С. Исследование операций. — М.: «Советс­кое радио», 1972. — С. 99), хотя и опустим доказательство проме­жуточных теорем. Полезность схемы заключается в том, что она позволяет естественным образом выйти на экономическую ин­терпретацию потенциалов.

Введем новые характеристики поставщиков и потребителей транспортируемого ресурса — потенциалы ос,- и р, соответственно. Придадим этим характеристикам следующий экономический смысл: при заданном решении транспортной задачи будем пола­гать, что:

а, —это взятые с обратным знаком средние расходы /-го по­ставщика на транспортировку единицы продукции к потребите­лям;

Ру- — это средние расходы /-го потребителя на доставку едини­цы продукции.

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

При принятых предположениях- значение целевой функции должно быть равно:

п т

2=Ъ$РгЪщА- (15.8)

у' = 1 1 = 1

' С другой стороны, по определению, должно быть:

п т

^=Е ЪСуХу. (15.9)

У=1/=1

Для всех занятых клеток (включая условно занятые, в которых ху = 0) положим:

318

Сй—ру-а,-,

(15.10)

то есть потребуем, чтобы сумма средних расходов г'-го поставщи­ка и /-го потребителя на транспортировку единицы продукции была равна заданной цене транспортировки Су. В (15.10) учиты­вается, что, по определению, величина а,- задает расходы постав­щика с обратным знаком. Используя исходные ограничения на переменные Хц, можно показать, что подстановка (15.10) в (15.9) приводит к (15.8).

Рассматривая равенства типа (15.10) как уравнения относи­тельно неизвестных а,- и р/ получим (т+п—1) уравнений (по числу занятых клеток). Поскольку общее число неизвестных рав­но (т + п), то дополним эту систему уравнений еще одним:

а! = сопз1, (15.11)

где константа может быть выбрана произвольно. Обычно, чтобы обеспечить положительность потенциалов а,- и (3/, полагают:

«^Ъ (15.12)

Можно доказать, что введенные выше оценки свободных кле­ток могут быть рассчитаны по формуле

ау=Су + а,-^. (15.13)

Для иллюстрации покажем это на примере таблицы 88 для клетки (3,5). В соответствии с первоначальным определением оценок (15.6) и соотношением (15.10), учитывая построенный цикл, запишем:

СТ35 = С35 + С13 - С15 - С33 = С35 + (р3 - С^) - ((35 - «1) ~ (Рз ~ «3) =

= С35 + Рз - <Х1 - Р5 + ос! - Рз + а3 = С35 + а3 - р5,

го есть приходим к формуле типа (15.13).

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

С учетом изложенного опишем оставшиеся этапы получения оптимального решения.

Проверка опорного решения на оптимальность.

Для проверки любого (в том числе опорного) решения на оп­тимальность используют потенциалы а,-, /= \,...,т и |Зу, у" = 1,...,л, соответствующие строкам и столбцам таблицы. Расчет потенциа-нов ведется, исходя из следующих условий:

319

а|=тахС,у;

и

а,- = Ьу — Су или Ьу = а,- + Су (для занятых клеток).

Пользуясь этими условиями, для опорного решения задачи 15.5, полученного методом аппроксимации (табл. 87), проведем -следующие вычисления:

«I = 100; р4 = «з + С34 = 90 + 55 = 144;

Р5 = «1 + С15 = 100 + 15 = 115; (3, = а3 + С31 = 90 + 40 = 130; р3 = а, + С13 = 100 + 40 = 140; а2 = (34 - С24 = 145 - 45 = 100; а3 = р5 - С35 = 115 - 25 = 90; р2 = а2 + С22 = 100 + 30= 130.

Для свободных клеток вычислим оценки Су по формуле (15.13); результаты расчетов представлены в таблице 90.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]