- •Б2.Б4 методы оптимальных решений
- •Бакалавр
- •Оглавление
- •Введение
- •1. Геометрическая интерпретация задач линейного программирования
- •Пример:
- •Решение
- •2. Симплексный метод решения задачи линейного программирования
- •Симплекс-метод с естественным базисом
- •3. Основные понятия теории двойственности
- •3 Найдем матрицу Ат1, транспонированную к а1.
- •4. Двойственный симплекс-метод
- •5. Симплексный метод с искусственным базисом
- •6. Целочисленное программирование. Метод Гомори.
- •7. Дробно-линейное программирование
- •8. Задачи нелинейного программирования. Метод множителей Лагранжа
- •Метод множителей Лагранжа
- •Алгоритм метода множителей Лагранжа
- •Задания для самостоятельной работы
- •1. Решить задачи линейного программирования графическим методом, симплексным методом с искусственным базисом, методом Гомори
- •2. Решить симплексным методом с естественным базисом
- •3. Построить и решить задачи, двойственные к данным:
- •4. Решить задачи дробно-линейного программирования двумя способами:
- •Тестовые задания
- •А) первой симплекс таблице
- •Задания для выполнения расчетно-графической работы и контрольной работы заочников Задание 1 (вариант по номеру в списке группы преподавателя)
- •Задание 2 (варианты остаются те же)
- •Фонд контрольных вопросов
- •Билеты к экзамену минсельхозпрод рф экзаменационный утверждено
- •Минсельхозпрод рф экзаменационный утверждено
- •Минсельхозпрод рф экзаменационный утверждено
- •Минсельхозпрод рф экзаменационный утверждено
- •Минсельхозпрод рф экзаменационный утверждено
- •Библиографический список
3 Найдем матрицу Ат1, транспонированную к а1.
1 -2 1 1
-2 -3 0 -2
1 2 3 1
Ат1 = 3 1 0 -1
-2 -1 -4 1
------------------------------
6 -4 8 F
Сформулируем двойственную задачу.
F = 6y1 - 4y2 + 8y3 => max
y1 - 2y2 + y3 < 1
-2y1 - 3y2 = -2
y1 + 2y2 + 3y3 < 1
3y1 + y2 = -1
-2y1 - y2 - 4y3 < 1
у2 ≥ 0, у3 ≥ 0; у1 не имеет ограничения знака.
4. Двойственный симплекс-метод
Двойственный симплекс-метод, как и симплекс-метод, используется при нахождении решения задачи линейного программирования, записанной в форме основной задачи, для которой среди векторов Pi , составленных из коэффициентов при неизвестных в системе уравнений, имеется m единичных. Вместе с тем двойственный симплекс–метод можно применять при решении задачи линейного программирования, свободные члены системы уравнений которой могут быть любыми числами (при решении задачи симплексным методом эти числа предполагались неотрицательными). Такую задачу и рассмотрим теперь, предварительно предположив, что единичными являются векторы т. е. рассмотрим задачу, состоящую в определении максимального значения функции
при условиях
(56)
Где
и среди чисел имеются отрицательные.
В данном случае есть решение системы линейных уравнений (55). Однако это решение не является планом задачи (54) – (56), так как среди его компонент имеются отрицательные числа.
Поскольку векторы – единичные, каждый из векторов можно представить в виде линейной комбинации данных векторов, причем коэффициентами разложения векторовпо векторамслужат числа
Таким образом, можно найти:
На основе исходных данных составляют симплекс-таблицу, в которой некоторые элементы столбца вектора являются отрицательными числами. Если таких чисел нет, то в симплекс-таблице записан оптимальный план задачи (54) – (56), поскольку, по предположению, все. Поэтому для определения оптимального плана задачи при условии, что он существует, следует произвести упорядоченный переход от одной симплекс–таблицы к другой до тех пор, пока из столбца вектораP0 не будут исключены отрицательные элементы. При этом все время должны оставаться неотрицательными все элементы (т +1)–й строки, т.е. для любого
Таким образом, после составления симплекс-таблицы проверяют, имеются ли в столбце вектора Po отрицательные числа. Если их нет, то найден оптимальный план исходной задачи. Если же они имеются (что мы и предполагаем), то выбирают наибольшее по абсолютной величине отрицательное число. В том случае, когда таких чисел несколько, берут какое–нибудь одно из них: пусть это число bl. Выбор этого числа определяет вектор, исключаемый из базиса, т. е. в данном случае из базиса выводится вектор Pl. Чтобы определить, какой вектор следует ввести в базис, находим
, где
Пусть это минимальное значение принимается при j=r, тогда в базис вводят вектор Рr. Число является разрешающим элементов. Переход к новой симплекс–таблице производят по обычным правилам симплексного метода. Итерационный процесс продолжают до тех пор, пока в столбце вектораР0 не будет больше отрицательных чисел. При этом находят оптимальный план исходной задачи, а следовательно, и двойственной. Если на некотором шаге окажется, что в i–й строке симплекс–таблицы в столбце вектора Р0 стоит отрицательное число bi, а среди остальных элементов этой строки нет отрицательных, то исходная задача не имеет решения.
Таким образом, отыскание решения задачи двойственным симплекс-методом включает следующие этапы:
1. Находят псевдоплан задачи.
2. Проверяют этот псевдоплан на оптимальность. Если псевдоплан оптимален, то найдено решение задачи. В противном случае либо устанавливают неразрешимость задачи, либо переходят к новому псевдоплану.
3. Выбирают разрешающую строку с помощью определения наибольшего по абсолютной величине отрицательного числа столбца вектора Р0 и разрешающий столбец с помощью нахождения наименьшего по абсолютной величине отношения элементов (m+1)–и строки к соответствующим отрицательным элементам разрешающей строки.
4. Находят новый псевдоплан и повторяют все действия начиная с этапа 2.
Пример. Найти максимальное значение функции
при условиях:
Решение. Запишем исходную задачу линейного программирования в форме основной задачи: найти максимум функции при условиях
Составим для последней задачи двойственную задачу. Такой является задача, в результате решения которой требуется найти минимальное значение функции
Строим симплекс таблицу:
Итерация 0:
Базис |
Решение |
Оценка | |||||
-7 |
2 |
0 |
0 |
0 |
0 |
| |
1 |
1 |
1 |
0 |
0 |
5 | ||
2 |
-3 |
0 |
1 |
0 |
6 |
3 | |
-3 |
-1 |
0 |
0 |
5 |
3 |
- |
Условие допустимости выполняется, так как в графе «Решение» все значения положительные, но не выполняется условие оптимальности, так как -строка содержит отрицательный коэффициент. Продолжаем наши действия
Итерация 1:
Базис |
Решение | |||||
0 |
9 |
7 |
0 |
0 |
35 | |
1 |
1 |
1 |
0 |
0 |
5 | |
0 |
-5 |
-2 |
1 |
0 |
-4 | |
0 |
2 |
3 |
0 |
5 |
18 |
Данная симплекс-таблица не удовлетворяет условию допустимости, так как графа «Решение» содержит отрицательные значения, но удовлетворяет условию оптимальности, так как -строка не содержит отрицательных коэффициентов.
Итерация 2:
Базис |
Решение | |||||
0 |
1 |
0 | ||||
0 |
0 |
0 | ||||
0 |
1 |
0 | ||||
0 |
0 |
5 |
Полученная симплекс-таблица удовлетворяет и условию оптимальности и условию допустимости, так как она, во-первых, не содержит отрицательных коэффициентов в -строке, а, во-вторых, в графе «Решение» все значения положительные.
Таким образом, мы получили оптимальное, допустимое решение, которое имеет вид:
,