VY4E-OptModel is the core optimization engine of the VY4E ecosystem. It provides the fundamental modelling framework for integrated zero-carbon energy systems, supporting electricity, heat, hydrogen, and storage.
🚀 Features
Modular formulation for multi-vector energy systems
Compatible with deterministic, stochastic, and equilibrium approaches
Flexible temporal structure: hours, days, representative periods
Built on JuMP / Pyomo (depending on module choice)
Interfaces with VY4E-data (datasets) and VY4E-examples (notebooks)
📂 Structure
src/: Core source code for the optimization model.
data/: Sample case studies.
docs/: Documentation and formulation notes.
tests/: Validation and regression tests.
📦 Prerequisites
Python 3.12 or higher.
A supported solver: Gurobi, CBC, or CPLEX. Make sure the solver is installed and accessible in your system’s PATH.
🚀 Installation
Clone the repository:
git clone https://github.com/VY4E-nexus/VY4E-OptModel.git
cd VY4E-OptModel
Create and activate a virtual environment (recommended):
python -m venv venv
source venv/bin/activate # On Windows use `venv\Scripts\activate`
Install the required Python packages:
pip install -r requirements.txt
Usage
To run the optimization model, use the oM_Main.py script from the src directory.
python src/oM_Main.py --case <case_name> --solver <solver_name>
Command-line Arguments
--dir: Directory containing the case data (defaults to the current directory).
--case: Name of the case to run (e.g., Home1).
--solver: Solver to use (e.g., gurobi, cbc, cplex).
--date: Model run date in “YYYY-MM-DD HH:MM:SS” format.
--rawresults: Save raw results (True/False).
--plots: Generate plots (True/False).
🤝 Contributing
Contributions are welcome! If you want to contribute to VY4E-OptModel, please follow these steps:
Fork the repository.
Create a new branch for your feature or bug fix.
Make your changes and commit them with a clear message.
Push your changes to your fork.
Create a pull request to the main branch of this repository.
📄 License
This project is licensed under the terms of the GNU General Public License v3.0.
Release files for VY4E-OptModel 1.0.15
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| vy4e_optmodel-1.0.15.tar.gz | 25.7 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| vy4e_optmodel-1.0.15-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 27.1 MB
Release files / vy4e_optmodel-1.0.15.tar.gz
| Download URL | vy4e_optmodel-1.0.15.tar.gz |
|---|---|
| Size | 25.7 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
85aed04085c99806c669fac7110b72129cbd99818c7b016a2383ab8007c28adc
|
|
BLAKE2b-256 checksum How to use checksums |
3ee77b539d6870cbd096edefe6bc7c903499c4adc8cdb6dc11cb62da38ac9265
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
python-requests/2.32.3
|
Release files / vy4e_optmodel-1.0.15-py3-none-any.whl
| Download URL | vy4e_optmodel-1.0.15-py3-none-any.whl |
|---|---|
| Size | 1.4 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
930d1fddf6050d37be679362df50d96e06b1abb35a7d54c37ebdbf0822ca6847
|
|
BLAKE2b-256 checksum How to use checksums |
fada4f75dab66ad710451449f524eecddbf1dde7f7e1abd3c2c1e88a349b0dea
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
python-requests/2.32.3
|