A linear problem modeler and optimizer using PuLP

pip install pyMILP==1.0.0



A program to solve an energy hub model in Python.


  • Python 3.7.3
  • pip for Python 3.7.3
  • GLPK or another solver supported by PyLP

Running a Model

To run a energy hub model, use the General_input.xlsx file to enter your data. The data must be in the same format.

Check the config.yaml file to see if the input file and output file is where you want to load and output the results of the model respectively.

While inside the config.yaml file, be sure to set the settings for using a specific solver that is installed on your system. The default one is glpk with some options, but you can set it to any other solver that is supported by PyLP.

Once you have configured the config.yaml file, run:


to solve the model. The results should be in the file you specified in config.yaml.



To install PyHub, either pip install PyEHub or download the repo and its requirements directly.

Pip installing PyEHub:

pip install pyehub

Download the repo:

git clone

Install the libraries needed for PyEHub to run:

pip install -r requirements.txt

Also install GLPK or another Pulp supporting solver. Can be found here. Windows installation instructions here

Edit the config.yaml file to use a selected solver.

Run the script to see if everything works.



Can be found here.


Features/Bug fixes

If you are fixing a bug or making a new feature, first get the lastest master branch.

git checkout master
git pull

Then create your own branch for you to work on:

git branch <your-branch-name>
git checkout <your-branch-name>

Once you are done, please submit a pull request.