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