Tải bản đầy đủ (.pdf) (59 trang)

Lập lịch tối ưu cho phòng thí nghiệm ảo

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.07 MB, 59 trang )

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC BÁCH KHOA

TƠ VŨ SONG PHƯƠNG

LẬP LỊCH TỐI ƯU
CHO PHỊNG THÍ NGHIỆM ẢO

Chun ngành: Khoa Học Máy Tính
Mã số: 60.48.01

LUẬN VĂN THẠC SĨ

TPHCM, tháng 11 năm 2013


CƠNG TRÌNH ĐƯỢC HỒN THÀNH TẠI
TRƯỜNG ĐẠI HỌC BÁCH KHOA –ĐHQG -HCM

Cán bộ hướng dẫn khoa học : TS. Huỳnh Tường Nguyên
(Ghi rõ họ, tên, học hàm, học vị và chữ ký)

Cán bộ chấm nhận xét 1 : TS. Nguyễn Văn Minh Mẫn
(Ghi rõ họ, tên, học hàm, học vị và chữ ký)

Cán bộ chấm nhận xét 2 : TS. Tô Bá Lâm
(Ghi rõ họ, tên, học hàm, học vị và chữ ký)

Luận văn thạc sĩ được bảo vệ tại Trường Đại học Bách Khoa, ĐHQG Tp. 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:
(Ghi rõ họ, tên, học hàm, học vị của Hội đồng chấm bảo vệ luận văn thạc sĩ)
1. Chủ tịch: TS. Nguyễn Đức Thái
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ên
Xá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 …………


ĐẠI HỌC QUỐC GIA TP.HCM

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM

TRƯỜNG ĐẠI HỌC BÁCH KHOA
--------------------------------------

Độc lập - Tự do - Hạnh phúc
------------------------------------------

NHIỆ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í Minh

Chuyên ngành: Khoa Học Máy Tính

Mã số: 60.48.01

I. TÊN ĐỀ TÀI: Lập lịch tối ưu cho phòng thí nghiệm ảo
II. NHIỆM VỤ VÀ NỘI DUNG:
­ Nghiên cứu bài tố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 nhất.
­ Đề xuất mơ hình tốn học cho bài tốn.
­ Cấu hình solver để sử dụng nhát cắt Gomory cho bài tốn.
­ Đánh giá mơ hình tố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.
III.NGÀY GIAO NHIỆM VỤ: 14/01/2013
IV. NGÀY HOÀN THÀNH NHIỆM VỤ: 22/11/2013
V. CÁN BỘ HƯỚNG DẪN: TS. Huỳnh Tường Nguyên
Tp. HCM, ngày . . . . tháng .. . . năm 20....
CÁN BỘ HƯỚNG DẪN
(Họ tên và chữ ký)

TS. Huỳnh Tường Nguyên

TRƯỞNG KHOA
(Họ tên và chữ ký)


LỜI CẢM ƠN

Tôi xin gửi lời cảm ơn chân thành nhất đến TS. Huỳnh Tường Nguyên, người đã tận
tình hướng dẫn, giúp đỡ tơi trong suốt q trình thực hiện luận văn và tạo điều kiện để
tơi có thể hồn thành luận văn này.
Xin cảm ơn các Thầy 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 và làm luận văn.
Xin cảm ơn gia đình đã dành cho tơi tình thương u và sự hỗ trợ tốt nhất.


TÓM TẮT LUẬN VĂN
Luận văn này tập trung nghiên cứu bài tố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 tốn quản lý mạng máy tính ảo để tiết kiệm chi phí, giảm bớt số
máy tính thực thi.
– Cấu hình lại Solver để chạy được phướng pháp cắt Gomory Cut.
– Thực hiện các kết quả thực nghiệm để so sánh độ hiệu quả của các phương
pháp khi chạy Gurobi Solver sử dụng các nhát cắt như Gomory Cut, Flow
Cover, Clique và khi không dùng nhát cắt.

THESIS SUMMARY
This thesis focuses on the Virtual LAB management problem in the special case of the
jobs with fixed processing time and identical virtual machines.
Some contributions include:
– Get a deeper knowledge about Gomory Cut technique and apply it into virtual
network management problem. From this research, we can find a good way to
reduce the number of working machines as well as reduce cost.
– Setting solver for running Gomory Cut.
– Setting many different practical experiments to compare the effectiveness of
cutting planes such as: Gomory Cut, Flow Cover, Clique and without Cuts.



LỜ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ư đã ghi
rõ 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ệ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 22 tháng 11 năm 2013

