Science Score: 54.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
    Links to: arxiv.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.5%) to scientific vocabulary
Last synced: 7 months ago · JSON representation ·

Repository

Basic Info
  • Host: GitHub
  • Owner: JaMoPinter
  • License: mit
  • Language: Jupyter Notebook
  • Default Branch: main
  • Size: 33.7 MB
Statistics
  • Stars: 1
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created over 1 year ago · Last pushed about 1 year ago
Metadata Files
Readme License Citation

README.md

Probabilistic Day-Ahead Battery Scheduling based on Mixed Random Variables for Enhanced Grid Operation

License: MIT

This repository contains the Python implementation for the paper:

Probabilistic Day-Ahead Battery Scheduling based on Mixed Random Variables for Enhanced Grid Operation
Authors: Janik Pinter, Frederik Zahn, Maximilian Beichter, Ralf Mikut, and Veit Hagenmeyer
NOTE: The paper is currently under revision! An updated link to the final version will follow when available!

Repository Structure

``` . data/ groundtruth/ # Contains the ground-truth of prosumption of selected real-world example quantileforecasts/ # Contains the quantile forecasts parametric_forecasts/ # Contains parametric forecasts for two distributions (Normal Dist. and Sum of 2 Normal Dist.) parameters/ # Contains json files with params such as cost-function weights, battery specifications, ...

| forecasting/ createquantileforecastsneuralforecasterhyper.ipynb # Create quantile prosumption forecasts based on real-world data convertforecasts.ipynb # Convert quantile forecasts to parametric form visualizedata.ipynb # Visualize forecasted PDFs |

optimization/ inputdata.py # Load forecasts and parameters experimenttracking.py # Tracks the experiment in MLFlow optimizationmodel.py # Contains the optimization problem main.py # Executes the optimization problem resultsprocessing.py # Visualizes the results utils.py # Contains utility functions such as parametric pdf implementations

```

Installation

  1. Install virtualenv pip install virtualenv
  2. Create a Virtual Environment virtualenv myenv
  3. Activate the Virtual Environment source myenv/Scripts/activate
  4. Install Packages specified in requirements-optimization.txt python -m pip install -r requirements-optimization.txt Furthermore, ensure that IPOPT is properly installed. For more information, see IPOPT

Execution

In order to start an optimization process, execute main.py. python optimization/main.py

Reproducibility

Reproduce Optimization Results

In order to reproduce the results shown in the paper, execute the optimization process with the corresponding parameter file for Case 1, Case 2, or Case 3 specified in main.py. The necessary forecasts are included in the repository.


Reproduce Forecasts

In order to reproduce the forecasts, the following steps need to be done: 1. Install corresponding forecasting requirements python -m pip install -r requirements-forecasting.txt 2. Execute createquantileforecasts.ipynb with the following specifications (GPU necessary): - The forecast were generated seeded using a system with the following specs, os, python version: - Processor: Intel 13th Gen Core i9-13900 - Memory: 64 GB RAM - Graphics: NVIDIA GeForce RTX 3090 (Driver Version: 555.42.02 / CUDA Version: 12.5) - OS: Ubuntu 22.04.4 LTS - PYTHON: 3.12.5

Funding

This project is funded by the Helmholtz Association under the "Energy System Design" program and the German Research Foundation as part of the Research Training Group 2153 "Energy Status Data: Informatics Methods for its Collection, Analysis and Exploitation"

License

This code is licensed under the MIT License.

First Version

The content of this paper was first published on Arxiv. If you found this repository over the Arxiv version, we kindly refer you to the revised version available soon.

Owner

  • Name: Janik Moses Pinter
  • Login: JaMoPinter
  • Kind: user

Citation (CITATION.cff)

# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!

cff-version: 1.2.0
title: >-
  Day-Ahead Battery Scheduling based on Mixed Random
  Variables
message: >-
  If you use this software, please cite it using the
  metadata from this file.
type: software
authors:
  - given-names: Janik
    family-names: Pinter
    email: janik.pinter@kit.edu
    affiliation: Karlsruhe Institute of Technology (KIT)
    orcid: 'https://orcid.org/0009-0000-4494-8416'
repository-code: 'https://github.com/JaMoPinter/Day-Ahead-Battery-Scheduling'
keywords:
  - Day-Ahead Battery Scheduling
  - Stochastic Optimization
  - Prosumer Integration
  - Mixed Random Variables
license: MIT
date-released: '2024-10-31'

GitHub Events

Total
  • Watch event: 4
  • Member event: 1
  • Push event: 35
  • Create event: 2
Last Year
  • Watch event: 4
  • Member event: 1
  • Push event: 35
  • Create event: 2