Info

此问题已关闭。 请重新打开它进行编辑或回答。

Problem with nonlinear optimization of a process model

1 次查看(过去 30 天)
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