SCIP-SDP  3.1.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
sdpi.h File Reference

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
EXTERN const char * SCIPsdpiGetSolverName (void)
 
EXTERN const char * SCIPsdpiGetSolverDesc (void)
 
EXTERN void * SCIPsdpiGetSolverPointer (SCIP_SDPI *sdpi)
 
EXTERN SCIP_Real SCIPsdpiGetDefaultSdpiSolverFeastol (void)
 
EXTERN SCIP_Real SCIPsdpiGetDefaultSdpiSolverGaptol (void)
 
EXTERN int SCIPsdpiGetDefaultSdpiSolverNpenaltyIncreases (void)
 
EXTERN SCIP_Bool SCIPsdpiDoesWarmstartNeedPrimal (void)
 
SDPI Creation and Destruction Methods
EXTERN SCIP_RETCODE SCIPsdpiCreate (SCIP_SDPI **sdpi, SCIP_MESSAGEHDLR *messagehdlr, BMS_BLKMEM *blkmem, BMS_BUFMEM *bufmem)
 
EXTERN SCIP_RETCODE SCIPsdpiFree (SCIP_SDPI **sdpi)
 
EXTERN SCIP_RETCODE SCIPsdpiClone (SCIP_SDPI *oldsdpi, SCIP_SDPI *newsdpi)
 
Modification Methods
EXTERN 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)
 
EXTERN 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)
 
EXTERN SCIP_RETCODE SCIPsdpiDelLPRows (SCIP_SDPI *sdpi, int firstrow, int lastrow)
 
EXTERN SCIP_RETCODE SCIPsdpiDelLPRowset (SCIP_SDPI *sdpi, int *dstat)
 
EXTERN SCIP_RETCODE SCIPsdpiClear (SCIP_SDPI *sdpi)
 
EXTERN SCIP_RETCODE SCIPsdpiChgObj (SCIP_SDPI *sdpi, int nvars, const int *ind, const SCIP_Real *obj)
 
EXTERN 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
EXTERN SCIP_RETCODE SCIPsdpiGetNLPRows (SCIP_SDPI *sdpi, int *nlprows)
 
EXTERN SCIP_RETCODE SCIPsdpiGetNSDPBlocks (SCIP_SDPI *sdpi, int *nsdpblocks)
 
EXTERN SCIP_RETCODE SCIPsdpiGetNVars (SCIP_SDPI *sdpi, int *nvars)
 
EXTERN SCIP_RETCODE SCIPsdpiGetSDPNNonz (SCIP_SDPI *sdpi, int *nnonz)
 
EXTERN SCIP_RETCODE SCIPsdpiGetConstNNonz (SCIP_SDPI *sdpi, int *nnonz)
 
EXTERN SCIP_RETCODE SCIPsdpiGetLPNNonz (SCIP_SDPI *sdpi, int *nnonz)
 
EXTERN SCIP_RETCODE SCIPsdpiGetObj (SCIP_SDPI *sdpi, int firstvar, int lastvar, SCIP_Real *vals)
 
EXTERN SCIP_RETCODE SCIPsdpiGetBounds (SCIP_SDPI *sdpi, int firstvar, int lastvar, SCIP_Real *lbs, SCIP_Real *ubs)
 
EXTERN SCIP_RETCODE SCIPsdpiGetLhSides (SCIP_SDPI *sdpi, int firstrow, int lastrow, SCIP_Real *lhss)
 
EXTERN SCIP_RETCODE SCIPsdpiGetRhSides (SCIP_SDPI *sdpi, int firstrow, int lastrow, SCIP_Real *rhss)
 
Solving Methods
EXTERN 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
EXTERN SCIP_Bool SCIPsdpiWasSolved (SCIP_SDPI *sdpi)
 
EXTERN SCIP_Bool SCIPsdpiSolvedOrig (SCIP_SDPI *sdpi)
 
EXTERN SCIP_Bool SCIPsdpiFeasibilityKnown (SCIP_SDPI *sdpi)
 
EXTERN SCIP_RETCODE SCIPsdpiGetSolFeasibility (SCIP_SDPI *sdpi, SCIP_Bool *primalfeasible, SCIP_Bool *dualfeasible)
 
EXTERN SCIP_Bool SCIPsdpiIsPrimalUnbounded (SCIP_SDPI *sdpi)
 
EXTERN SCIP_Bool SCIPsdpiIsPrimalInfeasible (SCIP_SDPI *sdpi)
 
EXTERN SCIP_Bool SCIPsdpiIsPrimalFeasible (SCIP_SDPI *sdpi)
 
EXTERN SCIP_Bool SCIPsdpiIsDualUnbounded (SCIP_SDPI *sdpi)
 
EXTERN SCIP_Bool SCIPsdpiIsDualInfeasible (SCIP_SDPI *sdpi)
 
EXTERN SCIP_Bool SCIPsdpiIsDualFeasible (SCIP_SDPI *sdpi)
 
EXTERN SCIP_Bool SCIPsdpiIsConverged (SCIP_SDPI *sdpi)
 
EXTERN SCIP_Bool SCIPsdpiIsObjlimExc (SCIP_SDPI *sdpi)
 
EXTERN SCIP_Bool SCIPsdpiIsIterlimExc (SCIP_SDPI *sdpi)
 
EXTERN SCIP_Bool SCIPsdpiIsTimelimExc (SCIP_SDPI *sdpi)
 
EXTERN int SCIPsdpiGetInternalStatus (SCIP_SDPI *sdpi)
 
EXTERN SCIP_Bool SCIPsdpiIsOptimal (SCIP_SDPI *sdpi)
 
EXTERN SCIP_Bool SCIPsdpiIsAcceptable (SCIP_SDPI *sdpi)
 
