decogo.pyomo_input_model.subproblem¶
This module implements and manages all sub-problems
Classes
|
This class defines line search sub-problem between exterior point \(x_k^{ext}\) and interior point \(x_k^{int}\) |
|
A class for defining the following sub-problem |
|
Class for defining a projection sub-problem |
A class for defining a projection sub-problem |
|
|
A base class for construction of Pyomo model. |
- class decogo.pyomo_input_model.subproblem.PyomoSubProblemBase(sub_models, cuts, block_id)[source]¶
A base class for construction of Pyomo model. Here are implemented methods for creating local linear and nonlinear constraints
- Parameters:
sub_models (list) – List of sub-models
cuts (CutPool) – Container which stores all linear constraints (global and local) and objective function
block_id (int) – Block identifier
- solve(solver_name, start_point=None, solver_options=None)[source]¶
Base method for calling the external solver to solve the model
- Parameters:
solver_name (str) – External solver name
start_point (ndaray or None) – Starting point for the solver, defaults to
Nonesolver_options (list) – Options for external solver, defaults to
None
- Returns:
Solution point, primal bound, dual bound, flag if the primal bound is feasible
- Return type:
tuple
- unset_nlp()[source]¶
Sets to integer type for the variables which are integer in the original formulation
- update_var_lower_bound(index)[source]¶
Updates the lower bound of the variable. The value is taken form the BlockModel
- Parameters:
index (tuple) – Index (block_id, index)
- update_var_upper_bound(index)[source]¶
Updates the upper bound of the variable. The value is taken form the BlockModel
- Parameters:
index (tuple) – Index (block_id, index)
- fix_integers(x)[source]¶
Fixes integer variables with given value
- Parameters:
x (ndarray) – Given array
- class decogo.pyomo_input_model.subproblem.PyomoMinlpSubProblem(sub_models, cuts, block_id)[source]¶
A class for defining the following sub-problem
\[\begin{equation} \begin{split} \min \ &d_k^Ty_k, \newline &y_k \in X_k, d_k \in \mathbb{R}^{n_k} \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
block_id (int) – Block identifier
- class decogo.pyomo_input_model.subproblem.PyomoProjectionSubProblem(sub_models, cuts, block_id)[source]¶
Class for defining a projection sub-problem
\[\begin{equation} \begin{split} \min \ &||y_k-x_k||^2,\newline &y_k \in G_k, x_k \text{ 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
block_id (int) – Block identifier
- class decogo.pyomo_input_model.subproblem.PyomoResourceProjectionSubProblem(sub_models, cuts, block_id)[source]¶
A class for defining a projection sub-problem
\[\begin{equation} \begin{split} \min \ &||A_kx_k - w_k||^2,\newline &y_k \in G_k, w_k \text{ 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
block_id (int) – Block identifier
- class decogo.pyomo_input_model.subproblem.PyomoLineSearchSubProblem(sub_models, cuts, block_id)[source]¶
This class defines line search sub-problem between exterior point \(x_k^{ext}\) and interior point \(x_k^{int}\)
\[\begin{equation} \begin{split} \max \ & \alpha, \newline &y_k = \alpha x_k^{ext} + (1 - \alpha) x_k^{int}, \newline &y_k \in X_k \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
block_id (int) – Block identifier