48 #define TABLE_NAME "slater"
49 #define TABLE_DESC "Slater statistics table (needs relaxing/SDP/slatercheck > 0)"
50 #define TABLE_POSITION 16200
51 #define TABLE_EARLIEST_STAGE SCIP_STAGE_SOLVING
74 assert( scip != NULL );
75 assert( table != NULL );
87 SCIP_TABLEDATA* tabledata;
89 assert( scip != NULL );
90 assert( table != NULL );
91 tabledata = SCIPtableGetData(table);
92 assert( tabledata != NULL );
94 SCIPfreeMemory(scip, &tabledata);
95 SCIPtableSetData(table, NULL);
105 SCIP_TABLEDATA* tabledata;
107 assert( table != NULL );
108 tabledata = SCIPtableGetData(table);
109 assert( tabledata != NULL );
111 tabledata->relaxSDP = SCIPfindRelax(scip,
"SDP");
112 assert( tabledata->relaxSDP != NULL );
122 SCIP_TABLEDATA* tabledata;
123 SCIP_RELAX* relaxsdp;
124 int relaxslatercheck;
126 assert( scip != NULL );
127 assert( table != NULL );
129 tabledata = SCIPtableGetData(table);
130 assert( tabledata != NULL );
132 relaxsdp = tabledata->relaxSDP;
133 assert( relaxsdp != NULL );
136 SCIP_CALL( SCIPgetIntParam(scip,
"relaxing/SDP/slatercheck", &relaxslatercheck) );
138 if ( relaxslatercheck == 0 )
140 SCIPinfoMessage(scip, file,
" Slater: no information available when relaxing/SDP/slatercheck = 0\n");
143 else if ( relaxslatercheck < 0 || relaxslatercheck > 2 )
145 SCIPerrorMessage(
"Unknown parameter value %d for parameter relaxing/SDP/slatercheck in table/slater\n", relaxslatercheck);
146 return SCIP_PARAMETERWRONGVAL;
150 SCIPinfoMessage(scip, file,
" Slater : Holds Fails Infeasible Unknown\n");
151 if ( tabledata->absolute )
153 SCIPinfoMessage(scip, file,
" %-14.14s: %10" SCIP_LONGINT_FORMAT
" %10" SCIP_LONGINT_FORMAT
" "
154 "%10" SCIP_LONGINT_FORMAT
" %10" SCIP_LONGINT_FORMAT
"\n",
159 SCIPinfoMessage(scip, file,
" %-14.14s: %10" SCIP_LONGINT_FORMAT
" %10" SCIP_LONGINT_FORMAT
" "
160 " - %10" SCIP_LONGINT_FORMAT
"\n",
166 SCIPinfoMessage(scip, file,
" %-14.14s: %8.2f %% %8.2f %% %8.2f %% %8.2f %%\n",
173 SCIPinfoMessage(scip, file,
" %-14.14s: %8.2f %% %8.2f %% - %8.2f %%\n",
185 SCIPinfoMessage(scip, file,
" Slater Solves : Fast Stable Penalty Bounded Unsolved\n");
186 if ( tabledata->absolute )
188 SCIPinfoMessage(scip, file,
" %-14.14s: %10" SCIP_LONGINT_FORMAT
" %10" SCIP_LONGINT_FORMAT
" "
189 "%10" SCIP_LONGINT_FORMAT
" %10" SCIP_LONGINT_FORMAT
" %10" SCIP_LONGINT_FORMAT
"\n",
194 SCIPinfoMessage(scip, file,
" %-14.14s: %10" SCIP_LONGINT_FORMAT
" %10" SCIP_LONGINT_FORMAT
" "
195 "%10" SCIP_LONGINT_FORMAT
" %10" SCIP_LONGINT_FORMAT
" %10" SCIP_LONGINT_FORMAT
"\n",
200 SCIPinfoMessage(scip, file,
" %-14.14s: %10" SCIP_LONGINT_FORMAT
" %10" SCIP_LONGINT_FORMAT
" "
201 "%10" SCIP_LONGINT_FORMAT
" %10" SCIP_LONGINT_FORMAT
" %10" SCIP_LONGINT_FORMAT
"\n",
210 SCIPinfoMessage(scip, file,
" %-14.14s: %8.2f %% %8.2f %% %8.2f %% %8.2f %% %8.2f %%\n",
221 SCIPinfoMessage(scip, file,
" %-14.14s: %8.2f %% %8.2f %% %8.2f %% %8.2f %% %8.2f %%\n",
232 SCIPinfoMessage(scip, file,
" %-14.14s: %8.2f %% %8.2f %% %8.2f %% %8.2f %% %8.2f %%\n",
244 SCIPinfoMessage(scip, file,
" Slater : Fast Penalty Bounded Unsolved\n");
245 if ( tabledata->absolute )
247 SCIPinfoMessage(scip, file,
" %-14.14s: %10" SCIP_LONGINT_FORMAT
" %10" SCIP_LONGINT_FORMAT
" "
248 "%10" SCIP_LONGINT_FORMAT
" %10" SCIP_LONGINT_FORMAT
"\n",
253 SCIPinfoMessage(scip, file,
" %-14.14s: %10" SCIP_LONGINT_FORMAT
" %10" SCIP_LONGINT_FORMAT
" "
254 "%10" SCIP_LONGINT_FORMAT
" %10" SCIP_LONGINT_FORMAT
"\n",
259 SCIPinfoMessage(scip, file,
" %-14.14s: %10" SCIP_LONGINT_FORMAT
" %10" SCIP_LONGINT_FORMAT
" "
260 "%10" SCIP_LONGINT_FORMAT
" %10" SCIP_LONGINT_FORMAT
"\n",
269 SCIPinfoMessage(scip, file,
" %-14.14s: %8.2f %% %8.2f %% %8.2f %% %8.2f %%\n",
279 SCIPinfoMessage(scip, file,
" %-14.14s: %8.2f %% %8.2f %% %8.2f %% %8.2f %%\n",
289 SCIPinfoMessage(scip, file,
" %-14.14s: %8.2f %% %8.2f %% %8.2f %% %8.2f %%\n",
312 SCIP_TABLEDATA* tabledata;
314 assert( scip != NULL );
317 SCIP_CALL( SCIPallocMemory(scip, &tabledata) );
321 tableCopySlater, tableFreeSlater, NULL, NULL,
322 tableInitsolSlater, NULL, tableOutputSlater,
326 SCIP_CALL( SCIPaddBoolParam( scip,
"table/slater/absolute",
"Should statistics be printed in absolute numbers (true) or percentages (false)?",
327 &(tabledata->absolute), FALSE, FALSE, NULL, NULL) );
static SCIP_DECL_TABLECOPY(tableCopySlater)
int SCIPrelaxSdpGetNSlaterHoldsStable(SCIP_RELAX *relax)
static SCIP_DECL_TABLEOUTPUT(tableOutputSlater)
int SCIPrelaxSdpGetNSlaterInfeasibleFast(SCIP_RELAX *relax)
int SCIPrelaxSdpGetNSlaterFailsBounded(SCIP_RELAX *relax)
int SCIPrelaxSdpGetNprimalSlaterHolds(SCIP_RELAX *relax)
SCIP_RETCODE SCIPincludeTableSlater(SCIP *scip)
int SCIPrelaxSdpGetNdualSlaterHolds(SCIP_RELAX *relax)
const char * SCIPsdpiGetSolverName(void)
#define TABLE_EARLIEST_STAGE
int SCIPrelaxSdpGetNdualSlaterFails(SCIP_RELAX *relax)
General interface methods for SDP-preprocessing (mainly fixing variables and removing empty rows/cols...
int SCIPrelaxSdpGetNSlaterFailsFast(SCIP_RELAX *relax)
int SCIPrelaxSdpGetNSlaterFailsStable(SCIP_RELAX *relax)
int SCIPrelaxSdpGetNSdpInterfaceCalls(SCIP_RELAX *relax)
int SCIPrelaxSdpGetNSlaterHolds(SCIP_RELAX *relax)
int SCIPrelaxSdpGetNSlaterHoldsUnsolved(SCIP_RELAX *relax)
int SCIPrelaxSdpGetNSlaterInfeasibleStable(SCIP_RELAX *relax)
int SCIPrelaxSdpGetNdualSlaterUnknown(SCIP_RELAX *relax)
int SCIPrelaxSdpGetNSlaterFailsPenalty(SCIP_RELAX *relax)
int SCIPrelaxSdpGetNSlaterHoldsFast(SCIP_RELAX *relax)
int SCIPrelaxSdpGetNSlaterInfeasiblePenalty(SCIP_RELAX *relax)
static SCIP_DECL_TABLEINITSOL(tableInitsolSlater)
int SCIPrelaxSdpGetNSlaterFails(SCIP_RELAX *relax)
int SCIPrelaxSdpGetNSlaterHoldsBounded(SCIP_RELAX *relax)
int SCIPrelaxSdpGetNprimalSlaterFails(SCIP_RELAX *relax)
int SCIPrelaxSdpGetNSlaterInfeasibleBounded(SCIP_RELAX *relax)
int SCIPrelaxSdpGetNSlaterFailsUnsolved(SCIP_RELAX *relax)
int SCIPrelaxSdpGetNdualSlaterInfeasible(SCIP_RELAX *relax)
int SCIPrelaxSdpGetNSlaterHoldsPenalty(SCIP_RELAX *relax)
int SCIPrelaxSdpGetNprimalSlaterUnknown(SCIP_RELAX *relax)
int SCIPrelaxSdpGetNSlaterInfeasibleUnsolved(SCIP_RELAX *relax)
static SCIP_DECL_TABLEFREE(tableFreeSlater)