Tô Vũ Song Phương


Mục lục
1 Giới thiệu
1.1 Lý do chọn đề tài . . . .
1.2 Phương pháp nghiên cứu
1.3 Bài toán tiếp cận cụ thể
1.4 Cấu trúc của luận văn .

.
.
.
.

.
.
.
.


.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.


.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.


.
.
.
.

.
.
.
.

2 Cơ sở lý thuyết về bài toán lập lịch
2.1 Khái niệm lập lịch . . . . . . . . . . . . . . . . . . .
2.2 Bài toán lập lịch . . . . . . . . . . . . . . . . . . . .
2.2.1 Phát biểu bài toán . . . . . . . . . . . . . . .
2.2.2 Môi trường máy . . . . . . . . . . . . . . . . .
2.2.3 Đặc điểm công việc . . . . . . . . . . . . . . .
2.2.4 Mục tiêu tối ưu . . . . . . . . . . . . . . . . .
2.2.5 Ví dụ . . . . . . . . . . . . . . . . . . . . . .
2.2.6 Một số phương pháp tiếp cận bài toán lập lịch

.
.
.
.

.
.
.
.
.

.
.
.

.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.

.

.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.


.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.

.
.

.
.

.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.


.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.

1

1
1
2
3

.
.
.
.
.
.
.
.

4
4
4
4
6
8
9
10
12

3 Đặc tả và mơ hình hóa bài tốn
13
3.1 Đặc tả bài tốn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.2 Mơ hình MILP cho bài tốn . . . . . . . . . . . . . . . . . . . . . . . . . . 15
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 . . . . . . . . .

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 vấn đề . . . . . . . . . . . . . . . . . . . . . . .
4.2.2 Phương pháp Gomory cut . . . . . . . . . . . . . . .
4.2.3 Ví dụ Gomory Cut . . . . . . . . . . . . . . . . . . .
5 Thiết kế và hiện thực chương trình tính tốn
5.1 Thiết kế phần mềm tính tốn . . . . . . . . . . . .
5.1.1 Mơ hình ý niệm . . . . . . . . . . . . . . . .
5.1.2 Giới thiệu về Gurobi Solver . . . . . . . . .
5.2 Hiện thực phần mềm tính toán . . . . . . . . . . .
5.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 . . . . . . . . . . . . . . . . .
i

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.

.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.


.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.

.
.
.

.
.

.
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.

.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.

18
18
19
19
21

23

.
.
.
.
.
.

27
27
27
28
29
29
29


MỤC LỤC

5.3.1
5.3.2
5.3.3

Dữ liệu ngẫu nhiên . . . . . . . . . . . . . . . . . . . . . . . . . . .
Dữ liệu thực tế . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Kết quả thực nghiệm . . . . . . . . . . . . . . . . . . . . . . . . . .

6 Kết luận


30
30
31
43

Tài liệu tham khảo

45

Phụ lục. Soure code biểu diễn mơ hình tốn học bằng Gurobi Solver

47

ii


Danh sách hình vẽ
2.1
2.2
2.3

Giản đồ Gantt dưới góc độ máy và công việc . . . . . . . . . . . . . . . . .
Ví dụ cụ thể cho bài toán P 2||Cmax . . . . . . . . . . . . . . . . . . . . . .
Ví dụ cụ thể cho bài toán P |prec; pi = 1|Cmax . . . . . . . . . . . . . . . .

5
11
12

3.1


Ví dụ một cách lập lịch khả dĩ cho bài toán quan tâm . . . . . . . . . . . .

15

4.1
4.2

Giá trị tối ưu LP khi làm tròn xa với giá trị tối ưu của IP problem . . . .
Giá trị tối ưu IP problem sau khi dùng nhát cắt . . . . . . . . . . . . . . .

19
22

5.1
5.2
5.3

Mơ hình ý niệm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Mơ hình khái qt Gurobi Solver . . . . . . . . . . . . . . . . . . . . . . .

27
28

So sánh kết quả thực nghiệm giữa Flow Cover và Gomory Cut ở hàm mục tiêu 1 với dữ
liệu ngẫu nhiên

5.4

32


. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

32

So sánh kết quả thực nghiệm giữa Clique và Gomory Cut ở hàm mục tiêu 2 với dữ liệu
ngẫu nhiên

5.7
5.8
5.9
5.10
5.11
5.12
5.13
5.14
5.15

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

So sánh kết quả thực nghiệm giữa Clique và Gomory Cut ở hàm mục tiêu 1 với dữ liệu
ngẫu nhiên

