SCIP-SDP  4.0.0
sdpi.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-2021 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-2021 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 
57 /*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
58 
59 #ifndef __SCIP_SDPI_H__
60 #define __SCIP_SDPI_H__
61 
62 
63 #include "scip/def.h"
64 #include "blockmemshell/memory.h"
65 #include "scip/type_retcode.h"
66 #include "sdpi/type_sdpi.h"
67 
68 #ifdef __cplusplus
69 extern "C" {
70 #endif
71 
72 /*
73  * Miscellaneous Methods
74  */
75 
80 SCIP_EXPORT
81 const char* SCIPsdpiGetSolverName(
82  void
83  );
84 
86 SCIP_EXPORT
87 const char* SCIPsdpiGetSolverDesc(
88  void
89  );
90 
97 SCIP_EXPORT
99  SCIP_SDPI* sdpi
100  );
101 
103 SCIP_EXPORT
105  void
106  );
107 
109 SCIP_EXPORT
111  void
112  );
113 
119 /*
120  * SDPI Creation and Destruction Methods
121  */
122 
127 SCIP_EXPORT
128 SCIP_RETCODE SCIPsdpiCreate(
129  SCIP_SDPI** sdpi,
130  SCIP_MESSAGEHDLR* messagehdlr,
131  BMS_BLKMEM* blkmem,
132  BMS_BUFMEM* bufmem
133  );
134 
136 SCIP_EXPORT
137 SCIP_RETCODE SCIPsdpiFree(
138  SCIP_SDPI** sdpi
139  );
140 
145 SCIP_EXPORT
146 SCIP_RETCODE SCIPsdpiClone(
147  SCIP_SDPI* oldsdpi,
148  SCIP_SDPI* newsdpi
149  );
150 
156 /*
157  * Modification Methods
158  */
159 
169 SCIP_EXPORT
170 SCIP_RETCODE SCIPsdpiLoadSDP(
171  SCIP_SDPI* sdpi,
172  int nvars,
173  SCIP_Real* obj,
174  SCIP_Real* lb,
175  SCIP_Real* ub,
176  int nsdpblocks,
177  int* sdpblocksizes,
178  int* sdpnblockvars,
179  int sdpconstnnonz,
180  int* sdpconstnblocknonz,
182  int** sdpconstrow,
183  int** sdpconstcol,
184  SCIP_Real** sdpconstval,
185  int sdpnnonz,
186  int** sdpnblockvarnonz,
188  int** sdpvar,
190  int*** sdprow,
193  int*** sdpcol,
194  SCIP_Real*** sdpval,
195  int nlpcons,
196  SCIP_Real* lplhs,
197  SCIP_Real* lprhs,
198  int lpnnonz,
199  int* lprow,
200  int* lpcol,
201  SCIP_Real* lpval
202  );
203 
208 SCIP_EXPORT
209 SCIP_RETCODE SCIPsdpiAddLPRows(
210  SCIP_SDPI* sdpi,
211  int nrows,
212  const SCIP_Real* lhs,
213  const SCIP_Real* rhs,
214  int nnonz,
215  const int* row,
217  const int* col,
218  const SCIP_Real* val
219  );
220 
222 SCIP_EXPORT
223 SCIP_RETCODE SCIPsdpiDelLPRows(
224  SCIP_SDPI* sdpi,
225  int firstrow,
226  int lastrow
227  );
228 
230 SCIP_EXPORT
231 SCIP_RETCODE SCIPsdpiDelLPRowset(
232  SCIP_SDPI* sdpi,
233  int* dstat
236  );
237 
239 SCIP_EXPORT
240 SCIP_RETCODE SCIPsdpiClear(
241  SCIP_SDPI* sdpi
242  );
243 
245 SCIP_EXPORT
246 SCIP_RETCODE SCIPsdpiChgObj(
247  SCIP_SDPI* sdpi,
248  int nvars,
249  const int* ind,
250  const SCIP_Real* obj
251  );
252 
254 SCIP_EXPORT
255 SCIP_RETCODE SCIPsdpiChgBounds(
256  SCIP_SDPI* sdpi,
257  int nvars,
258  const int* ind,
259  const SCIP_Real* lb,
260  const SCIP_Real* ub
261  );
262 
264 SCIP_RETCODE SCIPsdpiChgLPLhRhSides(
265  SCIP_SDPI* sdpi,
266  int nrows,
267  const int* ind,
268  const SCIP_Real* lhs,
269  const SCIP_Real* rhs
270  );
271 
272 
273 /*
274  * Data Accessing Methods
275  */
276 
281 SCIP_MESSAGEHDLR* SCIPsdpiGetMessagehdlr(
282  SCIP_SDPI* sdpi
283  );
284 
286 SCIP_EXPORT
287 SCIP_RETCODE SCIPsdpiGetNLPRows(
288  SCIP_SDPI* sdpi,
289  int* nlprows
290  );
291 
293 SCIP_EXPORT
294 SCIP_RETCODE SCIPsdpiGetNSDPBlocks(
295  SCIP_SDPI* sdpi,
296  int* nsdpblocks
297  );
298 
300 SCIP_EXPORT
301 SCIP_RETCODE SCIPsdpiGetNVars(
302  SCIP_SDPI* sdpi,
303  int* nvars
304  );
305 
307 SCIP_EXPORT
308 SCIP_RETCODE SCIPsdpiGetSDPNNonz(
309  SCIP_SDPI* sdpi,
310  int* nnonz
311  );
312 
314 SCIP_EXPORT
315 SCIP_RETCODE SCIPsdpiGetConstNNonz(
316  SCIP_SDPI* sdpi,
317  int* nnonz
318  );
319 
321 SCIP_EXPORT
322 SCIP_RETCODE SCIPsdpiGetLPNNonz(
323  SCIP_SDPI* sdpi,
324  int* nnonz
325  );
326 
328 SCIP_EXPORT
329 SCIP_RETCODE SCIPsdpiGetObj(
330  SCIP_SDPI* sdpi,
331  int firstvar,
332  int lastvar,
333  SCIP_Real* vals
334  );
335 
337 SCIP_EXPORT
338 SCIP_RETCODE SCIPsdpiGetBounds(
339  SCIP_SDPI* sdpi,
340  int firstvar,
341  int lastvar,
342  SCIP_Real* lbs,
343  SCIP_Real* ubs
344  );
345 
347 SCIP_EXPORT
348 SCIP_RETCODE SCIPsdpiGetLhSides(
349  SCIP_SDPI* sdpi,
350  int firstrow,
351  int lastrow,
352  SCIP_Real* lhss
353  );
354 
356 SCIP_EXPORT
357 SCIP_RETCODE SCIPsdpiGetRhSides(
358  SCIP_SDPI* sdpi,
359  int firstrow,
360  int lastrow,
361  SCIP_Real* rhss
362  );
363 
364 
370 /*
371  * Solving Methods
372  */
373 
383 SCIP_EXPORT
384 SCIP_RETCODE SCIPsdpiSolve(
385  SCIP_SDPI* sdpi,
386  SCIP_Real* starty,
387  int* startZnblocknonz,
389  int** startZrow,
391  int** startZcol,
393  SCIP_Real** startZval,
395  int* startXnblocknonz,
397  int** startXrow,
399  int** startXcol,
401  SCIP_Real** startXval,
403  SCIP_SDPSOLVERSETTING startsettings,
405  SCIP_Bool enforceslatercheck,
407  SCIP_Real timelimit
408  );
409 
415 /*
416  * Solution Information Methods
417  */
418 
423 SCIP_EXPORT
424 SCIP_Bool SCIPsdpiWasSolved(
425  SCIP_SDPI* sdpi
426  );
427 
429 SCIP_EXPORT
430 SCIP_Bool SCIPsdpiSolvedOrig(
431  SCIP_SDPI* sdpi
432  );
433 
438 SCIP_EXPORT
439 SCIP_Bool SCIPsdpiFeasibilityKnown(
440  SCIP_SDPI* sdpi
441  );
442 
444 SCIP_EXPORT
445 SCIP_RETCODE SCIPsdpiGetSolFeasibility(
446  SCIP_SDPI* sdpi,
447  SCIP_Bool* primalfeasible,
448  SCIP_Bool* dualfeasible
449  );
450 
452 SCIP_EXPORT
453 SCIP_Bool SCIPsdpiIsPrimalUnbounded(
454  SCIP_SDPI* sdpi
455  );
456 
458 SCIP_EXPORT
460  SCIP_SDPI* sdpi
461  );
462 
464 SCIP_EXPORT
465 SCIP_Bool SCIPsdpiIsPrimalFeasible(
466  SCIP_SDPI* sdpi
467  );
468 
470 SCIP_EXPORT
471 SCIP_Bool SCIPsdpiIsDualUnbounded(
472  SCIP_SDPI* sdpi
473  );
474 
476 SCIP_EXPORT
477 SCIP_Bool SCIPsdpiIsDualInfeasible(
478  SCIP_SDPI* sdpi
479  );
480 
482 SCIP_EXPORT
483 SCIP_Bool SCIPsdpiIsDualFeasible(
484  SCIP_SDPI* sdpi
485  );
486 
488 SCIP_EXPORT
489 SCIP_Bool SCIPsdpiIsConverged(
490  SCIP_SDPI* sdpi
491  );
492 
494 SCIP_EXPORT
495 SCIP_Bool SCIPsdpiIsObjlimExc(
496  SCIP_SDPI* sdpi
497  );
498 
500 SCIP_EXPORT
501 SCIP_Bool SCIPsdpiIsIterlimExc(
502  SCIP_SDPI* sdpi
503  );
504 
506 SCIP_EXPORT
507 SCIP_Bool SCIPsdpiIsTimelimExc(
508  SCIP_SDPI* sdpi
509  );
510 
522 SCIP_EXPORT
524  SCIP_SDPI* sdpi
525  );
526 
528 SCIP_EXPORT
529 SCIP_Bool SCIPsdpiIsOptimal(
530  SCIP_SDPI* sdpi
531  );
532 
536 SCIP_EXPORT
537 SCIP_Bool SCIPsdpiIsAcceptable(
538  SCIP_SDPI* sdpi
539  );
540 
542 SCIP_EXPORT
543 SCIP_RETCODE SCIPsdpiGetObjval(
544  SCIP_SDPI* sdpi,
545  SCIP_Real* objval
546  );
547 
551 SCIP_EXPORT
552 SCIP_RETCODE SCIPsdpiGetLowerObjbound(
553  SCIP_SDPI* sdpi,
554  SCIP_Real* objlb
555  );
556 
560 SCIP_EXPORT
561 SCIP_RETCODE SCIPsdpiGetSol(
562  SCIP_SDPI* sdpi,
563  SCIP_Real* objval,
564  SCIP_Real* dualsol,
565  int* dualsollength
567  );
568 
570 SCIP_EXPORT
572  SCIP_SDPI* sdpi,
573  int nblocks,
574  int* startXnblocknonz
576  );
577 
585 SCIP_EXPORT
586 SCIP_RETCODE SCIPsdpiGetPreoptimalSol(
587  SCIP_SDPI* sdpi,
588  SCIP_Bool* success,
589  SCIP_Real* dualsol,
590  int* dualsollength,
592  int nblocks,
593  int* startXnblocknonz,
595  int** startXrow,
596  int** startXcol,
597  SCIP_Real** startXval
598  );
599 
605 SCIP_EXPORT
606 SCIP_RETCODE SCIPsdpiGetPrimalBoundVars(
607  SCIP_SDPI* sdpi,
608  SCIP_Real* lbvars,
609  SCIP_Real* ubvars,
610  int* arraylength
613  );
614 
616 SCIP_EXPORT
617 SCIP_RETCODE SCIPsdpiGetPrimalNonzeros(
618  SCIP_SDPI* sdpi,
619  int nblocks,
620  int* startXnblocknonz
621  );
622 
630 SCIP_EXPORT
631 SCIP_RETCODE SCIPsdpiGetPrimalMatrix(
632  SCIP_SDPI* sdpi,
633  int nblocks,
634  int* startXnblocknonz,
636  int** startXrow,
637  int** startXcol,
638  SCIP_Real** startXval
639  );
640 
642 SCIP_EXPORT
643 SCIP_Real SCIPsdpiGetMaxPrimalEntry(
644  SCIP_SDPI* sdpi
645  );
646 
648 SCIP_EXPORT
649 SCIP_RETCODE SCIPsdpiGetTime(
650  SCIP_SDPI* sdpi,
651  SCIP_Real* opttime
652  );
653 
655 SCIP_EXPORT
656 SCIP_RETCODE SCIPsdpiGetIterations(
657  SCIP_SDPI* sdpi,
658  int* iterations
659  );
660 
662 SCIP_EXPORT
663 SCIP_RETCODE SCIPsdpiGetSdpCalls(
664  SCIP_SDPI* sdpi,
665  int* calls
666  );
667 
669 SCIP_EXPORT
670 SCIP_RETCODE SCIPsdpiSettingsUsed(
671  SCIP_SDPI* sdpi,
672  SCIP_SDPSOLVERSETTING* usedsetting
673  );
674 
676 SCIP_EXPORT
677 SCIP_RETCODE SCIPsdpiSlaterSettings(
678  SCIP_SDPI* sdpi,
679  SCIP_SDPSLATERSETTING* slatersetting
680  );
681 
683 SCIP_EXPORT
684 SCIP_RETCODE SCIPsdpiSlater(
685  SCIP_SDPI* sdpi,
686  SCIP_SDPSLATER* primalslater,
687  SCIP_SDPSLATER* dualslater
688  );
689 
691 SCIP_EXPORT
692 SCIP_RETCODE SCIPsdpiGetStatistics(
693  SCIP_SDPI* sdpi,
694  int* ninfeasible,
695  int* nallfixed,
696  int* nonevarsdp
697  );
698 
704 /*
705  * SDPi State Methods
706  */
707 
708 
709 
710 /*
711  * Numerical Methods
712  */
713 
718 SCIP_EXPORT
719 SCIP_Real SCIPsdpiInfinity(
720  SCIP_SDPI* sdpi
721  );
722 
724 SCIP_EXPORT
725 SCIP_Bool SCIPsdpiIsInfinity(
726  SCIP_SDPI* sdpi,
727  SCIP_Real val
728  );
729 
731 SCIP_EXPORT
732 SCIP_RETCODE SCIPsdpiGetRealpar(
733  SCIP_SDPI* sdpi,
734  SCIP_SDPPARAM type,
735  SCIP_Real* dval
736  );
737 
739 SCIP_EXPORT
740 SCIP_RETCODE SCIPsdpiSetRealpar(
741  SCIP_SDPI* sdpi,
742  SCIP_SDPPARAM type,
743  SCIP_Real dval
744  );
745 
747 SCIP_EXPORT
748 SCIP_RETCODE SCIPsdpiGetIntpar(
749  SCIP_SDPI* sdpi,
750  SCIP_SDPPARAM type,
751  int* ival
752  );
753 
755 SCIP_EXPORT
756 SCIP_RETCODE SCIPsdpiSetIntpar(
757  SCIP_SDPI* sdpi,
758  SCIP_SDPPARAM type,
759  int ival
760  );
761 
763 SCIP_EXPORT
764 SCIP_RETCODE SCIPsdpiComputeLambdastar(
765  SCIP_SDPI* sdpi,
766  SCIP_Real maxguess
767  );
768 
770 SCIP_EXPORT
771 SCIP_RETCODE SCIPsdpiComputePenaltyparam(
772  SCIP_SDPI* sdpi,
773  SCIP_Real maxcoeff,
774  SCIP_Real* penaltyparam
775  );
776 
778 SCIP_EXPORT
779 SCIP_RETCODE SCIPsdpiComputeMaxPenaltyparam(
780  SCIP_SDPI* sdpi,
781  SCIP_Real penaltyparam,
782  SCIP_Real* maxpenaltyparam
783  );
784 
786 SCIP_EXPORT
788  SCIP_SDPI* sdpi,
789  int clocktype
790  );
791 
797 /*
798  * File Interface Methods
799  */
800 
805 SCIP_EXPORT
806 SCIP_RETCODE SCIPsdpiReadSDP(
807  SCIP_SDPI* sdpi,
808  const char* fname
809  );
810 
812 SCIP_EXPORT
813 SCIP_RETCODE SCIPsdpiWriteSDP(
814  SCIP_SDPI* sdpi,
815  const char* fname
816  );
817 
820 #ifdef __cplusplus
821 }
822 #endif
823 
824 #endif
SCIP_EXPORT SCIP_RETCODE SCIPsdpiDelLPRowset(SCIP_SDPI *sdpi, int *dstat)
Definition: sdpi.c:2215
SCIP_EXPORT int SCIPsdpiGetInternalStatus(SCIP_SDPI *sdpi)
Definition: sdpi.c:3489
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)
Definition: sdpi.c:3788
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)
Definition: sdpi.c:2607
SCIP_EXPORT SCIP_RETCODE SCIPsdpiWriteSDP(SCIP_SDPI *sdpi, const char *fname)
Definition: sdpi.c:4788
SCIP_EXPORT SCIP_RETCODE SCIPsdpiClear(SCIP_SDPI *sdpi)
Definition: sdpi.c:2258
SCIP_EXPORT SCIP_RETCODE SCIPsdpiGetRealpar(SCIP_SDPI *sdpi, SCIP_SDPPARAM type, SCIP_Real *dval)
Definition: sdpi.c:4534
SCIP_EXPORT SCIP_RETCODE SCIPsdpiGetLowerObjbound(SCIP_SDPI *sdpi, SCIP_Real *objlb)
Definition: sdpi.c:3614
SCIP_EXPORT SCIP_Real SCIPsdpiGetMaxPrimalEntry(SCIP_SDPI *sdpi)
Definition: sdpi.c:4042
SCIP_EXPORT SCIP_RETCODE SCIPsdpiGetBounds(SCIP_SDPI *sdpi, int firstvar, int lastvar, SCIP_Real *lbs, SCIP_Real *ubs)
Definition: sdpi.c:2517
SCIP_EXPORT SCIP_RETCODE SCIPsdpiGetNLPRows(SCIP_SDPI *sdpi, int *nlprows)
Definition: sdpi.c:2411
SCIP_EXPORT SCIP_Bool SCIPsdpiIsIterlimExc(SCIP_SDPI *sdpi)
Definition: sdpi.c:3427
SCIP_EXPORT SCIP_RETCODE SCIPsdpiGetSdpCalls(SCIP_SDPI *sdpi, int *calls)
Definition: sdpi.c:4080
enum SCIP_SDPSolverSetting SCIP_SDPSOLVERSETTING
Definition: type_sdpi.h:83
SCIP_EXPORT const char * SCIPsdpiGetSolverName(void)
Definition: sdpi.c:1441
SCIP_EXPORT SCIP_RETCODE SCIPsdpiChgObj(SCIP_SDPI *sdpi, int nvars, const int *ind, const SCIP_Real *obj)
Definition: sdpi.c:2293
SCIP_EXPORT SCIP_Bool SCIPsdpiDoesWarmstartNeedPrimal(void)
Definition: sdpi.c:1478
SCIP_EXPORT SCIP_Bool SCIPsdpiIsConverged(SCIP_SDPI *sdpi)
Definition: sdpi.c:3379
SCIP_EXPORT SCIP_RETCODE SCIPsdpiGetPreoptimalPrimalNonzeros(SCIP_SDPI *sdpi, int nblocks, int *startXnblocknonz)
Definition: sdpi.c:3747
SCIP_EXPORT SCIP_RETCODE SCIPsdpiGetPrimalNonzeros(SCIP_SDPI *sdpi, int nblocks, int *startXnblocknonz)
Definition: sdpi.c:3975
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)
Definition: sdpi.c:2038
SCIP_RETCODE SCIPsdpiChgLPLhRhSides(SCIP_SDPI *sdpi, int nrows, const int *ind, const SCIP_Real *lhs, const SCIP_Real *rhs)
Definition: sdpi.c:2358
SCIP_EXPORT SCIP_Bool SCIPsdpiIsPrimalUnbounded(SCIP_SDPI *sdpi)
Definition: sdpi.c:3220
SCIP_EXPORT SCIP_RETCODE SCIPsdpiGetStatistics(SCIP_SDPI *sdpi, int *ninfeasible, int *nallfixed, int *nonevarsdp)
Definition: sdpi.c:4481
SCIP_EXPORT SCIP_RETCODE SCIPsdpiSetRealpar(SCIP_SDPI *sdpi, SCIP_SDPPARAM type, SCIP_Real dval)
Definition: sdpi.c:4584
SCIP_EXPORT SCIP_Real SCIPsdpiInfinity(SCIP_SDPI *sdpi)
Definition: sdpi.c:4513
SCIP_EXPORT void * SCIPsdpiGetSolverPointer(SCIP_SDPI *sdpi)
Definition: sdpi.c:1462
SCIP_EXPORT const char * SCIPsdpiGetSolverDesc(void)
Definition: sdpi.c:1449
SCIP_EXPORT SCIP_RETCODE SCIPsdpiDelLPRows(SCIP_SDPI *sdpi, int firstrow, int lastrow)
Definition: sdpi.c:2120
SCIP_EXPORT SCIP_Bool SCIPsdpiIsAcceptable(SCIP_SDPI *sdpi)
Definition: sdpi.c:3548
SCIP_EXPORT SCIP_RETCODE SCIPsdpiGetIterations(SCIP_SDPI *sdpi, int *iterations)
Definition: sdpi.c:4066
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)
Definition: sdpi.c:1836
enum SCIP_SDPSlaterSetting SCIP_SDPSLATERSETTING
Definition: type_sdpi.h:105
SCIP_EXPORT SCIP_RETCODE SCIPsdpiGetSDPNNonz(SCIP_SDPI *sdpi, int *nnonz)
Definition: sdpi.c:2453
type definitions for specific SDP-solver interfaces
SCIP_EXPORT SCIP_RETCODE SCIPsdpiGetRhSides(SCIP_SDPI *sdpi, int firstrow, int lastrow, SCIP_Real *rhss)
Definition: sdpi.c:2568
SCIP_EXPORT SCIP_RETCODE SCIPsdpiGetConstNNonz(SCIP_SDPI *sdpi, int *nnonz)
Definition: sdpi.c:2467
SCIP_EXPORT SCIP_Bool SCIPsdpiIsTimelimExc(SCIP_SDPI *sdpi)
Definition: sdpi.c:3451
SCIP_EXPORT SCIP_RETCODE SCIPsdpiClone(SCIP_SDPI *oldsdpi, SCIP_SDPI *newsdpi)
Definition: sdpi.c:1677
SCIP_EXPORT SCIP_Bool SCIPsdpiFeasibilityKnown(SCIP_SDPI *sdpi)
Definition: sdpi.c:3160
SCIP_EXPORT SCIP_RETCODE SCIPsdpiGetTime(SCIP_SDPI *sdpi, SCIP_Real *opttime)
Definition: sdpi.c:4052
SCIP_EXPORT SCIP_RETCODE SCIPsdpiGetLhSides(SCIP_SDPI *sdpi, int firstrow, int lastrow, SCIP_Real *lhss)
Definition: sdpi.c:2546
SCIP_EXPORT SCIP_Bool SCIPsdpiIsDualInfeasible(SCIP_SDPI *sdpi)
Definition: sdpi.c:3327
SCIP_EXPORT SCIP_Bool SCIPsdpiWasSolved(SCIP_SDPI *sdpi)
Definition: sdpi.c:3137
SCIP_EXPORT SCIP_Bool SCIPsdpiIsInfinity(SCIP_SDPI *sdpi, SCIP_Real val)
Definition: sdpi.c:4523
SCIP_EXPORT SCIP_RETCODE SCIPsdpiGetSol(SCIP_SDPI *sdpi, SCIP_Real *objval, SCIP_Real *dualsol, int *dualsollength)
Definition: sdpi.c:3666
SCIP_EXPORT SCIP_Bool SCIPsdpiIsOptimal(SCIP_SDPI *sdpi)
Definition: sdpi.c:3520
SCIP_MESSAGEHDLR * SCIPsdpiGetMessagehdlr(SCIP_SDPI *sdpi)
Definition: sdpi.c:2403
SCIP_EXPORT SCIP_RETCODE SCIPsdpiGetNSDPBlocks(SCIP_SDPI *sdpi, int *nsdpblocks)
Definition: sdpi.c:2425
SCIP_EXPORT void SCIPsdpiClockSetType(SCIP_SDPI *sdpi, int clocktype)
Definition: sdpi.c:4749
struct SCIP_SDPi SCIP_SDPI
Definition: type_sdpi.h:117
SCIP_EXPORT SCIP_Bool SCIPsdpiIsDualUnbounded(SCIP_SDPI *sdpi)
Definition: sdpi.c:3303
SCIP_EXPORT SCIP_RETCODE SCIPsdpiSetIntpar(SCIP_SDPI *sdpi, SCIP_SDPPARAM type, int ival)
Definition: sdpi.c:4669
SCIP_EXPORT SCIP_RETCODE SCIPsdpiFree(SCIP_SDPI **sdpi)
Definition: sdpi.c:1594
SCIP_EXPORT SCIP_RETCODE SCIPsdpiComputeMaxPenaltyparam(SCIP_SDPI *sdpi, SCIP_Real penaltyparam, SCIP_Real *maxpenaltyparam)
Definition: sdpi.c:4727
SCIP_EXPORT SCIP_RETCODE SCIPsdpiGetIntpar(SCIP_SDPI *sdpi, SCIP_SDPPARAM type, int *ival)
Definition: sdpi.c:4636
SCIP_EXPORT SCIP_Bool SCIPsdpiSolvedOrig(SCIP_SDPI *sdpi)
Definition: sdpi.c:3147
enum SCIP_SDPSlater SCIP_SDPSLATER
Definition: type_sdpi.h:115
SCIP_EXPORT SCIP_RETCODE SCIPsdpiGetObjval(SCIP_SDPI *sdpi, SCIP_Real *objval)
Definition: sdpi.c:3576
SCIP_EXPORT SCIP_RETCODE SCIPsdpiReadSDP(SCIP_SDPI *sdpi, const char *fname)
Definition: sdpi.c:4774
SCIP_EXPORT SCIP_RETCODE SCIPsdpiGetPrimalBoundVars(SCIP_SDPI *sdpi, SCIP_Real *lbvars, SCIP_Real *ubvars, int *arraylength)
Definition: sdpi.c:3895
SCIP_EXPORT SCIP_RETCODE SCIPsdpiGetSolFeasibility(SCIP_SDPI *sdpi, SCIP_Bool *primalfeasible, SCIP_Bool *dualfeasible)
Definition: sdpi.c:3174
SCIP_EXPORT SCIP_RETCODE SCIPsdpiComputePenaltyparam(SCIP_SDPI *sdpi, SCIP_Real maxcoeff, SCIP_Real *penaltyparam)
Definition: sdpi.c:4713
SCIP_EXPORT SCIP_RETCODE SCIPsdpiComputeLambdastar(SCIP_SDPI *sdpi, SCIP_Real maxguess)
Definition: sdpi.c:4704
SCIP_EXPORT SCIP_RETCODE SCIPsdpiSettingsUsed(SCIP_SDPI *sdpi, SCIP_SDPSOLVERSETTING *usedsetting)
Definition: sdpi.c:4094
enum SCIP_SDPParam SCIP_SDPPARAM
Definition: type_sdpi.h:72
SCIP_EXPORT int SCIPsdpiGetDefaultSdpiSolverNpenaltyIncreases(void)
Definition: sdpi.c:1470
SCIP_EXPORT SCIP_RETCODE SCIPsdpiCreate(SCIP_SDPI **sdpi, SCIP_MESSAGEHDLR *messagehdlr, BMS_BLKMEM *blkmem, BMS_BUFMEM *bufmem)
Definition: sdpi.c:1496
SCIP_EXPORT SCIP_Bool SCIPsdpiIsPrimalInfeasible(SCIP_SDPI *sdpi)
Definition: sdpi.c:3250
SCIP_EXPORT SCIP_RETCODE SCIPsdpiGetObj(SCIP_SDPI *sdpi, int firstvar, int lastvar, SCIP_Real *vals)
Definition: sdpi.c:2495
SCIP_EXPORT SCIP_RETCODE SCIPsdpiChgBounds(SCIP_SDPI *sdpi, int nvars, const int *ind, const SCIP_Real *lb, const SCIP_Real *ub)
Definition: sdpi.c:2323
SCIP_EXPORT SCIP_RETCODE SCIPsdpiSlaterSettings(SCIP_SDPI *sdpi, SCIP_SDPSLATERSETTING *slatersetting)
Definition: sdpi.c:4135
SCIP_EXPORT SCIP_RETCODE SCIPsdpiGetLPNNonz(SCIP_SDPI *sdpi, int *nnonz)
Definition: sdpi.c:2481
SCIP_EXPORT SCIP_RETCODE SCIPsdpiGetPrimalMatrix(SCIP_SDPI *sdpi, int nblocks, int *startXnblocknonz, int **startXrow, int **startXcol, SCIP_Real **startXval)
Definition: sdpi.c:4009
SCIP_EXPORT SCIP_Bool SCIPsdpiIsPrimalFeasible(SCIP_SDPI *sdpi)
Definition: sdpi.c:3275
SCIP_EXPORT SCIP_RETCODE SCIPsdpiGetNVars(SCIP_SDPI *sdpi, int *nvars)
Definition: sdpi.c:2439
SCIP_EXPORT SCIP_Bool SCIPsdpiIsDualFeasible(SCIP_SDPI *sdpi)
Definition: sdpi.c:3353
SCIP_EXPORT SCIP_Bool SCIPsdpiIsObjlimExc(SCIP_SDPI *sdpi)
Definition: sdpi.c:3403
SCIP_EXPORT SCIP_RETCODE SCIPsdpiSlater(SCIP_SDPI *sdpi, SCIP_SDPSLATER *primalslater, SCIP_SDPSLATER *dualslater)
Definition: sdpi.c:4445