Skip to content

Reconstruct dual infeasibility from results #608

Answered by svigerske
XingchenFan asked this question in Q&A
Discussion options

You must be logged in to vote

From the code, it is + zu and not - zu.

This is the function that calculates the inf_du from the output (calles with NormType=NormMax):
https://github.com/coin-or/Ipopt/blob/stable/3.14/src/Algorithm/IpIpoptCalculatedQuantities.cpp#L2653-L2697

The calculation of the gradient of the Lagrangian is at https://github.com/coin-or/Ipopt/blob/stable/3.14/src/Algorithm/IpIpoptCalculatedQuantities.cpp#L1993-L2030, in particular

         tmp->Copy(*curr_grad_f());
         tmp->AddTwoVectors(1., *curr_jac_cT_times_curr_y_c(), 1., *curr_jac_dT_times_curr_y_d(), 1.);
         DBG_PRINT_VECTOR(2, "jac_cT*y_c", *curr_jac_cT_times_curr_y_c());
         DBG_PRINT_VECTOR(2, "jac_dT*y_d", *curr_jac_dT_time…

Replies: 1 comment

Comment options

You must be logged in to vote
0 replies
Answer selected by svigerske
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
2 participants