EXTERN SCIP_RETCODE SCIPsdpiGetObjval (SCIP_SDPI *sdpi, SCIP_Real *objval)
 
EXTERN SCIP_RETCODE SCIPsdpiGetLowerObjbound (SCIP_SDPI *sdpi, SCIP_Real *objlb)
 
EXTERN SCIP_RETCODE SCIPsdpiGetSol (SCIP_SDPI *sdpi, SCIP_Real *objval, SCIP_Real *dualsol, int *dualsollength)
 
EXTERN SCIP_RETCODE SCIPsdpiGetPreoptimalPrimalNonzeros (SCIP_SDPI *sdpi, int nblocks, int *startXnblocknonz)
 
EXTERN 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)
 
EXTERN SCIP_RETCODE SCIPsdpiGetPrimalBoundVars (SCIP_SDPI *sdpi, SCIP_Real *lbvars, SCIP_Real *ubvars, int *arraylength)
 
EXTERN SCIP_RETCODE SCIPsdpiGetPrimalNonzeros (SCIP_SDPI *sdpi, int nblocks, int *startXnblocknonz)
 
EXTERN SCIP_RETCODE SCIPsdpiGetPrimalMatrix (SCIP_SDPI *sdpi, int nblocks, int *startXnblocknonz, int **startXrow, int **startXcol, SCIP_Real **startXval)
 
EXTERN SCIP_Real SCIPsdpiGetMaxPrimalEntry (SCIP_SDPI *sdpi)
 
EXTERN SCIP_RETCODE SCIPsdpiGetIterations (SCIP_SDPI *sdpi, int *iterations)
 
EXTERN SCIP_RETCODE SCIPsdpiGetSdpCalls (SCIP_SDPI *sdpi, int *calls)
 
EXTERN SCIP_RETCODE SCIPsdpiSettingsUsed (SCIP_SDPI *sdpi, SCIP_SDPSOLVERSETTING *usedsetting)
 
EXTERN SCIP_RETCODE SCIPsdpiSlaterSettings (SCIP_SDPI *sdpi, SCIP_SDPSLATERSETTING *slatersetting)
 
EXTERN SCIP_RETCODE SCIPsdpiSlater (SCIP_SDPI *sdpi, SCIP_SDPSLATER *primalslater, SCIP_SDPSLATER *dualslater)
 
Numerical Methods
EXTERN SCIP_Real SCIPsdpiInfinity (SCIP_SDPI *sdpi)
 
EXTERN SCIP_Bool SCIPsdpiIsInfinity (SCIP_SDPI *sdpi, SCIP_Real val)
 
EXTERN SCIP_RETCODE SCIPsdpiGetRealpar (SCIP_SDPI *sdpi, SCIP_SDPPARAM type, SCIP_Real *dval)
 
EXTERN SCIP_RETCODE SCIPsdpiSetRealpar (SCIP_SDPI *sdpi, SCIP_SDPPARAM type, SCIP_Real dval)
 
EXTERN SCIP_RETCODE SCIPsdpiGetIntpar (SCIP_SDPI *sdpi, SCIP_SDPPARAM type, int *ival)
 
EXTERN SCIP_RETCODE SCIPsdpiSetIntpar (SCIP_SDPI *sdpi, SCIP_SDPPARAM type, int ival)
 
EXTERN SCIP_RETCODE SCIPsdpiComputeLambdastar (SCIP_SDPI *sdpi, SCIP_Real maxguess)
 
EXTERN SCIP_RETCODE SCIPsdpiComputePenaltyparam (SCIP_SDPI *sdpi, SCIP_Real maxcoeff, SCIP_Real *penaltyparam)
 
EXTERN SCIP_RETCODE SCIPsdpiComputeMaxPenaltyparam (SCIP_SDPI *sdpi, SCIP_Real penaltyparam, SCIP_Real *maxpenaltyparam)
 
File Interface Methods
EXTERN SCIP_RETCODE SCIPsdpiReadSDP (SCIP_SDPI *sdpi, const char *fname)
 
EXTERN SCIP_RETCODE SCIPsdpiWriteSDP (SCIP_SDPI *sdpi, const char *fname)
 

Detailed Description

General interface methods for SDP-preprocessing (mainly fixing variables and removing empty rows/cols)

Author
Tristan Gally

This file specifies a generic SDP-solver interface used by SCIP to create, modify, and solve semidefinite programs of the (dual) form

\begin{eqnarray*} \min & & b^T y \\ \mbox{s.t.} & & \sum_{j=1}^n A_j^i y_j - A_0^i \succeq 0 \quad \forall i \leq m \\ & & Dy \geq d \\ & & \ell \leq y \leq u \end{eqnarray*}

for symmetric matrices $ A_j^i \in S_{k_i} $ and a matrix $ D \in \mathbb{R}^{k_0 \times n} $ and query information about the solution.

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.

Function Documentation

EXTERN const char* SCIPsdpiGetSolverName ( void  )

gets name and potentially version of SDP-solver

Definition at line 1375 of file sdpi.c.

References SCIPsdpiSolverGetSolverName().

Referenced by calcRelax(), SCIP_DECL_RELAXEXITSOL(), SCIP_DECL_RELAXINITSOL(), SCIP_DECL_TABLEOUTPUT(), and SCIPincludeRelaxSdp().

EXTERN const char* SCIPsdpiGetSolverDesc ( void  )

gets description of SDP-solver (developer, webpage, ...)

Definition at line 1383 of file sdpi.c.

References SCIPsdpiSolverGetSolverDesc().

Referenced by SCIPincludeRelaxSdp().

EXTERN 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.

Parameters
sdpiSDP-interface structure

Definition at line 1396 of file sdpi.c.

References SCIPsdpiSolverGetSolverPointer().

EXTERN SCIP_Real SCIPsdpiGetDefaultSdpiSolverFeastol ( void  )

