Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Одномерная задача оптимизации Лекции.doc
Скачиваний:
22
Добавлен:
17.03.2015
Размер:
742.91 Кб
Скачать

Задача выпуклого программирования

Рассмотрим -мерную задачу выпуклого программирования

() – выпуклая функция,  – выпуклое не пустое ограниченное и замкнутое множество допустимых значений вектора варьируемых переменных. Напомним, что по определению выпуклая функция является непрерывной.

Во внутренних точках множества допустимых значений  функция () достигает минимального значения в точках, которые являются ее либостационарными точками функции, либо критическими точками функции. Однако функция может достигать своего наименьшего значения и в граничных точках области определения .

Важные свойства задачи выпуклого программирования определяют две следующие теоремы.

Теорема 1. Если внутренняя точка  множества  является точкой локального минимума в задаче выпуклого программирования, то в этой точке функция  достигает глобального минимума.

Доказательство. Положим, что в точке  функция  не достигает наименьшего во множестве  значения. Тогда существует точка  , для которой . Рассмотрим сечение . Функция () достигает в точке =0 наибольшее значение. Действительно, поскольку 

Это значит, что существует окрестность  точки  и некоторое  такие, что

. Но тогда , что противоречит условию теоремы

Из теоремы следует, что во всех точках локального минимума выпуклая функция имеете одинаковые значения.

Пример 1

Рассмотрим не строго выпуклую квадратичную функцию , определенную в области = (см. рис. 1). Все локальные минимумы этой функции равны нулю и расположены на прямой -+=0 .

MATLAB-программа:

x=-2:0.06:2;

y=x;

[X,Y]=meshgrid(x);

Z=(X+Y).^2;

V=[0.025,0.5,1,2,4,8];

[C,h]=contour(X,Y,Z,V);

clabel(C,h);

Рис. 1.  К прим. 1

Теорема 2. Функция (), строго выпуклая функция на выпуклом множестве, имеет в этом множестве не более одной точки минимума (глобального)

Условие существования решения задачи выпуклого программирования дает следующая теорема.

Теорема 3. Пусть функция () выпукла на выпуклом множестве  и дифференцируема в точке  Тогда для того чтобы эта точка была точкой минимума функции (), необходимо и достаточно, чтобы для любой точки  выполнялось неравенство

 (1)

Необходимость. Рассмотрим сечение  функции (). Функция () определена на отрезке [0,1], имеет в точке =0 локальный минимум и дифференцируема в этой точке. Следовательно  (равенство нулю имеет место в том случае, когда точка  является внутренней точкой множества ). По правилу дифференцирования сложной функции

Достаточность. Пусть в точке  выполнено неравенство (1). Рассмотрим сечение  функции (), где  – произвольная точка из множества . Поскольку () выпукла во множестве , то функция () также выпукла на отрезке [0,1]. Кроме того, из неравенства (1) следует, что (0)0. Это означает, что () - неубывающая отрезке [0,1] функция, т.е. (0)(1). Последнее неравенство означает, что и в точке  функция () принимает наименьшее в области  значение

Теорему 3 иллюстрирует рис. 2, линии уровня на котором получены с помощью следующей MATLAB-программы:

x=-2:0.06:-0.1;

y=x;

[X,Y]=meshgrid(x);

Z=100.*(Y-X.^2).^2+(1-X).^2;

V=[2,8,32,125,250,500,1000,2000];

contour(X,Y,Z,V);

[C,h]=contour(X,Y,Z,V);

clabel(C,h);

Точка на рис.рис. 2 является точкой локального минимума, поскольку не существует такой точки , что скалярное произведение ((),(-)) отрицательно. Точка , например, не является точкой локального минимума, так как существуют такие точки , что скалярное произведение ((),(-)) отрицательно.

Рис. 2.  К теореме 3.

Заметим, что если точка  является внутренней точкой множества , то условие (1) эквивалентно условию . Таким образом, условие (1) можно рассматривать как обобщение необходимого условия минимума в многомерной задаче безусловной оптимизации.