You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
# MUPOL MPC Solution for the Collaborative Freighter Delivery Problem :articulated_lorry::closed_lock_with_key:
2
2
3
+
## Overview :telescope:
4
+
5
+
This library forms the second component of the MUPOL MPC demonstrator, namely, the MPC solver itself.
6
+
In a nutshell, given a problem instance generated with the MUPOL plaintext library (hence a map with orders and trucks at given locations, where orders need to be brought to other locations with a given priority), the MPC solver will find a solution by making use of MPC, and hence by preserving the confidentiality of the trucks and orders information.
7
+
3
8
## Installation :wrench:
4
9
5
10
### Dependency management
6
11
7
12
Installation and dependencies are managed by [Poetry](https://python-poetry.org/), which can be installed with `pipx install poetry`.
8
13
14
+
Once you've cloned the project, just run `poetry install` and you should be good to go.
15
+
9
16
### Internal dependencies
10
17
11
-
Furthermore, this project uses [MUPOL plaintext](https://github.com/ait-crypto/MUPOL-Plaintext).
12
-
The project code is currently not provided in a Python package, hence it is up to the user to create such a package and add it to the Python virtual environment.
18
+
This project uses a non-PyPI repository, [MUPOL plaintext](https://github.com/ait-crypto/MUPOL-Plaintext), as a dependency.
19
+
It will be installed from source by Poetry when you run `poetry install`, so this should not affect the user.
20
+
21
+
## Content :clipboard:
22
+
23
+
The library files are contained in the `mupol/mpc` folder;
24
+
they primarily consists of the `solver.py` file (containing the main class to solve a MUPOL problem instance with MPC) and of the `input_uploader.py` file (that "uploads" MUPOL objects to the MPyC framework).
25
+
The `utils` folder contains files for arguments handling and logging, and some MPyC utility functions.
26
+
27
+
The necessary configuration files can be found in the `config` folder.
28
+
29
+
Finally, the root folder contain an example wrapper `example.py`, that will generatae a MUPOL problem instance and solve it, and a `profiler.py` for benchmarking.
13
30
14
31
15
32
## Example usage :checkered_flag:
@@ -20,6 +37,6 @@ If you want to fully simulate several parties (e.g., 3) with separate processes,
20
37
21
38
## Credits
22
39
23
-
This project was partially funded by the Austrian Research Promotiion Agency (FFG) with the "Digitale Technolgien" funding frame under grant agreement no. 902669 (MUPOL).
40
+
This project was partially funded by the Austrian Research Promotiion Agency (FFG) with the "Digitale Technologien" funding frame under grant agreement no. 902669 (MUPOL).
0 commit comments