Next:
Introduction
Up:
ABACUS 2.0
Previous:
ABACUS 2.0
Contents
Introduction
Installation
Obtaining ABACUS
Platforms
Compiler
UNIX
Windows NT
Compiler Selection
LP-Solver
Cplex
SoPlex
Installation of the Files
UNIX-Platforms
Windows NT
The License
UNIX
Windows NT
Environment Variables
UNIX-Platforms
Windows NT
Compiling and Linking
UNIX
Windows NT
Problems
New Features
LP-Solver SoPlex
Naming Conventions
Include File Path
Advanced Control of the Tailing Off Effect
Problem Specific Fathoming
Problem Specific Branching
Generalized Strong Branching
Pool without Constraint Duplication
Visual C++ Compiler
Compiler Preprocessor Flag
LP-Solver Preprocessor Flag
Parameters of Configuration File
NBranchingVariableCandidates
DefaultLpSolver
SoPlexRepresentation
New Functions
Miscellaneous
Design
Basics
Application Base Classes
The Master
The Subproblem
The Constraints and Variables
Pure Kernel Classes
The Root of the Class Tree
The Linear Program
The Pool
The Branch-and-Bound Auxiliary Classes
Auxiliaries
The Basic Data Structures
The Tools
Details
The Root of the Class-Tree
The Master
The Base Class Global
Branch-and-Bound Data and Functions
Limits on the Optimization Process
The Initialization of the Branch-and-Bound Tree
The Sense of the Optimization
Reading Parameters
The Subproblem
The Root Node of the Branch-and-Bound Tree
The Other Nodes of the Branch-and-Bound Tree
Branch-and-Bound
The Optimization of the Subproblem
Adding Constraints
Adding Variables
Buffering New Constraints and Variables
Removing Constraints and Variables
The Active Constraints and Variables
The Linear Program
The LP-Method
Generation of Non-Liftable Constraints
Reoptimization
Branching
Memory Allocation
Activation and Deactivation
Constraints and Variables
Constraint/Variable versus Row/Column
Common Features of Constraints and Variables
Constraints
Variables
Constraint and Variable Pools
Pool Separation/Pricing
Garbage Collection
Pool Slots
Standard Pool
Default Pools
Linear Programs
The Basic Interface
The LP-Solver Cplex
The LP-Solver SoPlex
Linear Programming Relaxations
Solving Linear Programming Relaxations
Auxiliary Classes for Branch-and-Bound
The Set of Open Subproblems
Buffering Generated Variables and Constraints
Branching
Candidates for Fixing
Tailing Off
Solution History
Basic Generic Data Structures
Arrays
A Buffer for Objects
Bounded Stack
Ring
Linked Lists
Bounded Heap
Bounded Priority Queue
Hash Table
Dictionary
Other Basic Data Structures
Sparse Vector
String
Disjoint Sets
Tools
Output Streams
Timers
Sorting
Using ABACUS
Basics
Constraints and Variables
The Master
The Constructor
Initialization of the Constraints and Variables
The First Subproblem
The Subproblem
The Constructors
The Feasibility Check
The Generation of the Sons
A Branch-and-Bound Algorithm
The Separation
Pricing out Inactive Variables
Primal Heuristics
Accessing Important Data
Starting the Optimization
Advanced Features
Using other Pools
Pool without Multiple Storage of Items
Constraints and Variables
Constraints
Variables
Infeasible Linear Programs
Other Enumeration Strategies
Selection of the Branching Variable
Using other Branching Strategies
Branching on a Variable
Branching on a Constraint
Problem Specific Branching Rules
Strong Branching
Default Strong Branching
Strong Branching with Special Branching Variable Selection
Ranking Branching Rules
Comparing Branching Samples
Selecting Branching Samples
Strong Branching with other Branching Rules
Activating and Deactivating a Subproblem
Calling ABACUS Recursively
Selecting the LP-Method
Generating Output
Memory Management
Eliminating Constraints
Eliminating Variables
Adding Constraints/Variables in General
Activation of a Subproblem
Deactivation of a Subproblem
Fixing and Setting Variables by Logical Implications
Loading an Initial Basis
Integer Objective Functions
An Entry Point at the End of the Optimization
Output of Statistics
Accessing Internal Data of the LP-Solver
Accessing Internal Data of Cplex
Accessing Internal Data of SoPlex
Problem Specific Fathoming Criteria
Enforcing a Branching Step
Advanced Tailing Off Control
Parameters
EnumerationStrategy
Guarantee
MaxLevel
MaxCpuTime
MaxCowTime
ObjInteger
TailOffNLps
TailOffPercent
DelayedBranchingThreshold
MinDormantRounds
OutputLevel
LogLevel
PrimalBoundInitMode
PricingFrequency
SkipFactor
SkippingMode
FixSetByRedCost
PrintLP
CplexPrimalPricing
CplexDualPricing
CplexOutputLevel
MaxConAdd
MaxConBuffered
MaxVarAdd
MaxVarBuffered
MaxIterations
EliminateFixedSet
NewRootReOptimize
OptimumFileName
ShowAverageCutDistance
ConstraintEliminationMode
VariableEliminationMode
ConElimEps
VarElimEps
VbcLog
NBranchingVariableCandidates
DefaultLpSolver
SoPlexRepresentation
Reading a Parameter File
Using the ABACUS Templates
Reference Manual
Application Base Classes
ABA_ABACUSROOT
enum EXITCODES
Destructor (
virtual
)
exit (
virtual
)
onOff
fracPart
ABA_GLOBAL
Constructor
Destructor (
virtual
)
Output Operator
out (
virtual
)
err (
virtual
)
eps
eps
machineEps
machineEps
infinity
infinity
isInfinity
isMinusInfinity
equal
isInteger
isInteger
enter (
virtual
)
ABA_MASTER
enum STATUS
enum OUTLEVEL
enum ENUMSTRAT
enum BRANCHINGSTRAT
enum PRIMALBOUNDMODE
enum SKIPPINGMODE
enum CONELIMMODE
enum VARELIMMODE
enum VBCMODE
enum VBCMODE
firstSub (
virtual
)
Constructor
Destructor (
virtual
)
optimize
initializeOptimization (
virtual
)
initializePools (
virtual
)
initializePools (
virtual
)
intializeOptSense
terminateOptimization (
virtual
)
enumerationStrategy (
virtual
)
bestFirstSearch
equalSubCompare (
virtual
)
depthFirstSearch
breadthFirstSearch
diveAndBestFirstSearch
lowerBound
upperBound
primalBound
primalBound
dualBound
dualBound
betterDual
primalViolated
betterPrimal
feasibleFound
root
rRoot
guaranteed
guarantee
printGuarantee
check
knownOptimum
output (
virtual
)
problemName
optSense
history
openSub
conPool
cutPool
varPool
cutting
pricing
totalCowTime
totalTime
lpTime
lpSolverTime
separationTime
improveTime
pricingTime
branchingTime
nSub
nLp
highestLevel
nNewRoot
nSubSelected
initializeParameters (
virtual
)
readParameters
getParameter
getParameter
getParameter
getParameter
getParameter
getParameter
printParameters
fixSetByRedCost
fixSetByRedCost
printLP
printLP
cplexPrimalPricing
cplexPrimalPricing
cplexDualPricing
cplexDualPricing
cplexOutputLevel
cplexOutputLevel
maxConAdd
maxConAdd
maxConBuffered
maxConBuffered
maxVarAdd
maxVarAdd
maxVarBuffered
maxVarBuffered
maxIterations
maxIterations
optimumFileName
optimumFileName
eliminateFixedSet
eliminateFixedSet
newRootReOptimize
newRootReOptimize
showAverageCutDistance
showAverageCutDistance
vbcLog
vbcLog
conElimMode
conElimMode
varElimMode
varElimMode
conElimEps
conElimEps
varElimEps
varElimEps
enumerationStrategy
enumerationStrategy
branchingStrategy
branchingStrategy
defaultLpSolver
defaultLpSolver
soPlexRowRep
soPlexRowRep
nBranchingVariableCandidates
nbranchingVariableCandidates
requiredGuarantee
requiredGuarantee
maxLevel
maxLevel
maxCpuTime
maxCpuTime
maxCowTime
maxCowtime
objInteger
objInteger
tailOffNLp
tailOffNLp
tailOffPercent
tailOffPercent
outLevel
outLevel
logLevel
logLevel
delayedBranching
dbThreshold
dbThreshold
minDormantRound
minDormantRounds
pbMode
pbMode
pricingFreq
pricingFreq
skipFactor
skipFactor
skippingMode
skippingMode
ABA_SUB
enum STATUS
enum PHASE
master_
actCon_
actVar_
father_
lp_
fsVarStat_
lpVarStat_
lBound_
uBound_
slackStat_
tailOff_
dualBound_
nIter_
lastIterConAdd_
lastIterVarAdd_
branchRule_
allBranchOnSetVars_
lpMethod_
addVarBuffer_
addConBuffer_
removeVarBuffer_
removeConBuffer_
xVal_
yVal_
bInvRow_
infeasCon_
infeasVar_
genNonLiftCons_
feasible (
virtual
)
generateSon (
virtual
)
Constructor
Constructor
Destructor (
virtual
)
optimize (
virtual
)
activate (
virtual
)
initializeVars (
virtual
)
initializeCons (
virtual
)
deactivate (
virtual
)
setByLogImp (
virtual
)
cutting (
virtual
)
prepareBranching (
virtual
)
solveLp (
virtual
)
exceptionFathom (
virtual
)
exceptionBranch (
virtual
)
fixAndSetTime (
virtual
)
makeFeasible (
virtual
)
goodCol (
virtual
)
pricing (
virtual
)
primalSeparation (
virtual
)
xVal
yVal
dualRound (
virtual
)
guaranteed (
virtual
)
guarantee (
virtual
)
ancestor
removeNonLiftableCons (
virtual
)
chooseLpMethod (
virtual
)
master
removeVars (
virtual
)
removeVar (
virtual
)
selectVars (
virtual
)
selectCons (
virtual
)
nnzReserve
relativeReserve
branchRule
addCons (
virtual
)
addVars (
virtual
)
variablePoolSeparation (
virtual
)
constraintPoolSeparation (
virtual
)
addConBufferSpace
addVarBufferSpace
objAllInteger
integerFeasible
nDormantRounds
ignoreInTailingOff
branching (
virtual
)
generateBranchRules (
virtual
)
branchingOnVariable (
virtual
)
selectBranchingVariable (
virtual
)
selectBranchingVariableCandidates
closeHalf
closeHalf
closeHalfExpensive
closeHalfExpensive
findNonFixedSet
findNonFixedSet
selectBestBranchingSample (
virtual
)
rankBranchingSample (
virtual
)
rankBranchRule (
virtual
)
lpRankBranchingRule
compareBranchingSampleRanks (
virtual
)
fathoming (
virtual
)
fathom (
virtual
)
fixAndSet (
virtual
)
fixing (
virtual
)
setting (
virtual
)
fixByRedCost (
virtual
)
fixByLogImp (
virtual
)
setByRedCost (
virtual
)
constraint
variable
lBound
lBound
uBound
uBound
fsVarStat
lpVarStat
slackStat
generateLp (
virtual
)
reoptimize (
virtual
)
level
id
lowerBound
upperBound
dualBound
dualBound
betterDual
father
lp
boundCrash
status
maxIterations
fix (
virtual
)
set (
virtual
)
set (
virtual
)
set (
virtual
)
pausing (
virtual
)
conEliminate (
virtual
)
nonBindingConEliminate (
virtual
)
basicConEliminate (
virtual
)
varEliminate (
virtual
)
redCostVarEliminate
fathomTheSubTree (
virtual
)
actCon
actVar
separate (
virtual
)
improve (
virtual
)
infeasible
addVars (
virtual
)
addCons (
virtual
)
removeCons (
virtual
)
removeCon (
virtual
)
varRealloc (
virtual
)
conRealloc (
virtual
)
nVar
nCon
maxVar
maxCon
initializeLp (
virtual
)
initMakeFeas (
virtual
)
tailingOff (
virtual
)
ABA_CONVAR
master_
sub_
expanded_
nReferences_
dynamic_
nActive_
nLocks_
local_
Constructor
Destructor (
virtual
)
active
local
global
sub
sub
dynamic (
virtual
)
expanded
_expand
_compress
expand (
virtual
)
compress (
virtual
)
print (
virtual
)
hashKey (
virtual
)
name (
virtual
)
equal (
virtual
)
ABA_CONSTRAINT
sense_
rhs_
conClass_
liftable_
coeff (
virtual
)
Constructor
Constructor
Copy Constructor
Destructor (
virtual
)
sense
rhs (
virtual
)
liftable
valid (
virtual
)
genRow (
virtual
)
slack (
virtual
)
violated (
virtual
)
violated (
virtual
)
voidLhsViolated (
virtual
)
printRow
distance (
virtual
)
ABA_VARIABLE
fsVarStat_
obj_
lBound_
uBound_
type_
Constructor
Destructor (
virtual
)
varType
discrete
binary
integer
obj (
virtual
)
lBound
lBound
uBound
uBound
fsVarStat
valid (
virtual
)
coeff (
virtual
)
genColumn (
virtual
)
violated (
virtual
)
violated (
virtual
)
redCost (
virtual
)
useful (
virtual
)
printcol
System Classes
ABA_OPTSENSE
enum SENSE
Constructor
Output Operator
sense
sense
min
max
unknown
ABA_CSENSE
enum SENSE
Constructor
Constructor
Constructor
Output Operator
Assignment Operator
sense
sense
sense
ABA_VARTYPE
enum TYPE
Constructor
Constructor
Output Operator
type
type
discrete
binary
integer
ABA_FSVARSTAT
enum STATUS
Constructor
Constructor
Constructor
Constructor
Output Operator
status
status
status
status
value
value
fixed
set
fixedOrSet
contradiction
contradiction
ABA_LPVARSTAT
enum STATUS
Constructor
Constructor
Constructor
Output Operator
status
status
status
atBound
basic
ABA_SLACKSTAT
enum STATUS
Constructor
Constructor
Output Stream
status
status
status
ABA_LP
enum OPTSTAT
enum SOLSTAT
enum METHOD
Constructor
Destructor (
virtual
)
initialize
initialize
loadBasis (
virtual
)
optimize (
virtual
)
remRows
addRows
rowRealloc
remCols
addCols
colRealloc
changeRhs
changeLBound (
virtual
)
changeUBound (
virtual
)
pivotSlackVariableIn (
virtual
)
sense
sense
nRow
maxRow
nCol
maxCol
nnz
obj
lBound
uBound
row
rhs
value (
virtual
)
xVal (
virtual
)
barXVal (
virtual
)
reco (
virtual
)
yVal (
virtual
)
slack (
virtual
)
xValStatus
barXValStatus
recoStatus
yValStatus
slackStatus
basisStatus
nOpt
infeasible (
virtual
)
getInfeas (
virtual
)
lpVarStat (
virtual
)
slackStat (
virtual
)
colsNnz
rows2cols
rowRangeCheck
colRangeCheck
Output Operator
writeBasisMatrix
setSimplexIterationLimit
getSimplexIterationLimit
ABA_CPLEXIF
Constructor
Constructor
Destructor (
virtual
)
iterationInformation
setppriind
setdpriind
CPXgetdblparam
CPXsetdblparam
CPXgetintparam
CPXsetintparam
cplexLp
cplexEnv
print
ABA_SOPLEXIF
Constructor
Constructor
Destructor (
virtual
)
Output Operator
soplex
ABA_LPSUB
Constructor
Destructor (
virtual
)
initialize
trueNCol
trueNnz
lBound (
virtual
)
uBound (
virtual
)
value (
virtual
)
xVal (
virtual
)
barXVal (
virtual
)
reco (
virtual
)
lpVarStat (
virtual
)
getInfeas (
virtual
)
infeasible (
virtual
)
infeasCon
loadBasis (
virtual
)
ABA_LPSUBCPLEX
Constructor
Destructor (
virtual
)
ABA_LPSUBSOPLEX
Constructor
Destructor (
virtual
)
ABA_BRANCHRULE
master_
extract (
virtual
)
Constructor
Destructor (
virtual
)
branchOnSetVar (
virtual
)
extract (
virtual
)
unExtract (
virtual
)
initialize (
virtual
)
ABA_SETBRANCHRULE
Constructor
Destructor (
virtual
)
Output Operator
extract (
virtual
)
extract (
virtual
)
branchOnSetVar (
virtual
)
setToUpperBound
variable
ABA_BOUNDBRANCHRULE
Constructor
Destructor (
virtual
)
Output Operator
extract (
virtual
)
variable
lBound
uBound
ABA_VALBRANCHRULE
Constructor
Destructor (
virtual
)
Output Operator
extract (
virtual
)
variable
value
ABA_CONBRANCHRULE
Constructor
Destructor (
virtual
)
Output Operator
extract (
virtual
)
initialize (
virtual
)
constraint (
virtual
)
ABA_POOL
enum RANKING
master_
number_
separate (
virtual
)
insert (
virtual
)
getSlot (
virtual
)
putSlot (
virtual
)
Constructor
Destructor (
virtual
)
removeConVar
softDeleteConVar
hardDeleteConVar
number
ABA_STANDARDPOOL
Constructor
Destructor (
virtual
)
Output Operator
insert (
virtual
)
increase (
virtual
)
cleanup
size
slot
separate (
virtual
)
ABA_NONDUPLPOOL
Constructor
Destructor (
virtual
)
insert (
virtual
)
present
increase (
virtual
)
statistics
ABA_POOLSLOT
Constructor
Destructor
conVar
ABA_POOLSLOTREF
Constructor
Constructor
Copy Constructor
Destructor
Output Operator
conVar
version
slot
slot
ABA_ROW
sense_
rhs_
Constructor
Constructor
Constructor
Constructor
Destructor (
virtual
)
Output Operator
rhs
rhs
sense
sense
sense
copy
delInd
ABA_COLUMN
Constructor
Constructor
Constructor
Destructor (
virtual
)
Output Operator
obj
obj
lBound
lBound
uBound
uBound
copy
ABA_NUMCON
Constructor
Destructor (
virtual
)
Output Operator
coeff (
virtual
)
print (
virtual
)
number
ABA_ROWCON
row_
Constructor
Constructor
Destructor (
virtual
)
coeff (
virtual
)
print (
virtual
)
row
ABA_NUMVAR
numvar_
Constructor
Destructor (
virtual
)
Output Operator
number
ABA_SROWCON
Constructor
Constructor
Destructor (
virtual
)
genRow (
virtual
)
slack (
virtual
)
ABA_COLVAR
column_
Constructor
Constructor
Destructor (
virtual
)
Output Operator
print (
virtual
)
coeff (
virtual
)
coeff
column
ABA_ACTIVE
Constructor
Constructor
Copy Constructor
Destructor
Output Operator
number
max
Subscript Operator
poolSlotRef
insert
insert
remove
realloc
ABA_CUTBUFFER
Constructor
Destructor
size
number
space
slot
insert
insert
remove
ABA_INFEASCON
enum INFEAS
Constructor
constraint
infeas
goodVar
ABA_OPENSUB
Constructor
number
emtpy
dualBound
ABA_FIXCAND
Constructor
Destructor
ABA_TAILOFF
Constructor
Destructor
Output Operator
tailOff
diff
ABA_HISTORY
Constructor
Output Operator
update
Basic Data Structures
ABA_SPARVEC
glob_
size_
nnz_
reallocFac_
support_
coeff_
Constructor
Constructor
Constructor
Copy Constructor
Destructor
Assignment Operator
Output Operator
support
coeff
origcoeff
insert
leftShift
copy
clear
rename
size
nnz
norm
realloc
realloc
rangeCheck
ABA_SET
glob_
parent_
Constructor
makeSet
unionSets
findSet
ABA_FASTSET
Constructor
unionSets()
ABA_STRING
Constructor
Constructor
Copy Constructor
Destructor
Assignment Operator
Assignment Operator
Comparison Operator
Comparison Operator
Not-Equal Operator
Not-Equal Operator
Output Operator
Subscript Operator
Subscript Operator
size
ascii2int
ascii2double
ascii2unsignedint
ascii2bool
ending
string
Templates
ABA_ARRAY
Constructor
Constructor
Constructor
Copy Constructor
Destructor
Assignment Operator
Assignment Operator
Output Operator
Subscript Operator
Subscript Operator
copy
copy
leftShift
leftShift
set
set
size
realloc
realloc
ABA_BUFFER
Constructor
Copy Constructor
Destructor
Assignment Operator
Output Operator
Subscript Operator
Subscript Operator
size
number
full
empty
push
pop
clear
leftShift
realloc
ABA_LISTITEM
Constructor
Output Operator
elem
succ
ABA_LIST
forAllListElem
Constructor
Destructor
Output Operator
appendHead
appendTail
extractHead
firstElem
empty
ABA_DLISTITEM
Constructor
Output Operator
elem
succ
pred
ABA_DLIST
forAllDListElem
Constructor
Destructor
Output Operator
append
extractHead
removeHead
remove
empty
firstElem
ABA_RING
Constructor
Output Operator
Subscript Operator
Subscript Operator
insert
clear
size
number
oldest
oldestIndex
newest
newestIndex
previous
empty
filled
realloc
ABA_BSTACK
Constructor
Output Operator
size
tos
empty
full
push
top
pop
realloc
ABA_BHEAP
Constructor
Constructor
Output Operator
insert
getMin
getMinKey
extractMin
clear
size
number
empty
realloc
ABA_BPRIOQUEUE
Constructor
insert
getMin
getMinKey
extractMin
clear
size
number
realloc
ABA_HASH
Constructor
Destructor
Output Operator
insert
overWrite
find
find
initializeIteration
next
remove
remove
size
nCollisions
resize
ABA_DICTIONARY
Constructor
Output Operator
insert
lookUp
Tools
ABA_SORTER
Constructor
quickSort
quickSort
heapSort
ABA_TIMER
glob_
Output Operator
start
stop
reset
running
centiSeconds
seconds
minutes
hours
exceeds
theTime
ABA_CPUTIMER
Constructor
Constructor
Destructor (
virtual
)
ABA_COWTIMER
Constructor
Constructor
Destructor (
virtual
)
Constructor
Destructor
Output Operators
Output Operators
Output Operators
Output Operators
Output Operators
Output Operators
Output Operators
Output Operators
Output Operators
Output Operators
Output Operators
Output Operators
Output Operators
Output Operators
Output Operators
Output Operators
Output Operators
Output Operators
Manipulator
off
on
logOn
logOn
logOff
log
setFormatFlag
isOn
isLogOn
flush
endl
_setWidth
_setPrecision
setWidth
setPrecision
Preprocessor Flags
Warranty and Copyright
Warranty
Copyright
References
Index
About this document ...
Stefan Thienel
Fri Sep 19 11:32:54 MET DST 1997