Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Issledovatelskaya_Lena_i_Andrey.docx
Скачиваний:
2
Добавлен:
12.07.2019
Размер:
161.51 Кб
Скачать
    1. Решение транспортной задачи методом потенциалов в классическом случае

Пусть имеется транспортная задача с балансовыми условиями: стоимость перевозки единицы груза из Ai в Bj равна Cij, таблица стоимостей задана. Требуется найти план перевозок xij, который удовлетворял бы балансовым условиям и стоимость перевозок которого была бы минимальна.

Пусть каждый из пунктов отправления Ai вносит за перевозку единицы груза какую-то сумму ai, а каждый из пунктов назначения Bj вносит за перевозку груза сумму bj . Обозначим ai+bj= čij ( i=1..m, j=1..n) и будем называть величину čij “псевдостоимостью” перевозки единицы груза из Ai в Bj. Суммарная псевдостоимость любого допустимого плана перевозок при заданных платежах (ai и bj) постоянна.

Предположим, что план xij невырожденный (число базисных клеток в таблице перевозок ровно (m+n-1)). Для всех этих клеток xij >0. Определим платежи (ai и bj) так, чтобы во всех базисных клетках псевдостоимости были ровны стоимостям: čij = ai + bj = сij , при xij >0.

В свободных клетках (где xij=0) соотношение между псевдостоимостями и стоимостями может быть любым и показывает, является ли план оптимальным или же он может быть улучшен. Существует теорема:

Если для всех базисных клеток плана xij>0, ai + bj = čij= сij , а для всех свободных клеток xij =0, ai+bj =čij сij , то план является оптимальным и никакими способами улучшен быть не может.

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

čij=сij (для всех базисных клеток) (1)

čij сij (для всех свободных клеток) (2)

называется потенциальным планом, а соответствующие ему платежи (ai и bj ) — потенциалами пунктов Ai и Bj ( i=1,...,m ; j=1,...,n ).

Пользуясь этой терминологией, вышеупомянутую теорему можно сформулировать так: Всякий потенциальный план является оптимальным.

Для решения транспортной задачи нам нужно построить потенциальный план, задаваясь сначала какой-то произвольной системой платежей, удовлетворяющей условию (1). При этом в каждой базисной клетке получится сумма платежей, равная стоимости перевозок в данной клетке. Улучшение плана возможно благодаря следующему свойству платежей и псевдостоимостей: какова бы ни была система платежей (ai и bj), удовлетворяющая условию (1), для каждой свободной клетки цена цикла пересчёта равна разности между стоимостью и псевдостоимостью в данной клетке : gi,j= сi,j - či,j.

Таким образом, при решении задачи методом потенциалов становится ненужным наиболее трудоёмкий элемент распределительного метода: поиски циклов с отрицательной ценой.

В качестве первого приближения к оптимальному плану берётся любой допустимый план. В нашем случае это план, построенный способом северо-западного угла. В этом плане (m + n –1) базисных клеток, где m - число строк, n - число столбцов транспортной таблицы. Для этого плана можно определить платежи (ai и bj), так, чтобы в каждой базисной клетке выполнялось условие: ai + bj = сij (3)

Уравнений (3) всего m + n - 1, а число неизвестных равно m+n. Следовательно, одну из этих неизвестных можно задать произвольно (например, равной нулю). После этого из m + n - 1 уравнений (3) можно найти остальные платежи ai, bj, а по ним вычислить псевдостоимости, či,j= ai + bj для каждой свободной клетки.

Имеем опорный план, полученный методов северо-западного угла:

Поставщик

Потребитель

Запасы груза

    B1    

    B2    

    B3    

    B4    

  A1

   

280

36

   

216

 

   

342

 

   

486

 

  36

  A2

   

290

15

   

243

6

   

421

 

   

430

 

  21

  A3

   

350

 

   

198

46

   

372

 

   

560

 

  46

  A4

   

410

 

   

225

9

   

398

36

   

499

21

  66

Потребность

51

61

36

21

 

