CPXXuncrushpi and CPXuncrushpi
The routine CPXXuncrushpi/CPXuncrushpi uncrushes a dual solution for the
presolved problem to a dual solution for the original problem.
int CPXXuncrushpi( CPXCENVptr env, CPXCLPptr lp, double * pi, double const * prepi )
int CPXuncrushpi( CPXCENVptr env, CPXCLPptr lp, double * pi, double const * prepi )
Description
This is an advanced routine. Advanced routines typically demand a thorough understanding of the algorithms used by CPLEX. Thus they incur a higher risk of incorrect behavior in your application, behavior that can be difficult to debug. Therefore, the team encourages you to consider carefully whether you can accomplish the same task by means of other Callable Library routines instead.
The routine CPXXuncrushpi/CPXuncrushpi uncrushes a dual solution for the
presolved problem to a dual solution for the original problem. This routine
is for linear programs. Use CPXXqpuncrushpi/CPXqpuncrushpi
for quadratic programs.
Arguments
- env
-
A pointer to the CPLEX environment, as returned by
CPXXopenCPLEX/CPXopenCPLEX. - lp
-
A pointer to a CPLEX LP problem object, as returned by
CPXXcreateprob/CPXcreateprob. - pi
-
An array to receive dual solution (
pi) values for the original problem as computed from the dual values of the presolved problem object. The array must be of length at least the number of rows in the LP problem object. - prepi
-
An array that contains dual solution (
pi) values for the presolved problem, as returned by routines such asCPXXgetpi/CPXgetpiandCPXXsolution/CPXsolutionwhen applied to the presolved problem object. The array must be of length at least the number of rows in the presolved problem object.
Return
The routine returns 0 (zero) if successful and nonzero if an error occurs.Example
status = CPXuncrushpi (env, lp, pi, prepi);