1. Trang chủ
  2. » Luận Văn - Báo Cáo

Khóa luận tốt nghiệp Mạng máy tính và truyền thông: Nghiên cứu và đề xuất phương pháp cho bài toán lập lịch cá nhân

67 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Nghiên cứu và đề xuất phương pháp cho bài toán lập lịch cá nhân
Tác giả Lục Tú Văn
Người hướng dẫn Th.S Nguyễn Khánh Thuật
Trường học Trường Đại học Công nghệ Thông tin
Chuyên ngành Mạng máy tính và Truyền thông dữ liệu
Thể loại Khóa luận tốt nghiệp
Năm xuất bản 2023
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 67
Dung lượng 29,28 MB

Nội dung

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 2

LỜ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 4

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á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 5

Phươ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 7

Tà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 8

MỤ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 9

2.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 10

4.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 11

DANH 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 12

Bả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 13

DANH MỤC TỪ VIET TAT

Trang 14

TOM 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 15

Chươ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 16

1.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 17

Bả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 18

Bả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 19

Việ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 20

0 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 21

Bả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 22

Bả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 23

Hì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 24

tụ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 26

Chuong 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 27

Cá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 28

5 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 29

Br = 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 32

2.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 33

5 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

Ngày đăng: 02/10/2024, 03:55

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN