|
SCIP-SDP
4.0.0
|
General interface methods for SDP-preprocessing (mainly fixing variables and removing empty rows/cols) More...
Go to the source code of this file.
Functions | |
Miscellaneous Methods | |
| SCIP_EXPORT const char * | SCIPsdpiGetSolverName (void) |
| SCIP_EXPORT const char * | SCIPsdpiGetSolverDesc (void) |
| SCIP_EXPORT void * | SCIPsdpiGetSolverPointer (SCIP_SDPI *sdpi) |
| SCIP_EXPORT int | SCIPsdpiGetDefaultSdpiSolverNpenaltyIncreases (void) |
| SCIP_EXPORT SCIP_Bool | SCIPsdpiDoesWarmstartNeedPrimal (void) |
SDPI Creation and Destruction Methods | |
| SCIP_EXPORT SCIP_RETCODE | SCIPsdpiCreate (SCIP_SDPI **sdpi, SCIP_MESSAGEHDLR *messagehdlr, BMS_BLKMEM *blkmem, BMS_BUFMEM *bufmem) |
| SCIP_EXPORT SCIP_RETCODE | SCIPsdpiFree (SCIP_SDPI **sdpi) |
| SCIP_EXPORT SCIP_RETCODE | SCIPsdpiClone (SCIP_SDPI *oldsdpi, SCIP_SDPI *newsdpi) |
Modification Methods | |
| SCIP_EXPORT SCIP_RETCODE | SCIPsdpiLoadSDP (SCIP_SDPI *sdpi, int nvars, SCIP_Real *obj, SCIP_Real *lb, SCIP_Real *ub, int nsdpblocks, int *sdpblocksizes, int *sdpnblockvars, int sdpconstnnonz, int *sdpconstnblocknonz, int **sdpconstrow, int **sdpconstcol, SCIP_Real **sdpconstval, int sdpnnonz, int **sdpnblockvarnonz, int **sdpvar, int ***sdprow, int ***sdpcol, SCIP_Real ***sdpval, int nlpcons, SCIP_Real *lplhs, SCIP_Real *lprhs, int lpnnonz, int *lprow, int *lpcol, SCIP_Real *lpval) |
| SCIP_EXPORT SCIP_RETCODE | SCIPsdpiAddLPRows (SCIP_SDPI *sdpi, int nrows, const SCIP_Real *lhs, const SCIP_Real *rhs, int nnonz, const int *row, const int *col, const SCIP_Real *val) |
| SCIP_EXPORT SCIP_RETCODE | SCIPsdpiDelLPRows (SCIP_SDPI *sdpi, int firstrow, int lastrow) |
| SCIP_EXPORT SCIP_RETCODE | SCIPsdpiDelLPRowset (SCIP_SDPI *sdpi, int *dstat) |
| SCIP_EXPORT SCIP_RETCODE | SCIPsdpiClear (SCIP_SDPI *sdpi) |
| SCIP_EXPORT SCIP_RETCODE | SCIPsdpiChgObj (SCIP_SDPI *sdpi, int nvars, const int *ind, const SCIP_Real *obj) |
| SCIP_EXPORT SCIP_RETCODE | SCIPsdpiChgBounds (SCIP_SDPI *sdpi, int nvars, const int *ind, const SCIP_Real *lb, const SCIP_Real *ub) |
| SCIP_RETCODE | SCIPsdpiChgLPLhRhSides (SCIP_SDPI *sdpi, int nrows, const int *ind, const SCIP_Real *lhs, const SCIP_Real *rhs) |
Data Accessing Methods | |
| SCIP_MESSAGEHDLR * | SCIPsdpiGetMessagehdlr (SCIP_SDPI *sdpi) |
| SCIP_EXPORT SCIP_RETCODE | SCIPsdpiGetNLPRows (SCIP_SDPI *sdpi, int *nlprows) |
| SCIP_EXPORT SCIP_RETCODE | SCIPsdpiGetNSDPBlocks (SCIP_SDPI *sdpi, int *nsdpblocks) |
| SCIP_EXPORT SCIP_RETCODE | SCIPsdpiGetNVars (SCIP_SDPI *sdpi, int *nvars) |
| SCIP_EXPORT SCIP_RETCODE | SCIPsdpiGetSDPNNonz (SCIP_SDPI *sdpi, int *nnonz) |
| SCIP_EXPORT SCIP_RETCODE | SCIPsdpiGetConstNNonz (SCIP_SDPI *sdpi, int *nnonz) |
| SCIP_EXPORT SCIP_RETCODE | SCIPsdpiGetLPNNonz (SCIP_SDPI *sdpi, int *nnonz) |
| SCIP_EXPORT SCIP_RETCODE | SCIPsdpiGetObj (SCIP_SDPI *sdpi, int firstvar, int lastvar, SCIP_Real *vals) |
| SCIP_EXPORT SCIP_RETCODE | SCIPsdpiGetBounds (SCIP_SDPI *sdpi, int firstvar, int lastvar, SCIP_Real *lbs, SCIP_Real *ubs) |
| SCIP_EXPORT SCIP_RETCODE | SCIPsdpiGetLhSides (SCIP_SDPI *sdpi, int firstrow, int lastrow, SCIP_Real *lhss) |
| SCIP_EXPORT SCIP_RETCODE | SCIPsdpiGetRhSides (SCIP_SDPI *sdpi, int firstrow, int lastrow, SCIP_Real *rhss) |
Solving Methods | |
| SCIP_EXPORT SCIP_RETCODE | SCIPsdpiSolve (SCIP_SDPI *sdpi, SCIP_Real *starty, int *startZnblocknonz, int **startZrow, int **startZcol, SCIP_Real **startZval, int *startXnblocknonz, int **startXrow, int **startXcol, SCIP_Real **startXval, SCIP_SDPSOLVERSETTING startsettings, SCIP_Bool enforceslatercheck, SCIP_Real timelimit) |
Solution Information Methods | |
| SCIP_EXPORT SCIP_Bool | SCIPsdpiWasSolved (SCIP_SDPI *sdpi) |
| SCIP_EXPORT SCIP_Bool | SCIPsdpiSolvedOrig (SCIP_SDPI *sdpi) |
| SCIP_EXPORT SCIP_Bool | SCIPsdpiFeasibilityKnown (SCIP_SDPI *sdpi) |
| SCIP_EXPORT SCIP_RETCODE | SCIPsdpiGetSolFeasibility (SCIP_SDPI *sdpi, SCIP_Bool *primalfeasible, SCIP_Bool *dualfeasible) |
| SCIP_EXPORT SCIP_Bool | SCIPsdpiIsPrimalUnbounded (SCIP_SDPI *sdpi) |
| SCIP_EXPORT SCIP_Bool | SCIPsdpiIsPrimalInfeasible (SCIP_SDPI *sdpi) |
| SCIP_EXPORT SCIP_Bool | SCIPsdpiIsPrimalFeasible (SCIP_SDPI *sdpi) |
| SCIP_EXPORT SCIP_Bool | SCIPsdpiIsDualUnbounded (SCIP_SDPI *sdpi) |
| SCIP_EXPORT SCIP_Bool | SCIPsdpiIsDualInfeasible (SCIP_SDPI *sdpi) |
| SCIP_EXPORT SCIP_Bool | SCIPsdpiIsDualFeasible (SCIP_SDPI *sdpi) |
| SCIP_EXPORT SCIP_Bool | SCIPsdpiIsConverged (SCIP_SDPI *sdpi) |
| SCIP_EXPORT SCIP_Bool | SCIPsdpiIsObjlimExc (SCIP_SDPI *sdpi) |
| SCIP_EXPORT SCIP_Bool | SCIPsdpiIsIterlimExc (SCIP_SDPI *sdpi) |
| SCIP_EXPORT SCIP_Bool | SCIPsdpiIsTimelimExc (SCIP_SDPI *sdpi) |
| SCIP_EXPORT int | SCIPsdpiGetInternalStatus (SCIP_SDPI *sdpi) |
| SCIP_EXPORT SCIP_Bool | SCIPsdpiIsOptimal (SCIP_SDPI *sdpi) |
| SCIP_EXPORT SCIP_Bool | SCIPsdpiIsAcceptable (SCIP_SDPI *sdpi) |
| SCIP_EXPORT SCIP_RETCODE | SCIPsdpiGetObjval (SCIP_SDPI *sdpi, SCIP_Real *objval) |
| SCIP_EXPORT SCIP_RETCODE | SCIPsdpiGetLowerObjbound (SCIP_SDPI *sdpi, SCIP_Real *objlb) |
| SCIP_EXPORT SCIP_RETCODE | SCIPsdpiGetSol (SCIP_SDPI *sdpi, SCIP_Real *objval, SCIP_Real *dualsol, int *dualsollength) |
| SCIP_EXPORT SCIP_RETCODE | SCIPsdpiGetPreoptimalPrimalNonzeros (SCIP_SDPI *sdpi, int nblocks, int *startXnblocknonz) |
| SCIP_EXPORT SCIP_RETCODE | SCIPsdpiGetPreoptimalSol (SCIP_SDPI *sdpi, SCIP_Bool *success, SCIP_Real *dualsol, int *dualsollength, int nblocks, int *startXnblocknonz, int **startXrow, int **startXcol, SCIP_Real **startXval) |
| SCIP_EXPORT SCIP_RETCODE | SCIPsdpiGetPrimalBoundVars (SCIP_SDPI *sdpi, SCIP_Real *lbvars, SCIP_Real *ubvars, int *arraylength) |
| SCIP_EXPORT SCIP_RETCODE | SCIPsdpiGetPrimalNonzeros (SCIP_SDPI *sdpi, int nblocks, int *startXnblocknonz) |
| SCIP_EXPORT SCIP_RETCODE | SCIPsdpiGetPrimalMatrix (SCIP_SDPI *sdpi, int nblocks, int *startXnblocknonz, int **startXrow, int **startXcol, SCIP_Real **startXval) |
| SCIP_EXPORT SCIP_Real | SCIPsdpiGetMaxPrimalEntry (SCIP_SDPI *sdpi) |
| SCIP_EXPORT SCIP_RETCODE | SCIPsdpiGetTime (SCIP_SDPI *sdpi, SCIP_Real *opttime) |
| SCIP_EXPORT SCIP_RETCODE | SCIPsdpiGetIterations (SCIP_SDPI *sdpi, int *iterations) |
| SCIP_EXPORT SCIP_RETCODE | SCIPsdpiGetSdpCalls (SCIP_SDPI *sdpi, int *calls) |
| SCIP_EXPORT SCIP_RETCODE | SCIPsdpiSettingsUsed (SCIP_SDPI *sdpi, SCIP_SDPSOLVERSETTING *usedsetting) |
| SCIP_EXPORT SCIP_RETCODE | SCIPsdpiSlaterSettings (SCIP_SDPI *sdpi, SCIP_SDPSLATERSETTING *slatersetting) |
| SCIP_EXPORT SCIP_RETCODE | SCIPsdpiSlater (SCIP_SDPI *sdpi, SCIP_SDPSLATER *primalslater, SCIP_SDPSLATER *dualslater) |
| SCIP_EXPORT SCIP_RETCODE | SCIPsdpiGetStatistics (SCIP_SDPI *sdpi, int *ninfeasible, int *nallfixed, int *nonevarsdp) |
Numerical Methods | |
| SCIP_EXPORT SCIP_Real | SCIPsdpiInfinity (SCIP_SDPI *sdpi) |
| SCIP_EXPORT SCIP_Bool | SCIPsdpiIsInfinity (SCIP_SDPI *sdpi, SCIP_Real val) |
| SCIP_EXPORT SCIP_RETCODE | SCIPsdpiGetRealpar (SCIP_SDPI *sdpi, SCIP_SDPPARAM type, SCIP_Real *dval) |
| SCIP_EXPORT SCIP_RETCODE | SCIPsdpiSetRealpar (SCIP_SDPI *sdpi, SCIP_SDPPARAM type, SCIP_Real dval) |
| SCIP_EXPORT SCIP_RETCODE | SCIPsdpiGetIntpar (SCIP_SDPI *sdpi, SCIP_SDPPARAM type, int *ival) |
| SCIP_EXPORT SCIP_RETCODE | SCIPsdpiSetIntpar (SCIP_SDPI *sdpi, SCIP_SDPPARAM type, int ival) |
| SCIP_EXPORT SCIP_RETCODE | SCIPsdpiComputeLambdastar (SCIP_SDPI *sdpi, SCIP_Real maxguess) |
| SCIP_EXPORT SCIP_RETCODE | SCIPsdpiComputePenaltyparam (SCIP_SDPI *sdpi, SCIP_Real maxcoeff, SCIP_Real *penaltyparam) |
| SCIP_EXPORT SCIP_RETCODE | SCIPsdpiComputeMaxPenaltyparam (SCIP_SDPI *sdpi, SCIP_Real penaltyparam, SCIP_Real *maxpenaltyparam) |
| SCIP_EXPORT void | SCIPsdpiClockSetType (SCIP_SDPI *sdpi, int clocktype) |
File Interface Methods | |
| SCIP_EXPORT SCIP_RETCODE | SCIPsdpiReadSDP (SCIP_SDPI *sdpi, const char *fname) |
| SCIP_EXPORT SCIP_RETCODE | SCIPsdpiWriteSDP (SCIP_SDPI *sdpi, const char *fname) |
General interface methods for SDP-preprocessing (mainly fixing variables and removing empty rows/cols)
This file specifies a generic SDP-solver interface used by SCIP to create, modify, and solve semidefinite programs of the (dual) form
\begin{align*} \min\quad & b^T y \\ \mbox{s.t.} & \sum_{j \in J} A_j^{(k)} y_j - A_0^{(k)} \succeq 0 & \forall \ k \in K, \\ & \sum_{j \in J} d_{ij}\, y_j \geq c_i & \forall \ i \in I, \\ & \ell_j \leq y_j \leq u_j & \forall \ j \in J, \end{align*}
for symmetric matrices \( A_i^{(k)} \in S_{n_k} \) and a matrix \( D \in \mathbb{R}^{I \times J} \) and query information about the solution. The code refers to this problem as the dual.
We consider a problem (primal or dual) to be unbounded if there exists a ray and it is feasible.
All indexing (rows, columns, blocks and variables) starts at 0.
Although it includes a few SCIP header files, e.g., because it uses SCIP's return codes, it can be used independently of any SCIP instance.
Definition in file sdpi.h.
| SCIP_EXPORT const char* SCIPsdpiGetSolverName | ( | void | ) |
gets name and potentially version of SDP-solver
Definition at line 1441 of file sdpi.c.
References SCIPsdpiSolverGetSolverName().
Referenced by calcRelax(), SCIP_DECL_RELAXEXITSOL(), SCIP_DECL_RELAXINITSOL(), SCIP_DECL_TABLEOUTPUT(), and SCIPincludeRelaxSdp().
| SCIP_EXPORT const char* SCIPsdpiGetSolverDesc | ( | void | ) |
gets description of SDP-solver (developer, webpage, ...)
Definition at line 1449 of file sdpi.c.
References SCIPsdpiSolverGetSolverDesc().
Referenced by SCIPincludeRelaxSdp().
| SCIP_EXPORT void* SCIPsdpiGetSolverPointer | ( | SCIP_SDPI * | sdpi | ) |
gets pointer for SDP-solver - use only with great care
The behavior of this function depends on the solver and its use is therefore only recommended if you really know what you are doing. In general, it returns a pointer to the SDP-solver object.
| sdpi | SDP-interface structure |
Definition at line 1462 of file sdpi.c.
References SCIPsdpiSolverGetSolverPointer().
| SCIP_EXPORT int SCIPsdpiGetDefaultSdpiSolverNpenaltyIncreases | ( | void | ) |
gets default number of increases of penalty parameter for SDP-solver in SCIP-SDP
Definition at line 1470 of file sdpi.c.
References SCIPsdpiSolverGetDefaultSdpiSolverNpenaltyIncreases().
Referenced by SCIPincludeRelaxSdp().
| SCIP_EXPORT SCIP_Bool SCIPsdpiDoesWarmstartNeedPrimal | ( | void | ) |
Should primal solution values be saved for warmstarting purposes?
Definition at line 1478 of file sdpi.c.
References SCIPsdpiSolverDoesWarmstartNeedPrimal().
Referenced by calcRelax(), SCIP_DECL_RELAXEXITSOL(), and SCIPrelaxSdpComputeAnalyticCenters().
| SCIP_EXPORT SCIP_RETCODE SCIPsdpiCreate | ( | SCIP_SDPI ** | sdpi, |
| SCIP_MESSAGEHDLR * | messagehdlr, | ||
| BMS_BLKMEM * | blkmem, | ||
| BMS_BUFMEM * | bufmem | ||
| ) |
creates an sdpi object
| sdpi | pointer to an SDP-interface structure |
| messagehdlr | message handler to use for printing messages, or NULL |
| blkmem | block memory |
| bufmem | buffer memory |
Definition at line 1496 of file sdpi.c.
References BMS_CALL, DEFAULT_EPSILON, DEFAULT_FEASTOL, DEFAULT_MAXPENALTYPARAM, DEFAULT_NPENALTYINCR, DEFAULT_PENALTYPARAM, DEFAULT_SDPSOLVERGAPTOL, SCIP_ONEVAR_UNSOLVED, SCIP_SDPSLATER_NOINFO, SCIPsdpiSolverCreate(), SCIPsdpiSolverInfinity(), and SDPIclockCreate().
Referenced by SCIPincludeRelaxSdp().
| SCIP_EXPORT SCIP_RETCODE SCIPsdpiFree | ( | SCIP_SDPI ** | sdpi | ) |
deletes an sdpi object
| sdpi | pointer to an SDP-interface structure |
Definition at line 1594 of file sdpi.c.
References SCIPsdpiSolverFree(), and SDPIclockFree().
Referenced by SCIP_DECL_RELAXFREE().
cloning method of the general SDP-Interface
| oldsdpi | pointer to the SDP-interface structure that should be cloned |
| newsdpi | pointer to an SDP-interface structure to clone into |
Definition at line 1677 of file sdpi.c.
References BMS_CALL, SCIP_ONEVAR_UNSOLVED, SCIPsdpiSolverCreate(), and SDPIclockCreate().
| SCIP_EXPORT SCIP_RETCODE SCIPsdpiLoadSDP | ( | SCIP_SDPI * | sdpi, |
| int | nvars, | ||
| SCIP_Real * | obj, | ||
| SCIP_Real * | lb, | ||
| SCIP_Real * | ub, | ||
| int | nsdpblocks, | ||
| int * | sdpblocksizes, | ||
| int * | sdpnblockvars, | ||
| int | sdpconstnnonz, | ||
| int * | sdpconstnblocknonz, | ||
| int ** | sdpconstrow, | ||
| int ** | sdpconstcol, | ||
| SCIP_Real ** | sdpconstval, | ||
| int | sdpnnonz, | ||
| int ** | sdpnblockvarnonz, | ||
| int ** | sdpvar, | ||
| int *** | sdprow, | ||
| int *** | sdpcol, | ||
| SCIP_Real *** | sdpval, | ||
| int | nlpcons, | ||
| SCIP_Real * | lplhs, | ||
| SCIP_Real * | lprhs, | ||
| int | lpnnonz, | ||
| int * | lprow, | ||
| int * | lpcol, | ||
| SCIP_Real * | lpval | ||
| ) |
copies SDP data into SDP-solver
| sdpi | SDP-interface structure |
| nvars | number of variables |
| obj | objective function values of variables |
| lb | lower bounds of variables |
| ub | upper bounds of variables |
| nsdpblocks | number of SDP-blocks |
| sdpblocksizes | sizes of the SDP-blocks (may be NULL if nsdpblocks = sdpconstnnonz = sdpnnonz = 0) |
| sdpnblockvars | number of variables in each SDP-block (may be NULL if nsdpblocks = sdpconstnnonz = sdpnnonz = 0) |
| sdpconstnnonz | number of nonzero elements in the constant matrices of the SDP-blocks |
| sdpconstnblocknonz | number of nonzeros for each variable in the constant part, also the i-th entry gives the number of entries of sdpconst row/col/val [i] |
| sdpconstrow | pointer to row-indices of constant matrix for each block (may be NULL if sdpconstnnonz = 0) |
| sdpconstcol | pointer to column-indices of constant matrix for each block (may be NULL if sdpconstnnonz = 0) |
| sdpconstval | pointer to values of entries of constant matrix for each block (may be NULL if sdpconstnnonz = 0) |
| sdpnnonz | number of nonzero elements in the SDP-constraint-matrices |
| sdpnblockvarnonz | sdpnblockvarnonz[i][j] gives the number of nonzeros for the j-th variable (not necessarly variable j) in the i-th block, this is also the length of row/col/val[i][j] |
| sdpvar | sdpvar[i][j] gives the global index of the j-th variable (according to the sorting for row/col/val) in the i-th block |
| sdprow | pointer to the row-indices for each block and variable in this block, so row[i][j][k] gives the k-th nonzero of the j-th variable (not necessarly variable j) in the i-th block (may be NULL if sdpnnonz = 0) |
| sdpcol | pointer to the column-indices for each block and variable in this block (may be NULL if sdpnnonz = 0) |
| sdpval | pointer to the values of the nonzeros for each block and variable in this block (may be NULL if sdpnnonz = 0) |
| nlpcons | number of LP-constraints |
| lplhs | left-hand sides of LP rows (may be NULL if nlpcons = 0) |
| lprhs | right-hand sides of LP rows (may be NULL if nlpcons = 0) |
| lpnnonz | number of nonzero elements in the LP-constraint-matrix |
| lprow | row-index for each entry in lpval-array (may be NULL if lpnnonz = 0) |
| lpcol | column-index for each entry in lpval-array (may be NULL if lpnnonz = 0) |
| lpval | values of LP-constraint matrix entries (may be NULL if lpnnonz = 0) |
Definition at line 1836 of file sdpi.c.
References ensureBoundDataMemory(), ensureLPDataMemory(), ensureSDPDataMemory(), and SCIPsdpiInfinity().
Referenced by putSdpDataInInterface().
| SCIP_EXPORT SCIP_RETCODE SCIPsdpiAddLPRows | ( | SCIP_SDPI * | sdpi, |
| int | nrows, | ||
| const SCIP_Real * | lhs, | ||
| const SCIP_Real * | rhs, | ||
| int | nnonz, | ||
| const int * | row, | ||
| const int * | col, | ||
| const SCIP_Real * | val | ||
| ) |
adds rows to the LP-Block
| sdpi | SDP-interface structure |
| nrows | number of rows to be added |
| lhs | left-hand sides of new rows |
| rhs | right-hand sides of new rows |
| nnonz | number of nonzero elements to be added to the LP constraint matrix |
| row | row-indices of constraint-matrix entries, going from 0 to nrows - 1, these will be changed to nlpcons + i |
| col | column-indices of constraint-matrix entries |
| val | values of constraint-matrix entries |
Definition at line 2038 of file sdpi.c.
References ensureLPDataMemory().
Referenced by putLpDataInInterface().
| SCIP_EXPORT SCIP_RETCODE SCIPsdpiDelLPRows | ( | SCIP_SDPI * | sdpi, |
| int | firstrow, | ||
| int | lastrow | ||
| ) |
deletes all rows in the given range from the LP-Block
| sdpi | SDP-interface structure |
| firstrow | first row to be deleted |
| lastrow | last row to be deleted |
Definition at line 2120 of file sdpi.c.
Referenced by putLpDataInInterface(), and SCIPsdpiDelLPRowset().
| SCIP_EXPORT SCIP_RETCODE SCIPsdpiDelLPRowset | ( | SCIP_SDPI * | sdpi, |
| int * | dstat | ||
| ) |
deletes LP-rows from SDP-interface
| sdpi | SDP-interface structure |
| dstat | deletion status of LP rows input: 1 if row should be deleted, 0 otherwise output: new position of row, -1 if row was deleted |
Definition at line 2215 of file sdpi.c.
References SCIPsdpiDelLPRows().
| SCIP_EXPORT SCIP_RETCODE SCIPsdpiClear | ( | SCIP_SDPI * | sdpi | ) |
clears the whole SDP
| sdpi | SDP-interface structure |
Definition at line 2258 of file sdpi.c.
References SCIPsdpiSolverResetCounter().
Referenced by SCIP_DECL_RELAXEXITSOL().
| SCIP_EXPORT SCIP_RETCODE SCIPsdpiChgObj | ( | SCIP_SDPI * | sdpi, |
| int | nvars, | ||
| const int * | ind, | ||
| const SCIP_Real * | obj | ||
| ) |
changes objective coefficients of variables
| sdpi | SDP-interface structure |
| nvars | number of variables to change objective coefficients for |
| ind | variables indices |
| obj | new objective coefficients |
Definition at line 2293 of file sdpi.c.
Referenced by putLpDataInInterface().
| SCIP_EXPORT SCIP_RETCODE SCIPsdpiChgBounds | ( | SCIP_SDPI * | sdpi, |
| int | nvars, | ||
| const int * | ind, | ||
| const SCIP_Real * | lb, | ||
| const SCIP_Real * | ub | ||
| ) |
changes lower and upper bounds of variables
| sdpi | SDP-interface structure |
| nvars | number of variables to change bounds for |
| ind | variables indices |
| lb | values for the new lower bounds |
| ub | values for the new upper bounds |
Definition at line 2323 of file sdpi.c.
Referenced by putLpDataInInterface().
| SCIP_RETCODE SCIPsdpiChgLPLhRhSides | ( | SCIP_SDPI * | sdpi, |
| int | nrows, | ||
| const int * | ind, | ||
| const SCIP_Real * | lhs, | ||
| const SCIP_Real * | rhs | ||
| ) |
| SCIP_MESSAGEHDLR* SCIPsdpiGetMessagehdlr | ( | SCIP_SDPI * | sdpi | ) |
| SCIP_EXPORT SCIP_RETCODE SCIPsdpiGetNLPRows | ( | SCIP_SDPI * | sdpi, |
| int * | nlprows | ||
| ) |
gets the number of LP-rows in the SDP
| sdpi | SDP-interface structure |
| nlprows | pointer to store the number of rows |
Definition at line 2411 of file sdpi.c.
Referenced by putLpDataInInterface().
| SCIP_EXPORT SCIP_RETCODE SCIPsdpiGetNSDPBlocks | ( | SCIP_SDPI * | sdpi, |
| int * | nsdpblocks | ||
| ) |
gets the number of SDP-Blocks in the SDP
| sdpi | SDP-interface structure |
| nsdpblocks | pointer to store the number of blocks |
Definition at line 2425 of file sdpi.c.
Referenced by SCIP_DECL_RELAXEXEC().
| SCIP_EXPORT SCIP_RETCODE SCIPsdpiGetNVars | ( | SCIP_SDPI * | sdpi, |
| int * | nvars | ||
| ) |
| SCIP_EXPORT SCIP_RETCODE SCIPsdpiGetSDPNNonz | ( | SCIP_SDPI * | sdpi, |
| int * | nnonz | ||
| ) |
| SCIP_EXPORT SCIP_RETCODE SCIPsdpiGetConstNNonz | ( | SCIP_SDPI * | sdpi, |
| int * | nnonz | ||
| ) |
| SCIP_EXPORT SCIP_RETCODE SCIPsdpiGetLPNNonz | ( | SCIP_SDPI * | sdpi, |
| int * | nnonz | ||
| ) |
| SCIP_EXPORT SCIP_RETCODE SCIPsdpiGetObj | ( | SCIP_SDPI * | sdpi, |
| int | firstvar, | ||
| int | lastvar, | ||
| SCIP_Real * | vals | ||
| ) |
gets objective coefficients from SDP-interface
| sdpi | SDP-interface structure |
| firstvar | first variable to get objective coefficient for |
| lastvar | last variable to get objective coefficient for |
| vals | pointer to store objective coefficients (memory of size lastvar - firstvar + 1 needs to be allocated) |
| SCIP_EXPORT SCIP_RETCODE SCIPsdpiGetBounds | ( | SCIP_SDPI * | sdpi, |
| int | firstvar, | ||
| int | lastvar, | ||
| SCIP_Real * | lbs, | ||
| SCIP_Real * | ubs | ||
| ) |
gets current variable lower and/or upper bounds from SDP-interface
| sdpi | SDP-interface structure |
| firstvar | first variable to get bounds for |
| lastvar | last variable to get bounds for |
| lbs | pointer to store lower bound values (memory of size lastvar - firstvar + 1 needs to be allocated), or NULL |
| ubs | pointer to store upper bound values (memory of size lastvar - firstvar + 1 needs to be allocated), or NULL |
| SCIP_EXPORT SCIP_RETCODE SCIPsdpiGetLhSides | ( | SCIP_SDPI * | sdpi, |
| int | firstrow, | ||
| int | lastrow, | ||
| SCIP_Real * | lhss | ||
| ) |
| SCIP_EXPORT SCIP_RETCODE SCIPsdpiGetRhSides | ( | SCIP_SDPI * | sdpi, |
| int | firstrow, | ||
| int | lastrow, | ||
| SCIP_Real * | rhss | ||
| ) |
gets current right-hand sides from SDP-interface
| sdpi | SDP-interface structure |
| firstrow | first row to get sides for |
| lastrow | last row to get sides for |
| rhss | pointer to store right-hand side values (memory of size lastvar - firstvar + 1 needs to be allocated) |
| SCIP_EXPORT SCIP_RETCODE SCIPsdpiSolve | ( | SCIP_SDPI * | sdpi, |
| SCIP_Real * | starty, | ||
| int * | startZnblocknonz, | ||
| int ** | startZrow, | ||
| int ** | startZcol, | ||
| SCIP_Real ** | startZval, | ||
| int * | startXnblocknonz, | ||
| int ** | startXrow, | ||
| int ** | startXcol, | ||
| SCIP_Real ** | startXval, | ||
| SCIP_SDPSOLVERSETTING | startsettings, | ||
| SCIP_Bool | enforceslatercheck, | ||
| SCIP_Real | timelimit | ||
| ) |
solves the SDP, as start optionally a starting point for the solver may be given, if it is NULL, the solver will start from scratch
| sdpi | SDP-interface structure |
| starty | NULL or dual vector y as starting point for the solver, this should have length nvars |
| startZnblocknonz | dual matrix Z = sum Ai yi as starting point for the solver: number of nonzeros for each block, also length of corresponding row/col/val-arrays; or NULL |
| startZrow | dual matrix Z = sum Ai yi as starting point for the solver: row indices for each block; may be NULL if startZnblocknonz = NULL |
| startZcol | dual matrix Z = sum Ai yi as starting point for the solver: column indices for each block; may be NULL if startZnblocknonz = NULL |
| startZval | dual matrix Z = sum Ai yi as starting point for the solver: values for each block; may be NULL if startZnblocknonz = NULL |
| startXnblocknonz | primal matrix X as starting point for the solver: number of nonzeros for each block, also length of corresponding row/col/val-arrays; or NULL |
| startXrow | primal matrix X as starting point for the solver: row indices for each block; may be NULL if startXnblocknonz = NULL |
| startXcol | primal matrix X as starting point for the solver: column indices for each block; may be NULL if startXnblocknonz = NULL |
| startXval | primal matrix X as starting point for the solver: values for each block; may be NULL if startXnblocknonz = NULL |
| startsettings | settings used to start with in SDPA, currently not used for DSDP or MOSEK, set this to SCIP_SDPSOLVERSETTING_UNSOLVED to ignore it and start from scratch |
| enforceslatercheck | always check for Slater condition in case the problem could not be solved and printf the solution of this check |
| timelimit | after this many seconds solving will be aborted (currently only implemented for DSDP and MOSEK) |
Definition at line 2607 of file sdpi.c.
References BMS_CALL, checkFixedFeasibilitySdp(), checkSlaterCondition(), compConstMatAfterFixings(), findEmptyRowColsSDP(), isFixed(), MIN_GAPTOL, prepareLPData(), SCIP_CALL_PARAM, SCIP_ONEVAR_INFEASIBLE, SCIP_ONEVAR_OPTIMAL, SCIP_ONEVAR_UNSOLVED, SCIP_SDPPAR_GAPTOL, SCIP_SDPSLATER_NOINFO, SCIP_SDPSOLVERSETTING_UNSOLVED, SCIPsdpiGetSol(), SCIPsdpiInfinity(), SCIPsdpiIsInfinity(), SCIPsdpiSolverGetIterations(), SCIPsdpiSolverGetObjval(), SCIPsdpiSolverGetSdpCalls(), SCIPsdpiSolverGetTime(), SCIPsdpiSolverIncreaseCounter(), SCIPsdpiSolverInfinity(), SCIPsdpiSolverIsAcceptable(), SCIPsdpiSolverIsDualInfeasible(), SCIPsdpiSolverIsOptimal(), SCIPsdpiSolverIsTimelimExc(), SCIPsdpiSolverLoadAndSolve(), SCIPsdpiSolverLoadAndSolveWithPenalty(), SCIPsdpiSolverSetRealpar(), SCIPsdpiSolverWasSolved(), SCIPsolveOneVarSDP(), SDPIclockStart(), and SDPIclockStop().
Referenced by calcRelax(), and SCIPrelaxSdpComputeAnalyticCenters().
| SCIP_EXPORT SCIP_Bool SCIPsdpiWasSolved | ( | SCIP_SDPI * | sdpi | ) |
returns whether a solve method was successfully called after the last modification of the SDP
| sdpi | SDP-interface structure |
Definition at line 3137 of file sdpi.c.
Referenced by calcRelax(), SCIPrelaxSdpComputeAnalyticCenters(), and SCIPsdpiSolvedOrig().
| SCIP_EXPORT SCIP_Bool SCIPsdpiSolvedOrig | ( | SCIP_SDPI * | sdpi | ) |
returns whether the original problem was solved, if SCIPsdpiWasSolved = true and SCIPsdpiSolvedOrig = false, then a penalty formulation was solved
| sdpi | SDP-interface structure |
Definition at line 3147 of file sdpi.c.
References SCIPsdpiWasSolved().
Referenced by calcRelax(), SCIPrelaxSdpComputeAnalyticCenters(), and SCIPrelaxSdpSolvedOrig().
| SCIP_EXPORT SCIP_Bool SCIPsdpiFeasibilityKnown | ( | SCIP_SDPI * | sdpi | ) |
returns true if the solver could determine whether the problem is feasible, so it returns true if the solver knows that the problem is feasible/infeasible/unbounded, it returns false if the solver does not know anything about the feasibility status and thus the functions IsPrimalFeasible etc. should not be used
| sdpi | SDP-interface structure |
Definition at line 3160 of file sdpi.c.
References CHECK_IF_SOLVED_BOOL, SCIP_ONEVAR_UNSOLVED, and SCIPsdpiSolverFeasibilityKnown().
Referenced by calcRelax().
| SCIP_EXPORT SCIP_RETCODE SCIPsdpiGetSolFeasibility | ( | SCIP_SDPI * | sdpi, |
| SCIP_Bool * | primalfeasible, | ||
| SCIP_Bool * | dualfeasible | ||
| ) |
gets information about proven primal and dual feasibility of the current SDP-solution
| sdpi | SDP-interface structure |
| primalfeasible | pointer to store the proven primal feasibility status |
| dualfeasible | pointer to store the proven dual feasibility status |
Definition at line 3174 of file sdpi.c.
References CHECK_IF_SOLVED, SCIP_ONEVAR_INFEASIBLE, SCIP_ONEVAR_OPTIMAL, and SCIPsdpiSolverGetSolFeasibility().
| SCIP_EXPORT SCIP_Bool SCIPsdpiIsPrimalUnbounded | ( | SCIP_SDPI * | sdpi | ) |
returns TRUE iff SDP is proven to be primal unbounded
| sdpi | SDP-interface structure |
Definition at line 3220 of file sdpi.c.
References CHECK_IF_SOLVED_BOOL, SCIP_ONEVAR_INFEASIBLE, SCIP_ONEVAR_OPTIMAL, and SCIPsdpiSolverIsPrimalUnbounded().
| SCIP_EXPORT SCIP_Bool SCIPsdpiIsPrimalInfeasible | ( | SCIP_SDPI * | sdpi | ) |
returns TRUE iff SDP is proven to be primal infeasible
| sdpi | SDP-interface structure |
Definition at line 3250 of file sdpi.c.
References CHECK_IF_SOLVED_BOOL, SCIP_ONEVAR_UNSOLVED, and SCIPsdpiSolverIsPrimalInfeasible().
| SCIP_EXPORT SCIP_Bool SCIPsdpiIsPrimalFeasible | ( | SCIP_SDPI * | sdpi | ) |
returns TRUE iff SDP is proven to be primal feasible
| sdpi | SDP-interface structure |
Definition at line 3275 of file sdpi.c.
References CHECK_IF_SOLVED_BOOL, SCIP_ONEVAR_UNSOLVED, and SCIPsdpiSolverIsPrimalFeasible().
Referenced by calcRelax(), and SCIPrelaxSdpComputeAnalyticCenters().
| SCIP_EXPORT SCIP_Bool SCIPsdpiIsDualUnbounded | ( | SCIP_SDPI * | sdpi | ) |
returns TRUE iff SDP is proven to be dual unbounded
| sdpi | SDP-interface structure |
Definition at line 3303 of file sdpi.c.
References CHECK_IF_SOLVED_BOOL, SCIP_ONEVAR_UNSOLVED, and SCIPsdpiSolverIsDualUnbounded().
Referenced by calcRelax(), SCIP_DECL_RELAXEXEC(), and SCIPrelaxSdpIsUnbounded().
| SCIP_EXPORT SCIP_Bool SCIPsdpiIsDualInfeasible | ( | SCIP_SDPI * | sdpi | ) |
returns TRUE iff SDP is proven to be dual infeasible
| sdpi | SDP-interface structure |
Definition at line 3327 of file sdpi.c.
References CHECK_IF_SOLVED_BOOL, SCIP_ONEVAR_INFEASIBLE, SCIP_ONEVAR_OPTIMAL, and SCIPsdpiSolverIsDualInfeasible().
Referenced by calcRelax().
| SCIP_EXPORT SCIP_Bool SCIPsdpiIsDualFeasible | ( | SCIP_SDPI * | sdpi | ) |
returns TRUE iff SDP is proven to be dual feasible
| sdpi | SDP-interface structure |
Definition at line 3353 of file sdpi.c.
References CHECK_IF_SOLVED_BOOL, SCIP_ONEVAR_INFEASIBLE, SCIP_ONEVAR_OPTIMAL, and SCIPsdpiSolverIsDualFeasible().
Referenced by calcRelax(), and SCIPrelaxSdpComputeAnalyticCenters().
| SCIP_EXPORT SCIP_Bool SCIPsdpiIsConverged | ( | SCIP_SDPI * | sdpi | ) |
returns TRUE iff the solver converged
| sdpi | SDP-interface structure |
Definition at line 3379 of file sdpi.c.
References CHECK_IF_SOLVED_BOOL, SCIP_ONEVAR_UNSOLVED, and SCIPsdpiSolverIsConverged().
| SCIP_EXPORT SCIP_Bool SCIPsdpiIsObjlimExc | ( | SCIP_SDPI * | sdpi | ) |
returns TRUE iff the objective limit was reached
| sdpi | SDP-interface structure |
Definition at line 3403 of file sdpi.c.
References CHECK_IF_SOLVED_BOOL, SCIP_ONEVAR_UNSOLVED, and SCIPsdpiSolverIsObjlimExc().
Referenced by calcRelax().
| SCIP_EXPORT SCIP_Bool SCIPsdpiIsIterlimExc | ( | SCIP_SDPI * | sdpi | ) |
returns TRUE iff the iteration limit was reached
| sdpi | SDP-interface structure |
Definition at line 3427 of file sdpi.c.
References CHECK_IF_SOLVED_BOOL, SCIP_ONEVAR_UNSOLVED, and SCIPsdpiSolverIsIterlimExc().
| SCIP_EXPORT SCIP_Bool SCIPsdpiIsTimelimExc | ( | SCIP_SDPI * | sdpi | ) |
returns TRUE iff the time limit was reached
| sdpi | SDP-interface structure |
Definition at line 3451 of file sdpi.c.
References SCIP_ONEVAR_UNSOLVED, and SCIPsdpiSolverIsTimelimExc().
Referenced by calcRelax().
| SCIP_EXPORT int SCIPsdpiGetInternalStatus | ( | SCIP_SDPI * | sdpi | ) |
returns the internal solution status of the solver, which has the following meaning:
-1: solver was not started
0: converged
1: infeasible start
2: numerical problems
3: objective limit reached
4: iteration limit reached
5: time limit reached
6: user termination
7: other
| sdpi | SDP-interface structure |
Definition at line 3489 of file sdpi.c.
References SCIP_ONEVAR_UNSOLVED, and SCIPsdpiSolverGetInternalStatus().
| SCIP_EXPORT SCIP_Bool SCIPsdpiIsOptimal | ( | SCIP_SDPI * | sdpi | ) |
returns TRUE iff SDP was solved to optimality, meaning the solver converged and returned primal and dual feasible solutions
| sdpi | SDP-interface structure |
Definition at line 3520 of file sdpi.c.
References CHECK_IF_SOLVED_BOOL, SCIP_ONEVAR_INFEASIBLE, SCIP_ONEVAR_OPTIMAL, and SCIPsdpiSolverIsOptimal().
Referenced by calcRelax().
| SCIP_EXPORT SCIP_Bool SCIPsdpiIsAcceptable | ( | SCIP_SDPI * | sdpi | ) |
returns TRUE iff SDP was solved to optimality or some other status was reached that is still acceptable inside a Branch & Bound framework
| sdpi | SDP-interface structure |
Definition at line 3548 of file sdpi.c.
References SCIP_ONEVAR_UNSOLVED, and SCIPsdpiSolverIsAcceptable().
Referenced by calcRelax().
| SCIP_EXPORT SCIP_RETCODE SCIPsdpiGetObjval | ( | SCIP_SDPI * | sdpi, |
| SCIP_Real * | objval | ||
| ) |
gets objective value of solution
| sdpi | SDP-interface structure |
| objval | pointer to store the objective value |
Definition at line 3576 of file sdpi.c.
References CHECK_IF_SOLVED, SCIP_ONEVAR_UNSOLVED, SCIPsdpiInfinity(), and SCIPsdpiSolverGetObjval().
Referenced by SCIPsdpiGetSol().
| SCIP_EXPORT SCIP_RETCODE SCIPsdpiGetLowerObjbound | ( | SCIP_SDPI * | sdpi, |
| SCIP_Real * | objlb | ||
| ) |
gets the best lower bound on the objective (this is equal to objval, if the problem was solved successfully, but can also give a bound if we did not get a feasible solution using the penalty approach)
| sdpi | SDP-interface structure |
| objlb | pointer to store the lower bound on the objective value |
Definition at line 3614 of file sdpi.c.
References SCIP_ONEVAR_UNSOLVED, SCIPsdpiInfinity(), and SCIPsdpiSolverGetObjval().
Referenced by calcRelax().
| SCIP_EXPORT SCIP_RETCODE SCIPsdpiGetSol | ( | SCIP_SDPI * | sdpi, |
| SCIP_Real * | objval, | ||
| SCIP_Real * | dualsol, | ||
| int * | dualsollength | ||
| ) |
gets dual solution vector for feasible SDPs, if dualsollength isn't equal to the number of variables this will return the needed length and a debug message
| sdpi | SDP-interface structure |
| objval | pointer to store the objective value, may be NULL if not needed |
| dualsol | pointer to store the dual solution vector, may be NULL if not needed |
| dualsollength | length of the dualsol vector, must be 0 if dualsol is NULL, if this is less than the number of variables in the SDP, a debug-message will be thrown and this is set to the needed value |
Definition at line 3666 of file sdpi.c.
References CHECK_IF_SOLVED, SCIP_ONEVAR_UNSOLVED, SCIPsdpiGetObjval(), SCIPsdpiInfinity(), and SCIPsdpiSolverGetSol().
Referenced by calcRelax(), SCIP_DECL_RELAXEXEC(), SCIPrelaxSdpComputeAnalyticCenters(), SCIPrelaxSdpGetRelaxSol(), and SCIPsdpiSolve().
| SCIP_EXPORT SCIP_RETCODE SCIPsdpiGetPreoptimalPrimalNonzeros | ( | SCIP_SDPI * | sdpi, |
| int | nblocks, | ||
| int * | startXnblocknonz | ||
| ) |
return number of nonzeros for each block of the primal solution matrix X for the preoptimal solution
| sdpi | pointer to an SDP-interface structure |
| nblocks | length of startXnblocknonz (should be nsdpblocks + 1) |
| startXnblocknonz | pointer to store number of nonzeros for row/col/val-arrays in each block or first entry -1 if no primal solution is available |
Definition at line 3747 of file sdpi.c.
References SCIP_ONEVAR_UNSOLVED, and SCIPsdpiSolverGetPreoptimalPrimalNonzeros().
Referenced by calcRelax().
| SCIP_EXPORT SCIP_RETCODE SCIPsdpiGetPreoptimalSol | ( | SCIP_SDPI * | sdpi, |
| SCIP_Bool * | success, | ||
| SCIP_Real * | dualsol, | ||
| int * | dualsollength, | ||
| int | nblocks, | ||
| int * | startXnblocknonz, | ||
| int ** | startXrow, | ||
| int ** | startXcol, | ||
| SCIP_Real ** | startXval | ||
| ) |
gets preoptimal dual solution vector and primal matrix for warmstarting purposes
| sdpi | SDP-interface structure |
| success | could a preoptimal solution be returned ? |
| dualsol | pointer to store the dual solution vector, may be NULL if not needed |
| dualsollength | length of the dual sol vector, must be 0 if dualsol is NULL, if this is less than the number of variables in the SDP, a DebugMessage will be thrown and this is set to the needed value |
| nblocks | length of startXnblocknonz (should be nsdpblocks + 1) or -1 if no primal matrix should be returned |
| startXnblocknonz | input: allocated memory for row/col/val-arrays in each block (or NULL if nblocks = -1) output: number of nonzeros in each block or first entry -1 if no primal solution is available |
| startXrow | pointer to store row indices of X (or NULL if nblocks = -1) |
| startXcol | pointer to store column indices of X (or NULL if nblocks = -1) |
| startXval | pointer to store values of X (or NULL if nblocks = -1) |
Definition at line 3788 of file sdpi.c.
References SCIP_ONEVAR_UNSOLVED, and SCIPsdpiSolverGetPreoptimalSol().
Referenced by calcRelax().
| SCIP_EXPORT SCIP_RETCODE SCIPsdpiGetPrimalBoundVars | ( | SCIP_SDPI * | sdpi, |
| SCIP_Real * | lbvars, | ||
| SCIP_Real * | ubvars, | ||
| int * | arraylength | ||
| ) |
gets the primal variables corresponding to the lower and upper variable-bounds in the dual problem, the last input should specify the length of the arrays, if this is less than the number of variables, the needed length will be returned and a debug-message thrown
| sdpi | pointer to an SDP-interface structure |
| lbvars | pointer to store the values of the variables corresponding to lower bounds in the dual problems |
| ubvars | pointer to store the values of the variables corresponding to upper bounds in the dual problems |
| arraylength | input: length of lbvars and ubvars output: number of elements inserted into lbvars/ubvars (or needed length if it was not sufficient, -1 if infeasible or all variables are fixed) |
Definition at line 3895 of file sdpi.c.
References CHECK_IF_SOLVED, isFixed(), SCIP_ONEVAR_INFEASIBLE, SCIP_ONEVAR_OPTIMAL, SCIPsdpiSolverGetPrimalBoundVars(), SCIPsdpiSolverIsDualInfeasible(), and SCIPsdpiSolverIsPrimalInfeasible().
Referenced by SCIPrelaxSdpGetPrimalBoundVars().
| SCIP_EXPORT SCIP_RETCODE SCIPsdpiGetPrimalNonzeros | ( | SCIP_SDPI * | sdpi, |
| int | nblocks, | ||
| int * | startXnblocknonz | ||
| ) |
return number of nonzeros for each block of the primal solution matrix X
| sdpi | pointer to an SDP-interface structure |
| nblocks | length of startXnblocknonz (should be nsdpblocks + 1) |
| startXnblocknonz | pointer to store number of nonzeros for row/col/val-arrays in each block |
Definition at line 3975 of file sdpi.c.
References SCIP_ONEVAR_UNSOLVED, and SCIPsdpiSolverGetPrimalNonzeros().
Referenced by calcRelax(), and SCIPrelaxSdpComputeAnalyticCenters().
| SCIP_EXPORT SCIP_RETCODE SCIPsdpiGetPrimalMatrix | ( | SCIP_SDPI * | sdpi, |
| int | nblocks, | ||
| int * | startXnblocknonz, | ||
| int ** | startXrow, | ||
| int ** | startXcol, | ||
| SCIP_Real ** | startXval | ||
| ) |
returns the primal matrix X
| sdpi | pointer to an SDP-interface structure |
| nblocks | length of startXnblocknonz (should be nsdpblocks + 1) |
| startXnblocknonz | input: allocated memory for row/col/val-arrays in each block output: number of nonzeros in each block |
| startXrow | pointer to store row indices of X |
| startXcol | pointer to store column indices of X |
| startXval | pointer to store values of X |
Definition at line 4009 of file sdpi.c.
References SCIP_ONEVAR_UNSOLVED, and SCIPsdpiSolverGetPrimalMatrix().
Referenced by calcRelax(), and SCIPrelaxSdpComputeAnalyticCenters().
| SCIP_EXPORT SCIP_Real SCIPsdpiGetMaxPrimalEntry | ( | SCIP_SDPI * | sdpi | ) |
return the maximum absolute value of the optimal primal matrix
| sdpi | pointer to an SDP-interface structure |
Definition at line 4042 of file sdpi.c.
References SCIPsdpiSolverGetMaxPrimalEntry().
Referenced by calcRelax().
| SCIP_EXPORT SCIP_RETCODE SCIPsdpiGetTime | ( | SCIP_SDPI * | sdpi, |
| SCIP_Real * | opttime | ||
| ) |
gets the time for the last SDP optimization call of solver
| sdpi | SDP-interface structure |
| opttime | pointer to store the time for optimization of the solver |
Definition at line 4052 of file sdpi.c.
Referenced by updateSDPStatistics().
| SCIP_EXPORT SCIP_RETCODE SCIPsdpiGetIterations | ( | SCIP_SDPI * | sdpi, |
| int * | iterations | ||
| ) |
gets the number of SDP-iterations of the last solve call
| sdpi | SDP-interface structure |
| iterations | pointer to store the number of iterations of the last solve call |
Definition at line 4066 of file sdpi.c.
Referenced by updateSDPStatistics().
| SCIP_EXPORT SCIP_RETCODE SCIPsdpiGetSdpCalls | ( | SCIP_SDPI * | sdpi, |
| int * | calls | ||
| ) |
gets the number of calls to the SDP-solver for the last solve call
| sdpi | SDP-interface structure |
| calls | pointer to store the number of calls to the SDP-solver for the last solve call |
Definition at line 4080 of file sdpi.c.
Referenced by updateSDPStatistics().
| SCIP_EXPORT SCIP_RETCODE SCIPsdpiSettingsUsed | ( | SCIP_SDPI * | sdpi, |
| SCIP_SDPSOLVERSETTING * | usedsetting | ||
| ) |
returns which settings the SDP-solver used in the last solve call
| sdpi | SDP-interface structure |
| usedsetting | the setting used by the SDP-solver |
Definition at line 4094 of file sdpi.c.
References SCIP_ONEVAR_UNSOLVED, SCIP_SDPSOLVERSETTING_PENALTY, SCIP_SDPSOLVERSETTING_UNSOLVED, and SCIPsdpiSolverSettingsUsed().
Referenced by calcRelax(), and updateSDPStatistics().
| SCIP_EXPORT SCIP_RETCODE SCIPsdpiSlaterSettings | ( | SCIP_SDPI * | sdpi, |
| SCIP_SDPSLATERSETTING * | slatersetting | ||
| ) |
returns which settings the SDP-solver used in the last solve call and whether primal and dual Slater condition were fullfilled
returns which settings the SDP-solver used in the last solve call and whether primal and dual Slater condition were fulfilled
| sdpi | SDP-interface structure |
| slatersetting | the combination of Slater conditions and successfull settings |
Definition at line 4135 of file sdpi.c.
References SCIP_ONEVAR_UNSOLVED, SCIP_SDPSLATER_HOLDS, SCIP_SDPSLATER_INF, SCIP_SDPSLATER_NOINFO, SCIP_SDPSLATER_NOT, SCIP_SDPSLATERSETTING_BOUNDEDINFEASIBLE, SCIP_SDPSLATERSETTING_BOUNDEDNOSLATER, SCIP_SDPSLATERSETTING_BOUNDEDWSLATER, SCIP_SDPSLATERSETTING_NOINFO, SCIP_SDPSLATERSETTING_PENALTYINFEASIBLE, SCIP_SDPSLATERSETTING_PENALTYNOSLATER, SCIP_SDPSLATERSETTING_PENALTYWSLATER, SCIP_SDPSLATERSETTING_STABLEINFEASIBLE, SCIP_SDPSLATERSETTING_STABLENOSLATER, SCIP_SDPSLATERSETTING_STABLEWSLATER, SCIP_SDPSLATERSETTING_UNSOLVEDINFEASIBLE, SCIP_SDPSLATERSETTING_UNSOLVEDNOSLATER, SCIP_SDPSLATERSETTING_UNSOLVEDWSLATER, SCIP_SDPSLATERSETTING_UNSTABLEINFEASIBLE, SCIP_SDPSLATERSETTING_UNSTABLENOSLATER, SCIP_SDPSLATERSETTING_UNSTABLEWSLATER, SCIP_SDPSOLVERSETTING_FAST, SCIP_SDPSOLVERSETTING_MEDIUM, SCIP_SDPSOLVERSETTING_STABLE, SCIP_SDPSOLVERSETTING_UNSOLVED, SCIPsdpiSolverInfinity(), and SCIPsdpiSolverSettingsUsed().
Referenced by updateSDPStatistics().
| SCIP_EXPORT SCIP_RETCODE SCIPsdpiSlater | ( | SCIP_SDPI * | sdpi, |
| SCIP_SDPSLATER * | primalslater, | ||
| SCIP_SDPSLATER * | dualslater | ||
| ) |
returns whether primal and dual Slater condition held for last solved SDP
| sdpi | SDP-interface structure |
| primalslater | pointer to save whether primal Slater condition held |
| dualslater | pointer to save whether dual Slater condition held |
Definition at line 4445 of file sdpi.c.
References SCIP_ONEVAR_UNSOLVED, and SCIP_SDPSLATER_NOINFO.
Referenced by updateSDPStatistics().
| SCIP_EXPORT SCIP_RETCODE SCIPsdpiGetStatistics | ( | SCIP_SDPI * | sdpi, |
| int * | ninfeasible, | ||
| int * | nallfixed, | ||
| int * | nonevarsdp | ||
| ) |
returns some statistcs
| sdpi | SDP-interface structure |
| ninfeasible | pointer to store the total number of times infeasibility was detected in presolving |
| nallfixed | pointer to store the total number of times all variables were fixed |
| nonevarsdp | pointer to store the total number of times a one variable SDP was solved |
Definition at line 4481 of file sdpi.c.
Referenced by SCIPrelaxSdpGetStatistics().
| SCIP_EXPORT SCIP_Real SCIPsdpiInfinity | ( | SCIP_SDPI * | sdpi | ) |
returns value treated as infinity in the SDP-solver
| sdpi | SDP-interface structure |
Definition at line 4513 of file sdpi.c.
References SCIPsdpiSolverInfinity().
Referenced by calcRelax(), prepareLPData(), SCIP_DECL_RELAXINITSOL(), SCIPsdpiGetLowerObjbound(), SCIPsdpiGetObjval(), SCIPsdpiGetSol(), SCIPsdpiIsInfinity(), SCIPsdpiLoadSDP(), and SCIPsdpiSolve().
| SCIP_EXPORT SCIP_Bool SCIPsdpiIsInfinity | ( | SCIP_SDPI * | sdpi, |
| SCIP_Real | val | ||
| ) |
checks if given value is treated as (plus or minus) infinity in the SDP-solver
| sdpi | SDP-interface structure |
| val | value to be checked for infinity |
Definition at line 4523 of file sdpi.c.
References SCIPsdpiInfinity().
Referenced by prepareLPData(), and SCIPsdpiSolve().
| SCIP_EXPORT SCIP_RETCODE SCIPsdpiGetRealpar | ( | SCIP_SDPI * | sdpi, |
| SCIP_SDPPARAM | type, | ||
| SCIP_Real * | dval | ||
| ) |
gets floating point parameter of SDP-interface
| sdpi | SDP-interface structure |
| type | parameter number |
| dval | pointer to store the parameter value |
Definition at line 4534 of file sdpi.c.
References SCIP_CALL_PARAM, SCIP_SDPPAR_EPSILON, SCIP_SDPPAR_FEASTOL, SCIP_SDPPAR_GAPTOL, SCIP_SDPPAR_LAMBDASTAR, SCIP_SDPPAR_MAXPENALTYPARAM, SCIP_SDPPAR_OBJLIMIT, SCIP_SDPPAR_PENALTYPARAM, SCIP_SDPPAR_PENINFEASADJUST, SCIP_SDPPAR_SDPSOLVERFEASTOL, SCIP_SDPPAR_WARMSTARTPOGAP, and SCIPsdpiSolverGetRealpar().
Referenced by SCIP_DECL_RELAXINITSOL().
| SCIP_EXPORT SCIP_RETCODE SCIPsdpiSetRealpar | ( | SCIP_SDPI * | sdpi, |
| SCIP_SDPPARAM | type, | ||
| SCIP_Real | dval | ||
| ) |
sets floating point parameter of SDP-interface
| sdpi | SDP-interface structure |
| type | parameter number |
| dval | parameter value |
Definition at line 4584 of file sdpi.c.
References SCIP_CALL_PARAM, SCIP_CALL_PARAM_IGNORE_UNKNOWN, SCIP_SDPPAR_EPSILON, SCIP_SDPPAR_FEASTOL, SCIP_SDPPAR_GAPTOL, SCIP_SDPPAR_LAMBDASTAR, SCIP_SDPPAR_MAXPENALTYPARAM, SCIP_SDPPAR_OBJLIMIT, SCIP_SDPPAR_PENALTYPARAM, SCIP_SDPPAR_PENINFEASADJUST, SCIP_SDPPAR_SDPSOLVERFEASTOL, SCIP_SDPPAR_WARMSTARTPOGAP, and SCIPsdpiSolverSetRealpar().
Referenced by calcRelax(), and SCIP_DECL_RELAXINITSOL().
| SCIP_EXPORT SCIP_RETCODE SCIPsdpiGetIntpar | ( | SCIP_SDPI * | sdpi, |
| SCIP_SDPPARAM | type, | ||
| int * | ival | ||
| ) |
gets integer parameter of SDP-interface
| sdpi | SDP-interface structure |
| type | parameter number |
| ival | pointer to store the parameter value |
Definition at line 4636 of file sdpi.c.
References SCIP_CALL_PARAM, SCIP_SDPPAR_NPENALTYINCR, SCIP_SDPPAR_NTHREADS, SCIP_SDPPAR_SCALEOBJ, SCIP_SDPPAR_SDPINFO, SCIP_SDPPAR_SLATERCHECK, SCIP_SDPPAR_USEPRESOLVING, SCIP_SDPPAR_USESCALING, and SCIPsdpiSolverGetIntpar().
| SCIP_EXPORT SCIP_RETCODE SCIPsdpiSetIntpar | ( | SCIP_SDPI * | sdpi, |
| SCIP_SDPPARAM | type, | ||
| int | ival | ||
| ) |
sets integer parameter of SDP-interface
| sdpi | SDP-interface structure |
| type | parameter number |
| ival | parameter value |
Definition at line 4669 of file sdpi.c.
References SCIP_CALL_PARAM, SCIP_SDPPAR_NPENALTYINCR, SCIP_SDPPAR_NTHREADS, SCIP_SDPPAR_SCALEOBJ, SCIP_SDPPAR_SDPINFO, SCIP_SDPPAR_SLATERCHECK, SCIP_SDPPAR_USEPRESOLVING, SCIP_SDPPAR_USESCALING, and SCIPsdpiSolverSetIntpar().
Referenced by SCIP_DECL_RELAXINITSOL().
| SCIP_EXPORT SCIP_RETCODE SCIPsdpiComputeLambdastar | ( | SCIP_SDPI * | sdpi, |
| SCIP_Real | maxguess | ||
| ) |
compute and set lambdastar (only used for SDPA)
| sdpi | SDP-interface structure |
| maxguess | maximum guess for lambda star of all SDP-constraints |
Definition at line 4704 of file sdpi.c.
References SCIPsdpiSolverComputeLambdastar().
Referenced by SCIP_DECL_RELAXINITSOL().
| SCIP_EXPORT SCIP_RETCODE SCIPsdpiComputePenaltyparam | ( | SCIP_SDPI * | sdpi, |
| SCIP_Real | maxcoeff, | ||
| SCIP_Real * | penaltyparam | ||
| ) |
compute and set the penalty parameter
| sdpi | SDP-interface structure |
| maxcoeff | maximum objective coefficient |
| penaltyparam | the computed penalty parameter |
Definition at line 4713 of file sdpi.c.
References SCIPsdpiSolverComputePenaltyparam().
Referenced by SCIP_DECL_RELAXINITSOL().
| SCIP_EXPORT SCIP_RETCODE SCIPsdpiComputeMaxPenaltyparam | ( | SCIP_SDPI * | sdpi, |
| SCIP_Real | penaltyparam, | ||
| SCIP_Real * | maxpenaltyparam | ||
| ) |
compute and set the maximum penalty parameter
| sdpi | SDP-interface structure |
| penaltyparam | the initial penalty parameter |
| maxpenaltyparam | the computed maximum penalty parameter |
Definition at line 4727 of file sdpi.c.
References SCIPsdpiSolverComputeMaxPenaltyparam().
Referenced by SCIP_DECL_RELAXINITSOL().
| SCIP_EXPORT void SCIPsdpiClockSetType | ( | SCIP_SDPI * | sdpi, |
| int | clocktype | ||
| ) |
sets the type of the clock
| sdpi | SDP-interface structure |
| clocktype | type of clock (1 = CPU, 2 = Wall) |
Definition at line 4749 of file sdpi.c.
References SDPIclockSetType().
Referenced by calcRelax(), and SCIPrelaxSdpComputeAnalyticCenters().
| SCIP_EXPORT SCIP_RETCODE SCIPsdpiReadSDP | ( | SCIP_SDPI * | sdpi, |
| const char * | fname | ||
| ) |
1.8.11