Info
La pregunta está cerrada. Vuélvala a abrir para editarla o responderla.
Fmincon: Impossible values obtained. Solver prematurely stopped due to MaxFunEvals has reached.
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
Observe this formula:
dbc = (db./(sin(180./nb) + (pi./nb))); %Burner circle diameter
db = 1.5 * tf;
nb = (8:20) %Thus, (sin(180./nb) will always be positive
Now, look at the results,
tf =
1.2895
1.2895
nb =
8.0001
8.0001
dbc =
-20.5260
-20.5260
How am I getting a negative value of dbc even though, all the values are positive?
This leads to the following error:
Solver stopped prematurely.
fmincon stopped because it exceeded the function evaluation limit,
options.MaxFunEvals = 500 (the default value).
I tried increasing MaxFunEvals (to at the most 2500) but, the error still remains.
2 comentarios
Respuestas (1)
Walter Roberson
el 22 de Mzo. de 2018
Why would sin(180./nb) always be positive? You are requesting sine of 9 radians through sine of 22.5 radians, which spans more than 2*Pi radians and so will pass through every possible value that sin can produce.
4 comentarios
Walter Roberson
el 22 de Mzo. de 2018
For much of the region permitted by your bounds, the qout "Heat leaving" calculated your Lobo function is positive, approaching 10300, which would seem to make sense. However, in the region near the X above, the qout is somewhat negative, approaching -30000. If your starting point were within the "basin of attraction" of that firmly negative region and if that region is ruled out by one of your nonlinear constraints, then fmincon (which is a local minimizer) might not be able to determine a direction that is able to escape from the forbidden region.
In the tracking that I did without considering the nonlinear constraint, I was searching near [0.480032473824172523, 7.45783314076774762, 590.200000000000159, 19.9999999999992468, 0.104986038979125673] before I changed the bounds to focus more towards X you got. The value is positive near that point and the first parameter especially was creeping higher, more towards 1, but the 590.2 (which is one of your lower bounds) was being pretty much stuck to and the 19.9* (upper bound 20) was being pretty much stuck to.
Devdatt Thengdi
el 23 de Mzo. de 2018
Editada: Devdatt Thengdi
el 23 de Mzo. de 2018
La pregunta está cerrada.
Ver también
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!