trên một máy duy nhất trong các cửa sô thời gian có sẵn [1], Giảm thiểu khoảng thời gian của van dé lập lịch cá nhân trong các cửa sé thời gian có sẵn với cácràng buộc về thời gian thiết
Trang 1ĐẠI HỌC QUOC GIA TP HO CHÍ MINH
TRUONG DAI HQC CONG NGHE THONG TIN
KHOA MMT&TT
LUC TÚ VĂN - 19521097
KHÓA LUẬN TÓT NGHIỆP
NGHIÊN CỨU VÀ DE XUAT PHƯƠNG PHAP CHO
BÀI TOÁN LẬP LỊCH CÁ NHÂN
Research and propose some methods for personal scheduling problem
KY SU NGANH MẠNG MAY TÍNH VA TRUYEN THONG DU LIEU
GIANG VIEN HUONG DAN
Th.S Nguyễn Khánh Thuật
TP HO CHÍ MINH, 2023
Trang 2LỜI CẢM ƠN
Tôi muốn bay tỏ lòng biết ơn chân thành và sâu sắc đến tất cả những người
đã đóng góp và hồ trợ tôi trong quá trình thực hiện khóa luận này vê bài
toán lập lịch cá nhân
Đầu tiên, tôi xin gửi lời cảm ơn đến người hướng dẫn của tôi, ThS Nguyễn Khánh Thuật Sự tận tâm, kiến thức và hỗ trợ của thầy đã đóng vai trò quan
trọng trong việc hướng dẫn và chỉ dẫn tôi trong quá trình nghiên cứu và việt
khóa luận Những lời khuyên và sự chỉ dẫn chính xác mà thầy đã cung cấp
đã giúp tôi vượt qua những khó khăn và phát triển kỹ năng nghiên cứu của
mình.
Tôi cũng muốn gửi lời cảm ơn đến các giảng viên và nhân viên của khoa
Mạng máy tính và Truyền thông, trường Đại học Công nghệ Thông tin
TP.HCM, những người đã chia sẻ kiến thức và kinh nghiệm của mình trong
suốt quá trình học Những bài giảng và tư vấn chất lượng của các thầy, cô
đã giúp tôi mở rộng kiến thức và hiểu biết sâu hơn về lĩnh vực công nghệ
thông tin.
Tôi không thể quên gửi lời cảm ơn đến gia đình và bạn bè của tôi vì sự hỗ
trợ va động viên của họ Những lời khích lệ và tình yêu thương của mọi
người đã truyền động lực và sự tự tin cho tôi trong suốt quá trình hoàn thành
khóa luận này.
Một lần nữa, tôi xin chân thành cảm ơn tất cả mọi người đã đóng góp và hỗ
trợ tôi trong quá trình thực hiện khóa luận này Sự giúp đỡ của các bạn đã
đóng vai trò quan trọng trong thành công của tôi.
Dù rằng đã nỗ lực hoàn thành khóa luận chin chu và hoàn thiện nhất có thé, nhưng sẽ khó tránh khỏi các sai sót, mong quý thầy cô tận tỉnh chỉ bảo.
Trân trọng,
Lục Tú Văn.
Ngày tháng 7 năm 2023
Trang 3ĐẠI HỌC QUÓC GIA TP HÒ CHÍ MINH CỘNG HÒA XÃ HỘI CHỦ
TRƯỜNG ĐẠI HỌC NGHĨA VIỆT NAM
CÔNG NGHỆ THÔNG TIN Độc Lập - Tự Do - Hạnh Phúc
ĐÈ CƯƠNG CHI TIẾT
Cán bộ hướng dẫn: Th.S Nguyễn Khánh Thuật
Thời gian thực hiện: Từ ngày 20/02/2023.đến ngày 11/06/2023
Sinh viên thực hiện:
<Lục Tú Văn — 19521097 - 0774684719>
Nội dung đề tài:
Tổng quan tình hình nghiên cứu:
a Tình hình nghiên cứu ngoài nước:
Trong thời đại công nghệ hiện nay, mọi người phải đối mặt với hàng trăm công
việc và vấn đề cần giải quyết từng ngày Theo (David Allen, 2003), một chuyên gia về cải thiện năng suất công việc, hầu hết chúng ta sẽ có 50 đến 150 nhiệm
vụ lớn nhỏ cần được xử lý ở bất kỳ thời điểm nào Hơn nữa, mỗi công việc đều
có thuộc tính và ràng buộc riêng, như thời điểm bắt đầu, thời hạn phải hoàn
thành, thời gian xử lý thích hợp và đặc biệt là khi có nhiều số lượng công VIỆC
và ràng buộc phải thỏa mãn không ít, mọi người sẽ vất vả và tốn thời gian khi phải liên tục tự sắp xếp lại các công việc của mình Do vậy bài toán tự động sắp
xếp lich va phân chia các công việc nhỏ hon trong những khung thời gian lam
việc khá quan trọng đề áp dụng cho các ứng dụng quản lý công việc cá nhân Bài toán lập lịch công việc đã rất nồi tiếng và có nhiều hướng nghiên cứu và
ứng dụng trong thực tế, cụ thể như lập lịch câp phát các tác vụ trong môi trường
IOT, robot , lập lịch ràng buộc nguồn lực trong quan lý dự án, sắp xếp thời
khóa biéu, _lập lịch công việc ứng dụng trong quản lý nhân sự Tuy nhiên,
bài toán lập lịch công việc cá nhân mang tính thực tế và gần gũi với chúng ta ít
khi được đề cập đến.
b Tình hình nghiên cứu trong nước:
Tính đến thời điểm hiện tại (03/2023), đã có nhiều bài nghiên cứu về vấn đề này được ra với đề tài: Giải pháp cho sự cố lập lịch công việc phân tách có giới hạn
Trang 4trên một máy duy nhất trong các cửa sô thời gian có sẵn [1], Giảm thiểu khoảng thời gian của van dé lập lịch cá nhân trong các cửa sé thời gian có sẵn với các
ràng buộc về thời gian thiết lập và chia nhỏ [2], Một cách tiếp cận dựa trên độ
phân giải luồng tối đa để giảm thiểu khoảng thời gian của vân đề lập lịch trình
cá nhân [3], Giảm thiểu khoảng thời gian của vấn đề lập lịch trình cá nhân trong
các cửa số thời gian có sẵn với các ràng buộc về thời gian thiết lập và chia nhỏ
[4]
Tinh khoa học va tinh mới của dé tài:
Theo thời gian phát triển, đặc biệt vừa trải qua khoảng thời gian có sự ảnh hưởng của bối
cảnh dịch COVID vừa qua thì số lượng công việc của mỗi cá nhân chắc chắn sẽ gia tăng
so với trước Các hoạt động cần lên lịch, sắp xếp sẽ ngày càng nhiều và việc lập lịch chắc chắn rất cần thiết.
Với các bài nghiên cứu đã được dé cập ở trên, các giải pháp vẫn đang tập trung vào bài
toán cơ bản với các ràng buộc của split-time và available-window mà chưa đưa ra cụ thê
các ứng dụng, sự đa dạng của tập dữ liệu đưa vào hoặc các yếu tố khác ảnh hưởng đến bài
toán và mục đích cuối cùng, là giảm thiêu thời gian hoàn thành tat cả công việc.
Việc tiếp tục đề tài nghiên cứu là cần thiết, khi nhu cầu càng lớn hơn và mọi người cũng
còn nhiều yếu tố ràng buộc hơn trước so với bài toán lúc đầu.
Mục tiêu, đối tượng và phạm vi nghiên cứu:
1 Mục tiêu nghiên cứu
Mục tiêu của khóa luận là xem xét giải quyết bài toán lập lịch công việc cá
nhân:
- Nghiên cứu và đề xuất các phương pháp tiếp cận giải quyết bài toán lập lịch
công việc cá nhân trên các bộ dữ liệu đầu vào khác nhau phù hợp hơn với tình
hình ở hiện tại, qua đó đề xuất phương pháp hiệu quả.
- Nghiên cứu giải quyết các bài toán lập lịch cá nhân đặc thù có một số ràng
buộc khác được sử dụng trong thực tế.
- Nghiên cứu ứng dụng mở rộng của bài toán lập lịch cá nhân cơ bản trước đó.
2 Đối tượng nghiên cứu
Dựa trên các mục tiêu nghiên cứu ở trên, bài toán xác định:
- Đối tượng nghiên cứu: các phương pháp tiếp cận giải quyết bài toán lập lịch
các công việc của từng cá nhân.
3 Phạm vi nghiên cứu
Dựa trên các mục tiêu nghiên cứu ở trên, bài toán xác định:
- Phạm vi nghiên cứu: giải quyết bài toán lập lịch công việc cá nhân, ứng dụng
của bài toán.
Nội dung, phương pháp dự định nghiên cứu
Nội dung 1: Xây dựng và thứ nghiệm lại các giải pháp, phương pháp tiếp cận cũ với
bộ dữ liệu khác
Trang 5Phương pháp: Áp dụng các thuật toán MILP, metaheuristic, heuristic, để thử nghiệm
trên bộ dữ liệu
Mục tiêu: Kiểm chứng các nhận định cũ và đưa ra được nhận xét mới với các thuật toán
này với bộ dữ liệu hiện tại, từ đó tìm kiêm phương pháp tôi ưu cho các trường hợp.
Kết quả dự kiến: Đưa ra được nhận xét rõ hơn với bộ dữ liệu ở mức nhỏ, lớn và bộ dữ liệu
vừa (chưa được đê cập trong nghiên cứu trước đây) và suy xét đên các tập tính khác của
đữ liệu.
Nội dung 2: Nghiên cứu giải quyết các bài toán lập lịch cá nhân đặc thù
Phương pháp: Nghiên cứu các tài liệu đặt ra bài toán lập lịch cá nhân, tìm hiểu về phương
pháp đặt vân đê phù hợp với thực tê
Mục tiêu: Nghiên cứu kĩ hơn về bài toán đặc thù đã có trước đó và đưa ra bài toán đặc thù
mới với lời giải khả thi
Kết quả dự kiến: Liệt kê được một số bài toán đặc thù, tập nghiệm và các lời giải cho bài
toán đó, trong trường hợp khác biệt với lời giải chung của các bài toán lập lịch cá nhân.
Nội dung 3: Nghiên cứu ứng dụng mở rộng của bài toán lập lịch cá nhân
Phương pháp: Áp dụng kiến thức về bài toán và hệ thống sử dụng lập lịch
Mục tiêu: Xem xét sự khả thi của việc ứng dụng mở rộng bài toán lập lịch cá nhân và
phương hướng mở rộng
Kết quả dự kiến: Một hướng mở rộng ứng dụng khả thi cho bài toán lập lịch cá nhân.
Kế hoạch thực hiện:
Thời gian Nội dung Nhiệm vụ
07/02/2023 Tìm hiểu và thảo luận - Tìm hiểu về đề tai, nghiên cứu liên
— 14/02/2023 quan đên đê tài trước đó
- Thừa kế lại các nội dung ở các đề tài
trước đó, rút ra các ưu, nhược điểm Đưa ra nội dung cần triển khai cho đề
tài
- Xem xét và đưa ra tính khả thi,
những kiến thức cần có để thực hiện
đề tài.
14/02/2023 Nhận đề tài và trao đổi - Nhận đề tài từ GVHD, thống nhất
- 15/03/2023 các nội dung thực hiện, hướng phát
triên.
Trang 6- Đăng ký và hoàn thành đại cương khóa luận.
15/03/2023 Kế thừa nội dung, phát|- Triển khai, thử nghiệm và kiểm
- 21/03/2023 triên nội dung 1 chứng các phương pháp cũ
- Tìm hiểu các dé tài liên quan và các
phương pháp khả thi đã được đê ra
- Xây dựng bộ dữ liệu đa dạng và phù
hợp, xem xét các yêu tô khả thi
25/03/2023 Báo cáo tiến độ Báo cáo tiến độ và trao đổi với
- Dé ra một sô bai toán đặc thù khác
và tìm giải pháp khả thi( hoặc tim được yêu câu của lời giải khả thi cho các bài toán này)
18/04/2023 — Báo cáo tiến độ giữa kì - Báo cáo tiến độ giữa kỳ khóa luận
02/05/2023 tôt nghiệp với GVHD
02/05/2023 Triển khai nội dung 3 - Nghiên cứu ứng dụng mở rộng của
- 13/06/2023 bai toán lập lịch cá nhân
- Tìm kiêm các hướng mở rộng khả thi
- Hoan chỉnh các nội dung 1 và 2,
hoàn thành sơ thảo bao cáo khóa luận
20/06/2023 — Phản biện khóa luận tốt | Gặp GVHD và giảng viên phản biện
27/06/2023 nghiệp Hoàn chỉnh các báo cáo và các vấn đề
liên quan
04/07/2023 — Bảo vệ khóa luận tốt nghiệp | Chính thức bảo vệ khóa luận tốt
Trang 7Tài liệu tham khảo:
[1] T H Son, T V Lang, N Huynh-Tuong, and A Soukhal, "Resolution for bounded splitting
jobs scheduling problem on a single machine in available time-windows", Journal of Ambient Intelligence and Humanized Computing (SCIE Q1 IF=7.104), vol 12, no 1, pp 1179-1196, 2021.
[2] T.H.Son, T V Lang, and N Huynh-Tuong, "Minimizing makespan of personal scheduling
problem in available time-windows with split-min and setup-time constraints", Journal of
Computer Science and Cybernetics, vol 34, no 2, pp 97-111, 2018.
[3] T H Son, N V Huy, N Huynh-Tuong, T V Lang, and A Soukhal, "An approach based on
max flow resolution for minimizing makespan of personal scheduling problem", in Addendum
Proceedings of the 2016 IEEE RIVF International Conference on Computing and Communication
Technologies: Research, Innovation, and Vision for the Future (RIVF’2016), pp 7-11, Hanoi,
Vietnam: IEEE, 7-9 Nov 2016.
[4] T H Son, N Huynh-Tuong, and T V Lang, "Minimizing makespan of personal scheduling problem in available time-windows with split-min and setup-time constraints", in The 11th National Conference on Fundamental and Applied IT Research (FAIR’2018), Hanoi, Vietnam, 9-
10 Aug 2018
Xác nhận của CBHD TP HCM, ngày 15 tháng 03 năm 2023
(Ký tên và ghi rõ họ tên) Sinh viên
SA (Ký tên và ghi rõ họ tên)
fe
Luc Tu Van
Trang 8MỤC LỤC
1.1 Đặt vấn đề che 21.2 Mục tiêu, phạm vi và đối tượng nghiên cứu - ¿5c s+cs+cs+cszrezceei 2
1.3 Các công trình liÊn Quan - - s5 3+ 1331113111391 19 11 11 vn rệt 3
1.3.1 Công trình ngOải hƯỚC - -Ă S5 3S tren re 3
1.3.2 Công trình trong nƯỚC +25 SnSS vs rtrrrrrrrrrrserrerres 4
1.4 Tính khoa học và tính mới của để tài cc¿-+ccvccrrrrrrtrrrrrrrirrrrrek 5
1.5 Bài toán lập lịch công VIỆC -+c +2 1 S211 11119 119v HT HH ngư 6
1.6 Bài toán lập lịch công việc cá nhân theo tUẪN, 5.5 cc St StckeEeEkrkerereekee 7
1.6.1 _ Giới thiệu bài toán -.- -Ă L1 SH HH HH giết 7
1.6.2 Minh họa bài tOán - - - -cĂ 2 221111111 231111111199 111 1g rrre 8
1⁄7 Một số trường hợp đặc biệt của bài toán sc + * + ++sssexsssseres 11
1.7.2 Trường hợp các khung thời gian trống có kích thước bang nhau 11
2.2.4 So sánh MILP 1 và MILP 2 oo ee ce eceeceeseeseeseeseeeeneeseeseeeceeeseeseeaees 18
2.3 Phương pháp Assignment (ASS) HH ng, 19
Trang 92.3.1 Giới thiỆu Ă HH HH HH TH TH TH HH HH nh re 19
2.3.2 Ưu điểm, khuyết điỂm - ¿22- s+2x+2E++ESEEtEErrErrresrxerkerree 19
2.3.3 Ứng dụng trong bài toán -©++2E++E+EEEEEeEErErrkerkerree 202.4 Tabu search Lỗi! Thẻ đánh dấu không được xác định
"1N to na 21
2.4.3 Ứng dụng trong bài toán -c-©+2c++E+Ekerkerkrrxerkerkerree 23Chương 3 TRIÊN KHAI, THUC NGHIỆM VÀ BO DU LIEU 25
E2) " - - 25
3.1.1 Thong kê liên quan ¿ -¿e+©++-+++cx+rxerrssrxesrxee 253.1.2 Đặc điểm của bộ dữ liệu -¿- 2c 5+ ©5++c++cxerxzxevrxerxerxerree 263.1.3 Thông số và đơn Vị - ¿+ +k+Ek+EE+EEEEEEEEEEEEEEEEerkerkrrkrree 283.2 Phương thức trién khai - 2 ©5£+52+EE£EE£EEE+EEEEEEEErErrerrkerkerreee 31
ES NT (000i 52v e 32
B.A, PythOM hố ốốốe 33
3.4.1 _ Giới thiỆU Ăn HH HH nh như 33
3.4.2 Cac thư viện Python được sử dung trong thực nghiệm 34
Chuong 4 KẾT QUÁ VÀ ĐÁNH GIIÁ 2-©5¿+c2+E£+EEtEEczErrkerkerkerex 38
4.1 Phuong pháp đánh giá - 6 1+ x13 91 HH HH ng ng 38
4.2 KẾt quả 5c tk E11111211211 1111011011 211011 1111111111 1 re 38
4.2.1 Minh họa bài toán ví dỤ - << 5 SE 221111 S2 vvvcessssee 38
4.2.2 Dữ liệu số che 4I
4.2.3 So sánh trỰC QUAT Ăn HH KH kg ngư 44
4.3 Đánh giá với từng phương phấtp - - + +3 Ssirererrrerrrrrrrre 47
Trang 104.3.1 Mô hình MILP s3 vn TH HH 47
4.3.2 Phương pháp ASSIBnINII - G5 c5 23 133211131 EEErrererrree 48
4.3.3 Tabu search Lỗi! Thé đánh dấu không được xác định
Trang 11DANH MỤC HÌNH
Hình 1.1 Một số phương pháp giải quyết bài tốn lập lịch [1] . - 3Hình 1.2 Ví dụ về sơ đồ Gantt phân chia cơng việc theo hướng máy [ 11] 7Hình 1.3 Kết quả khả thi minh họa bài tốn 2- 5 2522 £+S£+E£Ee£xerxerszse2 10
Hình 2.1 Flowchart của Tabu search - 6< 2s 1119119 1 9v ng ng nhiệt 24 Hình 3.1 Dataset được lưu dưới dạng tap tin CSV - c Sc cv skssiseersrrrree 31
Hình 3.2 Giao diện Excel lưu dữ liệu đánh giá c5 25533 *+vsseersseeres 32
Hình 3.4 Thơng tin CBC MILP SỌV€T - 5 6 2 3 939 HH g g gưkt 33
Hình 3.5 Logo PythOH 5 c1 12910111 1119111 91 1 910 11H HH ng rưy 34
Hình 4.1 Kết quả bài tốn minh họa của MILP l -:-2¿©+2cs++cx5csze- 39Hình 4.2 Kết quả bài tốn minh họa với MILP 2 -2 2¿©s2©5++2s++zx2zsze: 39Hình 4.3 Kết quả bài tốn minh họa với Assignment : ¿ 2 ©5z+csz55sze: 40Hình 4.4 Kết quả bài tốn minh họa với Tabu + Assignment . : 40
Hình 4.5 So sánh kết quả bài tốn minh họa - ¿5+2 x£x2x+zz+zzxerxezsz 41 Hình 4.6 So sánh %LB giữa các phương pháp đối với DS1, DS2, DS3 42
Hình 4.7 So sánh thời gian chạy của các phương pháp theo đơn vi giây 43
Hình 4.8 So sánh chi số trung bình giữa DS1, DS2, DS3 - ccccscces 44
Hình 4.9 Hình so sánh %LB giữa các phương pháp của DS1 « 44
Hình 4.10 %LB theo DS1, DS2, DS3 kg HH HH hư 45
Hình 4.11 Thời gian chạy trung bình theo DS1, DS2, DS3 «+55 45
Hình 4.12 So sánh Cmax của Assignment và Assignment + Tabu search trong DS1 46
Hình 4.13 So sánh t(s) cua Assignment va Assignment + Tabu search trong DS1 46
Hình 4.14 Một solution cua MILP được tìm thay trước max_ seconds 47Hình 4.15 Kết quả sau khi ngắt tại 300 giây - 2-2: 5c©522EE+EEcEEcrErrxerkerrerex 48
Trang 12Bảng 1.5 Các công việc minh họa bài fOấT 5-5 + 3E E**#**tEskereerekerse 9
Bảng 1.6 Các khung thời gian trống minh họa bài toán -: 5¿5+¿ 9Bảng 1.7 Ví dụ về cách ứng dụng lời giải khả thi của bài toán trong thực tế 10Bảng 2.1 Ưu, khuyết điểm của mô hình MILP 1 và MILP 2 . - 18
Bảng 2.2 So sánh Tabu search với các phương pháp metaheuristic khác 22
Bang 3.1 Số giờ trung bình một ngày cho công viỆc - ¿©¿+++cx+zxezsz 25Bảng 3.2 Thống kê về công việc và công việc phụ liên quan .: - 26Bảng 3.3 Số lượng công việc tương ứng với từng bộ dữ liệu . - 26
Bang 4.1 Bảng các cặp (n,m,splitmin) trong DS1, DS2, DS3 41
Trang 13DANH MỤC TỪ VIET TAT
Trang 14TOM TAT KHÓA LUẬN
Trong những năm gần đây, khi công nghệ thông tin phát triển và hiệu ứng đô thị hóa
tăng nhanh ở Việt Nam, dẫn đến khối lượng công việc cần sắp xếp của mỗi con người
cũng gia tăng đáng ké Nhu cầu đó dẫn đến sự ra đời của các công cụ lập lịch, ghinhớ, thời gian biểu
Trong quá trình học, bài toán lập lịch đã không còn là xa lạ tuy vậy vẫn chưa có nhiều
công trình tập trung vào sắp xếp lịch cá nhân mà thường là xếp lịch của công nghiệp,
công ty với các máy machines Ở Việt Nam có bài báo nghiên cứu về bài toánlập lịch cá nhân nhưng chưa có nhiều thử nghiệm trên các dataset cụ thể hơn
Vì vậy, với những kết quả trong luận văn, mong muốn cải thiện thêm và thử nghiệm,
kiểm chứng lại các kết quả trên trong một môi trường dữ liệu rõ ràng hơn, cụ thê làcông việc tuần Hy vọng góp phan giải quyết bài toán sắp xếp lịch cá nhân
Trang 15Chương 1 TONG QUAN
1.1 Đặt van dé
Trong thời dai công nghệ hiện nay, mọi người phải đối mặt với hang trăm công việc
và vấn đề cần giải quyết từng ngày Theo David Allen, một chuyên gia về cải thiện
năng suất công việc, hầu hết chúng ta sẽ có 50 đến 150 nhiệm vụ lớn nhỏ cần được
xử lý ở bất kỳ thời điểm nào Hơn nữa, mỗi công việc đều có thuộc tính và ràng buộc
riêng, như thời điểm bắt đầu, thời hạn phải hoàn thành, thời gian xử lý thích hợp vàđặc biệt là khi có nhiều số lượng công việc và ràng buộc phải thỏa mãn không ít, mọingười sẽ vất vả và tốn thời gian khi phải liên tục tự sắp xếp lại các công việc củamình Do vậy bài toán tự động sắp xếp lịch và phân chia các công việc nhỏ hơn trongnhững khung thời gian làm việc khá quan trong dé áp dụng cho các ứng dụng quan
lý công việc cá nhân.
1.2 Mục tiêu, phạm vi và đối tượng nghiên cứu
Mục tiêu của khóa luận là xem xét giải quyét bài toán lập lịch công việc cá nhân với
một giới hạn thời gian cụ thể hơn (theo tuần):
- _ Nghiên cứu và đề xuất các phương pháp tiếp cận giải quyết bài toán lập lịch
công việc cá nhân trên các bộ dữ liệu đầu vào khác nhau phù hợp hơn với tìnhhình ở hiện tại, qua đó đề xuất phương pháp hiệu quả
- _ Nghiên cứu giải quyết các bài toán lập lịch cá nhân theo tuần đặc thù khác
- _ Chỉnh sửa và đề xuất một số thay đổi trong tập dữ liệu
Dựa trên các mục tiêu nghiên cứu ở trên, bài toán xác định:
- _ Đối tượng: các phương pháp tiếp cận giải quyết bài toán lập lịch các công việc
của từng cá nhân.
- Pham vi nghiên cứu: giải quyết bài toán lập lịch công việc cá nhân, ứng dung
của bài toán, sự khả thi với tình huống thực tế
Trang 161.3 Các công trình liên quan
1.3.1 Công trình ngoài nước
Bài toán lập lịch công việc đã rất nỗi tiếng và có nhiều hướng nghiên cứu và ứngdụng trong thực tế, cụ thể như lập lịch cấp phát các tác vụ trong môi trường IOT,robot , lập lịch ràng buộc nguôn lực trong quản lý dự án, sắp xếp thời khóa biểu
lập lịch công việc ứng dụng trong quản lý nhân sự Tuy nhiên, bài toán lập lịch công
việc cá nhân mang tính thực tế và gần gũi với chúng ta ít khi được đề cập đến
Randomized/Meta-linear/Constrained Programming
Trang 17Bảng 1.1 So sánh các công trình ngoài nước về bài toán lập lịch
Precedence | Preemption | Batching | Lot- Bounded
Scheduling: Theory, x x x x N/A
Algorithms, and Systems [4]
Handbook on Scheduling [5] | * x x x NA
Scheduling with processing X X NA NA NA
set restrictions: A survey [6]
A survey of case studies in 2 -x ` x N/A
1.3.2 Công trình trong nước
Tính đến thời điểm hiện tại (06/2023), đã có nhiều bài nghiên cứu về van
đề này được ra với đề tài tập trung vào vấn đề giải quyết bài toán lập lịch cá nhân
Trang 18Bảng 1.2 So sánh các công trình trong nước về bài toán lập lịch cá nhân
Công việc | Tôi ưu hóa thời | Dé xuat dt
có cận dưới | gian hoàn thành liệu rõ rằng
Giải pháp cho sự cố lập x ren có giải
lịch công việc phân t cave
ngưỡng giới
tách có giới hạn trên
một máy duy nhấttrong các cửa sô thời
gian có săn [9]
hạn chia nhỏ
Giảm thiểu khoảng x x ree có Bian
thoi gian cua van dé t tenve
ngưỡng giới
lập lịch cá nhân trong
các cửa sô thời gian có
san với các ràng buộc
về thời gian thiết lập và
chia nhỏ [10]
hạn chia nhỏ
1.4 Tính khoa học và tính mới của đề tài
Tính mới của đề tài:
Đối với bài toán lập lịch công việc có nhiều hướng nghiên cứu và ứng dụng trongthực tế Nếu khảo sát các ràng buộc trên đặc điểm môi trường máy thực thi thì sẽ có
bài toán như open shop, flow shop, Job shop Các khảo sát các ràng buộc trên đặc
điểm của công việc thì sẽ có ràng buộc như preemption, precedence, batching,
lot-sizing, Tuy nhiên qua các nghiên cứu và khảo sát ở trên, bài toán lập lịch công
việc cá nhân chỉ được đề cập và giải quyết trong những năm gần đây Các phương
pháp cho bài toán lập lịch cá nhân vẫn chưa được nghiên cứu rộng rãi như các bài
toán lập lịch khác.
Theo thời gian phát triển, đặc biệt vừa trải qua khoảng thời gian có sự ảnh hưởng của
bối cảnh địch COVID vừa qua, kèm theo các công việc tồn đọng và thói quen sử dụng
thiết bị hỗ trợ công việc thì số lượng công việc của mỗi cá nhân chắc chắn sẽ gia tăng
so với trước Các hoạt động cần lên lịch, sắp xếp sẽ ngày càng nhiều và việc lập lịch
chac chăn rat cân thiệt.
Trang 19Việc tiép tục đê tài nghiên cứu là cân thiệt, khi nhu câu ngày càng lớn hon và mọi
người cũng còn nhiêu yêu tô ràng buộc hơn trước so với bài toán lúc đâu cũng như
có sự thay đổi trong thói quen sử dụng các nền tảng, công cụ hỗ trợ lập lịch
Tính khoa học của đề tài:
Với các bài nghiên cứu đã được đề cập ở trên, các giải pháp vẫn đang tập trung vào
bài toán lập lịch cơ bản với các ràng buộc với mục tiêu hoàn thành công việc sớm
nhất Tập dữ liệu vẫn mang tính chất thử nghiệm mà chưa được xây dựng trên một
căn cứ, thông kê liên quan nào.
Vì vậy, việc thực nghiệm lại các thuật toán với mô hình đã được đề xuất với một bộ
dữ liệu hợp lý hơn giúp cho đề tài vẫn có được tính khoa học, đồng thời có tính mới
hơn so với các đê tài trước.
1.5 Bài toán lập lịch công việc
Bài toán lập lịch công việc là bài toán có nhiều hướng khác nhau, tùy vào từng bài
toán cụ thé Ví dụ ta có n công việc và được thực thi trên m máy (đối tượng) khác
nhau Tùy thuộc vào yêu cầu và ràng buộc của bài toán mà có thể các công việc cócác thông tin như thời gian xử lý, thời gian chuẩn bi, thời điểm phải hoàn thành va
thời điểm có thê bắt đầu, trọng số (tài nguyên sử dụng hoặc độ ưu tiên, ) cho công
việc đó.
Trang 200 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 Time
Hình 1.2 Ví dụ về sơ đồ Gantt phân chia công việc theo hướng máy [11]
1.6 Bài toán lập lịch công việc cá nhân theo tuần
1.6.1 Giới thiệu bài toán
Bài toán lập lịch cá nhân theo tuần là bài toán sắp xếp công việc (các công việc họctập, làm việc, trong tuần) dựa trên các khung thời gian trống thích hợp với từng
năng suất khác nhau cho mỗi công việc Bài toán đi tìm lời giải dé có thời gian hoàn
thành các công việc sớm nhât trong giới hạn tuân và đáp ứng ràng buộc.
Ý tưởng:
- Chia nhỏ các đầu công việc ra một khoảng thời gian hiệu quả hơn và không thấphơn ngưỡng nhất định Ngưỡng này được gọi là splitmin Các công việc khi đó đượcxếp vào các khung thời gian trồng theo các thuật toán hoặc phương pháp đề xuất
- Đề đơn giản hóa bài toán, ta ký hiệu các khung thời gian bận thành 1 mốc thời gianduy nhất trên dòng thời gian (tức breaktime) và chỉ lưu ý đến khung thời gian rảnh
Trang 21Bảng 1.3 Các ràng buộc của bài toán
Rang buộc Phát biểu
1 Một công việc không thê phan chia thành nhiều công việc nhỏ với
ngưỡng thấp hơn splitmin
2 Các công việc sẽ không được cắt qua mốc thời gian break-time
Bang 1.4 Các ký hiệu sử dụng cho bài toán
n | sô lượng công việc
N | sô lượng cửa sô
Ji | công việc thứ 1
pi | thời gian processing cho công việc Ji
si | thời gian thiết lập cho công việc J;
W; | cửa sô thứ t
wt | kích thước cửa sô Wt
bị | break-time thứ t
1.6.2 Minh họa bài toán
Đề làm rõ về bài toán lập lịch cá nhân, ta có ví dụ minh họa bài toán như sau:
Trong giới hạn thời gian ngắn, với đơn vị thời gian xử lý theo phút, một người có
danh sách các công việc như sau:
Trang 22Bảng 1.5 Các công việc minh họa bài toán
Kýhiệu | Tên công việc | Thời gian xử ly Thời gian thiết lập
Jo Viết báo cáo 20 2
Ji Kim tra va| 8 1
phan hồi email
Ja Chuẩn bị bữa ăn | 13 1
Đồng thời, người đó có khung thời gian trống như sau:
Bảng 1.6 Các khung thời gian trống minh hoa bài toán
Ký hiệu Khung thời gian trông
Trang 23Hình 1.3 Kết quả khả thi minh họa bài toán
Và đối với lời giải khả thi của bài toán minh họa như phía trên, ta có thể thực hiện
các công việc đó theo mong muốn là hoàn thành tất cả công việc sớm nhất có thể
Tuy nhiên, đây là một lời giải chưa được tối ưu Ta thấy rằng các khung thời giantrống đều còn khoảng thời gian chưa được tận dụng
Dưới đây là một ví dụ khi ứng dụng lời giải vào thực tế:
Bảng 1.7 Ví dụ về cách ứng dụng lời giải khả thi của bài toán trong thực tế
Ký hiệu | Tên công việc | Ứng dụng
Jo Viết báo cáo Khi viết báo cáo, ta có thể viết một phần của bao cáo
(ví dụ 3 mục đầu) trong 12 phút và tiếp tục với mục sau
đó trong 4 phút kế tiếp Và mỗi lần như vậy, ta phải có
sự chuân bị là mở báo cáo và xem lại các mục đã việt.
Ji Kiém tra và | Đôi với công việc nay, ta sé cân thời gian chuan bi cho
phan hôi email | công việc là mở công cụ việt email, xem qua email can
thiết phải phản hồi
Jo Đọc các báo | Với công việc đọc báo cáo, ta hoàn toàn có thé phân
cáo từ phòng | chia thời gian đê đọc 1 phan cua báo cáo, hoặc một sô
ban khác báo cáo trong tât cả báo cáo cân đọc Theo lời giải trên
thì đọc lần đầu khoảng 13 phút, sau đó nghỉ ngơi và tiếp
10
Trang 24tục trong 4 phút Mỗi lần như thé sẽ có công việc chuân
bị là mở lại báo cáo và lượt đến phần đã đọc đề tiếp tục
Với công việc chuân bị bữa ăn, ta sé cân thời gian chuân
bị đê chọn món ăn, quyêt định món muôn ăn trước khi
bắt tay vào chuẩn bị bữa ăn cho bản thân
1.7 Một số trường hợp đặc biệt của bài toán
Đối với bài toán lập lịch cá nhân như đã đề xuat, ta có thé gặp phải một số trườnghợp đặc biệt Các trường hợp dưới sẽ được so sánh với kết quả của phương pháp
Assignment (nhưng có cải tiên khi xêp các công việc sẽ ưu tiên công việc có thời gian
lớn/nhỏ nhất), gọi là giải thuật LPT.
1.7.1 Truong hợp tat cả công việc đều không thé cắt nhỏ
Đối với trường hợp tất cả công việc đều không thé cắt nhỏ (p¡ < 2 * splitmin), ta sẽ
có tỷ lệ trường hợp xấu nhất của lời giải đạt được bằng giải thuật LPT so với lời giải
tối ưu là 2
1.7.2 Trường hợp các khung thời gian trống có kích thước bằng nhau
Trong trường hợp tất cả các khung thời gian trống đều có kích thước bằng nhau, bài
toán sẽ gân giông với bài toán Bin-packing với sự tương ứng:
- Cac công việc tương ứng với các mục, vật thê (items)
- _ Các khung thời gian trống tương ứng với các thùng (bin) với sức chứa là w
11
Trang 25Áp dụng giải thuật FFD cho bài toán Bin-packing với b là số lượng bin tìm thấy
Trang 26Chuong 2 CƠ SỞ LÝ THUYET
2.1 Các phương pháp giải quyết
2.1.1 Phương pháp chính xác
Phương pháp chính xác là một quy trình hoặc phương thức được thiết kế dé đạt đượckết quả chính xác và đáng tin cậy Phương pháp chính xác thường dựa trên các nguyêntắc khoa học, quy tắc logic và tiến hành kiểm tra và xác minh kết quả dé đảm bao tính
chính xác Các phương pháp chính xác thường được sử dụng trong nhiều lĩnh vực,
bao gồm khoa học, toán học, kỹ thuật, y học và nghiên cứu Dé xác định phương pháp
chính xác cho một van đề cụ thé, thường cần tìm hiểu và áp dụng các phương pháp
và quy trình đã được chứng minh là hiệu quả và tin cậy trong lĩnh vực đó.
2.1.2 Phuong pháp xấp xỉ
2.1.2.1 Phương pháp heuristic
Phương pháp heuristic là một phương pháp xử lý thông tin hoặc giải quyết van đềdựa trên các quy tắc đơn giản, các nguyên tắc thực tế hoặc kinh nghiệm Thay vì tuântheo quy trình chính xác và chỉ tiết, phương pháp heuristic cho phép tìm kiếm cácgiải pháp thông qua việc áp dụng những quy tắc đơn giản và nhận định tương đối.Phương pháp heuristic thường được sử dụng trong các tình huống mà không có quytrình chính xác hoặc khi việc áp dụng quy tắc chính xác là không khả thi hoặc khônghiệu quả Mặc đù phương pháp heuristic có thê mang lại kết quả nhanh chóng, nhưngchúng không đảm bảo tính chính xác tuyệt đối và có thê dẫn đến các kết quả khôngtối ưu
2.1.3 Phương pháp metaheuristic
Phương pháp metaheuristic là một loại phương pháp tìm kiếm giải pháp xấp xi chocác van đề tối ưu hóa mà không phụ thuộc vào thông tin cu thé về cau trúc của van
đề đó Các phương pháp metaheuristic thường dựa trên các quy tắc chung và các thuật
toán tìm kiếm ngẫu nhiên dé khám phá không gian tìm kiếm potenital và tìm ra giảipháp tốt nhất có thể
13
Trang 27Các phương pháp metaheuristic không đảm bảo tim ra giải pháp tối ưu toàn cục,
nhưng chúng có thé đưa ra các giải pháp xấp xi tốt trong thời gian hợp lý Một sốphương pháp metaheuristic phổ biến bao gồm thuật toán di truyền, tìm kiếm bằng sự
gia đình, tìm kiếm cục bộ, tìm kiếm ngẫu nhiên, và tìm kiếm địa phương.
Phương pháp metaheuristic thường được sử dụng trong các vấn đề tối ưu hóa phức
tạp, nơi việc áp dụng các phương pháp tìm kiếm chính xác trở nên không khả thi hoặckhông hiệu quả Chúng có thể áp dụng cho nhiều lĩnh vực như quy hoạch, mạng, lập
lịch, tối ưu hóa hàm mục tiêu và nhiều lĩnh vực khác
2.2 Mô hình MILP
2.2.1 Giới thiệu
MILP (Mixed Integer Linear Programming) thuộc về phương pháp chính xác (exactmethod), là một mô hình tối ưu hóa toán học, trong đó hàm mục tiêu và các ràng buộc
là các hàm tuyến tính, và một số biến quyết định là các số nguyên hoặc số thực
MILP là một phần của lớp các bài toán tối ưu hóa nguyên, trong đó các biến quyếtđịnh có giá trị nguyên Bài toán MILP cũng có thê được xem như là một dạng đặc
biệt của bài toán tối ưu hóa tuyến tính (LP) với các ràng buộc giới hạn chiều nguyên
2.2.2 Ưu điểm, khuyết điểm
Ưu điểm:
1 MILP có khả năng tìm ra lời giải tối ưu cho các bài toán tối ưu hóa tuyến tính
với ràng buộc bằng số nguyên và số thực
2 MILP có thé mô hình hóa các bài toán tối ưu hóa với rất nhiều biến và ràng
Trang 285 MILP có thể bị ảnh hưởng bởi các sai số do sử dụng số học máy tính.
2.2.3 Ứng dụng vào bài toán
2.2.3.1 Mô hình MILP 1
Mô hình được xây dựng dựa trên hai câu hỏi :
(1) Công việc/công việc phụ có được gán vào khung thời gian trống hay
không?
(2) Nếu có thì kích thước của công việc/công việc phụ này là bao nhiêu?
Dựa trên đó mà mô hình như sau:
Biến quyết định: xi, © {0, 1} và yit CNBiến trung gian:
yr, xit B z „À sa A + `
Ok = —— € {0, 1}: kiêm tra xem có tôn tại công việc phụ của Jj nao được
gan vào window W;
15
Trang 29Br = or x be © N: vị trí bắt đầu của khung thời gian trống W;
Y‹=t†Ö?=+¡y¡¿ SN: vị trí kết thúc của công việc phụ trong khung thời gian
Œ) te1 Vit = Pi Vi=1, ,n
Tổng thời gian hoàn thành các công việc phụ của 1 công việc phải bằng thời
gian hoàn thành công việc đó.
(2) ait SW¿ Vi= Ì, ,m
Tổng thời gian xử lý và thiết lập của 1 công việc phụ trong một cửa số sẽ khôngvượt quá kích thước của cửa sô đó
Nếu một subjob được gán cho khung thời gian trống thì thời gian xử lý của
công việc phụ (subjob) đó phải lớn hơn splitmin
2.2.3.2 Mô hình MILP 2
Mô hình MILP 2 được xây dựng và cải tiến từ mô hình MILP 1, bổ sung thêm
câu hỏi (3) từ đó dẫn đến thêm 2 biến quyết định (1 biến quyết định trả lời cho câu
hỏi (3) và 1 biến quyết định hỗ trợ tuyến tính cho ràng buộc (6)) và 3 ràng buộc
khác
(1) Công việc/công việc phụ có được gán vào khung thời gian tréng hay
không?
16
Trang 30(2) Nếu có thì kích thước của công việc/công việc phụ này là bao nhiêu?
(3) Nếu vậy thì công việc/công việc phụ này sẽ bắt đầu ở đâu trong khung
Tổng thời gian hoàn thành các công việc phụ của 1 công việc phải bằng thời
gian hoàn thành công việc đó.
(2) eit SW Vi=l, ,m
Tổng thời gian xử lý và thiết lập của 1 công việc phụ trong một cửa số sẽ không
vượt quá kích thước của cửa sô đó.
(3) Splitmin X Xit € Vit Spi X Xi; VI=1, ,n; Vt=1, ,m
Nếu một công việc phụ được gán cho khung thời gian trống thi thời gian xử ly
của công việc phụ đó phải lớn hơn splitmin
(4) bị Ê xị <= Sit <= UB * xi Vi=1, , mn; Vt=1, ,m
Nếu xi =0 thì si=0 ( tức là công việc đó không được thêm vào khung thời gian
trống nên thời gian bat đầu công việc đó trong khung thời gian trống phải =0)
(5) bi<=Sit<=ÐtI-Vit; Viz= 1, ¬ ma Vt= 1, „„ m1
Thời gian bắt đầu của một công việc/công việc phụ trong khung thời gian tréngphải năm giữa 2 mốc thời gian (breaktime) của khung thời gian trống đó
17
Trang 31(6) Cyr — Sj¿ S UB *0¡j¿ VEG = 1, ,m[j # I ; VỆ
Các công việc phụ không được chồng chéo lên nhau
Không gian nghiệm O(2""x UB"X") O(21m x UB2nxm)
Ưu điểm - Cho kết quả lời giải rất | - Cho kết quả lời giải tốt
co - Bổ sung thêm một số
thông tin rõ hơn so với
MILPI
Khuyết điểm - Chưa chỉ rõ được công | - Thời gian chạy tìm lời
việc nao sẽ được gan vào
thời điểm cụ thể nào của
khung thời gian trong
- Thời gian chạy tìm ra lời
Trang 322.3 Phương pháp Assignment (ASS)
2.3.1 Giới thiệu
Phương pháp Assignment (ASS) là một phương pháp thuộc phân loại phương
pháp chính xác (exact method), giúp giải quyết bài toán lập lịch trong lĩnh vực quản
lý dự án Phương pháp này tập trung vào việc phân bồ các tài nguyên cho các côngviệc cụ thể trong dự án
Các bước thực hiện phương pháp ASS như sau:
- Xác định danh sách các công việc cân hoàn thành trong dự án và thời gian cân thiệt đê hoàn thành môi công việc Tương ứng với đâu vào công việc của bài toán
- Xác định các tài nguyên có sẵn và sô lượng tôi đa của mỗi tài nguyên Tương ứng với dau vào các khung thời gian trông của bài toán
- Tạo ra một bảng gán cho các công việc và tải nguyên, trong đó môi ô trong bảng
gán biểu thị cho việc gán một tài nguyên cụ thể cho một công việc cụ thể
- Ap dụng các ràng buộc đê giới hạn sô lượng tài nguyên được phân bô cho moi
công việc và dé đảm bao rang mỗi tài nguyên chỉ được phân b6 cho một công việc
trong cùng một thời điểm
- Tìm kiếm các lựa chọn tối ưu bằng cách sử dụng các thuật toán tối ưu hóa
2.3.2 Ưu điểm, khuyết điểm
3 Phương pháp Assignment có thể được sử dụng để giải quyết các bài toán lập
lịch với ràng buộc giới han và ràng buộc vé thời gian.
19
Trang 335 Phương pháp Assignment có thê được sử dụng để giải quyết các bài toán lập
lịch với sô lượng công việc và nhân viên hoặc máy móc nhỏ.
Khuyết điểm:
1 Phương pháp Assignment có thé không tìm ra giải pháp tối ưu nếu không có đủ
thông tin vê các yêu câu và điêu kiện của các công việc và nhân viên hoặc máy móc.
2 Phương pháp Assignment có thé không đáp ứng được các yêu cau thực tế về
mặt chi phí và tài nguyên.
3 Phương pháp Assignment có thể không tìm ra giải pháp tối ưu nếu số lượng
công việc và nhân viên hoặc máy móc quá lớn.
2.3.3 Ứng dụng trong bài toán
Một số định nghĩa được sử dụng trong thuật toán:
- Tj¡ là thời gian còn lại của công việc Ji, sau khi các subjob của Jj đã được gan
vào khung thời gian trông
- rw; là khung trống còn lại của khung thời gian trống W(, sau khi các công
việc phụ hoặc công việc được gán vào khung thời gian trông.
Y tưởng: duyệt từ trái sang phải, tại mỗi cửa số, công việc sẽ có ba trường hợp như Sau:
If (rị + si) <= rwv, gấn công viỆc ¡¡ với size của rji vào khung thời gian trông
If (r]i + Si)>= (rw: + splitmin), gan công việc Ji với size (rwi-si) vào khung thời
gian trống \W(, sau khi các công việc còn lại được đưa lại vào danh sách công việc
If rji>2*splitmin, gan công việc Ji với size (rji -splitmin) vào khung thời gian
trông W;, sau khi các công việc còn lại được đưa vào danh sách công việc.
20