gets default feasibility tolerance for SDP-solver in SCIP-SDP

Definition at line 1404 of file sdpi.c.

References SCIPsdpiSolverGetDefaultSdpiSolverFeastol().

Referenced by SCIPincludeRelaxSdp().

EXTERN SCIP_Real SCIPsdpiGetDefaultSdpiSolverGaptol ( void  )

gets default duality gap tolerance for SDP-solver in SCIP-SDP

Definition at line 1412 of file sdpi.c.

References SCIPsdpiSolverGetDefaultSdpiSolverGaptol().

Referenced by SCIPincludeRelaxSdp().

EXTERN int SCIPsdpiGetDefaultSdpiSolverNpenaltyIncreases ( void  )

gets default number of increases of penalty parameter for SDP-solver in SCIP-SDP

Definition at line 1420 of file sdpi.c.

References SCIPsdpiSolverGetDefaultSdpiSolverNpenaltyIncreases().

Referenced by SCIPincludeRelaxSdp().

EXTERN SCIP_Bool SCIPsdpiDoesWarmstartNeedPrimal ( void  )

Should primal solution values be saved for warmstarting purposes?

Definition at line 1428 of file sdpi.c.

References SCIPsdpiSolverDoesWarmstartNeedPrimal().

Referenced by calcRelax(), SCIP_DECL_RELAXEXITSOL(), and SCIPrelaxSdpComputeAnalyticCenters().

EXTERN SCIP_RETCODE SCIPsdpiCreate ( SCIP_SDPI **  sdpi,
SCIP_MESSAGEHDLR *  messagehdlr,
BMS_BLKMEM *  blkmem,
BMS_BUFMEM *  bufmem 
)

creates an sdpi object

Parameters
sdpipointer to an SDP-interface structure
messagehdlrmessage handler to use for printing messages, or NULL
blkmemblock memory
bufmembuffer memory

Definition at line 1446 of file sdpi.c.

References BMS_CALL, DEFAULT_EPSILON, DEFAULT_FEASTOL, DEFAULT_MAXPENALTYPARAM, DEFAULT_NPENALTYINCR, DEFAULT_PENALTYPARAM, DEFAULT_SDPSOLVERGAPTOL, SCIP_SDPSLATER_NOINFO, SCIPsdpiSolverCreate(), and SCIPsdpiSolverInfinity().

Referenced by SCIPincludeRelaxSdp().

EXTERN SCIP_RETCODE SCIPsdpiFree ( SCIP_SDPI **  sdpi)

deletes an sdpi object

Parameters
sdpipointer to an SDP-interface structure

Definition at line 1514 of file sdpi.c.

References SCIPsdpiSolverFree().

Referenced by SCIP_DECL_RELAXFREE().

EXTERN SCIP_RETCODE SCIPsdpiClone ( SCIP_SDPI oldsdpi,
SCIP_SDPI newsdpi 
)

cloning method of the general SDP-Interface

Note
The solver specific interface is created anew and not copied.
Parameters
oldsdpipointer to the SDP-interface structure that should be cloned
newsdpipointer to an SDP-interface structure to clone into

Definition at line 1579 of file sdpi.c.

References BMS_CALL, and SCIPsdpiSolverCreate().

EXTERN 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

Note
As the SDP-constraint-matrices are symmetric, only the upper triangular part of them must be specified.
There must be at least one variable, the SDP- and/or LP-part may be empty.
Parameters
sdpiSDP-interface structure
nvarsnumber of variables
objobjective function values of variables
lblower bounds of variables
ubupper bounds of variables
nsdpblocksnumber of SDP-blocks
sdpblocksizessizes of the SDP-blocks (may be NULL if nsdpblocks = sdpconstnnonz = sdpnnonz = 0)
sdpnblockvarsnumber of variables in each SDP-block (may be NULL if nsdpblocks = sdpconstnnonz = sdpnnonz = 0)
sdpconstnnonznumber of nonzero elements in the constant matrices of the SDP-blocks
sdpconstnblocknonznumber 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]
sdpconstrowpointer to row-indices of constant matrix for each block (may be NULL if sdpconstnnonz = 0)
sdpconstcolpointer to column-indices of constant matrix for each block (may be NULL if sdpconstnnonz = 0)
sdpconstvalpointer to values of entries of constant matrix for each block (may be NULL if sdpconstnnonz = 0)
sdpnnonznumber of nonzero elements in the SDP-constraint-matrices
sdpnblockvarnonzsdpnblockvarnonz[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]
sdpvarsdpvar[i][j] gives the global index of the j-th variable (according to the sorting for row/col/val) in the i-th block
sdprowpointer 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 sdptnnonz = 0)
sdpcolpointer to the column-indices for each block and variable in this block (may be NULL if sdpnnonz = 0)
sdpvalpointer to the values of the nonzeros for each block and variable in this block (may be NULL if sdpnnonz = 0)
nlpconsnumber of LP-constraints
lplhsleft-hand sides of LP rows (may be NULL if nlpcons = 0)
lprhsright-hand sides of LP rows (may be NULL if nlpcons = 0)
lpnnonznumber of nonzero elements in the LP-constraint-matrix
lprowrow-index for each entry in lpval-array (may be NULL if lpnnonz = 0)
lpcolcolumn-index for each entry in lpval-array (may be NULL if lpnnonz = 0)
lpvalvalues of LP-constraint matrix entries (may be NULL if lpnnonz = 0)

Definition at line 1699 of file sdpi.c.

References BMS_CALL, DUPLICATE_ARRAY_NULL, and ensureLowerTriangular().

Referenced by putSdpDataInInterface().

EXTERN 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

