
- •Управление непрерывными статическими тп
- •Методы статической оптимизации. Решение экстремальных задач. Классификация экстремальных задач
- •Экстремум функции многих переменных без ограничений
- •Определение экстремума квадратичных функций
- •Качественное исследование фмп перед применением численных методов
- •Приближенные методы поиска экстремума фмп без ограничений
- •Метод Зейделя-Гаусса (покоординатного спуска)
- •Градиентные методы.
- •Метод наискорейшего спуска.
- •Градиентные методы с заданием параметра шага
- •Шаговый градиентный метод
- •Метод сопряженных направлений
- •Классическая задача Лагранжа на условный экстремум (ограничения-равенства).
- •Приближенные методы решения классической задачи Лагранжа на условный экстремум
- •Неклассическая задача Лагранжа на условный экстремум (ограничения-неравенства)
- •Численные методы поиска экстремума фмп на ограничениях‑неравенствах
Численные методы поиска экстремума фмп на ограничениях‑неравенствах
Задачи линейного программирования хорошо разработаны и существуют стандартные программы их решения на ЭВМ. Имеется и обширная литература по линейному программированию.
Рассмотрим кратко геометрический способ решения задачи линейного программирования. Специфика задачи ЛП заключается в том, что линейная функция, заданная на замкнутом множестве ограничений, достигает своего наибольшего и наименьшего значений на границах этого множества.
Сформулируем задачу ЛП.
Дана линейная форма F=Cxи система ограниченийAxB. Среди неотрицательных решений найти такие, которые являются минимумом линейной формы на заданных ограничениях. Задача на максимум приводится к задаче на минимум изменением знакаF.
Если система ограничений задана линейными неравенствами, а они определяют выпуклые замкнутые множества, то их пересечение будет выпуклым замкнутым многогранником. На плоскости при n=2 получим выпуклый многоугольник. Следовательно, в ЛП линейная форма задается на замкнутом многограннике. Тогда ее наибольшее и наименьшее значения находятся на границе многогранника: или в вершинах, или на ребрах, или на гранях, причем их число конечно, т.к. конечно число ограничений.
Если
линейная форма достигает экстремума в
вершине (F1), то
решение единственно. Если линейная
форма достигает экстремума на ребрах
или гранях, то решений будет бесконечное
множество (F2).
Возможен случай, когда линейная форма
не имеет общих точек с многогранником,
тогда решения задачи ЛП не существует
(F3).
Пусть дана функция:
и ограничения:
.
Требования
вытекают из постановки задачи, т.е.
решения должны быть неотрицательными.
Требуется найти минимумF.
Построим заданные полупространства ограничений и их пересечение. Полученный четырехугольник является выпуклым, следовательно, решения могут быть только в вершинах или на ребрах многоугольника.
Задаемся
произвольным значением линейной формы.
ПустьF=6. Строится линия
6=15–x1–2,5x2,
которая не попадает на границу 4‑угольника.
Из функцииFвидно, что
для ее уменьшения (а мы ищем минимум)
надо увеличивать х1и х2,
т.е. следует перемещать прямуюFпо направлению к правому верхнему углу
4‑угольника на рисунке. ЗначениеFв этой точкеF(5,3)=2,5 –
минимально. Дальше х1и х2увеличивать нельзя, т.к.Fне будет иметь общих точек с
четырехугольником.
Решения
и
называютсяоптимальнымопорным
планом, его следует найти. Решение в
любой вершине – опорный план. ПлоскостьF, проходящая через вершину
– опорная плоскость.
Поставленную задачу можно решать численно путем перебора всех вершин, при этом используется т.н. симплекс-метод, когда путь к оптимальному опорному плану из некоторого опорного плана осуществляется за минимальное число шагов.
Рассмотрим одну из задач нелинейного программирования – квадратичное программирование – подробнее. Следует отметить, что даже для квадратичного программирования нет эффективных методов. Решение задач проводят только приближенно, при этом использую различные методы поиска, рассмотренные выше.
Задача квадратичного
программирования состоит в том, что
требуется найти экстремум квадратичной
функции
при линейных ограничениях-неравенствах
.
Предполагается, что функция
выпуклая и задана на выпуклом замкнутом
многограннике. В этом случае решение
задачи будет единственным.
Рассмотрим одно из направлений численного решения задачи квадратичного программирования, использующее симплексные процедуры (т.е. поиск ведется путем перебора граней, вершин и ребер, если говорить по-русски).
Пусть дана система ограничений вида:
,
и квадратичная
целевая функция
,
минимум которой нужно найти на данных
ограничениях.
На плоскости строится многоугольник, соответствующий заданным ограничениям. Обозначим его ребра через а1…а4и пронумеруем вершины от 1 до 4.
Экстремум
может находиться внутри многоугольника
или на его границах. Сначала проверяем,
находится ли глобальный экстремум
внутри многоугольника. Из необходимых
условий экстремума находим:
Для точки х*проверяются ограничения. Условиявыполняются.
– не выполняется,
– выполняется. Т.к. условие
не выполнилось, точка абсолютного
экстремума не принадлежит многоугольнику.
Эта точка на рисунке обозначена А*.
Теперь следует
определить на каких гранях или вершинах
достигает минимума. Т.к. число вершин и
ребер конечно, то за конечное число
итераций будет найдена экстремальная
точка.
Будем определять
экстремум
на ребрах используя метод Лагранжа.
а1) Для ребра а1(ограничение х1=0)
Получим точку А1=(0, 5), которая принадлежит М, значит является подозрительной на экстремум.f(A1)=16.
а2) Ограничение
,
,
.
Получили точку А2=(2,5; 3,5), которая принадлежит М.f(A2)=4,5.
а3) Ограничение.
,
,
.
Получили экстремальную точку на а3– А3=(5, 4), не принадлежащую многоугольнику, поэтому точку А3выбрасываем из дальнейшего расчета.
вершина |
|
1 |
41 |
2 |
17 |
3 |
6,5 |
4 |
34 |
Сравнивая значения
функции в точках А1и А2приходим к выводу, что минимум достигается
в точке А2. Теперь остается проверить
значения функции в вершинах многоугольника.
Проверка показывает, что значенияв вершинах будут больше, чем значение
функции в точке А2. Следовательно,
данная точка и является решением задачи.
Для решения задач нелинейного программирования применяются те же методы поиска экстремума, что были рассмотрены ранее.