Purpose of the project - create web-service which enable DOE to
create appropriate university schedule based on imported data.
Link to the doc of Backlog and US here: https://docs.google.com/document/d/1Q6XTWs7_xvN5X87-OeV39380I0uzNNHe1ufrY6663u0/edit
- User profiles (login/logout/register)
- Upload files and see history of uploaded files
- Generate schedule and see history of generated schedule & edit pr. schedules
- Visualisation on site & google spreadsheet
Good research on scheduing: Scheduling using genetic algorithm
As a base for our scheduler, we use a Genetic algorithm.
How it works:
- An initial population is generated based on imported data; size of population - 100
- Fitness function of the prototype is based on a number of intersections between groups, auditoriums, and faculties / order of lesssons & size of auditoriums & groups
- Crossover swaps day, time and auditorium of mating schedules (chromosomes);
- Mutation function randomly changes a day, time and auditorium;
- Repeat till ideal fitness is reached or 30 000 generations will run;
- Export schedule somewhere
- Python3
- Django
- C++ 11
- Bootstrap/JQuery
- Gsript
- Clone this repository to your machine;
- Install MinGW (Windows) and CMake if needed;
- Clone submodules with:
- git submodule sync
- git submodule init
- git submodule update
- Create folder scheduler_cpp/files
- Run the server.
Here are additional notes for different Operating Systems.
Specify path to MinGW bin folder and CMake in variable PATH. The PATH should contain only one copy of MinGW so that everything worked fine.
Installing CMake should be enough.
pip3 install -r requirements.txt
cd site
python manage.py makemigrations && python manage.py migrate
python3 manage.py runserver