Chương 1 Chương này trình bày lý do chọn đề tài về lập lịch cho cửa hàng thức ăn nhanh, mục đích, đối tượng, phạm vi và phương pháp nghiên cứu. e Chương 2 Chương này trình bày cơ sở lý thuyết để hình thành nên cách tiếp cận và giải quyết bài toán. Chương này trình bày khái niệm về lập lịch và một số kiến thức liên quan đến lý thuyết lập lịch. e Chương 3 Chương này trình bày các công trình nghiên cứu khoa học có ý nghĩa đối với bài toán của luận văn.
Từ đó hình thành ý tưởng cũng như phương hướng để giải quyết bài toán nghiên cứu. e Chương 4 Chương này trình bày chi tiết đặc tả bài toán lập lich cu thể mà luận văn nghiên cứu và xây dựng mô hình toán học cho bài toán. e Chương 5 Chương này trình bày cơ sở đề xuất giải thuật cho bài toán nghiên cứu đồng thời mô tả chỉ tiết giải thuật đề nghị. e Chương 6 Chương này trình bày các kết quả đạt được từ thực nghiệm, đồng thời so sánh, đựa ra nhận xét kết quả giữa thực thi bằng solver và giải thuật được đề xuất.
e Chương 7 Chương này tổng kết lại những việc đã làm được, những đóng góp của đề tài, sau đó nêu ra những hướng phát triển cho bài toán. 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 tổng quan về lập lịch; một số khái niệm liên quan đến máy, công việc, muc tiêu tối ưu. Dây là những kiến thức cơ bản, hỗ trợ cho quá trình tiếp cận và giải quyết bài toán mà luận văn đang nghiên cứu.1 Tổng quan Lập lịch có thể được hiểu là quá trình tìm kiếm các giải pháp cho một bài toán dựa vào các ràng buộc có sẵn sao cho có thể tối ưu hóa mục tiêu đề ra. Mặc dù kỹ thuật lập lịch đã được nghiên cứu và đưa vào áp dụng trong thực tế từ rất lâu nhưng cho đến hôm nay nó vẫn còn là đề tài hấp dẫn nhiều người nghiên cứu.
Lập lịch được ứng dụng trong mọi mặt của đời sống xã hội, từ những việc nhỏ đến việc lớn, từ đơn giản đến phức tạp. Ngày nay các bài toán về tối ưu hóa được ứng dụng vào thực tiễn thường liên quan đến việc lập lịch trong công nghiệp như lập lịch trình san xuất, phân bo nhân cong,. hoặc trong lĩnh vực y tế, giáo dục, giao thông, hang không,. đã có những hiệu quả đáng kể.
Trong tương lai với sự phát triển không ngừng của máy tính và công nghệ, kỹ thuật lập lịch sẽ còn mang lại nhiều ứng dụng rộng rãi hơn và giải quyết được những bài toán có quy mô hơn và phức tạp hơn.2 Bai toán lập lịch 2.1 M6 tả 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; (2 = l,. Lập lịch là việc cấp phát một hay nhiều khoảng thời gian cho mỗi công việc trên một hoặc nhiều máy nhằm thỏa mãn một số ràng buộc và mục tiêu nào đó. 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 | tk Sh J; (a) = Mh Js Js J; J3 Ma Ji Mì Mz Hình 2.1: Giản đồ Gantt dưới góc độ máy và công việc [1] 2.2 Một so khái niệm liên quan đên công việc Một công việc J; gồm có n; tac vụ Ởại,. Tương ứng với mỗi tác vụ O,; có một thời gian xử lý cần thiết là p;;. Nếu n; = 1, công việc J; chỉ có một tác vụ duy nhất. Ta đồng nhất O;; với J; và p;; với p;.
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. Ham chi phí f;(t): Hàm số do mức chi phí của việc hoàn thành công việc J; tại thời điểm t. Thời gian hoàn thành dự kiến (due date) d;: là thời điểm mà công việc tương ứng J; được mong đợi hoàn thành. 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.
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. Thông thường thì các dữ liệu p;, pij, r;, d;, d; được giả định là số nguyên. CƠ SỞ LÝ THUYET VỀ BÀI TOÁN LẬP LICH 2.
Một số khái niệm liên quan đến kết quả lập lịch e Một lập lịch khả 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 Một 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.4 Phân loại bài toán lập lịch Tương ứng với mỗi tac vụ O;; có một tập các máy /; C {1h,., Mn} có khả năng xử lý được tác vụ đó. Ta có thể phân loại bài toán lập lịch thành các dạng cơ bản sau: e 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ư tat cả /¿; đều là các tập hợp tất cả các máy {Mj,., M„}, 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. Diéu này có nghĩa là một tác vụ chỉ có thể được thực hiện đượ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ụ O;; trong thực tế cũng có thể sử dung 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ử lý (multiprocessor task scheduling problems). Dac ta cũng như phan loại một bài toán lập lich, ta sử dụng ký hiệu gồm 3 trường [B]: 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. CƠ SỞ LÝ THUYET VỀ BÀI TOÁN LẬP LICH 2.3 Dac điêm công việc Các đặc điểm của công việc được đặc trưng bởi một tập 8 bao gồm 6 phan tử đụ, Bo, Øa, Ba, Bs va Be.
Ø¡ chi 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 đ. 6 miêu tả mối quan hệ trước sau giữa các công việc. Các mối quan hệ này có thể được biểu diễn bằng một đồ thị có hướng không tuần hoàn G = (V,44). Trong đó, tập đỉnh V = {1,.,n} tương ứng với các công việc và (7,k) € A nếu công việc J; phải được kết thúc trước khi công việc J, bắt đầu.
Trong trường hợp này ta ký hiệu J; > J,. Nếu G là một đồ thị có hướng không tuần hoàn tùy ý, chúng ta ký hiệu 6 = prec. Nếu 63 = r;, mỗi công việc có thể sẽ được gán thêm một release date r;. Nếu r; = 0 đối với tất cả các công việc thi 83 sẽ không xuất hiện trong tập đổ.
6, định nghĩa các ràng buộc về thời gian xử lý hoặc về số lượng các tác vụ. Nếu là pi = 1(pi; = 1) có nghĩa là mỗi công việc hay tác vụ yêu cầu thời gian xử lý là một đơn vị thời gian. Tương tự, chúng ta có thể viết là p; = p(p;; = p). Thông thường trường 6, còn chứa thêm một số đặc tính phụ dễ hiểu như là p; € {1,2} hay d; = d.
Nếu Ø; = d;, thì mỗi công việc J; có thể có một deadline đ; tương ứng, nghĩa là công việc J; phải được hoàn thành không trễ hơn thời gian d;. Trong một vài ứng dụng lập lịch, các tập các công việc cần được nhóm vào trong các batch. Một batch là một tập các công việc cần được xử lý cùng với nhau trên cùng một máy. Thời gian hoàn thành một batch là thời gian cần thiết để hoàn thành tất cả các công việc trong batch đó.
Một batch có thể chỉ có 1 công việc cũng có thể bao gồm một số n công việc. Có 2 dạng bài toán batching ký hiệu lần lượt là p-batching và s-batching. Bs = p— batching hay 8 = s — batching chỉ ra đây là một bài toán batching. Nếu không, Øs sẽ không xuất hiện trong tap đ.4 Mlôi trường may Môi trường máy trong bài toán lập lịch œ được đặc tả bởi một chuỗi 2 thông số: Œ = A192 e Các giá trị có thể có của ay là 0, P,Q, R, PMPM,QMPM,G,X,0O,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 a, = 0, mỗi công việc phải được thực thi trên một may 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 bất ky máy nào trong tập Ä⁄:,.
Nếu ơi = P, ta có các máy đồng nhất song song. Xét thời gian xử lý p;; 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;; = p; cho tất cả các máy. Nếu a, = Q, ta có các máy đồng dạng song song. Xét thời gian xử lý p;; của công việc .J; trên máy M;, ta có pi; = p;/s; với s; tương ứng là tốc độ của máy M;.
Nêu ay = R, ta có các may song song không liên quan. Xét thời gian xử lý p;; của công việc J; trên may M;, ta có pi; = D¡/3s¿; với s;; tương ứng là tốc độ phụ thuộc vào công việc của may M;. Nếu ai = PMPM, ta có các máy đa chức năng đồng nhất. Nêu ay = QM PM, ta có các máy đa chức năng đồng dạng.