finance

Public-debt accounting and caps for new-build investment.

Each new-tech investment carries a public-debt obligation equal to public_debt_ratio[te] times its discounted investment cost. The module exposes that obligation as an indexed expression public_debt_newtech[y, z, te] and (optionally) caps the public debt taken on each year, system-wide and per-zone:

\[ \begin{align}\begin{aligned}{\rm{public\_debt}}_{y,z,te} = {\rm{cost\_newtech}}_{y,z,te} \times r^{\rm{public}}_{te}\\\sum_{z, te} {\rm{public\_debt}}_{y,z,te} \le \overline{D^{\rm{sys}}_{y}}\quad\forall y\\\sum_{te} {\rm{public\_debt}}_{y,z,te} \le \overline{D^{\rm{zone}}_{y, z}}\quad\forall y, z\end{aligned}\end{align} \]

This module is OFF unless the user provides public_debt_ratio; the optional caps default to +inf (no constraint added).

class prepshot._model.finance.AddFinanceConstraints(model)[source]

Bases: object

Public-debt expressions and (optional) cap constraints.

Parameters

model (object) --

__init__(model)[source]

Initialize the class and add expressions / constraints.

Reads model.cost_newtech_breakdown (built by AddCostObjective), so this must run AFTER AddCostObjective.

Parameters

model (object) -- Model object depending on the solver.

Return type

None

public_debt_max_system_rule(y)[source]

System-wide upper bound on public debt taken in year y.

Missing entry or +inf skips the constraint.

Parameters

y (int) -- Year.

Returns

The cap constraint, or None if uncapped.

Return type

poi.ConstraintIndex or None

public_debt_max_zone_rule(y, z)[source]

Per-zone upper bound on public debt taken in year y.

Parameters
  • y (int) -- Year.

  • z (str) -- Zone.

Returns

The cap constraint, or None if uncapped.

Return type

poi.ConstraintIndex or None

public_debt_newtech_rule(y, z, te)[source]

Public-debt obligation incurred by a new-tech investment.

Parameters
  • y (int) -- Year.

  • z (str) -- Zone.

  • te (str) -- Technology.

Returns

Discounted public-debt obligation for (y, z, te).

Return type

poi.ExprBuilder