fmincon and exitflag = -2 or 2 / non respect of constrained conditions
Mostra commenti meno recenti
Hello everyone,
I'm creating a model on Matlab for optimization with inequality constraints, especially the minimization of a function with several variables (at least 4). I'm trying to run the optimization for many times to get a list of solutions, gotten by a parameter varying at each simulation.
However, I cannot solve problems I met: - exitflag = -2 most of the time and 2 for the other simulations. I don't know where I can correct or change to get exitflag = 1. - among constrained conditions I set, some of them aren't respected after minimizations.
If someone could advice me what method I could follow?
Thank you for the answer.
General description of the model: *------ objective : minimize a section ( I shape) submitted to a tension force *------ variables : thicknesses, height, wide *------- constraints : - section > 0 - variables >0 + linear inequality relation between two of them - tension stress < certain value in MPa : non respected condition
Risposta accettata
Più risposte (2)
Alan Weiss
il 6 Giu 2012
Modificato: John Kelly
il 2 Mar 2015
0 voti
If you have a Global Optimization Toolbox license, you could try MultiStart. If you like, you can filter the initial points so the local solver uses only feasible starting points, although I am not sure this is really necessary. See this link for general information about how to use MultiStart, and this link to see the effect of using only feasible start points.
Good luck,
Alan Weiss
MATLAB mathematical toolbox documentation
4 Commenti
Helen
il 7 Giu 2012
Walter Roberson
il 7 Giu 2012
Multistart is part of the Global Optimization Toolbox, which is not provided with the MATLAB Student Version. It can, however, be added for about $US29
http://www.mathworks.com/academia/student_version/companion.html
Sargondjani
il 8 Giu 2012
you have three input variables so you could make a 3D grid and solve for all points in the grid.
you could start with a wide grid with not so many points and then make a finer grid around the points that give feasible solutions, or something like that
Helen
il 12 Lug 2012
Ahmed Rageh
il 4 Lug 2018
0 voti
Where could I find TolX? the code has TolFun and TolCon only.
options = optimset('Display','iter','TolFun',1e-10,'TolCon',1e-10)
1 Commento
Walter Roberson
il 6 Lug 2018
TolX is still the name to use with optimset() .
If you were updating to the newer option routines, you would use StepTolerance, or XTolerance for GlobalSearch and MultiStart
Categorie
Scopri di più su Solver Outputs and Iterative Display in Centro assistenza e File Exchange
Prodotti
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!