Note
Arrays are not checked for duplicates, problems may appear if indices are added more than once.
Parameters
sdpiSDP-interface structure
nrowsnumber of rows to be added
lhsleft-hand sides of new rows
rhsright-hand sides of new rows
nnonznumber of nonzero elements to be added to the LP constraint matrix
rowrow-indices of constraint-matrix entries, going from 0 to nrows - 1, these will be changed to nlpcons + i
colcolumn-indices of constraint-matrix entries
valvalues of constraint-matrix entries

Definition at line 1919 of file sdpi.c.

References BMS_CALL.

Referenced by putLpDataInInterface().

EXTERN SCIP_RETCODE SCIPsdpiDelLPRows ( SCIP_SDPI sdpi,
int  firstrow,
int  lastrow 
)

deletes all rows in the given range from the LP-Block

Parameters
sdpiSDP-interface structure
firstrowfirst row to be deleted
lastrowlast row to be deleted

Definition at line 1984 of file sdpi.c.

References BMS_CALL.

Referenced by putLpDataInInterface(), and SCIPsdpiDelLPRowset().

EXTERN SCIP_RETCODE SCIPsdpiDelLPRowset ( SCIP_SDPI sdpi,
int *  dstat 
)

deletes LP-rows from SDP-interface

Parameters
sdpiSDP-interface structure
dstatdeletion 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 2094 of file sdpi.c.

References SCIPsdpiDelLPRows().

EXTERN SCIP_RETCODE SCIPsdpiClear ( SCIP_SDPI sdpi)

clears the whole SDP

Parameters
sdpiSDP-interface structure

Definition at line 2136 of file sdpi.c.

References SCIPsdpiSolverResetCounter().

Referenced by SCIP_DECL_RELAXEXITSOL().

EXTERN SCIP_RETCODE SCIPsdpiChgObj ( SCIP_SDPI sdpi,
int  nvars,
const int *  ind,
const SCIP_Real *  obj 
)

changes objective coefficients of variables

Parameters
sdpiSDP-interface structure
nvarsnumber of variables to change objective coefficients for
indvariables indices
objnew objective coefficients

Definition at line 2152 of file sdpi.c.

Referenced by putLpDataInInterface().

EXTERN 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

Parameters
sdpiSDP-interface structure
nvarsnumber of variables to change bounds for
indvariables indices
lbvalues for the new lower bounds
ubvalues for the new upper bounds

Definition at line 2181 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 
)

changes left- and right-hand sides of LP rows

Parameters
sdpiSDP-interface structure
nrowsnumber of LP rows to change right hand sides for
indrow indices between 1 and nlpcons
lhsnew values for left-hand sides
rhsnew values for right-hand sides

Definition at line 2215 of file sdpi.c.

EXTERN SCIP_RETCODE SCIPsdpiGetNLPRows ( SCIP_SDPI sdpi,
int *  nlprows 
)

gets the number of LP-rows in the SDP

Parameters
sdpiSDP-interface structure
nlprowspointer to store the number of rows

Definition at line 2259 of file sdpi.c.

Referenced by putLpDataInInterface().

EXTERN SCIP_RETCODE SCIPsdpiGetNSDPBlocks ( SCIP_SDPI sdpi,
int *  nsdpblocks 
)

gets the number of SDP-Blocks in the SDP

Parameters
sdpiSDP-interface structure
nsdpblockspointer to store the number of blocks

Definition at line 2273 of file sdpi.c.

EXTERN SCIP_RETCODE SCIPsdpiGetNVars ( SCIP_SDPI sdpi,
int *  nvars 
)

gets the number of variables in the SDP

Parameters
sdpiSDP-interface structure
nvarspointer to store the number of variables

Definition at line 2287 of file sdpi.c.

EXTERN SCIP_RETCODE SCIPsdpiGetSDPNNonz ( SCIP_SDPI sdpi,
int *  nnonz 
)

gets the number of nonzero elements in the SDP-constraint-matrices

Parameters
sdpiSDP-interface structure
nnonzpointer to store the number of nonzeros in the SDP-constraint-matrices

Definition at line 2301 of file sdpi.c.

EXTERN SCIP_RETCODE SCIPsdpiGetConstNNonz ( SCIP_SDPI sdpi,
int *  nnonz 
)

gets the number of nonzero elements in the constant matrices of the SDP-Blocks

Parameters
sdpiSDP-interface structure
nnonzpointer to store the number of nonzeros in the constant matrices of the SDP-Blocks

Definition at line 2315 of file sdpi.c.

EXTERN SCIP_RETCODE SCIPsdpiGetLPNNonz ( SCIP_SDPI sdpi,
int *  nnonz 
)

gets the number of nonzero elements in the LP-Matrix

Parameters
sdpiSDP-interface structure
nnonzpointer to store the number of nonzeros in the LP Matrix

Definition at line 2329 of file sdpi.c.

EXTERN SCIP_RETCODE SCIPsdpiGetObj ( SCIP_SDPI sdpi,
int  firstvar,
int  lastvar,
SCIP_Real *  vals 
)

gets objective coefficients from SDP-interface

Parameters
sdpiSDP-interface structure
firstvarfirst variable to get objective coefficient for
lastvarlast variable to get objective coefficient for
valspointer to store objective coefficients (memory of size lastvar - firstvar + 1 needs to be allocated)

Definition at line 2343 of file sdpi.c.

EXTERN 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

Parameters
sdpiSDP-interface structure
firstvarfirst variable to get bounds for
lastvarlast variable to get bounds for
lbspointer to store lower bound values (memory of size lastvar - firstvar + 1 needs to be allocated), or NULL
ubspointer to store upper bound values (memory of size lastvar - firstvar + 1 needs to be allocated), or NULL

Definition at line 2365 of file sdpi.c.

EXTERN SCIP_RETCODE SCIPsdpiGetLhSides ( SCIP_SDPI sdpi,
int  firstrow,
int  lastrow,
SCIP_Real *  lhss 
)

