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