evcc-io/core/optimizer.md

49 lines
1.5 KiB
Markdown

# Optimizer
Optimizer uses mixed integer linear programming (MILP) to minize a cost function. The optimizer model implementation honors:
- energy consumption/ feed-in costs
- solar forecast
- base load (aka home) energy demand
- end of forecast commercial value
- strategy- either "charge before export" (charge loads as soon as possible) or attenuating grid peaks on the demand side, the feed-in side or both
- home battery or loadpoint/vehicle...
- capacity, soc and charge goals
- charge/discharge power limits and efficiency
Optimization spans N slots with N being minimum of available forecast data.
## Parameters
### Energy consumption/ feed-in costs/ Solar forecast
Grid/ feed-in/ solar tariff data.
TODO
- [ ] make feed-in optional
- [ ] make solar optional
### Base load energy demand
Collected 15min energy profile averaged over the last 30 days.
### Measured value blending
The solar forecast and the base load profile are anchored to the current situation
using the last completed 15min metrics slot, decaying linearly over 4 slots:
- base load: the measured home consumption replaces the first slot and decays into the profile
- solar: the scale factor measured production/forecasted production is applied to the first slot and decays towards 1
### End of forecast commercial value
Use minimum of energy consumption cost.
### Home Battery
### Loadpoint and Vehicles
- home battery or loadpoint/vehicle...
- capacity, soc and charge goals
- charge/discharge power limits and efficiency