Skip to content

MPC demonstrator for the collaborative freighter delivery problem (CFDP), MUPOL project

Notifications You must be signed in to change notification settings

ait-crypto/MUPOL-MPC

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MUPOL MPC Solution for the Collaborative Freighter Delivery Problem 🚛 🔐

Overview 🔭

This library forms the second component of the MUPOL MPC demonstrator, namely, the MPC solver itself. 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.

Installation 🔧

Dependency management

Installation and dependencies are managed by Poetry, which can be installed with pipx install poetry.

Once you've cloned the project, just run poetry install and you should be good to go.

Internal dependencies

This project uses a non-PyPI repository, MUPOL plaintext, as a dependency. It will be installed from source by Poetry when you run poetry install, so this should not affect the user.

Content 📋

The library files are contained in the mupol/mpc folder; 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). The utils folder contains files for arguments handling and logging, and some MPyC utility functions.

The necessary configuration files can be found in the config folder.

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.

Example usage 🏁

After install, run poetry run python3 example.py. If you want to fully simulate several parties (e.g., 3) with separate processes, use the corresponding MPyC syntax, i.e., poetry run python3 example.py -M 3.

Credits

This project was partially funded by the Austrian Research Promotiion Agency (FFG) with the "Digitale Technologien" funding frame under grant agreement no. 902669 (MUPOL).

Authors: Gabriele Spini and Stephan Krenn, AIT.

About

MPC demonstrator for the collaborative freighter delivery problem (CFDP), MUPOL project

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages