Học kỳ: 20202
Topics: Semester exam scheduling
- Có
N
môn1,2,...,N
cần được xếp lịch thi - Môn
i
có số lượng sinh viên đăng ký thi làd(i)
- Giữa
N
môn thi có danh sách các cặp 2 môn(i,j)
không thể xếp trùng kíp, ngày - Có
M
phòng thi1,2,...,M
, trong đó phòngj
có số lượng chỗ ngồi làc(j)
- Mỗi ngày được chia thành
4
kíp
=> Hãy lập kế hoạch bố trí lịch và phòng cho các môn thi sao cho tổng số ngày diễn ra N môn thi là nhỏ nhất
- Dòng 1: N
- Dòng 2: d1, d2, ..., dN
- Dòng 3: M
- Dòng 4: c1, c2, ..., c<
- Dòng 5: K nguyên dương
- Dòng 5+k (k=1,...,K): các cặp i, j
OS: Ubuntu 20.04 LTS
Chú ý: OR-Tools là thư viện C++, vì vậy, với Windows OS, đảm bảo cài đặt MingW. Đảm bảo thêm các biến mỗi trường và thêm vào Path đầy đủ
sudo apt-get install openjdk-11-jdk
sudo apt-get install maven
Tải xuống và giải nén: OR-Tools for Ubuntu 20.04 LTS
Đi tới thư mục vừa giải nén
make test_java
Nếu các ví dụ chạy thành công, OR-Tools đã sẵn sàng