The Optimization Framework¶
Taco provides a class Optimizer
aimed at handling the whole optimization process described in our paper.
This class takes as an input the problem instance provided by the user and the parameters the algorithm need to be launched.
The method run
of this class runs the optimization process and retrieves the solution found.
-
class
taco.
Optimizer
(problem, p=0.01, starting_point=array([0.0, 0.0, 0.0]), pen1=None, pen2=None, factor_pen2=None, bund_mu_start=None, performance_warnings=False, numba=None, params=None)[source]¶ Base class for optimization of chance constrained problems
For an problem instance providing a dataset and two first order oracles \(f\) and \(g\), this class is an interface for solving the minimization problem
- Parameters
problem – An instance of Problem
p (np.float64) – Safety probability threshold for the problem
starting_point (np.ndarray) – (optional) Starting point for the algorithm
pen1 (np.float64) – (optional) First Penalization parameter
pen2 (np.float64) – (optional) Second Penalization parameter
factor_pen2 (np.float64) – (optional) Incremental factor for the second penalization parameter pen2
bund_mu_start (np.float64) – Starting value for the proximal parameter \(\mu\) of the bundle method
numba (bool) – If True, instantiate an Oracle with numba in
no-python
mode.performance_warning (bool) – If True, prints numba performance warnings.
params (dict) – Dictionnary of parameters for the optimization process