Алгоритм решения транспортной задачи методом потенциалов

1. Записываются уравнения задачи.

2. Определяется каким-либо способом допустимое базисное решение.

3. С помощью уравнений для базисных клеток находятся потенциалы ai и bj всех пунктов отправления и назначения.

4. Определяется сумма стоимости по циклам пересчета gij = cij – (ai + bj) для всех свободных переменных. Выбирается свободная переменная xi0j0, для которой gi0j0 отрицательна и является наибольшей по абсолютной величине. Если таких нет, то это означает, что данное базисное решение оптимально.

5. Для выбранной переменной xi0j0 строится цикл пересчета и осуществляется сдвиг на величину наименьшего значения базисной переменной в отрицательных вершинах.

6. Далее операции 2 – 5 повторяются, пока не будет получено оптимальное решение, т. е. пока все gij не станут положительными.

7. Вычисляется общая стоимость перевозок, соответствующая оптимальному решению.

Рассмотрим пример определения потенциалов. Данные задачи и одно из допустимых базисных решений приведены в таблице.

  В1 В2 B3 B4 ai ai
A1 2 20 3 10 2 4 30 0
A2 3 2 20 5 20 1 40 -1
A3 4 3 2 10 6 10 20 -4
bj 20 30 30 10    
bj 2 3 6 10    

Составим систему уравнений для определения потенциалов пунктов отправления и назначения:

Число уравнений равно числу базисных переменных.

Примем в качестве свободной неизвестной a1, положим a1 =0.

В первой строке таблицы имеется две базисные неизвестные x11, x12, им соответствуют уравнения a1 +b1 =2 и a1 +b2 =3. Из этих уравнений находим b1=2, b2 =3.

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

Во втором столбце кроме x12 содержится базисная переменная x22. Ей соответствует уравнение a2 +b2 =2. Т. к. b2 =3, значит a2 =2 – b2 = –1.

Во второй строке кроме рассмотренной x22 имеется базисная неизвестная x23. Из соответствующего ей уравнения a2 +b3 =5 при условии a2 = –1 следует, что b3 =5 – a2 =6.

В третьем столбце кроме базисной x23 есть x33. Из уравнения a3 +b3 =2 по известному значению b3 находим a2 = –4.

И, наконец, из уравнения для базисной неизвестной x34 a3 +b4 =6 определяем b4 =6 – a3 =10.

Теперь можно найти алгебраическую сумму стоимостей по циклу пересчета свободных переменных. Так, для свободной переменной x13 имеем g13 = с13 – – (a1 +b3) =2 – (0+6) = - 4. Аналогично находим

g14 = -6, g21 =2, g24 = - 8, g31 =6, g32 =4.

Далее выбирается свободная неизвестная, для которой gij отрицательна и имеет наибольшую абсолютную величину (в нашем случае это g24 = - 8, и для нее будет x24). Для выбранной переменной определяется цикл пересчета и осуществляется сдвиг по циклу на наименьшее значение базисной неизвестной в отрицательной вершине.

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: