https://github.com/dmalyuta/explicit_hybrid_mpc
Approximate Multiparametric Mixed-integer Convex Programming
https://github.com/dmalyuta/explicit_hybrid_mpc
control-systems convex-optimization high-performance-computing mixed-integer-programming mpi optimization parallel-computing
Last synced: 3 months ago
JSON representation
Approximate Multiparametric Mixed-integer Convex Programming
- Host: GitHub
- URL: https://github.com/dmalyuta/explicit_hybrid_mpc
- Owner: dmalyuta
- Created: 2019-02-12T19:19:18.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2019-05-16T07:57:27.000Z (about 6 years ago)
- Last Synced: 2025-03-26T06:43:28.581Z (4 months ago)
- Topics: control-systems, convex-optimization, high-performance-computing, mixed-integer-programming, mpi, optimization, parallel-computing
- Language: Python
- Homepage:
- Size: 1.44 MB
- Stars: 14
- Watchers: 1
- Forks: 4
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Approximate Multiparametric Mixed-integer Convex Programming
![]()
Figure: control evaluation time. Bars show the mean while error bars shown the
minimum and maximum values. The explicit implementation is up to three orders of
magnitude faster than on-line optimization.## General Description
This repository implements the algorithm for generatic suboptimal explicit
solutions of multiparametric mixed-integer convex programs, submitted to [IEEE
Control Systems Letters](http://ieee-cssletters.dei.unipd.it/index.php). The
algorithm can be run either locally or on a cluster via `mpirun`.```
@ARTICLE{Mayuta2019,
author = {{Malyuta}, Danylo and {A\c{c}{\i}kme\c{s}e}, Beh\c{c}et},
title = {Approximate Multiparametric Mixed-integer Convex Programming},
journal = {arXiv e-prints},
keywords = {Mathematics - Optimization and Control},
year = "2019",
month = "Feb",
eid = {arXiv:1902.10994},
pages = {arXiv:1902.10994},
archivePrefix = {arXiv},
eprint = {1902.10994},
primaryClass = {math.OC},
adsurl = {https://ui.adsabs.harvard.edu/abs/2019arXiv190210994M},
adsnote = {Provided by the SAO/NASA Astrophysics Data System}
}
```## Requirements
To run the code, you must have Python 3.7.2 and [MOSEK
9.0.87](https://www.mosek.com/downloads/) installed. To install Python and other
dependenies (except MOSEK) on Ubuntu, we recommend that you install [Anaconda
for Python 3.7](https://www.anaconda.com/distribution/) and then execute (from
inside this repository's directory):```
$ conda create -n py372 python=3.7.2 anaconda # Answer yes to everything
$ source activate py372
$ pip install -r requirements.txt
```## Instructions
Partitioning jobs are created through `make_jobs.sh`. Run
```
bash make_jobs.sh -h
```
for more information. The job files are stored in the `./runtime` directory.