Definition at line 16 of file AffineDecisionRule.h.
◆ as() [1/2]
template<class T >
T & idol::OptimizerFactory::as |
( |
| ) |
|
|
inlineinherited |
◆ as() [2/2]
template<class T >
const T & idol::OptimizerFactory::as |
( |
| ) |
const |
|
inlineinherited |
◆ clone()
Creates and return a copy of the optimizer factory. This is used for polymorphism.
- Returns
- A copied object of the current object (i.e., *this)
Implements idol::OptimizerFactory.
◆ conditional() [1/2]
Executes the lambda function given as second parameter if and only if its first argument is true. This function can be used to build different optimizer factories depending on some external variable.
Example:
for (const bool use_presolve : {true, false}) {
.
conditional(use_presolve, [](
auto& x){ x.with_presolve(
true); })
model.use(algorithm);
model.optimize();
}
CRTP & conditional(bool t_conditional_value, const std::function< void(CRTP &)> &t_if)
- Parameters
-
t_conditional_value | if true, the t_if lambda function is executed, if false, nothing happens. |
t_if | lambda function to execute in case t_conditional_value is true |
- Returns
- the optimizer factory itself
Definition at line 238 of file OptimizerFactory.h.
◆ conditional() [2/2]
Executes the lambda function given as second parameter if and only if its first argument is true. This function can be used to build different optimizer factories depending on some external variable.
Example:
for (const bool use_presolve : {true, false}) {
[](auto& x){ x.with_presolve(true); },
[](auto& x){ x.with_presolve(false); })
model.use(algorithm);
model.optimize();
}
- Parameters
-
t_conditional_value | if true, the t_if lambda function is executed, if false, the t_else lambda function is. |
t_if | lambda function to execute in case t_conditional_value is true |
t_else | lambda function to execute in case t_conditional_value is false |
- Returns
- the optimizer factory itself
Definition at line 260 of file OptimizerFactory.h.
◆ crtp() [1/2]
◆ crtp() [2/2]
◆ handle_default_parameters()
◆ is()
template<class T >
bool idol::OptimizerFactory::is |
( |
| ) |
const |
|
inlineinherited |
◆ operator()()
Optimizer * idol::Robust::AffineDecisionRule::operator() |
( |
const Model & |
t_model | ) |
const |
|
overridevirtual |
Creates and returns a new optimizer to solve the model given as parameter.
- Parameters
-
t_model | The model which the optimizer will solve |
- Returns
- A new optimizer for the model
Implements idol::OptimizerFactory.
◆ with_absolute_gap_tolerance()
Sets the absolute gap tolerance for the optimizer. When the optimizer proves that the absolute optimality gap is less than this threshold, the optimizer stops.
Example:
CRTP & with_absolute_gap_tolerance(double t_absolute_gap_tolerance)
- Parameters
-
t_absolute_gap_tolerance | the absolute gap tolerance |
- Returns
- the optimizer factory itself
Definition at line 192 of file OptimizerFactory.h.
◆ with_best_bound_stop()
Sets a threshold on the best bound for stopping the optimizer. When the optimizer have found a best bound which is greater than this threshold, the optimizer stops.
Example:
const double my_known_best_obj = 0.;
CRTP & with_best_bound_stop(double t_best_bound_stop)
- Parameters
-
t_best_bound_stop | the threshold |
- Returns
- the optimizer factory itself
Definition at line 149 of file OptimizerFactory.h.
◆ with_best_obj_stop()
Sets a threshold on the best objective value for stopping the optimizer. When the optimizer have found a best objective value which is less than this threshold, the optimizer stops.
Example:
const double my_known_best_bound = 0;
CRTP & with_best_obj_stop(double t_user_best_obj)
- Parameters
-
t_user_best_obj | the threshold |
- Returns
- the optimizer factory itself
Definition at line 164 of file OptimizerFactory.h.
◆ with_infeasible_or_unbounded_info()
Sets the behaviour of the optimizer when a model is shown to be infeasible or unbounded. When set to true, the optimizer is forced to prove feasibility or unboundedness by providing a certificate.
Example:
CRTP & with_infeasible_or_unbounded_info(bool t_value)
- Parameters
-
t_value | the activation level |
- Returns
- the optimizer factory itself
Definition at line 219 of file OptimizerFactory.h.
◆ with_iteration_limit()
Sets the maximum number of iterations which the optimizer go through
Example:
CRTP & with_iteration_limit(unsigned int t_iteration_count_limit)
- Parameters
-
t_iteration_count_limit | the maximum number of iterations |
- Returns
- the optimizer factory itself
Definition at line 134 of file OptimizerFactory.h.
◆ with_logs()
Sets the log_master level and color for the optimizer
Example:
CRTP & with_logs(bool t_value)
- Parameters
-
t_log_level | the log_master level |
t_log_color | the output color |
- Returns
- the optimizer factory itself
Definition at line 95 of file OptimizerFactory.h.
◆ with_presolve()
Sets the get_param_presolve activation for the optimizer.
Example:
CRTP & with_presolve(bool t_value)
- Parameters
-
t_value | the activation level for the optimizer's get_param_presolve (0 for disabling, 1 for enabling) |
- Returns
- the optimizer factory itself
Definition at line 205 of file OptimizerFactory.h.
◆ with_relative_gap_tolerance()
Sets the relative gap tolerance for the optimizer. When the optimizer proves that the relative optimality gap is less than this threshold, the optimizer stops.
Example:
CRTP & with_relative_gap_tolerance(double t_relative_gap_tolerance)
- Parameters
-
t_relative_gap_tolerance | the relative gap tolerance |
- Returns
- the optimizer factory itself
Definition at line 178 of file OptimizerFactory.h.
◆ with_thread_limit()
Sets the maximum number of threads which the optimizer can use
Example:
CRTP & with_thread_limit(unsigned int t_max_n_threads)
- Parameters
-
t_max_n_threads | the number of threads which can be used |
- Returns
- the optimizer factory itself
Definition at line 121 of file OptimizerFactory.h.
◆ with_time_limit()
Sets the time limit for the optimizer
Example:
CRTP & with_time_limit(double t_time_limit)
- Parameters
-
t_time_limit | the time limit (in seconds) |
- Returns
- the optimizer factory itself
Definition at line 108 of file OptimizerFactory.h.