Целевая функция: F=51828. Теперь решим задачу распределительным методом. Примем некоторые обозначения: i - индекс строки; j - индекс столбца; m - количество поставщиков; n - количество потребителей.

Этап 1. Определим значения оценок Si,j для всех свободных клеток. Для этого строим цикл для каждой свободной клетки и, перемещаясь по клеткам цикла, складываем тарифы клеток. При этом тарифы в нечетных клетках берутся со знаком "плюс", в четных - со знаком "минус". S1,2 = c1,2-c1,1+c2,1-c2,2 = -17. S1,3 = c1,3-c1,1+c2,1-c2,2+c4,2-c4,3 = -64. S1,4 = c1,4-c1,1+c2,1-c2,2+c4,2-c4,4 = -21. S2,3 = c2,3-c2,2+c4,2-c4,3 = 5. S2,4 = c2,4-c2,2+c4,2-c4,4 = -87. S3,1 = c3,1-c3,2+c2,2-c2,1 = 105. S3,3 = c3,3-c3,2+c4,2-c4,3 = 1. S3,4 = c3,4-c3,2+c4,2-c4,4 = 88. S4,1 = c4,1-c4,2+c2,2-c2,1 = 138. Если имеется несколько клеток с одним и тем же наименьшим значением оценки, то из них выбирается клетка, имеющая наименьший тариф. Наиболее перспективной является клетка (2,4). Для нее оценка равна -87. Строим для нее цикл, помечая клетки цикла знаками "плюс" и "минус".

Поставщик

Потребитель

Запасы груза

    B1    

    B2    

    B3    

    B4    

  A1

   

280

36

   

216

 

   

342

 

   

486

 

  36

  A2

   

290

15

 - 

243

6

   

421

 

 + 

430

 

  21

  A3

   

350

 

   

198

46

   

372

 

   

560

 

  46

  A4

   

410

 

 + 

225

9

   

398

36

 - 

499

21

  66

Потребность

51

61

36

21

 

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

Поставщик

Потребитель

Запасы груза

    B1    

    B2    

    B3    

    B4    

  A1

   

280

36

   

216

 

   

342

 

   

486

 

  36

  A2

   

290

15

   

243

 

   

421

 

   

430

6

  21

  A3

   

350

 

   

198

46

   

372

 

   

560

 

  46

  A4

   

410

 

   

225

15

   

398

36

   

499

15

  66

Потребность

51

61

36

21

 

Целевая функция: F= 51306.

Значение целевой функции изменилось на 522 единиц по сравнению с предыдущим этапом.

Этап 2. Определим значения оценок Si,j для всех свободных клеток. Для этого строим цикл для каждой свободной клетки и, перемещаясь по клеткам цикла, складываем тарифы клеток. При этом тарифы в нечетных клетках берутся со знаком "плюс", в четных - со знаком "минус". S1,2 = c1,2-c1,1+c2,1-c2,4+c4,4-c4,2 = 70. S1,3 = c1,3-c1,1+c2,1-c2,4+c4,4-c4,3 = 23. S1,4 = c1,4-c1,1+c2,1-c2,4 = 66. S2,2 = c2,2-c2,4+c4,4-c4,2 = 87. S2,3 = c2,3-c2,4+c4,4-c4,3 = 92. S3,1 = c3,1-c3,2+c4,2-c4,4+c2,4-c2,1 = 18. S3,3 = c3,3-c3,2+c4,2-c4,3 = 1. S3,4 = c3,4-c3,2+c4,2-c4,4 = 88. S4,1 = c4,1-c4,4+c2,4-c2,1 = 51. Так как все оценки Si,j>=0, то полученный план является оптимальным. Транспортная задача решена.

Поставщик

Потребитель

Запасы груза

    B1    

    B2    

    B3    

    B4    

  A1

   

280

36

   

216

 

   

342

 

   

486

 

  36

  A2

   

290

15

   

243

 

   

421

 

   

430

6

  21

  A3

   

350

 

   

198

46

   

372

 

   

560

 

  46

  A4

   

410

 

   

225

15

   

398

36

   

499

15

  66

Потребность

51

61

36

21

 

Целевая функция: F= 51306.

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