Курсовая работа: Решение задач линейного программирования в среде Maple
f* = 10 x* =
(0,2,1)
§5.
Пример решения Транспортной задачи
Метод потенциалов
представляет из себя модификацию симплекс-метода, учитывающую специфику
транспортной задачи, поэтому его алгоритм не отличается от алгоритма симплекс-метода,
за исключением шага проверки целевой функции на неограниченность на множестве
решений. Отсутствие указанного шага в методе потенциалов обусловлено теоремой о
том, что закрытая ТЗ всегда разрешима. Итак, алгоритм метода потенциалов
для решения ТЗ состоит из следующих шагов:
ШАГ 1. Построение
начального плана перевозок.
ШАГ 2. Проверка
текущего плана на оптимальность.
Если план оптимален,
то алгоритм завершен.
ШАГ 3. Улучшение плана
перевозок. Переход к шагу 1.
Опишем
алгоритм по шагам, иллюстрируя каждый шаг
ШАГ 1. Построение
начального плана перевозок.
Построение начального решения
(как и последующие расчеты) проводят в таблице, имеющей следующий вид:

Клетка ( i , j ) таблицы соответствует коммуникации, связывающей i-го
поставщика сj-м потребителем.
Построить начальный план
перевозок означает - назначить объемы перевозок в клетки таблицы таким образом,
чтобы:
а)число заполненных
клеток было (m+n-1).
(Тогда план перевозок будет отвечать базисному решению ЗЛП);
б)сумма перевозок в любой
строке должна быть равна запасу соответствующего поставщика, а сумма перевозок
в каждом столбце равна потребности потребителя. (Условие выполнения ограничений
ТЗ). Существует несколько способов нахождения начального решения, которые
отличаются только выбором клетки, в которую назначается очередная перевозка.
Так, в способе северо-западного угла (СЗУ) для очередного назначения
перевозки выбирается левая верхняя клетка таблицы (при этом никак не
учитываются цены перевозок). Наоборот, в способе минимальной стоимости (МС) для
заполнения выбирается клетка текущей таблицы с минимальной ценой перевозки, что
в большинстве случаев (но не всегда) приводит к более дешевому (а значит и
более близкому к оптимальному) начальному плану перевозок.
Мы будем пользоваться способом
минимальной стоимости (МС).
Изложим теперь алгоритм
нахождения начального решения.
ШАГ 1. Определенным способом выбираем клетку в текущей
таблице. Пусть она имеет индексы (i, j) (i -номер поставщика, j - номер потребителя).
ШАГ 2. В качестве перевозок в эту клетку назначаем наименьшую
из ai и потребности bj.
xij = min{ ai, bj }
ШАГ З. Уменьшим запас ai и потребность bj на величину перевозки xij, т.е.
ai = ai - xij,
bj =bj -xij
ШАГ 4. При исчерпании запаса (ai = 0) запрещаем к перевозке оставшиеся свободные клетки i-ой
строки, а при исчерпании потребности
(bj =0) запрещаем
такие же клетки вj-ом столбце.
В случае одновременного
исчерпания запасов потребностей (ai =bj = 0) запрещаем перевозки или в строке (тогда считаем, что у
потребителя осталась потребность в количестве равном нулю, которую необходимо
удовлетворить), или в столбце (в этом случае считаем, что у поставщика остается
запас равный нулю, который необходимо вывезти). Это делается для того, чтобы
при одновременном запрещении перевозок в строке и столбце количество
заполненных клеток таблицы не стало меньшим, чем m+n-1.
Получим новую текущую
таблицу, в которую не входят заполненные и запрещенные клетки. Если таблица не
пуста, переходим к шагу 1. (При исчерпании таблицы - конец).
Способ минимальной
стоимости

1.Клетки с минимальной
ценой (3,1), (3,2) и (3,3). Выбираем, например, (3,2). (Далее все шаги, как в
предыдущем способе).
2 . x32 = min{50,60} = 50
3. a '3
=50-50=0, b '2 = 100-50=50
4.Запрещаем строку 3.

1. Клетка с min ценой ~ (2,3)
2. x23 = min{70,80} = 70
3. a2=70-70=0, b'3
= 80-70=10
4. Запрещаем строку 2.
|
1 |
2 |
3 |
60 |
5
60
|
10 |
12 |
Χ |
8
-
|
6
-
|
4
70
|
Χ |
0 |
0
50
|
0
-
|
|
50 |
10 |
1.
Клетка с min ценой ~ (1,1)
2.
x 11=min{120,60} =
60
3.
a 1' =120-60 = 60, b1' = 0
4.В первом столбце
запрещать уже нечего. Текущая таблица содержит две клетки (1,2) и (1,3).

1.Выбираем клетку (1,2)
2.x 12 =min{110,100} = 100
3.a 1 =110-100 = 10, b'1 = 0
4.Текущая таблица содержит
одну клетку (1,3).

1. Выбираем последнюю клетку(1,3)
2. x13=min{10,10} = 10
3.a1' = b3 = 0
4.Таблица исчерпана.
Конец.
Переходим к описанию
следующего шага метода потенциалов.
ШАГ 2. Проверка текущего плана на
оптимальность.
Признаком того, что
текущий план перевозок является оптимальным, служит условие
(1)ui +vj -cij ≤0
которое выполняется для всех
клеток таблицы. Неизвестные здесь величины ui и vj (называемые потенциалами)
определяются из условий
(2)ui + vj = cij
Условие (1) означает
невозможность появления "спекулятивной" цены. Само же название
"потенциалы" заимствовано из физического закона о том, что работа по
перемещению заряда в электростатическом поле равна разности потенциалов в
данных точках поля (У нас: "...цена перевозки единицы продукции по
коммуникации равна разности цен в конце и в начале пути")
Страницы: 1, 2, 3, 4, 5, 6 |