Is your feature request related to a problem? Please describe
No.
Describe the solution you'd like
The most basic dispatch optimisation consists of
1) definition/creation of the decision variables
2) construction of the costs vector (objective function)
3) construction of the constraint matrix, which has three types of constraints in this basic starting point
asset capacity (or de-rated capacity) cannot be exceeded in any timeslice
ratio of inputs to outputs for an asset must reflect the ratio defined in the input data
commodity balance - supply must equal demand for energy commodities
Additional context
Data will need to be well organised before embarking on this.
It might be possible to pre-calculate the matrix/vector coefficients needed for each asset, which might make matrix/vector construction faster.
It will probably make sense to have some shadow vectors that identify each decision variable (need to know which asset, commodity and timeslice relates to each decision variable), and each constraint (asset/group of assets/commodity/group of commodities, constraint type)
It might be possible to group identical assets together (so long as they are available in the milestone year concerned) to reduce the number of constraints
It might be possible to keep the matrices/vectors from one year to the next, and just adjust them a bit to reflect end of life decommissioning. Might be faster if this is possible.
Is your feature request related to a problem? Please describe
No.
Describe the solution you'd like
The most basic dispatch optimisation consists of 1) definition/creation of the decision variables 2) construction of the costs vector (objective function) 3) construction of the constraint matrix, which has three types of constraints in this basic starting point
Additional context