
- •Киевский университет имени Тараса Шевченко
- •Общие рекомендации к использованию программного обеспечения
- •Элементарные преобразования матриц. Метод гаусса
- •Задача линейного программирования. Симплекс-метод Постановка задачи линейного программирования в стандартной форме (сзлп).
- •Задача линейного программирования. Модифицирован симплекс-метод.
- •Задача линейного программирования. Двойственный симплекс-метод
- •Транспортная задача. Метод потенциалов
- •Транспортная задача с ограниченными пропускными
- •Способностями. Метод потенциалов
- •Постановка транспортной задачи с ограниченными
- •Пропускными способностями (тзо).
- •Задача о кратчайшем пути на сети. Метод минти
- •Задача о максимальном потоке на сети. Метод форда-фалкерсона
- •Задача целочисленного линейного программирования. Метод гомори-1
- •Задача частично целочисленного линейного программирования. Метод гомори-2 Постановка частично целочисленной задачи линейного программирования (чцзлп).
- •Задача целочисленного линейного програмування. Метод гомори-3
- •Задача частично дискретного линейного программирования. Метод дальтона-ллевелина Постановка частично дискретной задачи линейного программирования (чдзлп).
- •Задача целочисленного линейного программирования. Метод ветвей и границ.
- •Лабораторная работа 14. Задача о назначении. Венгерский метод
- •Лабораторная работа 15. Задача о назначении. Метод мака Постановка задачи такая же самая, как и в предыдущем разделе (14.1–14.4).
- •6. Если каждый столбец матрицы расходов имеет элемент с отметкой *, тогда задача об оптимальных назначениях решена. Иначе переходим к следующему пункту.
- •Матричные игры. Связь с задачей линейного программирования. Метод брауна-робiнсон
- •Лабораторная работа 17. Методы одномерной оптимiзации
- •Лабораторная работа 18. Задача выпуклого квадратичного программирования. Квадратичный симплекс-метод
- •Задача безусловной оптимизации. Метод самого быстрого спуску
- •Лiтература
Задача линейного программирования. Двойственный симплекс-метод
Изложение двойственного симплекс-метода.
Двойственный симплекс-метод (ДСМ) непосредственно применяется к решению почти каноничной задачи линейного программирования (МКЗЛП), которая формулируется таким образом:
Найти вектор x = (x1...,xn), что минимизирует линейную функцию
L(x)= c1x1 + ... + cnxn (4.1)
и удовлетворяет систему линейных ограничений
xi + ai,m+1 xm+1 + ... + ainxn = ai0, i=1...,m (4.2)
xj0, j=1...,n (4.3)
(компоненты ai0вектора ограничений A0могут быть отрицательными) при дополнительном условии: относительные оценки (симплекс - разницы) j переменных xjнеотъемлемые.
Вектор x=(x1...,xn) называется почти допустимым базисным решением (МДБР) МКЗЛП, если его компоненты удовлетворяют ограничение (4.2), и ненулевым компонентамxj отвечают линейно независимые векторыусловий Aj.
Базис и базисная матрица МДБР определяются подобно тому, как это делается для СЗЛП.
МКЗЛП является случаем части СЗЛП. Существуют методы сведения произвольной ЗЛП к почти каноничному виду.
Признак оптимума: Если на некотором шаге ДСМ компоненты МДБР x*неотъемлемые, то x* — оптимальное решение МКЗЛП.
Признак отсутствия решения: Оптимального решения МКЗЛП не существует, если на каком-либо шаге ДСМ в строке с ai0<0все компоненты aij0, j=1...,n. В этом случае допустимое множество решений МКЗЛП пустое.
Алгоритм двойственного симплекс-метода.
На каждом шагу ДСМ выполняются такие действия (расчетные формулы наводятся лишь для первого шага).
1. Рассматривается МДБР x=(a10...,am0,0,...,0).
Вычисляются относительные оценки (симплекс - разницы) j небазисных переменных xj, j=m+1...,n, за формулой:
j=cj – (cб, Aj)
где cб=(c1...,cm), Aj — вектор условий, что отвечает переменной xj (относительные оценки базисных переменных равняются нулю).
Если для всех i=1...,m выполняется условие ai00, то МДБР x будет оптимальным решением МКЗЛП. Конец вычислений.
Если существует такое и, что ai0<0, а коэффициенты aij0, j=1...,n, то МКЗЛП не имеет допустимых решений. Конец вычислений.
2. Если существуют индексы и, для которых ai0<0, а среди соответствующих компонент aij, j=1...,n, есть отрицательные, то находят l:
l=argmin ai0
и: ai0<0
вычисляют отношение j=–jaljдля всех alj<0и определяют k:
k=argmin j.
и: alj<0
3. Переходят к новому МДБР, исключая из базиса вектор Alи вводя к базису вектор Ak. Упомянутый переход осуществляется с помощью симплекс - превращений (элементарных превращений Жордана - Гаусса с ведущим элементом alk) над элементами расширенной матрицы условий. Переход к пункту 1.
Программное обеспечение.
Обучающий модуль, с помощью которого ЗЛП Решается в диалоге с пользователем за выложенным алгоритмом, вызывается из раздела «ЛИНЕЙНОЕ ПРОГРАММИРОВАНИЕ» главного меню пакета ПО–МО.
Задание.
Решить двойственным симплекс-методом задачи линейного программирования, условия которых задаются модулем с помощью команды «Данные» главного меню (задачи №1–№9), а также следующие задачи.
Во всех задачах, которые предлагаются дальше, все переменные неотъемлемые.
1) |
6 x1 + 4 x2 min |
2) |
2 x1 + 3 x2 min |
3) |
–6 x1 – 4 x2 max |
|
2 x1 + x2 3 |
|
x1 + 5 x2 16 |
|
2 x1 + x2 3 |
|
x1 – x2 1 |
|
3 x1 + 2 x2 12 |
|
x1 – 2 x2 2 |
|
– x1 + 2 x2 1; |
|
2 x1 + 4 x2 16; |
|
3 x1 + 2 x2 1; |
4) |
6 x1 + 4 x2 min |
5) |
7 x1 + x2 min |
6) |
7 x1 + 10 x2 min |
|
2 x1 + x2 3 |
|
x1 + x2 3 |
|
2 x1 + 28 x2 17 |
|
3 x1 + 2 x2 1 |
|
5 x1 + x2 5 |
|
x1 + 2 x2 3; |
|
– x1 – x2 6; |
|
x1 + 5 x2 5; |
|
x1 + 17 x2 19; |
7) |
x1 + x2 + 2 x3 min |
8) |
–15x1 – 33 x2 max |
|
2 x1 – x2 – 3 x3 + x4 = – 3 |
|
3 x1 + 2 x2 6 |
|
x1 – 3 x2 – 4 x3 + x5 = – 1; |
|
6 x1 + x2 6; |
9) |
x1 + 2 x2 min |
10) |
78 x1 + 52 x2 min |
11) |
5 x1 + 4 x2 min |
|
2 x1 + x2 18 |
|
6 x1 + 2 x2 9 |
|
x1 + x2 6 |
|
x1 + 2 x2 14 |
|
10 x1 + 14 x2 13 |
|
2 x1 + x2 9 |
|
x1 – 2 x2 10; |
|
11 x1 x2 6; |
|
3 x1 + x2 11. |
Ответы:
1) x* = (1; 1), L(x*)= 10.
2) x* = (2; 3), L(x*)= 13.
3) x* = (1.5; 0), L(x*)= 9.
4) Решения нет ( D = ).
5) x* = (0; 5), L(x*)= 5.
6) x* = (0; 1.5), L(x*)= 15.
7) x* = (0; 0; 1; 0; 3), L(x*)= 2.
8) x* = (2; 0), L(x*)=30.
9) x* = (7.33; 3.33), L(x*)= 14.
10) x* = (0.96; 1.62), L(x*)= 159.12.
11) x* = (4.5; 0), L(x*)= 22.5.
Лабораторная работа 5.