![](/user_photo/2706_HbeT2.jpg)
- •Раздел 1. Линейное программирование
- •1.1. Математическая постановка задачи
- •Формализация задачи
- •1.2. Графическое решение задачи
- •1.3. Каноническая форма задачи
- •1.4. Базис и базисное решение
- •1.5. Табличный симплекс-метод (симплекс-алгоритм)
- •Шаг 7. Симплексные преобразования таблицы.
- •Анализ ситуации
- •Анализ ситуации:
- •1.6. Двойственная задача лп
- •Задание
- •1.7. Транспортная задача
- •1.8. Целочисленная задача лп
- •1.9. Задачи и вопросы для практических работ
Шаг 7. Симплексные преобразования таблицы.
а) все элементы направляющей строки разделить на ведущий элемент ;
б) элементы всех остальных строк, в том числе и индексной строки, преобразовать в соответствии с правилом
,
после чего
заменить в столбце хВ
переменную
на
переменную
,
а в столбце сВ –
коэффициент
на
коэффициент
.
Новая ситуация представлена в виде
таблицы Т1.
Таблица Т1
Индексная
стстрока
Главная часть таблицы
Рис.2.3. Состояние после первого
симплекс - преобразования
Анализ ситуации
Теперь новым базисом является B = [a2, a3, a4], а новым базисным решением хВ = (х2б, х3б, х4б)Т =(3, 2, 3)T. Они получены путем преобразования старого базиса и старого базисного решения: из них исключены а5 и х5, а и включены а2 и х2 соответственно; при этом х2 = 0 = 3. Новому базисному решению соответствует вершина x2 = (0, 3, 3, 2, 0)T, в которой текущее значение целевой функции равно f (x) = f (x2) = c2x2 = 9. Именно эта величина и стоит в ячейке индексной строки для значения функции.
Поскольку в индексной строке есть положительная симплекс – разность (CP)j = (CP)1 , первый столбец и выбирается в качестве нового ведущего столбца, т.е. j0 = 1. Новой ведущей строкой является строка с индексом i0 = 3.
Результаты преобразований второй итерации приведены в таблице Т2.
Таблица Т2
Анализ ситуации:
- новый базис B = [a1, a2, a4];
новое базисное решение xB = (x1 x2 x4)T = (3/4, 3, 5/4)T; новая вершина x3 = (3/4, 3, 0, 5/4, 0)T;
новое значение целевой функции f (x) = f (x3) = сВТхВ = сТх3 = 21/2.
Как видно из таблицы Т2,
В новой ситуации все симплекс - разности
не положительны, т.е. (СР)3
= -1/2 < 0; (СР)5 = -3/2 < 0, (СР)1
= (СР)2
= (СР)4 = 0. Следовательно,
оптимальное решение найдено: Оно равно
x*
=
= (3/4, 3)T,
f *
= f (x*)
= 21/2.
1.6. Двойственная задача лп
Говорят, что две задачи линейного программирования находятся в отношении двойственности, если они имеют структуру
(6.1)
(6.2)
В них с, х Еп; y, b Еm; A – (mxn) – матрица, x, y ; D, D\ -области допустимых решений.
Как видно, в первой задаче, назовем ее прямой, целевая функция максимизируется, а во второй задаче, соответственно назовем ее двойственной, она минимизируется; размерность первой задачи – (nxm), т. е. п переменных и m ограничений, а размерность второй задачи – (mxn), т. е. m переменных и п ограничений.
Наиболее важными свойствами двойственных задач являются:
а)
;
(6.3)
б)
если существуют векторы x0
и y0, такие,
что
,
то x0 является
оптимальным решением прямой, а y0
– оптимальным решением двойственной
задач;
в) для оптимальных решений справедливы условия дополняюшей нежесткости Слейтера
x0T(ATy0 – c) = 0, (6.4)
y0T(- Ax0 + b) = 0. (6.5)
Эти условия выражают «экономическую» сущность переменных: переменные хj, j = 1, …, n, являются «теневыми» ценами для второй задачи. А переменные yi, i = 1, …, m, - «теневыми» ценами для первой задачи. «Теневая» цена означает, что если какой либо ресурс bi использован не полностью, т.е. аix* bi, то соответствующая двойственная переменная yi0 равна нулю, т.е.
yi0(аix* - bi) = 0, , i = 1, …, m, (6.6)
аналогично, если имеет место ajy cj, то нулю равна переменная xj0 и выполняется условие
xj0(ajy - cj) = 0. j = 1, …, n, (6.7)
В этих выражениях через aj обозначены строки матрицы А, а через aj – строки матрицы АТ.
г) оптимальные решения x0 и y0 связаны с соответствующими элементами индексной строки симплексных таблиц соотношениями
(6.8)
где
– элементы индексной строки прямой
задачи,
– элементы индексной строки двойственной
задачи.
Например, в таблице T2 предыдущей задачи мы имеем
,
следовательно,
После решения двойственной задачи симплекс-методом, аналогичные соотношения находим и для двойственных переменных xj0, j = 1, …, n.
Иллюстрируем соотношения двойственности на уже рассмотренном выше примере.
Прямая задача:
4x1 + 3x2 ≤ 12
x1 ≤ 2, x2 ≤ 3
x1 , x2 ≥ 0
Двойственная задача:
.
4y1 + 1y2 ≥ 2
3y1 + 1y3 ≥ 3
y1, y2, y3 ≥ 0
Оптимальные решения прямой и двойственной задачи имеют вид (смотри выше)
x0 = x* = (3/4, 3)T; y0 = y* = (1/2, 0, 3/2)T,
f (x0)
= 21/2 =
(y0)
= 21/2.
Эти решения удовлетворяют условиям дополняющей нежесткости Слейтера: