- Available times: the time intervals when the person performs activities every day, for example, from 7 AM to 8 PM on Monday.
- Occupied times: the times when the person has fixed activities that cannot be changed.
- Activities: the activities that need to be scheduled during the week, including weekly workload, days of the week when the activity must be performed (if any), minimum consecutive workload, and whether the activity needs to be done before a certain occupied time.
- Meal times: preferred meal periods for the person, for example, breakfast, which should happen between 7 AM and 9 AM and must last at least 30 minutes.
Find a scheduling of activities during the week that maximizes idle time.
- Two tasks cannot occupy the same time slot;
- Tasks must be within available times;
- Tasks cannot be scheduled during occupied times;
- Some tasks must be scheduled before a given occupied time;
- Tasks have a minimum consecutive workload;
- Available meal times must be respected.
pip3 install openpyxl (apenas apra gerar agenda)
python3 main.py Instancias/instancia_1.txt (executa a heurística)
python3 model.py Instancias/instancia_2.txt (executa o modelo)