-
It seems from the Often this is not what one wants; e.g., when warm starting Is there some way to specify a scaling point that is different from the starting point ? |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments
-
Not in a clean way. A better implementation could be to add another callback to However, the motivation for the warm starting is actually that you want to ensure that the same scaling is used for the warmstarted solve (that's why Nai-Yuan disabled scaling in this post). As a user can already provide the scaling, maybe one rather wants a way to retrieve the scaling parameters that were used by Ipopt, so one can pass them in again. Just providing the same scaling point could result in different scaling parameters for the objective and constraints that were modified. At least it is possible to retrieve the scaling parameters for the Ipopt-internal formulation of the NLP, so with some I haven't checked whether calling |
Beta Was this translation helpful? Give feedback.
-
Reading the documentation, I could not figure out how to do this for my Ipopt applications. I am currently doing my own scaling (before ipopt sees the function) and using It just seemed to me that it would be useful for ipopt to have an option like this; i.e., this is a feature request. |
Beta Was this translation helpful? Give feedback.
Not in a clean way.
You may have notices that
TNLP::get_starting_point()
is called twice. The first one is the one triggered by the gradient or equilibrium scaling methods. So in principle you could provide the point where to scale first and the actual starting point in the next call.A better implementation could be to add another callback to
TNLP
(which default toget_starting_point()
if not overwritten) or to add a flag toget_starting_point()
to indicate whether the point where to compute the scaling is request.However, the motivation for the warm starting is actually that you want to ensure that the same scaling is used for the warmstarted solve (that's why Nai-Yuan disabled scaling…