For this project, the challenge is to define schedules for classes at a school, satisfying a set of requirements. This problem demonstrates one of the many real applications of CSP's and here we will be encouraged to apply the concepts covered in class.
In order to develop an algorithm capable of reaching a solution for the schedules, the library used was python-constraint, due to its simplicity and speed of processing. To install it, simply run the following PIP command: pip install python-constraint
The requirements to execute this project are as follows:
- Code editor: A code editor such as Vs Code, Visual Studio or Pycharm are some examples that can be used. The only requirement is support for Python and Jupyter Notebook;
- Python: Obviously the project was carried out in Python, according to the CSP library. The required version is not clear but Python 3.9 works as expected;
- Jupyter Notebook: Jupyter is a platform that allows you to combine code cells and Markdown text cells in a file. It allows you to organize programs with more readable explanations, which is why it has a lot of academic value. Programs like VS Code allow you to install the jupyter extension.
In the end, the user should have learned the following knowledge:
- What is a CSP;
- How to apply a binary CSP to a real problem;
- Basic notions of Python;
This work was authored by:
- David Rodrigues ✅
- André Araújo ✅
Supervised by:
- Professor Joaquim Silva ✅
If you have any doubts or questions:
- Leave a question on the issues tab
- E-mail us at [email protected] (David) and [email protected] (André)