- •Лекция 1 Общие понятия математического моделирования процессов в машиностроении
- •Требования, предъявляемые к математическим моделям
- •Лекция 3 Основы теории множеств и теории графов
- •Лекция 4 Общая постановка и виды задач принятия решений. Математическая постановка и разрешимость задач оптимизации
- •Основы теории оптимизации
- •Математическая постановка задачи оптимизации
- •Локальный и глобальный минимум (максимум) целевой функции
- •Разрешимость задач оптимизации
- •Лекция 5 Графо – аналитический метод решения задач математического программирования
- •Графо-аналитический метод решения задач оптимизации
- •Лекция 6 Методы решения задач линейного программирования
- •Графо-аналитический метод решения задач линейного программирования
- •Симплекс метод решения задач линейного программирования
- •Симплекс – метод. Этапы поиска решений
Лекция 6 Методы решения задач линейного программирования
Постановка
задачи.
Требуется найти оптимальные значения
переменных
,
доставляющие экстремум линейной
целевой функции
Имеется конечное число линейных ограничений вида:
Графо-аналитический метод решения задач линейного программирования
Пример.
Найти оптимальные значения
.
Целевая функция
Ограничения:
1 этап. Построение области допустимых решений (ОДР).
Для
формирования ОДР необходимо в системе
координат
построить
линии, соответствующие ограничениям,
приравнивая их левые и правые части, и
определить направления расположения
допустимых значений искомых переменных
в соответствии со знаками неравенств
(рис.6.1).
Рис.6.1. Графическая иллюстрация решения задачи линейного программирования
Вычисления для построения первых двух ограничений:
|
0 |
5 |
|
10 |
0 |
|
0 |
6 |
|
6 |
4 |
Направления
допустимости значений переменных
и
в
соответствии с первыми двумя ограничениями
– «вниз - влево». В соответствии с третьим
ограничением значения переменной
должны
находиться выше оси
,
а в соответствии с четвертым ограничением
значения переменной
должны
находиться правее оси
.
Следует иметь в виду, что границы ОДР в
область допустимых решений входят. Это
объясняется тем, что в ограничениях
применяются знаки неравенств «меньше
– равно»
и «больше – равно».
2 этап. Окончательное определение оптимальных значений переменных и .
Для этого необходимо сначала построить произвольную прямую для целевой функции, приравняв ее выражение к любому числу, так, чтобы эта прямая располагалась в пределах выбранного масштаба рисунка. Приравняем выражение целевой функции, например, к числу «16» и построим соответствующую прямую линию.
|
0 |
8 |
|
8 |
4 |
После этого необходимо построить прямую линию, параллельную данной прямой, так, чтобы она коснулась границы ОДР. Координаты точки касания этой прямой с границей ОДР будут оптимальными значениями переменных и .
Для
точного определения координат точки
касания линии целевой функции границы
ОДР (точных значений
и
)
необходимо решить систему, включающую
в себя два уравнения:
и
.
Решим эту систему уравнений:
.
Подставим это значение
во
второе уравнение:
Т.е.
.
При этом максимальное значение целевой
функции
.
Симплекс метод решения задач линейного программирования
ОДР в двухпараметрической задаче линейного программирования представляет собой плоский многогранник (см. предыдущий пример), а в общем виде это выпуклый многогранник.
Теорема: экстремум целевой функции в задаче линейного программирования, если он существует, всегда является абсолютным и достигается хотя бы в одной крайней точке многогранника, определяющего ОДР.
Примечание. Крайние точки – это точки пересечения границ ОДР.
Идея симплекс метода заключается в направленном переборе крайних точек ОДР. Этот метод является классическим в линейном программировании.
Пример. Требуется минимизировать целевую функцию
при следующих ограничениях:
Поcтавим в соответствие этой задаче следующую систему линейных уравнений:
|
(6.1) |
|
(6.2) |
|
(6.3) |
Решим эту систему методом последовательного исключения неизвестных (методом Гаусса). В его основе лежат следующие элементарные преобразования:
Умножение какого - либо уравнения на число, отличное от нуля;
Сложение двух уравнений и последующая замена одного из них получившейся суммой;
Перемена местами любых двух уравнений.
С помощью элементарных преобразований получим следующую систему:
|
(6.4) |
|
(6.5) |
|
(6.6) |
Уравнение (6.6) – это сумма уравнений (6.2) и (6.3).
Уравнение (6.5) – это сумма уравнений (6.2) и (6.6).
Уравнение (6.4) - это сумма уравнения (6.1) и уравнений (6.5) и (6.6).
Пусть
,
при этом значения переменных будут
следующими:
.
Эти
значения являются решением системы
уравнений (6.4) – (6.6) и, значит, системы
уравнений (6.1) – (6.3). Причем,
,
т.е. найденное решение допустимо.
Т.к.
(см.6.4), то для уменьшения значения целевой
функции необходимо увеличить
,
но увеличивать его бесконечно нельзя,
иначе величины
и
станут
отрицательными (
,
эти выражения получены соответственно
из уравнений 6.5 и 6.6). Согласно первому
уравнению
может
быть равным 4/3, согласно второму уравнению
3. Для того, чтобы все условия задачи
выполнялись, необходимо взять наименьшее
из этих значений -
(если принять
,то
,
что приемлемо, а
,
что не приемлемо для нашей задачи, т.е.
необходимо принять
).
Тогда из уравнения (6.5) следует, что
.
С помощью элементарных преобразований приведем систему уравнений (6.4) – (6.6) к следующей системе:
|
(6.7) |
|
(6.8) |
|
(6.9) |
Система (6.7) – (6.9) из системы (6.4) – (6.6) получена следующим образом:
,
разделим
это уравнение на 3, получим
-
подставим в (6.6)
Запишем решение системы уравнений (6.7) – (6.9):
.
Здесь
,
уменьшать
для
дальнейшего уменьшения целевой функции
нельзя , т.к. оно станет отрицательным
, увеличивать его нет смысла, т.к. при
этом увеличивается целевая функция.
Следовательно, полученное значение
является
минимальным,
и ему соответствует оптимальные значения
искомых переменных:
.
Эти оптимальные значения переменных
справедливы и для исходной задачи.
