1.4 KiB
1.4 KiB
Optimizer Definition for a constraint n-forecast Trading-Problem
We want to optimize the performance of an energy trader given the forecast for n steps. The battery:
- holds 1MWh
- charges/discharges at max. 1MW per hour (we can add/loose x*1MW, x \in R ) Prices are stable for the given hour (t) and we sell and buy for the same price.
Considerations:
-
Single variable, P (=x), for each hour t from 0 to n-1.
-
If P > 0, it represents discharging (selling power) with a magnitude of P.
-
If P < 0, it represents charging (buying power) with a magnitude of -P.
-
If P = 0, it represents holding (doing nothing).
-
if we have forecasts for t_n, t_n+m we might have to interpolate between n .. m
-
or... we work with the gaps and dt as charge time .... no
Variables:
- price_t = price per MWH at t (eq)
- B (t=0..n) = State of Battery in MWH
- P (t=0..n) = Charge/Discharge factor given the possible base rate of 1MW/h
- max_p = 1 (charge/discharge limits) & and battery capacity limits (both=1)
- SoB_initial = 0
- h = horizon \in N^+
Objective
- We Maximize: Sum_{t=0}^{n-1} (price_t * P)
Constraints
- Fixed starting state: SoB_0 = SoB_initial
- Charge/Discharge Limit: (-max_p <= P <= max_p) for all t = 0, ..., n-1
- Storage Limit: (0 <= B+(1*P) <= max_p) for all t = 0, ..., n-1
- Future B State: SoB_{t+1} = (B + P) for t = 0 to n-1