- •Этапы решения
- •Транспортная задача. Постановка задачи.
- •Опорный план.
- •Методы поиска опорного плана. Метод северо-западного угла.
- •Методы поиска опорного плана. Метод потенциалов.
- •Методы поиска опорного плана. Метод минимального тарифа (элемента).
- •Методы поиска опорного плана. Метод Фогеля.
- •Критерий оптимальности транспортной задачи (Условие оптимальности опорного плана?).
- •Алгоритм перехода к новому опорному плану (алгоритм перехода к нехудшему опорному плану?).
- •Транспортная задача с ограничениями на пропускную способность (решение транспортной задачи с ограничениями?).
- •Метод фогеля
- •Метод ближайшего соседа
- •Вопрос 18.
Методы поиска опорного плана. Метод Фогеля.
На каждом шаге метода Фогеля для каждой i-й строки вычисляются штрафы как разность между двумя наименьшими тарифами строки. Таким же образом вычисляются штрафы для каждого j-го столбца. После чего выбирается максимальный штраф из всех штрафов строк и столбцов. В строке или столбце, соответствующем выбранному штрафу, для заполнения выбирается не вычеркнутая клетка с минимальным тарифом .
Если существует несколько одинаковых по величине максимальных штрафов в матрице, то в соответствующих строках или столбцах выбирается одна не вычеркнутая клетка с минимальным тарифом .
Если клеток с минимальным тарифом также несколько, то из них выбирается клетка (i,j) с максимальным суммарным штрафом, т.е. суммой штрафов по i-й строке и j-му столбцу.
Критерий оптимальности транспортной задачи (Условие оптимальности опорного плана?).
План перевозок
является оптимальным планом тогда и только тогда, когда найдется система платежей
для которой выполняются условия:
Доказательство.
Сформулируем вторую теорему двойственности в терминах переменных транспортной задачи.
Если
удовлетворяют ограничениям прямой задачи, а
удовлетворяют ограничениям двойственной задачи, то для оптимальности плана
необходимо и достаточно выполнение условий
Условие а) выполняется для любых допустимых решений прямой задачи, так как
Условие b) можно расписать как следствие о дополняющей нежесткости, а именно
Итак, для базисных переменных
имеем равенство
а для небазисных переменных
достаточно выполнения допустимости двойственных переменных
Таким образом, имеем условия 1) и 2) критерия.
Критерий доказан.
Алгоритм перехода к новому опорному плану (алгоритм перехода к нехудшему опорному плану?).
В клетке ставим знак «+» (нужно что-то добавить). Далее ищем прямоугольник, где все остальные вершины будут положительны (видимо, «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
И мы получили предыдущий план, который оптимален.
Из инета что-то:
Числа и называют потенциалами. В распределительную таблицу добавляют строку и столбец . Потенциалы и находят из равенства , справедливого для занятых клеток. Одному из потенциалов дается произвольное значение, а остальные потенциалы определяются однозначно. Если известен потенциал , то , если известен потенциал , то .
Обозначим , которую называют оценкой свободных клеток. Если все оценки свободных клеток , то опорное решение является оптимальным. Если хотя бы одна из оценок , то опорное решение не является оптимальным и его можно улучшить, перейдя от одного опорного решения к другому.
Наличие положительной оценки свободной клетки ( ) при проверке опорного решения на оптимальность свидетельствует о том, что полученное решение не оптимально и для уменьшения значения целевой функции надо перейти к другому опорному решению. При этом надо перераспределить грузы, перемещая их из занятых клеток в свободные. Свободная клетка становится занятой, а одна из ранее занятых клеток - свободной.
Для свободной клетки с строится цикл (цепь, многоугольник), все вершины которого, кроме одной, находятся в занятых клетках; углы прямые, число вершин четное. Около свободной клетки цикла ставится знак (+), затем поочередно проставляют знаки (-) и (+). У вершин со знаком (-) выбирают минимальный груз, его прибавляют к грузам, стоящим у вершин со знаком (+), и отнимают от грузов у вершин со знаком (-). В результате перераспределения груза получим новое опорное решение. Это решение проверяем на оптимальность и т.д. до тех пор, пока не получим оптимальное решение.