gets current left-hand sides from SDP-interface

Parameters
sdpiSDP-interface structure
firstrowfirst row to get sides for
lastrowlast row to get sides for
lhsspointer to store left-hand side values (memory of size lastvar - firstvar + 1 needs to be allocated)

Definition at line 2393 of file sdpi.c.

EXTERN SCIP_RETCODE SCIPsdpiGetRhSides ( SCIP_SDPI sdpi,
int  firstrow,
int  lastrow,
SCIP_Real *  rhss 
)

gets current right-hand sides from SDP-interface

Parameters
sdpiSDP-interface structure
firstrowfirst row to get sides for
lastrowlast row to get sides for
rhsspointer to store right-hand side values (memory of size lastvar - firstvar + 1 needs to be allocated)

Definition at line 2415 of file sdpi.c.

EXTERN 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

Note
starting point needs to be given with original indices (before any local presolving), last block should be the LP block with indices lhs(row0), rhs(row0), lhs(row1), ..., lb(var1), ub(var1), lb(var2), ... independent of some lhs/rhs being infinity (the starting point will later be adjusted accordingly)
Parameters
sdpiSDP-interface structure
startyNULL or dual vector y as starting point for the solver, this should have length nvars
startZnblocknonzdual 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
startZrowdual matrix Z = sum Ai yi as starting point for the solver: row indices for each block; may be NULL if startZnblocknonz = NULL
startZcoldual matrix Z = sum Ai yi as starting point for the solver: column indices for each block; may be NULL if startZnblocknonz = NULL
startZvaldual matrix Z = sum Ai yi as starting point for the solver: values for each block; may be NULL if startZnblocknonz = NULL
startXnblocknonzprimal matrix X as starting point for the solver: number of nonzeros for each block, also length of corresponding row/col/val-arrays; or NULL
startXrowprimal matrix X as starting point for the solver: row indices for each block; may be NULL if startXnblocknonz = NULL
startXcolprimal matrix X as starting point for the solver: column indices for each block; may be NULL if startXnblocknonz = NULL
startXvalprimal matrix X as starting point for the solver: values for each block; may be NULL if startXnblocknonz = NULL
startsettingssettings 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
enforceslatercheckalways check for Slater condition in case the problem could not be solved and printf the solution of this check
timelimitafter this many seconds solving will be aborted (currently only implemented for DSDP and MOSEK)

Definition at line 2453 of file sdpi.c.

References BMS_CALL, checkAllFixed(), checkFixedFeasibilitySdp(), checkSlaterCondition(), compConstMatAfterFixings(), computeLpLhsRhsAfterFixings(), findEmptyRowColsSDP(), MIN_GAPTOL, SCIP_CALL_PARAM, SCIP_SDPPAR_GAPTOL, SCIP_SDPSLATER_NOINFO, SCIP_SDPSOLVERSETTING_UNSOLVED, SCIPsdpiInfinity(), SCIPsdpiIsInfinity(), SCIPsdpiSolverGetIterations(), SCIPsdpiSolverGetObjval(), SCIPsdpiSolverGetSdpCalls(), SCIPsdpiSolverIncreaseCounter(), SCIPsdpiSolverInfinity(), SCIPsdpiSolverIsAcceptable(), SCIPsdpiSolverIsDualInfeasible(), SCIPsdpiSolverIsOptimal(), SCIPsdpiSolverIsTimelimExc(), SCIPsdpiSolverLoadAndSolve(), SCIPsdpiSolverLoadAndSolveWithPenalty(), SCIPsdpiSolverSetRealpar(), and SCIPsdpiSolverWasSolved().

Referenced by calcRelax(), and SCIPrelaxSdpComputeAnalyticCenters().

EXTERN SCIP_Bool SCIPsdpiWasSolved ( SCIP_SDPI sdpi)

returns whether a solve method was successfully called after the last modification of the SDP

Parameters
sdpiSDP-interface structure

Definition at line 2850 of file sdpi.c.

References SCIPsdpiSolverWasSolved().

Referenced by calcRelax(), SCIPrelaxSdpComputeAnalyticCenters(), and SCIPsdpiSolvedOrig().

EXTERN 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

Parameters
sdpiSDP-interface structure

Definition at line 2860 of file sdpi.c.

References SCIPsdpiWasSolved().

Referenced by calcRelax(), SCIPrelaxSdpComputeAnalyticCenters(), and SCIPrelaxSdpSolvedOrig().

EXTERN 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

Parameters
sdpiSDP-interface structure

Definition at line 2872 of file sdpi.c.

References CHECK_IF_SOLVED_BOOL, and SCIPsdpiSolverFeasibilityKnown().

Referenced by calcRelax().

EXTERN SCIP_RETCODE SCIPsdpiGetSolFeasibility ( SCIP_SDPI sdpi,
SCIP_Bool *  primalfeasible,
SCIP_Bool *  dualfeasible 
)

gets information about primal and dual feasibility of the current SDP-solution

Parameters
sdpiSDP-interface structure
primalfeasiblepointer to store the primal feasibility status
dualfeasiblepointer to store the dual feasibility status

Definition at line 2886 of file sdpi.c.

References CHECK_IF_SOLVED, and SCIPsdpiSolverGetSolFeasibility().

EXTERN SCIP_Bool SCIPsdpiIsPrimalUnbounded ( SCIP_SDPI sdpi)

returns TRUE iff SDP is proven to be primal unbounded; returns FALSE with a debug-message if the solver could not determine feasibility

Parameters
sdpiSDP-interface structure

Definition at line 2915 of file sdpi.c.

References CHECK_IF_SOLVED_BOOL, and SCIPsdpiSolverIsPrimalUnbounded().

