decogo.pyomo_input_model.projection_master_problem
Implements projection master problems
Classes
|
Class for defining MIP projection master problem defined using infinity norm |
|
A class for defining NLP projection master problem (integer variables are relaxed or fixed). |
- class decogo.pyomo_input_model.projection_master_problem.NlpResourceProjectionProblem(sub_models, cuts)[source]
A class for defining NLP projection master problem (integer variables are relaxed or fixed).
\[\begin{equation} \begin{split} \min \ &\sum\limits_{k \in K} ||A_kx_k - w_k||_2,\newline &x \in P \cap G, \newline &w_k \in \mathbb{R}^{m + 1} \text{ and is fixed} \end{split} \end{equation}\]- Parameters
sub_models (list) – List of sub-models
cuts (CutPool) – Container which stores all linear constraints (global and local) and objective function
- set_projection_point(point_to_project)[source]
Sets value for parameter \(w_k\) (projection point).
- Parameters
point_to_project (BlockVector) – Given value for \(w\)
- solve(solver_name, start_point=None, solver_options=None)[source]
Solves the model by calling an external solver and gets back the result
- Parameters
solver_name (str) – External solver name
start_point (BlockVector or None) – Starting point for the solver, defaults to
Nonesolver_options (list or None) – External solver options, defaults to
None
- Returns
Solution point, objective value, dual solution and flag indicating whether the solution is feasible
- Return type
tuple
- class decogo.pyomo_input_model.projection_master_problem.MipProjectionMasterProblem(sub_models, cuts)[source]
Class for defining MIP projection master problem defined using infinity norm
\[\begin{equation} \begin{split} \min \ &||x - y||_\infty,\newline &x \in P \cap Y , y \text{ is fixed} \end{split} \end{equation}\]The problem is reformulated in the following way
\[\begin{equation} \begin{split} \min \ &t, \newline &-t \leq x - y \leq t, \newline &x \in P \cap Y , y \text{ is fixed} \end{split} \end{equation}\]- set_projection_point(point)[source]
Sets projection point
y- Parameters
point (BlockVector) – Given point