5.6

32

So sánh kết quả thực nghiệm giữa Flow Cover và Gomory Cut ở hàm mục tiêu 2 với dữ
liệu ngẫu nhiên


5.5

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

.
.
.
.
.
.

33
33
34
34
35
35
36
36
37

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

38

Thời gian thực thi trung bình giữa Flow Cover và Gomory Cut ứng với hàm mục tiêu 1
Thời gian thực thi trung bình giữa Flow Cover và Gomory Cut ứng với hàm mục tiêu 2


.
Số nhát cắt trung bình giữa Flow Cover và Gomory Cut ứng với hàm mục tiêu 2 .
Thời gian thực thi trung bình giữa Clique và Gomory Cut ứng với hàm mục tiêu 1 .
Thời gian thực thi trung bình giữa Clique và Gomory Cut ứng với hàm mục tiêu 2 .
Số nhát cắt trung bình giữa Clique và Gomory Cut ứng với hàm mục tiêu 1 . . . .
Số phép cắt trung bình giữa Clique và Gomory Cut ứng với hàm mục tiêu 2 . . . .

Số nhát cắt trung bình giữa Flow Cover và Gomory Cut ứng với hàm mục tiêu 1

.
.
.
.
.
.

So sánh thời gian chạy trung bình khi dùng Gomory Cut và khơng dùng nhát cắt ứng
với hàm mục tiêu 1

5.16 So sánh thời gian chạy trung bình khi dùng Gomory Cut và khơng dùng nhát cắt ứng
với hàm mục tiêu 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.17 Kết quả thực nghiệm từ dữ liệu thực tế trên hàm mục tiêu 1 - Học kỳ 1 năm học 2010-2011
5.18 Kết quả thực nghiệm từ dữ liệu thực tế trên hàm mục tiêu 1 - Học kỳ 2 năm học 2010-2011
5.19 Kết quả thực nghiệm từ dữ liệu thực tế trên hàm mục tiêu 1 - Học kỳ 1 năm học 2011-2012

iii

38
39
39

40


DANH SÁCH HÌNH VẼ

5.20
5.21
5.22
5.23
5.24
5.25

Kết quả thực nghiệm từ dữ liệu thực tế trên hàm mục tiêu 1 - Học kỳ 2 năm học 2011-2012
Kết quả thực nghiệm từ dữ liệu thực tế trên hàm mục tiêu 2 - Học kỳ 1 năm học 2010-2011
Kết quả thực nghiệm từ dữ liệu thực tế trên hàm mục tiêu 2 - Học kỳ 2 năm học 2010-2011
Kết quả thực nghiệm từ dữ liệu thực tế trên hàm mục tiêu 2 - Học kỳ 1 năm học 2011-2012
Kết quả thực nghiệm từ dữ liệu thực tế trên hàm mục tiêu 2 - Học kỳ 2 năm học 2011-2012

40
40
40
41
41

Kết quả thực nghiệm từ dữ liệu thực tế trên hàm mục tiêu 2 - HK1 năm 2011-2012,
khơng tính chi phí bật máy

. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5.26 Kết quả thực nghiệm từ dữ liệu thực tế trên

khơng tính chi phí bật máy . . . . . . . . .
5.27 Kết quả thực nghiệm từ dữ liệu thực tế trên
khơng tính chi phí bật máy . . . . . . . . .
5.28 Kết quả thực nghiệm từ dữ liệu thực tế trên
khơng tính chi phí bật máy . . . . . . . . .

iv

41

hàm mục tiêu 2 - HK2 năm 2010-2011,

. . . . . . . . . . . . . . . . . . . .

41

hàm mục tiêu 2 - HK1 năm 2011-2012,

. . . . . . . . . . . . . . . . . . . .

42

hàm mục tiêu 2 - HK2 năm 2011-2012,

. . . . . . . . . . . . . . . . . . . .

42


Chương 1

Giới thiệu
1.1

Lý do chọn đề tài

Trong 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ệt
Nam. 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ều
lĩnh vực. Mục tiêu mong muốn là giảm tối đa các hao hụt tài nguyên, năng lượng trong
thự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úc
phầ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ông
việ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 tố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 tốn trong cuộc sống và sản xuất.

1.2

Phương pháp nghiên cứu

Về 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ỹ.
Để minh họa rõ hơn cách tiếp cận và giải quyết bài tốn, ba bài tốn ví 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 tốn, đến việc hình thành các giải

thuậ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ủa
một bài tốn lập lịch cụ thể. Từ đó xác định độ khó của bài tốn, lập mơ hình tốn học
và 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
1