EXTERN SCIP_Bool SCIPsdpiIsPrimalInfeasible ( SCIP_SDPI sdpi)

returns TRUE iff SDP is proven to be primal infeasible; returns FALSE with a debug-message if the solver could not determine feasibility

Parameters
sdpiSDP-interface structure

Definition at line 2938 of file sdpi.c.

References CHECK_IF_SOLVED_BOOL, and SCIPsdpiSolverIsPrimalInfeasible().

EXTERN SCIP_Bool SCIPsdpiIsPrimalFeasible ( SCIP_SDPI sdpi)

returns TRUE iff SDP is proven to be primal feasible; returns FALSE with a debug-message if the solver could not determine feasibility

Parameters
sdpiSDP-interface structure

Definition at line 2961 of file sdpi.c.

References CHECK_IF_SOLVED_BOOL, and SCIPsdpiSolverIsPrimalFeasible().

Referenced by calcRelax(), and SCIPrelaxSdpComputeAnalyticCenters().

EXTERN SCIP_Bool SCIPsdpiIsDualUnbounded ( SCIP_SDPI sdpi)

returns TRUE iff SDP is proven to be dual unbounded; returns FALSE with a debug-message if the solver could not determine feasibility

Parameters
sdpiSDP-interface structure

Definition at line 2984 of file sdpi.c.

References CHECK_IF_SOLVED_BOOL, and SCIPsdpiSolverIsDualUnbounded().

Referenced by calcRelax(), and SCIP_DECL_RELAXEXEC().

EXTERN SCIP_Bool SCIPsdpiIsDualInfeasible ( SCIP_SDPI sdpi)

returns TRUE iff SDP is proven to be dual infeasible; returns FALSE with a debug-message if the solver could not determine feasibility

Parameters
sdpiSDP-interface structure

Definition at line 3007 of file sdpi.c.

References CHECK_IF_SOLVED_BOOL, and SCIPsdpiSolverIsDualInfeasible().

Referenced by calcRelax().

EXTERN SCIP_Bool SCIPsdpiIsDualFeasible ( SCIP_SDPI sdpi)

returns TRUE iff SDP is proven to be dual feasible; returns FALSE with a debug-message if the solver could not determine feasibility

Parameters
sdpiSDP-interface structure

Definition at line 3030 of file sdpi.c.

References CHECK_IF_SOLVED_BOOL, and SCIPsdpiSolverIsDualFeasible().

Referenced by calcRelax(), and SCIPrelaxSdpComputeAnalyticCenters().

EXTERN SCIP_Bool SCIPsdpiIsConverged ( SCIP_SDPI sdpi)

returns TRUE iff the solver converged

Parameters
sdpiSDP-interface structure

Definition at line 3052 of file sdpi.c.

References CHECK_IF_SOLVED_BOOL, and SCIPsdpiSolverIsConverged().

EXTERN SCIP_Bool SCIPsdpiIsObjlimExc ( SCIP_SDPI sdpi)

returns TRUE iff the objective limit was reached

Parameters
sdpiSDP-interface structure

Definition at line 3074 of file sdpi.c.

References CHECK_IF_SOLVED_BOOL, and SCIPsdpiSolverIsObjlimExc().

Referenced by calcRelax().

EXTERN SCIP_Bool SCIPsdpiIsIterlimExc ( SCIP_SDPI sdpi)

returns TRUE iff the iteration limit was reached

Parameters
sdpiSDP-interface structure

Definition at line 3096 of file sdpi.c.

References CHECK_IF_SOLVED_BOOL, and SCIPsdpiSolverIsIterlimExc().

EXTERN SCIP_Bool SCIPsdpiIsTimelimExc ( SCIP_SDPI sdpi)

returns TRUE iff the time limit was reached

Parameters
sdpiSDP-interface structure

Definition at line 3118 of file sdpi.c.

References SCIPsdpiSolverIsTimelimExc().

Referenced by calcRelax().

EXTERN 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

Parameters
sdpiSDP-interface structure

Definition at line 3153 of file sdpi.c.

References SCIPsdpiSolverGetInternalStatus().

EXTERN 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

Parameters
sdpiSDP-interface structure

Definition at line 3179 of file sdpi.c.

References CHECK_IF_SOLVED_BOOL, and SCIPsdpiSolverIsOptimal().

EXTERN 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

Parameters
sdpiSDP-interface structure

Definition at line 3202 of file sdpi.c.

References SCIPsdpiSolverIsAcceptable().

Referenced by calcRelax().

EXTERN SCIP_RETCODE SCIPsdpiGetObjval ( SCIP_SDPI sdpi,
SCIP_Real *  objval 
)

gets objective value of solution

Parameters
sdpiSDP-interface structure
objvalpointer to store the objective value

Definition at line 3228 of file sdpi.c.

References CHECK_IF_SOLVED, and SCIPsdpiSolverGetObjval().

Referenced by SCIPsdpiGetSol().

EXTERN 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)

Parameters
sdpiSDP-interface structure
objlbpointer to store the lower bound on the objective value

Definition at line 3263 of file sdpi.c.

References SCIPsdpiInfinity(), and SCIPsdpiSolverGetObjval().

Referenced by calcRelax().

EXTERN 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

Parameters
sdpiSDP-interface structure
objvalpointer to store the objective value, may be NULL if not needed
dualsolpointer to store the dual solution vector, may be NULL if not needed
dualsollengthlength 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 3312 of file sdpi.c.

References CHECK_IF_SOLVED, SCIPsdpiGetObjval(), and SCIPsdpiSolverGetSol().

Referenced by calcRelax(), SCIP_DECL_RELAXEXEC(), SCIPrelaxSdpComputeAnalyticCenters(), and SCIPrelaxSdpGetRelaxSol().

EXTERN 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

