SCIP-SDP  3.2.0
sdpisolver.h
Go to the documentation of this file.
1 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
2 /* */
3 /* This file is part of SCIPSDP - a solving framework for mixed-integer */
4 /* semidefinite programs based on SCIP. */
5 /* */
6 /* Copyright (C) 2011-2013 Discrete Optimization, TU Darmstadt */
7 /* EDOM, FAU Erlangen-Nürnberg */
8 /* 2014-2020 Discrete Optimization, TU Darmstadt */
9 /* */
10 /* */
11 /* This program is free software; you can redistribute it and/or */
12 /* modify it under the terms of the GNU Lesser General Public License */
13 /* as published by the Free Software Foundation; either version 3 */
14 /* of the License, or (at your option) any later version. */
15 /* */
16 /* This program is distributed in the hope that it will be useful, */
17 /* but WITHOUT ANY WARRANTY; without even the implied warranty of */
18 /* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */
19 /* GNU Lesser General Public License for more details. */
20 /* */
21 /* You should have received a copy of the GNU Lesser General Public License */
22 /* along with this program; if not, write to the Free Software */
23 /* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.*/
24 /* */
25 /* */
26 /* Based on SCIP - Solving Constraint Integer Programs */
27 /* Copyright (C) 2002-2020 Zuse Institute Berlin */
28 /* SCIP is distributed under the terms of the SCIP Academic Licence, */
29 /* see file COPYING in the SCIP distribution. */
30 /* */
31 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
32 
55 /*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
56 
57 #ifndef __SCIP_SDPISOLVER_H__
58 #define __SCIP_SDPISOLVER_H__
59 
60 
61 #include "scip/def.h"
62 #include "blockmemshell/memory.h"
63 #include "scip/type_retcode.h"
64 #include "sdpi/type_sdpi.h"
65 
66 #ifdef __cplusplus
67 extern "C" {
68 #endif
69 
70 typedef struct SCIP_SDPiSolver SCIP_SDPISOLVER;
72 /*
73  * Miscellaneous Methods
74  */
75 
80 SCIP_EXPORT
81 const char* SCIPsdpiSolverGetSolverName(
82  void
83  );
84 
86 SCIP_EXPORT
87 const char* SCIPsdpiSolverGetSolverDesc(
88  void
89  );
90 
97 SCIP_EXPORT
99  SCIP_SDPISOLVER* sdpisolver
100  );
101 
103 SCIP_EXPORT
105  void
106  );
107 
109 SCIP_EXPORT
111  void
112  );
113 
115 SCIP_EXPORT
117  void
118  );
119 
121 SCIP_EXPORT
123  void
124  );
125 
131 /*
132  * SDPI Creation and Destruction Methods
133  */
134 
139 SCIP_EXPORT
140 SCIP_RETCODE SCIPsdpiSolverCreate(
141  SCIP_SDPISOLVER** sdpisolver,
142  SCIP_MESSAGEHDLR* messagehdlr,
143  BMS_BLKMEM* blkmem,
144  BMS_BUFMEM* bufmem
145  );
146 
148 SCIP_EXPORT
149 SCIP_RETCODE SCIPsdpiSolverFree(
150  SCIP_SDPISOLVER** sdpisolver
151  );
152 
154 SCIP_EXPORT
155 SCIP_RETCODE SCIPsdpiSolverIncreaseCounter(
156  SCIP_SDPISOLVER* sdpisolver
157  );
158 
160 SCIP_EXPORT
161 SCIP_RETCODE SCIPsdpiSolverResetCounter(
162  SCIP_SDPISOLVER* sdpisolver
163  );
164 
167 /*
168  * Solving Methods
169  */
170 
189 SCIP_EXPORT
190 SCIP_RETCODE SCIPsdpiSolverLoadAndSolve(
191  SCIP_SDPISOLVER* sdpisolver,
192  int nvars,
193  SCIP_Real* obj,
194  SCIP_Real* lb,
195  SCIP_Real* ub,
196  int nsdpblocks,
197  int* sdpblocksizes,
198  int* sdpnblockvars,
199  int sdpconstnnonz,
200  int* sdpconstnblocknonz,
202  int** sdpconstrow,
203  int** sdpconstcol,
204  SCIP_Real** sdpconstval,
205  int sdpnnonz,
206  int** sdpnblockvarnonz,
208  int** sdpvar,
210  int*** sdprow,
211  int*** sdpcol,
212  SCIP_Real*** sdpval,
213  int** indchanges,
215  int* nremovedinds,
216  int* blockindchanges,
217  int nremovedblocks,
218  int nlpcons,
219  int noldlpcons,
220  SCIP_Real* lplhs,
221  SCIP_Real* lprhs,
222  int* rownactivevars,
223  int lpnnonz,
224  int* lprow,
225  int* lpcol,
226  SCIP_Real* lpval,
227  SCIP_Real* starty,
228  int* startZnblocknonz,
230  int** startZrow,
232  int** startZcol,
234  SCIP_Real** startZval,
236  int* startXnblocknonz,
238  int** startXrow,
240  int** startXcol,
242  SCIP_Real** startXval,
244  SCIP_SDPSOLVERSETTING startsettings,
246  SCIP_Real timelimit
247 );
248 
271 SCIP_EXPORT
273  SCIP_SDPISOLVER* sdpisolver,
274  SCIP_Real penaltyparam,
275  SCIP_Bool withobj,
276  SCIP_Bool rbound,
277  int nvars,
278  SCIP_Real* obj,
279  SCIP_Real* lb,
280  SCIP_Real* ub,
281  int nsdpblocks,
282  int* sdpblocksizes,
283  int* sdpnblockvars,
284  int sdpconstnnonz,
285  int* sdpconstnblocknonz,
287  int** sdpconstrow,
288  int** sdpconstcol,
289  SCIP_Real** sdpconstval,
290  int sdpnnonz,
291  int** sdpnblockvarnonz,
293  int** sdpvar,
295  int*** sdprow,
296  int*** sdpcol,
297  SCIP_Real*** sdpval,
298  int** indchanges,
300  int* nremovedinds,
301  int* blockindchanges,
302  int nremovedblocks,
303  int nlpcons,
304  int noldlpcons,
305  SCIP_Real* lplhs,
306  SCIP_Real* lprhs,
307  int* rownactivevars,
308  int lpnnonz,
309  int* lprow,
310  int* lpcol,
311  SCIP_Real* lpval,
312  SCIP_Real* starty,
313  int* startZnblocknonz,
315  int** startZrow,
317  int** startZcol,
319  SCIP_Real** startZval,
321  int* startXnblocknonz,
323  int** startXrow,
325  int** startXcol,
327  SCIP_Real** startXval,
329  SCIP_SDPSOLVERSETTING startsettings,
331  SCIP_Real timelimit,
332  SCIP_Bool* feasorig,
334  SCIP_Bool* penaltybound
336 );
337 
338 
339 
345 /*
346  * Solution Information Methods
347  */
348 
353 SCIP_EXPORT
354 SCIP_Bool SCIPsdpiSolverWasSolved(
355  SCIP_SDPISOLVER* sdpisolver
356  );
357 
364 SCIP_EXPORT
366  SCIP_SDPISOLVER* sdpisolver
367  );
368 
370 SCIP_EXPORT
372  SCIP_SDPISOLVER* sdpisolver,
373  SCIP_Bool* primalfeasible,
374  SCIP_Bool* dualfeasible
375  );
376 
380 SCIP_EXPORT
382  SCIP_SDPISOLVER* sdpisolver
383  );
384 
388 SCIP_EXPORT
390  SCIP_SDPISOLVER* sdpisolver
391  );
392 
396 SCIP_EXPORT
398  SCIP_SDPISOLVER* sdpisolver
399  );
400 
404 SCIP_EXPORT
406  SCIP_SDPISOLVER* sdpisolver
407  );
408 
412 SCIP_EXPORT
414  SCIP_SDPISOLVER* sdpisolver
415  );
416 
420 SCIP_EXPORT
422  SCIP_SDPISOLVER* sdpisolver
423  );
424 
429 SCIP_EXPORT
430 SCIP_Bool SCIPsdpiSolverIsConverged(
431  SCIP_SDPISOLVER* sdpisolver
432  );
433 
435 SCIP_EXPORT
436 SCIP_Bool SCIPsdpiSolverIsObjlimExc(
437  SCIP_SDPISOLVER* sdpisolver
438  );
439 
441 SCIP_EXPORT
443  SCIP_SDPISOLVER* sdpisolver
444  );
445 
447 SCIP_EXPORT
449  SCIP_SDPISOLVER* sdpisolver
450  );
451 
463 SCIP_EXPORT
465  SCIP_SDPISOLVER* sdpisolver
466  );
467 
469 SCIP_EXPORT
470 SCIP_Bool SCIPsdpiSolverIsOptimal(
471  SCIP_SDPISOLVER* sdpisolver
472  );
473 
477 SCIP_EXPORT
479  SCIP_SDPISOLVER* sdpisolver
480  );
481 
483 SCIP_EXPORT
485  SCIP_SDPISOLVER* sdpisolver,
486  SCIP_Bool* success
487  );
488 
490 SCIP_EXPORT
491 SCIP_RETCODE SCIPsdpiSolverGetObjval(
492  SCIP_SDPISOLVER* sdpisolver,
493  SCIP_Real* objval
494  );
495 
500 SCIP_EXPORT
501 SCIP_RETCODE SCIPsdpiSolverGetSol(
502  SCIP_SDPISOLVER* sdpisolver,
503  SCIP_Real* objval,
504  SCIP_Real* dualsol,
505  int* dualsollength
507  );
508 
510 SCIP_EXPORT
512  SCIP_SDPISOLVER* sdpisolver,
513  int nblocks,
514  int* startXnblocknonz
516  );
517 
525 SCIP_EXPORT
526 SCIP_RETCODE SCIPsdpiSolverGetPreoptimalSol(
527  SCIP_SDPISOLVER* sdpisolver,
528  SCIP_Bool* success,
529  SCIP_Real* dualsol,
530  int* dualsollength,
532  int nblocks,
533  int* startXnblocknonz,
535  int** startXrow,
536  int** startXcol,
537  SCIP_Real** startXval
538  );
539 
547 SCIP_EXPORT
549  SCIP_SDPISOLVER* sdpisolver,
550  SCIP_Real* lbvars,
551  SCIP_Real* ubvars,
552  int* arraylength
554  );
555 
557 SCIP_EXPORT
559  SCIP_SDPISOLVER* sdpisolver,
560  int nblocks,
561  int* startXnblocknonz
562  );
563 
570 SCIP_EXPORT
571 SCIP_RETCODE SCIPsdpiSolverGetPrimalMatrix(
572  SCIP_SDPISOLVER* sdpisolver,
573  int nblocks,
574  int* startXnblocknonz,
576  int** startXrow,
577  int** startXcol,
578  SCIP_Real** startXval
579  );
580 
582 SCIP_EXPORT
584  SCIP_SDPISOLVER* sdpisolver
585  );
586 
588 SCIP_EXPORT
589 SCIP_RETCODE SCIPsdpiSolverGetIterations(
590  SCIP_SDPISOLVER* sdpisolver,
591  int* iterations
592  );
593 
595 SCIP_EXPORT
596 SCIP_RETCODE SCIPsdpiSolverGetSdpCalls(
597  SCIP_SDPISOLVER* sdpisolver,
598  int* calls
599  );
600 
602 SCIP_EXPORT
603 SCIP_RETCODE SCIPsdpiSolverSettingsUsed(
604  SCIP_SDPISOLVER* sdpisolver,
605  SCIP_SDPSOLVERSETTING* usedsetting
606  );
607 
613 /*
614  * SDPi State Methods
615  */
616 
617 
618 
619 /*
620  * Numerical Methods
621  */
622 
627 SCIP_EXPORT
628 SCIP_Real SCIPsdpiSolverInfinity(
629  SCIP_SDPISOLVER* sdpisolver
630  );
631 
633 SCIP_EXPORT
634 SCIP_Bool SCIPsdpiSolverIsInfinity(
635  SCIP_SDPISOLVER* sdpisolver,
636  SCIP_Real val
637  );
638 
640 SCIP_EXPORT
641 SCIP_RETCODE SCIPsdpiSolverGetRealpar(
642  SCIP_SDPISOLVER* sdpisolver,
643  SCIP_SDPPARAM type,
644  SCIP_Real* dval
645  );
646 
648 SCIP_EXPORT
649 SCIP_RETCODE SCIPsdpiSolverSetRealpar(
650  SCIP_SDPISOLVER* sdpisolver,
651  SCIP_SDPPARAM type,
652  SCIP_Real dval
653  );
654 
656 SCIP_EXPORT
657 SCIP_RETCODE SCIPsdpiSolverGetIntpar(
658  SCIP_SDPISOLVER* sdpisolver,
659  SCIP_SDPPARAM type,
660  int* ival
661  );
662 
664 SCIP_EXPORT
665 SCIP_RETCODE SCIPsdpiSolverSetIntpar(
666  SCIP_SDPISOLVER* sdpisolver,
667  SCIP_SDPPARAM type,
668  int ival
669  );
670 
672 SCIP_EXPORT
674  SCIP_SDPISOLVER* sdpisolver,
675  SCIP_Real maxguess
676  );
677 
679 SCIP_EXPORT
681  SCIP_SDPISOLVER* sdpisolver,
682  SCIP_Real maxcoeff,
683  SCIP_Real* penaltyparam
684  );
685 
687 SCIP_EXPORT
689  SCIP_SDPISOLVER* sdpisolver,
690  SCIP_Real penaltyparam,
691  SCIP_Real* maxpenaltyparam
692  );
693 
699 /*
700  * File Interface Methods
701  */
702 
707 SCIP_EXPORT
708 SCIP_RETCODE SCIPsdpiSolverReadSDP(
709  SCIP_SDPISOLVER* sdpisolver,
710  const char* fname
711  );
712 
714 SCIP_EXPORT
715 SCIP_RETCODE SCIPsdpiSolverWriteSDP(
716  SCIP_SDPISOLVER* sdpisolver,
717  const char* fname
718  );
719 
722 #ifdef __cplusplus
723 }
724 #endif
725 
726 #endif
SCIP_EXPORT SCIP_RETCODE SCIPsdpiSolverGetPrimalBoundVars(SCIP_SDPISOLVER *sdpisolver, SCIP_Real *lbvars, SCIP_Real *ubvars, int *arraylength)
SCIP_EXPORT SCIP_Real SCIPsdpiSolverInfinity(SCIP_SDPISOLVER *sdpisolver)
SCIP_EXPORT int SCIPsdpiSolverGetInternalStatus(SCIP_SDPISOLVER *sdpisolver)
SCIP_EXPORT SCIP_RETCODE SCIPsdpiSolverGetIntpar(SCIP_SDPISOLVER *sdpisolver, SCIP_SDPPARAM type, int *ival)
SCIP_EXPORT SCIP_Real SCIPsdpiSolverGetMaxPrimalEntry(SCIP_SDPISOLVER *sdpisolver)
SCIP_EXPORT SCIP_RETCODE SCIPsdpiSolverGetRealpar(SCIP_SDPISOLVER *sdpisolver, SCIP_SDPPARAM type, SCIP_Real *dval)
SCIP_EXPORT SCIP_RETCODE SCIPsdpiSolverResetCounter(SCIP_SDPISOLVER *sdpisolver)
SCIP_EXPORT SCIP_RETCODE SCIPsdpiSolverSettingsUsed(SCIP_SDPISOLVER *sdpisolver, SCIP_SDPSOLVERSETTING *usedsetting)
SCIP_EXPORT SCIP_RETCODE SCIPsdpiSolverGetPreoptimalSol(SCIP_SDPISOLVER *sdpisolver, SCIP_Bool *success, SCIP_Real *dualsol, int *dualsollength, int nblocks, int *startXnblocknonz, int **startXrow, int **startXcol, SCIP_Real **startXval)
SCIP_EXPORT SCIP_RETCODE SCIPsdpiSolverIgnoreInstability(SCIP_SDPISOLVER *sdpisolver, SCIP_Bool *success)
enum SCIP_SDPSolverSetting SCIP_SDPSOLVERSETTING
Definition: type_sdpi.h:80
SCIP_EXPORT SCIP_Bool SCIPsdpiSolverIsObjlimExc(SCIP_SDPISOLVER *sdpisolver)
SCIP_EXPORT SCIP_Bool SCIPsdpiSolverIsConverged(SCIP_SDPISOLVER *sdpisolver)
SCIP_EXPORT SCIP_RETCODE SCIPsdpiSolverSetRealpar(SCIP_SDPISOLVER *sdpisolver, SCIP_SDPPARAM type, SCIP_Real dval)
SCIP_EXPORT SCIP_Bool SCIPsdpiSolverIsTimelimExc(SCIP_SDPISOLVER *sdpisolver)
SCIP_EXPORT SCIP_Real SCIPsdpiSolverGetDefaultSdpiSolverGaptol(void)
SCIP_EXPORT SCIP_RETCODE SCIPsdpiSolverGetSolFeasibility(SCIP_SDPISOLVER *sdpisolver, SCIP_Bool *primalfeasible, SCIP_Bool *dualfeasible)
SCIP_EXPORT SCIP_Bool SCIPsdpiSolverIsPrimalInfeasible(SCIP_SDPISOLVER *sdpisolver)
SCIP_EXPORT SCIP_RETCODE SCIPsdpiSolverGetSol(SCIP_SDPISOLVER *sdpisolver, SCIP_Real *objval, SCIP_Real *dualsol, int *dualsollength)
SCIP_EXPORT SCIP_Real SCIPsdpiSolverGetDefaultSdpiSolverFeastol(void)
SCIP_EXPORT SCIP_Bool SCIPsdpiSolverIsDualFeasible(SCIP_SDPISOLVER *sdpisolver)
SCIP_EXPORT SCIP_RETCODE SCIPsdpiSolverReadSDP(SCIP_SDPISOLVER *sdpisolver, const char *fname)
SCIP_EXPORT SCIP_RETCODE SCIPsdpiSolverGetSdpCalls(SCIP_SDPISOLVER *sdpisolver, int *calls)
SCIP_EXPORT SCIP_RETCODE SCIPsdpiSolverCreate(SCIP_SDPISOLVER **sdpisolver, SCIP_MESSAGEHDLR *messagehdlr, BMS_BLKMEM *blkmem, BMS_BUFMEM *bufmem)
type definitions for specific SDP-solver interfaces
SCIP_EXPORT int SCIPsdpiSolverGetDefaultSdpiSolverNpenaltyIncreases(void)
SCIP_EXPORT SCIP_RETCODE SCIPsdpiSolverSetIntpar(SCIP_SDPISOLVER *sdpisolver, SCIP_SDPPARAM type, int ival)
SCIP_EXPORT SCIP_Bool SCIPsdpiSolverFeasibilityKnown(SCIP_SDPISOLVER *sdpisolver)
SCIP_EXPORT const char * SCIPsdpiSolverGetSolverName(void)
SCIP_EXPORT SCIP_RETCODE SCIPsdpiSolverGetPrimalMatrix(SCIP_SDPISOLVER *sdpisolver, int nblocks, int *startXnblocknonz, int **startXrow, int **startXcol, SCIP_Real **startXval)
SCIP_EXPORT SCIP_RETCODE SCIPsdpiSolverLoadAndSolve(SCIP_SDPISOLVER *sdpisolver, 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 **indchanges, int *nremovedinds, int *blockindchanges, int nremovedblocks, int nlpcons, int noldlpcons, SCIP_Real *lplhs, SCIP_Real *lprhs, int *rownactivevars, int lpnnonz, int *lprow, int *lpcol, SCIP_Real *lpval, 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_Real timelimit)
SCIP_EXPORT SCIP_Bool SCIPsdpiSolverIsDualInfeasible(SCIP_SDPISOLVER *sdpisolver)
SCIP_EXPORT const char * SCIPsdpiSolverGetSolverDesc(void)
SCIP_EXPORT SCIP_RETCODE SCIPsdpiSolverComputeMaxPenaltyparam(SCIP_SDPISOLVER *sdpisolver, SCIP_Real penaltyparam, SCIP_Real *maxpenaltyparam)
SCIP_EXPORT void * SCIPsdpiSolverGetSolverPointer(SCIP_SDPISOLVER *sdpisolver)
SCIP_EXPORT SCIP_Bool SCIPsdpiSolverIsAcceptable(SCIP_SDPISOLVER *sdpisolver)
SCIP_EXPORT SCIP_RETCODE SCIPsdpiSolverIncreaseCounter(SCIP_SDPISOLVER *sdpisolver)
SCIP_EXPORT SCIP_Bool SCIPsdpiSolverIsOptimal(SCIP_SDPISOLVER *sdpisolver)
SCIP_EXPORT SCIP_Bool SCIPsdpiSolverWasSolved(SCIP_SDPISOLVER *sdpisolver)
SCIP_EXPORT SCIP_RETCODE SCIPsdpiSolverWriteSDP(SCIP_SDPISOLVER *sdpisolver, const char *fname)
SCIP_EXPORT SCIP_Bool SCIPsdpiSolverDoesWarmstartNeedPrimal(void)
SCIP_EXPORT SCIP_RETCODE SCIPsdpiSolverGetObjval(SCIP_SDPISOLVER *sdpisolver, SCIP_Real *objval)
SCIP_EXPORT SCIP_RETCODE SCIPsdpiSolverComputePenaltyparam(SCIP_SDPISOLVER *sdpisolver, SCIP_Real maxcoeff, SCIP_Real *penaltyparam)
SCIP_EXPORT SCIP_RETCODE SCIPsdpiSolverGetPrimalNonzeros(SCIP_SDPISOLVER *sdpisolver, int nblocks, int *startXnblocknonz)
SCIP_EXPORT SCIP_RETCODE SCIPsdpiSolverLoadAndSolveWithPenalty(SCIP_SDPISOLVER *sdpisolver, SCIP_Real penaltyparam, SCIP_Bool withobj, SCIP_Bool rbound, 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 **indchanges, int *nremovedinds, int *blockindchanges, int nremovedblocks, int nlpcons, int noldlpcons, SCIP_Real *lplhs, SCIP_Real *lprhs, int *rownactivevars, int lpnnonz, int *lprow, int *lpcol, SCIP_Real *lpval, 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_Real timelimit, SCIP_Bool *feasorig, SCIP_Bool *penaltybound)
struct SCIP_SDPiSolver SCIP_SDPISOLVER
Definition: sdpisolver.h:70
enum SCIP_SDPParam SCIP_SDPPARAM
Definition: type_sdpi.h:69
SCIP_EXPORT SCIP_RETCODE SCIPsdpiSolverFree(SCIP_SDPISOLVER **sdpisolver)
SCIP_EXPORT SCIP_RETCODE SCIPsdpiSolverGetPreoptimalPrimalNonzeros(SCIP_SDPISOLVER *sdpisolver, int nblocks, int *startXnblocknonz)
SCIP_EXPORT SCIP_RETCODE SCIPsdpiSolverGetIterations(SCIP_SDPISOLVER *sdpisolver, int *iterations)
SCIP_EXPORT SCIP_Bool SCIPsdpiSolverIsInfinity(SCIP_SDPISOLVER *sdpisolver, SCIP_Real val)
SCIP_EXPORT SCIP_Bool SCIPsdpiSolverIsPrimalFeasible(SCIP_SDPISOLVER *sdpisolver)
SCIP_EXPORT SCIP_RETCODE SCIPsdpiSolverComputeLambdastar(SCIP_SDPISOLVER *sdpisolver, SCIP_Real maxguess)
SCIP_EXPORT SCIP_Bool SCIPsdpiSolverIsDualUnbounded(SCIP_SDPISOLVER *sdpisolver)
SCIP_EXPORT SCIP_Bool SCIPsdpiSolverIsPrimalUnbounded(SCIP_SDPISOLVER *sdpisolver)
SCIP_EXPORT SCIP_Bool SCIPsdpiSolverIsIterlimExc(SCIP_SDPISOLVER *sdpisolver)