Professors:
- Zeynep Kiziltan
- Roberto Amadini
Table of Contents
This work consists in a Combinatorial Optimization approach to the Very Large Scale Integration (VLSI) problem. In particular, four different technologies are employed to address the problem at hand, namely Constraint Programming (CP), propositional SATisfiability (SAT), Satisfiability Modulo Theories (SMT) and Linear Programming (LP).
- Python v. 3.6.x or later
- Minizinc v. 2.6.1 or later (https://www.minizinc.org/software.html)
- Gurobi Optimizer (https://www.gurobi.com/downloads/gurobi-optimizer-eula/) can ask for a free academic license
Minizinc must be added to the $PATH environment variable in order to work well with the Python interface.
- Use requirements.txt to create a pip virtual environment:
python -m venv cdmo ./cdmo/Scripts/activate pip install -r requirements.txt
- Run runModel.py as follows. Strategy must be either CP, SAT, SMT or MIP.
python runModel.py [-i instn] [-t timeout] [-v verbose] [-o outfile] [-r rotations] <strategy>
Distributed under the MIT License.
-
Antonio Morelli:
-
Davide Baldelli
-
Tommaso Cortecchia
-
Stefano Ciapponi