Does fmincon automatically normalis/scale the input vector according to the bounds?
6 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Amir Patel
el 21 de Dic. de 2016
Comentada: Amir Patel
el 21 de Dic. de 2016
I'm doing a constrained optimisation using fmincon (interior-point solver). My initial vector elements range from 1E-3 to about 40 and I've set flat upper and lower bounds of 0 to 10.
However, I discovered that despite my initial guess being feasible, the first call to my cost function returns INF. I dug down and I saw that on the first run, fmincon was passing in some scaled version of my initial guess. I checked this by changing the bounds, which subsequently changed the initial vector.
I'm guessing there's an option to scale the input vector. How can I turn this option off?
0 comentarios
Respuesta aceptada
Brendan Hamm
el 21 de Dic. de 2016
opts = optimoptions('fmincon','Algorithm','interior-point','ScaleProblem','none');
Más respuestas (1)
John D'Errico
el 21 de Dic. de 2016
Editada: John D'Errico
el 21 de Dic. de 2016
There appears to be a disconnect here. You have made some completely conflicting statements.
"My initial vector elements range from 1E-3 to about 40 and I've set flat upper and lower bounds of 0 to 10."
So if your upper bound is 10, and the start point has elements as high as 40, then your start point is NOT feasible. It fails to satisfy the constraints, ergo, not feasible.
Then you state: "despite my initial guess being feasible"
WRONG. As I pointed out, it is not feasible if it exceeds the bounds. The interior point algorithm seriously wants to start in the interior.. Otherwise, they might have called it the "We don't really care where you look algorithm". :)
I'd suggest either choosing more consistent bounds or a feasible initial point, or a different algorithm.
0 comentarios
Ver también
Categorías
Más información sobre Solver Outputs and Iterative Display en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!