[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