|
Cbc
2.10.5
|
| Utility functions for processing CoinParam parameters | |
| Performs one round of Lift & Project using CglLandPSimplex to build cuts | |
| A namespace so we can define a few `global' variables to use during tests | |
| Dual Row Pivot Dantzig Algorithm Class | |
| Dual Row Pivot Abstract Base Class | |
| Dual Row Pivot Steepest Edge Algorithm Class | |
| Primal Column Pivot Dantzig Algorithm Class | |
| Primal Column Pivot Abstract Base Class | |
| Primal Column Pivot Steepest Edge Algorithm Class | |
| This solves LPs using the dual simplex method | |
| This just implements AbcFactorization when an AbcMatrix object is passed | |
| This solves LPs using the primal simplex method | |
| As CoinWarmStartBasis but with alternatives (Also uses Clp status meaning for slacks) | |
| Base model | |
| Define a branch class that branches so that it is only satsified if all members have different values So cut is x <= y-1 or x >= y+1 | |
| Define a cut branching class | |
| Branching decision default class | |
| Branching decision dynamic class | |
| Abstract branching object base class Now just difference with OsiBranchingObject | |
| Define a branch class that branches so that one way variables are fixed while the other way cuts off that solution | |
| Branching decision user class | |
| Class for control parameters that act on a CbcModel object | |
| Branching object for cliques | |
| Branching object for unordered cliques | |
| Abstract base class for consequent bounds | |
| OsiRowCut augmented with bookkeeping | |
| Cut branching object | |
| Interface between Cbc and Cut Generation Library | |
| Abstract cut modifier base class | |
| Simple cut modifier base class | |
| Dummy branching object | |
| Simple branching object for an integer variable with pseudo costs | |
| Base class for Cbc event handling | |
| Fathom base class | |
| FathomDynamicProgramming class | |
| General Branching Object class | |
| Class for consequent bounds | |
| Define a follow on class | |
| Define a follow on class | |
| Information required to recreate the subproblem at this node | |
| Define a catch all class | |
| Class for cbc-generic control parameters | |
| Heuristic base class | |
| Crossover Search class | |
| Dive class | |
| DiveCoefficient class | |
| DiveFractional class | |
| DiveGuided class | |
| DiveLineSearch class | |
| DivePseudoCost class | |
| DiveVectorLength class | |
| This is unlike the other heuristics in that it is very very compute intensive | |
| Heuristic - just picks up any good solution | |
| Feasibility Pump class | |
| Greedy heuristic classes | |
| Greedy heuristic for SOS and L rows (and positive elements) | |
| Just One class - this chooses one at random | |
| LocalSearch class | |
| Naive class a) Fix all ints as close to zero as possible b) Fix all ints with nonzero costs and < large to zero c) Put bounds round continuous and UIs and maximize | |
| A class describing the branching decisions that were made to get to the node where a heuristic was invoked from | |
| Partial solution class If user knows a partial solution this tries to get an integer solution it uses hotstart information | |
| LocalSearch class | |
| LocalSearch class | |
| LocalSearch class | |
| LocalSearch class | |
| LocalSearch class | |
| Define an idiotic idea class | |
| Simple branching object for an integer variable | |
| Simple branching object for an integer variable with pseudo costs | |
| Define Special Linked Ordered Sets | |
| Branching object for Special ordered sets | |
| Unordered Clique Branching Object class | |
| Lotsize class | |
| Lotsize branching object | |
| Simple Branch and bound class | |
| Information required while the node is live | |
| Information required to recreate the subproblem at this node | |
| Define an n-way class for variables | |
| N way branching Object class | |
| Branching object for Orbital branching | |
| Very simple class for setting parameters | |
| Class for control parameters that act on a OsiSolverInterface object | |
| This is for codes where solver needs to know about CbcModel Seems to provide only one value-added feature, a CbcModel object | |
| Very simple class for setting parameters | |
| Holds information for recreating a subproblem by incremental change from the parent | |
| Rounding class | |
| Heuristic - just picks up any good solution found by solver - see OsiBabSolver | |
| Define a single integer class | |
| Define a single integer class but with dynamic pseudo costs | |
| Define a single integer class where branching is forced until fixed | |
| Define a single integer class but with pseudo costs | |
| This allows the use of the standalone solver in a flexible manner | |
| This is to allow the user to replace initialSolve and resolve | |
| This is to allow the user to replace initialSolve and resolve | |
| This is to allow the user to replace initialSolve and resolve | |
| The CbcSolver class was taken out at a 9/12/09 meeting This is a feeble replacement | |
| Structure to hold useful arrays | |
| Branching object for Special Ordered Sets of type 1 and 2 | |
| Branching object for Special ordered sets | |
| For gathering statistics | |
| Support the use of a call back class to decide whether to stop | |
| Strategy base class | |
| Default class | |
| Default class for sub trees | |
| Null class | |
| Abstract base class for `objects' | |
| Class to deal with symmetry | |
| A class to encapsulate thread stuff | |
| Using MS heap implementation | |
| A class to allow the use of unknown user functionality | |
| 012Cut Generator Class | |
| AllDifferent Cut Generator Class This has a number of sets | |
| For Bron-Kerbosch | |
| Cut Generator Base Class | |
| DuplicateRow Cut Generator Class | |
| Lifed Simple Generalized Flow Cover Cut Generator Class | |
| Variable upper bound class | |
| Gomory cut generator with several cleaning procedures, used to test the numerical safety of the resulting cuts | |
| Class collecting parameters for the GMI cut generator | |
| Gomory Cut Generator Class | |
| Only store unique row cuts | |
| This just uses implication info | |
| Knapsack Cover Cut Generator Class | |
| Lift And Project Cut Generator Class | |
| This deals with Cgl messages (as against Osi messages etc) | |
| Mixed Integer Rounding Cut Generator Class | |
| Mixed Integer Rounding Cut Generator Class | |
| Odd Hole Cut Generator Class | |
| Class collecting parameters for all cut generators | |
| Class for preProcessing and postProcessing | |
| Probing Cut Generator Class | |
| Gomory Reduce-and-Split Cut Generator Class; See method generateCuts() | |
| Reduce-and-Split Cut Generator Class; See method generateCuts() | |
| Class collecting parameters the Reduced-and-split cut generator | |
| Class collecting parameters the Reduced-and-split cut generator | |
| Residual Capacity Inequalities Cut Generator Class | |
| Simple Rounding Cut Generator Class | |
| Stored Cut Generator Class | |
| Stored Temporary Cut Generator Class - destroyed after first use | |
| Information about where the cut generator is invoked from | |
| Twostep MIR Cut Generator Class | |
| Zero Half Cut Generator Class | |
| Derived class to pick up probing info | |
| Ampl Objective Class | |
| Base class for Clp Cholesky factorization Will do better factorization | |
| Mumps class for Clp Cholesky factorization | |
| Taucs class for Clp Cholesky factorization | |
| Ufl class for Clp Cholesky factorization | |
| Wssmp class for Clp Cholesky factorization | |
| WssmpKKT class for Clp Cholesky factorization | |
| Constraint Abstract Base Class | |
| Ampl Constraint Class | |
| Linear Constraint Class | |
| Quadratic Constraint Class | |
| This is a tiny class where data can be saved round calls | |
| Base class for Clp disaster handling | |
| Dual Row Pivot Dantzig Algorithm Class | |
| Dual Row Pivot Abstract Base Class | |
| Dual Row Pivot Steepest Edge Algorithm Class | |
| This implements a dummy matrix as derived from ClpMatrixBase | |
| This implements a dynamic matrix when we have a limit on the number of "interesting rows" | |
| This implements a dynamic matrix when we have a limit on the number of "interesting rows" | |
| Base class for Clp event handling | |
| This just implements CoinFactorization when an ClpMatrixBase object is passed | |
| This implements Gub rows plus a ClpPackedMatrix | |
| This implements Gub rows plus a ClpPackedMatrix | |
| This solves LPs using interior point methods | |
| Linear Objective Class | |
| This class implements LSQR | |
| Abstract base class for Clp Matrices | |
| This deals with Clp messages (as against Osi messages etc) | |
| This deals with Factorization and Updates for network structures | |
| This implements a simple network matrix as derived from ClpMatrixBase | |
| Objective Abstract Base Class | |
| This solves problems in Primal Dual Convex Optimization | |
| Abstract base class for tailoring everything for Pcdo | |
| Dual Row Pivot Steepest Edge Algorithm Class | |
| Primal Column Pivot Steepest Edge Algorithm Class | |
| BASE CLASS FOR THE IMPROVED SIMPLEX | |
| This implements a simple +- one matrix as derived from ClpMatrixBase | |
| This solves LPs using the predictor-corrector method due to Mehrotra | |
| This is the Clp interface to CoinPresolve | |
| Primal Column Pivot Dantzig Algorithm Class | |
| Primal Column Pivot Abstract Base Class | |
| Primal Column Pivot Steepest Edge Algorithm Class | |
| Primal Column Pivot Dantzig Algorithm Class | |
| This is to allow the user to replace initialSolve and resolve | |
| Quadratic Objective Class | |
| This solves LPs using the simplex method | |
| This solves LPs using the dual simplex method | |
| This solves non-linear LPs using the primal simplex method | |
| This is for Simplex stuff which is neither dual nor primal | |
| This solves LPs using the primal simplex method | |
| For saving extra information to see if looping | |
| This is a very simple class to guide algorithms | |
| For a structure to be used by trusted code | |
| Abstract base class which also has some scalars so can be used from Dense or Simp | |
| This deals with Factorization and Updates This is a simple dense version so other people can write a better one | |
| Equality to an absolute tolerance | |
| Arbitrary version | |
| Pointer with length in bytes | |
| CoinBigIndex * version | |
| In many cases it is natural to build a model by adding one row at a time | |
| This deals with Factorization and Updates This is a simple dense version so other people can write a better one | |
| Dense Vector | |
| Double * version | |
| Error Class thrown by an exception | |
| Function operator | |
| Function operator | |
| Function operator | |
| Function operator | |
| This deals with Factorization and Updates | |
| CoinFactorizationDouble * version | |
| CoinFactorizationLongDouble * version | |
| Abstract base class for file input classes | |
| Base class for FileIO classes | |
| Abstract base class for file output classes | |
| Function operator | |
| Function operator | |
| Function operator | |
| Function operator | |
| Function operator | |
| Function operator | |
| Function operator | |
| Function operator | |
| Really for Conflict cuts to - a) stop duplicates b) allow half baked cuts The whichRow_ field in OsiRowCut2 is used for a type 0 - normal 1 - processed cut (conflict) 2 - unprocessed cut i.e | |
| Indexed Vector | |
| Int * version | |
| Class to read and write Lp files | |
| The standard set of Coin messages | |
| Base class for message handling | |
| Class to hold and manipulate an array of massaged messages | |
| This is a simple minded model which is stored in a format which makes it easier to construct and modify but not efficient for algorithms | |
| For int,int hashing | |
| For names and hashing | |
| This is a model which is made up of Coin(Structured)Model blocks | |
| This is for various structures/classes needed by CoinModel | |
| For linked lists | |
| Very simple code for reading MPS data | |
| MPS IO Interface | |
| Class for one massaged message | |
| Abstract base class which also has some scalars so can be used from Dense or Simp | |
| Sparse Matrix Base Class | |
| Sparse Vector | |
| Abstract base class for various sparse vectors | |
| An ordered pair | |
| A base class for `keyword value' command line parameters | |
| This reads plain text files | |
| Augments CoinPrePostsolveMatrix with information about the problem that is only needed during postsolve | |
| Collects all the information about the problem that is needed in both presolve and postsolve | |
| Abstract base class of all presolve routines | |
| Augments CoinPrePostsolveMatrix with information about the problem that is only needed during presolve | |
| Monitor a row or column for modification | |
| Equality to a scaled tolerance | |
| Best first search | |
| Depth First Search | |
| Function objects to compare search tree nodes | |
| Very simple class for containing data on set | |
| Shallow Sparse Vector | |
| NON Abstract Base Class for interfacing with cut generators or branching code or | |
| Very simple class for containing SOS set | |
| Class for thread specific random numbers | |
| This class implements a timer that also implements a tracing functionality | |
| A class from which the real tree nodes should be derived from | |
| Unsigned int * version | |
| Void * version | |
| Abstract base class for warm start information | |
| The default COIN simplex (basis-oriented) warm start class | |
| A `diff' between two CoinWarmStartBasis objects | |
| Abstract base class for warm start `diff' objects | |
| WarmStart information that is only a dual vector | |
| A `diff' between two CoinWarmStartDual objects | |
| WarmStart information that is only a dual vector | |
| A `diff' between two CoinWarmStartPrimalDual objects | |
| WarmStart information that is only a vector | |
| A `diff' between two CoinWarmStartVector objects | |
| Only useful type of disaggregation is most normal For now just done for 0-1 variables Can be used for building cliques | |
| Solve ax+by=c for y and substitute y out of the problem | |
| Physically removes empty columns in presolve, and reinserts empty columns in postsolve | |
| Physically removes empty rows in presolve, and reinserts empty rows in postsolve | |
| Removal of explicit zeros | |
| Tracking information for an explicit zero coefficient | |
| Detect and remove duplicate columns | |
| Detect and remove duplicate rows | |
| This deals with Factorization and Updates This is ripped off from OSL!!!!!!!!! | |
| Pointers used during factorization | |
| Detect and process forcing constraints and useless constraints | |
| Detect and remove entries whose sum is known | |
| This class implements a very silly algorithm | |
| For use internally | |
| Detect and process implied free variables | |
| ******** DATA to be moved into protected section of ClpInterior | |
| Fix a variable at a specified bound | |
| This is so user can trap events and do useful stuff | |
| This implements a simple network matrix as derived from ClpMatrixBase | |
| ******** DATA to be moved into protected section of ClpInterior | |
| This class allows for a more structured use of algorithmic tweaking to an OsiSolverInterface | |
| This class allows for the use of more exotic solvers e.g | |
| Define BiLinear objects | |
| Branching object for BiLinear objects | |
| Define Continuous BiLinear objects for an == bound | |
| Abstract branching object base class | |
| Cbc Solver Interface | |
| This class chooses a variable to branch on | |
| This class chooses a variable to branch on | |
| This class chooses a variable to branch on | |
| Clp Solver Interface | |
| Column Cut Class | |
| CPLEX Solver Interface | |
| Collections of row cuts and column cuts | |
| Gurobi Solver Interface | |
| This class contains the result of strong branching on a variable When created it stores enough information for strong branching | |
| Simple branching object for an integer variable | |
| Define Special Linked Ordered Sets | |
| Branching object for Linked ordered sets | |
| List of bounds which depend on other bounds | |
| Lotsize class | |
| Lotsize branching object | |
| Abstract base class for `objects' | |
| Define a class to add a bit of complexity to OsiObject This assumes 2 way branching | |
| Branching object for Linked ordered sets | |
| Define data for one link | |
| OSI interface to COIN problem simplification capabilities | |
| This class is the placeholder for the pseudocosts used by OsiChooseStrong | |
| Row Cut Class | |
| Row Cut Class which refers back to row which created it | |
| Validate cuts against a known solution | |
| Define a single integer class - but one where you keep branching until fixed even if satisfied | |
| Define a single integer class | |
| Solver Branch Class | |
| Abstract Base Class for describing an interface to a solver | |
| This is to allow the user to replace initialSolve and resolve | |
| This is to allow the user to replace initialSolve and resolve This version changes coefficients | |
| Solver Result Class | |
| Define Special Ordered Sets of type 1 and 2 | |
| Branching object for Special ordered sets | |
| SoPlex Solver Interface Instantiation of OsiSpxSolverInterface for SoPlex | |
| Vol(ume) Solver Interface | |
| This just adds two-wayness to a branching object | |
| Define a single variable class which is involved with OsiBiLinear objects | |
| XPRESS-MP Solver Interface | |
| ******** DATA to be moved into protected section of ClpInterior | |
| Links to aid in packed matrix modification | |
| Attempt to fix variables by bounding reduced costs | |
| Excise fixed variables from the model | |
| Convert an explicit bound constraint to a column bound | |
| For variables with one entry | |
| Detect and process implied free variables | |
| For string evaluation | |
| We are only going to do this if it does not increase number of elements? | |
| Detect interesting 2 by 2 blocks | |
| Vector of doubles | |
| Vector of ints | |
| This class contains the parameters controlling the Volume Algorithm | |
This class holds every data for the Volume Algorithm and its solve method must be invoked to solve the problem | |
| The user hooks should be overridden by the user to provide the problem specific routines for the volume algorithm | |
1.8.5