https://github.com/dangnm9699/semester-exam-scheduling
Planning optimization / HUST / 20202
https://github.com/dangnm9699/semester-exam-scheduling
choco-solver hust optimization or-tools
Last synced: about 1 month ago
JSON representation
Planning optimization / HUST / 20202
- Host: GitHub
- URL: https://github.com/dangnm9699/semester-exam-scheduling
- Owner: dangnm9699
- Created: 2021-04-09T04:42:06.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2021-07-17T02:33:58.000Z (almost 4 years ago)
- Last Synced: 2025-02-04T14:46:31.453Z (3 months ago)
- Topics: choco-solver, hust, optimization, or-tools
- Language: Java
- Homepage:
- Size: 2.26 MB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Tối ưu lập kế hoạch
**Học kỳ:** 20202
**Topics:** Semester exam scheduling
## Đề bài
### Mô tả
- Có ```N``` môn ```1,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 thi ```1,2,...,M```, trong đó phòng ```j``` 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
### Đầu vào
- 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## Hướng dẫn cài đặt OR-Tools Java
*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 đủ**
### Cài đặt môi trường
```shell
sudo apt-get install openjdk-11-jdk
sudo apt-get install maven
```### Cài đặt OR-Tools
Tải xuống và giải nén: [OR-Tools for Ubuntu 20.04 LTS](https://github.com/google/or-tools/releases/download/v8.2/or-tools_ubuntu-20.04_v8.2.8710.tar.gz)### Kiểm tra cài đặt
Đi tới thư mục vừa giải nén
```shell
make test_java
```
Nếu các ví dụ chạy thành công, OR-Tools đã sẵn sàng