
- •Введение
- •1. Основные понятия и определения
- •1.1. Оптимизационная задача
- •1.2. Допустимое решение
- •1.6.1. Частные критерии
- •1.6.2. Обобщенные критерии
- •Минимаксные критерии
- •1.7. Общая характеристика методов поиска экстремума
- •2. Линейное программирование
- •2.1. Стандартный вид задачи линейного программирования (злп)
- •2.2. Способы приведения задачи линейного программирования к стандартному виду
- •2.3. Графический метод решения задач линейного программирования
- •2.4. Симплекс-метод решения задач линейного программирования
- •2.4.1. Канонический вид задачи
- •2.4.2. Симплекс-таблица, соответствующая каноническому виду
- •2.4.3. Нахождение координат вершины допустимого многогранника по каноническому виду (по симплекс-таблице)
- •2.4.4. Алгоритм решения злп при помощи симплекс-метода
- •2.5. Приведение злп к каноническому виду
- •2.5.1. Метод искусственного базиса
- •2.6. Алгоритм двойственного симплекс метода
- •2.7. Целочисленное линейное программирование
- •Алгоритм метода сечения Гомори:
- •3. Нелинейное программирование
- •3.1. Методы поиска безусловного экстремума функции одной переменной
- •3.1.1. Аналитический метод
- •3.1.2. Численные методы
- •3.1.2.1. Основные понятия и определения
- •3.1.2.2. Метод ненаправленного поиска
- •3.1.2.3. Методы направленного поиска
- •3.2.Графический метод решения задач нелинейного программирования
- •3.3. Задачи дробно-линейного программирования
- •3.4. Методы поиска безусловного экстремума функции многих переменных
- •3.4.1. Аналитический метод
- •3.4.2. Численные методы
- •3.4.2.1. Метод покоординатного спуска
- •3.4.2.2. Метод наискорейшего спуска
- •3.5. Решение задач нелинейного программирования с ограничениями – равенствами. Метод неопределенных множителей Лагранжа
- •3.6. Задачи квадратичного программирования
2. Линейное программирование
2.1. Стандартный вид задачи линейного программирования (злп)
Целевая функция минимизируется, ограничения имеют вид равенств:
Q = P1 x1 + P2 x2 + + Pn xn min;
a11
x1
+ a12
x2
+
+ a1n
xn
= b1,
a21 x1 + a22 x2 + + a2n xn = b2,
(2.1)
am1 x1 + am2 x2 + + amn xn = bm,
x1, x2 ,, xn 0 . {Переменные в задачах линейного
программирования не отрицательны !}
Здесь aij , bi , Pi – постоянные коэффициенты.
В этих задачах количество переменных больше или равно количеству ограничений – равенств .
n
m
Если n m, то область допустимых решений – точка,
n m, то область допустимых решений – многогранник,
n m, то (m - n) ограничений линейно зависимы и их можно исключить.
2.2. Способы приведения задачи линейного программирования к стандартному виду
Случай 1. Исходные условия задачи: целевая функция минимизируется, ограничения представляют систему неравенств вида “меньше или равно”.
Для приведения задачи к стандартному виду вводят искусственные переменные xn+1, xn+2 , , xn+m. Эти искусственные переменные прибавляют к ограничениям:
a11x1
+ a12x2
+
+ a1nxn
+ xn+1
= b1,
a21x1 + a22x2 + + a2nxn + xn+2 = b2,
am1x1 + am2x2 + + amnxn + xn+m = bm, (2.2)
x1, x2 ,, xn 0
xn+1 ,xn+2 ,, xn+m 0.
Полученная задача тождественна исходной. Действительно, убрав искусственные переменные, получим левые части ограничений bi.
Случай 2. Исходные условия задачи: целевая функция минимизируется, ограничения имеют вид неравенств типа “больше или равно”.
Аналогично предыдущему случаю вводятся искусственные переменные, но эти переменные вычитаются из левых частей ограничений.
Случай 3. Исходные условия задачи: целевая функция максимизируется, ограничения имеют вид равенств.
Для приведения задачи к стандартному виду (2.1) сменим целевую функцию
Q = P1 x1+ P2 x2 + + Pn xn max
на целевую функцию G, все коэффициенты которой помножены на -1:
G = -P1 x1 - P2 x2 - - Pn xn min.
Полученная задача тождественна исходной.
2.3. Графический метод решения задач линейного программирования
Графический метод применяется для решения задач небольшой размерности (количество переменных равно двум). Рассмотрим метод на примере решения следующей задачи:
Q = x1 + x2 max;
x1
10 ,
x1 + 2 x2 20 , ( 2.3)
x1 , x2 0 .
Способ 1.
1. Заменяем ограничения-неравенства ограничениями-равенствами:
x1 = 10,
x1 + 2x2 = 20,
x1 = x2 = 0.
2. Строим графики полученных функций (рис. 2.1).
Х2
С
10 Х1=10
Q = 0 Область А
допустимых Х1 + 2Х2 = 20
решений
В
0 10 Х1
Q = max
Рис. 2.1. Графический метод решения ЗЛП
3. Находим область допустимых решений (область, где выполняются все ограничения).
4. Строим график целевой функции при каком-либо значении правой части:
Q = x1 + x2 = 0,
x2 = - x1.
5. График целевой функции перемещаем параллельно его начальному положению в сторону роста (уменьшения при Q min) целевой функции до касания с границей области допустимых решений.
Граничная точка (или отрезок прямой) является решением задачи линейного программирования.
6. В ответе записываем координаты граничной точки (точка А) и значение целевой функции в этой точке:
А [10; 5], Qmax = 15.
Выводы:
1. Область допустимых решений задачи линейного программирования представляет собой выпуклый многогранник;
2. Решение задачи линейного программирования находится на границе области допустимых решений.
Способ 2.
Пункты 1 – 3 выполняются так же как в способе 1.
4. Подсчитываем значения целевой функции во всех вершинах допустимого многогранника и выбираем экстремальное значение:
O [0; 0], Q = 0;
C [0; 10], Q = 10;
A [10; 5], Q = 15;
B [10; 0], Q =10.
Qmax = 15, следовательно, точка A [10; 5] – решение задачи.