TÓM TẮT NỘI DUNG LUẬN VĂNLuận văn này tập trung nghiên cứu bài toán lập lịch công việc có chu kỳ vàcông việc không có chu kỳ trong môi trường máy đơn Một sô đóng góp trong luận văn này:
Trang 1ĐẠI HỌC QUỐC GIA TP HCM
TRƯỜNG ĐẠI HỌC BÁCH KHOA
HÀ THÁI VŨ
LẬP LỊCH CÔNG VIỆC CÓ CHU KỲ VÀ
CÔNG VIỆC KHONG CÓ CHU KY TRONG
MOI TRUONG MAY DON
Chuyén nganh : Khoa Hoc May TinhMã so: 60.48.01
LUAN VAN THAC SI
TP HO CHI MINH, thang 12 nam 2013
Trang 2CÔNG TRÌNH ĐƯỢC HOÀN THÀNH TẠI
TRUONG ĐẠI HOC BACH KHOA -DHQG -HCM
Cán bộ hướng dẫn khoa học : TS Huynh Tường Nguyên
Cán bộ cham nhận xét 1 : TS Nguyễn Đức Thái
Cán bộ cham nhận xét 2 : TS Tô Bá Lâm
Luận văn thạc sĩ được bảo vệ tại Trường Dai học Bách Khoa, ĐHQGTp HCM ngày 25 tháng 12 năm 2013
Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm:1 TS Trần Văn Hoài — Chủ tịch
2.TS Nguyễn Văn Minh Mẫn — Thu ký3 TS Nguyễn Đức Thái — Phản biện 1
4 TS Tô Bá Lâm — Phản biện 2
5 TS Huỳnh Tường Nguyên - Ủy viênXác nhận của Chủ tịch Hội đồng đánh giá LV và Trưởng Khoa quản lý
chuyền ngành sau khi luận văn đã được sửa chữa (nêu có).
CHỦ TỊCH HỘI ĐÔNG TRƯỞNG KHOA
Trang 3ĐẠI HỌC QUỐC GIA TP.HCM CỌNGH A XÃ HOI CHỦ NGHĨA VIỆT
TRƯỜNG ĐẠI HỌC BÁCH NAM Độc lập - Tự do - Hạnh phúc
KHOA
NHIEM VỤ LUẬN VĂN THẠC SĨ
Họ tên học viên: Hà Thái Vũ MSHV: 11076104Ngày, tháng, năm sinh: 18/12/1988 Nơi sinh: Quảng Nam
Chuyên ngành: Khoa Học Máy Tính Mã số : 60.48.01I TÊN DE TÀI: Lập lịch công việc có chu ky và công việc không có chu kỳ
trong môi trường máy đơn.
H NHIỆM VỤ VÀ NỘI DUNG:
- Nghiên cứu bài toán lập lịch công việc có chu kỳ và công việc khôngcó chu kỳ trong môi trường máy đơn.
- Đánh giá độ phức tạp của bài toán.- Đê xuât giải thuật heuristic cho bài toán với mục tiêu tôi ưu thời gianhoàn thành.
- Dé xuât giải thuật heuristic cho bài toán với mục tiêu tôi ưu tông độtrê.
- Đánh giá các giải thuật heuristic đã đề xuất dựa trên các kết quả thực
nghiệm.
Ill NGÀY GIAO NHIEM VU : 14/01/2013IV NGAY HOAN THANH NHIEM VU: 22/11/2013V CAN BO HUONG DAN: TS Huỳnh Tường Nguyên
Tp HCM, ngay thang nam 2013
CAN BO HUONG DAN TRUONG KHOA
(Họ tên va chữ ky) (Họ tên và chữ ký)
TS Huỳnh Tường Nguyên
Trang 4LOI CAM ONTôi xin gửi lời cám ơn chân thành đến TS Huynh Tường Nguyên, người
Thây đã không quản thời gian công sức luôn tận tình chỉ bảo và hướng dân tôitrong suôt thời gian tôi thực hiện luận văn này.
Tôi xin cám ơn các quí thay cô, những người đã trực tiếp cũng như giántiếp chi bảo và hướng dẫn giúp tôi có những kiến thức can thiết dé thực hiện
luận văn này Tôi cũng xin cám ơn các anh chị và các bạn trong nhóm nghiên
cứu qua những ý kiến đóng góp trong các budi họp giúp tôi hoan thành luậnvăn tốt hơn.
Một lân nữa tôi xin gửi lời cam ơn chân thành đền tat cả mọi người.
Trang 5TÓM TẮT NỘI DUNG LUẬN VĂN
Luận văn này tập trung nghiên cứu bài toán lập lịch công việc có chu kỳ vàcông việc không có chu kỳ trong môi trường máy đơn
Một sô đóng góp trong luận văn này:
Chứng minh bài toán thuộc về lớp NP-Hard.Đề xuất giải thuật heuristic dé giải quyết bài toán tối ưu mục tiêu thời
Some contributions include:Prove that the problem is NP-Hard.Propose heuristic algorithm to solve the “optimizing makespanobjective” problem.
Propose heuristic algorithm to solve the “optimizing total tardinessobjective” problem.
Do experimental results to evaluate proposed heuristic algorithms.
Trang 6LỜI CAM ĐOANTôi cam đoan rang, ngoại trừ các kết quả tham khảo từ các công trình khác
như đã phi rõ trong luận văn, các công việc trình bày trong luận văn này dochính tôi thực hiện và chưa có phân nội dung nào của luận văn này được nộp đêlây một băng câp ở trường này hoặc trường khác.
Ngày 19/11/2013
Hà Thái Vũ
Trang 72.4 Các tính chất đặc trưng của công VIỆC QC ng 5
2.5 Môi trường máy Q Q Q Q Q Q HQ ung lv v kg k v k va 6
26 Tiêu chuẩntiưu ng ng xxx và 6
3 Bài toán NP-Hard 8
3.1 Tốiưu makespan là baitodn NP-Hard 8
3.1.1 Bàitoán MAKESPAN-APER-SCHED 83.1.2 Baitoan PARTITION 0 0 0 ee ee 8
3.2 Tối ưu tổng độ trễ là bai toan NP-Hard 2 9
3.2.1 Bai toán TOTAL-FARDINESS-APER-SCHED 103.2.2 Bài toán RESTRICTED-EVEN-ODD-PARTITON 104 Giải thuật lập lịch II
4.1 Giải thuật LPT heuristic tối ưu mục tiêu thời gian hoàn thành 11
4.1.1 Giaithuat LPT heuristic 2 0.0 0 ee ee 114.1.2 D6 phức tạp của các LPT heuristic 0.200000 0 2 ee 13
4.2 Giới thiệu giải thuật di truyền va áp dung cho bài toán lập lich - 134.2.1 Giới thiệu giải thuat ditruyén 2.2 Ặ.Ặ 134.2.2 Ap dụng giải thuật di truyền cho bài toán lập lịch - 144.3 Áp dụng giải thuật di truyền kết hop LPT heuristic 1543.1 Biéudiénquanthé 0 0 0 ee 15
4.3.4 Cáctoántửtiếnhóa ee 1543.5 Chiến lượctmkim 0.00000 cee ee v2 164.4 Giải thuật EDF heuristic tối ưu mục tiêu tổng độ trể - 16
4.4.1 Giaithuat EDFheuristic 0 0.0.0 ee ee và 164.4.2 Độ phức tapcuaEDFheuristic 0.0 00 eee eee 17
4.5 Áp dụng giải thuật di truyền kết hợp EDF heuristic 18
Trang 8il181818181920202224283035353538
Trang 9Từ giữa những năm 50 của thế kỷ 20, lý thuyết về lập lịch tối ưu bắt đầu xuất hiện nhằm hỗ trợ quảnlý hiệu quả các nguồn tài nguyên Một cách khái quát, lập lịch là việc gán các tài nguyên cho các côngviệc với thời gian cụ thể sao cho tối ưu nhất Với sự trợ giúp của máy tính, các nghiên cứu về lập lịch cũngdần được mở rộng hơn cả về chiều rộng (các lớp bài toán như tối ưu đa mục tiêu, JIT, online scheduling, ) lẫn chiều sâu (với các loại ràng buộc, mục tiêu khác nhau) Các ứng dụng của nó ngày càng được sửdụng nhiều trong các lĩnh vực công nghiệp và dịch vụ Ta có thể tìm được rất nhiều ứng dụng của bàitoán lập lịch trong cuộc sống quanh ta như sắp xếp thời khóa biểu cá nhân, sắp xếp thời khóa biểu trongcác trường hoc, Bài toán lập lịch trên máy đơn là một trong những lĩnh vực nghiên cứu mà lý thuyết lậplịch quan tâm và có vai trò quan trọng trong lý thuyết lẫn thực tế.
Các van dé lập lich với môi trường lập lich phức tạp có thể được phân rã thành các van dé lập lịchcon có thể được xem xét giải quyết với một máy đơn Ví dụ, một môi trường tính toán phức tạp với hiệuứng nút thắt cổ chai đơn (single bottleneck) có thể được xem xét giải quyết với một mô hình lập lịch máyđơn Vì vậy, các kết quả thu được từ bài toán lập lịch máy đơn không chỉ cung cấp một cái nhìn sâu sắctrong môi trường máy đơn, mà còn cung cấp một cái nhìn cơ bản cho các heuristic sử dụng trong các môi
trường lập lịch phức tạp hơn.
1.2 Bài toán lập lịch các công việc có chu ky và không có chu ky
trong moi trường máy đơn
Một trong những van dé được quan tâm trong lĩnh vực lập lịch môi trường máy đơn và cũng là van décần quan tâm giải quyết trong luận văn này là bài toán lập lịch các công việc có chu kỳ và các công việc
không có chu kỳ Một trong những ứng dụng của bài toán này có thể được xem xét là trong lĩnh vực sản
xuất công nghiệp Một vi dụ trong lĩnh vực sản xuất công nghiệp là bài toán lập lich cho một dây chuyềnsản xuất đồ gỗ, nội thất bằng gỗ trong đó việc sản xuất một sản phẩm phải trải qua 3 công đoạn: cưa gỗ,bào gỗ, lắp ráp thành sản phẩm Dé tạo thành sản phẩm phải trải qua 3 công đoạn này theo thứ tự: cưa-> bào -> lắp ráp và việc hoàn thành sản phẩm phải có deadline Deadline là khoảng thời gian nhiều nhất
Trang 10CHƯƠNG 1 MỞ ĐẦU 2
có thể có để hoàn thành sản phẩm Để đáp ứng nhu cầu thị trường thì nhà máy trên phải tạo ra được mộtsố sản phẩm trong một thời gian nhất định nào đó (deadline) Do đó, việc tạo ra sản phẩm hàng ngày sẽmang tính chất chu kì và do vậy công việc tạo ra sản phẩm này được gọi là công việc có chu kỳ Ví dụ:sau 15h làm việc thì phải tạo ra một sản phẩm Giả sử tại thời điểm t nào đó, có một người khách đến đặthàng Đơn hàng bao gồm một số công việc, trong đó các công việc có thể có deadline giống hoặc khácnhau Các công việc này vì vậy được gọi là các công việc không có chu kỳ Yêu cầu đặt ra của bài toán:cần lập lịch làm việc để hoàn thành được sản phẩm đáp ứng nhu cầu thị trường (có chu kỳ) đồng thờihoàn thành yêu cầu khách hàng (không có chu kỳ)
Luận văn này sẽ tập trung giải quyết bài toán trên Các kết quả cần đạt được bao gồm lập môhình toán học cho bài toán và dé xuất các giải thuật heuristic để giải bài toán Mục tiêu đặt ra baogdm 2 mục tiêu riêng rẽ Thứ nhất là tối thiểu hóa Cax(N) - thời gian hoàn thành hay là makespancủa tập công việc không có chu kỳ Tương ứng với lý thuyết lập lịch bài toán này được ký hiệu là1|periodic job(c, p), aperiodic job set(N)|Cmax(N) Mục tiêu thứ 2 là tối thiểu hóa 17; - tổng độ trễcủa các công việc trong tập công việc không có chu kỳ Tương ứng với lý thuyết lập lịch bài toán này
được ký hiệu là 1|periodic job(c, p), aperiodic job set(N)|}` Tj.1.3 Cau trúc luận văn
Phần còn lại của luận văn này được tổ chức như sau:e Chương 2 trình bày lý thuyết về lập lịch và trong trường hợp của luận văn là lập lịch trong môi
trường máy đơn.e Chương 3 chứng minh bài toán là NP-Hard cho việc lập lịch mục tiêu thời gian hoàn thành cũng
như là NP-Hard cho việc lập lịch mục tiêu tổng độ trễ.e Chương 4 trình bày các giải thuật heuristic để giải quyết bài toán.e Chương 5 trình bày các kết quả thực nghiệm của việc ứng dụng các giải thuật heuristic
e Cuối cùng là phần kết luận, các hướng phát triển của luận văn, phụ lục và danh mục tài liệu tham
khảo.
Trang 11nghiệp và dịch vụ.Trong ngành khoa hoc máy tính, lập lịch là phương pháp mà các thread (tuyến trình), process (quá
trình) hay luông đữ liệu (data flow) được truy cập vào tài nguyên hệ thống (ví dụ như thời gian xử lý,băng thông liên lạc) Điều này thường được thực hiện dé cân bang tải hệ thống một cách có hiệu quả hayđể đạt được một mục tiêu chất lượng hay dịch vụ Sự cần thiết cho một thuật toán lập lịch xuất phát từ yêucầu cho hầu hết các hệ thống hiện nay để thực hiện đa nhiệm (thực hiện nhiều hơn một quá trình tại mộtthời điểm — multitasking) và ghép kênh (truyền nhiều luông đông thời — multiplexing) (Theo wikipedia)
2.2 Định nghĩa bài toán lập lịch
Giả sử rằng với m máy M;(j = 1, ,m) phải xử lý n công việc J;(¡ = 1, ,n) Một lịch biểu cho mỗicông việc là một sự phân công công việc đó trong một hay nhiều khoảng thời gian trên một hoặc nhiều
máy.
Các lịch biểu có thể được biểu diễn bằng biểu đồ Gantt như trong hình 2.1 Biểu đồ Gantt có thể được
định hướng theo máy (hình 2 la) hay định hướng theo công việc (hình 2.1b).
Trang 12CHƯƠNG 2 LÝ THUYẾT LẬP LỊCH 4
Wi J4 J3 J2 J
M2 J3 J2 J1Ms J2 dJ1
(a) t
‹h Ma M2 M1
+ Ma M2 Mạ
Bs) M2 M1oq M1
0) ‘
Hình 2.1: Biểu đồ Gantt
e Mot lịch biểu được gọi là khả thi néu không có máy nào được phân công xử lý cùng một lúc nhiều
công việc Ngoài ra lịch biểu còn phải thỏa mãn một số ràng buộc của bài toán
e Mot lịch biểu được gọi là tối ưu nếu nó khả thi và đạt cực tiểu theo một tiểu chuẩn tối ưu đã cho
2.3 Dw liệu của một công việc
Công việc J; trải qua n; công đoạn Oj, Ở;a, Ở¿a, - - - , Oin, tương ứng với mỗi công đoạn O; là một thời
gian xử lý p;; Nếu công việc J; chỉ gồm có một công đoạn (n; = 1) thì chúng ta đồng nhất J; với O;; và
thời gian thực hiện là p;.
Thời điểm mà kể từ đó công đoạn đầu tiên của công việc J; sẵn sàng để được xử lý gọi là thoi điển
sẵn sàng (release date) của công việc J; và được ký hiệu là 7;
Thời điểm quy định một công việc phải hoàn tất được gọi là thoi điểm đến han (due date) của một
công việc ký hiệu dj.Tương ứng với mỗi công đoạn O;; là một tập máy g;; C {M1,Mo, ,Mm}, trong đó công đoạn Oj; có
thể được xử lý trên bất kỳ máy nào trong ¿;; Thông thường ¿;; chỉ có một phan tử hoặc bằng với tập tấtcả các máy Khi ¿;; có một phan tử ta có các máy chuyên dụng (dedicated machines) khi yi; bằng với tậptat cả các máy thi ta có các mdy song song (parallel machines) Dé làm mềm dẻo van đề lập lịch trong sảnxuất thông thường các máy được trang bị những dụng cụ khác nhau, điều này có nghĩa là một công đoạncó thể được xử lý trên bất kỳ máy nào miễn là máy đó được trang bị những dụng cụ thích hợp Những bài
toán lập lịch thuộc dang này gọi la bài toán lập lịch với các may da năng (multipurpose machines) Ngoài
ra cũng có trường hợp tat cả các máy trong tập uj; được sử dụng đồng thời trong suốt quá trình xử lý của
công đoạn Những bài toán lập lịch thuộc dạng này được gọi là bai toán lập lịch với những công việc da
xu lý (multiprocessor task scheduling problems).
Trang 13CHƯƠNG 2 LÝ THUYẾT LẬP LỊCH 5
Dé đo lường mức độ hoàn thành của một công việc J; tại thời điểm ¢ ta dùng một hàm tri giá ƒ#(7)
Trong đó thời điểm tới hạn đ;, trọng số w; có thể được dùng trong định nghĩa của hàm ƒ;(?) Trường hợp
tổng quát, các giá tri pj, pij, r¡, di, wi có thể được giả sử là những giá trị nguyên
Các lớp bài toán lập lịch được xác định bởi ba trường phân loại là œ|B|y Trong đó œ xác định môi
trường máy, B xác định tinh chat của các công việc và y dùng để chỉ định tiêu chuẩn tối ưu
2.4 Các tính chất đặc trưng của công việc
Các tinh chất đặc trưng của công việc được quy định bởi trường B chứa đựng nhiều nhất là 6 thành
phan B¡, Ba B2, Ba B4 Bs và Bo.
e Bị chỉ định có hay không khả năng tach một công việc (preemption-job splitting) Việc tách một
công việc hay một công đoạn có nghĩa là việc xử lý có thể bị gián đoạn và sẽ tiếp tục vào một thời
điểm khác và có thể được xử lý trên một máy khác Một công việc hay một công đoạn có thể được
chia cắt nhiều lần Nếu việc tách công việc được cho phép ta ký hiệu By = pmtn Ngược lại thì Bkhông xuất hiện trong trường ÿ
e › quy định quan hệ thứ tự thực hiện trước sau giữa những công việc Quan hệ thứ tự này có thé
được biểu diễn bằng một đồ thị có hướng không chu trình G = (V,A), trong đó V = {1, ,n}tương ứng với tập những công việc và (i,k) € A nếu và chỉ néu J; phải được hoàn thành trước khiJ, bat đầu được xử lý Nếu bài toán có ràng buộc quan hệ trước sau giữa những công việc ta đặt
Ba = prec.
e 63 — rị chi định thoi điểm sẵn sàng dé bắt đầu (release date) thực hiện công việc Nếu r ;—0thì
Ba không xuất hiện trong trường ÿ.e ÿ¿ chỉ định thời gian xử lý công việc hay công đoạn Nếu By là biểu thức p; = 1(pij = 1) thì mỗi
công việc (công đoạn) có thời gian xử lý một đơn vị thời gian Đôi khi trường Ba chưa thêm một sốtính chất với một sự giải thích rõ rang, ví dụ như p; € {1,2}
e Bs — d;¡ chỉ định thoi điểm đến hạn (due date) cho từng công việc J;, nghĩa là công việc J; khôngthể hoàn thành trễ hơn thời điểm d;
e Đôi khi trong một vài ứng dụng lập lịch, các công việc phải được lập thành từng 16 (batch) Mỗi
lô là tập của những công việc được kết hợp xử lý trên cùng một máy Thời gian hoàn thành củalô được định nghĩa là thời gian hoàn thành của tất cả các công việc trong lô đó Mỗi lô có thể cótừ 1 đến n công việc Tén tại một khoảng thời gian thiết lập (setup time) cho từng 16 để lô đó sẵnsàng được xử lý Chúng ta giả sử rằng thời gian khởi động cho tất cả các lô là bang nhau Bài todnchia lô (batching problem) là dạng bài toán nhóm những công việc vào trong các lô và sau đó tiễnhành xếp lịch cho các lô đó Có 2 dạng bài toán chia lô là p-batching và s-batching Đối với bàitoán p-batching thời gian xử lý của lô bằng với thời gian xử lý lớn nhất của các công việc trong lôđó, còn với bài toán s-batching thời gian xử lý của lô bằng tổng thời gian xử lý của từng công việc
trong lô đó Bg = p — batching hoặc Bg = s — batching để chỉ định dang bài toán này, ngược lại thì
Be không xuất hiện trong trường ÿ
Trang 14CHƯƠNG 2 LÝ THUYẾT LẬP LỊCH 6
2.5 Môi trường may
Môi trường máy là một trong các yếu tố quan trọng của bài toán lập lịch Môi trường máy được đặctrưng bằng một chuỗi 2 tham số œ = œ¡0¿ Trong đó œ¡ có thể nhận một trong các giá trị o, P, Q, R,PMPM, QMPM, G, X, O, J, F để chỉ định dang bài toán va œ¿ để xác định số máy
e Nếu a = o thi mỗi công việc phải được xử lý trên một máy chuyên dụng.e Nếu ơi c {P,Q,R}, ta có các máy là song song, nghĩa là mỗi công việc có thể được xử lý trên
một trong số các máy M1, M›,ẢM3, , M„, œ = P thì các máy là song song đông nhất (identialparallel machines) và như vậy thời gian xử lý p;; của công việc J; trên máy M; là bằng nhau
với mọi j = 1, ,m œ = Q tương ứng ta có các máy là song song đông dang (uniform parallel
machines), VỚI pij = pi/s; trong đó s; là hệ số tốc độ của máy Mj Nếu oy = R ta có các máy songsong không quan hệ (unrelated parallel machines), VỚI pij = pi/Si; tốc độ 5; j phụ thuộc vào công
việc và máy.
e Nếu gy c {G,X,O,J,F} thì chúng ta có mô hình đa công đoạn: nghĩa là tương ứng với mỗi công
việc J; có một tập các công đoạn Ở;1, Ø;2, Ó;3, , Ó;„ và các máy là chuyên dụng nghĩa là ; là
tập chỉ có một phần tử Ngoài ra còn có ràng buộc trước sau giữa các công đoạn Mô hình tổngquát này được gọi là bài toán General-shop Chúng ta ký hiệu cho bài toán này bằng cách đặt
QO = G Job-shop, Flow-shop, Open-shop và Mixed-shop là những trường hợp đặc biệt của bàitoàn General-shop Trong bài toán Job-shop, œ¡ = J, chúng ta có những quan hệ ràng buộc trước saugiữa các công đoạn dưới dạng Oj; + O;1 —> O3 > —> Oin Và wij A M;j+1 VỚI 7 = Ì, ,m; —1 Bàitoán Job-shop trong trường hợp pj; = u;;+¡ được gọi là bài toán Job-shop với sự lặp lại của các máy.
Flow-shop, 04 = F, là một trường hợp đặc biệt của bài toán Job-shop trong đó nj = m(i = 1, ,n)
và wij = {M;|j = 1, ,m},¡ = 1, ,n Open-shop, œ¡ = O, được định nghĩa giỗng như Flow-shop
nhưng không có quan hệ ràng buộc trước sau giữa các công đoạn Mixed-shop, ot, = X, là sự tổ
hợp của bài toán Job-shop và bài toán Open-shop Ngoài ra để đáp ứng được tính chất linh độngcủa tiền trình sản xuất trong thực tế, nhiều nghiên cứu đã dé xuất mô hình Job-shop động (flexibleJob-shop) dựa trên mô hình Job-shop nhưng mở rộng thêm một số tính chất đặc biệt tùy vào môitrường sản xuất thực tế
e Q là một số nguyên dương tượng trưng cho số máy được dùng trong bài toán Nếu số máy là túy ýta đặt œ¿ = 0.
Trong luận văn này, vì lập lịch trong môi trường máy đơn nên số máy sẽ là 1
2.6 Tiêu chuẩn toi ưu
Gọi C; là thời gian hoàn thành của công việc J; và một hàm đánh giá tương ứng là f;(C;) Về cơ bản
chúng ta có 2 kiểu hàm đánh giá như sau:
fmax(c) = max{ f(C¡)|L = 1, ,n}
và
rfc) = ae)
Trang 15CHƯƠNG 2 LÝ THUYẾT LẬP LỊCH 7
Mục tiêu của bài toán lập lịch tối ưu là tìm một lịch biểu khả thi mà hàm đánh giá đạt cực tiểu Nếuhàm ƒ; không xác định, ta đặt Y = finax hoặc = }) f; Tuy nhiên, trong hầu hết các trường hợp chúng tachỉ quan tâm đến một số hàm mục tiêu phổ biến như sau:
e Thời gian hoàn thành (Makespan):
Với mỗi hàm G; trên, chúng ta có thể có 4 hàm mục tiêu y = max{G;},max{w;G;}, ¥ Gi, YwiGi
Ngoài ra hàm mục tiêu quan trọng là C;„„„, hàm mục tiêu Ling, = max{L;} cũng được sử dụng phổ biến.Một số các hàm mục tiêu thường dùng khác là }`w;7;,}`D;,})w;D;,})S;,`wjS
Một lịch biểu gọi là chủ động (active) nêu không thể xếp lịch lại cho các công việc sớm hơn mà khôngvỉ phạm những ràng buộc Một lịch biểu gọi là bán chủ động (semiactive) nêu không có công việc nào có
thể được xử lý sớm hơn mà không làm thay đổi trật tự xử lý hoặc vi phạm những ràng buộc
Trang 16Chương 3
Bai toán NP-Hard
3.1 Tối ưu makespan là bài toán NP-Hard
Trong phần này, chúng ta sẽ chứng minh rằng vấn đề lập lịch các công việc có chu kỳ và không cóchu kỳ tối ưu mục tiêu thời gian hoàn thành chúng ta dang xem xét thuộc về lớp NP-Hard Chúng ta xemxét 2 bài toán quyết định: MAKESPAN-APER-SCHED và PARTITION, và chứng minh rang bài toán
MAKESPAN-APER-SCHED có thể được thu giảm từ bài toán PARTITION
3.1.1 Bài toán MAKESPAN-APER-SCHED
e Dit liệu: Tập N chứa n công việc không có chu kỳ, với thời gian xử lý p; đối với mỗi công việc /,
1 < j <n; một công việc có chu kỳ với thời gian xử lý p và chu kỳ C; và một số nguyên cho trước
Y.
e Câu hỏi: Tồn tại hay không một lịch biểu sao cho công việc cuối cùng thuộc về tập công việc không
có chu kỳ có thể hoàn thành trước thời gian Y?
e Bổ đề 3.1: Bài toán MAKESPAN-APER-SCHED là bài toán NP-Complete
e Chứng minh: Chúng ta sẽ chứng minh rang bài toán MAKESPAN-APER-SCHED có thể được rút
gọn từ bài toán PARTTTION được định nghĩa như sau.
3.1.2 Bai toán PARTITION
e Dữ liệu: Tập hữu hạn A với 2r phan tử aj, đa, , đa; với kích cỡ nguyên s(a;), Vi, 1 < ¡ < 2r,B/r? <
s(aj) < B/r và MT: s(a;) = 2B
e Câu hỏi: Ton tại hay không một tập A; với các chỉ số sao cho |Ai| =r và } j4, s(4¡) = B?e Chứng minh: Chú ý rằng chúng ta có thể thu gọn bài toán PARTITION nguyên thủy được chứng
minh là NP-Complete về bài toán PARTITION nêu ở trên Vì thế, bài toán PARTITION ở trên cũng
được chứng minh là NP-Complete.
Cho một trường hợp bat kỳ của bài toán PARTITION, chúng ta có thể xây dung một trường hợp
của bài toán MAKESPAN-APER-SCHED như sau.
- N={1,2, ,2r},
Trang 17CHUONG 3 BÀI TOÁN NP-HARD 9
— Với j € {1,2, ,2r}: pj = Br+ rˆs(a;),
— T=B(r+1),p=B,
— Y =4Br? 4+ (2r+1)B.Chú ý rằng trong trường hợp bài toán ở trên, mỗi chu kỳ có thể bao gồm cả công việc có chu kỳ va
công việc không có chu kỳ Một giải pháp khả thi được xây dựng sao cho giữa 2 công việc có chu
kỳ liên tiếp có nhiều nhất một công việc không có chu kỳ Hơn nữa, một giải pháp khả thi cho bàitoán MAKESPAN-APER-SCHED không nên có thời gian rỗi giữa 2 công việc thực thi liền kê
(=) Cho một giải pháp khả thi cho bài toán PARTITION, chúng ta có thể định nghĩa một giải
pháp cho bài toán MAKESPAN-APER-SCHED bằng cách tuần tự xen vào giữa các công việc cóchu kỳ (công việc màu xanh dương trong hình 3.1) các công việc không có chu kỳ thuộc về tậpcon A; (công việc màu xanh lục trong hình 3.1); sau đó tuần tự xen vào giữa các công việc có chukỳ các công việc không có chu kỳ còn lại không thuộc về A; (công việc màu đỏ trong hình 3.1).Lịch biểu này thỏa mãn các điều kiện và câu là giải pháp cho bài toán MAKESPAN-APER-SCHED
oo oC HS c8 AAu
Hình 3.1: Một lịch biểu giải pháp cho bài toán MAKESPAN-APER-SCHED
(<) Cho rằng bài toán MAKESPAN-APER-SCHED có lời giải, chúng ta xác định một giải phápđược ký hiệu là o Xem xét chu kỳ 7 Cho rằng công việc có chu kỳ trong chu kỳ này hoàn thành
trước deadline, sau đó cho A là khoảng thời gian từ thời điểm hoàn thành của công việc có chu kỳnay cho tới deadline tương ứng.
Nếu kích cd của A lớn hơn 0, thì công việc được thực thi tiếp theo nên là công việc không cóchu kỳ (khi không có thời gian rãnh nào giữa 2 công việc được thực thi liên tiếp) Trong trường hợp
này, công việc không có chu kỳ này hoàn thành sau chu ky 7,41 khi rp +7 Pp¡;>T+1 = (r+1)T
Vì vay, công việc có chu kỳ trong chu kỳ (r+ 1) không thể được thực thi
Vì vay, A = 0 Hay, r công việc đầu tiên sẽ thuộc về tập A; và là câu trả lời cho bài toán
PAR-TITION.e Kết qua, chúng ta có định ly sau:
Dinh lý 3.1: Van dé lập lịch 1|periodic job(c, p), aperiodic job set(N) |Cmax(N) có độ phức tap
NP-Hard.
3.2 Tối ưu tổng độ trễ là bai toán NP-Hard
Trong phần này, chúng ta sẽ chứng minh rằng vấn đề lập lịch các công việc có chu kỳ và không cóchu kỳ tối ưu mục tiêu tổng độ trễ chúng ta đang xem xét thuộc về lớp NP-Hard Chúng ta xem xét 2 bàitoán quyết định: TOTAL-TARDINESS-APER-SCHED và RESTRICTED-EVEN-ODD-PARTITION, vàchứng minh rằng bài toán TOTAL-TARDINESS-APER-SCHED có thể được thu giảm từ bài toán
RESTRICTED-EVEN-ODD-PARTITION.
Trang 18CHUONG 3 BÀI TOÁN NP-HARD 10
3.2.1 Bài toán TOTAL-TARDINESS-APER-SCHED
e Dit liệu: Tap N chứa n công việc không có chu ky, với thời gian xử lý p; va deadline đ; đối vớimỗi công việc 7, 1 < j <n; một công việc có chu kỳ với thời gian xử lý p và chu kỳ C; và một số
nguyên cho trước Y.
e Câu hỏi: Tồn tại hay không một lịch biểu sao cho tổng độ trễ của các công việc trong tập công việc
không có chu kỳ nhỏ hơn Y?
e Bổ đề 3.2: Bài toán TOTAL-TARDINESS-APER-SCHED là bài toán NP-Complete
e Chứng minh: Chúng ta sé chứng minh rang bài toán TOTAL-TARDINESS-APER-SCHED có thể
được rút gọn từ bài toán RESTRICTED-EVEN-ODD-PARTTTION được định nghĩa như sau.
3.2.2 Bai toán RESTRICTED-EVEN-ODD-PARTITION
e Dit liệu: Tập hữu han A với 2n phan tử a1,a2, ,@2n sao cho a; > aj41 với mỗi 1 <i < 2n, an; >
42;+i +8 với mỗi 1 < j <n, va a; > n(4n + 1)6+ 5n(ay — ag) với mỗi 1 <i < 2n, với 6 =
chương 4 trong [3] Lịch biểu trong hình 3.1 có thể là một lịch biểu giải pháp cho bài toán TARDINESS-APER-SCHED.
TOTAL-e Kết qua, chúng ta có định ly sau:
Dinh lý 3.2: Van dé lập lịch 1|periodic job(c, p), aperiodic job set(N)|#)T¡ có độ phức tạp
NP-Hard.
Trang 19Chương 4
Giai thuật lập lich
Chương này trình bay các giải thuật heuristic được cải tiến từ giải thuật LPT (Longest ProcessingTime) cổ điển để giải quyết bài toán lập lịch các công việc có chu kỳ và không có chu kỳ trong môitrường máy đơn tối ưu hóa mục tiêu thời gian hoàn thành, và cải tiến từ giải thuật EDF (Earliest DeadlineFirst) cổ điển để giải quyết bài toán lập lịch các công việc có chu kỳ va không có chu kỳ trong môi trườngmáy đơn tối ưu hóa mục tiêu tổng độ trễ Đối với mỗi giải thuật heuristic cải tiến chúng ta sẽ áp dungthêm giải thuật di truyền kết hợp với heuristic để có thể đạt được những kết quả tốt hơn Việc áp dụnggiải thuật di truyền cần phải cân bằng giữa yếu tố độ tốt hơn khi áp dụng giải thuật di truyền và độ phứctạp của bài toán, đồng thời cần xem xét yếu tố thời gian đáp ứng khi chạy giải thuật di truyền
4.1 Giải thuật LPT heuristic tôi ưu mục tiêu thời gian hoàn thành
4.1.1 Giải thuật LPT heuristic
Ý tưởng của heuristic được đưa ra dựa vào việc phân tích trường hợp xấu nhất của giải thuật LPT.Trong giải thuật LPT, chúng ta sẽ sắp xếp các công việc không có chu kỳ theo thứ tự giảm dần thời gianxử lý, nếu 2 công việc có cùng thời gian xử lý thì chúng ta sẽ sắp xếp công việc có deadline nhỏ hơn ởphía trước Vi du đầu vào dữ liệu sau đây
e N={1,2,3,4,5,6,7,8,9, 10} với P = {15, 14, 1,14,7,12,13,6,5, 11} vaD = {16,42,50,25, 70, 75,40,90,25, 80}
e 7=10,p=2
Sau khi sắp xếp theo thứ tự LPT nêu ra ở trên thì thứ tự công việc như sau:
Công việc I14 1212716 11051819Thời gian xử lý | 15 |14|14|1232|12|111|27 1615 |1
Deadline 16 | 25 | 42 | 40 | 75 | 80 | 70 | 90 | 25 | 50
Lich biểu kết quả khi chạy giải thuật LPT (mau đỏ biểu diễn cho công việc không có chu kỳ, mau
xanh biểu diễn cho công việc có chu kỳ):
II
Trang 20CHƯƠNG 4 GIẢI THUẬT LẬP LỊCH 12
he tee Tee I =) | 517551 me0 10 20 30 40 50 60 70 80 90 100 110 120 130 140
Hình 4.1: Một lịch biểu tạo ra bởi giải thuật LPT
Dựa theo thứ tự LPT, Cnax(N) = 132 (theo hình 4.1) và có 1 đơn vị thời gian rảnh (tương ứng với
khoảng thời gian [19, 20]) Tồn tại khoảng thời gian rỗi này bởi vì công việc J¿ không thể bat dau tại thời
điểm 19 và không có công việc có chu kỳ nào có thể thực thi tại giai đoạn thứ 3
Để khắc phục sự bất tiện nay, chúng ta cung cấp một số chiến lược để sửa đổi giải thuật LPT: tai bátkỳ thời điểm t nào khi một công việc được xem xét Jy, (theo thứ tự LPT) không thể được bắt đầu (ngượclại, sẽ tạo ra thời gian rổi), chúng ta tim công việc khác để thực thi tại thời điểm này Có 3 chiến lược
được ra tương ứng với 3 heuristic:
e LPT_HEUI: Công việc có thời gian xử lý lâu nhất trong số các công việc có thể bắt đầu tại thờiđiểm / (và không tạo ra thêm bat kỳ thời gian rỗi nào tại thời điểm /);
e LPT_HEU2: Công việc có thời gian xử lý ngắn nhất trong số các công việc có thể bắt dau tại thời
điểm í;
e LPT_HEU3: Công việc thích hợp nhất trong số các công việc có thể bắt đầu tại thời điểm ¿ (và
không tạo ra thêm thời gian rỗi nào tai thời điểm /) Từ "thich hop" ö đây có nghĩa là sau khi thêm
vào công việc nay, J; có thể thêm vào mà không tao ra bat kỳ thời gian rỗi nào Khi một công việcJ; không thể bắt đầu tại thời điểm chúng ta sẽ có 2 khoảng thời gian rỗi còn lại tương ứng trong1 chu kỳ và trong 2 chu kỳ Chúng ta sẽ tìm công việc "thích hợp" trong 1 chu kỳ hay 2 chu kỳ lấpđầy nhiều hơn khoảng thời gian rỗi này
Dựa vào lịch biểu ở hình 4.1, với các heuristic trên chúng ta có các kết quả như sau LPT_HEUI có
makespan là 123, LPT_HEU2 có makespan là 124 và LPT_HEU3 có makespan là 122 (xem hình 4.2,4.3, 4.4).
Trang 21CHƯƠNG 4 GIẢI THUẬT LẬP LỊCH 13
4.1.2 Độ phức tạp của các LPT heuristic
Phần này sẽ trình bày độ phức tạp của các LPT heuristic:
e Độ phức tạp của LPT_HEUI là O(n) - tim công việc có thời gian xử lý lớn nhất một cách tuần tự
Khi công việc được xem xét J; (theo thứ tự LPT) không thể bắt đầu (nếu không sé tạo ra thời gianrỗi), chúng ta sẽ tuần tự tìm kiếm từ công việc Z¿„ ¡ (theo thứ tự LPT) cho đến công việc cuối cùng.Nếu bat kỳ công việc nào có thời gian xử lý có thể bắt đầu tại thời điểm / (và không tạo ra thờigian rỗi nào tại thời điểm 7), chúng ta sẽ lập lịch cho công việc này Bởi vì các công việc được sắpxếp theo thứ tự LPT, nên chúng ta sẽ dễ dàng tìm được công việc thích hợp trong một vài bước tìm
kiêm.
e Độ phức tạp của LPT_HEU2 là O(n) - tim công việc có thời gian xử lý nhỏ nhất có thể bắt đầu tạithời điểm / chỉ trong 1 lần tìm kiếm Khi công việc J, không thể được bắt đầu, chúng ta sẽ xem xétlập lịch cho công việc có thời gian xử lý nhỏ nhất trong tập công việc, đó là công việc cuối cùng
(theo thứ tự LPT).e Độ phức tạp của LPT_HEU3 là O(nlg(n)) - sử dung tìm kiếm nhị phân để tìm công việc thích hợp
nhất Khi công việc J; không thể được bat đầu tại thời điểm f, chúng ta sé còn lại 2 khoảng thờigian hợp lệ (trong 1 chu kỳ và trong 2 chu kỳ) Chúng ta sẽ sử dụng tìm kiếm nhị phân 2 lần để tìmkiếm 2 công việc mà có thời gian xử lý lớn nhất có thể bắt đầu tại thời điểm (thời gian xử lý nhỏ
hơn thời gian hợp lệ còn lại tương ứng với 1 chu kỳ và 2 chu kỳ) Sau đó, trong 2 công việc này
chúng ta sẽ lựa chọn công việc lấp đầy nhiều hơn khoảng thời gian hợp lệ
4.2 Giới thiệu giải thuật di truyền và áp dụng cho bài toán lập lịch
4.2.1 Giới thiệu giải thuật di truyền
Giải thuật di truyền (hay giải thuật tiến hóa nói chung) là một trong những phát triển quan trọng củanhững nhà nghiên cứu về tính toán ứng dụng cuối thé kỷ trước trong việc giải xấp xỉ các bài toán tối ưutoàn cục Việc khai thác nguyên lí tiến hóa như là một định hướng heuristics đã giúp cho giải thuật ditruyền giải quyết hiệu quả các bài toán tối ưu (với các lời giải chấp nhận được) mà không cần sử dụng cácđiều kiện truyền thống (liên tục hay khả vi) như là điều kiện tiên quyết
Một trong những đặc tính quan trọng của giải thuật di truyền là làm việc theo quần thể các giải pháp.Việc tìm kiếm bây giờ được thực hiện song song song trên nhiều điểm (multipoints)
Tuy nhiên, đây không phải là là thuật toán tìm kiếm đa điểm đơn thuần vì các điểm có tương tác vớinhau theo nguyên lí tiến hóa tự nhiên Trong ngữ cảnh sử dụng giải thuật di truyền, người ta có thể dùngkhái niệm "cá thể" tương đương với khái niệm "giải pháp" Các bước cơ bản của giải thuật di truyền được
mô tả như sau:
e Bước 1: t — 0; Khởi tao P(t) = {xq,xa, ,xw }, với N là tổng số lượng cá thể
e Bưóc 2: Tinh giá trị các hàm mục tiêu cho P(r).
e Bước 3: Tạo bể lai ghép MP = se{P(t)} với se là toán tử lựa chọn.Bước 4: Xác định P’(t) = cr{MP}, với cr là toán tử lai ghép
Bước 5: Xác định P”(t) = mu{P’(t)}, với mu là toán tử đột biến
Trang 22CHƯƠNG 4 GIẢI THUẬT LẬP LỊCH 14
e Bước 6: Tính giá trị các hàm mục tiêu cho P”(7).e Bước 7: Xác định P( + 1) = P°() và đặt: —r+ 1.
e Bước 8: Quay lại Bước 3, nếu điều kiện dừng chưa thỏa mãn
- Biểu diễn giải pháp: Đây là một trong những công việc quan trọng trong thiết kế giải thuật di truyền,
quyết định việc áp dụng các toán tử tiến hóa Một trong những biểu diễn truyền thống của GA là biểu
diễn nhị phân Với phép biểu điễn này, giải pháp cho một bài toán được biểu điễn như là một vector bit,
còn gọi là nhiễm sắc thể Mỗi nhiễm sắc thể bao gồm nhiều gen, trong đó một gen đại diện cho một thamsố thành phần của giải pháp Một kiểu biểu diễn khác cũng thường dùng là biểu diễn số thực Với phépbiểu diễn này, các toán tử tiền hóa sẽ thực hiện trực tiếp trên các giá trị số thực (genes)
- Lựa chọn: Việc lựa chọn các cá thể được thực hiện khi cần một số cá thể để thực hiện sinh sản rathế hệ sau Mỗi cá thể có một giá trị thích nghi (fitness) Giá trị này được dùng để quyết định xem lựachọn cá thể nào Một số phương pháp lựa chọn thường dùng bao gồm:
+ Roulette wheel: Dựa trên xác suất (ty lệ thuận với giá trị hàm thích nghi) để lựa chọn cá thể.+ Giao đầu (nhị phân): Chỉ định ngẫu nhiên 2 cá thể, sau đó chọn cá thể tốt hơn trong hai cá thể đó.- Lai ghép: Toán tử lai ghép được áp dụng nhằm sinh ra các cá thể con mới từ các cá thể cha mẹ,thừa hưởng các đặc tính tốt từ cha mẹ Trong ngữ cảnh tìm kiếm thì toán tử lai ghép thực hiện tìm kiếm
xung quanh khu vực của các giải pháp biểu diển bởi các cá thể cha mẹ
- Đột biến: Tương tự như lai ghép, đột biến cũng là toán tử mô phỏng hiện tượng đột biến trong sinh học.
Kết quả của đột biến thường sinh ra các cá thể mới khác biệt so với cá thể cha mẹ Trong ngữ cảnh tìmkiếm, toán tử đột biến nhằm đưa quá trình tìm kiếm ra khỏi khu vực cục bộ địa phương
4.2.2 Áp dụng giải thuật di truyền cho bài toán lập lich
Trong phần này chúng ta sẽ mô tả thiết kế giải thuật di truyền để giải quyết bài toán lập lịch các công
việc có chu kỳ và không có chu kỳ cho máy đơn Ở trong một chừng mực nào đó, các giải pháp tạo ra
bằng các giải thuật lập lịch có sử dụng heuristic đã đáp ứng được yêu cầu của bài toán, tạo ra được lịchbiểu tốt trong thời gian cho phép, độ phức tạp bài toán là cho phép Tuy nhiên, chúng ta có thể cân bằngthêm nữa giữa yếu tô thời gian va chất lượng của lời giải cho bài toán Người dùng có thể chấp nhận tốnmột khoảng thời gian cho phép nữa để có được lời giải tốt hơn Vì vậy, giải thuật di truyền được áp dụngtiếp theo để có thé tim ra lời giải tốt hơn
Trong giải thuật di truyền, sau khi tạo ra quan thé, quan thể sẽ được tiến hóa qua nhiều thế hệ Quamỗi thé hệ, cá thể tốt nhất được lưu giữ cho quan thể tiếp theo Sau khi tiến hóa xong, cá thể tốt nhất trongquan thể cuối cùng sẽ là phương án xếp lịch của bài toán Thiết kế của giải thuật tập trung vào các van dé
Trang 23CHƯƠNG 4 GIẢI THUẬT LẬP LỊCH 15
4.3 Áp dụng giải thuật di truyền kết hợp LPT heuristic
Phần này chúng ta sẽ áp dụng giải thuật di truyền kết hợp với các LPT heuristtic để tìm ra những lịchbiểu có thời gian hoàn thành tốt hơn Các bước thiết kế của giải thuật di truyền nêu ở trên sẽ được áp dụnglần lượt
4.3.1 Biểu diễn quan thé
Biểu diễn là một van dé quan trọng đối với việc giải các bài toán lập lịch Đối với bài toán này, chúngta có thể sử dụng cách biểu diễn nguyên Một giải pháp (lịch biểu hay biểu diễn của một cá thể trong quầnthể) hoàn chỉnh bao gồm 2 thông tin sau: thứ tự các công việc không chu kỳ và thông tin thời gian hoànthành (makespan) của giải pháp Ví dụ, đối với 3 giải pháp tạo ra bởi dùng heuristic cho giải thuật LPT
có thể được biểu diễn như sau:e Giải pháp LPT_HEU]T:
Thứ tự công việc: J1JJs/JsJsJaJo.J2J2J2J1oMakespan: 123
e Giải pháp LPT_HEU?2:Thứ tự công việc: J1J3J›JoJsJ4Js.J2.Jo'6Makespan: 124
e Giải pháp LPT_HEU3:Thứ tự công việc: J1J3J2.JsJ1o.J4JsJsJ2JoMakespan: 122
4.3.2 Khởi tạo quan thể
Việc khởi tạo quần thể sẽ bao gồm việc khởi tạo các cá thể ban đầu cho quân thể Số lượng các cá thểcủa quần thể sẽ được cho theo đầu vào của người dùng Đặc biệt, trong các thể ban đầu chúng ta sẽ thêm
vào 3 cá thể đặc biệt được tạo ra bởi sử dụng 3 heuristic cho giải thuật LPT ở trên Sau đó chúng ta sẽ tạo
ra ngẫu nhiên những cá thể còn lại của quần thể Trong quá trình tiến hóa của quần thể, chúng ta sẽ làmcho quan thể tốt hơn qua các thế hệ bang cách thay thế những cá thể xấu nhất của quan thể bằng các cáthể con tốt hơn Vì vậy việc thêm vào quần thể ban đầu 3 cá thể đặc biệt tạo ra bởi 3 heuristic cho giảithuật LPT sẽ cho chúng ta các cá thể được đánh giá là tốt trong quần thể
4.3.3 Đánh gia cá thể
Để đánh giá cá thể trong quần thể chúng ta căn cứ vào makespan của mỗi giải pháp (cá thể) Cá thểtốt hơn sẽ có makespan nhỏ hơn Sau quá trình tiễn hóa, chọn cá thể tốt nhất làm phương án cho bài toán
4.3.4 Các toán tử tiễn hóa
e Toán tử chọn lọc: Dùng để chọn ra những cá thể để lai ghép chúng với nhau sinh ra thé hệ con tiếptheo Theo cách này chúng ta sẽ chọn ngẫu nhiên 2 cá thể trong quan thé để tham gia lai ghép.e Toán tử lai ghép: Có vai trò sông còn trong xác định hành vi của các giải thuật tiến hóa Thông
thường, hai cá thể được lựa chọn và các đặc tính của chúng được kết hợp để sinh ra hai cá thể con(offspring) Trong thiết kế này, chúng tôi sử dụng kỹ thuật lai hai điểm cat (two-point crossover)