Выбор наилучшего подходящего направления

 

Ограничение называется активным в фиксированной точке , если .

Шаг 1. Введем в рассмотрение множества индексов активных ограничений в точке :

-индексное множество активных нелинейных ограничений;

-индексное множество активных линейных ограничений;

.

Шаг 2. Введем в рассмотрение множество n-мерных векторов в точке и построим множество

Очевидно, что множество представляет собой множество возмо-жных направлений в точке ,т.е направлений не выводящих за пределы допустимой области.

Если -внутренняя точка множества R, то пусто, т.е. нет активных ограничений и на выбор вектора s не накладывается никаких ограничений.

Шаг 3. Введем искусственную переменную и определим множество (n+1)-мерных векторов с компонентами :

.

Задачу выбора подходящего направления сформулируем как задачу линейного программирования:

(3.17)

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

Теорема 3. Точка является точкой минимума функции на множестве R, регулярном по Слейтеру, тогда и только тогда, когда для всех , удовлетворяющих неравенству .

Пусть

Система ограничений запишется в виде:

Когда речь идёт о выборе направления, нас интересует направление, которое задаётся некоторым вектором произвольной длины, но при решении ЗЛП (3.17) может оказаться неограниченной. Поэтому возникает необходимость наложить на длину S некоторые ограничения, которые называются нормализациями. Известны такие нормализации:

№1. .

№2.

№3.

№4. .

Определение длины шага

 

Пусть в точке определено наилучшее подходящее направление . Выберем теперь длину шага в этом направлении, т.е. найдём такое число , при котором принимает по в допустимой области минимальное значение

Эту задачу удобно решать в два этапа:

Шаг 1. Определить значение .

Эту задачу решаем как определение при которых луч пересекает границы области R. В случае многозначности решения выбираем наименьший положительный корень.

Шаг 2. Выбираем число .

Минимум может достигаться вне области R, тогда в качестве длины шага выбираем . Если же минимум достигается в R, то в качестве длины шага берётся .

Типовой пример

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

где f0(X)=x12+x22-10x1-6x2+34;

f1(X)=x12-4x1-x2+4;

f2(X)=-x1+2x2-1.

Выполним одну итерацию рассмотренного метода возможных направлений. В качестве начального приближения выберем точку Х0=(3;2).

Определим индексные множества активных ограничений в точке Х0

I(X0)={i I: fi(X0)=0}={1}; I+(X0)={i: xi=ci}=0; I-(X0)={i: xi=0}={2}.

Поставим задачу выбора наилучшего подходящего направления S0 в точке Х0 как задачу линейного программирования с нормализацией №3:

.

Здесь S=(s1,s2)-искомый вектор; -вспомогательная переменная; -градиенты соответствующих функций в точке Х0,то есть векторы

; .

Итак, получили задачу в виде

Решим её симплекс-методом. Вначале, для приведения задачи к канонической форме, введём дополнительные переменные и выполним замену s1=1-y1; s2=1-y2; =y3-y4.

Тогда, задача запишется так:

.

Дальнейший процесс решения приведён в таблице 3.1.

Таблица №3.1

                     
N C P B A1 A2 A3 A4 A5 A6 t
A5 -1
A6 -1
      -1  
A5 -1  
A3 -1  
       

 

Таким образом, в результате решения задачи выбора подходящего направления в точке Х0=(2;0) найден вектор S0=(1;1). Построим луч, исходящий из точки Х0 по направлению вектора S0

Определим длину шага в этом направлении. Для этого найдём вначале то значение , при котором луч пересекает границу допустимой области R.То есть найдём положительные корни уравнений

.

А именно,уравнений .

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

.

Отсюда получим . Следовательно, искомое значение .

Итак, найдена новая точка . Итерация завершена.