
- •Введение
- •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.4. Симплекс-метод решения задач линейного программирования
Симплекс-метод является универсальным методом. Рассмотрим основные понятия симплекс-метода.
2.4.1. Канонический вид задачи
Рассмотрим пример 2.1.
Q = 10 – x1 – x2 min,
3
x1
+ 2 x2
+ x3
= 10,
4 x1 + 5 x2 + x4 = 20, (2.4)
x1 + 7 x2 + x5 = 45,
x1 , , x5 0.
Канонический вид задачи должен удовлетворять следующим условиям:
1. Количество переменных (n) не меньше количества ограничений (m).
2. Ограничения имеют вид равенств.
3. Среди n переменных имеются такие m переменных, которые удовлетворяют условию: коэффициент при этой переменной в одном ограничении равен единице, в остальных – нулю. Эти переменные называют базисными (x3 , x4 , x5 - базисные переменные), остальные (n - m) переменные – свободными.
4. Правые части ограничений неотрицательны.
5. Целевая функция выражена через свободные переменные и минимизируется.
Каждому каноническому виду соответствует вершина допустимого многогранника.
2.4.2. Симплекс-таблица, соответствующая каноническому виду
Каждому
каноническому виду поставлена в
соответствие симплекс-таблица. В таблице
для (2.4) левый столбец – номера базисных
переменных; верхняя строка – номера
свободных переменных; правый столбец
– правые части ограничений; нижняя
строка (кроме крайнего правого элемента)
– коэффициенты целевой функции; элемент,
стоящий справа в нижней строке – значение
(- Q0),
где Q0
– свободный член целевой функции;
внутреннее пространство таблицы –
коэффициенты при свободных переменных.
1 2
3 3 2 10
4 4 5 20
5 1 7 45
-1 -1 -10
2.4.3. Нахождение координат вершины допустимого многогранника по каноническому виду (по симплекс-таблице)
Задача линейного программирования может иметь столько канонических видов, сколько вершин у допустимого многогранника.
Для определения координат вершины допустимого многогранника свободные переменные приравниваются к нулю, базисные переменные – правым частям. Целевая функция в данной вершине равна (-Q0 ).
Для приведенной в подразделе 2.4.2 симплекс-таблицы
x3 = 10, x4 = 20, x5 = 45, x1 = x2 = 0, Q = 10.
Пример 2.2.
Q = x1 + x2 max ,
x1
10,
x1 + 2 x2 20, (2.5)
x1, x2 0.
Для приведения задачи к каноническому виду добавим в первое ограничение переменную x3, во второе ограничение – переменную x4, целевую функцию помножим на -1 :
x1 + x3 = 10,
x1 + 2 x2 + x4 = 20, (2.6)
G = -x1 - x2 min ,
где х3 , x4 – базисные переменные; х1 , x2 – свободные переменные.
Этому каноническому виду соответствует вершина:
x1 = 0, x2 = 0, x3 = 10, x4 = 20, G = Q = 0.
Составим таблицу коэффициентов при переменных в ограничениях:
х1 |
x2 |
x3 |
x4 |
b |
1 |
0 |
1 |
0 |
10 |
1 |
2 |
0 |
1 |
20 |
Поделим коэффициенты второй строки этой таблицы на 2:
х1 |
x2 |
x3 |
x4 |
b |
1 |
0 |
1 |
0 |
10 |
0,5 |
1 |
0 |
0,5 |
10 |
Как видим, для второй таблицы базисными являются переменные x2, x3, а ограничения примут вид
x1 + x3 = 10,
0,5 x1 + x2 + 0,5 x4 = 10.
Так как переменная x2 стала базисной, ее необходимо исключить из целевой функции:
G = - x1 - x2 = -x1 - (10 - 0,5 x1 - 0,5 x4) = - 10 - 0,5 x1 + 0,5 x4.
Соответствующая вершина имеет следующие координаты:
x1 = 0, x4 = 0, x2 = 10, x3 = 10, G = -10 (Q = 10).
Сущность симплекс метода – это направленный перебор вершин допустимого многогранника и нахождение той вершины, где целевая функция минимальна.