129 if( command[0] ==
'\0' )
134 else if( strcmp(command,
"..") == 0 )
137 if( *nextdialog ==
NULL )
150 *nextdialog = dialog;
152 else if( nfound >= 2 )
171 const char* valuestr,
181 switch( valuestr[0] )
225 for(
r = 0;
r < nreaders; ++
r )
263 if( filename[0] !=
'\0' )
296 if( extension ==
NULL )
304 "select a suitable reader by extension (or return): ", &extension, &endoffile) );
306 if( extension[0] ==
'\0' )
328 while( extension !=
NULL );
399 printf(
"<%s>\n", str);
401 SCIP_CALL(
SCIPparseCons(
scip, &cons, str,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE, &success) );
453 if( varname[0] ==
'\0' || endoffile )
480 if( boundstr[0] !=
'\0' )
484 bound = strtod(boundstr, &endptr);
485 if( endptr == boundstr || *endptr !=
'\0' )
487 printf(
"<%s> <%s>\n", endptr, boundstr);
508 if( boundstr[0] !=
'\0' )
512 bound = strtod(boundstr, &endptr);
513 if( endptr == boundstr || *endptr !=
'\0' )
519 SCIPdialogMessage(
scip,
NULL,
"ignore new upper bound <%.15g> since it is smaller than the current lower bound <%.15g>\n",
571 if( objsense[0] !=
'\0' && !endoffile )
573 if( strncmp(objsense,
"max", 3) == 0 )
577 else if( strncmp(objsense ,
"min", 3) == 0 )
676 if( filename[0] !=
'\0' )
711 for(
i = 0;
i < nbenders; ++
i )
744 SCIPsortPtr((
void**)sorted, SCIPbranchruleComp, nbranchrules);
750 for(
i = 0;
i < nbranchrules; ++
i )
792 SCIPsortPtr((
void**)sorted, SCIPrelaxComp, nrelaxs);
798 for(
i = 0;
i < nrelaxs; ++
i )
836 SCIPsortPtr((
void**)sorted, SCIPconflicthdlrComp, nconflicthdlrs);
842 for(
i = 0;
i < nconflicthdlrs; ++
i )
879 for(
i = 0;
i < nconshdlrs; ++
i )
920 for(
i = 0;
i < ndisps; ++
i )
972 for(
i = 0;
i < nexprhdlrs; ++
i )
1002 for(
i = 0;
i < ncutsels; ++
i )
1035 SCIPsortPtr((
void**)sorted, SCIPheurCompPriority, nheurs);
1041 for(
i = 0;
i < nheurs; ++
i )
1126 SCIPsortPtr((
void**)sorted, SCIPnlpiComp, nnlpis);
1132 for(
i = 0;
i < nnlpis; ++
i )
1171 for(
i = 0;
i < nnodesels; ++
i )
1224 for(
i = 0;
i < npresols; ++
i )
1260 for(
i = 0;
i < npricers; ++
i )
1317 for(
i = 0;
i < nprops; ++
i )
1367 for(
i = 0;
i < nsepas; ++
i )
1409 assert(fixedvars !=
NULL || nfixedvars == 0);
1412 for( v = 0; v < nfixedvars; ++v )
1423If you want SCIP to display an optimal solution without infinite values, use 'display finitesolution'.\n");
1442 if( bestsol !=
NULL )
1542 if ( idx < 0 || idx >= nsols )
1592 if( nactivebenders == 0 )
1602 if( nactivebenders > 1 )
1606 for(
i = 0;
i < nbenders;
i++ )
1611 benders[count] = benders[
i];
1636 if ( idx < 0 || idx >= nactivebenders)
1645 if( nsubproblems > 1 )
1667 if ( subidx < -1 || subidx >= nsubproblems)
1674 nsubdisplay = nsubproblems;
1678 for(
i = 0;
i < nsubdisplay;
i++ )
1680 if( nsubdisplay > 1 )
1737 if( nactivebenders == 0 )
1747 if( nactivebenders > 1 )
1751 for(
i = 0;
i < nbenders;
i++ )
1756 benders[count] = benders[
i];
1783 if ( idx < 0 || idx >= nactivebenders)
1792 if( nsubproblems > 1 )
1816 if ( subidx < -1 || subidx >= nsubproblems)
1825 nsubdisplay = nsubproblems;
1829 for(
i = 0;
i < nsubdisplay;
i++ )
1831 if( nsubdisplay > 1 )
1888 SCIP* bendersmasterprob;
1898 if( bendersmasterprob !=
NULL )
1965 SCIPsortPtr((
void**)sorted, SCIPcomprComp, ncomprs);
1971 for(
i = 0;
i < ncomprs; ++
i )
2040 if( varname[0] !=
'\0' )
2392 SCIPdialogMessage(
scip,
NULL,
"SCIP is in some intermediate solving stage, i.e., not PROBLEM or SOLVED. An IIS therefore cannot be computed.\n");
2443 if( filename[0] !=
'\0' )
2466 if( extension ==
NULL )
2470 tmpfilename, extension);
2478 if( extension ==
NULL )
2486 "select a suitable reader by extension (or return): ", &extension, &endoffile) );
2488 if( extension[0] ==
'\0' )
2504 while( extension !=
NULL );
2547 if( filename[0] !=
'\0' )
2581 if( filename[0] !=
'\0' )
2618 if( filename[0] !=
'\0' )
2674 if( valuestr[0] ==
'\0' )
2681 SCIPdialogMessage(
scip,
NULL,
"\nInvalid value <%s> for bool parameter <%s>. Must be <0>, <1>, <FALSE>, or <TRUE>.\n\n",
2715 if( valuestr[0] ==
'\0' )
2753 if( valuestr[0] ==
'\0' )
2790 if( valuestr[0] ==
'\0' )
2797 SCIPdialogMessage(
scip,
NULL,
"\nInvalid real parameter value <%s> for parameter <%s>. Must be in range [%.15g,%.15g].\n\n",
2825 if( valuestr[0] ==
'\0' )
2861 if( valuestr[0] ==
'\0' )
2924 if( strchr(valuestr,
'.') ==
NULL && strchr(valuestr,
'e') ==
NULL )
2974 if( valuestr[0] ==
'\0' )
3040 if( valuestr[0] ==
'\0' )
3065 SCIPerrorMessage(
"invalid preferred branching direction <%d> of variable <%s>\n",
3078 if( valuestr[0] ==
'\0' )
3084 if( sscanf(valuestr,
"%d", &direction) != 1 )
3089 if( direction < -1 || direction > +1 )
3096 if( direction == -1 )
3098 else if( direction == 0 )
3133 if( valuestr[0] ==
'\0' )
3154 if( valuestr[0] ==
'\0' )
3160 if( sscanf(valuestr,
"%d", &priority) != 1 )
3462 if( valuestr[0] ==
'\0' )
3519 if( filename[0] !=
'\0' )
3579 if( valuestr[0] ==
'\0' )
3586 "using generic variable and row names (TRUE/FALSE): ",
3587 &valuestr, &endoffile) );
3594 if( valuestr[0] ==
'\0' )
3613 "using original objective function (TRUE/FALSE): ",
3614 &valuestr, &endoffile) );
3621 if( valuestr[0] ==
'\0' )
3639 "output removable rows as lazy constraints (TRUE/FALSE): ",
3640 &valuestr, &endoffile) );
3647 if( valuestr[0] ==
'\0' )
3709 if( filename[0] !=
'\0' )
3786 if( filename[0] !=
'\0' )
3792 file = fopen(filename,
"w");
3837 if( filename[0] !=
'\0' )
3843 file = fopen(filename,
"w");
3893 if( filename[0] !=
'\0' )
3904 "check that the directory exists and that you have correct permissions\n", filename);
3935 if( filename[0] !=
'\0' )
3941 file = fopen(filename,
"w");
3958 if( bestsol !=
NULL )
4013 if( filename[0] !=
'\0' )
4019 file = fopen(filename,
"w");
4100 if( subscip !=
NULL )
4127 const char* primaldual[] = {
"primal",
"dual"};
4137 for(
i = 0;
i < 2; ++
i )
4146 if( endoffile || strncmp(refstrs[
i],
"\0", 1) == 0 )
4150 else if( strncmp(refstrs[
i],
"q", 1) == 0 )
4225 SCIPdialogExecMenuLazy,
NULL,
NULL,
4226 "SCIP",
"SCIP's main menu",
TRUE,
NULL) );
4258 "change",
"change the problem",
TRUE,
NULL) );
4273 SCIPdialogExecChangeAddCons,
NULL,
NULL,
4274 "add",
"add constraint",
FALSE,
NULL) );
4284 SCIPdialogExecChangeBounds,
NULL,
NULL,
4285 "bounds",
"change bounds of a variable",
FALSE,
NULL) );
4295 SCIPdialogExecChangeFreetransproblem,
NULL,
NULL,
4296 "freetransproblem",
"free transformed problem",
FALSE,
NULL) );
4306 SCIPdialogExecChangeObjSense,
NULL,
NULL,
4307 "objsense",
"change objective sense",
FALSE,
NULL) );
4317 SCIPdialogExecChecksol,
NULL,
NULL,
4318 "checksol",
"double checks best solution w.r.t. original problem",
FALSE,
NULL) );
4329 "display",
"display information",
TRUE,
NULL) );
4344 SCIPdialogExecDisplayBenders,
NULL,
NULL,
4345 "benders",
"display Benders' decomposition",
FALSE,
NULL) );
4355 SCIPdialogExecDisplayBranching,
NULL,
NULL,
4356 "branching",
"display branching rules",
FALSE,
NULL) );
4366 SCIPdialogExecDisplayCompression,
NULL,
NULL,
4367 "compression",
"display compression techniques",
FALSE,
NULL) );
4377 SCIPdialogExecDisplayConflict,
NULL,
NULL,
4378 "conflict",
"display conflict handlers",
FALSE,
NULL) );
4388 SCIPdialogExecDisplayConshdlrs,
NULL,
NULL,
4389 "conshdlrs",
"display constraint handlers",
FALSE,
NULL) );
4399 SCIPdialogExecDisplayDisplaycols,
NULL,
NULL,
4400 "displaycols",
"display display columns",
FALSE,
NULL) );
4410 SCIPdialogExecDisplayExprhdlrs,
NULL,
NULL,
4411 "exprhdlrs",
"display expression handlers",
FALSE,
NULL) );
4420 SCIPdialogExecDisplayCutselectors,
NULL,
NULL,
4421 "cutselectors",
"display cut selectors",
FALSE,
NULL));
4431 SCIPdialogExecDisplayHeuristics,
NULL,
NULL,
4432 "heuristics",
"display primal heuristics",
FALSE,
NULL) );
4442 SCIPdialogExecDisplayIIS,
NULL,
NULL,
4443 "iis",
"display iis of problem",
FALSE,
NULL) );
4453 SCIPdialogExecDisplayMemory,
NULL,
NULL,
4454 "memory",
"display memory diagnostics",
FALSE,
NULL) );
4464 SCIPdialogExecDisplayNlpi,
NULL,
NULL,
4465 "nlpis",
"display NLP solver interfaces",
FALSE,
NULL) );
4475 SCIPdialogExecDisplayNodeselectors,
NULL,
NULL,
4476 "nodeselectors",
"display node selectors",
FALSE,
NULL) );
4486 SCIPdialogExecDisplayParameters,
NULL,
NULL,
4487 "parameters",
"display non-default parameter settings",
FALSE,
NULL) );
4497 SCIPdialogExecDisplayPresolvers,
NULL,
NULL,
4498 "presolvers",
"display presolvers",
FALSE,
NULL) );
4508 SCIPdialogExecDisplayPricers,
NULL,
NULL,
4509 "pricers",
"display pricers",
FALSE,
NULL) );
4519 SCIPdialogExecDisplayProblem,
NULL,
NULL,
4520 "problem",
"display original problem",
FALSE,
NULL) );
4530 SCIPdialogExecDisplayPropagators,
NULL,
NULL,
4531 "propagators",
"display propagators",
FALSE,
NULL) );
4541 SCIPdialogExecDisplayReaders,
NULL,
NULL,
4542 "readers",
"display file readers",
FALSE,
NULL) );
4552 SCIPdialogExecDisplayRelaxators,
NULL,
NULL,
4553 "relaxators",
"display relaxators",
FALSE,
NULL) );
4563 SCIPdialogExecDisplaySeparators,
NULL,
NULL,
4564 "separators",
"display cut separators",
FALSE,
NULL) );
4574 SCIPdialogExecDisplaySolution,
NULL,
NULL,
4575 "solution",
"display best primal solution",
FALSE,
NULL) );
4585 SCIPdialogExecDisplayFiniteSolution,
NULL,
NULL,
4586 "finitesolution",
"display best primal solution (try to make solution values finite, first)",
FALSE,
NULL) );
4596 SCIPdialogExecDisplayDualSolution,
NULL,
NULL,
4597 "dualsolution",
"display dual solution vector (LP only, without presolving)",
FALSE,
NULL) );
4607 SCIPdialogExecDisplaySolutionPool,
NULL,
NULL,
4608 "sols",
"display solutions from pool",
FALSE,
NULL) );
4618 SCIPdialogExecDisplaySubproblem,
NULL,
NULL,
4619 "subproblem",
"display subproblem of a Benders' decomposition",
FALSE,
NULL) );
4629 SCIPdialogExecDisplaySubSolution,
NULL,
NULL,
4630 "subsolution",
"display solution to the Benders' decomposition subproblems given the best master problem solution",
FALSE,
NULL) );
4640 SCIPdialogExecDisplayStatistics,
NULL,
NULL,
4641 "statistics",
"display problem and optimization statistics",
FALSE,
NULL) );
4651 SCIPdialogExecDisplaySymmetry,
NULL,
NULL,
4652 "symmetry",
"display generators of symmetry group in cycle notation, if available",
FALSE,
NULL) );
4662 SCIPdialogExecDisplayReoptStatistics,
NULL,
NULL,
4663 "reoptstatistics",
"display reoptimization statistics",
FALSE,
NULL) );
4673 SCIPdialogExecDisplayTransproblem,
NULL,
NULL,
4674 "transproblem",
"display current node transformed problem",
FALSE,
NULL) );
4684 SCIPdialogExecDisplayValue,
NULL,
NULL,
4685 "value",
"display value of single variable in best primal solution",
FALSE,
NULL) );
4695 SCIPdialogExecDisplayVarbranchstatistics,
NULL,
NULL,
4696 "varbranchstatistics",
"display statistics for branching on variables",
FALSE,
NULL) );
4706 SCIPdialogExecDisplayLPSolutionQuality,
NULL,
NULL,
4707 "lpsolquality",
"display quality of the current LP solution, if available",
FALSE,
NULL) );
4717 SCIPdialogExecDisplayTranssolution,
NULL,
NULL,
4718 "transsolution",
"display best primal solution in transformed variables",
FALSE,
NULL) );
4728 SCIPdialogExecDisplayLinearConsClassification,
NULL,
NULL,
4729 "linclass",
"linear constraint classification as used for MIPLIB",
FALSE,
NULL) );
4740 "free",
"free current problem from memory",
FALSE,
NULL) );
4751 "help",
"display this help (add <command> to show information on specific command)",
FALSE,
NULL) );
4761 SCIPdialogExecNewstart,
NULL,
NULL,
4762 "newstart",
"reset branch and bound tree to start again from root",
FALSE,
NULL) );
4773 SCIPdialogExecTransform,
NULL,
NULL,
4774 "transform",
"transforms problem from original state",
FALSE,
NULL) );
4785 SCIPdialogExecOptimize,
NULL,
NULL,
4786 "optimize",
"solve the problem",
FALSE,
NULL) );
4796 SCIPdialogExecConcurrentOpt,
NULL,
NULL,
4797 "concurrentopt",
"solve the problem using concurrent solvers",
FALSE,
NULL) );
4807 SCIPdialogExecPresolve,
NULL,
NULL,
4808 "presolve",
"solve the problem, but stop after presolving stage",
FALSE,
NULL) );
4819 "iis",
"compute an (I)IS for an infeasible problem, i.e., an (irreducible) infeasible set.",
FALSE,
NULL) );
4830 "quit",
"leave SCIP (<exit> works as well)",
FALSE,
NULL) );
4856 "read",
"read a problem",
FALSE,
NULL) );
4867 "write",
"write information to file",
TRUE,
NULL) );
4883 "lp",
"write current node LP relaxation in LP format to file",
FALSE,
NULL) );
4893 SCIPdialogExecWriteMip,
NULL,
NULL,
4894 "mip",
"write current node MIP relaxation in LP format to file",
FALSE,
NULL) );
4904 SCIPdialogExecWriteNlp,
NULL,
NULL,
4905 "nlp",
"write current node NLP relaxation to file",
FALSE,
NULL) );
4915 SCIPdialogExecWriteProblem,
NULL,
NULL,
4917 "write original problem to file (format is given by file extension, e.g., orig.{lp,rlp,cip,mps})",
4928 SCIPdialogExecWriteGenProblem,
NULL,
NULL,
4930 "write original problem with generic names to file (format is given by file extension, e.g., orig.{lp,rlp,cip,mps})",
4941 SCIPdialogExecWriteSolution,
NULL,
NULL,
4942 "solution",
"write best primal solution to file",
FALSE,
NULL) );
4952 SCIPdialogExecWriteFiniteSolution,
NULL,
NULL,
4953 "finitesolution",
"write best primal solution to file (try to make solution values finite, first)",
FALSE,
NULL) );
4963 SCIPdialogExecWriteMIPStart,
NULL,
NULL,
4964 "mipstart",
"write mip start to file",
FALSE,
NULL) );
4974 SCIPdialogExecWriteStatistics,
NULL,
NULL,
4975 "statistics",
"write statistics to file",
FALSE,
NULL) );
4985 SCIPdialogExecWriteTransproblem,
NULL,
NULL,
4987 "write current node transformed problem to file (format is given by file extension, e.g., trans.{lp,rlp,cip,mps})",
4998 SCIPdialogExecWriteGenTransproblem,
NULL,
NULL,
5000 "write current node transformed problem with generic names to file (format is given by file extension, e.g., trans.{lp,rlp,cip,mps})",
5011 SCIPdialogExecCliquegraph,
NULL,
NULL,
5013 "write graph of cliques and implications of binary variables to GML file (better call after presolving)",
5024 SCIPdialogExecWriteCommandHistory,
NULL,
NULL,
5026 "write command line history to a file (only works if SCIP was compiled with 'readline')",
5037 SCIPdialogExecWriteIIS,
NULL,
NULL,
5039 "write (I)IS (irreducible infeasible subsystem) of infeasible problem to file (format is given by file extension (e.g., {.cip, .lp, .mps}))",
5050 "validate the solution against external objective reference interval",
5104 if( advmenu ==
NULL )
5115 SCIPdialogExecSetParam, SCIPdialogDescSetParam,
NULL,
5126 SCIPdialogExecSetParam, SCIPdialogDescSetParam,
NULL,
5157 if( submenu ==
NULL )
5215 if( advmenu ==
NULL )
5226 SCIPdialogExecFixParam, SCIPdialogDescFixParam,
NULL,
5237 SCIPdialogExecFixParam, SCIPdialogDescFixParam,
NULL,
5268 if( submenu ==
NULL )
5293 "emphasis",
"predefined parameter settings",
TRUE,
NULL) );
5362 "set",
"load/save/change parameters",
TRUE,
NULL) );
5377 SCIPdialogExecSetDefault,
NULL,
NULL,
5378 "default",
"reset parameter settings to their default values",
FALSE,
NULL) );
5389 "load",
"load parameter settings from a file",
FALSE,
NULL) );
5400 "save",
"save parameter settings to a file",
FALSE,
NULL) );
5410 SCIPdialogExecSetDiffsave,
NULL,
NULL,
5411 "diffsave",
"save non-default parameter settings to a file",
FALSE,
NULL) );
5422 "branching",
"change parameters for branching rules",
TRUE,
NULL) );
5435 for(
i = 0;
i < nbranchrules; ++
i )
5453 SCIPdialogExecSetBranchingPriority,
NULL,
NULL,
5454 "priority",
"change branching priority of a single variable",
FALSE,
NULL) );
5464 SCIPdialogExecSetBranchingDirection,
NULL,
NULL,
5465 "direction",
"change preferred branching direction of a single variable (-1:down, 0:auto, +1:up)",
5477 "conflict",
"change parameters for conflict handlers",
TRUE,
NULL) );
5490 for(
i = 0;
i < nconflicthdlrs; ++
i )
5509 "constraints",
"change parameters for constraint handlers",
TRUE,
NULL) );
5522 for(
i = 0;
i < nconshdlrs; ++
i )
5541 "cutselection",
"change parameters for cut selectors",
TRUE,
NULL) );
5554 for(
i = 0;
i < ncutsels; ++
i )
5573 "display",
"change parameters for display columns",
TRUE,
NULL) );
5586 for(
i = 0;
i < ndisps; ++
i )
5604 "estimation",
"change parameters for restarts and tree size estimation",
TRUE,
NULL) );
5614 "expr",
"change parameters for expression handlers",
TRUE,
NULL) );
5625 "heuristics",
"change parameters for primal heuristics",
TRUE,
NULL) );
5638 for(
i = 0;
i < nheurs; ++
i )
5659 NULL, SCIPdialogExecSetHeuristicsAggressive,
NULL,
NULL,
5660 "aggressive",
"sets heuristics <aggressive>",
FALSE,
NULL) );
5670 "default",
"sets heuristics settings to <default> ",
FALSE,
NULL) );
5680 "fast",
"sets heuristics <fast>",
FALSE,
NULL) );
5690 "off",
"turns <off> all heuristics",
FALSE,
NULL) );
5701 "limits",
"change parameters for time, memory, objective value, and other limits",
TRUE,
NULL) );
5706 SCIPdialogExecSetLimitsObjective,
NULL,
NULL,
5707 "objective",
"set limit on objective function, such that only solutions better than this limit are accepted",
FALSE,
NULL) );
5720 "lp",
"change parameters for linear programming relaxations",
TRUE,
NULL) );
5731 "nlp",
"change parameters for nonlinear programming relaxation",
TRUE,
NULL) );
5742 "memory",
"change parameters for memory management",
TRUE,
NULL) );
5753 "misc",
"change parameters for miscellaneous stuff",
TRUE,
NULL) );
5763 "nlhdlr",
"change parameters for nonlinear handlers",
TRUE,
NULL) );
5774 "nlpi",
"change parameters for NLP solver interfaces",
TRUE,
NULL) );
5787 for(
i = 0;
i < nnlpis; ++
i )
5806 "nodeselection",
"change parameters for node selectors",
TRUE,
NULL) );
5819 for(
i = 0;
i < nnodesels; ++
i )
5838 "numerics",
"change parameters for numerical values",
TRUE,
NULL) );
5849 "parallel",
"change parameters for parallel implementation",
TRUE,
NULL) );
5860 "presolving",
"change parameters for presolving",
TRUE,
NULL) );
5873 for(
i = 0;
i < npresols; ++
i )
5893 NULL, SCIPdialogExecSetPresolvingAggressive,
NULL,
NULL,
5894 "aggressive",
"sets presolving <aggressive>",
FALSE,
NULL) );
5904 "default",
"sets presolving settings to <default>",
FALSE,
NULL) );
5914 "fast",
"sets presolving <fast>",
FALSE,
NULL) );
5924 "off",
"turns <off> all presolving",
FALSE,
NULL) );
5935 "pricing",
"change parameters for pricing variables",
TRUE,
NULL) );
5948 for(
i = 0;
i < npricers; ++
i )
5967 "propagating",
"change parameters for constraint propagation",
TRUE,
NULL) );
5978 "reading",
"change parameters for problem file readers",
TRUE,
NULL) );
5991 for(
i = 0;
i < nreaders; ++
i )
6009 "separating",
"change parameters for cut separators",
TRUE,
NULL) );
6022 for(
i = 0;
i < nsepas; ++
i )
6042 NULL, SCIPdialogExecSetSeparatingAggressive,
NULL,
NULL,
6043 "aggressive",
"sets separating <aggressive>",
FALSE,
NULL) );
6053 "default",
"sets separating settings to <default>",
FALSE,
NULL) );
6063 "fast",
"sets separating <fast>",
FALSE,
NULL) );
6073 "off",
"turns <off> all separation",
FALSE,
NULL) );
6083 "timing",
"change parameters for timing issues",
TRUE,
NULL) );
6093 "visual",
"change parameters for visualization output",
TRUE,
NULL) );
6106 for(
i = 0;
i < nparams; ++
i )
6121 "counter",
"predefined parameter settings for a \"feasible\" and \"fast\" counting process",
FALSE,
NULL) );
6130 "cpsolver",
"predefined parameter settings for CP like search",
FALSE,
NULL) );
6139 "easycip",
"predefined parameter settings for easy problems",
FALSE,
NULL) );
6148 "feasibility",
"predefined parameter settings for feasibility problems",
FALSE,
NULL) );
6157 "hardlp",
"predefined parameter settings for problems with a hard LP",
FALSE,
NULL) );
6166 "optimality",
"predefined parameter settings for proving optimality fast",
FALSE,
NULL) );
6175 "numerics",
"predefined parameter settings for increased numerical stability",
FALSE,
NULL) );
6184 "benchmark",
"predefined parameter settings for running in benchmark mode",
FALSE,
NULL) );
6244 "fix",
"fix/unfix parameters",
TRUE,
NULL) );
6260 "branching",
"fix parameters for branching rules",
TRUE,
NULL) );
6273 for(
i = 0;
i < nbranchrules; ++
i )
6292 "conflict",
"fix parameters for conflict handlers",
TRUE,
NULL) );
6305 for(
i = 0;
i < nconflicthdlrs; ++
i )
6324 "constraints",
"fix parameters for constraint handlers",
TRUE,
NULL) );
6337 for(
i = 0;
i < nconshdlrs; ++
i )
6356 "cutselection",
"fix parameters for cut selectors",
TRUE,
NULL) );
6369 for(
i = 0;
i < ncutsels; ++
i )
6388 "display",
"fix parameters for display columns",
TRUE,
NULL) );
6401 for(
i = 0;
i < ndisps; ++
i )
6420 "heuristics",
"fix parameters for primal heuristics",
TRUE,
NULL) );
6433 for(
i = 0;
i < nheurs; ++
i )
6452 "limits",
"fix parameters for time, memory, objective value, and other limits",
TRUE,
NULL) );
6464 "lp",
"fix parameters for linear programming relaxations",
TRUE,
NULL) );
6475 "nlp",
"fix parameters for nonlinear programming relaxations",
TRUE,
NULL) );
6486 "memory",
"fix parameters for memory management",
TRUE,
NULL) );
6497 "misc",
"fix parameters for miscellaneous stuff",
TRUE,
NULL) );
6508 "nlpi",
"fix parameters for NLP solver interfaces",
TRUE,
NULL) );
6521 for(
i = 0;
i < nnlpis; ++
i )
6540 "nodeselection",
"fix parameters for node selectors",
TRUE,
NULL) );
6553 for(
i = 0;
i < nnodesels; ++
i )
6572 "numerics",
"fix parameters for numerical values",
TRUE,
NULL) );
6583 "presolving",
"fix parameters for presolving",
TRUE,
NULL) );
6596 for(
i = 0;
i < npresols; ++
i )
6614 "pricing",
"fix parameters for pricing variables",
TRUE,
NULL) );
6627 for(
i = 0;
i < npricers; ++
i )
6646 "propagating",
"fix parameters for constraint propagation",
TRUE,
NULL) );
6657 "reading",
"fix parameters for problem file readers",
TRUE,
NULL) );
6670 for(
i = 0;
i < nreaders; ++
i )
6688 "separating",
"fix parameters for cut separators",
TRUE,
NULL) );
6701 for(
i = 0;
i < nsepas; ++
i )
6718 "timing",
"fix parameters for timing issues",
TRUE,
NULL) );
6728 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_STATUS SCIPgetStatus(SCIP *scip)
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 SCIPprintTransProblem(SCIP *scip, FILE *file, const char *extension, SCIP_Bool genericnames)
SCIP_RETCODE SCIPprintOrigProblem(SCIP *scip, FILE *file, const char *extension, SCIP_Bool genericnames)
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)
const char * SCIPcomprGetName(SCIP_COMPR *compr)
SCIP_COMPR ** SCIPgetComprs(SCIP *scip)
const char * SCIPcomprGetDesc(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)
void SCIPdialogSetHidden(SCIP_DIALOG *dialog)
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)
int SCIPdialogGetNSubdialogs(SCIP_DIALOG *dialog)
SCIP_RETCODE SCIPdialogDisplayMenuEntry(SCIP_DIALOG *dialog, SCIP *scip)
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)
SCIP_Bool SCIPisExact(SCIP *scip)
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 * SCIPiisGetSubscip(SCIP_IIS *iis)
SCIP_RETCODE SCIPgenerateIIS(SCIP *scip)
SCIP_IIS * SCIPgetIIS(SCIP *scip)
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_PROP * SCIPfindProp(SCIP *scip, const char *name)
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)
void SCIPrationalFreeArray(SCIP_RATIONAL ***ratarray, int size)
SCIP_RETCODE SCIPrationalCreateArray(SCIP_RATIONAL ***rational, int size)
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 SCIPprintStatisticsJson(SCIP *scip, FILE *file)
SCIP_RETCODE SCIPprintStatistics(SCIP *scip, FILE *file)
SCIP_RETCODE SCIPprintBranchingStatistics(SCIP *scip, FILE *file)
SCIP_RETCODE SCIPprintReoptStatistics(SCIP *scip, FILE *file)
SCIP_Bool SCIPparseRational(SCIP *scip, const char *str, SCIP_RATIONAL *value, char **endptr)
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 SCIPvalidateSolveExact(SCIP *scip, SCIP_RATIONAL *primalreference, SCIP_RATIONAL *dualreference, SCIP_Bool quiet, SCIP_Bool *feasible, SCIP_Bool *primalboundcheck, SCIP_Bool *dualboundcheck)
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 SCIPstrcasecmp(const char *s1, const char *s2)
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)
SCIP_RETCODE SCIPdisplaySymmetryGenerators(SCIP *scip, SCIP_PROP *prop)
propagator for symmetry handling
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 irreducible infeasible subsystems (IIS) finders
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
wrapper for rational number arithmetic
SCIP * SCIPgetMasterProblemRelaxBenders(SCIP *scip)
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 methods for exact solving
public functions to work with algebraic expressions
public methods for primal heuristic plugins and divesets
public methods for IIS finder plugins
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_Rational SCIP_RATIONAL
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