40 #define SCIPSDPVERSION "3.2.0" 44 #include "scip/scipdefplugins.h" 46 #include "objscip/objscipdefplugins.h" 69 #include "scipsdpgithash.c" 75 #include "scip/struct_dialog.h" 84 char scipsdpname[SCIP_MAXSTRLEN];
85 char scipsdpdesc[SCIP_MAXSTRLEN];
89 (void) SCIPsnprintf(scipsdpname, SCIP_MAXSTRLEN,
"SCIP-SDP %s",
SCIPSDPVERSION);
90 (void) SCIPsnprintf(scipsdpdesc, SCIP_MAXSTRLEN,
"Mixed Integer Semidefinite Programming Plugin for SCIP " 91 "[GitHash: %s] (www.opt.tu-darmstadt.de/scipsdp/)", SCIPSDP_GITHASH);
92 SCIP_CALL( SCIPincludeExternalCodeInformation(scip, scipsdpname, scipsdpdesc) );
95 SCIP_CALL( SCIPincludeDefaultPlugins(scip) );
99 SCIP_CALL( SCIPincludeObjReader(scip,
new ObjReaderSDPA(scip), TRUE) );
117 dialog = SCIPgetRootDialog(scip);
118 BMSfreeMemoryArrayNull(&dialog->name);
119 SCIP_ALLOC( BMSallocMemoryArray(&dialog->name, 9) );
120 (void) SCIPstrncpy(dialog->name,
"SCIP-SDP", 9);
135 SCIP_CALL( SCIPsetIntParam(scip,
"timing/clocktype", 2) );
138 SCIP_CALL( SCIPsetIntParam(scip,
"lp/solvefreq", -1) );
139 SCIP_CALL( SCIPsetIntParam(scip,
"relaxing/SDP/freq", 1) );
140 SCIP_CALL( SCIPsetIntParam(scip,
"display/lpiterations/active", 0) );
141 SCIP_CALL( SCIPsetIntParam(scip,
"display/lpavgiterations/active", 0) );
144 SCIP_CALL( SCIPsetIntParam(scip,
"display/nfrac/active", 0) );
145 SCIP_CALL( SCIPsetIntParam(scip,
"display/curcols/active", 0) );
146 SCIP_CALL( SCIPsetIntParam(scip,
"display/strongbranchs/active", 0) );
147 SCIP_CALL( SCIPsetIntParam(scip,
"display/sdpfastsettings/active", 0) );
148 SCIP_CALL( SCIPsetIntParam(scip,
"display/sdppenalty/active", 0) );
151 SCIP_CALL( SCIPsetBoolParam(scip,
"table/relaxator/active", FALSE) );
154 SCIP_CALL( SCIPsetRealParam(scip,
"numerics/epsilon", 1e-9) );
155 SCIP_CALL( SCIPsetRealParam(scip,
"numerics/sumepsilon", 1e-6) );
156 SCIP_CALL( SCIPsetRealParam(scip,
"numerics/feastol", 1e-6) );
159 SCIP_CALL( SCIPsetBoolParam(scip,
"lp/cleanuprows", FALSE) );
160 SCIP_CALL( SCIPsetBoolParam(scip,
"lp/cleanuprowsroot", FALSE) );
167 SCIP_CALL( SCIPsetIntParam(scip,
"nodeselection/hybridestim/stdpriority", 1000000) );
168 SCIP_CALL( SCIPsetIntParam(scip,
"nodeselection/hybridestim/maxplungedepth", 0) );
169 SCIP_CALL( SCIPsetRealParam(scip,
"nodeselection/hybridestim/estimweight", 0.0) );
SCIP_RETCODE SCIPincludeConshdlrSavedsdpsettings(SCIP *scip)
SCIP_RETCODE SCIPincludePropCompAnalCent(SCIP *scip)
SCIP_RETCODE SCIPincludeDispSdpfastsettings(SCIP *scip)
Column to display the percentage of SDP-relaxations that were solved using fast settings.
SCIP_RETCODE SCIPincludeTableRelaxSdp(SCIP *scip)
SCIP_RETCODE SCIPincludePropSdpObbt(SCIP *scip)
SCIP_RETCODE SCIPincludeTableSlater(SCIP *scip)
Reader for SDPA-Files with indicator constraints (-var in linear constraint => indicator constraint w...
SCIP_RETCODE SCIPincludeConshdlrSdp(SCIP *scip)
file reader for mixed-integer semidefinite programs in CBF format
most fractional branching rule for SCIP-SDP
SCIP_RETCODE SCIPincludeDispSdppenalty(SCIP *scip)
SCIP_RETCODE SCIPincludeBranchruleSdpmostinf(SCIP *scip)
optimization-based bound tightening propagator for semidefinite programs
Column to display the percentage of SDP-relaxations that could not be solved even using a penalty for...
highest absolute objective branching rule for SCIP-SDP
combined infeasibility and absolute objective branching rule for SCIP-SDP
SCIP_RETCODE SCIPincludeBranchruleSdpmostfrac(SCIP *scip)
most infeasible branching rule for SCIP-SDP
Constraint handler for SDP-constraints.
SCIP_RETCODE SCIPincludeDispSdpavgiterations(SCIP *scip)
SCIP_RETCODE SCIPincludeReaderCbf(SCIP *scip)
SCIP_RETCODE SCIPincludeTableSdpSolverSuccess(SCIP *scip)
SCIP_RETCODE SCIPincludeHeurSdpRand(SCIP *scip)
advanced SDP relaxator statistics table
compute analytic center propagator
SDP diving heuristic that chooses fixings w.r.t. the fractionalities.
Column to display the total number of SDP-iterations.
SCIP_RETCODE SCIPincludeConshdlrSdpRank1(SCIP *scip)
SCIP_RETCODE SCIPincludeConshdlrSavesdpsol(SCIP *scip)
SDP solver success statistics table.
SCIP_RETCODE SCIPincludeHeurSdpFracdiving(SCIP *scip)
randomized rounding heuristic for SDPs
SCIP_RETCODE SCIPincludeBranchruleSdpinfobjective(SCIP *scip)
reduced cost / dual fixing for SDPs
SCIP_RETCODE SCIPincludeBranchruleSdpobjective(SCIP *scip)
Column to display the average number of SDP-iterations.
SCIP_RETCODE SCIPSDPincludeDefaultPlugins(SCIP *scip)
Column to display the percentage of SDP-relaxations where a penalty formulation had to be used...
SCIP_RETCODE SCIPincludePropSdpredcost(SCIP *scip)
SCIP_RETCODE SCIPincludeDispSdpiterations(SCIP *scip)
SCIP_RETCODE SCIPincludeDispSdpunsolved(SCIP *scip)
constraint handler for saving SDP solutions in nodes
SCIP_RETCODE SCIPincludeRelaxSdp(SCIP *scip)
constraint handler for saving SDP settings