Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТПР FULL.docx
Скачиваний:
7
Добавлен:
17.04.2019
Размер:
1.91 Mб
Скачать
  1. Методы поиска опорного плана. Метод Фогеля.

На каждом шаге метода Фогеля для каждой i-й строки вычисляются штрафы как разность между двумя наименьшими тарифами строки. Таким же образом вычисляются штрафы для каждого j-го столбца. После чего выбирается максимальный штраф из всех штрафов строк и столбцов. В строке или столбце, соответствующем выбранному штрафу, для заполнения выбирается не вычеркнутая клетка с минимальным тарифом .

Если существует несколько одинаковых по величине максимальных штрафов в матрице, то в соответствующих строках или столбцах выбирается одна не вычеркнутая клетка с минимальным тарифом .

Если клеток с минимальным тарифом также несколько, то из них выбирается клетка (i,j) с максимальным суммарным штрафом, т.е. суммой штрафов по i-й строке и j-му столбцу.

  1. Критерий оптимальности транспортной задачи (Условие оптимальности опорного плана?).

План перевозок        

является оптимальным планом тогда и только тогда, когда найдется система платежей

                                  

для которой выполняются условия:

                 

Доказательство.

Сформулируем вторую теорему двойственности в терминах переменных транспортной задачи.

Если

                       

удовлетворяют ограничениям прямой задачи, а

                       

удовлетворяют ограничениям двойственной задачи, то для оптимальности плана

                       

необходимо и достаточно выполнение условий

           

Условие а) выполняется для любых допустимых решений прямой задачи, так как

                                  

Условие b) можно расписать как следствие о дополняющей нежесткости, а именно

           

Итак, для базисных переменных

                                  

имеем равенство

           

 а для небазисных переменных

                                    

достаточно выполнения допустимости двойственных переменных   

Таким образом, имеем условия 1) и 2) критерия.

Критерий доказан.

  1. Алгоритм перехода к новому опорному плану (алгоритм перехода к нехудшему опорному плану?).

В клетке ставим знак «+» (нужно что-то добавить). Далее ищем прямоугольник, где все остальные вершины будут положительны (видимо, «0» в счёт).

B1

B2

B3

ai

A1

2/150

3

4

u1=0

A2

5/30

1/270

8

U2=3

A3

6

7

2/230

U3=6

A4

9/60

4

3/60

U4=7

bi

V1=2

V2=-2

V3=-4

800

В синей клетке знак «+», а в красной знак «-».

Ищем min(230, 60) = 60 (видимо, минимум среди максимумов однознаковых клеток, и, видимо, мы переместили ресы (ресы?) в количестве 60 по часовой стрелке). Вроде, может быть не прямоугольник, а циклы другой формы.

B1

B2

B3

Ai

A1

150

0

4

u1=0

A2

30

270

8

U2=3

A3

60

0

170

U3=6

A4

0

120

U4=7

bi

V1=2

V2=-2

V3=-4

800

И мы получили предыдущий план, который оптимален.

Из инета что-то:

Числа и называют потенциалами. В распределительную таблицу добавляют строку и столбец . Потенциалы и находят из равенства , справедливого для занятых клеток. Одному из потенциалов дается произвольное значение, а остальные потенциалы определяются однозначно. Если известен потенциал , то , если известен потенциал , то .

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

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

Для свободной клетки с строится цикл (цепь, многоугольник), все вершины которого, кроме одной, находятся в занятых клетках; углы прямые, число вершин четное. Около свободной клетки цикла ставится знак (+), затем поочередно проставляют знаки (-) и (+). У вершин со знаком (-) выбирают минимальный груз, его прибавляют к грузам, стоящим у вершин со знаком (+), и отнимают от грузов у вершин со знаком (-). В результате перераспределения груза получим новое опорное решение. Это решение проверяем на оптимальность и т.д. до тех пор, пока не получим оптимальное решение.