Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 31 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
31
Dung lượng
503,51 KB
Nội dung
ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC BÁCH KHOA TRANG HỒNG SƠN MỘT SỐ PHƯƠNG PHÁP TIẾP CẬN CHO BÀI TOÁN LẬP LỊCH CÁ NHÂN Chuyên ngành: Khoa học máy tính Mã số chuyên ngành: 62480101 TĨM TẮT LUẬN ÁN TIẾN SĨ TP HỒ CHÍ MINH - NĂM 2022 Cơng trình hồn thành Trường Đại học Bách Khoa – ĐHQG-HCM Người hướng dẫn 1: PGS TS Trần Văn Lăng Người hướng dẫn 2: PGS TS Huỳnh Tường Nguyên Phản biện độc lập: PGS TS Nguyễn Tuấn Đăng Phản biện độc lập: PGS TS Huỳnh Trung Hiếu Phản biện: PGS TS Đỗ Thanh Nghị Phản biện: PGS TS Nguyễn Đình Thuân Phản biện: PGS TS Lê Hoàng Thái Luận án bảo vệ trước Hội đồng đánh giá luận án họp Google Meet: https://meet.google.com/stf-riam-tst vào lúc 09 00 ngày 25 tháng 01 năm 2022 Có thể tìm hiểu luận án thư viện: - Thư viện Trường Đại học Bách Khoa – ĐHQG-HCM - Thư viện Đại học Quốc gia Tp.HCM - Thư viện Khoa học Tổng hợp Tp.HCM DANH MỤC CÔNG TRÌNH ĐÃ CƠNG BỐ Tạp chí quốc tế [CT1] T H Son, T V Lang, N Huynh-Tuong, and A Soukhal, "Resolution for boundedsplitting 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 Tạp chí nước [CT2] T H Son, T V Lang, and N Huynh-Tuong, "A mathematical model for teamwork scheduling problem in available time windows", Science & Technology Development Journal - Engineering and Technology, vol 3, no SI1, pp 50-58, 2020 [CT3] 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 Kỷ yếu hội nghị quốc tế [CT4] 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 Báo cáo hội nghị nước [CT5] T H Son, T V Lang, and N Huynh-Tuong, "A mathematical model for teamwork scheduling problem in available time windows", in Symposium on Computer Science and Engineering (SCSE’2019), Ho Chi Minh City, Vietnam, 15-16 Oct 2019 [CT6] 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", in The 11th National Conference on Fundamental and Applied IT Research (FAIR’2018), Hanoi, Vietnam, 9-10 Aug 2018 CHƯƠNG 1.1 GIỚI THIỆU VỀ ĐỀ TÀI LUẬN ÁN Giới thiệu chung Lập lịch công việc cần thiết sống cá nhân (personal job scheduling), không giúp cá nhân xử lý nhiều công việc phức tạp mà cịn giảm căng thẳng Trong thời đại cơng nghệ nay, người phải đối phó với hàng trăm công việc, email nhiều vấn đề phức tạp cần giải ngày Theo (David Allen, 2003), chuyên gia cải thiện suất công việc, hầu hết ln có khoảng 50 đến 150 nhiệm vụ lớn nhỏ cần phải xử lý thời điểm Bên cạnh đó, cơng việc có nhiều thuộc tính ràng buộc khác 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 để thực cơng việc hiệu hơn, Một vấn đề với nhiều công việc ràng buộc phải thỏa mãn, đặc biệt thay đổi liên tục sống thực, người vất vả tốn thời gian liên tục phải tự xếp lại công việc xếp cơng việc bị thay đổi Do tốn lập lịch cơng việc cá nhân tự động phân chia công việc nhỏ khung thời gian làm việc quan trọng để áp dụng cho ứng dụng quản lý công việc cá nhân Đối với tổ chức nhóm người làm việc, vấn đề lập lịch đặt cho hoạt động phối hợp nhóm thành viên hiệu Việc lập lịch riêng cho thành viên hay gọi lập lịch cá nhân toán quan trọng cho việc lập lịch cho tập thể nhóm (teamwork job scheduling) Trong phạm vi nghiên cứu, luận án tập trung chủ yếu vào tốn lập lịch cơng việc cá nhân, xem xét phương pháp tiếp cận nghiên cứu để làm tảng cho tốn lập lịch cơng việc đặc thù khác cho tốn lập lịch cơng việc tập thể nhóm người có quan hệ xã hội 1.2 Động nghiên cứu Đối với việc lập lịch cơng việc cá nhân, tốn có hai đặc điểm Thứ nhất, người có khung thời gian làm việc (available-windows) khác nhau, linh động xếp cơng việc họ vào Thứ hai, người muốn chia công việc lớn thành nhiều công việc nhỏ để dễ dàng xếp vào khung làm việc mình, cơng việc chia q nhỏ lại khơng thể hiệu khơng đủ thời gian để xử lý, cần phải có thêm ràng buộc cơng việc khơng chia nhỏ ngưỡng xác định (bounded-splitting) để việc xử lý công việc hiệu hơn, ràng buộc lại thường không đề cập đến tốn lập lịch (xem trình bày Bảng 1.1) Bảng 1.1: Một số ràng buộc công việc đề cập tài liệu lập lịch Handbook of Scheduling (Leung, 2004) Multicriteria Scheduling (Vincent & Billaut, 2006) Scheduling Algorithms (Brucker, 2007) Introduction to Scheduling (Robert & Vivien, 2009) Handbook on Project Management and Scheduling (Schwindt & Zimmermann, 2015) Scheduling: Theory, Algorithms, and Systems (Pinedo, 2016) Handbook on Scheduling (Blazewicz et al., 2019) Mathematical programming formulations for machine scheduling: A survey (Blazewicz et al., 1991) Scheduling with processing set restrictions: A survey (Leung & Li, 2008) A survey of case studies in production scheduling: Analysis and perspectives (Fuchigami & Rangel, 2018) precedence preemption batching lot-sizing bounded-splitting ✓ ✓ ✓ N/A N/A ✓ ✓ ✓ N/A N/A ✓ ✓ ✓ N/A N/A ✓ ✓ ✓ N/A N/A ✓ ✓ ✓ ✓ N/A ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ N/A N/A N/A N/A ✓ ✓ N/A N/A N/A ✓ N/A ✓ ✓ N/A Chính điều nên có cơng bố trước liên quan tới tốn lập lịch cơng việc cá nhân Cụ thể ba cơng trình nghiên cứu trước đặt toán lập lịch công việc cá nhân (Quan et al., 2010), chứng minh toán thuộc lớp N P -khó mạnh (Huy et al., 2013a), đề xuất mơ hình MILP để sử dụng MILP solver xác định lời giải tối ưu cho tốn với liệu đầu vào có kích thước nhỏ (Huy et al., 2013b) Do tốn lập lịch cơng việc cá nhân cịn nhiều vấn đề tồn đọng cần phải xem xét, giải trả lời câu hỏi cần có khung tổng quát bước để giải toán liên quan tới hai ràng buộc splitmin available−windows hay khơng? Nếu có phương pháp tiếp cận bước gì? Có phương pháp giải tốn cách hiệu với liệu đầu vào có kích thước lớn cỡ vài trăm chí vài ngàn cơng việc? Có thể xem xét thêm ràng buộc phù hợp với toán đặc thù cụ thể khác hay khơng? Có thể áp dụng tốn lập lịch cơng việc cá nhân nhóm nhiều người không? 1.3 Mục tiêu, phạm vi đối tượng nghiên cứu Mục tiêu luận án xem xét giải tốn lập lịch cơng việc cá nhân: O1 Nghiên cứu đề xuất số phương pháp tiếp cận để giải toán lập lịch công việc cá nhân liệu đầu vào có kích thước nhỏ lớn, qua đề xuất lựa chọn phương pháp hiệu loại liệu đầu vào khác O2 Nghiên cứu giải toán lập lịch cơng việc cá nhân đặc thù có số ràng buộc thường sử dụng thực tế O3 Nghiên cứu ứng dụng mở rộng tốn lập lịch cơng việc cá nhân nhóm nhiều người Dựa ba mục tiêu nghiên cứu trên, luận án xác định: • Phạm vi nghiên cứu: giải tốn lập lịch cơng việc cá nhân • Đối tượng nghiên cứu: nghiên cứu số phương pháp tiếp cận để giải toán lập lịch công việc cá nhân 1.4 Nội dung công việc luận án Với mục tiêu phạm vi đối tượng nghiên cứu trên, luận án tập trung vào nội dung công việc sau nhằm để giải thách thức đặt tốn lập lịch cơng việc cá nhân, từ góp phần vào việc giải vấn đề mang tính nghiên cứu tốn này: • Đặc tả nhóm tốn lập lịch cơng việc cá nhân bao gồm tốn lập lịch cơng việc cá nhân với hai ràng buộc cơng việc cắt nhỏ bị chặn công việc xếp vào khung thời gian trống, tốn lập lịch cơng việc cá nhân đặc thù với ràng buộc công việc có thời gian chuẩn bị khác nhau, cơng việc có thời điểm bắt buộc phải hồn thành khác nhau, tốn lập lịch cơng việc cá nhân cho nhóm nhiều người có khung thời gian làm việc khác • Đề xuất thực sơ đồ tổng quát bước tiếp cận để giải tốn lập lịch cơng việc cá nhân nghiên cứu bao gồm: (1) xác định tính N P -đầy đủ tốn, (2) xem xét số trường hợp đặc biệt, (3) đưa số tính chất lời giải tối ưu, (4) xác định miền nghiệm toán, (5) xây dựng mơ hình Mixed-Integer Linear Programming (MILP), (6) sử dụng phương pháp xác với MILP solver để xác định lời giải tối ưu cho toán, (7) sử dụng phương pháp xấp xỉ dạng heuristic/metaheuristic/matheuristic để xác định lời giải khả thi cho tốn • Áp dụng số heuristics đặc thù thừa kế giải thuật cổ điển giải thuật Assignment, giải thuật Flow, giải thuật Matching, áp dụng quy tắc lập lịch ưu tiên First Come First Serve (FCFS), Shortest Processing Time (SPT), Longest Processing Time (LPT), , số metaheuristics thường dùng công nghiệp Simulated Annealing (SA), Genetic Algorithm (GA), Tabu Search (TABU) sở rút giảm khơng gian tìm kiếm dựa tính chất đưa ra, với mong muốn xác định lời giải khả thi có chất lượng tốt giới hạn thời gian chấp nhận • Đề xuất hướng tiếp cận matheuristics cách kết hợp giải thuật (meta)heuristic với việc xử lý tốn nhỏ cơng cụ MILP solver nhằm xác định lời giải khả thi có chất lượng tốt 1.5 Cấu trúc luận án Từ nội dung công việc cần nghiên cứu nêu trên, cấu trúc luận án trình bày bao gồm năm chương Chương thứ nhằm giới thiệu cách khái quát vấn đề chung luận án mục tiêu, phạm vi đối tượng nghiên cứu, nội dung công việc phải giải Chương thứ hai trình bày tổng quan tốn lập lịch cơng việc, đưa khảo sát tình hình nghiên cứu ngồi nước, từ thách thức tốn lập lịch cơng việc cá nhân, làm rõ có mục tiêu nội dung trình bày chương thứ Ngoài luận án trình bày kiến thức mang tính tảng cần giải tốn lập lịch cơng việc bao gồm mơ tả tốn, phân lớp tốn phương pháp giải toán phương pháp xác phương pháp xấp xỉ Chương thứ ba trình bày chi tiết tốn lập lịch cơng việc cá nhân gồm hai ràng buộc, toán cần tiếp cận Trong chương nội dung trình bày đặc tả toán bao gồm phát biểu minh họa toán, phương pháp tiếp cận để giải tốn bao gồm tính N P -đầy đủ tốn, tính chất lời giải tối ưu, miền đánh giá nghiệm, mơ hình tốn học, phương pháp xấp xỉ heuristic, metaheuristic, matheuristic, đánh giá kết thực nghiệm phương pháp tiếp cận Chương thứ tư trình bày số tốn lập lịch công việc cá nhân đặc thù với việc mở rộng ràng buộc cho tốn lập lịch cơng việc cá nhân ràng buộc setup-time, ràng buộc deadline, hướng đến việc khai thác kết tốn lập lịch cơng việc cá nhân để mở rộng cho tốn lập lịch cơng việc nhóm Chương thứ năm chương tổng kết để đưa kết thực luận án đóng góp, đồng thời trình bày hướng cịn bỏ ngõ giải tốn lập lịch cơng việc cá nhân/nhóm CHƯƠNG 2.1 TỔNG QUAN VỀ BÀI TỐN LẬP LỊCH CƠNG VIỆC Tình hình nghiên cứu Scheduling problem Task allocation scheduling Job scheduling machine characteristics job characteristics General shop precedence cstr preemption cstr Resource constrained scheduling etc available-windows cstr splittable cstr batching cstr bounded-splitting (splitmin ) cstr lot-sizing cstr Hình 2.1: Các hướng nghiên cứu ràng buộc liên quan Bài tốn lập lịch có nhiều hướng nghiên cứu ứng dụng thực tế (xem chi tiết Hình 2.1), cụ thể liệt kê vài hướng nghiên cứu lập lịch cấp phát tác vụ (task allocation scheduling) ứng dụng môi trường IoT, lĩnh vực robot, lĩnh vực phương tiện không người lái, , lập lịch ràng buộc nguồn lực (resource constrained scheduling) ứng dụng việc quản lý dự án, xếp thời khố biểu, phân bổ phịng ký túc xá, , lập lịch cần cẩu quay (quay crane scheduling) ứng dụng việc bốc dỡ hàng hoá cảng biển (seaports), bãi container, , định tuyến lập lịch phương tiện giao thông (vehicle routing and scheduling) ứng dụng việc giao nhận hàng hoá, việc quản lý lịch trình tài xế xe cơng nghệ, , lập lịch công việc (job scheduling) ứng dụng việc quản lý nhân sự, quản lý máy sản xuất, Trong hướng nghiên cứu lập lịch công việc, khảo sát ràng buộc đặc điểm môi trường máy thực thi có tốn open shop, flow shop, job shop, mixed shop trường hợp đặc biệt toán general shop Còn khảo sát ràng buộc đặc điểm cơng việc có ràng buộc preemption, precedence, batching, lot-sizing, Các ràng buộc nghiên cứu từ lâu trình bày sách kinh điển lập lịch, survey toán lập lịch (xem chi tiết Bảng 1.1) Tuy nhiên qua nghiên cứu trên, tốn lập lịch cơng việc khơng giải trọn vẹn với lý tốn lập lịch cơng việc cá nhân mang tính thực tế gần gũi với không đề cập đến 2.2 2.2.1 Giới thiệu tốn lập lịch cơng việc Mơ tả tốn Giả sử có n cơng việc (job) Ji (i = 1, , n) thực thi m máy (machine) Mj (j = 1, , m) Một lịch trình (schedule) ứng công việc gán vào nhiều máy khoảng thời gian đó, biểu diễn sơ đồ Gantt Hình 2.2 Tuỳ thuộc vào tốn cụ thể, cơng việc có thơng tin pij thời gian xử lý (processing-time) Ji Mj ; ri thời điểm bắt đầu thực thi (release-date) Ji ; sti thời gian chuẩn bị (setup-time) trước thực thi Ji ; di thời điểm đến hạn (due-date) Ji ; di thời điểm bắt buộc phải hoàn thành (deadline) Ji ; wi trọng số (weight) Ji , Hình 2.2: Sơ đồ Gantt theo hướng máy (a) hướng công việc (b) (Brucker, 2007) Một tốn lập lịch cơng việc có ba yếu tố đặc trưng, là: mơi trường máy thực thi (machine environment), đặc điểm công việc (job characteristics) tiêu chí tối ưu (optimality criterion) hay gọi hàm mục tiêu (objective function) Theo (Graham et al., 1979) ba đặc trưng ký hiệu thành ba tham số: α|β|γ Ngoài ra, (Brucker, 2007) mô tả mối quan hệ hàm mục tiêu Hình 2.3 Cmax Lmax , Tmax Ci Ui Ti wi Ui wi Ti wi C i Hình 2.3: Mối quan hệ hàm mục tiêu 2.2.2 Phân lớp toán Theo (Leung, 2004), tốn định (decision problem) tốn có đầu (output) YES NO Hình 2.4 Cịn tốn tối ưu (optimization problem) toán xác định lời giải tốt (best solution) từ tất lời giải khả thi (feasible solution) Hình 2.5 INPUT ALGORITHM YES NO Hình 2.5: Bài tốn tối ưu Hình 2.4: Bài tốn định Bên cạnh đó, nhận xét quan trọng (Leung, 2004) đưa mục 2.3.3: Nhận xét 2.1 Các toán tối ưu (cực tiểu hoá cực đại hoá) chuyển đổi thành tốn định tương ứng cách cung cấp bổ sung tham số ω cần đặt câu hỏi liệu có lời giải khả thi để chi phí lời giải ≤ ω (cực tiểu hoá) ≥ ω (cực đại hoá) Theo (Cook, 2006), toán định gọi thuộc lớp P tồn thuật toán giải toán thời gian O(nc ), với số c khơng phụ thuộc vào kích thước đầu vào n, đơi người ta cịn thay O(nc ) poly(n) để nói rõ lớp tốn có độ phức tạp đa thức Và toán định gọi thuộc lớp N P tồn chứng (certificate) dễ kiểm tra cho tốn đó, chứng dễ kiểm tra hiểu ta dễ dàng kiểm tra liệu (instance) cụ thể tốn có đầu (output) YES thời gian đa thức poly(n) Nói ngắn gọn, P lớp tốn định mà giải thời gian đa thức, N P lớp tốn định mà kiểm tra lời giải thời gian đa thức Về mặt trực quan, tốn dễ giải dễ kiểm tra lời giải, P ⊆ N P , hay nói cách khác, toán P thuộc N P Trong toán N P , toán N P -đầy đủ (N P -complete) tốn khó Theo (Leeuwen, 1990), toán định C gọi thuộc lớp toán N P -đầy đủ C ∈ N P với toán X ∈ N P , ta có X ⪯ C (ta nói X dễ giải C) Ngồi ra, người ta đưa khái niệm N P -đầy đủ mạnh (strongly N P -complete) để nhấn mạnh độ khó tốn định sau: toán định C J5 = J1 = J3 = J2 = 16 J5 = J4 = idle J5 = t 34 24 ∗ = 37 Hình 3.6: Một lời giải tối ưu khác với Cmax Qua ví dụ minh họa có ba nhận xét sau: Nhận xét 3.1 Bài tốn ln có lời giải khả thi kích thước khung thời gian cuối khơng giới hạn ∗ Nhận xét 3.2 Bài tốn có nhiều lời giải tối ưu với giá trị Cmax nhỏ Nhận xét 3.3 Một lời giải khơng có idle-time chắn lời giải tối ưu, điều ngược lại không chắn lời giải tối ưu số trường hợp có idle-time Từ nhận xét 3.3 cho thấy độ khó tốn, tìm lời giải với giá trị Cmax tương ứng, khơng biết liệu có phải lời giải tối ưu hay khơng tương ứng với giá trị Cmax nhỏ hay chưa? 3.2 Các phương pháp tiếp cận (1) N P -completeness (2) Special cases (3) Structural properties of the optimal solution (4) Lower-bound / Upper-bound (5) Mathematical model (6) Exact method (7) Approximate method Heuristic Metaheuristic Matheuristic MILP solver Hình 3.7: Sơ đồ bước tiếp cận cho toán lập lịch nghiên cứu 14 3.2.1 Tính NP-đầy đủ tốn Nhóm tác giả (Huy et al., 2013a) chứng minh tốn PSP thuộc lớp N P -khó mạnh theo bước: (i) Từ nhận xét 2.1, phát biểu toán định Splitsche tương ứng với toán tối ưu PSP (ii) Chứng minh toán định Splitsche thuộc lớp N P -đầy đủ mạnh cách đưa thu giảm đa thức từ toán định 3-Partition đến toán định Splitsche (3-Partition ≤p Splitsche) (iii) Từ nhận xét 2.2, toán định Splitsche thuộc lớp N P -đầy đủ mạnh nên toán tối ưu PSP thuộc lớp N P -khó mạnh 3.2.2 3.2.2.1 Một số trường hợp đặc biệt Trường hợp công việc cắt nhỏ Trong trường hợp tất công việc khơng thể cắt nhỏ (pi < × splitmin ), toán ký hiệu sau: 1|available − windows|Cmax Theo (Ji et al., 2007), tốn có CLP T ≤ × COP T Như tỷ lệ trường hợp xấu lời giải đạt giải thuật LPT so với lời giải tối ưu 3.2.2.2 Trường hợp khung cửa sổ có kích thước Trong trường hợp tất khung cửa sổ có kích thước (wt = w), toán ký hiệu sau: 1|splittable; splitmin ; available − windows; wt = w|Cmax Khi tốn gần giống với tốn Bin-packing, với tương ứng sau: items ∼ jobs/sub-jobs có kích thước khoảng [splitmin , × splitmin ), bins ∼ windows có sức chứa w, giải thuật FFD ∼ giải thuật LPT Theo (Dosa et al., 2013) áp dụng giải thuật FFD cho tốn Bin-packing, b số lượng bin tìm thấy giải thuật FFD b∗ số lượng bin tối ưu, ta có: 28 ∗ b ≤ 11 b + Sau qua số bước tính tốn, ta được: CLP T ≤ COP T Như tỷ lệ trường hợp xấu lời giải đạt giải thuật LPT so với lời giải tối ưu 28 3.2.3 Các tính chất lời giải tối ưu Sáu tính chất lời giải tối ưu tốn PSP trình bày (Huy et al., 2013a, 2013b), tồn lời giải tối ưu cho khung thời gian: 15 Tính chất Thứ tự jobs/sub-jobs xếp tùy ý Tính chất Chỉ có sub-job thuộc job Tính chất Có nhiều idle-time Tính chất Nếu có idle-time nên cuối khung thời gian Tính chất Khơng có idle-time có kích thước lớn × splitmin Tính chất Một job chia nhỏ tối đa nsubi = min( pi splitmin , m) Ngồi ra, tính chất bổ sung thêm luận án, tồn lời giải tối ưu cho: Tính chất Thứ tự jobs/sub-jobs có kích thước xếp tùy ý 3.2.4 Miền đánh giá nghiệm Theo (Lane & Birkhoff, 1999) giá trị Cmax lời giải nằm khoảng: ∗ LB ≤ GLB ≤ Cmax ≤ Cmax ≤ LU B ≤ U B Đối với lower-bound LB , dựa vào nhận xét 3.3 LB đề xuất là: n pi LB = i=1 Đối với upper-bound U B , trường hợp xấu lời giải tất khung thời gian chứa idle-time (trừ khung thời gian cuối cùng), dựa vào tính chất U B đề xuất là: U B = LB + (m − 1) × (2 × splitmin ) 3.2.5 3.2.5.1 Mơ hình MILP Mơ hình MILP Dựa vào tính chất trình bày mục 3.2.3, lời giải toán xác định cách trả lời hai câu hỏi sau: (1) công việc có gán vào khung thời gian hay khơng? (2) có kích thước cơng việc gán bao nhiêu? Để trả lời hai câu hỏi này, mơ hình MILP đề xuất (Huy et al., 2013b) có hai biến định xi,t ∈ {0, 1} (tương ứng cho câu hỏi số 1) yi,t ∈ N (tương ứng cho câu hỏi số 2), cụ thể sau: 16 • Biến định: xi,t ∈ {0, 1}, yi,t ∈ N n xi,t n i=1 • Biến trung gian: αt = yi,t ∈ N, n ∈ {0, 1}, βt = αt × bt−1 ∈ N, γt = βt + i=1 Cmax = max(γt ) ∈ N • Hàm mục tiêu: min(Cmax ) • Các ràng buộc: m yi,t = pi ; ∀i = 1, , n (3.1) yi,t ≤ wt ; ∀t = 1, , m (3.2) t=1 n i=1 splitmin × xi,t ≤ yi,t ≤ pi × xi,t ; ∀i = 1, , n; ∀t = 1, , m 3.2.5.2 (3.3) Mô hình MILP Đối với mơ hình MILP 1, biết cơng việc có gán vào khung thời gian hay khơng kích thước công việc gán vào khung thời gian Tuy nhiên thêm thông tin công việc gán vào vị trí kết thúc đâu khung thời gian Để biết thêm thơng tin mơ hình MILP đề xuất (Son et al., 2021) có thêm biến định si,t ∈ N biến trung gian ci,t = si,t + yi,t ∈ N, cụ thể sau: • Các biến định: xi,t ∈ {0, 1}, yi,t ∈ N, si,t ∈ N, vi,j,t ∈ {0, 1} • Các biến trung gian: ci,t = si,t + yi,t ∈ N, Ci = max(ci,t ) ∈ N, Cmax = max(Ci ) ∈ N • Hàm mục tiêu: min(Cmax ) • Các ràng buộc: m yi,t = pi ; ∀i = 1, , n (3.4) yi,t ≤ wt ; ∀t = 1, , m (3.5) t=1 n i=1 splitmin × xi,t ≤ yi,t ≤ pi × xi,t ; ∀i = 1, , n; ∀t = 1, , m (3.6) bt × xi,t ≤ si,t ≤ U B × xi,t ; ∀i = 1, , n; ∀t = 1, , m (3.7) 17 bt ≤ si,t ≤ bt+1 − yi,t ; ∀i = 1, , n; ∀t = 1, , m ci,t − sj,t ≤ U B × vi,j,t ; cj,t − si,t ≤ U B × (1 − vi,j,t ); ∀i, j = 1, , n / i ̸= j; ∀t = 1, , m ∀i, j = 1, , n / i ̸= j; ∀t = 1, , m (3.8) (3.9) Bảng 3.2: So sánh MILP MILP Nhóm biến định Nhóm biến trung gian Nhóm ràng buộc Hàm mục tiêu Số lượng biến định Số lượng ràng buộc Khơng gian nghiệm Phù hợp với tốn 3.2.6.1 MILP xi,t , yi,t , si,t ci,t , Ci , Cmax nhóm (3.4 - 3.9) min(Cmax ) 2×n×m n + m + (2 × n × m) O(2n×m × U B n×m ) 3×n×m n + m + (8 × n × m) O(2n×m × U B 2×n×m ) khơng quan tâm thứ tự cơng quan tâm thứ tự công việc khung thời gian việc khung thời gian Ci ) thêm biến định ràng buộc thêm ràng buộc Khả mở rộng (ri , di , 3.2.6 MILP xi,t , yi,t αt , βt , γt , Cmax nhóm (3.1 - 3.3) min(Cmax ) Phương pháp heuristic Phân bổ dựa quy tắc FCFS Ý tưởng giải thuật Assignment based on FCFS (ASGN) duyệt qua window từ trái sang phải; window, duyệt qua job theo quy tắc FCFS; job, cố gắng gán job vào window tương ứng tuỳ theo kích thước trống window (chi tiết Algorithm 3, 4) Minh hoạ Giải thuật ASGN với liệu Bảng 3.1 J1 = idle J2 = idleJ3 = 4J4 = 3idleJ4 = 16 24 J5 = J5 = 34 t Hình 3.8: Giải thuật ASGN với Cmax = 40 3.2.6.2 Phân bổ dựa quy tắc SPT/LPT Ý tưởng giải thuật Assignment based on SPT (ASPT) / Assignment based on LPT (ALPT) tương tự giải thuật ASGN Điểm khác biệt window, jobs xếp theo thời gian xử lý tăng/giảm dần Điều có nghĩa jobs 18 có thời gian xử lý nhỏ/lớn ưu tiên để gán vào windows trống (chi tiết Algorithm 5) Minh hoạ Giải thuật ALPT với liệu Bảng 3.1 J5 = J2 = idle J4 = idle 16 J5 = J3 = J1 = 34 24 t Hình 3.9: Giải thuật ALPT với Cmax = 39 3.2.6.3 So khớp phân bổ Lưu ý việc giảm thiểu "makepan", lời giải có thời gian rảnh rỗi idletime tốt Do đó, việc cố gắng lấp đầy windows jobs làm giảm thời gian rảnh rỗi lời giải Giải thuật Matching and Assignment (MAAS) lấp đầy windows cách so khớp (matching) kích thước window với kích cỡ jobs trước, sau windows trống lại phân bổ (assignment) jobs vào Ý tưởng ban đầu heuristic chia thành hai bước matching, assignment, bước kiểm tra bổ sung (verification) (chi tiết Algorithm 6, 7, 8, 9, 10) Minh hoạ Giải thuật MAAS với liệu Bảng 3.1 J4 = idle J1 = J3 = J2 = 16 J5 = 10 24 J5 = 34 t Hình 3.10: Giải thuật MAAS với Cmax = 37 3.2.6.4 Phân bổ dựa luồng cực đại Việc xác định jobs có kích thước gán vào window gần giống việc xác định dịng chảy (flow) có kích thước qua đỉnh đồ thị toán luồng cực đại (Max Flow problem), không quan tâm thứ tự job gán vào window hay thứ tự dịng chảy qua đỉnh đồ thị Chính vậy, ý tưởng giải thuật Assignment based on Max Flow (BMF) chuyển đổi toán PSP tốn Max Flow có thêm số ràng buộc liên quan đến splitmin , sử dụng giải thuật Ford-Fulkerson (có hiệu chỉnh) để xác định lời giải cho toán PSP 19 Minh hoạ Đồ thị N có trọng số xây dựng với liệu Bảng 3.1 13 J5 W1 J2 W2 s J4 W3 J1 W4 J3 W5 13 8 10 s d ∞ W1 J2 W2 7/7 9/9 J4 J1 J3 Hình 3.11: Đồ thị N 3.2.7 J5 3 8/8 W3 8/10 d 4/∞ W4 W5 Hình 3.12: Flow đồ thị N với Cmax = 38 Phương pháp metaheuristic Quan sát Thứ tự jobs ảnh hưởng đến lời giải đạt bời giải thuật ASGN, BMF MAAS Minh hoạ Giải thuật MAAS với liệu Bảng 3.1 • J = {J1 = 5, J2 = 8, J3 = 4, J4 = 6, J5 = 13} =⇒ Cmax = 37 J4 = idle J1 = J3 = J2 = 16 J5 = 10 J5 = 34 24 t • J = {J4 = 6, J2 = 8, J3 = 4, J1 = 5, J5 = 13} =⇒ Cmax = 38 J1 = idle J5 = J2 = 16 J4 = 24 J3 = J5 = 34 t Hình 3.13: Giải thuật MAAS với thứ tự jobs khác Dựa quan sát 1, cách tiếp cận khác đề xuất để giải toán cố gắng thay đổi thứ tự jobs để tìm lời giải tốt Phương pháp đưa toán xem xét dạng toán tối ưu tổ hợp với độ thích nghi (fitness value) giá trị Cmax Có nhiều metaheuristics áp dụng để giải toán 20 tối ưu tổ hợp Simulated Annealing (SA), Genetic Algorithm (GA), Tabu Search (TABU), Một cách tổng quát metaheuristics GA TABU thực cách xem xét thứ tự jobs nhiễm sắc thể (chromosome) GA lời giải mã hoá (solution encoding) TABU Minh họa Cách mã hóa GA TABU với liệu Bảng 3.1 Chromosome J2 J3 J5 J4 J1 Solution encoding J2 J3 J5 J4 J1 Chromosome J3 J2 J4 J1 J5 Solution encoding J3 J2 J4 J1 J5 Hình 3.14: Mã hóa chromosome GA Hình 3.15: Mã hóa solution TABU Tuy nhiên với thứ tự jobs cho trước, xác định trực tiếp lời giải cụ thể cho tốn xem xét Nhờ có quan sát 1, cách tiếp cận đề xuất cách pha trộn (mixing) metaheuristic GA TABU với heuristic đề xuất Do chúng tơi có quan sát tiếp theo, là: Quan sát Một thuật tốn tiến hóa (evolutionary algorithm) áp dụng để xác định lời giải cho toán cách kết hợp metaheuristic heuristic đề xuất Ý tưởng thuật tốn tiến hóa đề xuất sử dụng chiến lược lặp TABU chiến lược tiến hoá GA để tạo hệ tốt so với hệ trước Tại lần lặp tiến hóa, lời giải mã hố có giá trị thích nghi tương ứng với giá trị Cmax tính heuristic đề xuất Sau lần lặp tiến hóa tiếp theo, lời giải mã hoá tạo cách sử dụng thao tác SWAP, EBSR, EFSR TABU selection, crossover, mutation GA 3.2.8 Phương pháp matheuristic Giải thuật matheuristic đề xuất có tên gọi Exact for SubSet-Jobs (E4SSJ) với ý tưởng chia tập công việc đầu vào ban đầu thành tập công việc nhỏ không giao (gọi subset-jobs), sau sử dụng MILP solver để xác định lời giải tối ưu tập công việc này, lời giải cuối toán tổng hợp lời giải tập cơng việc (chi tiết Algorithm 11) Hình 3.16 trình bày ý tưởng giải thuật E4SSJ 21 Hình 3.16: Giải thuật E4SSJ Minh họa Giải thuật E4SSJ với liệu Bảng 3.1, cho trước f s = áp dụng quy tắc lập lịch ưu tiên FCFS, chia tập công việc ban đầu J = {J1 = 5, J2 = 8, J3 = 4, J4 = 6, J5 = 13} thành tập công việc SS1 = {J1 = 5, J2 = 8, J3 = 4}, SS2 = {J4 = 6, J5 = 13}, sau sử dụng MILP solver để xác định lời giải tối ưu cho tập công việc này, ta được: • SS1 = {J1 = 5, J2 = 8, J3 = 4} =⇒ Cmax1 = 19 J1 = idle J3 = J2 = J2 = 16 34 24 t • SS2 = {J4 = 6, J5 = 13} =⇒ Cmax2 = 19 J5 = 16 J4 = J5 = J5 = 34 24 t • J = {J1 = 5, J2 = 8, J3 = 4, J4 = 6, J5 = 13} =⇒ Cmax = Cmax1 + Cmax2 = 38 J1 = idle J3 = J2 = J2 = J5 = 16 J4 = 24 J5 = J5 = 34 Hình 3.17: Giải thuật E4SSJ với Cmax = 38 22 t 3.3 Đánh giá Trong trường hợp liệu đầu vào có kích thước nhỏ (khoảng 40 jobs) nên chọn phương pháp xác sử dụng MILP solver để xác định lời giải tối ưu cho toán giới hạn thời gian chấp nhận Ngược lại, trường hợp liệu đầu vào có kích thước lớn phương pháp matheuristic với giải thuật E4SSJ lựa chọn tốt chất lượng lời giải tìm thấy tốt thời gian tính tốn lại nhanh CHƯƠNG 4.1 MỘT SỐ BÀI TỐN LẬP LỊCH CƠNG VIỆC CÁ NHÂN ĐẶC THÙ Bài tốn lập lịch cơng việc nhóm 4.1.1 Phát biểu tốn Bài tốn lập lịch cơng việc nhóm tốn PSP áp dụng nhóm nhiều người có khung thời gian làm việc khác (gọi toán TWSP) Bài toán TWSP ký hiệu sau: P |splittable; splitmin ; available − windows|Cmax 4.1.2 Minh họa toán Bảng 4.1: Dữ liệu đầu vào cho toán TWPSP (a) Jobs (splitmin = 3) Job Processing-time J1 J2 J3 J4 J5 10 J6 (b) Machine Window W11 W21 W31 W41 Available-time [0, 7] [7, 12] [12, 20] [20, +∞) 23 (c) Machine Window W12 W22 W32 W42 W52 Available-time [0, 5] [5, 11] [11, 18] [18, 25) [25, +∞) available-window Machine 20 12 available-window Machine 18 11 25 Hình 4.1: Các khung cửa sổ thời gian toán TWSP Các lời giải có tốn TWSP tương ứng với liệu đầu vào Bảng 4.1: J1 = idle J3 = J5 = idle J6 = Machine 20 12 J2 = idleJ2 = 3J3 = J4 = idle J5 = Machine 18 11 25 Hình 4.2: Một lời giải khả thi với Cmax = 24 J1 = idle J4 = J6 = J5 = Machine J3 = 20 12 J3 = J2 = J2 = J5 = 3J5 = Machine 11 18 25 ∗ = 21 Hình 4.3: Một lời giải tối ưu với Cmax Qua ví dụ minh họa thấy tốn TWSP có ba đặc điểm giống nhận xét 3.1, 3.2, 3.3 tốn PSP 4.1.3 Tính NP-đầy đủ toán Dễ dàng nhận thấy toán PSP: 1|splittable; splitmin ; available − windows|Cmax trường hợp đặc biệt toán TWSP: P |splittable; splitmin ; available−windows|Cmax với số lượng machine = Ta thấy mẫu liệu toán PSP (machine = 1) tập hợp tập hợp mẫu liệu toán TWSP (machine = k ), mẫu liệu toán PSP ánh xạ − đến mẫu liệu tốn TWSP, đó: PSP ≤p TWSP Mà toán PSP chứng minh thuộc lớp N P -khó mạnh mục 3.2.1 nên tốn TWSP thuộc lớp N P -khó mạnh 24 4.1.4 Các tính chất lời giải tối ưu Bài tốn TWSP có tính chất lời giải tối ưu giống tốn PSP trình bày mục 3.2.3, nhiên tính chất thay đổi sau: Tính chất Tồn lời giải tối ưu cho job chia nhỏ tối đa là: nsubi = min( 4.1.5 pi splitmin k , mj ) j=1 Miền đánh giá nghiệm Dựa vào nhận xét 3.3 tính chất LB U B đề xuất là: n k (mj −1) pi i=1 LB = k 4.1.6 U B = LB + j=1 k × (2 × splitmin ) Mơ hình MILP Dựa vào tính chất trình bày mục 4.1.4, lời giải toán xác định cách trả lời ba câu hỏi sau: (1) cơng việc có gán vào khung thời gian máy khơng? (2) có kích thước cơng việc gán bao nhiêu? (3) có thời điểm bắt đầu công việc lúc nào? Để trả lời ba câu hỏi trên, mô hình MILP cho tốn TWSP đề xuất có ba biến định xi,j,t ∈ {0, 1} (tương ứng cho câu hỏi số 1), yi,j,t ∈ N (tương ứng cho câu hỏi số 2), si,j,t ∈ N (tương ứng cho câu hỏi số 3), cụ thể sau: • Các biến định: xi,j,t ∈ {0, 1}, yi,j,t ∈ N, si,j,t ∈ N, vi1 ,i2 ,j,t ∈ {0, 1} • Các biến trung gian: ci,j,t = si,j,t + yi,j,t ∈ N, Ci = max(ci,j,t ) ∈ N, Cmax = max(Ci ) ∈ N • Hàm mục tiêu: min(Cmax ) • Các ràng buộc: k m yi,j,t = pi ; ∀i = 1, , n (4.1) j=1 t=1 n yi,j,t ≤ wj,t ; ∀j = 1, , k; ∀t = 1, , m i=1 25 (4.2) splitmin × xi,j,t ≤ yi,j,t ≤ pi × xi,j,t ; ∀i = 1, , n; ∀j = 1, , k; ∀t = 1, , m (4.3) bj,t × xi,j,t ≤ si,j,t ≤ U B × xi,j,t ; ∀i = 1, , n; ∀j = 1, , k; ∀t = 1, , m (4.4) bj,t ≤ si,j,t ≤ bj,t+1 − yi,j,t ; ∀i = 1, , n; ∀j = 1, , k; ∀t = 1, , m ci1 ,j,t − si2 ,j,t ≤ U B × vi1 ,i2 ,j,t ; ∀i1 , i2 = 1, , n / i1 ̸= i2 ; ∀j = 1, , k; ∀t = 1, , m ci2 ,j,t − si1 ,j,t ≤ U B × (1 − vi1 ,i2 ,j,t ); ∀i1 , i2 = 1, , n / i1 ̸= i2 ; ∀j = 1, , k; ∀t = 1, , m 4.1.7 4.1.7.1 (4.5) (4.6) Phương pháp heuristic Phân bổ dựa quy tắc FCFS Ý tưởng giải thuật Assignment based on FCFS (ASGN) duyệt jobs theo quy tắc FCFS; ứng với job, chọn window machine có thời điểm hồn thành để gán job vào window theo giải thuật AssignJob2Window (chi tiết Algorithm 18, 19) Minh hoạ Giải thuật ASGN với liệu Bảng 4.1 J1 = idle J3 = J5 = idle J6 = Machine 20 12 J2 = idleJ2 = 3J3 = J4 = idle J5 = Machine 11 18 25 Hình 4.4: Giải thuật ASGN với Cmax = 24 4.1.7.2 Phân bổ dựa quy tắc SPT/LPT Ý tưởng giải thuật Assignment based on SPT (ASPT) / Assignment based on LPT (ALPT) tương tự giải thuật ASGN Điểm khác biệt jobs xếp theo thời gian xử lý tăng dần/giảm dần trước thực việc duyệt jobs (chi tiết Algorithm 20) 26 Minh hoạ Giải thuật ALPT với liệu Bảng 4.1 J5 = J1 = idle J6 = J5 = 3idleJ2 = Machine J3 = 20 12 J2 = idle J4 = idle J3 = 3J1 = 3idle Machine 11 18 25 Hình 4.5: Giải thuật ALPT với Cmax = 24 4.1.8 Đánh giá Trong trường hợp liệu đầu vào có kích thước nhỏ (khoảng 30 jobs) nên chọn phương pháp xác sử dụng MILP solver để xác định lời giải tối ưu cho toán giới hạn thời gian chấp nhận Ngược lại, trường hợp liệu đầu vào có kích thước lớn giải thuật ALPT nên lựa chọn chất lượng lời giải khả thi tìm thấy tốt số giải thuật heuristics đề xuất thời gian tính tốn lại nhanh CHƯƠNG 5.1 KẾT LUẬN Đánh giá kết Bài tốn lập lịch cơng việc cá nhân tự động phân chia công việc nhỏ (nhưng không nhỏ ngưỡng xác định trước) khung thời gian làm việc quan trọng để áp dụng cho ứng dụng quản lý công việc cá nhân Luận án tập trung giải từ tốn lập lịch cơng việc cá nhân (chi tiết chương 3) số tốn lập lịch cơng việc cá nhân đặc thù với việc mở rộng ràng buộc cho toán lập lịch công việc cá nhân ràng buộc setup-time, ràng buộc deadline, hướng đến việc khai thác kết tốn lập lịch cơng việc cá nhân để mở rộng cho toán lập lịch cơng việc nhóm (chi tiết chương 4) Để từ mục tiêu luận án đạt kết công bố hội thảo, hội nghị, tạp chí nước quốc tế, cụ thể sau: O1 Nghiên cứu đề xuất số phương pháp tiếp cận để giải tốn lập lịch cơng việc cá nhân liệu đầu vào có kích thước nhỏ lớn, qua đề xuất lựa chọn phương pháp hiệu loại liệu đầu vào khác [CT 1,4] 27 O2 Nghiên cứu giải tốn lập lịch cơng việc cá nhân đặc thù có số ràng buộc thường sử dụng thực tế [CT 3,6] O3 Nghiên cứu ứng dụng mở rộng tốn lập lịch cơng việc cá nhân nhóm nhiều người [CT 2,5] 5.2 Các đóng góp Những đóng góp luận án bao gồm: C1 Xem xét giải vấn đề tồn đọng toán lập lịch cơng việc cá nhân (bài tốn PSP) từ nghiên cứu trước C2 Mở rộng nghiên cứu giải tốn lập lịch cơng việc cá nhân đặc thù có số ràng buộc thường sử dụng thực tế cơng việc có thời gian chuẩn bị khác (bài tốn PSP+setup-time), cơng việc có thời điểm bắt buộc phải hồn thành khác (bài toán PSP+deadline), toán lập lịch cơng việc cá nhân cho nhóm nhiều người có khung thời gian làm việc khác (bài toán TWSP) C3 Đề xuất sơ đồ tổng quát bước tiếp cận để giải lớp toán lập lịch công việc cá nhân bao gồm: (1) xác định tính N P -đầy đủ tốn, (2) xem xét số trường hợp đặc biệt, (3) đưa số tính chất lời giải tối ưu, (4) xác định miền nghiệm toán, (5) xây dựng mơ hình tốn học MILP, (6) sử dụng phương pháp xác với MILP solver để xác định lời giải tối ưu cho toán, (7) sử dụng phương pháp xấp xỉ dạng heuristic/metaheuristic/matheuristic để xác định lời giải khả thi cho toán C4 Trên sở xem xét tốn lập lịch cơng việc cá nhân tốn có thời gian tài ngun đặc biệt cần cấp phát cho công việc, đề xuất số heuristics đặc thù thừa kế giải thuật cổ điển, số metaheuristics thường dùng cơng nghiệp, qua xác định lời giải khả thi có chất lượng tốt giới hạn thời gian chấp nhận C5 Đề xuất hướng tiếp cận matheuristics cách kết hợp giải thuật (meta)heuristic với phương pháp xác sử dụng MILP solver nhằm xác định lời giải khả thi có chất lượng tốt 28 ... bố liên quan tới phương pháp tiếp cận matheuristic CHƯƠNG 3.1 3.1.1 BÀI TỐN LẬP LỊCH CƠNG VIỆC CÁ NHÂN Đặc tả toán Phát biểu toán Bài tốn lập lịch cơng việc cá nhân tốn lập lịch cơng việc cắt... luận án tập trung chủ yếu vào toán lập lịch công việc cá nhân, xem xét phương pháp tiếp cận nghiên cứu để làm tảng cho tốn lập lịch cơng việc đặc thù khác cho tốn lập lịch cơng việc tập thể nhóm... đánh giá kết thực nghiệm phương pháp tiếp cận Chương thứ tư trình bày số tốn lập lịch cơng việc cá nhân đặc thù với việc mở rộng ràng buộc cho tốn lập lịch cơng việc cá nhân ràng buộc setup-time,