Я пытаюсь найти минимум, используя fmincon в MATLAB, и я столкнулся следующая проблема:оптимизации MATLAB: целевая функция с «шагов»
Оптимизация завершена, так как размер градиента в начальной точке меньше значения по умолчанию для допуска функции.
поверхность моей целевой функции показывает «шаги», и, следовательно, он имеет то же значение, более определенные диапазоны входные переменные (размер градиента равен нуль, если я правильно):
при переходе от начальной точки, решатель не видит каких-либо изменений в стоимости целевой функции, а завершает оптимизацию:
Iteration Func-count f(x) Step-size optimality
0 3 581.542 0
Initial point is a local minimum.
Optimization completed because the size of the gradient at the initial point
is less than the default value of the function tolerance.
есть ли способ сделать решатель шаг вперед, когда целевая функция сохраняет свое значение неизменным (пока целевая функция не начнет увеличиваться)?
Благодарим за помощь.
Возможно, вы получите разумные результаты с помощью решения без градиента, например. [ga] (http://www.mathworks.com/help/gads/ga.html), если оценка целевой функции не является дорогостоящей. [как выбрать решатель] (http://www.mathworks.com/help/gads/choosing-a-solver.html) – Arpi
Спасибо, ребята. Я следовал твоему совету и использовал га - проблема ушла! Я также изучил вашу ссылку, как выбрать решателя, и я понял, что я не должен использовать fmincon, потому что моя целевая функция негладкая. –
Отлично! Я рад, что смог помочь. – Arpi