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 )
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 );
393 printf(
"<%s>\n", str);
395 SCIP_CALL(
SCIPparseCons(
scip, &cons, str,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE, &success) );
447 if( varname[0] ==
'\0' || endoffile )
474 if( boundstr[0] !=
'\0' )
478 bound = strtod(boundstr, &endptr);
479 if( endptr == boundstr || *endptr !=
'\0' )
481 printf(
"<%s> <%s>\n", endptr, boundstr);
502 if( boundstr[0] !=
'\0' )
506 bound = strtod(boundstr, &endptr);
507 if( endptr == boundstr || *endptr !=
'\0' )
513 SCIPdialogMessage(
scip,
NULL,
"ignore new upper bound <%.15g> since it is smaller than the current lower bound <%.15g>\n",
565 if( objsense[0] !=
'\0' && !endoffile )
567 if( strncmp(objsense,
"max", 3) == 0 )
571 else if( strncmp(objsense ,
"min", 3) == 0 )
670 if( filename[0] !=
'\0' )
705 for(
i = 0;
i < nbenders; ++
i )
738 SCIPsortPtr((
void**)sorted, SCIPbranchruleComp, nbranchrules);
744 for(
i = 0;
i < nbranchrules; ++
i )
786 SCIPsortPtr((
void**)sorted, SCIPrelaxComp, nrelaxs);
792 for(
i = 0;
i < nrelaxs; ++
i )
830 SCIPsortPtr((
void**)sorted, SCIPconflicthdlrComp, nconflicthdlrs);
836 for(
i = 0;
i < nconflicthdlrs; ++
i )
873 for(
i = 0;
i < nconshdlrs; ++
i )
914 for(
i = 0;
i < ndisps; ++
i )
966 for(
i = 0;
i < nexprhdlrs; ++
i )
996 for(
i = 0;
i < ncutsels; ++
i )
1029 SCIPsortPtr((
void**)sorted, SCIPheurCompPriority, nheurs);
1035 for(
i = 0;
i < nheurs; ++
i )
1093 SCIPsortPtr((
void**)sorted, SCIPnlpiComp, nnlpis);
1099 for(
i = 0;
i < nnlpis; ++
i )
1138 for(
i = 0;
i < nnodesels; ++
i )
1191 for(
i = 0;
i < npresols; ++
i )
1227 for(
i = 0;
i < npricers; ++
i )
1284 for(
i = 0;
i < nprops; ++
i )
1334 for(
i = 0;
i < nsepas; ++
i )
1376 assert(fixedvars !=
NULL || nfixedvars == 0);
1379 for( v = 0; v < nfixedvars; ++v )
1390If you want SCIP to display an optimal solution without infinite values, use 'display finitesolution'.\n");
1409 if( bestsol !=
NULL )
1509 if ( idx < 0 || idx >= nsols )
1559 if( nactivebenders == 0 )
1569 if( nactivebenders > 1 )
1573 for(
i = 0;
i < nbenders;
i++ )
1578 benders[count] = benders[
i];
1603 if ( idx < 0 || idx >= nactivebenders)
1612 if( nsubproblems > 1 )
1634 if ( subidx < -1 || subidx >= nsubproblems)
1641 nsubdisplay = nsubproblems;
1645 for(
i = 0;
i < nsubdisplay;
i++ )
1647 if( nsubdisplay > 1 )
1704 if( nactivebenders == 0 )
1714 if( nactivebenders > 1 )
1718 for(
i = 0;
i < nbenders;
i++ )
1723 benders[count] = benders[
i];
1750 if ( idx < 0 || idx >= nactivebenders)
1759 if( nsubproblems > 1 )
1783 if ( subidx < -1 || subidx >= nsubproblems)
1792 nsubdisplay = nsubproblems;
1796 for(
i = 0;
i < nsubdisplay;
i++ )
1798 if( nsubdisplay > 1 )
1897 SCIPsortPtr((
void**)sorted, SCIPcomprComp, ncomprs);
1903 for(
i = 0;
i < ncomprs; ++
i )
1972 if( varname[0] !=
'\0' )
2288 if( filename[0] !=
'\0' )
2311 if( extension ==
NULL )
2315 tmpfilename, extension);
2323 if( extension ==
NULL )
2331 "select a suitable reader by extension (or return): ", &extension, &endoffile) );
2333 if( extension[0] ==
'\0' )
2349 while( extension !=
NULL );
2392 if( filename[0] !=
'\0' )
2426 if( filename[0] !=
'\0' )
2463 if( filename[0] !=
'\0' )
2519 if( valuestr[0] ==
'\0' )
2526 SCIPdialogMessage(
scip,
NULL,
"\nInvalid value <%s> for bool parameter <%s>. Must be <0>, <1>, <FALSE>, or <TRUE>.\n\n",
2560 if( valuestr[0] ==
'\0' )
2598 if( valuestr[0] ==
'\0' )
2635 if( valuestr[0] ==
'\0' )
2642 SCIPdialogMessage(
scip,
NULL,
"\nInvalid real parameter value <%s> for parameter <%s>. Must be in range [%.15g,%.15g].\n\n",
2670 if( valuestr[0] ==
'\0' )
2706 if( valuestr[0] ==
'\0' )
2769 if( strchr(valuestr,
'.') ==
NULL && strchr(valuestr,
'e') ==
NULL )
2819 if( valuestr[0] ==
'\0' )
2885 if( valuestr[0] ==
'\0' )
2910 SCIPerrorMessage(
"invalid preferred branching direction <%d> of variable <%s>\n",
2923 if( valuestr[0] ==
'\0' )
2929 if( sscanf(valuestr,
"%d", &direction) != 1 )
2934 if( direction < -1 || direction > +1 )
2941 if( direction == -1 )
2943 else if( direction == 0 )
2978 if( valuestr[0] ==
'\0' )
2999 if( valuestr[0] ==
'\0' )
3005 if( sscanf(valuestr,
"%d", &priority) != 1 )
3307 if( valuestr[0] ==
'\0' )
3364 if( filename[0] !=
'\0' )
3424 if( valuestr[0] ==
'\0' )
3431 "using generic variable and row names (TRUE/FALSE): ",
3432 &valuestr, &endoffile) );
3439 if( valuestr[0] ==
'\0' )
3458 "using original objective function (TRUE/FALSE): ",
3459 &valuestr, &endoffile) );
3466 if( valuestr[0] ==
'\0' )
3484 "output removable rows as lazy constraints (TRUE/FALSE): ",
3485 &valuestr, &endoffile) );
3492 if( valuestr[0] ==
'\0' )
3554 if( filename[0] !=
'\0' )
3631 if( filename[0] !=
'\0' )
3637 file = fopen(filename,
"w");
3682 if( filename[0] !=
'\0' )
3688 file = fopen(filename,
"w");
3738 if( filename[0] !=
'\0' )
3749 "check that the directory exists and that you have correct permissions\n", filename);
3780 if( filename[0] !=
'\0' )
3786 file = fopen(filename,
"w");
3803 if( bestsol !=
NULL )
3858 if( filename[0] !=
'\0' )
3864 file = fopen(filename,
"w");
3937 const char* primaldual[] = {
"primal",
"dual"};
3942 for(
i = 0;
i < 2; ++
i )
3951 if( endoffile || strncmp(refstrs[
i],
"\0", 1) == 0 )
3955 else if( strncmp(refstrs[
i],
"q", 1) == 0 )
4012 SCIPdialogExecMenuLazy,
NULL,
NULL,
4013 "SCIP",
"SCIP's main menu",
TRUE,
NULL) );
4045 "change",
"change the problem",
TRUE,
NULL) );
4060 SCIPdialogExecChangeAddCons,
NULL,
NULL,
4061 "add",
"add constraint",
FALSE,
NULL) );
4071 SCIPdialogExecChangeBounds,
NULL,
NULL,
4072 "bounds",
"change bounds of a variable",
FALSE,
NULL) );
4082 SCIPdialogExecChangeFreetransproblem,
NULL,
NULL,
4083 "freetransproblem",
"free transformed problem",
FALSE,
NULL) );
4093 SCIPdialogExecChangeObjSense,
NULL,
NULL,
4094 "objsense",
"change objective sense",
FALSE,
NULL) );
4104 SCIPdialogExecChecksol,
NULL,
NULL,
4105 "checksol",
"double checks best solution w.r.t. original problem",
FALSE,
NULL) );
4116 "display",
"display information",
TRUE,
NULL) );
4131 SCIPdialogExecDisplayBenders,
NULL,
NULL,
4132 "benders",
"display Benders' decomposition",
FALSE,
NULL) );
4142 SCIPdialogExecDisplayBranching,
NULL,
NULL,
4143 "branching",
"display branching rules",
FALSE,
NULL) );
4153 SCIPdialogExecDisplayCompression,
NULL,
NULL,
4154 "compression",
"display compression techniques",
FALSE,
NULL) );
4164 SCIPdialogExecDisplayConflict,
NULL,
NULL,
4165 "conflict",
"display conflict handlers",
FALSE,
NULL) );
4175 SCIPdialogExecDisplayConshdlrs,
NULL,
NULL,
4176 "conshdlrs",
"display constraint handlers",
FALSE,
NULL) );
4186 SCIPdialogExecDisplayDisplaycols,
NULL,
NULL,
4187 "displaycols",
"display display columns",
FALSE,
NULL) );
4197 SCIPdialogExecDisplayExprhdlrs,
NULL,
NULL,
4198 "exprhdlrs",
"display expression handlers",
FALSE,
NULL) );
4207 SCIPdialogExecDisplayCutselectors,
NULL,
NULL,
4208 "cutselectors",
"display cut selectors",
FALSE,
NULL));
4218 SCIPdialogExecDisplayHeuristics,
NULL,
NULL,
4219 "heuristics",
"display primal heuristics",
FALSE,
NULL) );
4229 SCIPdialogExecDisplayMemory,
NULL,
NULL,
4230 "memory",
"display memory diagnostics",
FALSE,
NULL) );
4240 SCIPdialogExecDisplayNlpi,
NULL,
NULL,
4241 "nlpis",
"display NLP solver interfaces",
FALSE,
NULL) );
4251 SCIPdialogExecDisplayNodeselectors,
NULL,
NULL,
4252 "nodeselectors",
"display node selectors",
FALSE,
NULL) );
4262 SCIPdialogExecDisplayParameters,
NULL,
NULL,
4263 "parameters",
"display non-default parameter settings",
FALSE,
NULL) );
4273 SCIPdialogExecDisplayPresolvers,
NULL,
NULL,
4274 "presolvers",
"display presolvers",
FALSE,
NULL) );
4284 SCIPdialogExecDisplayPricers,
NULL,
NULL,
4285 "pricers",
"display pricers",
FALSE,
NULL) );
4295 SCIPdialogExecDisplayProblem,
NULL,
NULL,
4296 "problem",
"display original problem",
FALSE,
NULL) );
4306 SCIPdialogExecDisplayPropagators,
NULL,
NULL,
4307 "propagators",
"display propagators",
FALSE,
NULL) );
4317 SCIPdialogExecDisplayReaders,
NULL,
NULL,
4318 "readers",
"display file readers",
FALSE,
NULL) );
4328 SCIPdialogExecDisplayRelaxators,
NULL,
NULL,
4329 "relaxators",
"display relaxators",
FALSE,
NULL) );
4339 SCIPdialogExecDisplaySeparators,
NULL,
NULL,
4340 "separators",
"display cut separators",
FALSE,
NULL) );
4350 SCIPdialogExecDisplaySolution,
NULL,
NULL,
4351 "solution",
"display best primal solution",
FALSE,
NULL) );
4361 SCIPdialogExecDisplayFiniteSolution,
NULL,
NULL,
4362 "finitesolution",
"display best primal solution (try to make solution values finite, first)",
FALSE,
NULL) );
4372 SCIPdialogExecDisplayDualSolution,
NULL,
NULL,
4373 "dualsolution",
"display dual solution vector (LP only, without presolving)",
FALSE,
NULL) );
4383 SCIPdialogExecDisplaySolutionPool,
NULL,
NULL,
4384 "sols",
"display solutions from pool",
FALSE,
NULL) );
4394 SCIPdialogExecDisplaySubproblem,
NULL,
NULL,
4395 "subproblem",
"display subproblem of a Benders' decomposition",
FALSE,
NULL) );
4405 SCIPdialogExecDisplaySubSolution,
NULL,
NULL,
4406 "subsolution",
"display solution to the Benders' decomposition subproblems given the best master problem solution",
FALSE,
NULL) );
4416 SCIPdialogExecDisplayStatistics,
NULL,
NULL,
4417 "statistics",
"display problem and optimization statistics",
FALSE,
NULL) );
4427 SCIPdialogExecDisplayReoptStatistics,
NULL,
NULL,
4428 "reoptstatistics",
"display reoptimization statistics",
FALSE,
NULL) );
4438 SCIPdialogExecDisplayTransproblem,
NULL,
NULL,
4439 "transproblem",
"display current node transformed problem",
FALSE,
NULL) );
4449 SCIPdialogExecDisplayValue,
NULL,
NULL,
4450 "value",
"display value of single variable in best primal solution",
FALSE,
NULL) );
4460 SCIPdialogExecDisplayVarbranchstatistics,
NULL,
NULL,
4461 "varbranchstatistics",
"display statistics for branching on variables",
FALSE,
NULL) );
4471 SCIPdialogExecDisplayLPSolutionQuality,
NULL,
NULL,
4472 "lpsolquality",
"display quality of the current LP solution, if available",
FALSE,
NULL) );
4482 SCIPdialogExecDisplayTranssolution,
NULL,
NULL,
4483 "transsolution",
"display best primal solution in transformed variables",
FALSE,
NULL) );
4493 SCIPdialogExecDisplayLinearConsClassification,
NULL,
NULL,
4494 "linclass",
"linear constraint classification as used for MIPLIB",
FALSE,
NULL) );
4505 "free",
"free current problem from memory",
FALSE,
NULL) );
4516 "help",
"display this help",
FALSE,
NULL) );
4526 SCIPdialogExecNewstart,
NULL,
NULL,
4527 "newstart",
"reset branch and bound tree to start again from root",
FALSE,
NULL) );
4538 SCIPdialogExecTransform,
NULL,
NULL,
4539 "transform",
"transforms problem from original state",
FALSE,
NULL) );
4550 SCIPdialogExecOptimize,
NULL,
NULL,
4551 "optimize",
"solve the problem",
FALSE,
NULL) );
4561 SCIPdialogExecConcurrentOpt,
NULL,
NULL,
4562 "concurrentopt",
"solve the problem using concurrent solvers",
FALSE,
NULL) );
4572 SCIPdialogExecPresolve,
NULL,
NULL,
4573 "presolve",
"solve the problem, but stop after presolving stage",
FALSE,
NULL) );
4595 "read",
"read a problem",
FALSE,
NULL) );
4606 "write",
"write information to file",
TRUE,
NULL) );
4622 "lp",
"write current node LP relaxation in LP format to file",
FALSE,
NULL) );
4632 SCIPdialogExecWriteMip,
NULL,
NULL,
4633 "mip",
"write current node MIP relaxation in LP format to file",
FALSE,
NULL) );
4643 SCIPdialogExecWriteNlp,
NULL,
NULL,
4644 "nlp",
"write current node NLP relaxation to file",
FALSE,
NULL) );
4654 SCIPdialogExecWriteProblem,
NULL,
NULL,
4656 "write original problem to file (format is given by file extension, e.g., orig.{lp,rlp,cip,mps})",
4667 SCIPdialogExecWriteGenProblem,
NULL,
NULL,
4669 "write original problem with generic names to file (format is given by file extension, e.g., orig.{lp,rlp,cip,mps})",
4680 SCIPdialogExecWriteSolution,
NULL,
NULL,
4681 "solution",
"write best primal solution to file",
FALSE,
NULL) );
4691 SCIPdialogExecWriteFiniteSolution,
NULL,
NULL,
4692 "finitesolution",
"write best primal solution to file (try to make solution values finite, first)",
FALSE,
NULL) );
4702 SCIPdialogExecWriteMIPStart,
NULL,
NULL,
4703 "mipstart",
"write mip start to file",
FALSE,
NULL) );
4713 SCIPdialogExecWriteStatistics,
NULL,
NULL,
4714 "statistics",
"write statistics to file",
FALSE,
NULL) );
4724 SCIPdialogExecWriteTransproblem,
NULL,
NULL,
4726 "write current node transformed problem to file (format is given by file extension, e.g., trans.{lp,rlp,cip,mps})",
4737 SCIPdialogExecWriteGenTransproblem,
NULL,
NULL,
4739 "write current node transformed problem with generic names to file (format is given by file extension, e.g., trans.{lp,rlp,cip,mps})",
4750 SCIPdialogExecCliquegraph,
NULL,
NULL,
4752 "write graph of cliques and implications of binary variables to GML file (better call after presolving)",
4763 SCIPdialogExecWriteCommandHistory,
NULL,
NULL,
4765 "write command line history to a file (only works if SCIP was compiled with 'readline')",
4776 "validate the solution against external objective reference interval",
4830 if( advmenu ==
NULL )
4841 SCIPdialogExecSetParam, SCIPdialogDescSetParam,
NULL,
4852 SCIPdialogExecSetParam, SCIPdialogDescSetParam,
NULL,
4883 if( submenu ==
NULL )
4941 if( advmenu ==
NULL )
4952 SCIPdialogExecFixParam, SCIPdialogDescFixParam,
NULL,
4963 SCIPdialogExecFixParam, SCIPdialogDescFixParam,
NULL,
4994 if( submenu ==
NULL )
5019 "emphasis",
"predefined parameter settings",
TRUE,
NULL) );
5088 "set",
"load/save/change parameters",
TRUE,
NULL) );
5103 SCIPdialogExecSetDefault,
NULL,
NULL,
5104 "default",
"reset parameter settings to their default values",
FALSE,
NULL) );
5115 "load",
"load parameter settings from a file",
FALSE,
NULL) );
5126 "save",
"save parameter settings to a file",
FALSE,
NULL) );
5136 SCIPdialogExecSetDiffsave,
NULL,
NULL,
5137 "diffsave",
"save non-default parameter settings to a file",
FALSE,
NULL) );
5148 "branching",
"change parameters for branching rules",
TRUE,
NULL) );
5161 for(
i = 0;
i < nbranchrules; ++
i )
5179 SCIPdialogExecSetBranchingPriority,
NULL,
NULL,
5180 "priority",
"change branching priority of a single variable",
FALSE,
NULL) );
5190 SCIPdialogExecSetBranchingDirection,
NULL,
NULL,
5191 "direction",
"change preferred branching direction of a single variable (-1:down, 0:auto, +1:up)",
5203 "conflict",
"change parameters for conflict handlers",
TRUE,
NULL) );
5216 for(
i = 0;
i < nconflicthdlrs; ++
i )
5235 "constraints",
"change parameters for constraint handlers",
TRUE,
NULL) );
5248 for(
i = 0;
i < nconshdlrs; ++
i )
5267 "cutselection",
"change parameters for cut selectors",
TRUE,
NULL) );
5280 for(
i = 0;
i < ncutsels; ++
i )
5299 "display",
"change parameters for display columns",
TRUE,
NULL) );
5312 for(
i = 0;
i < ndisps; ++
i )
5330 "estimation",
"change parameters for restarts and tree size estimation",
TRUE,
NULL) );
5340 "expr",
"change parameters for expression handlers",
TRUE,
NULL) );
5351 "heuristics",
"change parameters for primal heuristics",
TRUE,
NULL) );
5364 for(
i = 0;
i < nheurs; ++
i )
5385 NULL, SCIPdialogExecSetHeuristicsAggressive,
NULL,
NULL,
5386 "aggressive",
"sets heuristics <aggressive>",
FALSE,
NULL) );
5396 "default",
"sets heuristics settings to <default> ",
FALSE,
NULL) );
5406 "fast",
"sets heuristics <fast>",
FALSE,
NULL) );
5416 "off",
"turns <off> all heuristics",
FALSE,
NULL) );
5427 "limits",
"change parameters for time, memory, objective value, and other limits",
TRUE,
NULL) );
5432 SCIPdialogExecSetLimitsObjective,
NULL,
NULL,
5433 "objective",
"set limit on objective function, such that only solutions better than this limit are accepted",
FALSE,
NULL) );
5446 "lp",
"change parameters for linear programming relaxations",
TRUE,
NULL) );
5457 "nlp",
"change parameters for nonlinear programming relaxation",
TRUE,
NULL) );
5468 "memory",
"change parameters for memory management",
TRUE,
NULL) );
5479 "misc",
"change parameters for miscellaneous stuff",
TRUE,
NULL) );
5489 "nlhdlr",
"change parameters for nonlinear handlers",
TRUE,
NULL) );
5500 "nlpi",
"change parameters for NLP solver interfaces",
TRUE,
NULL) );
5513 for(
i = 0;
i < nnlpis; ++
i )
5532 "nodeselection",
"change parameters for node selectors",
TRUE,
NULL) );
5545 for(
i = 0;
i < nnodesels; ++
i )
5564 "numerics",
"change parameters for numerical values",
TRUE,
NULL) );
5575 "parallel",
"change parameters for parallel implementation",
TRUE,
NULL) );
5586 "presolving",
"change parameters for presolving",
TRUE,
NULL) );
5599 for(
i = 0;
i < npresols; ++
i )
5619 NULL, SCIPdialogExecSetPresolvingAggressive,
NULL,
NULL,
5620 "aggressive",
"sets presolving <aggressive>",
FALSE,
NULL) );
5630 "default",
"sets presolving settings to <default>",
FALSE,
NULL) );
5640 "fast",
"sets presolving <fast>",
FALSE,
NULL) );
5650 "off",
"turns <off> all presolving",
FALSE,
NULL) );
5661 "pricing",
"change parameters for pricing variables",
TRUE,
NULL) );
5674 for(
i = 0;
i < npricers; ++
i )
5693 "propagating",
"change parameters for constraint propagation",
TRUE,
NULL) );
5704 "reading",
"change parameters for problem file readers",
TRUE,
NULL) );
5717 for(
i = 0;
i < nreaders; ++
i )
5735 "separating",
"change parameters for cut separators",
TRUE,
NULL) );
5748 for(
i = 0;
i < nsepas; ++
i )
5768 NULL, SCIPdialogExecSetSeparatingAggressive,
NULL,
NULL,
5769 "aggressive",
"sets separating <aggressive>",
FALSE,
NULL) );
5779 "default",
"sets separating settings to <default>",
FALSE,
NULL) );
5789 "fast",
"sets separating <fast>",
FALSE,
NULL) );
5799 "off",
"turns <off> all separation",
FALSE,
NULL) );
5809 "timing",
"change parameters for timing issues",
TRUE,
NULL) );
5819 "visual",
"change parameters for visualization output",
TRUE,
NULL) );
5832 for(
i = 0;
i < nparams; ++
i )
5847 "counter",
"predefined parameter settings for a \"feasible\" and \"fast\" counting process",
FALSE,
NULL) );
5856 "cpsolver",
"predefined parameter settings for CP like search",
FALSE,
NULL) );
5865 "easycip",
"predefined parameter settings for easy problems",
FALSE,
NULL) );
5874 "feasibility",
"predefined parameter settings for feasibility problems",
FALSE,
NULL) );
5883 "hardlp",
"predefined parameter settings for problems with a hard LP",
FALSE,
NULL) );
5892 "optimality",
"predefined parameter settings for proving optimality fast",
FALSE,
NULL) );
5901 "numerics",
"predefined parameter settings for increased numerical stability",
FALSE,
NULL) );
5910 "benchmark",
"predefined parameter settings for running in benchmark mode",
FALSE,
NULL) );
5970 "fix",
"fix/unfix parameters",
TRUE,
NULL) );
5986 "branching",
"fix parameters for branching rules",
TRUE,
NULL) );
5999 for(
i = 0;
i < nbranchrules; ++
i )
6018 "conflict",
"fix parameters for conflict handlers",
TRUE,
NULL) );
6031 for(
i = 0;
i < nconflicthdlrs; ++
i )
6050 "constraints",
"fix parameters for constraint handlers",
TRUE,
NULL) );
6063 for(
i = 0;
i < nconshdlrs; ++
i )
6082 "cutselection",
"fix parameters for cut selectors",
TRUE,
NULL) );
6095 for(
i = 0;
i < ncutsels; ++
i )
6114 "display",
"fix parameters for display columns",
TRUE,
NULL) );
6127 for(
i = 0;
i < ndisps; ++
i )
6146 "heuristics",
"fix parameters for primal heuristics",
TRUE,
NULL) );
6159 for(
i = 0;
i < nheurs; ++
i )
6178 "limits",
"fix parameters for time, memory, objective value, and other limits",
TRUE,
NULL) );
6190 "lp",
"fix parameters for linear programming relaxations",
TRUE,
NULL) );
6201 "nlp",
"fix parameters for nonlinear programming relaxations",
TRUE,
NULL) );
6212 "memory",
"fix parameters for memory management",
TRUE,
NULL) );
6223 "misc",
"fix parameters for miscellaneous stuff",
TRUE,
NULL) );
6234 "nlpi",
"fix parameters for NLP solver interfaces",
TRUE,
NULL) );
6247 for(
i = 0;
i < nnlpis; ++
i )
6266 "nodeselection",
"fix parameters for node selectors",
TRUE,
NULL) );
6279 for(
i = 0;
i < nnodesels; ++
i )
6298 "numerics",
"fix parameters for numerical values",
TRUE,
NULL) );
6309 "presolving",
"fix parameters for presolving",
TRUE,
NULL) );
6322 for(
i = 0;
i < npresols; ++
i )
6340 "pricing",
"fix parameters for pricing variables",
TRUE,
NULL) );
6353 for(
i = 0;
i < npricers; ++
i )
6372 "propagating",
"fix parameters for constraint propagation",
TRUE,
NULL) );
6383 "reading",
"fix parameters for problem file readers",
TRUE,
NULL) );
6396 for(
i = 0;
i < nreaders; ++
i )
6414 "separating",
"fix parameters for cut separators",
TRUE,
NULL) );
6427 for(
i = 0;
i < nsepas; ++
i )
6444 "timing",
"fix parameters for timing issues",
TRUE,
NULL) );
6454 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
struct SCIP_Benders SCIP_BENDERS
@ SCIP_BENDERSENFOTYPE_CHECK
@ SCIP_BENDERSSUBTYPE_CONVEXCONT
struct SCIP_Branchrule SCIP_BRANCHRULE
struct SCIP_Compr SCIP_COMPR
struct SCIP_Conflicthdlr SCIP_CONFLICTHDLR
struct SCIP_Cons SCIP_CONS
struct SCIP_LinConsStats SCIP_LINCONSSTATS
struct SCIP_Conshdlr SCIP_CONSHDLR
struct SCIP_Cutsel SCIP_CUTSEL
struct SCIP_Dialog SCIP_DIALOG
#define SCIP_DECL_DIALOGCOPY(x)
#define SCIP_DECL_DIALOGEXEC(x)
struct SCIP_DialogData SCIP_DIALOGDATA
struct SCIP_Dialoghdlr SCIP_DIALOGHDLR
#define SCIP_DECL_DIALOGDESC(x)
struct SCIP_Disp SCIP_DISP
struct SCIP_Exprhdlr SCIP_EXPRHDLR
struct SCIP_Heur SCIP_HEUR
@ SCIP_BRANCHDIR_DOWNWARDS
struct SCIP_Nlpi SCIP_NLPI
struct SCIP_Nodesel SCIP_NODESEL
@ 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
struct SCIP_Param SCIP_PARAM
struct SCIP_Presol SCIP_PRESOL
struct SCIP_Pricer SCIP_PRICER
struct SCIP_Prop SCIP_PROP
struct SCIP_Reader SCIP_READER
struct SCIP_Relax SCIP_RELAX
enum SCIP_Retcode SCIP_RETCODE
struct SCIP_Sepa SCIP_SEPA
@ SCIP_STAGE_INITPRESOLVE
@ SCIP_STAGE_EXITPRESOLVE
@ SCIP_STAGE_TRANSFORMING
#define SCIP_PRESOLTIMING_MEDIUM
#define SCIP_PRESOLTIMING_FAST
#define SCIP_PRESOLTIMING_EXHAUSTIVE