District Heating Energy Network Optimization, based on ILS, PULP and MIP algorithms
Explore the docs »
View Demo
·
Report Bug
·
Request Feature
Table of Contents
In many countries around the world, the ability to heat and supply hot water to buildings is essential, currently, several studies are being carried out in order to determine the most efficient way to do it, one of these is through a Distric heating (DH). A DH is a system for distributing heat generated in a centralized location through a system of insulated pipes for residential and commercial heating requirements such as space heating and water heating in cold areas.
This repository seeks to buy the performance of PULP as an optimizer for a mixed integer linear programming (MIP) problem and an Integrated local serch (ILS) designed for a DH, for a specific energy network.
The main frameworks and libraries used in the project.
To get a local copy just executed the following command:
git clone https://github.com/TEAM-IMT/energy-network-optimization
Nothing to do
- Install all the libraries
pip3 -m install -U -r requirements.txt
The program consists of three parts. For more information, please refer to the general/each part help.
python3 main.py -h
python3 main.py PULP -h
python3 main.py ILS -h
python3 main.py ILSgraphics -h
Typical examples of program use:
### PULP
python3 main.py PULP # Execute PULP algorithm
python3 main.py PULP -ILS results/output_33229254_greddy4_pert1_ls0_acep0.001.json # Execute PULP algorithm and comparated with best ILS solution
### ILS
python3 main.py PULP # Execute ILS algorithm with default parameters. Save results in local directory
### ILSgraphics
python3 main.py ILSgraphics -dfp results/ -s localSearch.ini z_history.best -sp # Print all important results.
python3 main.py ILSgraphics -dfp results/best-worse-results/ -s z_history.acceptance acceptance_history -sp # Print results to best-worse solutions.
python3 main.py ILSgraphics -dfp results/output_34679923_random4_pert1_ls0_acep0.005.json # Print all results to best solution.
See the open issues for a list of proposed features (and known issues).
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the MIT License. See LICENSE
for more information.
- Johan Mejia ([email protected]) -
- Tatiana Moreno ([email protected]) -
- Diego Carreño ([email protected]) -
Project Link: https://github.com/TEAM-IMT/energy-network-optimization