- •Управление непрерывными статическими тп
- •Методы статической оптимизации. Решение экстремальных задач. Классификация экстремальных задач
- •Экстремум функции многих переменных без ограничений
- •Определение экстремума квадратичных функций
- •Качественное исследование фмп перед применением численных методов
- •Приближенные методы поиска экстремума фмп без ограничений
- •Метод Зейделя-Гаусса (покоординатного спуска)
- •Градиентные методы.
- •Метод наискорейшего спуска.
- •Градиентные методы с заданием параметра шага
- •Шаговый градиентный метод
- •Метод сопряженных направлений
- •Классическая задача Лагранжа на условный экстремум (ограничения-равенства).
- •Приближенные методы решения классической задачи Лагранжа на условный экстремум
- •Неклассическая задача Лагранжа на условный экстремум (ограничения-неравенства)
- •Численные методы поиска экстремума фмп на ограничениях‑неравенствах
Численные методы поиска экстремума фмп на ограничениях‑неравенствах
Задачи линейного программирования хорошо разработаны и существуют стандартные программы их решения на ЭВМ. Имеется и обширная литература по линейному программированию.
Рассмотрим кратко геометрический способ решения задачи линейного программирования. Специфика задачи ЛП заключается в том, что линейная функция, заданная на замкнутом множестве ограничений, достигает своего наибольшего и наименьшего значений на границах этого множества.
Сформулируем задачу ЛП.
Дана линейная форма 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. Следовательно, данная точка и является решением задачи.
Для решения задач нелинейного программирования применяются те же методы поиска экстремума, что были рассмотрены ранее.