Hехай f(x )∈ C
1
. Розглянемо s+1-у iтеpацiю, вважаючи, що
xx
sn
ij
j
n
ji j
D E a x b i m x 0, j =1,...,n∈= ∈ ≤ = ≥
=
∑
: , ,..., , .
1
1
1. Обчислюємо градієнт ∇ f (x
s
) i перевіряємо умову ∇ f (x
s
)=0. Якщо
умова виконується, то x
s
— стаціонарна точка i кінець обчислень. Якщо умова не
виконується, то переходимо до наступного пункту.
2. Пiдставляємо x
s
в усі обмеження задачі i формуємо множини індексів I
s
та J
s
активних обмежень в точці x
s
I = i i =1,...,m, a x b
sij
j
n
ji
:
=
∑
=
1
,
J
s
={j : j=1,...,n, x
j
s
=0}.
Пеpеходимо до наступного пункту.
3. Пеpевipяємо, чи буде антиградієнт −∇f (x
s
) можливим напрямком. Для
цього будуємо промінь x(
ρ
) = x
s
−
ρ
∇ f (x
s
),
ρ
>0, який виходить із точки x
s
в
напрямі антиградієнта −∇f (x
s
) i підставляємо x(
ρ
) в активні обмеження.
Отpимуємо систему лінійних нерівностей відносно
ρ
. Розв'язуємо її. Якщо
ρ
>0, то
антиградієнт −∇f (x
s
) є можливим напрямком, переходимо до наступного пункту.
Якщо
ρ
≤ 0, то антиградієнт −∇f (x
s
) не є можливим напрямком, переходимо до
визначення можливих i підхожих напрямків, тобто до пункту 7.
4. Визначаємо множину значень кроку
ρ
, для яких точка пpоменя x(
ρ
)
залишається допустимою. З цією метою підставляємо x(
ρ
) = x
s
−
ρ
∇ f (x
s
) в усі
неактивні обмеження. Отpимуємо систему лінійних нерівностей відносно
ρ
. Вона
визначає шуканий інтервал (0 ,
ε
] для кроку
ρ
. Пеpеходимо до наступного пункту.
5. Знаходимо
))((minarg
](
ss
,0
s
fñf xx ∇−=
∈
ερ
ρ
.
Зауважимо, що процедура відшукання
ρ
s
є процедурою одновимірної оптимізації.
Вона реалізується або за допомогою необхідних i достатніх умов екстpемуму
функції однієї змінної, або за допомогою чисельних методів типу дихотомії,
золотого перерізу, Фiбоначчi. Пеpеходимо до наступного пункту.
6. Обчислюємо
x
s+
1
= x
s
−
ρ
s
∇ f (x
s
).
Пеpеходимо до пункту 1.
7. Будуємо задачу ЛП для відшукання підхожих i можливих напрямків.
Hехай r
s
=(r
1
s
,...,r
n
s
) поки-що невідомий вектор можливого напрямку. Будуємо
промінь x
′
(
ρ
), який виходить із точки x
s
в напрямку r
s
:
x
′
(
ρ
) = x
s
−
ρ
r
s
,
ρ
>0.
Пiдставляємо x
′
(
ρ
) в активні обмеження. Отpимуємо систему
200