
- •Методы оптимальных решений
- •Введение
- •Задачи линейного программирования
- •Решение задачи на максимум линейной функции
- •Варианты задач для самостоятельного решения
- •Отыскание минимума линейной функции
- •Варианты задач для самостоятельного решения
- •Особые случаи симплексного метода
- •Не единственное оптимальное решение
- •Вырожденное базисное решение
- •Отсутствие конечного оптимального решения
- •Варианты задач для самостоятельного решения
- •Метод искусственного базиса (м-метод)
- •Варианты задач для самостоятельного решения
- •Двойственные задачи
- •Симметричная пара
- •Несимметричная пара
- •Смешанная пара
- •Варианты задач для самостоятельного решения
- •Экономическая интерпретация двойственной задачи
- •Решение двойственной задачи и определение интервалов устойчивости двойственных оценок оптимального решения.
- •Варианты задач для самостоятельного решения
- •Задачи целочисленного программирования
- •Варианты задач для самостоятельного решения
- •3. Транспортная задача
- •Постановка и решение транспортной задачи
- •Проверка плана на оптимальность. Метод потенциалов
- •Варианты задач для самостоятельного решения
- •4. Задачи динамического программирования
- •Задача о распределении средств между предприятиями
- •Варианты задач для самостоятельного решения
- •Заключение
- •Литература
- •Содержание
Проверка плана на оптимальность. Метод потенциалов
Определение первоначального опорного плана фактически соответствует выбору начального базисного решения задачи линейного программирования при использовании симплексного метода. Количество заполненных клеток равно n+m-1. В примере 13 число заполненных клеток равно 3+4-1=6.
Далее каждой строке матрицы поставок назначим потенциал Ui (i=1…3), каждому столбцу матрицы поставок назначим потенциал Vj (j=1…4). Потенциалы назначим таким образом, чтобы для заполненных клеток таблицы выполнялись равенства:
(3.1)
Система (3.1) является системой из (n+m-1) линейно независимых уравнений относительно (n+m) неизвестных потенциалов. Значение одного из потенциалов может быть выбрано произвольным образом, тогда остальные будут определены однозначно. Оценки клеток не зависят от произвола в выборе первого потенциала.
После назначения
потенциалов следует вычислить оценки
для всех свободных клеток. Транспортная
задача является задачей минимизации
целевой функции, поэтому если среди
свободных клеток есть клетки с
отрицательными оценками, то план поставок
не является оптимальным и может быть
улучшен за счет изменения базисного
решения, а именно за счет перевода в
базис соответствующей переменной. В
решении транспортной задачи этот этап
называется «передачей поставки по
циклу».
Для нового опорного плана вновь вычисляются оценки клеток и, при необходимости выполняется новая передача поставки. Критерием оптимальности полученного решения является неотрицательность оценок всех клеток таблицы поставок.
Пример 14. Пусть имеется первоначальный опорный план, полученный методом северо-западного угла (см. табл.30).
Составим систему уравнений в соответствии с системой (3.1):
(3.2)
Пусть U1=0. Из первого уравнения системы (3.2) следует, что V3= - 6. Решая последовательно остальные уравнения системы, получим V2= - 5, U2= - 2, V3= - 4, U3= - 1, V4= - 3.
Удобно записывать потенциалы строк и столбцов непосредственно в таблице (см. табл.31), указывая в скобках номер шага в решении системы.
Таблица 31. Определение потенциалов строк и столбцов
Поставщики и их мощности |
Потребители и их спрос |
Ui (i=1, 2, 3) |
||||
С. 1 |
С. 2 |
С. 3 |
С. 4 |
|||
90 |
80 |
120 |
110 |
|||
Завод 1 |
100 |
6 90 |
5 10 |
4 |
4 |
0 (1) |
Завод 2 |
175 |
3 |
7 70 |
6 105 |
5 |
- 2 (4) |
Завод 3 |
125 |
5
|
6 |
5 15 |
4 110 |
- 1 (6) |
Vj (j=1, 2, 3, 4) |
- 6 (2) |
- 5 (3) |
- 4 (5) |
- 3 (7) |
|
Вычислим оценки клеток, запишем их во вспомогательную таблицу:
0 |
0 |
0 |
1 |
- 5 |
0 |
0 |
0 |
- 2 |
0 |
0 |
0 |
Клетки (2, 1) и (3, 1) имеют отрицательные оценки. Следовательно, включив в план поставок одну из этих клеток и организовав поставку продукции по соответствующему маршруту, получим уменьшение значения целевой функции. Напомним следующие определения.
Циклом в таблице называется замкнутая ломаная с вершинами в клетках и звеньями, лежащими вдоль строк и столбцов таблицы.
Циклом пересчета называется такой цикл в таблице с базисным распределением поставок, при котором одна из его вершин лежит в свободной клетке, остальные – в заполненных, при этом в каждой вершине цикла встречаются два звена, одно из них располагается по строке, другое по столбцу. Цикл пересчета называется означенным, если в его вершинах расставлены знаки «+» и «–» так, что в свободной клетке стоит «+», а любые две соседние вершины имеют разные знаки.
Для каждой свободной клетки базисного распределения поставок существует единственный корректный цикл пересчета. Поставка, передаваемая по циклу, определяется как минимум среди поставок в клетках цикла со знаком «–». В новом базисном решении в клетках со знаком «+»значения поставок следует увеличить на величину поставки, передаваемой по циклу, а в клетках со знаком «–» уменьшить на ту же величину.
Включим в план поставок клетку (2, 1) с наибольшей по модулю отрицательной оценкой. Цикл пересчета включает клетки (2, 1), (1, 1), (1, 2), (2, 2). Расставим знаки в клетках-вершинах цикла.
Таблица 32. Определение цикла пересчета
Поставщики и их мощности |
Потребители и их спрос |
||||
С. 1 |
С. 2 |
С. 3 |
С. 4 |
||
90 |
80 |
120 |
110 |
||
Завод 1 |
100 |
6 – 90 |
5 + 10 |
4 |
4 |
Завод 2 |
175 |
3 + |
7 – 70 |
6 105 |
5 |
Завод 3 |
125 |
5
|
6 |
5 15 |
4 110 |
Величина поставки, передаваемой по циклу, равна min(70, 90) = 70. Определим новое распределение поставок и вычислим потенциалы.
Таблица 33. Переход к новому базисному решению
Поставщики и их мощности |
Потребители и их спрос |
Ui (i=1, 2, 3) |
||||
С. 1 |
С. 2 |
С. 3 |
С. 4 |
|||
90 |
80 |
120 |
110 |
|||
Завод 1 |
100 |
6 20 |
5 80 |
4 |
4 |
0 (1) |
Завод 2 |
175 |
3 70 |
7 |
6 105 |
5 |
3 (4) |
Завод 3 |
125 |
5
|
6 |
5 15 |
4 110 |
4 (6) |
Vj (j=1, 2, 3, 4) |
- 6 (2) |
- 5 (3) |
- 9 (5) |
- 8 (7) |
|
Суммарная стоимость поставок для данного распределения уменьшилась по сравнению с предыдущим значением на 5∙70 (произведение абсолютного значения отрицательной оценки клетки на величину поставки, переданной по циклу) и стала равна F=2225 – 5∙70 = 1875. Вычислим оценки клеток, запишем их во вспомогательную таблицу:
0 |
0 |
- 5 |
- 4 |
0 |
5 |
0 |
0 |
3 |
5 |
0 |
0 |
Клетки (1, 3) и (1, 4) имеют отрицательные оценки. Найдем цикл пересчета для клетки (1, 3) и определим величину передаваемой поставки.
Таблица 34. Определение цикла пересчета
Поставщики и их мощности |
Потребители и их спрос |
||||
С. 1 |
С. 2 |
С. 3 |
С. 4 |
||
90 |
80 |
120 |
110 |
||
Завод 1 |
100 |
6 – 20 |
5 80 |
4 + |
4 |
Завод 2 |
175 |
3 + 70 |
7 |
6 – 105 |
5 |
Завод 3 |
125 |
5
|
6 |
5 15 |
4 110 |
Величина поставки, передаваемой по циклу, равна min(20, 105) = 20.
Определим новое базисное распределение поставок, вычислим потенциалы строк и столбцов.
Таблица 35. Переход к новому базисному решению
Поставщики и их мощности |
Потребители и их спрос |
Ui (i=1, 2, 3) |
||||
С. 1 |
С. 2 |
С. 3 |
С. 4 |
|||
90 |
80 |
120 |
110 |
|||
Завод 1 |
100 |
6 |
5 80 |
4 20 |
4
|
0 (1) |
Завод 2 |
175 |
3 90 |
7 |
6 85 |
5 |
- 2 (4) |
Завод 3 |
125 |
5
|
6 |
5 15 |
4 110 |
- 1 (6) |
Vj (j=1, 2, 3, 4) |
- 1 (5) |
- 5 (2) |
- 4 (3) |
- 3 (7) |
|
Вычислим оценки клеток, запишем их во вспомогательную таблицу:
5 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
3 |
0 |
0 |
0 |
Оценки всех клеток неотрицательные, т.е. выполнен критерий оптимальности. Найденное базисное распределение поставок является оптимальным. Суммарные затраты на перевозку продукции равны
F=1875 –5∙20=1775.
Замечание 1. Поставка, передаваемая по циклу, не может быть меньше минимума поставок в клетках цикла со знаком «–». Если она будет меньше указанного минимума, то ни одна из клеток цикла не будет иметь нулевой поставки, а, следовательно, число заполненных клеток станет равным n+m и решение не будет базисным.
Замечание 2. Поставка, передаваемая по циклу, не может быть больше минимума поставок в клетках цикла со знаком «–». Если она будет больше указанного минимума, то решение становится недопустимым.
Замечание 3. Если минимум поставок клеток цикла со знаком «–» одновременно достигается в нескольких клетках, то после передачи поставки по циклу сразу в нескольких клетках получаем нулевую поставку. Для того чтобы решение оставалось базисным, число заполненных клеток должно оставаться равным n+m–1. Поэтому только одну из освободившихся клеток считаем свободной, а в остальных необходимо поставить нулевые поставки, т.е. считать эти клетки заполненными значением 0. Подобное решение является вырожденным.
Замечание 4. Если после нахождения оптимального решения среди оценок свободных клеток есть нулевые, то решение является неединственным. В выражении целевой функции через неосновные (свободные) переменные коэффициенты при соответствующих свободных переменных равны нулю. Перераспределение поставки в клетку с нулевой оценкой не изменяет оптимальное значение суммарных затрат.
Именно такое решение, соответствующее замечанию 4, получено в рассматриваемом примере. Для трех свободных клеток оценки оказались равными нулю, они выделены в последней таблице оценок жирным шрифтом. Рекомендуется самостоятельно определить циклы пересчета для каждой из этих клеток, величину поставки, передаваемой по циклу и записать соответствующие оптимальные планы поставок. Значение целевой функции F останется равным 1775.