Parameters
sdpipointer to an SDP-interface structure
nblockslength of startXnblocknonz (should be nsdpblocks + 1)
startXnblocknonzpointer 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 3363 of file sdpi.c.

References SCIPsdpiSolverGetPreoptimalPrimalNonzeros().

Referenced by calcRelax().

EXTERN 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

Note
last block will be the LP block (if one exists) with indices lhs(row0), rhs(row0), lhs(row1), ..., lb(var1), ub(var1), lb(var2), ... independent of some lhs/rhs being infinity
If dualsollength isn't equal to the number of variables this will return the needed length and a debug message is thrown.
If the allocated memory for row/col/val is insufficient, a debug message will be thrown and the neccessary amount is returned in startXnblocknonz
Parameters
sdpiSDP-interface structure
successcould a preoptimal solution be returned ?
dualsolpointer to store the dual solution vector, may be NULL if not needed
dualsollengthlength 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
nblockslength of startXnblocknonz (should be nsdpblocks + 1) or -1 if no primal matrix should be returned
startXnblocknonzinput: 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
startXrowpointer to store row indices of X (or NULL if nblocks = -1)
startXcolpointer to store column indices of X (or NULL if nblocks = -1)
startXvalpointer to store values of X (or NULL if nblocks = -1)

Definition at line 3401 of file sdpi.c.

References SCIPsdpiSolverGetPreoptimalSol().

Referenced by calcRelax().

EXTERN 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

Note
If a variable is either fixed or unbounded in the dual problem, a zero will be returned for the non-existent primal variable.
Parameters
sdpipointer to an SDP-interface structure
lbvarspointer to store the values of the variables corresponding to lower bounds in the dual problems
ubvarspointer to store the values of the variables corresponding to upper bounds in the dual problems
arraylengthinput: length of lbvars and ubvars
output: number of elements inserted into lbvars/ubvars (or needed length if it was not sufficient)

Definition at line 3472 of file sdpi.c.

References CHECK_IF_SOLVED, and SCIPsdpiSolverGetPrimalBoundVars().

Referenced by SCIPrelaxSdpGetPrimalBoundVars().

EXTERN SCIP_RETCODE SCIPsdpiGetPrimalNonzeros ( SCIP_SDPI sdpi,
int  nblocks,
int *  startXnblocknonz 
)

return number of nonzeros for each block of the primal solution matrix X

Parameters
sdpipointer to an SDP-interface structure
nblockslength of startXnblocknonz (should be nsdpblocks + 1)
startXnblocknonzpointer to store number of nonzeros for row/col/val-arrays in each block

Definition at line 3504 of file sdpi.c.

References SCIPsdpiSolverGetPrimalNonzeros().

Referenced by calcRelax(), and SCIPrelaxSdpComputeAnalyticCenters().

EXTERN SCIP_RETCODE SCIPsdpiGetPrimalMatrix ( SCIP_SDPI sdpi,
int  nblocks,
int *  startXnblocknonz,
int **  startXrow,
int **  startXcol,
SCIP_Real **  startXval 
)

returns the primal matrix X

Note
last block will be the LP block (if one exists) with indices lhs(row0), rhs(row0), lhs(row1), ..., lb(var1), ub(var1), lb(var2), ... independent of some lhs/rhs being infinity
If the allocated memory for row/col/val is insufficient, a debug message will be thrown and the neccessary amount is returned in startXnblocknonz
Parameters
sdpipointer to an SDP-interface structure
nblockslength of startXnblocknonz (should be nsdpblocks + 1)
startXnblocknonzinput: allocated memory for row/col/val-arrays in each block output: number of nonzeros in each block
startXrowpointer to store row indices of X
startXcolpointer to store column indices of X
startXvalpointer to store values of X

Definition at line 3532 of file sdpi.c.

References SCIPsdpiSolverGetPrimalMatrix().

Referenced by calcRelax(), and SCIPrelaxSdpComputeAnalyticCenters().

EXTERN SCIP_Real SCIPsdpiGetMaxPrimalEntry ( SCIP_SDPI sdpi)

return the maximum absolute value of the optimal primal matrix

Parameters
sdpipointer to an SDP-interface structure

Definition at line 3561 of file sdpi.c.

References SCIPsdpiSolverGetMaxPrimalEntry().

Referenced by calcRelax().

EXTERN SCIP_RETCODE SCIPsdpiGetIterations ( SCIP_SDPI sdpi,
int *  iterations 
)

gets the number of SDP-iterations of the last solve call

Parameters
sdpiSDP-interface structure
iterationspointer to store the number of iterations of the last solve call

Definition at line 3571 of file sdpi.c.

Referenced by calcRelax(), and SCIPrelaxSdpComputeAnalyticCenters().

EXTERN SCIP_RETCODE SCIPsdpiGetSdpCalls ( SCIP_SDPI sdpi,
int *  calls 
)

gets the number of calls to the SDP-solver for the last solve call

Parameters
sdpiSDP-interface structure
callspointer to store the number of calls to the SDP-solver for the last solve call

Definition at line 3585 of file sdpi.c.

Referenced by calcRelax(), and SCIPrelaxSdpComputeAnalyticCenters().

EXTERN SCIP_RETCODE SCIPsdpiSettingsUsed ( SCIP_SDPI sdpi,
SCIP_SDPSOLVERSETTING usedsetting 
)

returns which settings the SDP-solver used in the last solve call

Parameters
sdpiSDP-interface structure
usedsettingthe setting used by the SDP-solver

Definition at line 3599 of file sdpi.c.

References SCIP_SDPSOLVERSETTING_PENALTY, SCIP_SDPSOLVERSETTING_UNSOLVED, and SCIPsdpiSolverSettingsUsed().

Referenced by calcRelax(), and SCIPrelaxSdpComputeAnalyticCenters().

