- •Б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 |
|
Полученная
симплекс-таблица удовлетворяет и условию
оптимальности и условию допустимости,
так как она, во-первых, не содержит
отрицательных коэффициентов в
-строке,
а, во-вторых, в графе «Решение» все
значения положительные.
Таким образом, мы получили оптимальное, допустимое решение, которое имеет вид:
,










































