Files
EOS/docs/_generated/configoptimization.md
Bobby Noelte 7bf9dd723e
Some checks failed
docker-build / platform-excludes (push) Has been cancelled
pre-commit / pre-commit (push) Has been cancelled
Run Pytest on Pull Request / test (push) Has been cancelled
docker-build / build (push) Has been cancelled
docker-build / merge (push) Has been cancelled
Close stale pull requests/issues / Find Stale issues and PRs (push) Has been cancelled
chore: improve doc generation and test (#762)
Improve documentation generation and add tests for documentation.
Extend sphinx by todo directive.

The configuration table is now split into several tables. The test
is adapted accordingly.

There is a new test that checks the docstrings to be compliant to the
RST format as used by sphinx to create the documentation. We can not
use Markdown in docstrings. The docstrings are adapted accordingly.

An additional test checks that the documentation can be build with sphinx.
This test takes very long is only enabled in full run (aka. ci) mode.

Signed-off-by: Bobby Noelte <b0661n0e17e@gmail.com>
2025-11-13 22:53:46 +01:00

2.8 KiB

General Optimization Configuration

:::{table} optimization :widths: 10 20 10 5 5 30 :align: left

Name Environment Variable Type Read-Only Default Description
algorithm EOS_OPTIMIZATION__ALGORITHM Optional[str] rw GENETIC The optimization algorithm.
genetic EOS_OPTIMIZATION__GENETIC Optional[akkudoktoreos.optimization.optimization.GeneticCommonSettings] rw None Genetic optimization algorithm configuration.
horizon_hours EOS_OPTIMIZATION__HORIZON_HOURS Optional[int] rw 24 The general time window within which the energy optimization goal shall be achieved [h]. Defaults to 24 hours.
interval EOS_OPTIMIZATION__INTERVAL Optional[int] rw 3600 The optimization interval [sec].
:::

Example Input/Output

   {
       "optimization": {
           "horizon_hours": 24,
           "interval": 3600,
           "algorithm": "GENETIC",
           "genetic": {
               "individuals": 400,
               "generations": 400,
               "seed": null,
               "penalties": {
                   "ev_soc_miss": 10
               }
           }
       }
   }

General Genetic Optimization Algorithm Configuration

:::{table} optimization::genetic :widths: 10 10 5 5 30 :align: left

Name Type Read-Only Default Description
generations Optional[int] rw 400 Number of generations to evaluate the optimal solution [>= 10]. Defaults to 400.
individuals Optional[int] rw 300 Number of individuals (solutions) to generate for the (initial) generation [>= 10]. Defaults to 300.
penalties Optional[dict[str, Union[float, int, str]]] rw None A dictionary of penalty function parameters consisting of a penalty function parameter name and the associated value.
seed Optional[int] rw None Fixed seed for genetic algorithm. Defaults to 'None' which means random seed.
:::

Example Input/Output

   {
       "optimization": {
           "genetic": {
               "individuals": 300,
               "generations": 400,
               "seed": null,
               "penalties": {
                   "ev_soc_miss": 10
               }
           }
       }
   }