CHƯƠNG 1. GIỚI THIỆU

hiện thực và tinh chỉnh sao cho hiệu quả nhất có thể khi áp dụng vào thực tế.

1.3

Bài tốn tiếp cận cụ thể

Phần mơ tả bài tốn tiếp cận:
Các trường Đại học hiện nay đã bắt đầu quan tâm đến việc sử dụng hiệu quả tài nguyên
hiệ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 tốn đám mây (Cloud Computing) như khái niệm
phịng thí nghiệm tính tố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,. . . Cụ 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ác
mô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ính
dưới dạng máy ảo (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àn
vớ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 khn
viê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 Elastic
Computing Cloud, Amazon Simple Storeage Service,... để chạy các máy ảo và lưu trữ dữ
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 (bao
gồ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ết
bị mạng,. . . ) một cách hiệu quả. Ba trường hợp sử dụng tài nguyên trong giảng dạy và
nghiên cứu được quan tâm:
• 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ành
bà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ào
thứ ba kéo dài trong 15 tuần của học kỳ.
• Một nghiên cứu viên yêu cầu vài chục nút tính tốn cho việc chạy một chương trình
song song trong vài giờ (thời gian hồn tất càng sớm càng tốt hoặc có thể có hạn
chót).
• 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.

2


CHƯƠNG 1. GIỚI THIỆU

1.4

Cấu trúc của luận văn

Nội dung luận văn được trình bày bao gồm 6 chương sau:
• 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ể.
• Chương 2: Cơ sở lý thuyết về bài tố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
• Chương 3: Đặc tả và mơ hình hóa bài tốn
Chương này trình bày chi tiết đặc tả một bài toán lập lịch quan tâm và mơ hình
tốn học của bài tốn đó.
• 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 bày lý thuyết, phương pháp cắt Gomory để giải một bài tốn quy
hoạch ngun.
• Chương 5: Thiết kế và hiện thực chương trình tính tố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. Đồng 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ế.
• 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.

3


Chương 2
Cơ sở lý thuyết về bài toán lập lịch
2.1

Khái 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 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ĩ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. 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 tốn có tính thách thức cao.

2.2

Bài tốn lập lịch

2.2.1

Phát biểu bài tốn

Giả sử có m máy Mj (j = 1, ..., m) phải thực hiện n công việc Ji (i = 1, ..., n). Mục tiêu
củ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ô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 hồn thành các cơng việc, cơng việc hồn thành khơng được q sớm cũng khơng
q 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.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)).
4



CHƯƠNG 2. CƠ SỞ LÝ THUYẾT VỀ BÀI TOÁN LẬP LỊCH

M2

J1

J2

J1

(a)
M1

J3

(b)

J3

J4

M3
M2

J2
J1

J2


M1

M3

Hình 2.1: Giản đồ Gantt dưới góc độ máy và cơng việc
Một số khái niệm liên quan về lập lịch:
• Lập lịch khả dĩ (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.
• 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:
• Một cơng việc Ji gồm có ni tác vụ Oi1 , ..., Oini . Nếu ni = 1, cơng việc Ji chỉ có một
tác vụ duy nhất. Để đơn giản hòa, ta đồng nhất Oij với Ji .
• Tương ứng với mỗi tác vụ Oij có một thời gian xử lý cần thiết là pij . Tương tự, nếu
ni = 1 ta đồng nhất pij với pi .
• Tương ứng với mỗi tác vụ Oij có một tập các máy µij ⊆ {M1 , ..., Mm } mà có khả
năng xử lý được tác vụ đó.
– Nếu như tất cả µij đề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 chun dụng đó mà thơi.
– Nếu như tất cả µij đều là các tập hợp tất cả các máy {M1 , ..., Mm }, 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
5


CHƯƠNG 2. CƠ SỞ LÝ THUYẾT VỀ BÀI TOÁN LẬP LỊCH


được trên máy nào mà được trang bị 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ụ Oij 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 µij . Các bài tốn dạng 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).
• release date ri : đây là thời điểm mà sau đó tác vụ đầu tiên của cơng việc Ji được
phép thực thi.
• Hàm chi phí fi (t): Hàm số đo mức chi phí của việc hồn thành cơng việc Ji tại thời
điểm t.
• Thời gian hồn thành dự kiến (due date) di : là thời điểm mà cơng việc tương ứng
Ji được mong đợi hồn thành.
• Deadline: là thời điểm mà công việc nhất định phải hồn thành trước nó, khơng thể
thay đổi được.
• Trọng số wi : Là phần đóng góp của một biến số. Ví dụ wi Ci nghĩa là Ci được xem
xét tính toán với trọng số wi .
Đặ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:
α|β|γ
Với:
• α : đặc tả mơi trường máy
• β : đặc tả các đặc trưng của cơng việc.
• γ : đặc tả mục tiêu tối ưu.
Ví dụ một số bài toán lập lịch:
F 2||Cmax
P 2|prec; p1 = 1|Lmax
1|tree|

