Skip to main content

MixSimulator

MixSimulator is an application with an optimization model for calculating and simulating the least cost of an energy mix under certain constraints. The optimizers used are based on the Nevergrad Python 3.6+ library.

The primary objective of the simulator is to study the relevance of an energy mix connected to each Inter-connected Grid through the coefficient of usage of each unit in the production cost.

Version 0.4

The current version is a multi-agent system (MAS) approach but keeps the previous classic optimization approach available. Check test_mas.py for more details. (Available events are : powerplant shutdown and powerplant power_on).

An experiment on evaluating both method is available in Experiments/Scenario_type.py or Open In Colab

Note

This project is a work in progress so it can not yet used in production (Many changes are on their way). Feedbacks are welcome!

Specifications :

  • Generic simulator, compatible with data from Madagascar and those from abroad (but may require data pre-processing beforehand);
  • Optimization of duty cycle (or usage coefficient) under constraints ;
  • Get the production cost and various performance indicators (CO2 emission, unsatisfied demand);
  • Estimate of the costs of a mix or a power plant over the long term ;
  • Comparison of the performance indicators on different optimizers. (see EvaluationBudget method)

Perspectives :

  • Add other constraints ;
  • Long-term Optimization ;
  • Pair with a transmission and distribution power grid simulator (MixSimulator can provide input data).

Suggestions are welcome!

How to install

It can be installed with :

pip install mixsimulator

MixSimulator is written in Python 3.6 and requires the following Python packages : nevergrad, prophet, typing, numpy, pandas and matplotlib.

How to run

As MixSimulator is a python package, it can be called and used as we can see in test_classic.py and test_mas.py.

Official documentation will accompany the first release version.

Datasets

Power plants dataset

The dataset "dataset_RI_Toamasina_v2.csv" is for the test and it comes from the Inter-connected energy mix of Toamasina Madagascar (2017) and Some information from the dataset is estimated.

Dataset features needed:

  • tuneable (boolean): is the control unit controllable or not?
  • green (boolean): is it a renewable energy plant?
  • hydro (boolean): is it a hydro power plant?
  • fuel (boolean): is it a thermal power plant?
  • centrals : identification
  • fuel_consumption (g/MWh): fuel consumption (in the case of a fossil fuel power plant)
  • availability (%): plant availability
  • fuel_cost ($/g): price of fuel used
  • init_value ($): initial investment in setting up the plant
  • lifetime (years): plant lifetime
  • carbon_production (g/MWh): emission rate of CO2 from the power plant
  • raw_power (MW): nominal power of the plant
  • nb_employees: number of employees at the central level
  • mean_salary ($): average salary of plant employees
  • demand (MWh): electricity demand
  • lost (MWh): electrical loss at another level (ie: transport network)

Hydro specification :

  • height (meter): height of the stream ;
  • flow : flow of the stream ;
  • stock_available : water reservoir ;
  • capacity : max water reservoir.

nb_employees * mean_salary can be used as a variable cost of the plant if you want to directly use other informations as variable cost.

Demand and Variation datas

There is also "DIR-TOAMASINA_concat.csv" about Consumption data (in kwh, more details in demand/) and "dataset_RI_Toamasina_variation_template.csv" about limits in variation of power plants load following (WIP).

If you have datasets of any region in the world that can be used to evaluate our model, please contact us.

Contact

For questions and feedbacks related to the project, please send an email to r.andry.rasoanaivo@gmail.com or soloforahamefy@gmail.com or tokyandriaxel@gmail.com

Metadata

Release files for mixsimulator 0.4.6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mixsimulator 0.4.6
File Size Uploaded
mixsimulator-0.4.6.tar.gz 345.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for mixsimulator 0.4.6
File Interpreter ABI Platform
mixsimulator-0.4.6-py3-none-any.whl Python 3 none any Details

Total release size: 425.7 kB

Release files / mixsimulator-0.4.6.tar.gz

Download URL mixsimulator-0.4.6.tar.gz
Size 345.1 kB
Tags Source
SHA-256 checksum
How to use checksums
8da4638dfd5ab8f5ad6f0669df6dcbdd021a4eb77edde9117d9c0970578ff57c
BLAKE2b-256 checksum
How to use checksums
3b8091ed21a377b0277eb4c031d88aded922f131af83794b83ec3bffd021b46d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.8.10

Release files / mixsimulator-0.4.6-py3-none-any.whl

Download URL mixsimulator-0.4.6-py3-none-any.whl
Size 80.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4e0b8c68bf7656c8c4ad4bb69444e6724a181ebe8a4b66c2a9f712c0176b38a4
BLAKE2b-256 checksum
How to use checksums
9c83d7c4f5d4bc932c765940a8f0e60ecbe4c7fd86ca4a41e809acb5269596d2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.8.10

Release history Release notifications | RSS feed

This release

0.4.6 This release

2 release files

0.4.5

2 release files

0.4.4

2 release files

0.4.3

2 release files

0.4.2

2 release files

0.3.3

2 release files

0.3

2 release files

0.2.9

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page