Scippy

SCIP

Solving Constraint Integer Programs

File List
Here is a list of all files with brief descriptions:
o*branch_allfullstrong.hAll variables full strong LP branching rule
o*branch_cloud.hCloud branching rule
o*branch_distribution.hProbability based branching rule based on an article by J. Pryor and J.W. Chinneck
o*branch_fullstrong.hFull strong LP branching rule
o*branch_inference.hInference history branching rule
o*branch_leastinf.hLeast infeasible LP branching rule
o*branch_mostinf.hMost infeasible LP branching rule
o*branch_multaggr.hFullstrong branching on fractional and multi-aggregated variables
o*branch_nodereopt.hNodereopt branching rule
o*branch_pscost.hPseudo costs branching rule
o*branch_random.hRandom variable branching rule
o*branch_relpscost.hReliable pseudo costs branching rule
o*compr_largestrepr.hLargestrepr tree compression
o*compr_weakcompr.hWeakcompr tree compression
o*cons_abspower.hConstraint handler for absolute power constraints $\textrm{lhs} \leq \textrm{sign}(x+a) |x+a|^n + c z \leq \textrm{rhs}$
o*cons_and.hConstraint handler for "and" constraints, $r = x_1 \wedge x_2 \wedge \dots \wedge x_n$
o*cons_bivariate.hConstraint handler for bivariate nonlinear constraints $\textrm{lhs} \leq f(x,y) + c z \leq \textrm{rhs}$
o*cons_bounddisjunction.hConstraint handler for bound disjunction constraints $(x_1 \{\leq,\geq\} b_1) \vee \ldots \vee (x_n \{\leq,\geq\} b_n)$
o*cons_conjunction.hConstraint handler for conjunction constraints
o*cons_countsols.hConstraint handler for counting feasible solutions
o*cons_cumulative.hConstraint handler for cumulative constraints
o*cons_disjunction.hConstraint handler for disjunction constraints
o*cons_indicator.hConstraint handler for indicator constraints
o*cons_integral.hConstraint handler for the integrality constraint
o*cons_knapsack.hConstraint handler for knapsack constraints of the form $a^T x \le b$, x binary and $a \ge 0$
o*cons_linear.hConstraint handler for linear constraints in their most general form, $lhs <= a^T x <= rhs$
o*cons_linking.hConstraint handler for linking binary variables to an integer variable
o*cons_logicor.hConstraint handler for logicor constraints $1^T x \ge 1$ (equivalent to set covering, but algorithms are suited for depth first search)
o*cons_nonlinear.hConstraint handler for nonlinear constraints $\textrm{lhs} \leq \sum_{i=1}^n a_ix_i + \sum_{j=1}^m c_jf_j(x) \leq \textrm{rhs}$
o*cons_or.hConstraint handler for "or" constraints, $r = x_1 \vee x_2 \vee \dots \vee x_n$
o*cons_orbitope.hConstraint handler for (partitioning/packing) orbitope constraints w.r.t. the full symmetric group
o*cons_pseudoboolean.hConstraint handler for pseudoboolean constraints
o*cons_quadratic.hConstraint handler for quadratic constraints $\textrm{lhs} \leq \sum_{i,j=1}^n a_{i,j} x_ix_j + \sum_{i=1}^n b_i x_i \leq \textrm{rhs}$
o*cons_setppc.hConstraint handler for the set partitioning / packing / covering constraints $1^T x\ \{=, \le, \ge\}\ 1$
o*cons_soc.hConstraint handler for second order cone constraints $\sqrt{\gamma + \sum_{i=1}^{n} (\alpha_i\, (x_i + \beta_i))^2} \leq \alpha_{n+1}\, (x_{n+1}+\beta_{n+1})$
o*cons_sos1.hConstraint handler for SOS type 1 constraints
o*cons_sos2.hConstraint handler for SOS type 2 constraints
o*cons_superindicator.hConstraint handler for indicator constraints over arbitrary constraint types
o*cons_varbound.hConstraint handler for variable bound constraints $lhs \leq x + c y \leq rhs$
o*cons_xor.hConstraint handler for "xor" constraints, $rhs = x_1 \oplus x_2 \oplus \dots \oplus x_n$
o*def.hCommon defines and data types used in all packages of SCIP
o*dialog_default.hDefault user interface dialog
o*disp_default.hDefault display columns
o*event_softtimelimit.hEventhdlr for soft time limit
o*exprinterpret.hMethods to interpret (evaluate) an expression tree "fast"
o*exprinterpret_cppad.cppMethods to interpret (evaluate) an expression tree "fast" using CppAD
o*exprinterpret_none.cFunction definitions for nonexisting expression interpreter to resolve linking references
o*heur_actconsdiving.hLP diving heuristic that chooses fixings w.r.t. the active constraints the variable appear in
o*heur_bound.hHeuristic which fixes all integer variables to a bound (lower/upper) and solves the remaining LP
o*heur_clique.hLNS heuristic using a clique partition to restrict the search neighborhood
o*heur_coefdiving.hLP diving heuristic that chooses fixings w.r.t. the matrix coefficients
o*heur_crossover.hLNS heuristic that tries to combine several feasible solutions
o*heur_dins.hDINS primal heuristic
o*heur_distributiondiving.hDiving heuristic that chooses fixings w.r.t. changes in the solution density after Pryor and Chinneck
o*heur_dualval.hPrimal heuristic that uses dualvalues for successive switching variable values
o*heur_feaspump.hObjective Feasibility Pump 2.0
o*heur_fixandinfer.hFix-and-infer primal heuristic
o*heur_fracdiving.hLP diving heuristic that chooses fixings w.r.t. the fractionalities
o*heur_guideddiving.hLP diving heuristic that chooses fixings in direction of incumbent solutions
o*heur_indicator.hHandle partial solutions for linear problems with indicators and otherwise continuous variables
o*heur_intdiving.hLP diving heuristic that fixes variables with integral LP value
o*heur_intshifting.hLP rounding heuristic that tries to recover from intermediate infeasibilities, shifts integer variables, and solves a final LP to calculate feasible values for continuous variables
o*heur_linesearchdiving.hLP diving heuristic that fixes variables with a large difference to their root solution
o*heur_localbranching.hLocal branching heuristic according to Fischetti and Lodi
o*heur_mutation.hLNS heuristic that tries to randomly mutate the incumbent solution
o*heur_nlpdiving.hNLP diving heuristic that chooses fixings w.r.t. the fractionalities
o*heur_objpscostdiving.hLP diving heuristic that changes variable's objective value instead of bounds, using pseudo cost values as guide
o*heur_octane.hOctane primal heuristic based on Balas, Ceria, Dawande, Margot, and Pataki
o*heur_ofins.hOFINS - Objective Function Induced Neighborhood Search. Primal heuristic for reoptimization
o*heur_oneopt.hImprovement heuristic that alters single variable values
o*heur_proximity.hImprovement heuristic which uses an auxiliary objective instead of the original objective function which is itself added as a constraint to a sub-SCIP instance. The heuristic was presented by Matteo Fischetti and Michele Monaci
o*heur_pscostdiving.hLP diving heuristic that chooses fixings w.r.t. the pseudo cost values
o*heur_randrounding.hRandomized LP rounding heuristic which also generates conflicts via an auxiliary probing tree
o*heur_rens.hLNS heuristic that finds the optimal rounding to a given point
o*heur_reoptsols.hReoptsols primal heuristic
o*heur_rins.hLNS heuristic that combines the incumbent with the LP optimum
o*heur_rootsoldiving.hLP diving heuristic that changes variables' objective values using root LP solution as guide
o*heur_rounding.hLP rounding heuristic that tries to recover from intermediate infeasibilities
o*heur_shiftandpropagate.hPreroot heuristic that alternatingly fixes variables and propagates domains
o*heur_shifting.hLP rounding heuristic that tries to recover from intermediate infeasibilities and shifts continuous variables
o*heur_simplerounding.hSimple and fast LP rounding heuristic
o*heur_subnlp.hNLP local search primal heuristic using sub-SCIPs
o*heur_trivial.hTrivial primal heuristic
o*heur_trivialnegation.hTrivialnegation primal heuristic
o*heur_trysol.hPrimal heuristic that tries a given solution
o*heur_twoopt.hPrimal heuristic to improve incumbent solution by flipping pairs of variables
o*heur_undercover.hUndercover primal heuristic for MINLPs
o*heur_vbounds.hLNS heuristic uses the variable lower and upper bounds to determine the search neighborhood
o*heur_veclendiving.hLP diving heuristic that rounds variables with long column vectors
o*heur_zeroobj.hHeuristic that tries to solve the problem without objective. In Gurobi, this heuristic is known as "Hail Mary"
o*heur_zirounding.hZI Round primal heuristic
o*howtoadd.dxyList of how to add "stuff"
o*interfaces.dxyInterface documentation page
o*intervalarithext.cppC++ extensions to interval arithmetics for provable bounds
o*intervalarithext.hC++ extensions to interval arithmetics for provable bounds
o*lpi.hInterface methods for specific LP solvers
o*lpi_clp.cppLP interface for Clp
o*lpi_cpx.cLP interface for CPLEX >= 8.0
o*lpi_grb.cLP interface for Gurobi
o*lpi_msk.cLP interface for MOSEK
o*lpi_none.cDummy interface for the case no LP solver is needed
o*lpi_qso.cLP interface for QSopt version >= 070303
o*lpi_spx.cppLP interface for SoPlex version 1.4 and higher
o*lpi_spx2.cppLP interface for SoPlex version 2.0 and higher
o*lpi_xprs.cLP interface for Xpress-MP
o*message_default.hDefault message handler
o*nlpi_ipopt.hIpopt NLP interface
o*nodesel_bfs.hNode selector for best first search
o*nodesel_breadthfirst.hNode selector for breadth-first search
o*nodesel_dfs.hNode selector for depth first search
o*nodesel_estimate.hNode selector for best estimate search
o*nodesel_hybridestim.hNode selector for hybrid best estimate / best bound search
o*nodesel_restartdfs.hNode selector for depth first search with periodical selection of the best node
o*nodesel_uct.hUct node selector which balances exploration and exploitation by considering node visits
o*objbranchrule.hC++ wrapper for branching rules
o*objcloneable.hDefinition of base class for all clonable classes
o*objconshdlr.hC++ wrapper for constraint handlers
o*objdialog.hC++ wrapper for dialogs
o*objdisp.hC++ wrapper for display columns
o*objeventhdlr.hC++ wrapper for event handlers
o*objheur.hC++ wrapper for primal heuristics
o*objmessagehdlr.hC++ wrapper for message handlers
o*objnodesel.hC++ wrapper for node selectors
o*objpresol.hC++ wrapper for presolvers
o*objpricer.hC++ wrapper for variable pricers
o*objprobcloneable.hDefinition of base class for all clonable classes which define problem data
o*objprobdata.hC++ wrapper for user problem data
o*objprop.hC++ wrapper for propagators
o*objreader.hC++ wrapper for file readers and writers
o*objrelax.hC++ wrapper for relaxation handlers
o*objscip.hC++ wrapper classes for SCIP
o*objscipdefplugins.hC++ wrapper for default SCIP plugins
o*objsepa.hC++ wrapper for cut separators
o*objvardata.hC++ wrapper for user variable data
o*presol_boundshift.hPresolver that converts integer variables with domain [a,b] to integer variables with domain [0,b-a]
o*presol_components.hComponents presolver
o*presol_convertinttobin.hPresolver that converts integer variables with domain [a,a+1] to binaries
o*presol_domcol.hDominated column presolver
o*presol_dualagg.hAggregate variables by dual arguments
o*presol_dualinfer.hDual inference presolver
o*presol_gateextraction.hGateextraction presolver
o*presol_implfree.hExploit implied free variables for multi-aggregation
o*presol_implics.hImplication graph presolver which checks for aggregations
o*presol_inttobinary.hPresolver that converts integer variables with domain [a,a+1] to binaries
o*presol_redvub.hRemove redundant variable upper bound constraints
o*presol_stuffing.hFix singleton continuous variables
o*presol_trivial.hTrivial presolver: round fractional bounds on integer variables, fix variables with equal bounds
o*presol_tworowbnd.hDo bound tightening by using two rows
o*prop_dualfix.hFixing roundable variables to best bound
o*prop_genvbounds.hGeneralized variable bounds propagator
o*prop_obbt.hOptimization-based bound tightening propagator
o*prop_probing.hProbing propagator
o*prop_pseudoobj.hPseudo objective propagator
o*prop_redcost.hPropagator using the LP reduced cost and the cutoff bound
o*prop_rootredcost.hReduced cost strengthening using root node reduced costs and the cutoff bound
o*prop_vbounds.hVariable upper and lower bound propagator
o*pub_branch.hPublic methods for branching rules
o*pub_compr.hPublic methods for tree compressions
o*pub_conflict.hPublic methods for conflict analysis handlers
o*pub_cons.hPublic methods for managing constraints
o*pub_cutpool.hPublic methods for storing cuts in a cut pool
o*pub_dialog.hPublic methods for user interface dialog
o*pub_disp.hPublic methods for displaying runtime statistics
o*pub_dive.hLibrary methods for diving heuristics
o*pub_event.hPublic methods for managing events
o*pub_expr.hPublic methods for expressions, expression trees, expression graphs, and related stuff
o*pub_fileio.hWrapper functions to map file i/o to standard or zlib file i/o
o*pub_heur.hPublic methods for primal heuristics
o*pub_history.hPublic methods for branching and inference history structure
o*pub_implics.hPublic methods for implications, variable bounds, and cliques
o*pub_lp.hPublic methods for LP management
o*pub_matrix.hPublic methods for MILP matrix
o*pub_message.hPublic methods for message output
o*pub_misc.hPublic data structures and miscellaneous methods
o*pub_nlp.hPublic methods for NLP management
o*pub_nodesel.hPublic methods for node selectors
o*pub_paramset.hPublic methods for handling parameter settings
o*pub_presol.hPublic methods for presolvers
o*pub_pricer.hPublic methods for variable pricers
o*pub_prop.hPublic methods for propagators
o*pub_reader.hPublic methods for input file readers
o*pub_relax.hPublic methods for relaxation handlers
o*pub_reopt.hPublic methods for reoptimization
o*pub_sepa.hPublic methods for separators
o*pub_sol.hPublic methods for primal CIP solutions
o*pub_tree.hPublic methods for branch and bound tree
o*pub_var.hPublic methods for problem variables
o*reader_bnd.hFile reader for variable bounds
o*reader_ccg.hColumn connectivity graph file reader (actually, only a writer)
o*reader_cip.hCIP file reader
o*reader_cnf.hCNF file reader
o*reader_diff.hDiff file reader
o*reader_fix.hFile reader for variable fixings
o*reader_fzn.hFlatZinc file reader
o*reader_gms.hGAMS file reader and writer
o*reader_lp.hLP file reader
o*reader_mps.h(extended) MPS file reader
o*reader_opb.hPseudo-Boolean file reader (opb format)
o*reader_osil.hOS instance language (OSiL) format file reader
o*reader_pbm.hFile writer for portable bitmap file format (PBM), open with common graphic viewer programs (e.g. xview)
o*reader_pip.hFile reader for polynomial mixed-integer programs in PIP format
o*reader_ppm.hFile writer for portable pixmap file format (PPM), open with common graphic viewer programs (e.g. xview)
o*reader_rlp.hRLP file reader (LP format with generic variables and row names)
o*reader_sol.hFile reader for primal solutions
o*reader_wbo.hWBO file reader (LP format with generic variables and row names)
o*reader_zpl.hZIMPL model file reader
o*scip.hSCIP callable library
o*scipdefplugins.hDefault SCIP plugins
o*scipgithash.hGit hash methods
o*scipshell.hSCIP command line interface
o*sepa_cgmip.hChvatal-Gomory cuts computed via a sub-MIP
o*sepa_clique.hClique separator
o*sepa_closecuts.hClosecuts meta separator
o*sepa_cmir.hComplemented mixed integer rounding cuts separator (Marchand's version)
o*sepa_disjunctive.hDisjunctive cut separator
o*sepa_eccuts.hEdge concave cut separator
o*sepa_flowcover.hFlowcover separator
o*sepa_gomory.hGomory MIR Cuts
o*sepa_impliedbounds.hImplied bounds separator
o*sepa_intobj.hInteger objective value separator
o*sepa_mcf.hMulti-commodity-flow network cut separator
o*sepa_oddcycle.hOddcycle separator
o*sepa_rapidlearning.hRapidlearning separator
o*sepa_strongcg.hStrong CG Cuts (Letchford & Lodi)
o*sepa_zerohalf.h{0,1/2}-cuts separator
o*tclique_coloring.hColoring part of algorithm for maximum cliques
o*tclique_def.hTclique defines
o*type_branch.hType definitions for branching rules
o*type_clock.hType definitions for clocks and timing issues
o*type_compr.hType definitions for tree compression
o*type_conflict.hType definitions for conflict analysis
o*type_cons.hType definitions for constraints and constraint handlers
o*type_cutpool.hType definitions for storing cuts in a cut pool
o*type_dialog.hType definitions for user interface dialog
o*type_disp.hType definitions for displaying runtime statistics
o*type_event.hType definitions for managing events
o*type_expr.hType definitions for expressions and expression trees
o*type_exprinterpret.hType definitions for expression interpreter
o*type_heur.hType definitions for primal heuristics
o*type_history.hType definitions for branching and inference history
o*type_implics.hType definitions for implications, variable bounds, and cliques
o*type_interrupt.hType definitions for catching the user CTRL-C interrupt
o*type_lp.hType definitions for LP management
o*type_lpi.hType definitions for specific LP solvers interface
o*type_matrix.hType definitions for MILP matrix
o*type_mem.hType definitions for block memory pools and memory buffers
o*type_message.hType definitions for message output methods
o*type_misc.hType definitions for miscellaneous datastructures
o*type_nlp.hType definitions for NLP management
o*type_nlpi.hType definitions for specific NLP solver interfaces
o*type_nodesel.hType definitions for node selectors
o*type_objcloneable.hFunction type definitions for clonable classes
o*type_objprobcloneable.hFunction type definitions for clonable classes which define problem data
o*type_paramset.hType definitions for handling parameter settings
o*type_presol.hType definitions for presolvers
o*type_pricer.hType definitions for variable pricers
o*type_pricestore.hType definitions for storing priced variables
o*type_primal.hType definitions for collecting primal CIP solutions and primal informations
o*type_prob.hType definitions for storing and manipulating the main problem
o*type_prop.hType definitions for propagators
o*type_reader.hType definitions for input file readers
o*type_relax.hType definitions for relaxators
o*type_reopt.hType definitions for collecting reoptimization information
o*type_result.hResult codes for SCIP callback methods
o*type_retcode.hType definitions for return codes for SCIP methods
o*type_scip.hType definitions for SCIP's main datastructure
o*type_sepa.hType definitions for separators
o*type_sepastore.hType definitions for storing separated cuts
o*type_set.hType definitions for global SCIP settings
o*type_sol.hType definitions for storing primal CIP solutions
o*type_stat.hType definitions for problem statistics
o*type_timing.hTiming definitions for SCIP
o*type_tree.hType definitions for branch and bound tree
o*type_var.hType definitions for problem variables
o*type_visual.hType definitions for output for visualization tools (VBC, BAK)
\*xternal.cMain document page