EXTERN SCIP_RETCODE SCIPsdpiSlaterSettings ( SCIP_SDPI sdpi,
SCIP_SDPSLATERSETTING slatersetting 
)
EXTERN SCIP_RETCODE SCIPsdpiSlater ( SCIP_SDPI sdpi,
SCIP_SDPSLATER primalslater,
SCIP_SDPSLATER dualslater 
)

returns whether primal and dual Slater condition held for last solved SDP

Parameters
sdpiSDP-interface structure
primalslaterpointer to save whether primal Slater condition held
dualslaterpointer to save whether dual Slater condition held

Definition at line 3941 of file sdpi.c.

References SCIP_SDPSLATER_NOINFO.

Referenced by calcRelax(), and SCIPrelaxSdpComputeAnalyticCenters().

EXTERN SCIP_Real SCIPsdpiInfinity ( SCIP_SDPI sdpi)

returns value treated as infinity in the SDP-solver

Parameters
sdpiSDP-interface structure

Definition at line 3985 of file sdpi.c.

References SCIPsdpiSolverInfinity().

Referenced by calcRelax(), computeLpLhsRhsAfterFixings(), SCIP_DECL_RELAXINITSOL(), SCIPsdpiGetLowerObjbound(), SCIPsdpiIsInfinity(), and SCIPsdpiSolve().

EXTERN SCIP_Bool SCIPsdpiIsInfinity ( SCIP_SDPI sdpi,
SCIP_Real  val 
)

checks if given value is treated as (plus or minus) infinity in the SDP-solver

Parameters
sdpiSDP-interface structure
valvalue to be checked for infinity

Definition at line 3995 of file sdpi.c.

References SCIPsdpiInfinity().

Referenced by checkSlaterCondition(), and SCIPsdpiSolve().

EXTERN SCIP_RETCODE SCIPsdpiGetRealpar ( SCIP_SDPI sdpi,
SCIP_SDPPARAM  type,
SCIP_Real *  dval 
)

gets floating point parameter of SDP-interface

Parameters
sdpiSDP-interface structure
typeparameter number
dvalpointer to store the parameter value

Definition at line 4006 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().

EXTERN SCIP_RETCODE SCIPsdpiSetRealpar ( SCIP_SDPI sdpi,
SCIP_SDPPARAM  type,
SCIP_Real  dval 
)
EXTERN SCIP_RETCODE SCIPsdpiGetIntpar ( SCIP_SDPI sdpi,
SCIP_SDPPARAM  type,
int *  ival 
)

gets integer parameter of SDP-interface

Parameters
sdpiSDP-interface structure
typeparameter number
ivalpointer to store the parameter value

Definition at line 4108 of file sdpi.c.

References SCIP_CALL_PARAM, SCIP_SDPPAR_NPENALTYINCR, SCIP_SDPPAR_NTHREADS, SCIP_SDPPAR_SDPINFO, SCIP_SDPPAR_SLATERCHECK, and SCIPsdpiSolverGetIntpar().

EXTERN SCIP_RETCODE SCIPsdpiSetIntpar ( SCIP_SDPI sdpi,
SCIP_SDPPARAM  type,
int  ival 
)

sets integer parameter of SDP-interface

Parameters
sdpiSDP-interface structure
typeparameter number
ivalparameter value

Definition at line 4138 of file sdpi.c.

References SCIP_CALL_PARAM, SCIP_SDPPAR_NPENALTYINCR, SCIP_SDPPAR_NTHREADS, SCIP_SDPPAR_SDPINFO, SCIP_SDPPAR_SLATERCHECK, and SCIPsdpiSolverSetIntpar().

Referenced by SCIP_DECL_RELAXINITSOL().

EXTERN SCIP_RETCODE SCIPsdpiComputeLambdastar ( SCIP_SDPI sdpi,
SCIP_Real  maxguess 
)

compute and set lambdastar (only used for SDPA)

Parameters
sdpiSDP-interface structure
maxguessmaximum guess for lambda star of all SDP-constraints

Definition at line 4170 of file sdpi.c.

References SCIPsdpiSolverComputeLambdastar().

Referenced by SCIP_DECL_RELAXINITSOL().

EXTERN SCIP_RETCODE SCIPsdpiComputePenaltyparam ( SCIP_SDPI sdpi,
SCIP_Real  maxcoeff,
SCIP_Real *  penaltyparam 
)

compute and set the penalty parameter

Parameters
sdpiSDP-interface structure
maxcoeffmaximum objective coefficient
penaltyparamthe computed penalty parameter

Definition at line 4179 of file sdpi.c.

References SCIPsdpiSolverComputePenaltyparam().

Referenced by SCIP_DECL_RELAXINITSOL().

EXTERN SCIP_RETCODE SCIPsdpiComputeMaxPenaltyparam ( SCIP_SDPI sdpi,
SCIP_Real  penaltyparam,
SCIP_Real *  maxpenaltyparam 
)

compute and set the maximum penalty parameter

Parameters
sdpiSDP-interface structure
penaltyparamthe initial penalty parameter
maxpenaltyparamthe computed maximum penalty parameter

Definition at line 4193 of file sdpi.c.

References SCIPsdpiSolverComputeMaxPenaltyparam().

Referenced by SCIP_DECL_RELAXINITSOL().

EXTERN SCIP_RETCODE SCIPsdpiReadSDP ( SCIP_SDPI sdpi,
const char *  fname 
)

reads SDP from a file

Parameters
sdpiSDP-interface structure
fnamefile name

Definition at line 4227 of file sdpi.c.

EXTERN SCIP_RETCODE SCIPsdpiWriteSDP ( SCIP_SDPI sdpi,
const char *  fname 
)

writes SDP to a file

Parameters
sdpiSDP-interface structure
fnamefile name

Definition at line 4237 of file sdpi.c.