Hello,
 
to solve my problem, I had a look at the mma.c file. In that file the last optimum value is defined via *minf. As far as I get it, in line 324 *minf is set to the current value (f_cur) of the objective function, even if the solution might be infeasible. There two things I don't understand about that and I would be very pleased, if someone could explain them to me. I guess there are a lot of experts on that code, which could easily answer my questions. Probably I'm only misunderstanding the code. 
 
a) Couldn't it happen that the if-condition in line 349 "if (feasible && *minf < stop->minf_max)" becomes true even for a *minf that is set for a solution that is infeasible (see above). So the iteration might be stopped with a value for a x that is infeasible? 
 
b) Why is it necessary to set *minf in line 324. Wouldn't it be sufficient to set it only once, when "inner_done" is true outside that block. Because otherwise I could happen, that it is set multiple times within one outer iteration, isn't it? 
 
I'm really not into the code, so I hope I my descriptions were comprehensible and I would really appreciate, if someone could give me a feedback on that.
 
Best regards!
Frederik
_______________________________________________
NLopt-discuss mailing list
[email protected]
http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/nlopt-discuss

Reply via email to