123 if( command[0] ==
'\0' )
128 else if( strcmp(command,
"..") == 0 )
131 if( *nextdialog ==
NULL )
144 *nextdialog = dialog;
146 else if( nfound >= 2 )
165 const char* valuestr,
175 switch( valuestr[0] )
219 for(
r = 0;
r < nreaders; ++
r )
242 SCIP_Bool transformed,
243 SCIP_Bool genericnames
257 if( filename[0] !=
'\0' )
290 if( extension ==
NULL )
298 "select a suitable reader by extension (or return): ", &extension, &endoffile) );
300 if( extension[0] ==
'\0' )
322 while( extension !=
NULL );
392 printf(
"<%s>\n", str);
394 SCIP_CALL(
SCIPparseCons(
scip, &cons, str,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE, &success) );
446 if( varname[0] ==
'\0' || endoffile )
473 if( boundstr[0] !=
'\0' )
477 bound = strtod(boundstr, &endptr);
478 if( endptr == boundstr || *endptr !=
'\0' )
480 printf(
"<%s> <%s>\n", endptr, boundstr);
501 if( boundstr[0] !=
'\0' )
505 bound = strtod(boundstr, &endptr);
506 if( endptr == boundstr || *endptr !=
'\0' )
512 SCIPdialogMessage(
scip,
NULL,
"ignore new upper bound <%.15g> since it is smaller than the current lower bound <%.15g>\n",
564 if( objsense[0] !=
'\0' && !endoffile )
566 if( strncmp(objsense,
"max", 3) == 0 )
570 else if( strncmp(objsense ,
"min", 3) == 0 )
605 SCIP_Real oldfeastol;
606 SCIP_Real checkfeastolfac;
607 SCIP_Bool dispallviols;
669 if( filename[0] !=
'\0' )
704 for(
i = 0;
i < nbenders; ++
i )
737 SCIPsortPtr((
void**)sorted, SCIPbranchruleComp, nbranchrules);
743 for(
i = 0;
i < nbranchrules; ++
i )
785 SCIPsortPtr((
void**)sorted, SCIPrelaxComp, nrelaxs);
791 for(
i = 0;
i < nrelaxs; ++
i )
829 SCIPsortPtr((
void**)sorted, SCIPconflicthdlrComp, nconflicthdlrs);
835 for(
i = 0;
i < nconflicthdlrs; ++
i )
872 for(
i = 0;
i < nconshdlrs; ++
i )
913 for(
i = 0;
i < ndisps; ++
i )
965 for(
i = 0;
i < nexprhdlrs; ++
i )
995 for(
i = 0;
i < ncutsels; ++
i )
1028 SCIPsortPtr((
void**)sorted, SCIPheurCompPriority, nheurs);
1034 for(
i = 0;
i < nheurs; ++
i )
1092 SCIPsortPtr((
void**)sorted, SCIPnlpiComp, nnlpis);
1098 for(
i = 0;
i < nnlpis; ++
i )
1137 for(
i = 0;
i < nnodesels; ++
i )
1190 for(
i = 0;
i < npresols; ++
i )
1226 for(
i = 0;
i < npricers; ++
i )
1283 for(
i = 0;
i < nprops; ++
i )
1333 for(
i = 0;
i < nsepas; ++
i )
1356 SCIP_Bool printzeros;
1375 assert(fixedvars !=
NULL || nfixedvars == 0);
1378 for( v = 0; v < nfixedvars; ++v )
1389If you want SCIP to display an optimal solution without infinite values, use 'display finitesolution'.\n");
1408 if( bestsol !=
NULL )
1419 SCIP_Bool printzeros;
1438 SCIP_Bool printzeros;
1469 SCIP_Bool endoffile;
1506 SCIP_Bool printzeros;
1508 if ( idx < 0 || idx >= nsols )
1532 SCIP_Bool endoffile;
1558 if( nactivebenders == 0 )
1568 if( nactivebenders > 1 )
1572 for(
i = 0;
i < nbenders;
i++ )
1577 benders[count] = benders[
i];
1602 if ( idx < 0 || idx >= nactivebenders)
1611 if( nsubproblems > 1 )
1633 if ( subidx < -1 || subidx >= nsubproblems)
1640 nsubdisplay = nsubproblems;
1644 for(
i = 0;
i < nsubdisplay;
i++ )
1646 if( nsubdisplay > 1 )
1676 SCIP_Bool endoffile;
1677 SCIP_Bool printzeros;
1703 if( nactivebenders == 0 )
1713 if( nactivebenders > 1 )
1717 for(
i = 0;
i < nbenders;
i++ )
1722 benders[count] = benders[
i];
1749 if ( idx < 0 || idx >= nactivebenders)
1758 if( nsubproblems > 1 )
1780 SCIP_Bool infeasible;
1782 if ( subidx < -1 || subidx >= nsubproblems)
1791 nsubdisplay = nsubproblems;
1795 for(
i = 0;
i < nsubdisplay;
i++ )
1797 if( nsubdisplay > 1 )
1896 SCIPsortPtr((
void**)sorted, SCIPcomprComp, ncomprs);
1902 for(
i = 0;
i < ncomprs; ++
i )
1948 SCIP_Bool endoffile;
1971 if( varname[0] !=
'\0' )
2277 SCIP_Bool endoffile;
2286 if( filename[0] !=
'\0' )
2309 if( extension ==
NULL )
2313 tmpfilename, extension);
2321 if( extension ==
NULL )
2329 "select a suitable reader by extension (or return): ", &extension, &endoffile) );
2331 if( extension[0] ==
'\0' )
2347 while( extension !=
NULL );
2381 SCIP_Bool endoffile;
2390 if( filename[0] !=
'\0' )
2415 SCIP_Bool endoffile;
2424 if( filename[0] !=
'\0' )
2452 SCIP_Bool endoffile;
2461 if( filename[0] !=
'\0' )
2493 SCIP_Longint longintval;
2496 SCIP_Bool endoffile;
2517 if( valuestr[0] ==
'\0' )
2524 SCIPdialogMessage(
scip,
NULL,
"\nInvalid value <%s> for bool parameter <%s>. Must be <0>, <1>, <FALSE>, or <TRUE>.\n\n",
2558 if( valuestr[0] ==
'\0' )
2596 if( valuestr[0] ==
'\0' )
2633 if( valuestr[0] ==
'\0' )
2640 SCIPdialogMessage(
scip,
NULL,
"\nInvalid real parameter value <%s> for parameter <%s>. Must be in range [%.15g,%.15g].\n\n",
2668 if( valuestr[0] ==
'\0' )
2704 if( valuestr[0] ==
'\0' )
2767 if( strchr(valuestr,
'.') ==
NULL && strchr(valuestr,
'e') ==
NULL )
2801 SCIP_Bool endoffile;
2817 if( valuestr[0] ==
'\0' )
2865 SCIP_Bool endoffile;
2883 if( valuestr[0] ==
'\0' )
2908 SCIPerrorMessage(
"invalid preferred branching direction <%d> of variable <%s>\n",
2921 if( valuestr[0] ==
'\0' )
2927 if( sscanf(valuestr,
"%d", &direction) != 1 )
2932 if( direction < -1 || direction > +1 )
2939 if( direction == -1 )
2941 else if( direction == 0 )
2958 SCIP_Bool endoffile;
2976 if( valuestr[0] ==
'\0' )
2997 if( valuestr[0] ==
'\0' )
3003 if( sscanf(valuestr,
"%d", &priority) != 1 )
3286 SCIP_Bool endoffile;
3305 if( valuestr[0] ==
'\0' )
3338 SCIP_Bool endoffile;
3362 if( filename[0] !=
'\0' )
3394 SCIP_Bool endoffile;
3398 SCIP_Bool lazyconss;
3422 if( valuestr[0] ==
'\0' )
3429 "using generic variable and row names (TRUE/FALSE): ",
3430 &valuestr, &endoffile) );
3437 if( valuestr[0] ==
'\0' )
3456 "using original objective function (TRUE/FALSE): ",
3457 &valuestr, &endoffile) );
3464 if( valuestr[0] ==
'\0' )
3482 "output removable rows as lazy constraints (TRUE/FALSE): ",
3483 &valuestr, &endoffile) );
3490 if( valuestr[0] ==
'\0' )
3522 SCIP_Bool endoffile;
3552 if( filename[0] !=
'\0' )
3619 SCIP_Bool endoffile;
3629 if( filename[0] !=
'\0' )
3635 file = fopen(filename,
"w");
3643 SCIP_Bool printzeros;
3670 SCIP_Bool endoffile;
3680 if( filename[0] !=
'\0' )
3686 file = fopen(filename,
"w");
3726 SCIP_Bool endoffile;
3736 if( filename[0] !=
'\0' )
3747 "check that the directory exists and that you have correct permissions\n", filename);
3768 SCIP_Bool endoffile;
3778 if( filename[0] !=
'\0' )
3784 file = fopen(filename,
"w");
3793 SCIP_Bool printzeros;
3801 if( bestsol !=
NULL )
3846 SCIP_Bool endoffile;
3856 if( filename[0] !=
'\0' )
3862 file = fopen(filename,
"w");
3935 const char* primaldual[] = {
"primal",
"dual"};
3940 for(
i = 0;
i < 2; ++
i )
3943 SCIP_Bool endoffile;
3949 if( endoffile || strncmp(refstrs[
i],
"\0", 1) == 0 )
3953 else if( strncmp(refstrs[
i],
"q", 1) == 0 )
4010 SCIPdialogExecMenuLazy,
NULL,
NULL,
4011 "SCIP",
"SCIP's main menu",
TRUE,
NULL) );
4043 "change",
"change the problem",
TRUE,
NULL) );
4058 SCIPdialogExecChangeAddCons,
NULL,
NULL,
4059 "add",
"add constraint",
FALSE,
NULL) );
4069 SCIPdialogExecChangeBounds,
NULL,
NULL,
4070 "bounds",
"change bounds of a variable",
FALSE,
NULL) );
4080 SCIPdialogExecChangeFreetransproblem,
NULL,
NULL,
4081 "freetransproblem",
"free transformed problem",
FALSE,
NULL) );
4091 SCIPdialogExecChangeObjSense,
NULL,
NULL,
4092 "objsense",
"change objective sense",
FALSE,
NULL) );
4102 SCIPdialogExecChecksol,
NULL,
NULL,
4103 "checksol",
"double checks best solution w.r.t. original problem",
FALSE,
NULL) );
4114 "display",
"display information",
TRUE,
NULL) );
4129 SCIPdialogExecDisplayBenders,
NULL,
NULL,
4130 "benders",
"display Benders' decomposition",
FALSE,
NULL) );
4140 SCIPdialogExecDisplayBranching,
NULL,
NULL,
4141 "branching",
"display branching rules",
FALSE,
NULL) );
4151 SCIPdialogExecDisplayCompression,
NULL,
NULL,
4152 "compression",
"display compression techniques",
FALSE,
NULL) );
4162 SCIPdialogExecDisplayConflict,
NULL,
NULL,
4163 "conflict",
"display conflict handlers",
FALSE,
NULL) );
4173 SCIPdialogExecDisplayConshdlrs,
NULL,
NULL,
4174 "conshdlrs",
"display constraint handlers",
FALSE,
NULL) );
4184 SCIPdialogExecDisplayDisplaycols,
NULL,
NULL,
4185 "displaycols",
"display display columns",
FALSE,
NULL) );
4195 SCIPdialogExecDisplayExprhdlrs,
NULL,
NULL,
4196 "exprhdlrs",
"display expression handlers",
FALSE,
NULL) );
4205 SCIPdialogExecDisplayCutselectors,
NULL,
NULL,
4206 "cutselectors",
"display cut selectors",
FALSE,
NULL));
4216 SCIPdialogExecDisplayHeuristics,
NULL,
NULL,
4217 "heuristics",
"display primal heuristics",
FALSE,
NULL) );
4227 SCIPdialogExecDisplayMemory,
NULL,
NULL,
4228 "memory",
"display memory diagnostics",
FALSE,
NULL) );
4238 SCIPdialogExecDisplayNlpi,
NULL,
NULL,
4239 "nlpis",
"display NLP solver interfaces",
FALSE,
NULL) );
4249 SCIPdialogExecDisplayNodeselectors,
NULL,
NULL,
4250 "nodeselectors",
"display node selectors",
FALSE,
NULL) );
4260 SCIPdialogExecDisplayParameters,
NULL,
NULL,
4261 "parameters",
"display non-default parameter settings",
FALSE,
NULL) );
4271 SCIPdialogExecDisplayPresolvers,
NULL,
NULL,
4272 "presolvers",
"display presolvers",
FALSE,
NULL) );
4282 SCIPdialogExecDisplayPricers,
NULL,
NULL,
4283 "pricers",
"display pricers",
FALSE,
NULL) );
4293 SCIPdialogExecDisplayProblem,
NULL,
NULL,
4294 "problem",
"display original problem",
FALSE,
NULL) );
4304 SCIPdialogExecDisplayPropagators,
NULL,
NULL,
4305 "propagators",
"display propagators",
FALSE,
NULL) );
4315 SCIPdialogExecDisplayReaders,
NULL,
NULL,
4316 "readers",
"display file readers",
FALSE,
NULL) );
4326 SCIPdialogExecDisplayRelaxators,
NULL,
NULL,
4327 "relaxators",
"display relaxators",
FALSE,
NULL) );
4337 SCIPdialogExecDisplaySeparators,
NULL,
NULL,
4338 "separators",
"display cut separators",
FALSE,
NULL) );
4348 SCIPdialogExecDisplaySolution,
NULL,
NULL,
4349 "solution",
"display best primal solution",
FALSE,
NULL) );
4359 SCIPdialogExecDisplayFiniteSolution,
NULL,
NULL,
4360 "finitesolution",
"display best primal solution (try to make solution values finite, first)",
FALSE,
NULL) );
4370 SCIPdialogExecDisplayDualSolution,
NULL,
NULL,
4371 "dualsolution",
"display dual solution vector (LP only, without presolving)",
FALSE,
NULL) );
4381 SCIPdialogExecDisplaySolutionPool,
NULL,
NULL,
4382 "sols",
"display solutions from pool",
FALSE,
NULL) );
4392 SCIPdialogExecDisplaySubproblem,
NULL,
NULL,
4393 "subproblem",
"display subproblem of a Benders' decomposition",
FALSE,
NULL) );
4403 SCIPdialogExecDisplaySubSolution,
NULL,
NULL,
4404 "subsolution",
"display solution to the Benders' decomposition subproblems given the best master problem solution",
FALSE,
NULL) );
4414 SCIPdialogExecDisplayStatistics,
NULL,
NULL,
4415 "statistics",
"display problem and optimization statistics",
FALSE,
NULL) );
4425 SCIPdialogExecDisplayReoptStatistics,
NULL,
NULL,
4426 "reoptstatistics",
"display reoptimization statistics",
FALSE,
NULL) );
4436 SCIPdialogExecDisplayTransproblem,
NULL,
NULL,
4437 "transproblem",
"display current node transformed problem",
FALSE,
NULL) );
4447 SCIPdialogExecDisplayValue,
NULL,
NULL,
4448 "value",
"display value of single variable in best primal solution",
FALSE,
NULL) );
4458 SCIPdialogExecDisplayVarbranchstatistics,
NULL,
NULL,
4459 "varbranchstatistics",
"display statistics for branching on variables",
FALSE,
NULL) );
4469 SCIPdialogExecDisplayLPSolutionQuality,
NULL,
NULL,
4470 "lpsolquality",
"display quality of the current LP solution, if available",
FALSE,
NULL) );
4480 SCIPdialogExecDisplayTranssolution,
NULL,
NULL,
4481 "transsolution",
"display best primal solution in transformed variables",
FALSE,
NULL) );
4491 SCIPdialogExecDisplayLinearConsClassification,
NULL,
NULL,
4492 "linclass",
"linear constraint classification as used for MIPLIB",
FALSE,
NULL) );
4503 "free",
"free current problem from memory",
FALSE,
NULL) );
4514 "help",
"display this help",
FALSE,
NULL) );
4524 SCIPdialogExecNewstart,
NULL,
NULL,
4525 "newstart",
"reset branch and bound tree to start again from root",
FALSE,
NULL) );
4536 SCIPdialogExecTransform,
NULL,
NULL,
4537 "transform",
"transforms problem from original state",
FALSE,
NULL) );
4548 SCIPdialogExecOptimize,
NULL,
NULL,
4549 "optimize",
"solve the problem",
FALSE,
NULL) );
4559 SCIPdialogExecConcurrentOpt,
NULL,
NULL,
4560 "concurrentopt",
"solve the problem using concurrent solvers",
FALSE,
NULL) );
4570 SCIPdialogExecPresolve,
NULL,
NULL,
4571 "presolve",
"solve the problem, but stop after presolving stage",
FALSE,
NULL) );
4593 "read",
"read a problem",
FALSE,
NULL) );
4604 "write",
"write information to file",
TRUE,
NULL) );
4620 "lp",
"write current node LP relaxation in LP format to file",
FALSE,
NULL) );
4630 SCIPdialogExecWriteMip,
NULL,
NULL,
4631 "mip",
"write current node MIP relaxation in LP format to file",
FALSE,
NULL) );
4641 SCIPdialogExecWriteNlp,
NULL,
NULL,
4642 "nlp",
"write current node NLP relaxation to file",
FALSE,
NULL) );
4652 SCIPdialogExecWriteProblem,
NULL,
NULL,
4654 "write original problem to file (format is given by file extension, e.g., orig.{lp,rlp,cip,mps})",
4665 SCIPdialogExecWriteGenProblem,
NULL,
NULL,
4667 "write original problem with generic names to file (format is given by file extension, e.g., orig.{lp,rlp,cip,mps})",
4678 SCIPdialogExecWriteSolution,
NULL,
NULL,
4679 "solution",
"write best primal solution to file",
FALSE,
NULL) );
4689 SCIPdialogExecWriteFiniteSolution,
NULL,
NULL,
4690 "finitesolution",
"write best primal solution to file (try to make solution values finite, first)",
FALSE,
NULL) );
4700 SCIPdialogExecWriteMIPStart,
NULL,
NULL,
4701 "mipstart",
"write mip start to file",
FALSE,
NULL) );
4711 SCIPdialogExecWriteStatistics,
NULL,
NULL,
4712 "statistics",
"write statistics to file",
FALSE,
NULL) );
4722 SCIPdialogExecWriteTransproblem,
NULL,
NULL,
4724 "write current node transformed problem to file (format is given by file extension, e.g., trans.{lp,rlp,cip,mps})",
4735 SCIPdialogExecWriteGenTransproblem,
NULL,
NULL,
4737 "write current node transformed problem with generic names to file (format is given by file extension, e.g., trans.{lp,rlp,cip,mps})",
4748 SCIPdialogExecCliquegraph,
NULL,
NULL,
4750 "write graph of cliques and implications of binary variables to GML file (better call after presolving)",
4761 SCIPdialogExecWriteCommandHistory,
NULL,
NULL,
4763 "write command line history to a file (only works if SCIP was compiled with 'readline')",
4774 "validate the solution against external objective reference interval",
4828 if( advmenu ==
NULL )
4839 SCIPdialogExecSetParam, SCIPdialogDescSetParam,
NULL,
4850 SCIPdialogExecSetParam, SCIPdialogDescSetParam,
NULL,
4881 if( submenu ==
NULL )
4939 if( advmenu ==
NULL )
4950 SCIPdialogExecFixParam, SCIPdialogDescFixParam,
NULL,
4961 SCIPdialogExecFixParam, SCIPdialogDescFixParam,
NULL,
4992 if( submenu ==
NULL )
5017 "emphasis",
"predefined parameter settings",
TRUE,
NULL) );
5086 "set",
"load/save/change parameters",
TRUE,
NULL) );
5101 SCIPdialogExecSetDefault,
NULL,
NULL,
5102 "default",
"reset parameter settings to their default values",
FALSE,
NULL) );
5113 "load",
"load parameter settings from a file",
FALSE,
NULL) );
5124 "save",
"save parameter settings to a file",
FALSE,
NULL) );
5134 SCIPdialogExecSetDiffsave,
NULL,
NULL,
5135 "diffsave",
"save non-default parameter settings to a file",
FALSE,
NULL) );
5146 "branching",
"change parameters for branching rules",
TRUE,
NULL) );
5159 for(
i = 0;
i < nbranchrules; ++
i )
5177 SCIPdialogExecSetBranchingPriority,
NULL,
NULL,
5178 "priority",
"change branching priority of a single variable",
FALSE,
NULL) );
5188 SCIPdialogExecSetBranchingDirection,
NULL,
NULL,
5189 "direction",
"change preferred branching direction of a single variable (-1:down, 0:auto, +1:up)",
5201 "conflict",
"change parameters for conflict handlers",
TRUE,
NULL) );
5214 for(
i = 0;
i < nconflicthdlrs; ++
i )
5233 "constraints",
"change parameters for constraint handlers",
TRUE,
NULL) );
5246 for(
i = 0;
i < nconshdlrs; ++
i )
5265 "cutselection",
"change parameters for cut selectors",
TRUE,
NULL) );
5278 for(
i = 0;
i < ncutsels; ++
i )
5297 "display",
"change parameters for display columns",
TRUE,
NULL) );
5310 for(
i = 0;
i < ndisps; ++
i )
5328 "estimation",
"change parameters for restarts and tree size estimation",
TRUE,
NULL) );
5338 "expr",
"change parameters for expression handlers",
TRUE,
NULL) );
5349 "heuristics",
"change parameters for primal heuristics",
TRUE,
NULL) );
5362 for(
i = 0;
i < nheurs; ++
i )
5383 NULL, SCIPdialogExecSetHeuristicsAggressive,
NULL,
NULL,
5384 "aggressive",
"sets heuristics <aggressive>",
FALSE,
NULL) );
5394 "default",
"sets heuristics settings to <default> ",
FALSE,
NULL) );
5404 "fast",
"sets heuristics <fast>",
FALSE,
NULL) );
5414 "off",
"turns <off> all heuristics",
FALSE,
NULL) );
5425 "limits",
"change parameters for time, memory, objective value, and other limits",
TRUE,
NULL) );
5430 SCIPdialogExecSetLimitsObjective,
NULL,
NULL,
5431 "objective",
"set limit on objective function, such that only solutions better than this limit are accepted",
FALSE,
NULL) );
5444 "lp",
"change parameters for linear programming relaxations",
TRUE,
NULL) );
5455 "nlp",
"change parameters for nonlinear programming relaxation",
TRUE,
NULL) );
5466 "memory",
"change parameters for memory management",
TRUE,
NULL) );
5477 "misc",
"change parameters for miscellaneous stuff",
TRUE,
NULL) );
5487 "nlhdlr",
"change parameters for nonlinear handlers",
TRUE,
NULL) );
5498 "nlpi",
"change parameters for NLP solver interfaces",
TRUE,
NULL) );
5511 for(
i = 0;
i < nnlpis; ++
i )
5530 "nodeselection",
"change parameters for node selectors",
TRUE,
NULL) );
5543 for(
i = 0;
i < nnodesels; ++
i )
5562 "numerics",
"change parameters for numerical values",
TRUE,
NULL) );
5573 "parallel",
"change parameters for parallel implementation",
TRUE,
NULL) );
5584 "presolving",
"change parameters for presolving",
TRUE,
NULL) );
5597 for(
i = 0;
i < npresols; ++
i )
5617 NULL, SCIPdialogExecSetPresolvingAggressive,
NULL,
NULL,
5618 "aggressive",
"sets presolving <aggressive>",
FALSE,
NULL) );
5628 "default",
"sets presolving settings to <default>",
FALSE,
NULL) );
5638 "fast",
"sets presolving <fast>",
FALSE,
NULL) );
5648 "off",
"turns <off> all presolving",
FALSE,
NULL) );
5659 "pricing",
"change parameters for pricing variables",
TRUE,
NULL) );
5672 for(
i = 0;
i < npricers; ++
i )
5691 "propagating",
"change parameters for constraint propagation",
TRUE,
NULL) );
5702 "reading",
"change parameters for problem file readers",
TRUE,
NULL) );
5715 for(
i = 0;
i < nreaders; ++
i )
5733 "separating",
"change parameters for cut separators",
TRUE,
NULL) );
5746 for(
i = 0;
i < nsepas; ++
i )
5766 NULL, SCIPdialogExecSetSeparatingAggressive,
NULL,
NULL,
5767 "aggressive",
"sets separating <aggressive>",
FALSE,
NULL) );
5777 "default",
"sets separating settings to <default>",
FALSE,
NULL) );
5787 "fast",
"sets separating <fast>",
FALSE,
NULL) );
5797 "off",
"turns <off> all separation",
FALSE,
NULL) );
5807 "timing",
"change parameters for timing issues",
TRUE,
NULL) );
5817 "visual",
"change parameters for visualization output",
TRUE,
NULL) );
5830 for(
i = 0;
i < nparams; ++
i )
5845 "counter",
"predefined parameter settings for a \"feasible\" and \"fast\" counting process",
FALSE,
NULL) );
5854 "cpsolver",
"predefined parameter settings for CP like search",
FALSE,
NULL) );
5863 "easycip",
"predefined parameter settings for easy problems",
FALSE,
NULL) );
5872 "feasibility",
"predefined parameter settings for feasibility problems",
FALSE,
NULL) );
5881 "hardlp",
"predefined parameter settings for problems with a hard LP",
FALSE,
NULL) );
5890 "optimality",
"predefined parameter settings for proving optimality fast",
FALSE,
NULL) );
5899 "numerics",
"predefined parameter settings for increased numerical stability",
FALSE,
NULL) );
5908 "benchmark",
"predefined parameter settings for running in benchmark mode",
FALSE,
NULL) );
5968 "fix",
"fix/unfix parameters",
TRUE,
NULL) );
5984 "branching",
"fix parameters for branching rules",
TRUE,
NULL) );
5997 for(
i = 0;
i < nbranchrules; ++
i )
6016 "conflict",
"fix parameters for conflict handlers",
TRUE,
NULL) );
6029 for(
i = 0;
i < nconflicthdlrs; ++
i )
6048 "constraints",
"fix parameters for constraint handlers",
TRUE,
NULL) );
6061 for(
i = 0;
i < nconshdlrs; ++
i )
6080 "cutselection",
"fix parameters for cut selectors",
TRUE,
NULL) );
6093 for(
i = 0;
i < ncutsels; ++
i )
6112 "display",
"fix parameters for display columns",
TRUE,
NULL) );
6125 for(
i = 0;
i < ndisps; ++
i )
6144 "heuristics",
"fix parameters for primal heuristics",
TRUE,
NULL) );
6157 for(
i = 0;
i < nheurs; ++
i )
6176 "limits",
"fix parameters for time, memory, objective value, and other limits",
TRUE,
NULL) );
6188 "lp",
"fix parameters for linear programming relaxations",
TRUE,
NULL) );
6199 "nlp",
"fix parameters for nonlinear programming relaxations",
TRUE,
NULL) );
6210 "memory",
"fix parameters for memory management",
TRUE,
NULL) );
6221 "misc",
"fix parameters for miscellaneous stuff",
TRUE,
NULL) );
6232 "nlpi",
"fix parameters for NLP solver interfaces",
TRUE,
NULL) );
6245 for(
i = 0;
i < nnlpis; ++
i )
6264 "nodeselection",
"fix parameters for node selectors",
TRUE,
NULL) );
6277 for(
i = 0;
i < nnodesels; ++
i )
6296 "numerics",
"fix parameters for numerical values",
TRUE,
NULL) );
6307 "presolving",
"fix parameters for presolving",
TRUE,
NULL) );
6320 for(
i = 0;
i < npresols; ++
i )
6338 "pricing",
"fix parameters for pricing variables",
TRUE,
NULL) );
6351 for(
i = 0;
i < npricers; ++
i )
6370 "propagating",
"fix parameters for constraint propagation",
TRUE,
NULL) );
6381 "reading",
"fix parameters for problem file readers",
TRUE,
NULL) );
6394 for(
i = 0;
i < nreaders; ++
i )
6412 "separating",
"fix parameters for cut separators",
TRUE,
NULL) );
6425 for(
i = 0;
i < nsepas; ++
i )
6442 "timing",
"fix parameters for timing issues",
TRUE,
NULL) );
6452 for(
i = 0;
i < nparams; ++
i )
Constraint handler for linear constraints in their most general form, .
#define SCIP_LONGINT_FORMAT
#define SCIP_CALL_FINALLY(x, y)
static SCIP_RETCODE writeProblem(SCIP *scip, SCIP_DIALOG *dialog, SCIP_DIALOGHDLR *dialoghdlr, SCIP_DIALOG **nextdialog, SCIP_Bool transformed, SCIP_Bool genericnames)
static SCIP_RETCODE dialogExecMenu(SCIP *scip, SCIP_DIALOG *dialog, SCIP_DIALOGHDLR *dialoghdlr, SCIP_DIALOG **nextdialog)
static SCIP_RETCODE addFixParamDialog(SCIP *scip, SCIP_DIALOG *menu, SCIP_PARAM *param, char *paramname)
static SCIP_RETCODE createEmphasisSubmenu(SCIP *scip, SCIP_DIALOG *root, SCIP_DIALOG **submenu)
static SCIP_RETCODE addSetParamDialog(SCIP *scip, SCIP_DIALOG *menu, SCIP_PARAM *param, char *paramname)
static void displayReaders(SCIP *scip, SCIP_Bool reader, SCIP_Bool writer)
static SCIP_Bool parseBoolValue(SCIP *scip, const char *valuestr, SCIP_Bool *error)
default user interface dialog
SCIP_RETCODE SCIPclassifyConstraintTypesLinear(SCIP *scip, SCIP_LINCONSSTATS *linconsstats)
SCIP_RETCODE SCIPcreateRootDialog(SCIP *scip, SCIP_DIALOG **root)
SCIP_RETCODE SCIPincludeDialogDefaultBasic(SCIP *scip)
SCIP_RETCODE SCIPincludeDialogDefaultSet(SCIP *scip)
SCIP_RETCODE SCIPincludeDialogDefaultFix(SCIP *scip)
SCIP_Bool SCIPfileExists(const char *filename)
SCIP_Bool SCIPisTransformed(SCIP *scip)
SCIP_RETCODE SCIPprintStatus(SCIP *scip, FILE *file)
SCIP_STAGE SCIPgetStage(SCIP *scip)
SCIP_RETCODE SCIPwriteOrigProblem(SCIP *scip, const char *filename, const char *extension, SCIP_Bool genericnames)
SCIP_RETCODE SCIPsetObjlimit(SCIP *scip, SCIP_Real objlimit)
SCIP_Real SCIPgetObjlimit(SCIP *scip)
SCIP_RETCODE SCIPaddCons(SCIP *scip, SCIP_CONS *cons)
SCIP_RETCODE SCIPfreeProb(SCIP *scip)
SCIP_RETCODE SCIPsetObjsense(SCIP *scip, SCIP_OBJSENSE objsense)
SCIP_RETCODE SCIPwriteTransProblem(SCIP *scip, const char *filename, const char *extension, SCIP_Bool genericnames)
int SCIPgetNFixedVars(SCIP *scip)
SCIP_VAR ** SCIPgetFixedVars(SCIP *scip)
SCIP_VAR * SCIPfindVar(SCIP *scip, const char *name)
SCIP_RETCODE SCIPreadProb(SCIP *scip, const char *filename, const char *extension)
void SCIPinfoMessage(SCIP *scip, FILE *file, const char *formatstr,...)
SCIP_MESSAGEHDLR * SCIPgetMessagehdlr(SCIP *scip)
void SCIPdialogMessage(SCIP *scip, FILE *file, const char *formatstr,...)
SCIP_RETCODE SCIPgetBoolParam(SCIP *scip, const char *name, SCIP_Bool *value)
SCIP_Bool SCIPisStringParamValid(SCIP *scip, SCIP_PARAM *param, const char *value)
SCIP_RETCODE SCIPresetParams(SCIP *scip)
SCIP_RETCODE SCIPchgCharParam(SCIP *scip, SCIP_PARAM *param, char value)
SCIP_RETCODE SCIPchgStringParam(SCIP *scip, SCIP_PARAM *param, const char *value)
int SCIPgetNParams(SCIP *scip)
SCIP_RETCODE SCIPsetHeuristics(SCIP *scip, SCIP_PARAMSETTING paramsetting, SCIP_Bool quiet)
SCIP_Bool SCIPisCharParamValid(SCIP *scip, SCIP_PARAM *param, const char value)
SCIP_RETCODE SCIPgetRealParam(SCIP *scip, const char *name, SCIP_Real *value)
SCIP_Bool SCIPisIntParamValid(SCIP *scip, SCIP_PARAM *param, int value)
SCIP_RETCODE SCIPreadParams(SCIP *scip, const char *filename)
SCIP_RETCODE SCIPwriteParams(SCIP *scip, const char *filename, SCIP_Bool comments, SCIP_Bool onlychanged)
SCIP_RETCODE SCIPchgBoolParam(SCIP *scip, SCIP_PARAM *param, SCIP_Bool value)
SCIP_RETCODE SCIPsetPresolving(SCIP *scip, SCIP_PARAMSETTING paramsetting, SCIP_Bool quiet)
SCIP_RETCODE SCIPchgRealParam(SCIP *scip, SCIP_PARAM *param, SCIP_Real value)
SCIP_RETCODE SCIPsetEmphasis(SCIP *scip, SCIP_PARAMEMPHASIS paramemphasis, SCIP_Bool quiet)
SCIP_RETCODE SCIPchgLongintParam(SCIP *scip, SCIP_PARAM *param, SCIP_Longint value)
SCIP_PARAM ** SCIPgetParams(SCIP *scip)
SCIP_Bool SCIPisLongintParamValid(SCIP *scip, SCIP_PARAM *param, SCIP_Longint value)
SCIP_Bool SCIPisRealParamValid(SCIP *scip, SCIP_PARAM *param, SCIP_Real value)
SCIP_RETCODE SCIPchgIntParam(SCIP *scip, SCIP_PARAM *param, int value)
SCIP_RETCODE SCIPsetSeparating(SCIP *scip, SCIP_PARAMSETTING paramsetting, SCIP_Bool quiet)
SCIP_Bool SCIPisBoolParamValid(SCIP *scip, SCIP_PARAM *param, SCIP_Bool value)
int SCIPgetNActiveBenders(SCIP *scip)
SCIP_BENDERS ** SCIPgetBenders(SCIP *scip)
int SCIPgetNBenders(SCIP *scip)
int SCIPbendersGetPriority(SCIP_BENDERS *benders)
const char * SCIPbendersGetDesc(SCIP_BENDERS *benders)
SCIP_BENDERSSUBTYPE SCIPbendersGetSubproblemType(SCIP_BENDERS *benders, int probnumber)
SCIP_RETCODE SCIPfreeBendersSubproblem(SCIP *scip, SCIP_BENDERS *benders, int probnumber)
SCIP_RETCODE SCIPsetupBendersSubproblem(SCIP *scip, SCIP_BENDERS *benders, SCIP_SOL *sol, int probnumber, SCIP_BENDERSENFOTYPE type)
SCIP_RETCODE SCIPsolveBendersSubproblem(SCIP *scip, SCIP_BENDERS *benders, SCIP_SOL *sol, int probnumber, SCIP_Bool *infeasible, SCIP_Bool solvecip, SCIP_Real *objective)
SCIP_Bool SCIPbendersIsActive(SCIP_BENDERS *benders)
const char * SCIPbendersGetName(SCIP_BENDERS *benders)
int SCIPbendersGetNSubproblems(SCIP_BENDERS *benders)
SCIP * SCIPbendersSubproblem(SCIP_BENDERS *benders, int probnumber)
int SCIPbranchruleGetMaxdepth(SCIP_BRANCHRULE *branchrule)
SCIP_BRANCHRULE ** SCIPgetBranchrules(SCIP *scip)
const char * SCIPbranchruleGetName(SCIP_BRANCHRULE *branchrule)
int SCIPbranchruleGetPriority(SCIP_BRANCHRULE *branchrule)
SCIP_Real SCIPbranchruleGetMaxbounddist(SCIP_BRANCHRULE *branchrule)
const char * SCIPbranchruleGetDesc(SCIP_BRANCHRULE *branchrule)
int SCIPgetNBranchrules(SCIP *scip)
int SCIPcomprGetPriority(SCIP_COMPR *compr)
int SCIPgetNCompr(SCIP *scip)
SCIP_COMPR ** SCIPgetComprs(SCIP *scip)
const char * SCIPcomprGetDesc(SCIP_COMPR *compr)
const char * SCIPcomprGetName(SCIP_COMPR *compr)
int SCIPcomprGetMinNodes(SCIP_COMPR *compr)
int SCIPconflicthdlrGetPriority(SCIP_CONFLICTHDLR *conflicthdlr)
const char * SCIPconflicthdlrGetName(SCIP_CONFLICTHDLR *conflicthdlr)
const char * SCIPconflicthdlrGetDesc(SCIP_CONFLICTHDLR *conflicthdlr)
SCIP_CONFLICTHDLR ** SCIPgetConflicthdlrs(SCIP *scip)
int SCIPgetNConflicthdlrs(SCIP *scip)
int SCIPconshdlrGetEagerFreq(SCIP_CONSHDLR *conshdlr)
SCIP_PRESOLTIMING SCIPconshdlrGetPresolTiming(SCIP_CONSHDLR *conshdlr)
int SCIPgetNConshdlrs(SCIP *scip)
int SCIPconshdlrGetSepaPriority(SCIP_CONSHDLR *conshdlr)
int SCIPconshdlrGetPropFreq(SCIP_CONSHDLR *conshdlr)
const char * SCIPconshdlrGetName(SCIP_CONSHDLR *conshdlr)
const char * SCIPconshdlrGetDesc(SCIP_CONSHDLR *conshdlr)
int SCIPconshdlrGetCheckPriority(SCIP_CONSHDLR *conshdlr)
int SCIPconshdlrGetSepaFreq(SCIP_CONSHDLR *conshdlr)
SCIP_CONSHDLR ** SCIPgetConshdlrs(SCIP *scip)
int SCIPconshdlrGetEnfoPriority(SCIP_CONSHDLR *conshdlr)
SCIP_RETCODE SCIPparseCons(SCIP *scip, SCIP_CONS **cons, const char *str, SCIP_Bool initial, SCIP_Bool separate, SCIP_Bool enforce, SCIP_Bool check, SCIP_Bool propagate, SCIP_Bool local, SCIP_Bool modifiable, SCIP_Bool dynamic, SCIP_Bool removable, SCIP_Bool stickingatnode, SCIP_Bool *success)
SCIP_RETCODE SCIPreleaseCons(SCIP *scip, SCIP_CONS **cons)
const char * SCIPcutselGetDesc(SCIP_CUTSEL *cutsel)
int SCIPcutselGetPriority(SCIP_CUTSEL *cutsel)
const char * SCIPcutselGetName(SCIP_CUTSEL *cutsel)
SCIP_CUTSEL ** SCIPgetCutsels(SCIP *scip)
int SCIPgetNCutsels(SCIP *scip)
void SCIPdialoghdlrClearBuffer(SCIP_DIALOGHDLR *dialoghdlr)
SCIP_RETCODE SCIPreleaseDialog(SCIP *scip, SCIP_DIALOG **dialog)
SCIP_DIALOG * SCIPdialoghdlrGetRoot(SCIP_DIALOGHDLR *dialoghdlr)
SCIP_Bool SCIPdialogHasEntry(SCIP_DIALOG *dialog, const char *entryname)
SCIP_RETCODE SCIPdialoghdlrAddHistory(SCIP_DIALOGHDLR *dialoghdlr, SCIP_DIALOG *dialog, const char *command, SCIP_Bool escapecommand)
SCIP_RETCODE SCIPincludeDialog(SCIP *scip, SCIP_DIALOG **dialog, SCIP_DECL_DIALOGCOPY((*dialogcopy)), SCIP_DECL_DIALOGEXEC((*dialogexec)), SCIP_DECL_DIALOGDESC((*dialogdesc)), SCIP_DECL_DIALOGFREE((*dialogfree)), const char *name, const char *desc, SCIP_Bool issubmenu, SCIP_DIALOGDATA *dialogdata)
SCIP_Bool SCIPdialoghdlrIsBufferEmpty(SCIP_DIALOGHDLR *dialoghdlr)
SCIP_RETCODE SCIPaddDialogEntry(SCIP *scip, SCIP_DIALOG *dialog, SCIP_DIALOG *subdialog)
SCIP_RETCODE SCIPdialoghdlrGetWord(SCIP_DIALOGHDLR *dialoghdlr, SCIP_DIALOG *dialog, const char *prompt, char **inputword, SCIP_Bool *endoffile)
SCIP_DIALOGDATA * SCIPdialogGetData(SCIP_DIALOG *dialog)
SCIP_RETCODE SCIPdialogDisplayCompletions(SCIP_DIALOG *dialog, SCIP *scip, const char *entryname)
SCIP_RETCODE SCIPsetRootDialog(SCIP *scip, SCIP_DIALOG *dialog)
SCIP_DIALOG * SCIPgetRootDialog(SCIP *scip)
SCIP_RETCODE SCIPdialogWriteHistory(const char *filename)
int SCIPdialogFindEntry(SCIP_DIALOG *dialog, const char *entryname, SCIP_DIALOG **subdialog)
SCIP_RETCODE SCIPdialoghdlrGetLine(SCIP_DIALOGHDLR *dialoghdlr, SCIP_DIALOG *dialog, const char *prompt, char **inputline, SCIP_Bool *endoffile)
SCIP_DIALOG * SCIPdialogGetParent(SCIP_DIALOG *dialog)
SCIP_RETCODE SCIPdialogDisplayMenu(SCIP_DIALOG *dialog, SCIP *scip)
SCIP_DISP ** SCIPgetDisps(SCIP *scip)
int SCIPgetNDisps(SCIP *scip)
SCIP_DISPSTATUS SCIPdispGetStatus(SCIP_DISP *disp)
const char * SCIPdispGetName(SCIP_DISP *disp)
const char * SCIPdispGetHeader(SCIP_DISP *disp)
int SCIPdispGetPosition(SCIP_DISP *disp)
int SCIPdispGetPriority(SCIP_DISP *disp)
int SCIPdispGetWidth(SCIP_DISP *disp)
const char * SCIPdispGetDesc(SCIP_DISP *disp)
const char * SCIPexprhdlrGetName(SCIP_EXPRHDLR *exprhdlr)
int SCIPgetNExprhdlrs(SCIP *scip)
unsigned int SCIPexprhdlrGetPrecedence(SCIP_EXPRHDLR *exprhdlr)
const char * SCIPexprhdlrGetDescription(SCIP_EXPRHDLR *exprhdlr)
SCIP_EXPRHDLR ** SCIPgetExprhdlrs(SCIP *scip)
char SCIPheurGetDispchar(SCIP_HEUR *heur)
SCIP_HEUR ** SCIPgetHeurs(SCIP *scip)
const char * SCIPheurGetDesc(SCIP_HEUR *heur)
int SCIPheurGetPriority(SCIP_HEUR *heur)
int SCIPgetNHeurs(SCIP *scip)
int SCIPheurGetFreqofs(SCIP_HEUR *heur)
int SCIPheurGetFreq(SCIP_HEUR *heur)
const char * SCIPheurGetName(SCIP_HEUR *heur)
SCIP_RETCODE SCIPprintLPSolutionQuality(SCIP *scip, FILE *file)
SCIP_RETCODE SCIPwriteMIP(SCIP *scip, const char *filename, SCIP_Bool genericnames, SCIP_Bool origobj, SCIP_Bool lazyconss)
SCIP_RETCODE SCIPwriteLP(SCIP *scip, const char *filename)
void SCIPprintMemoryDiagnostic(SCIP *scip)
#define SCIPfreeBufferArray(scip, ptr)
#define SCIPduplicateBufferArray(scip, ptr, source, num)
#define SCIPfreeBufferArrayNull(scip, ptr)
const char * SCIPnlpiGetDesc(SCIP_NLPI *nlpi)
int SCIPnlpiGetPriority(SCIP_NLPI *nlpi)
const char * SCIPnlpiGetName(SCIP_NLPI *nlpi)
int SCIPgetNNlpis(SCIP *scip)
SCIP_NLPI ** SCIPgetNlpis(SCIP *scip)
SCIP_RETCODE SCIPwriteNLP(SCIP *scip, const char *filename)
SCIP_Bool SCIPisNLPConstructed(SCIP *scip)
SCIP_NODESEL ** SCIPgetNodesels(SCIP *scip)
const char * SCIPnodeselGetDesc(SCIP_NODESEL *nodesel)
int SCIPnodeselGetMemsavePriority(SCIP_NODESEL *nodesel)
int SCIPnodeselGetStdPriority(SCIP_NODESEL *nodesel)
int SCIPgetNNodesels(SCIP *scip)
const char * SCIPnodeselGetName(SCIP_NODESEL *nodesel)
int SCIPpresolGetPriority(SCIP_PRESOL *presol)
SCIP_PRESOL ** SCIPgetPresols(SCIP *scip)
const char * SCIPpresolGetDesc(SCIP_PRESOL *presol)
int SCIPgetNPresols(SCIP *scip)
int SCIPpresolGetMaxrounds(SCIP_PRESOL *presol)
SCIP_PRESOLTIMING SCIPpresolGetTiming(SCIP_PRESOL *presol)
const char * SCIPpresolGetName(SCIP_PRESOL *presol)
const char * SCIPpricerGetDesc(SCIP_PRICER *pricer)
SCIP_Bool SCIPpricerIsDelayed(SCIP_PRICER *pricer)
int SCIPpricerGetPriority(SCIP_PRICER *pricer)
int SCIPgetNPricers(SCIP *scip)
SCIP_PRICER ** SCIPgetPricers(SCIP *scip)
const char * SCIPpricerGetName(SCIP_PRICER *pricer)
void SCIPlinConsStatsFree(SCIP *scip, SCIP_LINCONSSTATS **linconsstats)
void SCIPprintLinConsStats(SCIP *scip, FILE *file, SCIP_LINCONSSTATS *linconsstats)
SCIP_RETCODE SCIPlinConsStatsCreate(SCIP *scip, SCIP_LINCONSSTATS **linconsstats)
SCIP_Bool SCIPpropIsDelayed(SCIP_PROP *prop)
int SCIPpropGetFreq(SCIP_PROP *prop)
int SCIPgetNProps(SCIP *scip)
const char * SCIPpropGetDesc(SCIP_PROP *prop)
int SCIPpropGetPresolPriority(SCIP_PROP *prop)
const char * SCIPpropGetName(SCIP_PROP *prop)
int SCIPpropGetPriority(SCIP_PROP *prop)
SCIP_PROP ** SCIPgetProps(SCIP *scip)
SCIP_PRESOLTIMING SCIPpropGetPresolTiming(SCIP_PROP *prop)
const char * SCIPreaderGetExtension(SCIP_READER *reader)
int SCIPgetNReaders(SCIP *scip)
const char * SCIPreaderGetName(SCIP_READER *reader)
SCIP_Bool SCIPreaderCanRead(SCIP_READER *reader)
SCIP_READER ** SCIPgetReaders(SCIP *scip)
SCIP_Bool SCIPreaderCanWrite(SCIP_READER *reader)
const char * SCIPreaderGetDesc(SCIP_READER *reader)
SCIP_RELAX ** SCIPgetRelaxs(SCIP *scip)
int SCIPgetNRelaxs(SCIP *scip)
int SCIPrelaxGetFreq(SCIP_RELAX *relax)
const char * SCIPrelaxGetName(SCIP_RELAX *relax)
const char * SCIPrelaxGetDesc(SCIP_RELAX *relax)
int SCIPrelaxGetPriority(SCIP_RELAX *relax)
int SCIPgetNSepas(SCIP *scip)
int SCIPsepaGetPriority(SCIP_SEPA *sepa)
SCIP_Real SCIPsepaGetMaxbounddist(SCIP_SEPA *sepa)
int SCIPsepaGetFreq(SCIP_SEPA *sepa)
const char * SCIPsepaGetName(SCIP_SEPA *sepa)
const char * SCIPsepaGetDesc(SCIP_SEPA *sepa)
SCIP_Bool SCIPsepaIsDelayed(SCIP_SEPA *sepa)
SCIP_SEPA ** SCIPgetSepas(SCIP *scip)
SCIP_RETCODE SCIPcheckSolOrig(SCIP *scip, SCIP_SOL *sol, SCIP_Bool *feasible, SCIP_Bool printreason, SCIP_Bool completely)
SCIP_SOL * SCIPgetBestSol(SCIP *scip)
SCIP_RETCODE SCIPprintBestSol(SCIP *scip, FILE *file, SCIP_Bool printzeros)
SCIP_Real SCIPsolGetRelBoundViolation(SCIP_SOL *sol)
SCIP_RETCODE SCIPprintSol(SCIP *scip, SCIP_SOL *sol, FILE *file, SCIP_Bool printzeros)
SCIP_Real SCIPsolGetAbsConsViolation(SCIP_SOL *sol)
SCIP_Real SCIPsolGetAbsBoundViolation(SCIP_SOL *sol)
SCIP_RETCODE SCIPcreateNLPSol(SCIP *scip, SCIP_SOL **sol, SCIP_HEUR *heur)
SCIP_Real SCIPsolGetAbsIntegralityViolation(SCIP_SOL *sol)
SCIP_Real SCIPtransformObj(SCIP *scip, SCIP_Real obj)
int SCIPgetNSols(SCIP *scip)
SCIP_Real SCIPsolGetAbsLPRowViolation(SCIP_SOL *sol)
SCIP_RETCODE SCIPcreateFiniteSolCopy(SCIP *scip, SCIP_SOL **sol, SCIP_SOL *sourcesol, SCIP_Bool *success)
SCIP_RETCODE SCIPprintBestTransSol(SCIP *scip, FILE *file, SCIP_Bool printzeros)
SCIP_Bool SCIPsolIsOriginal(SCIP_SOL *sol)
SCIP_RETCODE SCIPprintMIPStart(SCIP *scip, SCIP_SOL *sol, FILE *file)
SCIP_Real SCIPsolGetRelLPRowViolation(SCIP_SOL *sol)
SCIP_SOL ** SCIPgetSols(SCIP *scip)
SCIP_Real SCIPgetSolVal(SCIP *scip, SCIP_SOL *sol, SCIP_VAR *var)
SCIP_Real SCIPsolGetRelConsViolation(SCIP_SOL *sol)
SCIP_RETCODE SCIPprintDualSol(SCIP *scip, FILE *file, SCIP_Bool printzeros)
SCIP_RETCODE SCIPtransformProb(SCIP *scip)
SCIP_RETCODE SCIPpresolve(SCIP *scip)
SCIP_RETCODE SCIPsolveConcurrent(SCIP *scip)
SCIP_RETCODE SCIPfreeTransform(SCIP *scip)
SCIP_RETCODE SCIPfreeSolve(SCIP *scip, SCIP_Bool restart)
SCIP_RETCODE SCIPsolve(SCIP *scip)
SCIP_RETCODE SCIPprintStatistics(SCIP *scip, FILE *file)
SCIP_RETCODE SCIPprintBranchingStatistics(SCIP *scip, FILE *file)
SCIP_RETCODE SCIPprintTransProblem(SCIP *scip, FILE *file, const char *extension, SCIP_Bool genericnames)
SCIP_RETCODE SCIPprintReoptStatistics(SCIP *scip, FILE *file)
SCIP_RETCODE SCIPprintOrigProblem(SCIP *scip, FILE *file, const char *extension, SCIP_Bool genericnames)
SCIP_Bool SCIPisInfinity(SCIP *scip, SCIP_Real val)
SCIP_RETCODE SCIPchgFeastol(SCIP *scip, SCIP_Real feastol)
SCIP_Real SCIPfeastol(SCIP *scip)
SCIP_Bool SCIPisGT(SCIP *scip, SCIP_Real val1, SCIP_Real val2)
SCIP_Bool SCIPisEQ(SCIP *scip, SCIP_Real val1, SCIP_Real val2)
SCIP_Bool SCIPisLT(SCIP *scip, SCIP_Real val1, SCIP_Real val2)
SCIP_Bool SCIPparseReal(SCIP *scip, const char *str, SCIP_Real *value, char **endptr)
SCIP_RETCODE SCIPvalidateSolve(SCIP *scip, SCIP_Real primalreference, SCIP_Real dualreference, SCIP_Real reftol, SCIP_Bool quiet, SCIP_Bool *feasible, SCIP_Bool *primalboundcheck, SCIP_Bool *dualboundcheck)
SCIP_VARSTATUS SCIPvarGetStatus(SCIP_VAR *var)
SCIP_RETCODE SCIPwriteCliqueGraph(SCIP *scip, const char *fname, SCIP_Bool writenodeweights)
SCIP_Real SCIPvarGetObj(SCIP_VAR *var)
SCIP_Real SCIPvarGetUbGlobal(SCIP_VAR *var)
SCIP_RETCODE SCIPchgVarBranchDirection(SCIP *scip, SCIP_VAR *var, SCIP_BRANCHDIR branchdirection)
SCIP_RETCODE SCIPchgVarBranchPriority(SCIP *scip, SCIP_VAR *var, int branchpriority)
const char * SCIPvarGetName(SCIP_VAR *var)
SCIP_RETCODE SCIPchgVarLbGlobal(SCIP *scip, SCIP_VAR *var, SCIP_Real newbound)
SCIP_BRANCHDIR SCIPvarGetBranchDirection(SCIP_VAR *var)
SCIP_RETCODE SCIPchgVarUbGlobal(SCIP *scip, SCIP_VAR *var, SCIP_Real newbound)
int SCIPvarGetBranchPriority(SCIP_VAR *var)
SCIP_Real SCIPvarGetLbGlobal(SCIP_VAR *var)
void SCIPsortPtr(void **ptrarray, SCIP_DECL_SORTPTRCOMP((*ptrcomp)), int len)
SCIP_Bool SCIPstrToIntValue(const char *str, int *value, char **endptr)
int SCIPsnprintf(char *t, int len, const char *s,...)
void SCIPescapeString(char *t, int bufsize, const char *s)
void SCIPprintSysError(const char *message)
int SCIPstrncpy(char *t, const char *s, int size)
SCIPfreeSol(scip, &heurdata->sol))
assert(minobj< SCIPgetCutoffbound(scip))
static const char * paramname[]
memory allocation routines
#define BMSduplicateMemoryArray(ptr, source, num)
#define BMSfreeMemoryArray(ptr)
void SCIPmessageFPrintInfo(SCIP_MESSAGEHDLR *messagehdlr, FILE *file, const char *formatstr,...)
const char * SCIPparamGetName(SCIP_PARAM *param)
SCIP_Real SCIPparamGetRealMin(SCIP_PARAM *param)
char * SCIPparamGetCharAllowedValues(SCIP_PARAM *param)
SCIP_Bool SCIPparamIsAdvanced(SCIP_PARAM *param)
SCIP_PARAMTYPE SCIPparamGetType(SCIP_PARAM *param)
char * SCIPparamGetString(SCIP_PARAM *param)
int SCIPparamGetIntMin(SCIP_PARAM *param)
void SCIPparamSetFixed(SCIP_PARAM *param, SCIP_Bool fixed)
SCIP_Longint SCIPparamGetLongintMin(SCIP_PARAM *param)
SCIP_Bool SCIPparamGetBool(SCIP_PARAM *param)
const char * SCIPparamGetDesc(SCIP_PARAM *param)
int SCIPparamGetInt(SCIP_PARAM *param)
int SCIPparamGetIntMax(SCIP_PARAM *param)
SCIP_Real SCIPparamGetReal(SCIP_PARAM *param)
char SCIPparamGetChar(SCIP_PARAM *param)
SCIP_Longint SCIPparamGetLongint(SCIP_PARAM *param)
SCIP_Longint SCIPparamGetLongintMax(SCIP_PARAM *param)
SCIP_Real SCIPparamGetRealMax(SCIP_PARAM *param)
SCIP_Bool SCIPparamIsFixed(SCIP_PARAM *param)
public methods for Benders' decomposition
public methods for branching rules
public methods for tree compressions
public methods for conflict analysis handlers
public methods for managing constraints
public methods for cut selectors
public methods for user interface dialog
public methods for displaying runtime statistics
public functions to work with algebraic expressions
public methods for primal heuristics
public methods for message output
public data structures and miscellaneous methods
methods for sorting joint arrays of various types
public methods for node selectors
public methods for handling parameter settings
public methods for presolvers
public methods for variable pricers
public methods for propagators
public methods for input file readers
public methods for relaxation handlers
public methods for separators
public methods for primal CIP solutions
public methods for problem variables
public methods for Benders decomposition
public methods for branching rule plugins and branching
public methods for compression plugins
public methods for conflict handler plugins and conflict analysis
public methods for constraint handler plugins and constraints
public methods for cut selector plugins
public methods for dialog handler plugins
public methods for display handler plugins
public functions to work with algebraic expressions
public methods for primal heuristic plugins and divesets
public methods for the LP relaxation, rows and columns
public methods for memory management
public methods for message handling
public methods for nonlinear relaxation
public methods for NLPI solver interfaces
public methods for node selector plugins
public methods for numerical tolerances
public methods for SCIP parameter handling
public methods for presolving plugins
public methods for variable pricer plugins
public methods for global and local (sub)problems
public methods for propagator plugins
public methods for reader plugins
public methods for relaxator plugins
public methods for separator plugins
public methods for solutions
public methods for querying solving statistics
public methods for validation
public methods for SCIP variables
@ SCIP_BENDERSENFOTYPE_CHECK
@ SCIP_BENDERSSUBTYPE_CONVEXCONT
#define SCIP_DECL_DIALOGCOPY(x)
#define SCIP_DECL_DIALOGEXEC(x)
struct SCIP_DialogData SCIP_DIALOGDATA
#define SCIP_DECL_DIALOGDESC(x)
@ SCIP_BRANCHDIR_DOWNWARDS
@ SCIP_PARAMSETTING_AGGRESSIVE
@ SCIP_PARAMSETTING_DEFAULT
@ SCIP_PARAMEMPHASIS_NUMERICS
@ SCIP_PARAMEMPHASIS_CPSOLVER
@ SCIP_PARAMEMPHASIS_HARDLP
@ SCIP_PARAMEMPHASIS_FEASIBILITY
@ SCIP_PARAMEMPHASIS_BENCHMARK
@ SCIP_PARAMEMPHASIS_EASYCIP
@ SCIP_PARAMEMPHASIS_COUNTER
@ SCIP_PARAMEMPHASIS_OPTIMALITY
enum SCIP_Retcode SCIP_RETCODE
@ SCIP_STAGE_INITPRESOLVE
@ SCIP_STAGE_EXITPRESOLVE
@ SCIP_STAGE_TRANSFORMING
#define SCIP_PRESOLTIMING_MEDIUM
#define SCIP_PRESOLTIMING_FAST
#define SCIP_PRESOLTIMING_EXHAUSTIVE