2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Метод Ньютона с методом барьерных функций
Сообщение09.10.2012, 23:59 
Получил задание: реализовать программно метод Ньютона с методом барьерных функций, что, как и почему не объяснили.
Так понимаю, мне тут нужно к методу Ньютона для задачи минимизации присобачить метод барьерных функций. Думал, что в моменте $f_{k}(x_{k+1})=\inf_{X}f_{k}(x)$ для $\inf$ использовать метод барьерных функций, но правильно ли это, может быть? И ещё, для подсчета $f_{k}(x)$ используются первая и вторая производная, что для реализации на языке программирование довольно проблематично, особенно если функция задана в виде текста (например, $\ctg(x)+\ln(x)$), что делают в таком случае для подсчета производных? Не строить же итерационную схему на каждом шагу метода Ньютона.

 
 
 
 Re: Метод Ньютона с методом барьерных функций
Сообщение10.10.2012, 08:38 
Аватара пользователя
Метод барьерных функций (как и метод штрафных функций) изобретён для того, чтобы свести задачу оптимизации с ограничениями к задаче оптимизации без ограничений. При этом к исходной целевой функции прибавляется "штраф" за нахождение в недопустимой области (в методе штрафных - за приближение к границе допустимой области). Величина штрафа по ходу корректируется, чтобы достичь оптимума при выполнении ограничений.
Что касается производных - не знаю, какова сложность выданного Вам задания, и в зависимости от этого может предполагаться, что пользователь Вашей программы самостоятельно программирует расчёт производных в соответствии с указанным Вами интерфейсом подпрограммы (а для демонстрации преподавателю Вы программируете какой-нибудь пример), что производные считаете Вы численно, а пользователь программирует лишь вычисление самой функции или же в Вашу задачу входит написание фрагмента программы, разбирающего синтаксически введенную пользователем формулу, аналитически её дифференцирующего и вычисляющего производную. Уточнить это надо у преподавателя, после этого можно подсказать Вам метод (в последнем случае лучше обращаться в другой раздел Форума, Computer Science, поскольку задача не столь математическая, сколь алгоритмическая).

 
 
 
 Re: Метод Ньютона с методом барьерных функций
Сообщение10.10.2012, 14:00 
То есть как именно мне нужно использовать метод барьерных функций в методе Ньютона?
Думал вместо $f(x)$ делать минимизацию по Ньютону для $f(x)+r\alpha(x)$, где $r$ - штрафной коэффициент, а $\alpha(x)$ - барьерная функция. Но тогда как вычислять штрафной коэффициент, ведь, судя по описанию, он должен меняться на каждой итерации?

 
 
 
 Re: Метод Ньютона с методом барьерных функций
Сообщение10.10.2012, 15:15 
Аватара пользователя
Если вне допустимой области - увеличиваем, чтобы загнать в допустимую. Если внутри - уменьшаем.

 
 
 
 Re: Метод Ньютона с методом барьерных функций
Сообщение10.10.2012, 20:11 
Аватара пользователя
l1pton17.
Напишите, какую функцию и при каких ограничениях Вы собираетесь минимизировать.

 
 
 [ Сообщений: 5 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group