This repository contains a project realized as part of the Combinatorial Decision Making and Optimization course exam of the Master's degree in Artificial Intelligence, University of Bologna.
VLSI (Very Large Scale Integration) refers to the trend of integrating circuits into silicon chips. A typical example is the smartphone. The modern trend of shrinking transistor sizes, allowing engineers to fit more and more transistors into the same area of silicon, has pushed the integration of more and more functions of cellphone circuitry into a single silicon die (i.e. plate). This enabled the modern cellphone to mature into a powerful tool that shrank from the size of a large brick-sized unit to a device small enough to comfortably carry in a pocket or purse, with a video camera, touchscreen, and other advanced features.
It is required to install Minizinc and add the executable to the environment variable PATH.
Moreover, Python 3 must be installed on the system and the following command must be issued from inside the project folder:
pip install -r ./requirements.txt
Run the models provided in the src
folder using Minizinc's IDE.
Run the base model over each instance:
python ./SAT/src/main.py
Run the model with allowed rotations over each instance:
python ./SAT/src/main_rotations.py
Run the base model over each instance:
python ./SAT/src/main.py
Run the model with allowed rotations over each instance:
python ./SAT/src/main_rotations.py
Create a set of images that graphically represent the solutions by using the following command (they will be found in the images
folder next to the output files):
python ./plot.py
Reg No. | Name | Surname | Username | |
---|---|---|---|---|
1005278 | Ludovico | Granata | [email protected] |
LudovicoGranata |
973719 | Parsa | Dahesh | [email protected] |
ParsaD23 |
984854 | Simone | Persiani | [email protected] |
iosonopersia |