Skip to main content

IpoptSolverSolve

Function IpoptSolverSolve 

Source
#[unsafe(no_mangle)]
pub unsafe extern "C" fn IpoptSolverSolve( solver: IpoptSolver, x: *mut Number, g: *mut Number, obj_val: *mut Number, mult_g: *mut Number, mult_x_L: *mut Number, mult_x_U: *mut Number, user_data: *mut c_void, ) -> Index
Expand description

Run the IPM. Same output buffer contract as crate::IpoptSolve: x is in/out (initial guess in, solution out); g, obj_val, mult_g, mult_x_L, mult_x_U are out-only and may be NULL. user_data is threaded into the C callbacks unchanged.

Returns the same Index-cast ApplicationReturnStatus code as crate::IpoptSolve. On a converged status the session retains the KKT factor for subsequent IpoptSolverKktSolve, IpoptSolverParametricStep, and IpoptSolverReducedHessian calls.

§Safety

All non-NULL output pointers must be valid for the appropriate length; the C callbacks stored on the underlying IpoptProblem must remain valid through the solve.