Info

이 질문은 마감되었습니다. 편집하거나 답변을 올리려면 질문을 다시 여십시오.

Problem with nonlinear optimization of a process model

조회 수: 2 (최근 30일)
Sascha
Sascha 2012년 10월 24일
마감: MATLAB Answer Bot 2021년 8월 20일
Hello everybody,
I have a process model with several input parameters and one output to be optimizes. As a first step I tried to fix the input parameters except two of them. Then I plottet the output in dependence of the two inputs left. It is obvious that this funtion is convex, so it should be a good optimization problem for solvers such as fmincon (there are parameter combinations leading to NaNs, but only at the edges of the function!). So far, so good. Now I tried to optimize but the input parameters hardly move from the starting values. The solver stops because the raelative changes in x are smaller than TolX (1e-12). How can that happen and what can I do about it?
Thank you very much for your help!!!
Sascha

답변 (2개)

Alan Weiss
Alan Weiss 2012년 10월 24일
It is possible that your objective function does not change when the parameters change by a small amount. This can cause premature convergence. See the suggestions in Optimizing a Simulation or ODE.
You could also try the suggestions in Final Point Equals Initial Point.
Alan Weiss
MATLAB mathematical toolbox documentation
  댓글 수: 1
Sascha
Sascha 2012년 10월 24일
편집: Sascha 2012년 10월 24일
Hey,
thank you for that answer. For the two-parameter-setup that realy worked (changing the finite differnces size). But still as soon as I give more free parameters to the solver, the first-order-optimality does not come under 1e0. As I am no mathematician I do not completely get, what that means to my optimization problem (I know that is the total derivation of the lagrange function, but that´s about it). As long, as I leave the nukmber of input parameters at two, the first-order-optimality decreases down to values like 1e-6.
Sascha
Edit: Also the solver sometimes end in regions where the constraints are (quite strongly) violated

Alan Weiss
Alan Weiss 2012년 10월 25일
Without more details, I don't know what to say. Perhaps you could use the fmincon interior-point algorithm, if you aren't already doing so. Or try the sqp algorithm.
Also, for this type of problem, the first order optimality measure might not ever get close to zero, because the objective function might not be smooth.
Ending up in an infeasible region is annoying, but unavoidable for some problems. Try starting the solver from various points.
Good luck,
Alan Weiss
MATLAB mathematical toolbox documentation

이 질문은 마감되었습니다.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by