[Coin-ipopt] Influencing the dual variable

Carl Damon Laird claird at andrew.cmu.edu
Wed Nov 2 00:16:16 EST 2005


Hi Ivan,

First, I will assume that you are using the TNLP interface class (there 
are others, but this is the "standard" one). The interface does allow you 
to set initial values for the multipliers (but never to "change" them 
during the iterations).

You will notice that the get_starting_point method:

     virtual bool get_starting_point(Index n, bool init_x, Number* x,
                                     bool init_z, Number* z_L, Number* z_U,
                                     Index m, bool init_lambda,
                                     Number* lambda)=0;

If the options are such that your NLP needs to provide initial values for 
the equality multipliers (lambda), then init_lambda will be true and you 
can put the values into the lambda vector (likewise for the bound 
multipliers z_L and z_U).

That was the intent of the design. Now, having said that, I looked through 
the code and I do not see any option that you can set that will actually 
cause IPOPT to ask for the multipliers, right now it always sets the 
init_lambda flag to false (other than a bleeding edge warm start feature). 
I apologize for this oversight.

I don't see any reason why it would not be easy for us to add the 
option(s) to allow user initialized lambda, and z_L and z_U values. I will 
be out of town until early next week, but I can implement these options 
then. Again, sorry for the oversight, we should have had this in place.

Any additional comments Andreas?

Thanks for the post,

Carl Laird.

On Tue, 1 Nov 2005, Oliveira, Ivan B wrote:

> Hi guys,
>
>
>
> It doesn't seem possible to either initialize or change the value of
> dual variables during the optimization in the C++ implementation of
> IPOPT.  Seems all the callbacks have a const in the signature, and the
> code does not seem to provide hooks to influence the iterations between
> evaluations.  Is this correct?  Are there any workarounds you can
> suggest?
>
>
>
> Thanks,
>
>
>
> --Ivan.
>
>
>
> ----------------------------
>
> Ivan B. Oliveira
>
> SC12-205
>
> (408)765-0584
>
>
>
>



More information about the Coin-ipopt mailing list