decogo.pyomo_problem.projection_master_problem

This module implements projection master problems

Classes

MipProjectionMasterProblem(block_model)

A class for defining MIP projection master problem defined using infinity norm

NlpResourceProjectionProblem(block_model)

A class for defining NLP projection master problem (integer variables are relaxed or fixed)

class decogo.pyomo_problem.projection_master_problem.NlpResourceProjectionProblem(block_model)[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

block_model (PyomoBlockModel) – Block model

__init__(block_model)[source]

Constructor method

set_objective()[source]

Sets 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 None

  • solver_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_problem.projection_master_problem.MipProjectionMasterProblem(block_model)[source]

A 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}\]
Parameters

block_model (PyomoBlockModel) – Block model

__init__(block_model)[source]

Constructor method

set_objective()[source]

Sets objective function

set_projection_point(point)[source]

Sets projection point y

Parameters

point (BlockVector) – Given point

solve(solver_name, start_point=None, solver_options=None, pool_solutions=10, agg_blocks=None)[source]

todo