Contents

1 Preface
2 Installation
 2.1 Obtaining ABACUS
 2.2 Platforms
 2.3 Building ABACUS
 2.4 Compiling and Linking
 2.5 Environment Variables
 2.6 Contact
 2.7 Mailing List
3 New Features
 3.1 New Features of ABACUS 3.0
  3.1.1 Open Solver Interface
  3.1.2 Compilers
  3.1.3 Library creation by the user
  3.1.4 Documentation System
  3.1.5 Approximate solver
  3.1.6 Memory management
  3.1.7 Preprocessor Flags and Include Paths
 3.2 New Features of ABACUS 2.3
  3.2.1 Version macro
  3.2.2 New classes for separation
  3.2.3 Rank for constraints/variables
 3.3 New Features of ABACUS 2.2
  3.3.1 Lp-Solver Xpress
  3.3.2 Lp-Solver Cplex
  3.3.3 Lp-Methods
  3.3.4 New Compilers
  3.3.5 Library Architectures
  3.3.6 Library Creation by the User
  3.3.7 New or Changed Preprocessor Flags
  3.3.8 Templates
  3.3.9 New LP Master Classes
  3.3.10 HTML Documentation
  3.3.11 Parameter Handling
  3.3.12 Name changings
 3.4 New Features of ABACUS 2.1
  3.4.1 Elimination of Constraints and Variables
  3.4.2 Cplex 5.0
  3.4.3 Templates
  3.4.4 Bug Fixes
 3.5 New Features of ABACUS 2.0
  3.5.1 LP-Solver Soplex
  3.5.2 Naming Conventions
  3.5.3 Include File Path
  3.5.4 Advanced Control of the Tailing Off Effect
  3.5.5 Problem Specific Fathoming
  3.5.6 Problem Specific Branching
  3.5.7 Generalized Strong Branching
  3.5.8 Pool without Constraint Duplication
  3.5.9 Visual C++ Compiler
  3.5.10 Compiler Preprocessor Flag
  3.5.11 LP-Solver Preprocessor Flag
  3.5.12 Parameters of Configuration File
  3.5.13 New Functions
  3.5.14 Miscellaneous
4 Design
 4.1 Basics
  4.1.1 Application Base Classes
  4.1.2 Pure Kernel Classes
  4.1.3 Auxiliaries
 4.2 Details
  4.2.1 The Root of the Class-Tree
  4.2.2 The Master
  4.2.3 The Subproblem
  4.2.4 Constraints and Variables
  4.2.5 Constraint and Variable Pools
  4.2.6 Linear Programs
  4.2.7 Auxiliary Classes for Branch-and-Bound
  4.2.8 Basic Generic Data Structures
  4.2.9 Other Basic Data Structures
  4.2.10 Tools
5 Using ABACUS
 5.1 Basics
  5.1.1 Constraints and Variables
  5.1.2 The Master
  5.1.3 The Subproblem
  5.1.4 Starting the Optimization
 5.2 Advanced Features
  5.2.1 Using other Pools
  5.2.2 Pool without Multiple Storage of Items
  5.2.3 Constraints and Variables
  5.2.4 Infeasible Linear Programs
  5.2.5 Other Enumeration Strategies
  5.2.6 Selection of the Branching Variable
  5.2.7 Using other Branching Strategies
  5.2.8 Strong Branching
  5.2.9 Activating and Deactivating a Subproblem
  5.2.10 Calling ABACUS Recursively
  5.2.11 Selecting the LP-Method
  5.2.12 Generating Output
  5.2.13 Memory Management
  5.2.14 Eliminating Constraints
  5.2.15 Eliminating Variables
  5.2.16 Adding Constraints/Variables in General
  5.2.17 Fixing and Setting Variables by Logical Implications
  5.2.18 Loading an Initial Basis
  5.2.19 Integer Objective Functions
  5.2.20 An Entry Point at the End of the Optimization
  5.2.21 Output of Statistics
  5.2.22 Accessing Internal Data of the LP-Solver
  5.2.23 Problem Specific Fathoming Criteria
  5.2.24 Enforcing a Branching Step
  5.2.25 Advanced Tailing Off Control
  5.2.26 System Parameters
  5.2.27 Solver Parameters
  5.2.28 Parameter Handling
 5.3 Using the ABACUS Templates
