Commit ccc39479 authored by Sebastian Schwarz's avatar Sebastian Schwarz
Browse files

Merge branch 'issue50_mpi-integration' into 'development'

Issue50 mpi integration

See merge request !44
parents de4a61cf 072a65a3
Pipeline #512985 passed with stages
in 56 minutes and 56 seconds
......@@ -28,6 +28,7 @@ pycity_scheduling requires at least the following Python packages:
- pyomo==6.0.0
- Shapely==1.7.1
- pycity_base==0.3.2
- mpi4py (optional)
- pylint (optional)
- sphinx (optional)
- numpydoc (optional)
......
......@@ -9,7 +9,7 @@ ENTRYPOINT /bin/bash
# Install the archlinux base packages:
RUN pacman -Syu sudo git patch wget php doxygen make cmake clang base-devel gcc gcc-fortran unzip tar bzip2 expat gdbm libffi openssl bluez-libs mpdecimal sqlite tk bison flex pkgconf boost boost-libs zlib gmp blas gsl readline ncurses tbb cliquer ghc ghc-libs haskell-criterion coin-or-asl lapack metis --noconfirm
RUN pacman -Syu sudo git patch wget php doxygen make cmake clang base-devel gcc gcc-fortran unzip tar bzip2 expat gdbm libffi openssl bluez-libs mpdecimal sqlite tk bison flex pkgconf boost boost-libs zlib gmp blas gsl readline ncurses tbb cliquer ghc ghc-libs haskell-criterion coin-or-asl lapack metis openmpi --noconfirm
# Create a builduser (required for some archlinux operations running inside Docker):
......
......@@ -4,6 +4,7 @@ matplotlib==3.3.4
pyomo==5.7.1
Shapely==1.7.1
pycity_base==0.3.2
mpi4py==3.0.3
pylint
sphinx
numpydoc
......
......@@ -2,7 +2,7 @@
The pycity_scheduling framework
Copyright (C) 2020,
Copyright (C) 2021,
Institute for Automation of Complex Power Systems (ACS),
E.ON Energy Research Center (E.ON ERC),
RWTH Aachen University
......
......@@ -2,7 +2,7 @@
The pycity_scheduling framework
Copyright (C) 2020,
Copyright (C) 2021,
Institute for Automation of Complex Power Systems (ACS),
E.ON Energy Research Center (E.ON ERC),
RWTH Aachen University
......
......@@ -2,7 +2,7 @@
The pycity_scheduling framework
Copyright (C) 2020,
Copyright (C) 2021,
Institute for Automation of Complex Power Systems (ACS),
E.ON Energy Research Center (E.ON ERC),
RWTH Aachen University
......
......@@ -2,7 +2,7 @@
The pycity_scheduling framework
Copyright (C) 2020,
Copyright (C) 2021,
Institute for Automation of Complex Power Systems (ACS),
E.ON Energy Research Center (E.ON ERC),
RWTH Aachen University
......
......@@ -2,7 +2,7 @@
The pycity_scheduling framework
Copyright (C) 2020,
Copyright (C) 2021,
Institute for Automation of Complex Power Systems (ACS),
E.ON Energy Research Center (E.ON ERC),
RWTH Aachen University
......
......@@ -2,7 +2,7 @@
The pycity_scheduling framework
Copyright (C) 2020,
Copyright (C) 2021,
Institute for Automation of Complex Power Systems (ACS),
E.ON Energy Research Center (E.ON ERC),
RWTH Aachen University
......
......@@ -2,7 +2,7 @@
The pycity_scheduling framework
Copyright (C) 2020,
Copyright (C) 2021,
Institute for Automation of Complex Power Systems (ACS),
E.ON Energy Research Center (E.ON ERC),
RWTH Aachen University
......@@ -93,7 +93,7 @@ def main(do_plot=False):
results = opt.solve()
cd.copy_schedule("dual_decomposition")
# Print some ADMM results:
# Print some dual decomposition results:
print("Dual Decomposition - Number of iterations:")
print(results["iterations"][-1])
print("Dual Decomposition - Norm vector 'r' over iterations:")
......
......@@ -2,7 +2,7 @@
The pycity_scheduling framework
Copyright (C) 2020,
Copyright (C) 2021,
Institute for Automation of Complex Power Systems (ACS),
E.ON Energy Research Center (E.ON ERC),
RWTH Aachen University
......@@ -28,7 +28,7 @@ from pycity_scheduling.classes import *
from pycity_scheduling.algorithms import *
# This is a very simple power scheduling example using the distributed Exchange ADMM algorithm.
# This is a very simple power scheduling example using the distributed exchange ADMM algorithm.
def main(do_plot=False):
......@@ -95,11 +95,11 @@ def main(do_plot=False):
cd.copy_schedule("admm")
# Print some ADMM results:
print("ADMM - Number of iterations:")
print("Exchange ADMM - Number of iterations:")
print(results["iterations"][-1])
print("ADMM - Norm vector 'r' over iterations:")
print("Exchange ADMM - Norm vector 'r' over iterations:")
print(results["r_norms"])
print("ADMM - Norm vector 's' over iterations:")
print("Exchange ADMM - Norm vector 's' over iterations:")
print(results["s_norms"])
print("")
......
......@@ -2,7 +2,7 @@
The pycity_scheduling framework
Copyright (C) 2020,
Copyright (C) 2021,
Institute for Automation of Complex Power Systems (ACS),
E.ON Energy Research Center (E.ON ERC),
RWTH Aachen University
......@@ -98,7 +98,7 @@ def main(do_plot=False):
ev = ElectricalVehicle(environment=e, e_el_max=37.0, p_el_max_charge=22.0, soc_init=0.65)
ap.addEntity(ev)
# Perform the scheduling with the Exchange ADMM algorithm to obtain an algorithm warmstart point:
# Perform the scheduling with the exchange ADMM algorithm to obtain an algorithm warmstart point:
opt = ExchangeADMM(city_district=cd, rho=2.0, eps_primal=1, eps_dual=1, mode="integer")
r1 = opt.solve()
imbalance = sum(np.abs(cd.schedule["p_el"] - bd1.schedule["p_el"] - bd2.schedule["p_el"]))
......
......@@ -2,7 +2,7 @@
The pycity_scheduling framework
Copyright (C) 2020,
Copyright (C) 2021,
Institute for Automation of Complex Power Systems (ACS),
E.ON Energy Research Center (E.ON ERC),
RWTH Aachen University
......
......@@ -2,7 +2,7 @@
The pycity_scheduling framework
Copyright (C) 2020,
Copyright (C) 2021,
Institute for Automation of Complex Power Systems (ACS),
E.ON Energy Research Center (E.ON ERC),
RWTH Aachen University
......
......@@ -2,7 +2,7 @@
The pycity_scheduling framework
Copyright (C) 2020,
Copyright (C) 2021,
Institute for Automation of Complex Power Systems (ACS),
E.ON Energy Research Center (E.ON ERC),
RWTH Aachen University
......
......@@ -2,7 +2,7 @@
The pycity_scheduling framework
Copyright (C) 2020,
Copyright (C) 2021,
Institute for Automation of Complex Power Systems (ACS),
E.ON Energy Research Center (E.ON ERC),
RWTH Aachen University
......
......@@ -2,7 +2,7 @@
The pycity_scheduling framework
Copyright (C) 2020,
Copyright (C) 2021,
Institute for Automation of Complex Power Systems (ACS),
E.ON Energy Research Center (E.ON ERC),
RWTH Aachen University
......
......@@ -2,7 +2,7 @@
The pycity_scheduling framework
Copyright (C) 2020,
Copyright (C) 2021,
Institute for Automation of Complex Power Systems (ACS),
E.ON Energy Research Center (E.ON ERC),
RWTH Aachen University
......
......@@ -2,7 +2,7 @@
The pycity_scheduling framework
Copyright (C) 2020,
Copyright (C) 2021,
Institute for Automation of Complex Power Systems (ACS),
E.ON Energy Research Center (E.ON ERC),
RWTH Aachen University
......
......@@ -2,7 +2,7 @@
The pycity_scheduling framework
Copyright (C) 2020,
Copyright (C) 2021,
Institute for Automation of Complex Power Systems (ACS),
E.ON Energy Research Center (E.ON ERC),
RWTH Aachen University
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment