Chương 1: Giới thiệu Chương này trình bày lý do chọn đề tài, phương pháp nghiên cứu và bài toán tiếp cận cụ thể. e Chương 2: Cơ sở lý thuyết về bài toán lập lịch Chương này trình bày khái niệm lập lịch, tổng quan về lý thuyết lập lịch e Chương 3: Đặc tả và mô hình hóa bài toán Chương này trình bày chi tiết đặc ta một bài toán lập lịch quan tâm và mô hình toán học của bài toán đó. e Chương 4: Phương pháp nhát cắt trong bài toán quy hoạch nguyên Chương này trình bay lý thuyết, phương pháp cắt Gomory để giải một bài toán quy hoạch nguyên. e Chương 5: Thiết kế và hiện thực chương trình tính toán Chương này trình bày chi tiết cách thiết kế, hiện thực chương trình.
Dong thời cũng trình bày các kết quả thực nghiệm từ dữ liệu ngẫu nhiên và dữ liệu thực tế. e Chương 6: Kết luận Chương này tổng kết lại những công việc đã làm được, sau đó nêu ra những đóng góp và hướng phát triển của luận văn. Chương 2 Cơ sở lý thuyết về bài toán lập lịch 2.1 Khai niệm lập lịch Lập lịch là một quá trình hỗ trợ quyết định cách cấp phát tài nguyên để xử lý một tập các tác vụ hoặc công việc sao cho thỏa mãn một số ràng buộc cho trước, đồng thời tối ưu hóa mục tiêu đề ra. Lập lịch đóng một vai trò quan trọng trong việc giúp đỡ con người lập kế hoạch sử dụng nguồn tài nguyên hợp lý và hiệu quả nhất.
Ngày nay, cùng với sự phát triển của các nước trên giới với sự tiến bộ về khoa học kỹ thuật, các bài toán nghiên cứu về lập lịch ngày càng được mở rộng, sát với thực tế để đáp ứng nhu cầu ngày càng tăng. Mặc dù những bài toán tối ưu hóa đa phần thường liên quan đến bài toán lập lịch trong công nghiệp và dùng để quản lý việc sử dụng các nguồn tài nguyên rất hạn chế nhưng các kết quả đạt được được áp dụng rất nhiều trong nhiều lĩnh vực khác nhau như là giáo dục, giao thông vận tải, hàng không, sinh học, viễn thông, tài chính, v. Với sự hỗ trợ của máy tính, các cách giải hay thuật toán trong lập lịch ngày càng đa dạng, gần gũi với thực tế, và thực sự thu hút các nhà nghiên cứu quan tâm đến giải quyết những bài toán có tính thách thức cao.2 Bai toán lập lịch 22.1 Phát biểu bài toán Giả sử có m may M; (7 = 1,.,m) phải thực hiện n công việc J; (¢ = 1,. Mục tiêu của bài toán là tìm một cách lập lịch thỏa mãn một số ràng buộc và mục tiêu nào đó.
Các ràng buộc có thể là ràng buộc về các thuộc tính của công việc hay là ràng buộc về môi trường làm việc và khả năng của máy. Mục tiêu cần thỏa mãn ví dụ như là cực tiểu thời gian hoàn thành các công việc, công việc hoàn thành không được quá sớm cũng không quá trễ, cực tiểu thời gian trễ so với thời gian hoàn thành dự kiến hoäc là sự kết hợp của nhiều mục tiêu khác nhau. Các lập lịch có thể được biểu diễn bằng giản đồ Gantt như hình 2. Giản đồ Gantt có thể biểu diễn theo cách nhìn ở góc độ từng máy (hình 2.1(a)) hay ở góc độ từng công việc (hình 2.
CƠ SỞ LÝ THUYET VỀ BÀI TOÁN LẬP LICH M| Jñ HH bh hh (a) — M, Js J4 J2 Js Mz n | M Ms; Hình 2.1: Giản đồ Gantt dưới góc độ may va công việc Một số khái niệm liên quan về lập lịch: e Lập lịch kha di (feasible) là cách lập lịch không có 2 khoảng thời gian nào trùng lắp nhau trên cùng một máy, không có 2 khoảng thời gian nào trùng lắp được cấp phát cho cùng 1 công việc nhằm thỏa mãn các vấn đề đặc trưng. e Lập lịch tối ưu (optimal) là một cách lập lịch cực tiểu hoặc cực đại một mục tiêu tối ưu mong muốn. Một số khái niệm liên quan đến công việc: e Mot công việc J; gồm có n; tác vụ Ox,. Nếu nj = 1, công việc J; chỉ có một tác vụ duy nhất.
Dé đơn giản hòa, ta đồng nhất O;; với Jj. e Tương ứng với mỗi tác vụ Ó;; có một thời gian xử lý cần thiết là p;;. Tương tự, nêu n; = 1 ta đồng nhất p;; với p;. e ương ứng với mỗi tac vụ Ó;; có một tập các mấy fi; C {Mh,., M„} mà có khả năng xử lý được tác vụ đó.
— Nếu như tất cả ; đều là các tập hợp chỉ có một phần tử (một máy), ta có trường hợp các máy chuyên dụng (dedicated machine), nghĩa là mỗi tác vụ chỉ có thể được thực hiện trên một máy chuyên dụng đó mà thôi. — Nếu như tất cả /;; đều là các tập hợp tất cả các máy {M,., Mn}, ta có trường hợp các máy song song (parallel), nghĩa là bất kỳ tác vụ nào cũng có thể được thực thi trên bất kỳ máy nào. — Trường hợp tổng quát trong sản xuất, các máy có thể được trang bị với nhiều công cụ khác nhau. Điều này có nghĩa là một tác vụ chỉ có thể được thực hiện CHƯƠNG 2.
CƠ SỞ LÝ THUYET VỀ BÀI TOÁN LẬP LICH được trên may nào mà được trang bi công cụ thích hợp. Ỏ đây, ta gọi là trường hợp các máy đa chức năng (multi-purpose machine - MPM). — Trong toàn bộ chu kỳ xử lý, tác vụ Ó,; trong thực tế cũng có thể sử dụng cùng lúc tất cả các máy trong tập /;. Các bài toán dang này gọi là các bài toán lập lịch tác vụ đa xử ly (multiprocessor task scheduling problems).
e release date r;: đây là thời điểm mà sau đó tác vụ đầu tiên của công việc J; được phép thực thi. e Ham chi phí f;(t): Hàm số đo mức chi phí của việc hoàn thành công việc J; tại thời điểm t. e Thời gian hoàn thành dự kiến (due date) d;: là thời điểm ma công việc tương ứng J; được mong đợi hoàn thành. e Deadline: là thời điểm mà công việc nhất định phải hoàn thành trước nó, không thể thay đổi được.
e Trọng số w;: Là phần đóng góp của một biến số. Ví dụ w;C; nghĩa là C; được xem xét tính toán với trọng số 0. Đặc tả cũng như phân loại một bài toán lập lịch, ta sử dụng ký hiệu gồm 3 trường: al Bly VớI: e a: đặc tả môi trường may e 6 : đặc tả các đặc trưng của công việc. e +: đặc tả mục tiêu tối ưu.
Ví dụ một số bài toán lập lịch: F2||Cnax P2|prec; py = 1|Lmax 1|tree| » wy; 2.2 Mlôi trường may Môi trường máy trong bai toán lập lich a được đặc tả bởi một chuỗi 2 thông số: Q = a1 e Các giá trị có thé có của ơi là 0, P,Q, R, PMPM,QMPM,G,X,O, J, F. e Ký hiệu o có ý nghĩa là rỗng. CƠ SỞ LÝ THUYET VỀ BÀI TOÁN LẬP LICH e Nếu ai € {0, P,Q, R, PMPM,QMPM} , mỗi công việc J; chỉ bao gồm một tác vụ duy nhất. Nếu ơi = 0, mỗi công việc phải được thực thi trên một máy chuyên dụng cho nó.
Nếu a; € {P,Q, R} , chúng ta có các máy song song, nghĩa là mỗi công việc có thể được xử lý trên bat kỳ máy nào trong tập M),. Nếu ai = P, ta có các máy đồng nhất song song. Xét thời gian xử lý ø;; của công việc J; trên máy M;, vì các máy là đồng nhất song song ta có ø;; = p; cho tat cả các may. Nếu a; = Q, ta có các máy đồng dang song song.
Xét thời gian xử lý p;; của công việc J; trên máy M,, ta có p;; = p;/s; với s; tương ứng là tốc độ của máy M,. Nếu a, = R, ta có các máy song song không liên quan. Xét thời gian xử lý p;; của công việc J; trên máy M,, ta có pi; = 7Ø;/s¡; với s¿; tương ứng là tốc độ phụ thuộc vào công việc của máy M;. Nếu ơi = PMPM, ta có các máy đa chức năng đồng nhất.
Nếu ai = QM PM, ta có các máy đa chức năng đồng dạng. e Nếu a, € {G,X,O, J, F} , chúng ta có mô hình lập lich đa tác vụ, ứng với mỗi công việc J; là một tập các tác vụ Ởặy,. Tất cả các máy đều là chuyên dụng, nghĩa là tất cả „; đều là các tập có 1 phần tử. Hơn nữa, giữa các tác vụ tồn tại một các mối quan hệ thứ tự trước sau.
Nếu ơi = G, ta có mô hình chung và được gọi là general shop. Các bài toán khác như là job shops, flow shops, open shops, mixed shops là những trường hợp đặc biệt của mô hình chung general shop. Nếu a, = J, ta có mô hình job shop. Trong mô hình các tác vụ có mối quan hệ trước sau: Oj —> On —> O13 —>.,m Thông thường, chúng ta giả định là ; A /¿;+1 với J = 1,.
Nếu một job shop có /; = /;+1, ta gọi là job shop có sự lặp lại may (job shop with machine repetition). Nếu a, = Ƒ' ta có mô hình flow shop. Day là trường hợp đặc biệt của mô hình job shop mà n; = m với i =1,.,n và = {Mj}, Vi = 1,. Nếu ai = O, ta có mô hình open shop.
Mô hình open shop được định nghĩa giống như mô hình flow shop nhưng không có mối quan hệ trước sau giữa các tác vụ. Nếu ai = X, ta có mô hình mixed shop. Dây là mô hình kết hợp giữa 2 mô hình Job shop và open shop. e Thông số ag biểu diễn số lượng máy được xem xét trong bài toán lập lịch.
Nếu ay là một số nguyên dương 1, 2., thì a ký hiệu cho số lượng máy. Nếu ag = k, với k là một số tùy ý, có nghĩa là số lượng máy là một số cố định tùy ý. Nếu số lượng máy là tùy ý, ta ký hiệu là ag = o. CƠ SỞ LÝ THUYET VỀ BÀI TOÁN LẬP LICH 2.
Đặc điểm công việc Cac đặc điểm của công việc được đặc trưng bởi một tập Ø bao gồm 6 phần tử đi, Bo, Bs, Đa, Bs va Be. Ø¡ chỉ ra liệu có cho phép công việc được chia nhỏ hay không (preemption). Việc cho phép chia nhỏ công việc nghĩa là một công việc đang xử lý có thể bị tạm thời ngắt quãng và sẽ được tiếp tục sau đó, thậm chí là trên một máy khác. Một công việc có thể bị ngắt quãng nhiều lần.
Nếu công việc được phép chia nhỏ, ta ký hiệu đị = pmtn. Ngược lại, nếu không được phép thì đị không xuất hiện trong tập đ. 65 miêu tả mối quan hệ trước sau giữa các công việc.