149 double infinity = std::numeric_limits<double>::max();
LOGGING_DESTINATION
Enum for controlling where logging information of MAiNGO should be written.
Definition: settings.h:38
unsigned BAB_printFreq
After how many iterations to print progress on screen (additionally, a line is printed when a new inc...
Definition: settings.h:159
(=43): optimization using CLP. Called only for LPs.
Definition: settings.h:111
double MC_envelTol
Tolerance for computing the envelopes of intrinsic functions (see MC++ documentation for details) ...
Definition: settings.h:221
unsigned UBP_maxStepsPreprocessing
Maximum number of steps the local solver is allowed to take in each local run during multistart in pr...
Definition: settings.h:229
bool UBP_ignoreNodeBounds
Flag indicating whether the UBP solvers should ignore the box constraints of the current node during ...
Definition: settings.h:234
(=3) : Linearize at mid point + (n+1)/2 points given as vertices of the (n+1) simplex where n is the ...
Definition: settings.h:82
VERB LBP_verbosity
How much output to print from Lower Bounding Solver. See documentation of maingo::VERB for possible v...
Definition: settings.h:157
double targetUpperBound
Target value for the upper bound on the optimal objective. MAiNGO terminates once UBD<=targetUpperBou...
Definition: settings.h:148
NS
Enum for selecting the Node Selection heuristic.
Definition: babUtils.h:143
(=4) : Linearize at mid point + (n+1)/2 random points
Definition: settings.h:83
(=0): Do not write the current model to a file
Definition: settings.h:50
bool confirmTermination
Whether to ask the user before terminating when reaching time, node, or iteration limits...
Definition: settings.h:145
LINP
Enum for selecting the Linearization Points to be used in constructing affine relaxations.
Definition: settings.h:78
bool BAB_constraintPropagation
Whether to do constraint propagation. If false, no constraint propagation is executed.
Definition: settings.h:194
double UBP_maxTimeBab
Maximum CPU time the local solver is allowed to take at each BaB node. Usually, this should only be a...
Definition: settings.h:233
bool LBP_addAuxiliaryVars
Whether to add auxiliary variables for common factors in the lower bounding DAG/problem.
Definition: settings.h:210
bool LBP_subgradientIntervals
Whether to use the heuristic to improve McCormick relaxations by tightening the range of each factor ...
Definition: settings.h:207
LBP_SOLVER
Enum for selecting the STRATegy so be used for solving the lower bounding problems.
Definition: settings.h:67
(=2): local optimization using BOBYQA (derivative free unconstrained solver in NLopt, constructs quadratic approximations; constraints are moved to the objective via augmented Lagrangian method)
Definition: settings.h:105
unsigned BAB_logFreq
Like BAB_printFreq, but for log.
Definition: settings.h:160
bool BAB_alwaysSolveObbt
Whether to solve OBBT (feasibility- and, once a feasible point has been found, also optimality-based)...
Definition: settings.h:191
Struct for storing settings for MAiNGO.
Definition: settings.h:125
WRITING_LANGUAGE modelWritingLanguage
In what modeling language to write the current model to a file in. See documentation of maingo::WRITI...
Definition: settings.h:167
BV
Enum for selecting the Branching Variable selection heuristic.
Definition: babUtils.h:153
(=0): Do not print or write any logging information
Definition: settings.h:39
bool terminateOnFeasiblePoint
Whether to terminate as soon as the first feasible point was found (no guarantee of global or local o...
Definition: settings.h:146
(=1): solution of lower bounding problems using only interval based relaxations
Definition: settings.h:69
bool writeResultFile
Whether to write an additional file containing non-standard information about the solved model...
Definition: settings.h:163
(=6): local optimization using Knitro (using the exact Hessian)
Definition: settings.h:109
(=0) : Linearize only at the midpoint of the current node */
Definition: settings.h:79
double infinity
User definition of infinity (used to initialize UBD and LBD) [currently cannot be set by the user via...
Definition: settings.h:149
double targetLowerBound
Target value for the lower bound on the optimal objective. MAiNGO terminates once LBD>=targetLowerBou...
Definition: settings.h:147
double UBP_maxTimePreprocessing
Maximum CPU time the local solver is allowed to take in each local run during multistart in pre-proce...
Definition: settings.h:230
unsigned PRE_obbtMaxRounds
Maximum number of rounds of optimization-based range reduction (OBBT; cf., e.g., Gleixner et al...
Definition: settings.h:175
(=2) : Linearize at points determined via an adapted version of Kelley's algorithm, each function is treated individually
Definition: settings.h:81
unsigned BAB_maxIterations
Maximum number of iterations (i.e., maximum number of nodes visited in the Branch-and-Bound tree) ...
Definition: settings.h:143
(=1): For BranchAndBound, this means that regular output on solution progress is printed according to...
Definition: settings.h:30
babBase::enums::BV BAB_branchVariable
Which dimension to branch in for the current node. See documentation of babBase::enums::BV for possib...
Definition: settings.h:184
(=0): no optimization, simple function evaluation at solution point of LBP
Definition: settings.h:103
ubp::UBP_SOLVER UBP_solverBab
Solver to be used during Branch-and-Bound. See documentation of ubp::UBP_SOLVER for possible values...
Definition: settings.h:231
bool BAB_probing
Whether to do probing (cf. Ryoo&Sahinidis, Comput. Chem. Eng. 19 (1995) 551) at every node (can only ...
Definition: settings.h:193
double MC_mvcompTol
Tolerance used in the multivariate composition theorem for computing McCormick relaxations (see MC++ ...
Definition: settings.h:220
VERB UBP_verbosity
How much output to print from Upper Bounding Solver. See documentation of maingo::VERB for possible v...
Definition: settings.h:158
(=5) : Linearize at mid point + (n+1)/2 points given as vertices of the (n+1) simplex where n is the ...
Definition: settings.h:84
(=2): Write to a log file only. The log filename can be set via set_log_file_name ...
Definition: settings.h:41
unsigned UBP_maxStepsBab
Maximum number of steps the local solver is allowed to take at each BaB node.
Definition: settings.h:232
ubp::UBP_SOLVER UBP_solverPreprocessing
Solver to be used during pre-processing (i.e., multistart). See documentation of ubp::UBP_SOLVER for ...
Definition: settings.h:228
namespace holding all essentials of MAiNGO
Definition: aleModel.h:25
bool PRE_printEveryLocalSearch
Whether to print every run during multistart at the root node.
Definition: settings.h:166
(=2): solution of lower bounding linear programs using CPLEX
Definition: settings.h:70
(=4): local optimization using SLSQP (SQP solver within NLopt)
Definition: settings.h:107
lbp::LBP_SOLVER LBP_solver
Solver for solution of (mixed-integer) linear lower bounding problems. It also sets the solver when s...
Definition: settings.h:204
double epsilonA
Absolute optimality tolerance, i.e., termination when (UBD-LBD) < BAB_epsilon_a.
Definition: settings.h:131
UBP_SOLVER
Enum for selecting the STRATegy so be used for solving the upper bounding problems.
Definition: settings.h:102
unsigned LBP_activateMoreScaling
Number of consecutive iterations without LBD improvement needed to activate more aggressive scaling i...
Definition: settings.h:209
VERB
Enum for controlling the output level of solvers (i.e., how much should be printed on the screen and...
Definition: settings.h:28
bool writeJson
Whether to write a json-log file (named bab.json).
Definition: settings.h:165
(=5): local optimization using Ipopt (using the exact Hessian for problems with at most 50 variables...
Definition: settings.h:108
(=2): Highest output level (very noisy!).
Definition: settings.h:31
(=3): solution of lower bounding linear programs using CLP
Definition: settings.h:71
(=1) : Linearize at the incumbent value if it is in the current interval, else linearize at mid point...
Definition: settings.h:80
babBase::enums::NS BAB_nodeSelection
How to select the next node to process. See documentation of babBase::enums::NS for possible values...
Definition: settings.h:183
bool MC_mvcompUse
Whether to use multivariate composition theorem for computing McCormick relaxations (see MC++ documen...
Definition: settings.h:219
WRITING_LANGUAGE
Enum for representing the modeling language in which MAiNGO is supposed to write the current model to...
Definition: settings.h:49
double relNodeTol
Relative tolerance for minimum node size. Nodes are discarded if in every dimension their width gets ...
Definition: settings.h:135
unsigned writeToLogSec
Write to log file after a given ammount of CPU seconds.
Definition: settings.h:162
double LBP_obbtMinImprovement
How much improvement needs to be achievable (relative to initial diameter) to conduct OBBT for a vari...
Definition: settings.h:208
unsigned LBP_minFactorsForAux
Minimum number of common factors to add an auxiliary variable.
Definition: settings.h:211
VERB BAB_verbosity
How much output to print from Branch & Bound solver. See documentation of maingo::VERB for possible v...
Definition: settings.h:156
(=0): MAiNGO internal lower bounding solver consisting of linearizing the objective function at only ...
Definition: settings.h:68
(=0): Print no output whatsoever.
Definition: settings.h:29
unsigned maxTime
CPU time limit in seconds.
Definition: settings.h:144
(=3): local optimization using LBFGS (lower-storage BFGS algorithm (i.e., gradient-based) for unconst...
Definition: settings.h:106
bool writeCsv
Whether to write csv-log files (named bab_statistics.csv and bab_iterations.csv). ...
Definition: settings.h:164
lbp::LINP LBP_linPoints
At which points to linearize for affine relaxation. See documentation of lbp::LINP for possible value...
Definition: settings.h:206
unsigned PRE_maxLocalSearches
Number of local searches in the multistart heuristic during preprocessing at the root node...
Definition: settings.h:174
unsigned BAB_maxNodes
Maximum number of nodes (i.e., solver terminates when more than BAB_maxnodes are held in memory; used...
Definition: settings.h:142
(=2): Write the current model to a file using GAMS syntax
Definition: settings.h:52
unsigned LBP_maxNumberOfAddedFactors
Maximum number of added factor as auxiliaries.
Definition: settings.h:212
double deltaEq
Absolute feasibility tolerance for equality constraints, i.e., constraint is considered satisfied if ...
Definition: settings.h:134
Definition: babUtils.h:144
bool PRE_pureMultistart
Whether to perform a multistart only. A B&B tree will not be constructed and no lower bounding proble...
Definition: settings.h:176
bool BAB_dbbt
Whether to do a single round of duality based bound tightening (DBBT, cf. Ryoo&Sahinidis, Comput. Chem. Eng. 19 (1995) 551). If false, no DBBT is used. If true, multipliers from CPLEX are used to tighten bounds (essentially for free). we tried additional rounds but without reasonable improvement.
Definition: settings.h:192
(=1): local optimization using COBYLA (derivative free solver within NLopt, uses linear approximation...
Definition: settings.h:104
(=42): optimization using CPLEX. Called only for (MI)LPs and (MI)QCPs.
Definition: settings.h:110
Definition: babUtils.h:155
(=1): Write the current model to a file using ALE syntax
Definition: settings.h:51
LOGGING_DESTINATION loggingDestination
Where to print or write the output. See documentation of maingo::LOGGING_DESTINATION for possible val...
Definition: settings.h:161
double epsilonR
Relative optimality tolerance, i.e., termination when (UBD-LBD) < BAB_epsilon_r * UBD...
Definition: settings.h:132
unsigned EC_nPoints
Number of points on the Pareto front to be computed in epsilon-constraint method (only available via ...
Definition: settings.h:241
double deltaIneq
Absolute feasibility tolerance for inequality constraints, i.e., constraint is considered satisfied i...
Definition: settings.h:133
(=1): Print only to selected output stream. The stream can be selected via set_output_stream ...
Definition: settings.h:40
(=3): Print to output stream AND write the same information to log file
Definition: settings.h:42