SCIP-SDP  4.0.0
sdpsolchecker.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 
41 #ifndef __SCIP_SDPI_H__
42 #define __SCIP_SDPI_H__
43 
44 
45 #include "scip/def.h"
46 #include "blockmemshell/memory.h"
47 
48 #ifdef __cplusplus
49 extern "C" {
50 #endif
51 
55 SCIP_EXPORT
56 SCIP_RETCODE SCIPsdpSolcheckerCheck(
57  BMS_BUFMEM* bufmem,
58  int nvars,
59  SCIP_Real* lb,
60  SCIP_Real* ub,
61  int nsdpblocks,
62  int* sdpblocksizes,
63  int* sdpnblockvars,
64  int sdpconstnnonz,
65  int* sdpconstnblocknonz,
67  int** sdpconstrow,
68  int** sdpconstcol,
69  SCIP_Real** sdpconstval,
70  int sdpnnonz,
71  int** sdpnblockvarnonz,
73  int** sdpvar,
75  int*** sdprow,
76  int*** sdpcol,
77  SCIP_Real*** sdpval,
78  int** indchanges,
80  int* nremovedinds,
81  int* blockindchanges,
82  int nlpcons,
83  SCIP_Real* lplhs,
84  SCIP_Real* lprhs,
85  int lpnnonz,
86  int* lprow,
87  int* lpcol,
88  SCIP_Real* lpval,
89  SCIP_Real* solvector,
90  SCIP_Real feastol,
91  SCIP_Real epsilon,
92  SCIP_Bool* infeasible
93 );
94 
101 SCIP_EXPORT
103  BMS_BUFMEM* bufmem,
104  int nvars,
105  SCIP_Real* lb,
106  SCIP_Real* ub,
107  int nsdpblocks,
108  int* sdpblocksizes,
109  int* sdpnblockvars,
110  int sdpconstnnonz,
111  int* sdpconstnblocknonz,
113  int** sdpconstrow,
114  int** sdpconstcol,
115  SCIP_Real** sdpconstval,
116  int sdpnnonz,
117  int** sdpnblockvarnonz,
119  int** sdpvar,
121  int*** sdprow,
122  int*** sdpcol,
123  SCIP_Real*** sdpval,
124  int** indchanges,
126  int* nremovedinds,
127  int* blockindchanges,
128  int nlpcons,
129  SCIP_Real* lplhs,
130  SCIP_Real* lprhs,
131  int lpnnonz,
132  int* lprow,
133  int* lpcol,
134  SCIP_Real* lpval,
135  SCIP_Real* solvector,
136  SCIP_Real feastol,
137  SCIP_Real epsilon,
138  SCIP_Real* maxabsviolbnds,
139  SCIP_Real* sumabsviolbnds,
140  SCIP_Real* maxabsviolcons,
141  SCIP_Real* sumabsviolcons,
142  SCIP_Real* maxabsviolsdp,
143  SCIP_Real* sumabsviolsdp,
144  SCIP_Bool* infeasible
145 );
146 
154 SCIP_EXPORT
156  BMS_BUFMEM* bufmem,
157  int nvars,
158  SCIP_Real* obj,
159  SCIP_Real* lb,
160  SCIP_Real* ub,
161  int* inputtomosekmapper,
164  int nsdpblocks,
165  int* sdpblocksizes,
166  int* sdpnblockvars,
167  int sdpconstnnonz,
168  int* sdpconstnblocknonz,
170  int** sdpconstrow,
171  int** sdpconstcol,
172  SCIP_Real** sdpconstval,
173  int sdpnnonz,
174  int** sdpnblockvarnonz,
176  int** sdpvar,
178  int*** sdprow,
179  int*** sdpcol,
180  SCIP_Real*** sdpval,
181  int** indchanges,
183  int* nremovedinds,
184  int* blockindchanges,
185  int nremovedblocks,
186  int nlpcons,
187  SCIP_Real* lplhs,
188  SCIP_Real* lprhs,
189  int lpnnonz,
190  int* lprow,
191  int* lpcol,
192  SCIP_Real* lpval,
193  SCIP_Real* solvector,
194  SCIP_Real** solmatrices,
195  SCIP_Real feastol,
196  SCIP_Real epsilon,
197  SCIP_Real* maxabsviolbnds,
198  SCIP_Real* sumabsviolbnds,
199  SCIP_Real* maxabsviolcons,
200  SCIP_Real* sumabsviolcons,
201  SCIP_Real* maxabsviolsdp,
202  SCIP_Real* sumabsviolsdp,
203  SCIP_Bool* infeasible
204 );
205 
206 #ifdef __cplusplus
207 }
208 #endif
209 
210 #endif
SCIP_EXPORT SCIP_RETCODE SCIPsdpSolcheckerCheckAndGetViolDual(BMS_BUFMEM *bufmem, int nvars, 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 nlpcons, SCIP_Real *lplhs, SCIP_Real *lprhs, int lpnnonz, int *lprow, int *lpcol, SCIP_Real *lpval, SCIP_Real *solvector, SCIP_Real feastol, SCIP_Real epsilon, SCIP_Real *maxabsviolbnds, SCIP_Real *sumabsviolbnds, SCIP_Real *maxabsviolcons, SCIP_Real *sumabsviolcons, SCIP_Real *maxabsviolsdp, SCIP_Real *sumabsviolsdp, SCIP_Bool *infeasible)
SCIP_EXPORT SCIP_RETCODE SCIPsdpSolcheckerCheckAndGetViolPrimal(BMS_BUFMEM *bufmem, int nvars, SCIP_Real *obj, SCIP_Real *lb, SCIP_Real *ub, int *inputtomosekmapper, 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, SCIP_Real *lplhs, SCIP_Real *lprhs, int lpnnonz, int *lprow, int *lpcol, SCIP_Real *lpval, SCIP_Real *solvector, SCIP_Real **solmatrices, SCIP_Real feastol, SCIP_Real epsilon, SCIP_Real *maxabsviolbnds, SCIP_Real *sumabsviolbnds, SCIP_Real *maxabsviolcons, SCIP_Real *sumabsviolcons, SCIP_Real *maxabsviolsdp, SCIP_Real *sumabsviolsdp, SCIP_Bool *infeasible)
SCIP_EXPORT SCIP_RETCODE SCIPsdpSolcheckerCheck(BMS_BUFMEM *bufmem, int nvars, 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 nlpcons, SCIP_Real *lplhs, SCIP_Real *lprhs, int lpnnonz, int *lprow, int *lpcol, SCIP_Real *lpval, SCIP_Real *solvector, SCIP_Real feastol, SCIP_Real epsilon, SCIP_Bool *infeasible)
Definition: sdpsolchecker.c:62