Hello,

I am solving some shape optimization problems using the gradient based nlopt
algorithms.

One possible scenario, specially at the first step, when the step size is a
default one is that the design vector is an unfeasible one, which will lead to
crashes in the geometry generation codes (which are called via system()).

I also have a simple steepest descent algorithm which I use for trials and
debugging, in which in case something crashes, I retrieve an error signal and
try again reducing the step size. 

This is something I cannot do with the nlopt interface beacause, AFAIK, the
objective fuction must be constructed declaring const the design vector. Thus,
if I apply the step reducing mechanism within the function, the new design
vector is not communicated outside.

So right now, I have to abort if the objective evaluation fails.

Is there a way to go around this issue?  Or perhaps it wouldn't be too difficult
to have for a future version something like this, a function that modified the
step if the evaluation failed.

Regards,

Ricardo


_______________________________________________
NLopt-discuss mailing list
[email protected]
http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/nlopt-discuss

Reply via email to