|
coin-Bcp
|
| 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 | |
| Simple representation of a cut by storing non zero coefficients only | |
| When doing a sprint sort of algorithm on the cuts (i.e., leave out a number of cuts at the beginning and add them only as necessary) this object represents one of these cuts | |
| Class for operations at the node level | |
| Class taking care of packing/unpacking | |
| Class holding data for describing the problem | |
| This class describes the message buffer used for all processes of BCP | |
| Parameters used in the Cut Generator process | |
| This class is the central class of the Cut Generator process | |
| Base class from which the user can derive a problem specific class to be used in the Cut Generator process | |
| This class holds a column in a compressed form | |
| Abstract base class that defines members common to all types of cuts | |
| This is the class from which the user should derive her own algorithmic cuts | |
| Core cuts are the cuts that always stay in the LP formulation | |
| This class is just a collection of pointers to cuts with a number of methods to manipulate these cuts and/or select certain entries | |
| Currently there isn't any error handling in BCP | |
| This class is the internal representation of a branching object | |
| This class describes a generic branching object | |
| This class exist only so that we can extract information from OsiIntegerBranchingObject | |
| NO OLD DOC | |
| Parameters used in the LP process | |
| NO OLD DOC | |
| NO OLD DOC | |
An object of type BCP_lp_relax holds the description of an lp relaxation | |
| This class holds the results after solving an LP relaxation | |
| This class exist only so that we can extract information from OsiIntegerBranchingObject | |
| NO OLD DOC | |
| Base class from which the user can derive a problem specific class to be used in the LP process | |
| This is an abstract base class that describes the message passing environment | |
| NO OLD DOC | |
| This class stores data about how an object set (set of vars or set of cuts) changes | |
| This parameter indeintifies a single parameter entry | |
| This is the class serves as a holder for a set of parameters | |
| A presolved branching object candidate | |
| This class describes the core of the MIP problem, the variables/cuts in it as well as the matrix corresponding the core variables and cuts | |
| This class describes changes in the core of the problem | |
| This class holds a row in a compressed form | |
| NO OLD DOC | |
| This is the abstract base class for a solution to a Mixed Integer Programming problem | |
| This class holds a MIP feasible primal solution | |
| This class is a very simple impelementation of a constant length string | |
| NO OLD DOC | |
| Parameters used in the Tree Manager process | |
| NO OLD DOC | |
| Base class from which the user can derive a problem specific class to be used in the TM process | |
| NO OLD DOC | |
| Same as BCP_tm_node_data, just there's no need to use smart pointers in this process | |
| Abstract base class that defines members common to all types of variables | |
| This is the class from which the user should derive her own algorithmic variables | |
| Core variables are the variables that always stay in the LP formulation | |
| This class is just a collection of pointers to variables with a number of methods to manipulate these variables and/or select certain entries | |
| The class BCP_vec serves the same purpose as the vector class in the standard template library | |
| This class stores a vector explicitly or relatively to another vector | |
| This class is the central class of the Variable Generator process | |
| Base class from which the user can derive a problem specific class to be used in the Cut Generator process | |
| Warmstarting information for the LP solver | |
| This class describes a warmstart information that consists of basis information for structural and artificial variables | |
| This class describes a warmstart information that consists solely of the dual vector | |
| This class describes a warmstart information that consists solely of the dual vector | |
| Very simple class for setting parameters | |
| 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 | |
| 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 | |
| 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 | |
| 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 | |
| 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 | |
| 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 | |
| Class taking care of interaction between user data and Bcp | |
| 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 | |
| Abstract branching object base class | |
| 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 | |
| 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 | |
| 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 | |
| Solver Branch Class | |
| Abstract Base Class for describing an interface to a solver | |
| 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 | |
| Vol(ume) Solver Interface | |
| XPRESS-MP Solver Interface | |
| ******** DATA to be moved into protected section of ClpInterior | |
| Links to aid in packed matrix modification | |
| Class handling user data | |
| 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 | |
| This class is an abstract base class for the initializer class the user has to provide | |
| 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