[Ipopt] Homotopy continuation with ipopt?

Hossein Mobahi hmobahi at yahoo.com
Mon Dec 14 07:14:00 EST 2009


I am using ipopt in Matlab. I would like to solve an optimization problem which uses homotopy continuation method. That is, starting from a simple (e.g. convex) objective function f(x), I iteratively deform f(x) to the target (typically harder to optimize) function g(x). Along the way, I use the solution of the previous problem as initialization of the next problem.

For example, if I want to use 100 iterations for the optimization, the actual objective function as a function of the iteration step "t" is given by min_x h(x,t)=(1-t/100)*f(x)+(t/100)*g(x) for t=1,..100

This requires the objective function to "see" the iteration step t. I know there is a callback iterfunc (if I remember correctly its name), which gives the current iteration step, but I have no idea how to pass that to the objective function.

I thought about sharing a global variable, but for some reason it does not work; the functions do not see the global variable. I think this is because the functions are called via ipopt library which probably does not respect global variables in matlab.

Anyways, the question is how to make the current iteration step visible to the objective function.

Your help would be highly appreciated.



More information about the Ipopt mailing list