NHIÊỆM VU VÀ NỘI DUNG: - Nghiên cứu bài toán lập lịch tối ưu cho phòng thí nghiệm ảo với trường hợp các công việc có thời gian thực thi cô định và các máy ảo có câu hìnhđông nhat.. Luận
Trang 1đàTÔ VŨ SONG PHƯƠNG
LAP LICH TOI UUCHO PHONG THI NGHIEM AO
Chuyén nganh: Khoa Hoc May TinhMa so: 60.48.01
TPHCM, thang 11 nam 2013
Trang 2CÔNG TRÌNH ĐƯỢC HOÀN THÀNH TẠI
TRUONG ĐẠI HỌC BACH KHOA —DHQG -HCM
Cán bộ hướng dẫn khoa học : TS Huynh Tường Nguyên
2 Thư ký: TS Trần Văn Hoài
3 Phản biện 1: TS Nguyễn Văn Minh Mẫn
4 Phản biện 2: TS Tô Bá Lâm
5 Ủy viên: TS Huỳnh Tường Nguyê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 DONG TRUONG KHOA
Trang 3NHIỆM VỤ LUẬN VĂN THẠC SĨHọ tên học viên: Tô Vũ Song Phương MSHV: 11070468
Ngày, tháng, năm sinh: 15/08/1988 Nơi sinh: TP.Hồ Chí MinhChuyên ngành: Khoa Học Máy Tính Mã số: 60.48.01
I TÊN DE TÀI: Lập lịch tối ưu cho phòng thí nghiệm ảoIl NHIÊỆM VU VÀ NỘI DUNG:
- Nghiên cứu bài toán lập lịch tối ưu cho phòng thí nghiệm ảo với trường
hợp các công việc có thời gian thực thi cô định và các máy ảo có câu hìnhđông nhat.
- Đề xuất mô hình toán học cho bai toán.— Câu hình solver dé sử dụng nhát cắt Gomory cho bai toán.- Đánh giá mô hình toán học và phương pháp nhát cắt Gomory dựa trên
các kêt quả thực nghiệm.
IHI.NGÀY GIAO NHIEM VU: 14/01/2013IV.NGÀY HOÀN THÀNH NHIEM VU: 22/11/2013V CAN BO HƯỚNG DAN: TS Huỳnh Tường Nguyên
Trang 4LOI CAM ONTôi xin gửi lời cảm ơn chân thành nhất đến TS Huynh Tường Nguyên, người đã tậntình hướng dẫn, giúp đỡ tôi trong suốt quá trình thực hiện luận văn và tạo điều kiện đểtôi có thé hoàn thành luận văn nay.
Xin cảm ơn các Thay Cô đã dạy tôi trong thời gian qua Tôi xin cảm ơn các bạn đồng
môn, đồng nghiệp đã quan tâm, chia sẻ trong suôt quá trình học va làm luận văn.
Xin cảm ơn gia đình đã dành cho tôi tình thương yêu và sự hỗ trợ tốt nhất.
Trang 5Luận văn này tập trung nghiên cứu bài toán quản lý mạng máy tính ảo với trường hợp
đặc biệt các công việc có thời gian xử lý có định và các máy có cầu hình đồng nhất.Một số đóng góp trong luận văn này:
— Tìm hiểu phương pháp nhát cắt Gomory Cut và việc ứng dụng phương phápđó vào bài toán quản lý mạng máy tính ảo dé tiết kiệm chi phí, giảm bớt số
Trang 6LỜI CAM ĐOAN
Tôi cam đoan răng, ngoại trừ các kêt quả tham khảo từ các công trình khác như đã ghirõ trong luận văn, các công việc trình bày trong luận văn này là do chính tôi thực hiệnvà chưa có phân nội dung nao của luận văn này được nộp dé lây một băng cap ởtrường này hoặc ở trường khác.
Ngày 22 tháng 11 năm 2013
Tô Vũ Song Phương
Trang 7Giới thiệu11 Lý do chọn đề bài và xxx va1.2 Phương pháp nghiên đỨu va
1.4 Cấu trúc của luận vin cv và v v2
Cơ sở lý thuyết về bài toán lập lịch
2.1 Khái nệm lập lịch 2 ee2.2 Bài toán lập lịch Quà va
2.21 Phát biểu bài toán ee
Phương pháp nhát cắt trong bài toán quy hoạch nguyên
4.1 Sự cần thiết của bài toán quy hoạch nguyên 4.2_ Phương pháp nhát cắt giải quyết bài toán quy hoạch nguyên A21 TC? 0® - ddd 4.2.2 Phương pháp Gomory €uE ca4.23 Ví dụ Gomory CUW Qua
Thiết kế và hiện thực chương trình tính toán
5.1 Thiết kế phần mềm tính toán 000.0.00 0000000 eee5.1.1 Mô hình ý nệm Ặ Q Q Q Q ro5.1.2 Giới thiệu về Gurobi Solver cv.5.2 Hiện thực phần mềm tính toán 020002002.2.0000845.2.1 Cấu hình Gurobi Solver có sử dụng nhát cắt 5.3 Kết quả thực nghiệm 2 2 va
C3 b2 —¬ —¬ wmomom H> ff mm
1012131315181819192123
Trang 8MỤC LUC
5.3.1 Dt liệu ngẫu nhiên.5.3.2 Dit liệu thực tế 5.3.3 Kết quả thực nghiệm
6 Kết luận
Tài liệu tham khảo
Phụ lục Soure code biểu diễn mô hình toán học bằng Gurobi Solver
ll
4345
47
Trang 93.14.14.25.15.25.35.45.95.65.75.85.9
5.10
5.115.12
Giản đồ Gantt dưới góc độ máy va công việc 5
Ví dụ cụ thể cho bài toán P2||Cae - - - - - {ST 11Ví dụ cụ thé cho bài toán P\prec;p; = 1[Cjmax - - Ốc ST 12
Ví dụ một cách lập lịch khả di cho bài toán quan tâm 15Giá trị tối ưu LP khi làm tron xa với giá trị tối ưu của IP problem 19Giá trị tối ưu IP problem sau khi dùng nhát cắt 22Mô hinhyniém 0.0 20000 27Mô hình khái quát Gurobi Solver 0.0.0.0.0.0.0.0.0.0 00.2 28So sánh kết quả thực nghiệm giữa Flow Cover va Gomory Cut ở hàm mục tiêu 1 với dit
liệu ngẫu nhin c Q Q Là gà và TT va 32
So sánh kết quả thực nghiệm giữa Flow Cover va Gomory Cut ở hàm mục tiêu 2 với dit
liệu ngẫu nhin c Q Q Là gà và TT va 32
So sánh kết quả thực nghiệm giữa Clique va Gomory Cut ở hàm muc tiêu 1 với dữ liệu
ngẫu nhiên cà cà cà gà g gà TT va 32
So sánh kết quả thực nghiệm giữa Clique va Gomory Cut ở hàm muc tiêu 2 với dữ liệu
ngẫu nhiên cà cà cà gà g gà TT va 33Thời gian thực thi trung bình giữa Flow Cover va Gomory Cut ứng với hàm mục tiéul 33
Thời gian thực thi trung bình giữa Flow Cover và Gomory Cut ứng với hàm mục tiêu2 34Số nhát cắt trung bình giữa Flow Cover va Gomory Cut ứng với hàm mục tiêu Il 34Số nhát cắt trung bình giữa Flow Cover va Gomory Cut ứng với hàm mục tiêu 2 30
Thời gian thực thi trung bình giữa Clique va Gomory Cut ứng với hàm mục tiéul ð5Thời gian thực thi trung bình giữa Clique va Gomory Cut ứng với hàm mục tiêu 2 36
Số nhát cắt trung bình giữa Clique và Gomory Cut ứng với hàm mục tiêu l 36Số phép cắt trung bình giữa Clique và Gomory Cut ứng với hàm mục tiéu2 37
So sánh thời gian chạy trung bình khi dùng Gomory Cut va không ding nhát cắt ứngvới hàm mục tiêU Í 2 2 Q Q LH cv cv cu ca cv cv kg lv cv kg xà 38So sánh thời gian chạy trung bình khi dùng Gomory Cut va không ding nhát cắt ứngvới hàm mục tiêu 2 LH cv cv cv ca cv cv kg lv cv kg xa 38
Kết quả thực nghiệm từ dit liệu thực tế trên ham mục tiêu 1 - Học kỳ 1 năm học 2010-2011 39Kết quả thực nghiệm từ dif liệu thực tế trên hàm mục tiêu 1 - Học kỳ 2 năm học 2010-2011 39Kết quả thực nghiệm từ dit liệu thực tế trên hàm mục tiêu 1 - Học kỳ 1 năm học 2011-2012 40
ill
Trang 10DANH SÁCH HINH VE
5.20
5.215.22
1V
Trang 11Giới thiệu
1.1 Lý do chọn đề tàiTrong những năm gần đây, tiết kiệm năng lượng là một trong những vấn đề quan trọng,đang được quan tâm hàng đầu của tất cả các quốc gia trên thế giới, trong đó có ViệtNam Việc sử dụng hiệu quả các tài nguyên năng lượng đã được đặt ra từ lâu trong nhiềulinh vực Mục tiêu mong muốn là giảm tối đa các hao hut tài nguyên, năng lượng trongthực tế vốn rất hạn ché
Thông thường có hai cách tiết kiệm năng lượng Một cách là thiết kế những kiến trúcphần cứng tiêu thụ năng lượng thấp Cách này tuy hiệu quả nhưng đòi hỏi chi phí cao vàphụ thuộc vào thiết bị phần cứng Một cách khác là dùng phần mềm hứa hẹn và thực tiễn
hơn Cách này hay còn gọi là lập lịch là dùng giải thuật để gán các tài nguyên cho côngviệc với thời gian cụ thể sao cho tối ưu nhất
Ở nước ta hiện nay, kiến thức về lập lịch được trình bày rất ít trong các môn học liên
quan tới ngành toán ứng dụng, khoa học máy tính, quản lý ứng dụng Chỉ có một vài công
trình nghiên cứu liên quan đến lập lịch như lập thời biểu, giao thông Chính vì lý do đó,luận văn sẽ tìm hiểu các kết quả thường được áp dụng trong lý thuyết lập lịch để có thể
giải quyết các bài toán trong cuộc sống và sản xuất
1.2 Phương pháp nghiên cứuVề mặt lý thuyết, các kiến thức cơ bản của lý thuyết lập lịch tối ưu sẽ được tìm hiểu Dựa
vào các kiến thức này, các bài toán lập lịch trên máy song song giống nhau từng bước sẽđược đào sâu, nghiên cứu kỹ.
Dé minh họa rõ hơn cách tiếp cận và giải quyết bài toán, ba bài toán vi dụ sẽ được nghiên
cứu và trình bày chi tiết các bước từ phân tích bài toán, đến việc hình thành các giảithuật.
Về khía cạnh áp dụng các kiến thức của tối ưu, luận văn này sẽ tìm hiểu các yêu cầu củamột bài toán lập lịch cụ thể Từ đó xác định độ khó của bài toán, lập mô hình toán họcvà sau đó đề nghị các giải thuật để giải quyết bài toán Các giải thuật đề nghị cần được
Trang 12CHUONG 1 GIỚI THIEU
hiện thực và tỉnh chỉnh sao cho hiệu quả nhất có thể khi áp dụng vào thực tế
1.3 Bài toán tiêp cận cụ thé
Phần mô tả bài toán tiếp cận:Các trường Dại học hiện nay đã bắt đầu quan tâm đến việc sử dụng hiệu quả tài nguyênhiện có trong trường để đáp ứng nhu cầu dạy học và nghiên cứu của các giảng viên, nhànghiên cứu, sinh viên, trên các phần mềm chuyên dụng trên máy tính
Giải pháp dựa trên công nghệ điện toán đấm mây (Cloud Computing) như khái niệmphòng thí nghiệm tính toán ảo là một bước đi hợp lý cho việc phát triển các hạ tầng giáo
dục Môi trường giáo dục là môi trường đặc biệt đa dạng, năng động và yêu cầu cao Hệ
thống này phải đảm bảo tính phát triển của hệ thống và giảm chi phí nhân lực công nghệthông tin trong việc cài đặt, bảo trì, sửa chữa phần mềm, phần cứng Cu thể hơn, hệ
thống phải cung cấp tài nguyên (máy ảo, phần mềm, ) cho hai yêu cầu: giảng dạy cácmôn học dùng máy tính và chạy các ứng dụng nghiên cứu khoa học và kỹ thuật.
Trên mô hình phòng thí nghiệm ảo, hệ thống sẽ cấp phát cho nhu cầu sử dụng máy tínhdưới dang máy ao (Virtual machine) cho sinh viên và giảng viên (gọi tắt là người dùng).Việc sử dụng máy ảo gán cho người dùng sẽ làm cho mỗi người dùng độc lập hoàn toànvới nhau Vấn đề nảy sinh mới là làm thế nào để quản lý số lượng lớn các máy ảo này trên
hạ tầng máy tính không đồng nhất (nghĩa là có nhiều cụm máy tính thực trong khuônviên trường với cấu hình máy khác nhau) Bên cạnh đó hệ thống còn cần thiết tạo ra các
Cloud gateway để khi cần có thể thuê thêm từ các nhà cung cấp khác như Amazon ElasticComputing Cloud, Amazon Simple Storeage Service, để chạy các máy ảo và lưu trữ di
liệu.Một thách thức đặt ra khi xây dựng phòng thí nghiệm máy tính ảo là phải quản lý tài
nguyên (các máy chủ, băng thông mạng, thiết bị lưu trữ, ) kể cả chi phí hoạt động (baogồm tiền điện trả cho công ty điện lực để vận hành hệ thống máy chủ, máy lạnh, thiếtbị mạng, ) một cách hiệu quả Ba trường hợp sử dụng tài nguyên trong giảng day vànghiên cứu được quan tâm:
e Một giảng viên trong trường đại học yêu cầu 30 máy ảo cho 30 sinh viên thực hànhbài Lab cho môn học Hệ điều hành bắt đầu từ lúc 9h05 đến 11h30, mỗi tuần vàothứ ba kéo dài trong 15 tuần của học kỳ
e Một nghiên cứu viên yêu cầu vài chục nút tính toán cho việc chạy một chương trình
song song trong vài giờ (thời gian hoàn tất càng sớm càng tốt hoặc có thể có hạnchót)
e Một sinh viên yêu cầu một máy ảo để làm bài tập cho môn học, thời gian xếp chỗlinh động trong ngày.
Trang 131.4 Câu trúc cua luận văn
Nội dung luận văn được trình bày bao gồm 6 chương sau:
e 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ìnhtoá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ũngtrì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ậnChương này tổng kết lại những công việc đã làm được, sau đó nêu ra những đónggóp và hướng phát triển của luận văn
Trang 14Chương 2Cơ sở lý thuyết về bài tốn lập lịch
2.1 Khai niệm lập lịchLậ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 ưuhĩ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ườilậ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 tố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 tốn tối ưu hĩa đa phần thường liên quan
đến bài tố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ĩnhvự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àichính, v.v Với sự hỗ trợ của máy tính, các cách giải hay thuật tốn trong lập lịch ngàycà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 đếngiải quyết những bài tốn cĩ tính thách thức cao
2.2 Bai tốn lập lịch
22.1 Phát biểu bài tốn
Giả sử cĩ m may M; (7 = 1, ,m) phải thực hiện n cơng việc J; (¢ = 1, ,m) Mục tiêucủa bài tố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ơitrườ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 hồn thành các cơng việc, cơng việc hồ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 hồn thành dự kiến hộ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.1 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.1(b))
Trang 15e 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, , Oin, Nếu nj = 1, công việc J; chỉ có mộttá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êun; = 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ềucô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
Trang 16CHƯƠ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ậplị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
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||CnaxP2|prec; py = 1|Lmax
Trang 17e 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), , Mn.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ôngviệ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ôngviệ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ủacô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ộcvà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, , Oin, Tất cả các máy đều là chuyên dụng, nghĩalà 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ácmố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ácnhư 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 —> —> Q;„„,0 = Ì, ,mThông thường, chúng ta giả định là ; A /¿;+1 với J = 1, ,n; — 1 Nếu một jobshop có /; = /;+1, ta gọi là job shop có sự lặp lại may (job shop with machinerepetition)
Nếu a, = Ƒ' ta có mô hình flow shop Day là trường hợp đặc biệt của mô hìnhjob shop mà n; = m với i =1, ,n và = {Mj}, Vi = 1, ,n, V7 = 1, ,m
Nếu ai = O, ta có mô hình open shop Mô hình open shop được định nghĩa giốngnhư 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ìnhJob 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 aylà 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ớik 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ượngmáy là tùy ý, ta ký hiệu là ag = o.
Trang 18CHƯƠNG 2 CƠ SỞ LÝ THUYET VỀ BÀI TOÁN LẬP LICH
2.2.3 Đặ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 chophé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ãngvà 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ếukhô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 Các mối quan hệ này có thể đượcbiể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 = {i, ,n} tương ứng với các công việc và (2,k) € A nếu công việc J; phải được kếtthú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 Thinh thôangchúng ta sẽ gặp một số trường hợp xem xét các bài toán lập lịch với các quan hệ thứtự trước sau khắt khe được cho dưới dang chains, intree, outtree hay là một seriesparallel graph Trong những trường hop này, chúng ta ký hiệu 62 bang chains, intree,outtree và sp-graph.
e Nếu 8) = intree (hay outtree), thi G là một cây có gốc với bậc outdegree (indegree)trên mỗi đỉnh ít nhất là 1 Vì vậy, trong một intree (outtree), tất ca các cung hướngvề (hướng ra khỏi) một gốc Nếu Øạ = tree, thì Œ hoặc là intree hoặc là outtree.e Một tap chains là một cây mà có cả outdegree và indegree ở mỗi đỉnh ít nhất là 1
Nếu Ø; = chains thì G là tập của các chains.e Dồ thị series-parallel thì gần giống với cấu trúc cây Một đồ thị được gọi là series-
parallel nếu nó có thể được xây dựng bởi một trong các luật sau đây:
— Base graph Bất kỳ một đồ thị nào bao gồm một đỉnh thi là series-parallel.Cho Gi; = (V;, A;) là series-parallel (i = 1,2)
— Parallel composition Dồ thi G = (Vị U V2, A; U Ag) được tao thành từ G;va Gy bằng cách hợp các tap đỉnh và các tập cung là series-parallel
— Series composition Dồ thị G = (V; UVa, Ay U Ag 71 x 5¿) được tạo thànhtừ Œi và Gy bằng cách hợp các tập đỉnh và các tập cung và cộng thêm tất cảcác cung (t, s) với ‡ thuộc về tập 71 các đỉnh cuối của G, (nghĩa là tập các đỉnhkhông có đỉnh nào theo sau hay các đỉnh có outdegree bằng 0) và s thuộc vềtập 5s các đỉnh nguồn của Gy (nghĩa là tập các đỉnh không có đỉnh nào ở trướcnó hay các đỉnh có indegree bằng 0) là series parallel
Nếu G là serial-parallel, ta ký hiệu 82 = sp-graph Nếu không có các ràng buộc vềmối quan hệ trước sau, thi Øs không xuất hiện trong tập đổ
Trang 19Nế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 fy 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ònchứa thêm một số đặc tính phụ dễ hiểu như là p; € {1,2} hay d; = d
Nếu 8; = d;, thì mỗi công việc J; có thể có một deadline d; tương ứng, nghĩa là công việcJ; 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ácbatch 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áccô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 Cho mỗi batch, có một thời gian set-up s Chúng ta giả sử rằng thời gianset-up này là là như nhau cho tất cả các batch và không phụ thuộc vào thứ tự Một bàitoán batching là việc nhóm các công việc vào trong các batch và tiến hành lập lịch cho cácbatch này Có 2 dạng bài toán batching ký hiệu lần lượt là p-batching và s-batching
e Dối với các bài toán p-batching, chiều dài của batch bằng chiều dài tối đa của thờigian xử lý tat cả các công việc trong batch
e Đối với các bài toán s-batching, chiều dài của batch bằng tổng thời gian xử lý tấtcả các công việc trong batch.
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 đ
2.2.4 Mục tiêu tối ưu
Ta ký hiệu thời gian hoàn thành công việc J; là C;, và hàm chi phí tương ứng là ƒ;(Œ;).Có 2 dạng hàm chi phí tổng cộng chủ yếu:
Bài toán lập lịch là di tìm một lập lịch kha di sao cho cực tiểu hàm chi phí tổng cộng
Nếu các hàm số ƒ; không được miêu tả, ta đặt + = finar hay y = >`ƒ; Tuy nhiên trongđa phần các trường hợp ta xem xét các hàm ƒ; đặc biệt
Hàm makespan
maz{Œ;|¿ = 1, , n}
9
Trang 20CHƯƠNG 2 CƠ SỞ LÝ THUYET VỀ BÀI TOÁN LẬP LICH
Hàm total flow time
Thị :—= C; — d, latenessE; := max{0,d; — C;} earlinessT; := max{0,C;—d;} tardinessD,:= |C; — d;| absolute deviationDị := (C; — d;)’ squared deviationry 0 if C; < di, tt It
ẤT khác unit penalty
Với mỗi hàm G; này, ta có 4 hàm mục tiêu có thé là
+ = max(G;), maz(w;G¡), » Gi, » wiG;Hàm mục tiêu co chai quan trong nhất sau ham „„„ là hàm maximize lateness „„„„ :=
max L; Một số hàm mục tiêu khác pho biến được sử dung như là: 3*7;, S^ø;1;, 52 Ui,
thể kết hợp tuyến tính với nhau để tạo thành một hàm mục tiêu kết hợp Trong thực tế
các hàm đa mục tiêu này cũng được nghiên cứu và xem xét rất nhiều.Một hàm mục tiêu mà có các biến C; không giảm được gọi là regular Các hàm mục tiêuliên quan đến E;, D;, S; đều là các hàm không regular Những hàm mục tiêu còn lai đượcđịnh nghĩa phía trên đều là regular
Một lập lịch được gọi là chủ động (active) nếu nó có thể lập lịch tất cả các công việc(tác vụ) sớm hơn mà không vi phạm các ràng buộc Một lập lịch được gọi là bán chủđộng (semi-active) nếu không có công việc (tác vụ) nào có thể được xử lý sớm hơn màkhông làm thay đổi thứ tự xử lý hay vi phạm các ràng buộc
Dây là bài toán lập lịch công việc với thời gian xử lý như bảng dưới và không có ràng
buộc giữa các công việc (do không có 8) trên 2 máy giống nhau sao cho cực tiểu hàm
makespan.
10
Trang 21Job Ji J» Js Jy Js Jep 31211141213
Hình 2.2 biểu diễn một ví dụ cu thé của bài toán nay và một lap lich kha di
Mo J Js J¢M, Ji J2 Js
Hình 2.2: Ví du cụ thé cho bài toán P2||Œaz
Trang 22CHƯƠNG 2 CƠ SỞ LÝ THUYET VỀ BÀI TOÁN LẬP LICH
Mz | Jo Je
M | Jy | Js | Ja | Js
Hình 2.3: Ví du cụ thé cho bài toán P|prec; p; = 1|imaz
Cmax =4
2.2.6 Một số phương pháp tiếp cận bài toán lập lich
Có một số bài toán có thể dễ dàng giải được trong thời gian đa thức chang hạn như bài
toán 1||Lmazr, F'2||Cmax, nhưng cũng có rất nhiều bài toán thuộc NP-hard Do đó, dựa vàođộ khó của bài toán, ta có một số cách tiếp cận bài toán như sau:
e Phương pháp tính chính xác: quy hoạch nguyên (integer programming) |6], quyhoạch động (dynamic programming) [7], phương phap tính cận và nhánh (branchand bound) [14] [1],
e Các giải thuật gan đúng dựa trên phương pháp tính chính xác: thuật giải gan đúngcho quy hoạch phi tuyến tính (linear programming); xây dựng chuỗi giải thuật ganđúng có đảm bảo chắc chắn được chất lượng của giải pháp tìm thấy (approximationscheme) [3]; thuật giải gan đúng dựa trên cây quyết định (branch and cut, branchand price, search tree based approaches) [1], recovering beam search [6], relaxation,hiệu chỉnh cấu hình cua solver giải hiệu quả các bài toán quy hoạch tuyến tinh.e Các thuật toán heuristic: thuật giải di truyền (genetic algorithm) [12], tìm kiếm lân
cận (tabu search) [15], meta-heuristic [16], thuật giải lai (hybird algorithm) [6]
12
Trang 23Đặc ta và mo hình hóa bài toán
3.1 Dac ta bài toán
Trong phan nay, chúng ta xét một bài toán lập lich cu thể uới thong tin được biết trướcvé các công uiệc can lập lịch va các máu có thể thục hiện những công viéc nay Ngũ cảnh
thực tế như sau:
Các nhu cầu công viéc được gan ở thời điểm cô định như thời gian bắt đầu (start time),
thời gian thực hiện (duration) Mỗi công viéc yéu cầu sô lượng may ảo (virtual machine)
có cấu hành dong nhất (các may áo thuộc một số kiểu cấu hình có giới hạn (virtual machinetypes) Mỗi may vat ly có thể thực thi một hoặc nhiều máu ao
Mục tiêu được đặt ra là tim phép gan các công Uuiệc vao may vat ly thực thi sao cho tổngsố may vat ly thực thi trên đơn vi thời gian là ít nhất Dong thời phải giảm thiểu chi phí
khi lập lịch các công viéc trên các may áo trên một đơn vi thời gian.
Đầu tiên, chúng ta cần mô tả lại bài toán này dưới dạng một bài toán lập lịch cổ điển,mà thông thường được biết đến nhiều trong sản xuất, và từ đó chúng ta có thể thừa kế
các kết quả sẵn có Dưới đây sẽ định nghĩa lại bài toán theo cách thức vận hành trên cácmay xử lý song song.
Đặc tả của bài toán gồm có:
Thông tin về máy:
e mỗi máy vật lý có thể thực thi v; máy ảoe mỗi máy ảo chỉ có thể xử lý tối đa một công việc tại một thời điểm
e số lượng máy ảo mỗi công việc yêu cầu không được vượt quá tổng số lượng máy ảomà máy vật lý có thể có
e chi phí khi một máy ảo được sử dụng trong một đơn vi thời gian.e chi phí khi một máy vật lý được bật trong một đơn vi thời gian.Thông tin vé công việc:
13
Trang 24CHƯƠNG 3 ĐẶC TẢ VÀ MÔ HÌNH HÓA BÀI TOÁN
e mỗi công việc có thời gian bắt đầu s; (với i = 1,2, ,n) biết trước và các giá trị nàylà nguyên.
e mỗi công việc yêu cầu số lượng máy ảo R; có cầu hình đồng nhất
e thời gian xử lý mỗi công việc đều có thể dự kiến trước và có giá trị nguyên là p; với
e p; : thời gian thực hiện công việc J;
e s¿ : thời gian bắt đầu của công việc JJ;e ??; : số lượng may ảo ma công việc J; cầnDựa trên các thông tin về công việc và máy, ta định nghĩa thêm một số ký hiệu:
e <(t) : tập các công việc đang được thực thi tại thời điểm £ Với e(t) = {J¿,s; <t < s¡ + p,}
e 7': thời gian thực hiện công việc cuối cùng T = max;eti,„J(3¿ + Ø;)Dau ra:
Tim ra một cách gấn may ao sao cho các công việc có thé thực thi được.Mục tiêu:
e Tổng số máy vật lý thực thi trên đơn vị thời gian là ít nhất
Dây là mục tiêu đơn giản nhất Ta coi chi phí của tất cả các máy vật lý như nhau
và chỉ quan tâm đến việc một máy có hoạt động hay không Tổng số máy trên đơn
vị thời gian là bao nhiêu.
Trang 25Ví dụ 3.1.1 Tim cách lập lich các công viéc trên các may vat ly sao cho tổng số may vat
ly thực thi trên don vi thời gian là ít nhất véi thong tin dau vao được cho ở hai bang sau:
Job] Jy Jp dJs Jy Ss34 |O 1 14 8 4Di 4 4 5 6 4R, | 8 4 7 10 11Machine |, My Mĩ M,
Hình 3.1: Ví dụ một cách lập lịch khả dĩ cho bài toán quan tâm
3.2 Mo hình MILP cho bài toán
Trong phan nay sé mô ta mô hình toán hoc (Mixed Integer Linear Programming model)cho bài toán Việc lập mô hình giúp ta giải quyết bài toán bằng cách sử dung solvers.Đề dễ dàng cho việc lập công thức cho các hàm mục tiêu cũng như các ràng buộc, ta địnhnghĩa một số biến trung gian Việc sử dụng các biến này có một số lợi ích sau:
e Xây dựng các hàm mục tiêu độc lập với các biến quyết định.e Giảm độ phức tạp trong việc tính giá trị của các hàm mục tiêu Qua đó giảm thời
gian tính toán khi thực thi các giải thuật thiết kế cho bài toán.Ta đặt các biến trung gian như sau:
Wn = | 1 Máy M,; được sử dụng tại thời điểm ¢
15
Trang 26CHƯƠNG 3 ĐẶC TẢ VÀ MÔ HÌNH HÓA BÀI TOÁN
Vit = tổng số máy ảo trên máy M; được sử dung tai thời điểm ¢
Ta đặt biến quyết định của mô hình bài toán như sau:
hae 1 Công việc J; được thực thi trên máy ảo k’” trên máy M;7° 10 ngược lại
Vi € [1,n],V7 € [1,m],Vk € [1, Đmax].Khi đó biến y;, được tinh bằng công thức sau:
— Max Lijk
dit i€e(t) KE[1,v,;]
Do ¿¿ là biến nhị phân (chi nhận giá trị 0 hoặc 1) nên ta có thể biến đổi dang thức trênbằng cách sử dụng bất đẳng thức sau để xác định giá trị ¿;; Cách biến đối này rất có íchkhi dùng solver để mô hình hóa ràng buộc đó:
Trong khi đó, biến z;, được tính theo công thức sau:
Trang 27Hàm mục tiêuDựa vào các biến trung gian, biến quyết định và các ràng buộc, ta biéu diễn ham mục tiêubằng công thức sau:
Mục tiêu 1: Tổng số máu vat ly thực thi trên đơn vi thời gian
Trang 28Chương 4
Phương pháp nhát cắt trong bài toán
quy hoạch nguyên
4.1 Sự cần thiết của bài toán quy hoạch nguyên
Giả sử có một bài toán phân công công việc của các nhân viên trong một tổ dự án Lờigiải có nghiệm tối ưu nhất là 7.3 người Tuy nhiên, ta không thể phân công lẻ số ngườitrong một dự án được Ta chỉ có thể phân công 6 hoặc 7 hoặc 8 người Có một sự ràngbuộc mà ta không thể giải quyết bài toán theo phương pháp quy hoạch tuyến tính là làmtròn bất kỳ giá trị nào để nó tiến đến giá trị nguyên Ví dụ sau trình bày lý do tại sao takhông thể làm tròn các biến:
Ví dụ 4.1.1 Xét bà¿ toán sau:Hàm mục tiểu:
Maximize Z = +1 + 529voi các điều kiện rang buộc:#1 + 10+z¿ < 20
<21,0 > 0 va #,#2 là các biến nguyén
18
Trang 29Rounding up
Integer Optimum s+ cee
LP Optimum#1 + 10x = 20
Hình 4.1: Giá trị tối wu LP khi làm tron xa với giá trị tối ưu của IP problemNếu giải bài toán bằng phương pháp quy hoạch tuyến tính, ta sẽ nhận được giá trị tối
ưu Z = 11 với x; = 2,7 = 1.8 Theo khuynh hướng tự nhiên ta sẽ làm tròn x2 để nó tiếnvề giá trị nguyên Trong trường hợp này ta có thể làm tròn z;¿ = 2 Tuy nhiên, khi làm
tròn như vậy, ta thu được nghiệm x2; = 2,+¿ = 2 không thỏa mãn điều kiện ràng buộcđầu tiên Khi đó nếu chúng ta làm tròn x2 theo chiều hướng ngược lại v2 = 1 ta thu được:Z = ï vax, = 2,z¡ = 1 thỏa các điều kiện ràng buộc, nhưng không là nghiệm tối ưu.Nghiệm tối ưu khi z¡ = 0,72 = 2 và hàm mục tiêu Z = 10 Hình 4.1 trình bay ban tómtắt của bài toán
4.2 Phương pháp nhát cắt giải quyết bài toán quy
hoạch nguyên
4.2.1 Đặt van dé
Đầu tiên ta nghĩ ngay một cách đơn giản để giải bài toán này là liệt kê toàn bộ các lời
giải và sau đó là lựa chọn lời giải có nghiệm tối ưu nhất Công việc này chỉ được thực hiệncho những bài toán nhỏ, nhưng điều đó rất nhanh chóng không thực hiện được cho nhữngbài toán có kích thước từ trung bình hoặc lớn.
Ví dụ 4.2.1 Xét liệt kê đầu đủ của một mô hành tổng quá có một biến nguyên x1 va hai
biến nhị phân x2 va x3 uới các ràng buộc:
1l<a,<3
O<a<1O<2a%3 <1Ta có:
3 giá trị có thể thực hiện được cho #
19