2.2.2

w j Cj


Mơi trường máy

Mơi trường máy trong bài tốn lập lịch α được đặc tả bởi một chuỗi 2 thơng số:
α = α1 α2
• Các giá trị có thể có của α1 là o, P, Q, R, P M P M, QM P M, G, X, O, J, F .
• Ký hiệu o có ý nghĩa là rỗng.
6


CHƯƠNG 2. CƠ SỞ LÝ THUYẾT VỀ BÀI TOÁN LẬP LỊCH

• Nếu α1 ∈ {o, P, Q, R, P M P M, QM P M } , mỗi công việc Ji chỉ bao gồm một tác vụ
duy nhất.
Nếu α1 = o, 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 α1 ∈ {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 kỳ máy nào trong tập M1 , ..., Mm .
Nếu α1 = P , ta có các máy đồng nhất song song. Xét thời gian xử lý pij của công
việc Ji trên máy Mj , vì các máy là đồng nhất song song ta có pij = pi cho tất cả các
máy.
Nếu α1 = Q, ta có các máy đồng dạng song song. Xét thời gian xử lý pij của công
việc Ji trên máy Mj , ta có pij = pi /sj với sj tương ứng là tốc độ của máy Mj .
Nếu α1 = R, ta có các máy song song không liên quan. Xét thời gian xử lý pij của
cơng việc Ji trên máy Mj , ta có pij = pi /sij với sij tương ứng là tốc độ phụ thuộc
vào công việc của máy Mj .
Nếu α1 = P M P M , ta có các máy đa chức năng đồng nhất.
Nếu α1 = QM P M , ta có các máy đa chức năng đồng dạng.
• Nếu α1 ∈ {G, X, O, J, F } , chúng ta có mơ hình lập lịch đa tác vụ, ứng với mỗi công
việc Ji là một tập các tác vụ Oi1 , ..., Oini . Tất cả các máy đều là chuyên dụng, nghĩa
là tất cả µij đề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 α1 = 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 α1 = 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:
Oi1 → Oi2 → Oi3 → ... → Oi,ni , i = 1, ..., n
Thơng thường, chúng ta giả định là µij = µi,j+1 với j = 1, ..., ni − 1. Nếu một job
shop có µij = µi,j+1 , ta gọi là job shop có sự lặp lại máy (job shop with machine
repetition).
Nếu α1 = F , ta có mơ hình flow shop. Đây là trường hợp đặc biệt của mô hình
job shop mà ni = m với i = 1, ..., n và µij = {Mj }, ∀i = 1, ..., n, ∀j = 1, ..., m.
Nếu α1 = 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 α1 = X, ta có mơ hình mixed shop. Đây là mơ hình kết hợp giữa 2 mơ hình
job shop và open shop.
• Thơng số α2 biểu diễn số lượng máy được xem xét trong bài toán lập lịch. Nếu α2
là một số nguyên dương 1, 2,..., thì α2 ký hiệu cho số lượng máy. Nếu α2 = 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à α2 = o.
7


CHƯƠNG 2. CƠ SỞ LÝ THUYẾT VỀ BÀI TOÁN LẬP LỊCH

2.2.3

Đặc đ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 β bao gồm 6 phần tử β1 , β2 , β3 ,

β4 , β5 và β6 .
β1 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
qng nhiều lần. Nếu công việc được phép chia nhỏ, ta ký hiệu β1 = pmtn. Ngược lại, nếu
khơng được phép thì β1 khơng xuất hiện trong tập β.
β2 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 hồn G = (V, A). Trong đó, tập đỉnh
V = {1, ..., n} tương ứng với các công việc và (i, k) ∈ A nếu công việc Ji phải được kết
thúc trước khi công việc Jk bắt đầu. Trong trường hợp này ta ký hiệu Ji → Jk . Nếu G là
một đồ thị có hướng khơng tuần hoàn tùy ý, chúng ta ký hiệu β2 = prec. Thỉnh thỏang
chú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 dạng chains, intree, outtree hay là một series
parallel graph. Trong những trường hơp này, chúng ta ký hiệu β2 bằng chains, intree,
outtree và sp-graph.
• Nếu β2 = intree (hay outtree), thì 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 cả các cung hướng
về (hướng ra khỏi) một gốc. Nếu β2 = tree, thì G hoặc là intree hoặc là outtree.
• Một tập chains là một cây mà có cả outdegree và indegree ở mỗi đỉnh ít nhất là 1.
Nếu β2 = chains thì G là tập của các chains.
• Đồ thị series-parallel thì gần giống với cấu trúc cây. Một đồ thị được gọi là seriesparallel 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 thì là series-parallel.
Cho Gi = (Vi , Ai ) là series-parallel (i = 1, 2).
– Parallel composition. Đồ thị G = (V1 ∪ V2 , A1 ∪ A2 ) được tạo thành từ G1
và G2 bằng cách hợp các tập đỉnh và các tập cung là series-parallel.
– Series composition. Đồ thị G = (V1 ∪ V2 , A1 ∪ A2 ∪ T1 × S2 ) được tạo thành
từ G1 và G2 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 t thuộc về tập T1 các đỉnh cuối của G1 (nghĩa là tập các đỉnh
khơng có đỉnh nào theo sau hay các đỉnh có outdegree bằng 0) và s thuộc về
tập S2 các đỉnh nguồn của G2 (nghĩa là tập các đỉnh khơng có đỉnh nào ở trước

nó hay các đỉnh có indegree bằng 0) là series parallel.
Nếu G là serial-parallel, ta ký hiệu β2 = sp-graph. Nếu khơng có các ràng buộc về
mối quan hệ trước sau, thì β2 khơng xuất hiện trong tập β.

8


CHƯƠNG 2. CƠ SỞ LÝ THUYẾT VỀ BÀI TOÁN LẬP LỊCH

Nếu β3 = ri , mỗi cơng việc có thể sẽ được gán thêm một release date ri . Nếu ri = 0 đối
với tất cả các cơng việc thì β3 sẽ không xuất hiện trong tập β.
β4 đị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 β4 là
pi = 1(pij = 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à pi = p(pij = p). Thơng thường trường β4 cịn
chứa thêm một số đặc tính phụ dễ hiểu như là pi ∈ {1, 2} hay di = d.
Nếu β5 = di , thì mỗi cơng việc Ji có thể có một deadline di tương ứng, nghĩa là công việc
Ji phải được hồn thành khơng trễ hơn thời gian di .
Trong một vài ứng dụng lập lịch, các tập các công vịệ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. Cho mỗi batch, có một thời gian set-up s. Chúng ta giả sử rằng thời gian
set-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ài
tố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ác
batch này. Có 2 dạng bài toán batching ký hiệu lần lượt là p-batching và s-batching.
• Đối với các bài tốn p-batching, chiều dài của batch bằng chiều dài tối đa của thời
gian xử lý tất cả các cơng việc trong batch.
• Đố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ất
cả các công việc trong batch.
β6 = p − batching hay β6 = s − batching chỉ ra đây là một bài tốn batching. Nếu khơng,

β6 sẽ không xuất hiện trong tập β.

2.2.4

Mục tiêu tối ưu

Ta ký hiệu thời gian hồn thành cơng việc Ji là Ci , và hàm chi phí tương ứng là fi (Ci ).
Có 2 dạng hàm chi phí tổng cộng chủ yếu:
Hàm mục tiêu cổ chai:
fmax (C) := max{fi (Ci )|i = 1, ..., n}

Hàm mục tiêu tổng:
n

fi (C) :=

fi (Ci )
i=1

Bài tốn lập lịch là đi tìm một lập lịch khả dĩ sao cho cực tiểu hàm chi phí tổng cộng.
Nếu các hàm số fi không được miêu tả, ta đặt γ = fmax hay γ =
đa phần các trường hợp ta xem xét các hàm fi đặc biệt.
Hàm makespan
max{Ci |i = 1, ..., n}
9

fi . Tuy nhiên trong


CHƯƠNG 2. CƠ SỞ LÝ THUYẾT VỀ BÀI TOÁN LẬP LỊCH


Hàm total flow time

n

Ci
i=1

Hàm weighted (total) flow time
n

w i Ci
i=1

Trong các trường hợp này ta lần lượt ký hiệu γ = Cmax , γ =

Ci và γ =

w i Ci .

Các hàm mục tiêu khác phụ thuộc vào due date di ứng với mỗi công việc Ji . Chúng ta
định nghĩa cho mỗi công việc Ji :
Li := Ci − di
lateness
Ei := max{0, di − Ci } earliness
Ti := max{0, Ci − di } tardiness
Di := |Ci − di |
absolute deviation
Di := (Ci − di )2
squared deviation

0 if Ci ≤ di ,
Ui :=
unit penalty
1 khác.
Với mỗi hàm Gi này, ta có 4 hàm mục tiêu có thể là
γ = max(Gi ), max(wi Gi ),

Gi ,

wi Gi

Hàm mục tiêu cổ chai quan trọng nhất sau hàm Cmax là hàm maximize lateness Lmax :=
n
max Li . Một số hàm mục tiêu khác phổ biến được sử dụng như là:
Ti ,
wi Ti ,
Ui ,
i=1

wi Ui ,
Di ,
w i Di ,
Si ,
wi Si ,
Ei ,
wi Ei . Ngoài ra, các hàm mục tiêu này có
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 Ci không giảm được gọi là regular. Các hàm mục tiêu
liên quan đến Ei , Di , Si đều là các hàm khơng regular. Những hàm mục tiêu cịn lại đượ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.

2.2.5

Ví dụ

Để minh họa cho các khái niệm bài toán lập lịch ba trường α|β|γ, ta hãy xem xét một vài
ví dụ. Trong mỗi ví dụ, ta sẽ miêu tả bài toán đồng thời đặc tả một ví dụ cụ thể minh
họa, trình bày một lập lịch khả dĩ cho ví dụ đó dưới dạng giản đồ Gantt.
Ví dụ 2.2.1. Tìm cách lập lịch cho bài tốn P 2||Cmax
Đây là bài tố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ó β) trên 2 máy giống nhau sao cho cực tiểu hàm
makespan.
10


CHƯƠNG 2. CƠ SỞ LÝ THUYẾT VỀ BÀI TOÁN LẬP LỊCH

Job
pi

J1
3

J2
2


J3
1

J4
4

J5
2

J6
3

Hình 2.2 biểu diễn một ví dụ cụ thể của bài tốn này và một lâp lịch khả dĩ.

J4

M2
M1

J5

J1

J2
3

J6
J3


4

5

6

9

Hình 2.2: Ví dụ cụ thể cho bài tốn P 2||Cmax

Cmax = 9
Ví dụ 2.2.2. Tìm cách lập lịch cho bài tốn P |prec; pi = 1|Cmax
Đây là bài toán lập lịch công việc với thời gian xử lý đơn vị và có ràng buộc trước sau
giữa các cơng việc trên m máy giống nhau sao cho cực tiểu hàm makespan.
Hình 2.3 biểu diễn một ví dụ cụ thể của bài tốn này và một lâp lịch khả dĩ.
1

5

3

4

2

6

7

m=3


11


CHƯƠNG 2. CƠ SỞ LÝ THUYẾT VỀ BÀI TOÁN LẬP LỊCH

J7

M3
M2

J2

M1

J1

J6
J3
1

J4
2

J5
3

4

Hình 2.3: Ví dụ cụ thể cho bài tốn P |prec; pi = 1|Cmax


Cmax = 4

2.2.6

Một số phương pháp tiếp cận bài tốn lập lịch

Có một số bài tốn có thể dễ dàng giải được trong thời gian đa thức chẳng hạn như bài
toán 1||Lmax , F 2||Cmax , nhưng cũng có rất nhiều bài tốn thuộc NP-hard. Do đó, dựa vào
độ khó của bài tốn, ta có một số cách tiếp cận bài tốn như sau:
• Phương pháp tính chính xác: quy hoạch nguyên (integer programming) [6], quy
hoạch động (dynamic programming) [7], phương pháp tính cận và nhánh (branch
and bound) [14] [1],
• Các giải thuật gần đúng dựa trên phương pháp tính chính xác: thuật giải gần đúng
cho quy hoạch phi tuyến tính (linear programming); xây dựng chuỗi giải thuật gần
đúng có đảm bảo chắc chắn được chất lượng của giải pháp tìm thấy (approximation
scheme) [3]; thuật giải gần đúng dựa trên cây quyết định (branch and cut, branch
and price, search tree based approaches) [1], recovering beam search [6], relaxation,
hiệu chỉnh cấu hình của solver giải hiệu quả các bài tốn quy hoạch tuyến tính.
• Các thuật tố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


Chương 3
Đặc tả và mơ hình hóa bài tốn
3.1

Đặc tả bài toán


Trong phần này, chúng ta xét một bài toán lập lịch cụ thể với thông tin được biết trước
về các cơng việc cần lập lịch và các máy có thể thực hiện những công việc này. Ngữ cảnh
thực tế như sau:
Các nhu cầu công việc được gán ở 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 máy ảo (virtual machine)
có cấu hình đồng nhất (các máy ảo thuộc một số kiểu cấu hình có giới hạn (virtual machine
types). Mỗi máy vật lý có thể thực thi một hoặc nhiều máy ảo.
Mục tiêu được đặt ra là tìm phép gán các cơng việc vào máy vật lý thực thi sao cho tổng
số máy vật lý thực thi trên đơn vị thời gian là ít nhất. Đồng 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 máy ảo trên một đơn vị thời gian.
Đầu tiên, chúng ta cần mơ tả lại bài tố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 tốn theo cách thức vận hành trên các
máy xử lý song song.
Đặc tả của bài tốn gồm có:
Thơng tin về máy:
• mỗi máy vật lý có thể thực thi vj máy ảo
• 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
• 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 ảo
mà máy vật lý có thể có.
• chi phí khi một máy ảo được sử dụng trong một đơn vị thời gian.
• chi phí khi một máy vật lý được bật trong một đơn vị thời gian.
Thông tin về công việc:

13


CHƯƠNG 3. ĐẶC TẢ VÀ MƠ HÌNH HĨA BÀI TỐN


• mỗi cơng việc có thời gian bắt đầu si (với i = 1, 2, .., n) biết trước và các giá trị này
là ngun.
• mỗi cơng việc u cầu số lượng máy ảo Ri có cấu hình đồng nhất
• 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à pi với
i = 1, 2, .., n
Từ những đặc tả trên ta có input, ouput và objective của bài tốn là:
Đầu vào:
• m : số lượng máy vật lý M1 , M2 , ..., Mm
• vj : số lượng máy ảo mà máy vật lý Mj có thể thực thi
• ej : chi phí khi một máy ảo được sử dụng trong một đơn vị thời gian
• Ej : chi phí khi một máy vật lý được bật trong một đơn vị thời gian
• n : số lượng các cơng việc J1 , J2 , ..., Jn
• pi : thời gian thực hiện cơng việc Ji
• si : thời gian bắt đầu của cơng việc Ji
• Ri : số lượng máy ảo mà công việc Ji cần
Dự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:
• (t) : tập các cơng việc đang được thực thi tại thời điểm t. Với (t) = {Ji , si ≤ t < si + pi }
• T : thời gian thực hiện công việc cuối cùng. T = maxi∈[1,n] (si + pi )
Đầu ra:
Tìm ra một cách gán máy ảo sao cho các cơng việc có thể thực thi được.
Mục tiêu:
• Tổng số máy vật lý thực thi trên đơn vị thời gian là ít nhất
Đâ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.
• Chi phí hoạt động
Mục tiêu này quan tâm đến chi phí khi lập lịch các cơng việc trên các máy ảo. Các
chi phí hoạt động bao gồm:
– Chi phí khi một máy vật lý được mở trên một đơn vị thời gian.
– Chi phí khi một máy ảo được sử dụng trên một đơn vị thời gian.

14


CHƯƠNG 3. ĐẶC TẢ VÀ MƠ HÌNH HĨA BÀI TỐN

Ví dụ 3.1.1. Tìm cách lập lịch các cơng việc trên các máy vật lý sao cho tổng số máy vật
lý thực thi trên đơn vị thời gian là ít nhất với thông tin đầu vào được cho ở hai bảng sau:
Job J1
si
0
pi
4
Ri
8

J2
1
4
4

J3
14
5
7

J4
8
6
10


Machine M1
vj
3

M2
3

M3
4

J5
4
4
11
M4
5

Hình 3.1 biểu diễn một cách lập lịch khả dĩ cho bài tốn.

M4

J1
J2
J3

M3

J4
M2


J5

M1

Hình 3.1: Ví dụ một cách lập lịch khả dĩ cho bài tốn quan tâm

3.2

Mơ hình MILP cho bài tốn

Trong phần này sẽ mơ tả mơ hình tốn học (Mixed Integer Linear Programming model)
cho bài tốn. Việc lập mơ hình giúp ta giải quyết bài tốn bằng cách sử dụng 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 định
nghĩ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:
• Xây dựng các hàm mục tiêu độc lập với các biến quyết định.
• 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 tố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:

yjt =

1
0

Máy Mj được sử dụng tại thời điểm t
, ∀j ∈ [1, m], ∀t ∈ [0, T ]
ngược lại

15



×