Monday, 5 March 2007

Comparing IPOPT with the Optimality Condition

Here I compare the optimality condition against IPOPT via the bridge well known example. Now I fix (horizontal and vertical) the lower right end but let the left end move horizontal (only the vertical displacement is fxed). I think this is a nice example about the impact of boundary conditions (compare with the 2D bridge example!).

The video using IPOPT is here IPOPT video, the video using optimality condition is optimality condition video. The final image for the the IPOPT and optimality condition optimization is:



Note, that the volume constraint (0.5) is always fulfilled! The "flickering" in the IPOPT animation can be better understood having a look at the iteration plot . IPOPT quickly runs into a local minima and it takes some time to leave it. Then one can see brave tries to escape the next minima (which could be close to the global minimum) several times. Note that I do not let IPOPT quit the optimization process but rather limit the maximal number of iterations.

What I find noticable is the with the optimality condition, I really have almost no grayness (I will have to quantify this!) what actually makes sense (and is what we want). In the literature and with [1] find more grayness at the silhouette (as with IPOPT). I'm currently reimplementing the filtering of the gradient and now I also get more "aliasing". What do you get?

[Update 10.2010]
I found that this pretty old post is sometimes still read. The key point is, that sensitivity filtering has been used. It is well known that this disturbs the original gradient and general purpose optimizers have problems with that - SNOPT normally fails. IPOPT seems to be more robust here while MMA and OC are rock solid against it. So to compare IPOPT you need rigorous regularization like density filtering, slope constraints or feature size control (e.g. MOLE) to mention a relevant regularization techniques mentioned in THE BOOK.

No comments: