cost

This module contains objective functions for the model. The objective function of the model is to minimize the net present value of the system's cost. This includes capital cost, fixed O&M cost, variable cost and fuel cost by cost type, technology cost, transmission line cost by the source of cost, and operation cost and planning cost by the source of cost.

The cost equations are defined as follows:

Calculation of system-wide total cost
\[ \begin{align}\begin{aligned}\rm{cost}_{\rm{tech}}^{\rm{var}} &= \frac{\sum_{h,m,y,z,\rm{e}} C_{y,z,\rm{e}}^{\rm{tech-var}}\times \rm{gen}_{h,m,y,z,\rm{e}}} {\omega} \times \rm{factor}_{y}^{\rm{var}}\\\rm{cost}_{\rm{line}}^{\rm{var}} &= \frac{\sum_{h,m,y,z_s,z_o} C_{y,z}^{\rm{line-var}}\times \rm{export}_{h,m,y,z_s,z_o}}{\omega} \times \rm{factor}_{y}^{\rm{var}}\\\rm{cost}^{\rm{fuel}} & = \frac{\sum_{h,m,y,z,\rm{e}} C_{y,z,\rm{e}}^{\rm{fuel}}\times \rm{gen}_{h,m,y,z,\rm{e}}}{\omega} \times \rm{factor}_{y}^{\rm{var}}\\\rm{cost}_{\rm{tech}}^{\rm{fix}} &= \sum_{y,z,\rm{e}} C_{y,z,\rm{e}}^{\rm{tech-fix}}\times \rm{cap}_{y,z,\rm{e}}^{\rm{existing-tech}}\times \rm{factor}_{y}^{\rm{fix}}\\\rm{cost}_{\rm{line}}^{\rm{fix}} &= \sum_{y,z_s,z_o} C_{y,z_s,z_o}^{\rm{line-fix}}\times \rm{cap}_{y,z_s,z_o}^{\rm{existing-line}}\times \rm{factor}_{y}^{\rm{fix}}\\\rm{cost}_{\rm{tech}}^{\rm{inv}} &= \sum_{y,z,\rm{e}} C_{y,z,\rm{e}}^{\rm{tech-inv}}\times \rm{cap}_{y,z,\rm{e}}^{\rm{tech-inv}}\times \rm{factor}_{y}^{\rm{inv}}\\\rm{cost}_{\rm{line}}^{\rm{inv}} &= \sum_{y,z_s,z_o} C_{y,z_s,z_o}^{\rm{line-inv}}\times \rm{cap}_{y,z_s,z_o}^{\rm{line-inv}}\times \rm{factor}_{y}^{\rm{inv}} \times 0.5\end{aligned}\end{align} \]
class prepshot._model.cost.AddCostObjective(model)[source]

Bases: object

Objective function class to determine the total cost of the model.

Parameters

model (object) --

__init__(model)[source]

The constructor for objective functions class.

Parameters

model (object) -- Model to be solved.

Return type

None

cost_fix_line_breakdown(y, z, z1)[source]

Fixed operation and maintenance cost breakdown of transmission lines.

Parameters
  • y (int) -- Year.

  • z (str) -- Zone.

  • z1 (str) -- Zone.

Returns

Fixed operation and maintenance cost of transmission lines at a given year, source and destination zone.

Return type

poi.ExprBuilder

cost_fix_tech_breakdown(y, z, te)[source]

Fixed operation and maintenance cost breakdown.

Parameters
  • y (int) -- Year.

  • z (str) -- Zone.

  • te (str) -- Technology.

Returns

Fixed operation and maintenance cost of technologies at a given year, zone and technology.

Return type

poi.ExprBuilder

cost_newline_breakdown(y, z, z1)[source]

New transmission line investment cost breakdown.

Parameters
  • y (int) -- Year.

  • z (str) -- Zone.

  • z1 (str) -- Zone.

Returns

Investment cost of new transmission lines at a given year, source and destination zone.

Return type

poi.ExprBuilder

cost_newtech_breakdown(y, z, te)[source]

New technology investment cost breakdown.

Parameters
  • y (int) -- Year.

  • z (str) -- Zone.

  • te (str) -- Technology.

Returns

Investment cost of new technologies at a given year, zone and technology.

Return type

poi.ExprBuilder

cost_var_line_breakdown(y, z, z1)[source]

Variable operation and maintenance cost breakdown of transmission lines.

Parameters
  • y (int) -- Year.

  • z (str) -- Zone.

  • z1 (str) -- Zone.

Returns

Variable operation and maintenance cost of transmission lines at a given year, source and destination zone.

Return type

poi.ExprBuilder

cost_var_tech_breakdown(y, z, te)[source]

Variable operation and maintenance cost breakdown.

Parameters
  • y (int) -- Year.

  • z (str) -- Zone.

  • te (str) -- Technology.

Returns

Variable operation and maintenance cost of technologies at a given year, zone and technology.

Return type

poi.ExprBuilder

define_objective()[source]

Objective function of the model, to minimize total cost.

Return type

None

fix_cost_rule()[source]

Fixed O&M cost of technologies and transmission lines.

Returns

Total fixed O&M cost of technologies and transmission lines over all years, zones and technologies.

Return type

poi.ExprBuilder

fuel_cost_breakdown(y, z, te)[source]

Fuel cost breakdown of technologies.

Parameters
  • y (int) -- Year.

  • z (str) -- Zone.

  • te (str) -- Technology.

Returns

Fuel cost at a given year, zone and technology.

Return type

poi.ExprBuilder

income_rule()[source]

Income from water withdrawal. Reference: https://www.nature.com/articles/s44221-023-00126-0

Returns

Income from water withdrawal.

Return type

poi.ExprBuilder

newline_cost_rule()[source]

Total investment cost of new transmission lines.

Returns

Total investment cost of new transmission lines over all years, zones.

Return type

poi.ExprBuilder

newtech_cost_rule()[source]

Total investment cost of new technologies.

Returns

Total investment cost of new technologies over all years, zones and technologies.

Return type

poi.ExprBuilder

var_cost_rule()[source]

Calculate total variable cost, which is sum of the fuel cost of technologies and variable Operation and maintenance (O&M) cost of technologies and transmission lines.

Returns

Total variable cost across all years, zones and technologies.

Return type

poi.ExprBuilder