logo
Метод Зойтендейка

2.3 Алгоритм

Шаг 1. Задать , предельное число итераций M, допустимую начальную точку , в которой

Шаг 2. Положить k=0

Шаг 3. Проверить выполнения условия k?M:

а) если k=M, расчет закончен;

б) если k<M, перейти к шагу 4.

Шаг 4. Вычислить .

Шаг 5. Проверить выполнение условия

Сформировать множество индексов j, для которых условие выполнено. Если условие выполнено хотя бы для одного , то перейти к шагу 6. В противном случае положить и повторить вычисления на шаге 5.

Шаг 6. Записать систему неравенств

Шаг 7. Сформировать задачу линейного программирования:

Шаг 8. Решить задачу линейного программирования, сформированную на шаге 7. В результате находится искомое возможное направление спуска -минимальное значение z.

Шаг 9. Вычислить шаг , решив задачу

для чего следует:

а) найти величину из условия

б) определить величину из условий

(если условие выполняется только при то не вычисляется). Если в точке ограничение с номером j активно и =0, то значение не вычисляется;

в) найти =

г) вычислить значение

Шаг 10. Найти точку .

Шаг 11. Вычислить величину

Шаг 12. Проверить условие окончания:

а) если , то расчет может быть либо закончен если точность удовлетворительна, либо продолжен при , . В первом случае - искомое приближенное решение задачи (10.14), во втором - следует перейти к шагу 3;

б) если , то положить k=k+1 и перейти к шагу 3.

программирование зойтендейк дифференцируемый функция