Первое базисное решение найдем по методу минимальной стоимости.
I) В клетку с минимальным тарифом c12 = 1 помещаем наибольший возможный груз x12 = 50, далее выбираем клетку с минимальным тарифом 3 и т.д. При распределении грузов следим за тем, чтобы на каждом шаге, кроме последнего, из рассмотрения выбывали только одна строка или столбец. В данном случае в одном из выбывающих рядов (в строке или в столбце) ставим ноль (в клетку с наименьшим тарифом 4). II) Проверим с помощью метода потенциалов является ли полученное базисное решение оптимальным. Составим следующие уравнения для всех базисных (загруженных) клеток: cij = ai + bj (1)
Так как число уравнений m + n – 1 = 3 + 5 –1 = 7, а число потенциалов ai, bj равно m + n = 8, можно принять a1 = 0. Далее находим потенциалы из следствий уравнений (1):
bj = cij - ai или ai = cij - bj.
Результаты заносим в таблицу. Находим алгебраические суммы тарифов sij для всех свободных клеток из уравнений:
sij = cij – (ai + bj ) (2)
Запишем только sij < 0, - нарушение условия оптимальности:
S32 = 4 – (5+1) = - 2
Так как не все sij ³ 0, то базисное решение не является оптимальным. Выбираем клетку (3, 2) и строим цикл пересчета 0 - 20 + 20
+ 30 - 0 30 Перераспределяемый груз xij = min (0; 30) = 0
III) Запишем новое базисное решение в таблицу и проделаем процедуры пунктов I-II до тех пор пока не получим для всех свободных клеток sij ³ 0.
Нарушение условия оптимальности: S15 = 5 – (0+6) = - 1 строим цикл пересчета 50- + 20 30
0+ 30- 30
Перераспределяемый груз xij = min (50; 30) = 30
Так как для всех свободных клеток sij ³ 0, то последнее базисное решение является оптимальным. Оптимальное решение не является единственным, так как
S33 = 7 – (3+4) = 0
и, следовательно, с помощью клетки (3; 3) можно перейти к другому оптимальному решению. Наименьшие суммарные затраты
Smin = S cijxij = 20 · 1 + 30 · 5 +50 · 5+ 20 · 5 + 50 · 3 + 30· 4 + 30· 7 =1000
21 - 30. Дана задача выпуклого программирования. Требуется:
|