6 Reference Manual
 6.1 Application Base Classes
 6.2 ABA_ABACUSROOT Class Reference
  6.2.1 Detailed Description
  6.2.2 Member Enumeration Documentation
  6.2.3 Constructor & Destructor Documentation
  6.2.4 Member Function Documentation
 6.3 ABA_GLOBAL Class Reference
  6.3.1 Detailed Description
  6.3.2 Constructor & Destructor Documentation
  6.3.3 Member Function Documentation
  6.3.4 Friends And Related Function Documentation
  6.3.5 Member Data Documentation
 6.4 ABA_MASTER Class Reference
  6.4.1 Detailed Description
  6.4.2 Member Enumeration Documentation
  6.4.3 Constructor & Destructor Documentation
  6.4.4 Member Function Documentation
  6.4.5 Friends And Related Function Documentation
  6.4.6 Member Data Documentation
 6.5 ABA_SUB Class Reference
  6.5.1 Detailed Description
  6.5.2 Member Enumeration Documentation
  6.5.3 Constructor & Destructor Documentation
  6.5.4 Member Function Documentation
  6.5.5 Friends And Related Function Documentation
  6.5.6 Member Data Documentation
 6.6 ABA_CONVAR Class Reference
  6.6.1 Detailed Description
  6.6.2 Constructor & Destructor Documentation
  6.6.3 Member Function Documentation
  6.6.4 Friends And Related Function Documentation
  6.6.5 Member Data Documentation
 6.7 ABA_CONSTRAINT Class Reference
  6.7.1 Detailed Description
  6.7.2 Constructor & Destructor Documentation
  6.7.3 Member Function Documentation
  6.7.4 Friends And Related Function Documentation
  6.7.5 Member Data Documentation
 6.8 ABA_VARIABLE Class Reference
  6.8.1 Detailed Description
  6.8.2 Constructor & Destructor Documentation
  6.8.3 Member Function Documentation
  6.8.4 Member Data Documentation
 6.9 ABA_LPSOLUTION< BaseType, CoType > Class Template Reference
  6.9.1 Detailed Description
  6.9.2 Constructor & Destructor Documentation
  6.9.3 Member Function Documentation
  6.9.4 Friends And Related Function Documentation
  6.9.5 Member Data Documentation
 6.10 ABA_SEPARATOR< BaseType, CoType > Class Template Reference
  6.10.1 Detailed Description
  6.10.2 Constructor & Destructor Documentation
  6.10.3 Member Function Documentation
  6.10.4 Member Data Documentation
 6.11 System Classes
 6.12 ABA_OPTSENSE Class Reference
  6.12.1 Detailed Description
  6.12.2 Member Enumeration Documentation
  6.12.3 Constructor & Destructor Documentation
  6.12.4 Member Function Documentation
  6.12.5 Friends And Related Function Documentation
  6.12.6 Member Data Documentation
 6.13 ABA_CSENSE Class Reference
  6.13.1 Detailed Description
  6.13.2 Member Enumeration Documentation
  6.13.3 Constructor & Destructor Documentation
  6.13.4 Member Function Documentation
  6.13.5 Friends And Related Function Documentation
  6.13.6 Member Data Documentation
 6.14 ABA_VARTYPE Class Reference
  6.14.1 Detailed Description
  6.14.2 Member Enumeration Documentation
  6.14.3 Constructor & Destructor Documentation
  6.14.4 Member Function Documentation
  6.14.5 Friends And Related Function Documentation
  6.14.6 Member Data Documentation
 6.15 ABA_FSVARSTAT Class Reference
  6.15.1 Detailed Description
  6.15.2 Member Enumeration Documentation
  6.15.3 Constructor & Destructor Documentation
  6.15.4 Member Function Documentation
  6.15.5 Friends And Related Function Documentation
  6.15.6 Member Data Documentation
 6.16 ABA_LPVARSTAT Class Reference
  6.16.1 Detailed Description
  6.16.2 Member Enumeration Documentation
  6.16.3 Constructor & Destructor Documentation
  6.16.4 Member Function Documentation
  6.16.5 Friends And Related Function Documentation
  6.16.6 Member Data Documentation
 6.17 ABA_SLACKSTAT Class Reference
  6.17.1 Detailed Description
  6.17.2 Member Enumeration Documentation
  6.17.3 Constructor & Destructor Documentation
  6.17.4 Member Function Documentation
  6.17.5 Friends And Related Function Documentation
  6.17.6 Member Data Documentation
 6.18 ABA_LP Class Reference
  6.18.1 Detailed Description
  6.18.2 Member Enumeration Documentation
  6.18.3 Constructor & Destructor Documentation
  6.18.4 Member Function Documentation
  6.18.5 Friends And Related Function Documentation
  6.18.6 Member Data Documentation
 6.19 ABA_OSIIF Class Reference
  6.19.1 Detailed Description
  6.19.2 Member Enumeration Documentation
  6.19.3 Constructor & Destructor Documentation
  6.19.4 Member Function Documentation
  6.19.5 Member Data Documentation
 6.20 ABA_LPSUB Class Reference
  6.20.1 Detailed Description
  6.20.2 Constructor & Destructor Documentation
  6.20.3 Member Function Documentation
  6.20.4 Friends And Related Function Documentation
  6.20.5 Member Data Documentation
 6.21 ABA_LPSUBOSI Class Reference
  6.21.1 Detailed Description
  6.21.2 Constructor & Destructor Documentation
  6.21.3 Member Function Documentation
 6.22 ABA_LPMASTER Class Reference
  6.22.1 Detailed Description
  6.22.2 Constructor & Destructor Documentation
  6.22.3 Member Function Documentation
  6.22.4 Member Data Documentation
 6.23 ABA_LPMASTEROSI Class Reference
  6.23.1 Detailed Description
  6.23.2 Constructor & Destructor Documentation
  6.23.3 Member Function Documentation
  6.23.4 Friends And Related Function Documentation
 6.24 ABA_BRANCHRULE Class Reference
  6.24.1 Detailed Description
  6.24.2 Constructor & Destructor Documentation
  6.24.3 Member Function Documentation
  6.24.4 Member Data Documentation
 6.25 ABA_SETBRANCHRULE Class Reference
  6.25.1 Detailed Description
  6.25.2 Constructor & Destructor Documentation
  6.25.3 Member Function Documentation
  6.25.4 Friends And Related Function Documentation
  6.25.5 Member Data Documentation
 6.26 ABA_BOUNDBRANCHRULE Class Reference
  6.26.1 Detailed Description
  6.26.2 Constructor & Destructor Documentation
  6.26.3 Member Function Documentation
  6.26.4 Friends And Related Function Documentation
  6.26.5 Member Data Documentation
 6.27 ABA_VALBRANCHRULE Class Reference
  6.27.1 Detailed Description
  6.27.2 Constructor & Destructor Documentation
  6.27.3 Member Function Documentation
  6.27.4 Friends And Related Function Documentation
  6.27.5 Member Data Documentation
 6.28 ABA_CONBRANCHRULE Class Reference
  6.28.1 Detailed Description
  6.28.2 Constructor & Destructor Documentation
  6.28.3 Member Function Documentation
  6.28.4 Friends And Related Function Documentation
  6.28.5 Member Data Documentation
 6.29 ABA_POOL< BaseType, CoType > Class Template Reference
  6.29.1 Detailed Description
  6.29.2 Member Enumeration Documentation
  6.29.3 Constructor & Destructor Documentation
  6.29.4 Member Function Documentation
  6.29.5 Member Data Documentation
 6.30 ABA_STANDARDPOOL< BaseType, CoType > Class Template Reference
  6.30.1 Detailed Description
  6.30.2 Constructor & Destructor Documentation
  6.30.3 Member Function Documentation
  6.30.4 Friends And Related Function Documentation
  6.30.5 Member Data Documentation
 6.31 ABA_NONDUPLPOOL< BaseType, CoType > Class Template Reference
  6.31.1 Detailed Description
  6.31.2 Constructor & Destructor Documentation
  6.31.3 Member Function Documentation
  6.31.4 Member Data Documentation
 6.32 ABA_POOLSLOT< BaseType, CoType > Class Template Reference
  6.32.1 Detailed Description
  6.32.2 Constructor & Destructor Documentation
  6.32.3 Member Function Documentation
  6.32.4 Friends And Related Function Documentation
  6.32.5 Member Data Documentation
 6.33 ABA_POOLSLOTREF< BaseType, CoType > Class Template Reference
  6.33.1 Detailed Description
  6.33.2 Constructor & Destructor Documentation
  6.33.3 Member Function Documentation
  6.33.4 Friends And Related Function Documentation
  6.33.5 Member Data Documentation
 6.34 ABA_ROW Class Reference
  6.34.1 Detailed Description
  6.34.2 Constructor & Destructor Documentation
  6.34.3 Member Function Documentation
  6.34.4 Friends And Related Function Documentation
  6.34.5 Member Data Documentation
 6.35 ABA_COLUMN Class Reference
  6.35.1 Detailed Description
  6.35.2 Constructor & Destructor Documentation
  6.35.3 Member Function Documentation
  6.35.4 Friends And Related Function Documentation
  6.35.5 Member Data Documentation
 6.36 ABA_NUMCON Class Reference
  6.36.1 Detailed Description
  6.36.2 Constructor & Destructor Documentation
  6.36.3 Member Function Documentation
  6.36.4 Friends And Related Function Documentation
  6.36.5 Member Data Documentation
 6.37 ABA_ROWCON Class Reference
  6.37.1 Detailed Description
  6.37.2 Constructor & Destructor Documentation
  6.37.3 Member Function Documentation
  6.37.4 Member Data Documentation
 6.38 ABA_NUMVAR Class Reference
  6.38.1 Detailed Description
  6.38.2 Constructor & Destructor Documentation
  6.38.3 Member Function Documentation
  6.38.4 Friends And Related Function Documentation
  6.38.5 Member Data Documentation
 6.39 ABA_SROWCON Class Reference
  6.39.1 Detailed Description
  6.39.2 Constructor & Destructor Documentation
  6.39.3 Member Function Documentation
 6.40 ABA_COLVAR Class Reference
  6.40.1 Detailed Description
  6.40.2 Constructor & Destructor Documentation
  6.40.3 Member Function Documentation
  6.40.4 Friends And Related Function Documentation
  6.40.5 Member Data Documentation
 6.41 ABA_ACTIVE< BaseType, CoType > Class Template Reference
  6.41.1 Detailed Description
  6.41.2 Constructor & Destructor Documentation
  6.41.3 Member Function Documentation
  6.41.4 Friends And Related Function Documentation
  6.41.5 Member Data Documentation
 6.42 ABA_CUTBUFFER< BaseType, CoType > Class Template Reference
  6.42.1 Detailed Description
  6.42.2 Constructor & Destructor Documentation
  6.42.3 Member Function Documentation
  6.42.4 Friends And Related Function Documentation
  6.42.5 Member Data Documentation
 6.43 ABA_INFEASCON Class Reference
  6.43.1 Detailed Description
  6.43.2 Member Enumeration Documentation
  6.43.3 Constructor & Destructor Documentation
  6.43.4 Member Function Documentation
  6.43.5 Member Data Documentation
 6.44 ABA_OPENSUB Class Reference
  6.44.1 Detailed Description
  6.44.2 Constructor & Destructor Documentation
  6.44.3 Member Function Documentation
  6.44.4 Friends And Related Function Documentation
  6.44.5 Member Data Documentation
 6.45 ABA_FIXCAND Class Reference
  6.45.1 Detailed Description
  6.45.2 Constructor & Destructor Documentation
  6.45.3 Member Function Documentation
  6.45.4 Friends And Related Function Documentation
  6.45.5 Member Data Documentation
 6.46 ABA_TAILOFF Class Reference
  6.46.1 Detailed Description
  6.46.2 Constructor & Destructor Documentation
  6.46.3 Member Function Documentation
  6.46.4 Friends And Related Function Documentation
  6.46.5 Member Data Documentation
 6.47 ABA_HISTORY Class Reference
  6.47.1 Detailed Description
  6.47.2 Constructor & Destructor Documentation
  6.47.3 Member Function Documentation
  6.47.4 Friends And Related Function Documentation
  6.47.5 Member Data Documentation
 6.48 Basic Data Structures
 6.49 ABA_SPARVEC Class Reference
  6.49.1 Detailed Description
  6.49.2 Constructor & Destructor Documentation
  6.49.3 Member Function Documentation
  6.49.4 Friends And Related Function Documentation
  6.49.5 Member Data Documentation
 6.50 ABA_SET Class Reference
  6.50.1 Detailed Description
  6.50.2 Constructor & Destructor Documentation
  6.50.3 Member Function Documentation
  6.50.4 Member Data Documentation
 6.51 ABA_FASTSET Class Reference
  6.51.1 Detailed Description
  6.51.2 Constructor & Destructor Documentation
  6.51.3 Member Function Documentation
  6.51.4 Member Data Documentation
 6.52 ABA_STRING Class Reference
  6.52.1 Detailed Description
  6.52.2 Constructor & Destructor Documentation
  6.52.3 Member Function Documentation
  6.52.4 Friends And Related Function Documentation
 6.53 Templates
 6.54 ABA_ARRAY< Type > Class Template Reference
  6.54.1 Detailed Description
  6.54.2 Constructor & Destructor Documentation
  6.54.3 Member Function Documentation
  6.54.4 Friends And Related Function Documentation
  6.54.5 Member Data Documentation
 6.55 ABA_BUFFER< Type > Class Template Reference
  6.55.1 Detailed Description
  6.55.2 Constructor & Destructor Documentation
  6.55.3 Member Function Documentation
  6.55.4 Friends And Related Function Documentation
  6.55.5 Member Data Documentation
 6.56 ABA_LISTITEM< Type > Class Template Reference
  6.56.1 Detailed Description
  6.56.2 Constructor & Destructor Documentation
  6.56.3 Member Function Documentation
  6.56.4 Friends And Related Function Documentation
  6.56.5 Member Data Documentation
 6.57 ABA_LIST< Type > Class Template Reference
  6.57.1 Detailed Description
  6.57.2 Constructor & Destructor Documentation
  6.57.3 Member Function Documentation
  6.57.4 Friends And Related Function Documentation
  6.57.5 Member Data Documentation
 6.58 ABA_DLISTITEM< Type > Class Template Reference
  6.58.1 Detailed Description
  6.58.2 Constructor & Destructor Documentation
  6.58.3 Member Function Documentation
  6.58.4 Friends And Related Function Documentation
  6.58.5 Member Data Documentation
 6.59 ABA_DLIST< Type > Class Template Reference
  6.59.1 Detailed Description
  6.59.2 Constructor & Destructor Documentation
  6.59.3 Member Function Documentation
  6.59.4 Friends And Related Function Documentation
  6.59.5 Member Data Documentation
 6.60 ABA_RING< Type > Class Template Reference
  6.60.1 Detailed Description
  6.60.2 Constructor & Destructor Documentation
  6.60.3 Member Function Documentation
  6.60.4 Friends And Related Function Documentation
  6.60.5 Member Data Documentation
 6.61 ABA_BSTACK< Type > Class Template Reference
  6.61.1 Detailed Description
  6.61.2 Constructor & Destructor Documentation
  6.61.3 Member Function Documentation
  6.61.4 Friends And Related Function Documentation
  6.61.5 Member Data Documentation
 6.62 ABA_BHEAP< Type, Key > Class Template Reference
  6.62.1 Detailed Description
  6.62.2 Constructor & Destructor Documentation
  6.62.3 Member Function Documentation
  6.62.4 Friends And Related Function Documentation
  6.62.5 Member Data Documentation
 6.63 ABA_BPRIOQUEUE< Type, Key > Class Template Reference
  6.63.1 Detailed Description
  6.63.2 Constructor & Destructor Documentation
  6.63.3 Member Function Documentation
  6.63.4 Member Data Documentation
 6.64 ABA_HASH< KeyType, ItemType > Class Template Reference
  6.64.1 Detailed Description
  6.64.2 Constructor & Destructor Documentation
  6.64.3 Member Function Documentation
  6.64.4 Friends And Related Function Documentation
  6.64.5 Member Data Documentation
 6.65 ABA_DICTIONARY< KeyType, ItemType > Class Template Reference
  6.65.1 Detailed Description
  6.65.2 Constructor & Destructor Documentation
  6.65.3 Member Function Documentation
  6.65.4 Friends And Related Function Documentation
  6.65.5 Member Data Documentation
 6.66 Tools
 6.67 ABA_SORTER< ItemType, KeyType > Class Template Reference
  6.67.1 Detailed Description
  6.67.2 Constructor & Destructor Documentation
  6.67.3 Member Function Documentation
  6.67.4 Member Data Documentation
 6.68 ABA_TIMER Class Reference
  6.68.1 Detailed Description
  6.68.2 Constructor & Destructor Documentation
  6.68.3 Member Function Documentation
  6.68.4 Friends And Related Function Documentation
  6.68.5 Member Data Documentation
 6.69 ABA_CPUTIMER Class Reference
  6.69.1 Detailed Description
  6.69.2 Constructor & Destructor Documentation
  6.69.3 Member Function Documentation
  6.69.4 Member Data Documentation
 6.70 ABA_COWTIMER Class Reference
  6.70.1 Detailed Description
  6.70.2 Constructor & Destructor Documentation
  6.70.3 Member Function Documentation
  6.70.4 Member Data Documentation
 6.71 ABA_OSTREAM Class Reference
  6.71.1 Detailed Description
  6.71.2 Constructor & Destructor Documentation
  6.71.3 Member Function Documentation
  6.71.4 Friends And Related Function Documentation
  6.71.5 Member Data Documentation
 6.72 Preprocessor Flags
7 Warranty and Copyright
 7.1 Warranty
 7.2 Copyright