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

Bài toán Workflow Scheduling trong môi trường điện toán đám mây

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.33 MB, 58 trang )



i
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ







KIỀU TUẤN DŨNG






BÀI TOÁN WORKFLOW SCHEDULING TRONG MÔI
TRƯỜNG ĐIỆNTOÁN ĐÁM MÂY








LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN














Hà Nội – Năm 2012


ii




































ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ






KIỀU TUẤN DŨNG








BÀI TOÁN WORKFLOW SCHEDULING TRONG MÔI
TRƯỜNG ĐIỆNTOÁN ĐÁM MÂY


Ngành: Công nghệ thông tin
Chuyên ngành: Công nghệ phần mềm
Mã số: 60 48 10



LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN






NGƯỜI HƯỚNG DẪN KHOA HỌC: TS. PHẠM NGỌC HÙNG









Hà Nội – Năm 2012



v
MỤC LỤC
TÓM TẮT i
LỜI CẢM ƠN iii
LỜI CAM ĐOAN iv
DANH MỤC HÌNH VẼ vi
DANH MỤC BẢNG vii
GIỚI THIỆU 1
CHƢƠNG 1: LẬP LỊCH WORKFLOW TRONG MÔI TRƢỜNG ĐIỆN TOÁN ĐÁM
MÂY 3
1.1 Tổng quan về Điện toán đám mây 3
1.1.1. Định nghĩa về Điện toán đám mây 5
1.1.2. Năm đặc điểm thiết yếu của Điện toán đám mây 7
1.1.3. Các dịch vụ của Điện toán đám mây 8
1.1.4. Các mô hình triển khai của Điện toán đám mây 12
1.2 Workflow (Bussiness Process) 15
CHƢƠNG 2: PHƢƠNG PHÁP TỐI ƢU BẦY ĐÀN 19
2.1. Giới thiệu 19
2.2. Bầy đàn thông minh 19
2.3. PSO truyền thống 21
2.3.1 Định nghĩa 21
2.3.2 Mô tả thuật toán 24
2.3.3 Xây dựng giải thuật PSO. 25

2.3.4 Tối ƣu lựa chọn tham số cải tiến trong giải thuật PSO 27
CHƢƠNG 3: GIẢI THUẬT LẬP LỊCH HEURISTIC DỰA TỐI ƢU BẦY ĐÀN ĐỀ
XUẤT 28
3.1 Bài toán lập lịch ứng dụng luồng công việc 28
3.1.1 Vấn đề lập lịch ứng dụng luồng công việc 28
3.1.2 Đặc tả vấn đề lập lịch hỗ trợ ứng dụng luồng công việc 28
3.2 Xử lý các dữ liệu bài toán dùng giải thuật PSO 31
3.3 Giải thuật Heuristic dựa PSO 32
CHƢƠNG 4. THỰC NGHIỆM 34
4.1 Cài đặt giải thuật PSO với ngôn ngữ Java. 34
4.1.1 Sử dụng gói thƣ viện Jswarm-PSO. 34
4.1.2 CloudSim - môi trƣờng mô phỏng điện toán đám mây. 35
4.2 Đánh giá thực nghiệm 38
4.2.1. Độ đo hiệu năng 38
4.2.2. Dữ liệu và thực hiện 38
4.3 Thực nghiệm và kết quả 42
CHƢƠNG 5: KẾT LUẬN 44
TÀI LIỆU THAM KHẢO 46
PHỤ LỤC 48


vi
DANH MỤC HÌNH VẼ
Hình 1. 1: Sự phát triển của cloud computing từ clustering [1] 4
Hình 1. 2: Mô hình điện toán đám mây. 5
Hình 1. 3: Các đặc điểm thiết yếu, các mô hình dịch vụ và các mô hình triển khai của
Điện toán đám mây. 6
Hình 1. 4: Tài nguyên đi thuê của Software as a Service. 8
Hình 1. 5: Tài nguyên đi thuê của Platforms as a Service. 10
Hình 1. 6: Tài nguyên đi thuê của Infrastructures as a Service. 12

Hình 1. 7: Các mô hình triển khai Điện toán đám mây. 13
Hình 1. 8: Mô hình quy trình nghiệp vụ [14]. 15
Hình 1. 9: DAG biểu diễn một workflow [14]. 16
Hình 2. 1: Mô tả kiến tìm đƣờng. 20
Hình 2. 2: Mô tả chim tìm đƣờng. 20
Hình 2. 3: Bầy đàn với 10 cá thể trong không gian tìm kiếm 2 chiều 21
Hình 2. 4: Quan hệ vị trí – vận tốc trong không gian 2 chiều 22
Hình 2. 5: Một bầy đàn toàn cục và lân cận cục bộ[12]. 23
Hình 2. 6: Các topology lân cận đơn giản [12]. 23
Hình 2. 7:Chuyển động của cá thể 26
Hình 3. 1: Một workflow ví dụ. 29
Hình 3. 2: Ví dụ về một cá thể PSO. 31
Hình 3. 3: Ví dụ về một cá thể PSO. 31
Hình 4. 1: Kiến trúc lõi của CloudSim 37
Hình 4. 2: Biểu đồ so sánh kết quả thực nghiệm workflow sau 30 lần chạy 40
Hình 4. 3:Biểu đồ so sánh kết quả thực nghiệm workflow với giá trị w tăng dần từ 0.15
đến 0.95 sau mỗi 05 lần chạy 41


vii

DANH MỤC BẢNG
Bảng 1. 1: Một số nhà cung cấp Softwares as a Service 9
Bảng 1. 2: Một số nhà cung cấp dịch vụ PaaS 11
Bảng 3. 1: Chi phí thực thi của mỗi T
i
trên các PC
j
[6] 30
Bảng 3. 2: Chi phí truyền thông giữa các PC

j
[6] 30
Bảng 3. 3: Kích thƣớc input/output của Task i 30
Bảng 4. 1:Kết quả tính toán chi phí thực thi workflow sau 30 lần chạy 39
Bảng 4. 2: Kết quả tính toán chi phí thực thi workflow sau 5 lần chạy với giá trị w
chạy tăng dần từ 0.15 – 0.95 41


1
GIỚI THIỆU
Mô hình hợp tác ở nhiều thử nghiệm khoa học trong nhiều lĩnh vực nhƣ sinh học
cấu trúc, vật lý năng lƣợng cao, khoa học thần kinh liên quan đến việc sử dụng các
nguồn dữ liệu phân tán. Kết quả, việc phân tích các tập dữ liệu này đƣợc biểu diễn và
cấu trúc hóa nhƣ là các luồng công việc (workflow) khoa học. Những luồng công việc
khoa học này thƣờng cần phải xử lý lƣợng dữ liệu rất lớn và các hoạt động tính toán
chuyên sâu. Hệ thống quản lý luồng công việc khoa học đƣợc sử dụng để quản lý
những thử nghiệm khoa học này bằng cách che giấu các chi tiết khi thực thi luồng
công việc trên các tài nguyên phân tán đƣợc cung cấp bởi các nhà cung cấp dịch vụ
đám mây.
Điện toán đám mây (cloud computing) là một mô hình mới cho tính toán phân tán
mà cung cấp hạ tầng, nền tảng và phần mềm (các ứng dụng) nhƣ là các dịch vụ. Các
dịch vụ này đƣợc tạo sẵn nhƣ là các dịch vụ thuê bao (trả phí cho những gì mình sử
dụng) dành cho các khách hàng. Điện toán đám mây giúp cung cấp linh hoạt nhiều tài
nguyên tính toán cho các ứng dụng của khách hàng ở vị trí xác định (US ở amazon là
một ví dụ
1
) dựa trên các yêu cầu của họ. Cũng nhƣ vậy, các ứng dụng có thể lựa chọn
vị trí lƣu trữ để lƣu trữ các dữ liệu (Amazon S3
2
) ở các vị trí toàn cầu. Để đạt đƣợc

hiệu quả tính toán và chi phí hiệu quả lập lịch công việc (task) và dữ liệu của ứng dụng
trong môi trƣờng điện toán đám mây, bộ lập lịch phải có các chính sách lập lịch khác
nhau thay đổi theo hàm mục tiêu: tối thiểu tổng thời gian thực thi, tối thiểu tổng chi
phí thực thi, cân bằng tải trên tài nguyên đƣợc sử dụng khi gặp ràng buộc deadline của
ứng dụng, v.v. Luận văn này tập trung vào nghiên cứu tối thiểu tổng chi phí thực thi
của ứng dụng trên các tài nguyên đƣợc cung cấp bởi các nhà cung cấp dịch vụ đám
mây, nhƣ Amazon và GoGrid
3
. Luận văn đạt đƣợc điều này bằng cách sử dụng một
phƣơng pháp meta-heuristic đƣợc gọi là tối ƣu bầy đàn (Particle Swarm Optimization
– PSO).
PSO là một kỹ thuật tìm kiếm tối ƣu toàn cục bộ tự thích nghi đƣợc giới thiệu bởi
Kennedy và Eberhart [5]. Giải thuật tƣơng tự các giải thuật dựa vào quần thể khác nhƣ
giải thuật di truyền nhƣng nó không có sự tổ hợp lại của các tác nhân trong quần thể.
Thay vào đó, nó dựa trên ứng xử xã hội của các cá thể. Trong mỗi thế hệ, mỗi cá thể tự
điều chỉnh quỹ đạo dựa trên vị trí tốt nhất của nó (local best) và vị trí của cá thể tốt
nhất (global best) trong cả quần thể. Khái niệm này làm tăng tính tự nhiên của các cá
thể và nhanh chóng đạt tới giá trị tối ƣu toàn cục với giải pháp tốt nhất.
PSO trở nên phổ biến, phát triển và trở thành hƣớng nghiên cứu rộng rãi trong
nhiều ứng dụng trong những năm gần đây bởi tính đơn giản mà hiệu quả của nó với


1

2

3




2
chi phí thấp. Một số ứng dụng đã sử dụng PSO: vấn đề điều khiển phản ứng điện áp
(reactive voltage control problem), khai phá dữ liệu, kỹ thuật hóa học, nhận dạng mẫu,
và kỹ thuật môi trƣờng. PSO cũng đƣợc ứng dụng để giải quyết các vấn đề NP-Hard
nhƣ lập lịch và phân bổ công việc.
Những kết quả chính của luận văn này là:
 Xây dựng một mô hình phân bổ công việc (task) trên tập tài nguyên (resource),
tức là phân bổ các công việc tới các tài nguyên tính toán để xử lý sao cho chi phí
thực thi là tối thiểu.
 Đề xuất một giải thuật heuristic mới theo kiểu PSO để giải quyết vấn đề phân bổ
công việc – tài nguyên dựa trên mô hình đề xuất.
 Tiến hành kiểm chứng thuật toán đề xuất bằng thực nghiệm
Luận văn đƣợc cấu trúc nhƣ sau: chƣơng 1 trình bày tổng quan về điện toán đám mây,
các khái niệm và sự cần thiết của việc thực thi workflow trong môi trƣờng điện toán
đám mây. Chƣơng 2 trình bày các khái niệm về phƣơng pháp tối ƣu bày đàn PSO và
cách xây dựng giải thuật PSO để giải quyết các bài toán tối ƣu. Bài toán lập lịch luồng
công việc (workflow scheduling) đƣợc phát biểu ở phần đầu chƣơng 3 cùng với các
ràng buộc của nó. Phần chính của chƣơng 3, đồng thời cũng là nội dung chính của luận
văn, là phần đề xuất thuật toán mới theo chiến lƣợc PSO nhằm giải quyết bài toán
phân bổ công việc – tài nguyên dựa trên mô hình đã đề xuất. Để kiểm chứng hiệu quả
của thuật toán đề xuất, chƣơng 4 sẽ trình bày các bƣớc cài đặt, quá trình tiến hành và
bảng số liệu thử nghiệm cùng với những phân tích. Phần cuối của luận văn nhằm tổng
kết lại các kết quả đã đạt đƣợc và nêu những dự định nghiên cứu tiếp theo.










3
CHƢƠNG 1: LẬP LỊCH WORKFLOW TRONG MÔI TRƢỜNG
ĐIỆN TOÁN ĐÁM MÂY
1.1 Tổng quan về Điện toán đám mây
Từ năm 2015 sẽ có khoảng 15 tỉ thiết bị kết nối đến internet
4
và hầu hết đó là
những thiết bị thông minh ví dụ nhƣ note book, netbook, điện thoại thông minh, ô tô
thông minh và thậm chí là cả những chiếc ti vi thông minh tất cả chúng đều kết nối
đến internet vì thế cần phải có một giải pháp sao cho linh hoạt để đáp ứng đƣợc những
dịch vụ cho hàng loạt những thiết bị. Điện toán đám mây là một mô hình đáp ứng
đƣợc các yêu cầu đặt ra. Theo dự báo của Intel thì giá trị thị trƣờng dịch vụ của điện
toán đám mây có thể đạt tới con số 43 tỉ đô la Mỹ vào năm 2012 và khẳng định trong
vòng 3 năm tới dịch vụ điện toán đám mây có thể đạt tới mức tăng trƣởng gộp hằng
năm là 27% một con số cực kỳ ấn tƣợng cao gấp năm lần so với dịch vụ truyền thống
khác trong lĩnh vực IT. Tại Việt Nam, IBM là doanh nghiệp tiên phong trong khai
trƣơng trung tâm điện toán đám mây đầu tiên vào tháng 9 năm 2008 với khách hàng
đầu tiên là Công ty cổ phần công nghệ và truyền thông Việt Nam. Còn Microsoft trong
tháng 5 vừa qua đã chính thức ký kết biên bản ghi nhớ với tập đoàn FPT nhằm thúc
đẩy Điện toán đám mây tại Việt Nam.
Sự phát triển của Điện toán đám mây đƣợc sơ đồ hóa theo nhƣ Hình 1.1 dƣới đây:
mở đầu là công nghệ Clustering xuất phát từ nhu cầu đảm bảo hoạt động cho máy chủ
và hệ thống mạng, clustering cho phép sử dụng nhiều máy chủ kết hợp với nhau tạo
một cụm (cluster) có độ tin cậy cao (giảm thiểu khả năng rủi ro), có khả năng chịu
đựng và chấp nhận các sai sót. Grid Computing, một hệ thống phân tán đƣợc bố trí
song song, tận dụng mọi nguồn tài nguyên độc lập và rải rác về mặt địa lý, gần giống
nhƣ Clustering, ra đời để giải quyết các bài toán lớn không giới hạn về mặt không gian
địa lý và nền tảng hệ điều hành . Theo sau đó lại là nhu cầu tính toán cao với mục đích

tiết kiệm phi phí, tính toán theo nhu cầu (utility computing). Ngƣời sử dụng chỉ phải
trả chi phí cho những gì mà họ sử dụng giống nhƣ trả tiền theo hóa đơn điện, nƣớc
hàng tháng. Nhu cầu thuê phần cứng và trả tiền cho những gì mình sử dụng đã chuyển
tiếp sang mô hình đi thuê phần mềm có trả phí. Ngƣời sử dụng không cần phải đầu tƣ
nhiều phần mềm, khi nào cần sử dụng họ sẽ thuê của nhà cung cấp và trả phí theo dịch
vụ. Và cuối cùng, điện toán đám mây là tổng hợp toàn bộ các nhu cầu, tiện ích và các
dịch vụ mà các mô hình trƣớc đem lại. Tất cả các tài nguyên (phần cứng, phần mềm)
đều đƣợc sử dụng nhƣ là một dịch vụ, sẵn sàng đáp ứng mọi lúc, mọi nơi với chi phí
hợp lý.


4
Theo www.xahoithongtin.com.vn


4
Sự phát triển của công nghệ tính toán và hình thành Điện toán đám mây

















Hình 1. 1: Sự phát triển của cloud computing từ clustering [1].
Tính toán phân cụm
(Clustering)
Tính toán hiệu năng cao
Máy tính trao đổi qua
các giao thức

Điện toán lƣới
(Grid Computing)
Các phân cụm độc lập
liên kết với nhau
Tính toán song song
cho các bài toán lớn

Điện toán theo nhu cầu
(Utility Computing)
Dịch vụ cung cấp các tài
nguyên tính toán

Dịch vụ phần mềm
(SaaS)
Dịch vụ cho thuê các
ứng dụng qua mạng
Internet

Điện toán đám mây
(Cloud Computing)



5
Ý tƣởng nền tảng của Điện toán đám mây đã phát triển từ khá lâu trên thế giới
nhƣng cho đến gần đây cùng với sự bùng nổ của Internet và công nghệ mạng cũng nhƣ
nhu cầu của thị trƣờng các tên tuổi lớn trên thế giới mới bắt đầu đƣa những ý tƣởng trở
thành những ứng dụng thật tại thị trƣờng Việt Nam.
1.1.1. Định nghĩa về Điện toán đám mây
Theo NIST [2], “Điện toán đám mây là mô hình cho phép ở mọi nơi, một cách
thuận tiện, truy cập theo nhu cầu các tài nguyên tính toán (mạng, máy chủ, lƣu trữ, các
ứng dụng, các dịch vụ, v.v) mà có thể nhanh chóng cung cấp và từ chối với nỗ lực tối
thiểu quản lý và tƣơng tác với nhà cung cấp dịch vụ. Mô hình đám mây gồm năm đặc
điểm thiết yếu, ba mô hình dịch vụ và ba mô hình triển khai thực hiện”.
Ví dụ: dịch vụ Google AppEngine cung cấp những ứng dụng kinh doanh trực
tuyến thông thƣờng, có thể truy nhập từ một trình duyệt web, còn các phần mềm và dữ
liệu đều đƣợc lƣu trữ trên các máy chủ. Hình 1.2 bên trên cho thấy mô hình tổng quát
về đám mây và các nhà cung cấp dịch vụ đám mây lớn trên thế giới nhƣ: Microsoft,
Google, Amazon …


Hình 1. 2: Mô hình điện toán đám mây.
Điện toán đám mây là một mô hình sử dụng các tài nguyên điện toán dựa trên
internet để cung cấp theo nhu cầu có khả năng thay đổi cho ngƣời sử dụng, mà ngƣời


6
sử dụng sẽ chỉ phải trả chi phí cho mức độ sử dụng nhờ đó nhà cung cấp tận dụng
đƣợc tối đa tài nguyên hiện có và ngƣời sử dụng tích kiệm đƣợc chi phí đầu tƣ cơ sở
hạ tầng ban đầu, linh hoạt hơn khi mở rộng phạm vi hoạt động và do đó có thể tập
trung vào mục đích chính là các hoạt động sản xuất kinh doanh.

Bằng cách sử dụng Điện toán đám mây mà các doanh nghiệp không cần phải mua
và duy trì hàng trăm, thậm chí là hàng nghìn máy tính cũng nhƣ phần mềm. Họ chỉ cần
tập trung vào sản xuất bởi vì đã có ngƣời khác lo cơ sở hạ tầng. Theo định nghĩa của
NIST, có năm đặc điểm thiết yếu làm nên điện toán đám mây bao gồm:
- Tự phục vụ theo nhu cầu (On-demand Self Service),
- Việc sử dụng các tài nguyên cho thuê đƣợc quản lý và theo dõi chính xác
(Measured Service),
- Khách hàng dễ dàng thay đổi qui mô dịch vụ (Rapid Elasticity),
- Hệ thống tài nguyên phong phú với quy mô lớn (Broad Network Access)
- Tổng hợp tài nguyên (Resource Pooling);
Ba mô hình dịch vụ của điện toán đám mây bao gồm: dịch vụ phần mềm (Software as
a services – SaaS), dịch vụ nền (Platform as a services – PaaS) và dịch vụ hạ tầng
(Infrastructure as a services – IaaS); Ba mô hình triển khai bao gồm: mô hình đám mây
công cộng (Public Cloud), mô hình đám mây riêng (Private Cloud) và mô hình đám
mây lai (Hybrid Cloud). Các đặc điểm, các mô hình dịch vụ và mô hình triển khai
đƣợc sơ đồ hóa trên Hình 1.3 dƣới đây:

Hình 1. 3: Các đặc điểm thiết yếu, các mô hình dịch vụ và các mô hình triển khai của
Điện toán đám mây.


7
1.1.2. Năm đặc điểm thiết yếu của Điện toán đám mây
Tự phục vụ theo nhu cầu (On-demand Self Service): các dịch vụ máy tính nhƣ
email, các ứng dụng, mạng hoặc dịch vụ máy chủ có thể đƣợc cung cấp mà không yêu
cầu con ngƣời tƣơng tác với nhà cung cấp dịch vụ. Một số nhà cung cấp dịch vụ điện
toán đám mây dựa trên nhu cầu bao gồm: Amazon Web Services (AWS), Microsoft,
Google, IBM và Saleforces.com
Hệ thống tài nguyên phong phú với quy mô lớn (Broad Network Access): khả
năng sẵn có trên mạng, truy cập theo chuẩn từ xa với mọi thiết bị (điện thoại di động,

máy tính bảng, máy tính xách tay, máy trạm, v.v).
Tổng hợp tài nguyên (Resource Pooling): tài nguyên tính toán của nhà cung cấp
dịch vụ đƣợc gộp lại với nhau để phục vụ cùng lúc nhiều khách hàng giống nhƣ mô
hình nhiều ngƣời thuê nhà, với các tài nguyên vật lý và tài nguyên ảo hóa đƣợc cấp
phát động phân phối và tái phân phối theo nhu cầu của khách hàng.
Khách hàng dễ dàng thay đổi qui mô dịch vụ: dịch vụ điện toán đám mây có thể
đƣợc nhanh chóng và cung cấp một cách linh hoạt, trong một số trƣờng hợp tự động
hóa, nó nhanh chóng đƣợc mở rộng để đáp ứng nhu cầu khách hàng. Đối với khách
hàng, khả năng này có thể cung cấp thƣờng xuyên không giới hạn và có thể đăng ký
dịch vụ ở bất cứ thời điểm nào, ở bất cứ nơi đâu với số lƣợng bất kỳ.
Theo dõi và quản lý các tài nguyên cho thuê (Meassured Service): vấn đề sử
dụng các tài nguyên điện toán đám mây có thể đƣợc đo lƣờng mức độ sử dụng, đƣợc
kiểm soát và đƣợc cung cấp các báo cáo minh bạch cho cả nhà cung cấp dịch vụ và
khách hàng nhƣ một dịch vụ tiện ích cho phép kiểm soát và tối ƣu hóa việc sử dụng
tài nguyên. Nó giống nhƣ việc sử dụng các dịch vụ điện, nƣớc, ga ở các đô thị…,
khách hàng phải trả phí cho các mỗi đơn vị mà họ sử dụng dịch vụ đó – pay per use.
Cũng giống nhƣ các công ty bán điện cho các hộ sản xuất kinh doanh, các hộ gia đình,
các công ty điện thoại bán các dịch vụ thoại và dữ liệu thì các dịch vụ trong lĩnh vực
công nghệ thông tin nhƣ quản lý bảo mật mạng, lƣu trữ dữ liệu … cũng có thể đƣợc
cung cấp nhƣ là hợp đồng dịch vụ.
Năm đặc tính này có ý nghĩa gì?
Đứng ở góc độ của một nhà phát triển: điện toán đám mây cho phép linh hoạt
cung cấp các nội dung tích hợp, các ứng dụng, các dịch vụ cho bất cứ thiết bị nào, ở
bất cứ nơi đâu, bất cứ thời điểm nào, trong một mô hình hoàn hảo có khả năng mở
rộng, sử dụng và trả phí cho các tài nguyên mà khách hàng cần và khi khách hàng cần.


8
Đứng ở góc độ của công nghệ thông tin: điện toán đám mây cho phép các tổ chức
giải phóng mình ra khỏi nỗi lo về việc mua sắm và phân bổ các phần cứng đắt tiền, các

phần mềm, các tài nguyên mạng hoặc đội ngũ nhân viên công nghệ thông tin lớn để
quản lý và hỗ trợ hạ tầng.
Đứng ở góc độ kinh doanh: điện toán đám mây cho phép các nhà cung cấp phục
vụ mọi doanh nghiệp có quy mô khác nhau, đặc biệt là các doanh nghiệp vừa và nhỏ.
1.1.3. Các dịch vụ của Điện toán đám mây
Theo NIST [2], dịch vụ của Điện toán đám mây hiện nay đƣợc chia làm 3 loại dịch vụ
khác nhau bao gồm:
Softwares as a Services – SaaS: Ngƣời dùng sẽ không cần phải cài đặt trực
tiếp phần mềm với mô hình này của Điện toán đám mây. Dễ dàng sử dụng các dịch vụ
nhƣ là phần mềm đƣợc cài đặt trực tiếp trên máy tính thông qua trình duyệt (tài
nguyên đi thuê là lớp ứng dụng trong hình 1.4): ví dụ nhƣ Google Docs. Toàn bộ dữ
liệu sẽ đƣợc xử lý trên các trung tâm tính toán của nhà cung cấp dịch vụ điện toán đám
mây.

Hình 1. 4: Tài nguyên đi thuê của Software as a Service.


9
Phần mềm hoạt động nhƣ một dịch vụ , hoạt động trên nền tảng Internet đƣợc quản lý
bởi nhà cung cấp dịch vụ cho ngƣời sử dụng có thể truy cập từ xa bằng bất cứ thiết bị
nào có thể kết nối đến Internet. Khách hàng có thể lựa chọn phần mềm hay ứng dụng
nào phù hợp với nhu cầu sử dụng và chạy ứng dụng đó trên cơ sở hạ tầng Cloud.Ngƣời
dùng không cần phải quan tâm đến quản lý tài nguyên bên dƣới bao gồm mạng, thiết
bị lƣu trữ, hệ điều hành, máy chủ, công cụ lƣu trữ, môi trƣờng phát triển ứng dụng
v.v… Tất cả sẽ do nhà cung cấp dịch vụ quản lý và kiểm soát để đảm bảo ứng dụng
luôn sẵn sàng và hoạt động ổn định.
Bảng 1. 1: Một số nhà cung cấp Softwares as a Service
Nhà cung cấp
Sản phẩm
Dịch vụ

Microsoft
Microsoft Online Services
Exchange Online
Sharepoint Online
Dynamics CRM Online
Office Live Meeting
Office Communications Online
Salesforce.com
SalesForce CRM
Sales
Marketings
Services
Partners
IBM
LotusLive
LotusLive Engage
Lotus Live Connections
LotusLive Meetings
LotusLive Events
LotusLive iNotes
LotusLive Notes

Vấn đề lựa chọn dịch vụ của nhà cung cấp nào cũng nhƣ là một thách thức đặt
ra cho các khách hàng. Theo bảng 1.1 ở trên, chúng ta có thể thấy một số dịch vụ cạnh
tranh với nhau: dịch vụ Email cho doanh nghiệp cung cấp qua Internet (Microsoft
Exchange Online của Microsoft, Google Mail của Google, LotusLive iNotes của
IBM), hệ quản trị quan hệ khách hàng và bán hàng online (Dynamic CRM Online của
Microsoft, SalesForce CRM), ứng dụng hội thảo web trực tuyến (Office Live Meeting,
LotusLive Meeting), dịch vụ phần mềm truyền thông hợp nhất trực tuyến (Office
Communication Online với phiên bản mới Lync Online đƣợc tích hợp trong bộ Office

365 của Microsoft cạnh tranh với tính năng của dịch vụ Google App) cho phép làm
việc chung và chỉnh sửa tài liệu cùng lúc với nhau.



10
Platforms as a Service – PaaS: Môi trƣờng PaaS cung cấp sức mạnh điện toán
bằng việc cung cấp môi trƣờng chạy cho ứng dụng. Đặc điểm của PaaS: bị phụ thuộc
vào nền tảng của nhà cung cấp.
Hình 1. 5: Tài nguyên đi thuê của Platforms as a Service.
Theo Hình 1.5 dƣới, ta nhận thấy PaaS là lớp giữa trung chuyển của các hệ thống hạ
tầng cơ bản (hệ điều hành, mạng, lƣu trữ ) và phần mềm ứng dụng bao gồm: các
chức năng của kho chứa ứng dụng, công cụ phát triển ứng dụng, hệ thống quản lý cơ
sở dữ liệu, môi giới tích hợp, cổng thông tin, quản lý quy trình kinh doanh đƣợc
cung cấp nhƣ là dịch vụ.
Ba nhà cung cấp lớn nhất PaaS hiện nay là Google, Microsoft và Salesforce.com với
một số dịch vụ thuộc nền tảng này đƣợc liệt kê trong Bảng 1.2 bên dƣới. Ví dụ điển
hình của PaaS là Google App Engine (GAE) là nền tảng cho phép phát triển các ứng
dụng web và triển khai trên cơ sở hạ tầng của Google. Hiện tại GAE hỗ trợ phát triển
các ứng dụng web bằng hai ngôn ngữ Python và Java. Ngoài GAE, còn có một số nền
tảng khác đang là đối thủ cạnh tranh mạnh mẽ nhƣ Force.com của Salesforce.com hay
Windows Azure của Microsoft đƣợc phát triển để mang đến cho cộng đồng các nhà
phát triển ứng dụng cơ hội đƣợc xây dựng và cung cấp các dịch vụ trực tuyến trên nền
tảng cơ sở hạ tầng Windows.


11
Bảng 1. 2: Một số nhà cung cấp dịch vụ PaaS
Nhà cung cấp
Sản phẩm

Môi trƣờng thực
thi
Các dịch vụ đám mây
Google
Google App
Engine
Java Runtime
Environment
Datastore (Java, Python),
Google Accounts (Java,
Python),
Image Manipulation (Java,
Python),
Mail (Java, Python),
Memcache (Java, Python),
URL Fetch (Java, Python)
Microsoft
Azure Services
Platform
Window Azure
Access Control Services,
SQL Services,
Workflow Services,
Service Bus,
Live Services.
Salesforce.com
Force.com
Apex Code for
Business Logic
Database Services,

Web Services APIs
Infrastructures as a Services – IaaS: Nhà cung cấp dịch vụ điện toán đám
mây sẽ cho thuê cơ sở hạ tầng nhƣ là một dịch vụ: tập các tài nguyên vật lí nhƣ các
máy chủ, các thiết bị mạng và các đĩa lƣu trữ đƣợc đƣa ra nhƣ là các dịch vụ cung cấp
cho khách hàng để khách hàng có thể phát triển và chạy các phần mềm của mình (bao
gồm cả hệ điều hành và ứng dụng). Khách hàng không cần phải quan tâm đến những
vấn đề nhƣ mua bán bảo trì thiết bị hay khấu hao tài nguyên qua thời gian sử dụng.
Đặc điểm của IaaS là các hệ điều hành ở đây đƣợc triển khai trên các máy ảo (bản chất
của Điện toán đám mây) và hệ điều hành đƣợc tải lên các máy ảo của nhà cung cấp
dịch vụ nơi mà khách hàng có thể sử dụng các tài nguyên lƣu trữ, tính toán của nhà
cung cấp.IaaS mềm dẻo và có khả năng tùy biến theo kiến trúc cơ sở hạ tầng thay đổi.
Hình 1.6 dƣới đây cho thấy các sản phẩm IaaS là các cơ sở hạ tầng: tài nguyên lƣu trữ,
tài nguyên mạng, v.v. Khi khách hàng có nhu cầu thuê một máy với cấu hình do bạn
đề ra (Vídụ: 4 core, ram 2G, ổ cứng 80G) thì sẽ có các nhà cung cấp đáp ứng vấn đề
này, họ sẽ trích xuất mỗi thứ một ít để tạo nên máy ảo đáp ứng nhu cầu khách hàng.
Nhƣ vậy, cùng một nền tảng phần cứng có thể chia sẻ cho nhiều khách hàng để phục


12
vụ nhiều nhu cầu khác nhau. Các máy ảo này chƣa cài đặt bất cứ ứng dụng nào, nó
giống nhƣ một chiếc máy tính mới mua, khách hàng sẽ truy cập từ xa thông qua mạng
Internet hoặc sử dụng các cơ chế đăng nhập từ xa để tự cài đặt. Nếu khách hàng muốn
sử dụng sẵn nền tảng, họ sẽ đăng ký sử dụng các dịch vụ của PaaS.

Hình 1. 6: Tài nguyên đi thuê của Infrastructures as a Service.
1.1.4. Các mô hình triển khai của Điện toán đám mây
Theo NIST [2], các mô hình triển khai của điện toán đám mây bao gồm: đám mây
công cộng (Public Cloud), đám mây riêng (Private Cloud) và đám mây lai (Hybrid
Cloud):



13

Hình 1. 7: Các mô hình triển khai Điện toán đám mây.
Mô tả trên hình 1.7 cho thấy khu vực Enterprise là khu vực riêng của doanh nghiệp sẽ
do doanh nghiệp chịu trách nhiệm thiết lập và quản lý sử dụng hệ thống mạng Intranet
nội bộ mà không đƣa ra bên ngoài. Thƣờng dùng để quản lý và bảo mật dữ liệu riêng
tƣ. Các nghiệp vụ cơ bản và không cần bảo mật thì có thể xử lý bên ngoài đám mây
công cộng để giảm thiểu chi phí và độ phức tạp quản lý.
Đám mây công cộng (Public Cloud): Đƣợc các nhà cung cấp dịch vụ quảng
bá cho toàn thể ngƣời sử dụng với phần lớn là các sản phẩm phi thƣơng mại với cộng
đồng ngƣời sử dụng không phân biệt khác hàng là cá nhân hay tổ chức, doanh nghiệp
và một đặc điểm của Public Cloud là nhà cung cấp đám mây chịu trách nhiệm về cài
đặt, quản lý, cung cấp và bảo trì. Khách hàng chỉ chịu phí cho các tài nguyên mà họ
thực sử sử dụng.
Ví dụ: ứng dụng Google Mail. Các công ty, tổ chức, cá nhân có thể đăng ký sử
dụng dịch vụ Google Mail với một tài khoản miễn phí (đối với cá nhân) cùng với một
dung lƣợng lƣu trữ nhất định, hoặc với một số tài khoản miễn phí hạn chế (đối với
công ty). Nếu công ty có số lƣợng nhân viên lớn (số tài khoản email) cần cấp lớn thì
họ bắt buộc phải đăng ký dịch vụ với Google và phải trả phí.


14
Đám mây riêng (Private Cloud): có các đặc điểm đám mây riêng đƣợc cung cấp
cho tổ chức, doanh nghiệp là duy nhất.Doanh nghiệp có trách nhiệm thiết lập và bảo trì
hệ thống đám mây này hoặc doanh nghiệp có thể thuê một nhà cung cấp dịch vụ đảm
nhiệm thêm công việc này vì vậy mang lại sự an toàn và sự tin cậy đáng kể cho dữ liệu
của công ty.Chi phí mà doanh nghiệp bỏ ra để đầu tƣ sẽ lớn hơn rất nhiều so với mô
hình public.Doanh nghiệp hoàn toàn chủ động đƣợc việc cấu hình và thay đổi hệ
thống, cài đặt những chƣơng trình, ứng dụng, phần mềm cần thiết và riêng biệt cho tổ

chức.
Đám mây lai (Hybrid Cloud): có đặc điểm là một sự kết hợp của các đám mây
công cộng và riêng. Đám mây lai sử dụng các dịch vụ có trong cả không gian công
cộng và riêng. Các doanh nghiệp sẽ đi thuê các dịch vụ Public Cloud để giải quyết và
xử lý các chức năng nghiệp vụ và dữ liệu không quá quan trọng, họ sẽ giữ lại những
chức năng nghiệp vụ và dữ liệu quan trọng trong tầm kiểm soát của đám mây riêng.
1.1.5. Lợi ích và hạn chế của Điện toán đám mây
Lợi ích của Điện toán đám mây:
Giảm thiểu chi phí: chi phí giao dịch thấp, giảm thiểu tối đa đầu tƣ vào phần cứng,
giảm thiểu việc đầu tƣ vào đội ngũ quản trị công nghệ thông tin.
Khả năng mở rộng: các doanh nghiệp sử dịch dịch vụ điện toán đám mây chỉ phải
trả cho những gì họ sử dụng, do vậy, ban đầu họ có thể đăng ký thuê dịch vụ với mức
hợp lý, khi phát triển, họ có thể mở rộng nhu cầu và có thể yêu cầu dịch vụ nhiều hơn.
Linh hoạt và Dễ dàng hợp tác: các nhân viên của công ty, doanh nghiệp có thể truy
cập mọi lúc, mọi nơi với một thiết bị truy cập internet, vì vậy, họ vẫn có thể làm việc,
trao đổi với nhau ở các địa điểm xa xôi.

Hạn chế của Điện toán đám mây:
Khả năng sẵn sàng: các dịch vụ điện toán đám mây có thể bị tê liệt không báo
trƣớc làm ảnh hƣởng đến hoạt động của khách hàng. Ví dụ điẻn hình gần đây là sự
kiện hãng MegaUpload bị chính phủ Mỹ dừng hoạt động đã khiến hàng ngàn cá nhân
mất các dữ liệu, phim, ảnh để trên đó.
Tính di động của dữ liệu và quyền sở hữu: khi ngừng sử dụng dịch vụ điện toán
đám mây, khách hàng có thể nhận lại tất cả các dữ liệu của mình hay không? sau đó
chúng có đƣợc hủy đi hay nhà cung cấp sẽ tự ý giữ lại một bản sao mà không ai biết?
Tính riêng tư: dữ liệu của khách hàng đƣa lên đám mây có thể bị nhà cung cấp
dịch vụ khai thác hay lợi dụng?


15

1.2 Workflow (Bussiness Process)
Luồng công việc (workflow): Theo Ravneet [14], một luồng công việc hay một quy
trình nghiệp vụ (bussiness process) là thứ tự các bƣớc, tác vụ, sự kiện hoặc tƣơng tác
làm nên một quy trình để thực hiện một công việc nào đó.
Một quy trình nghiệp vụ bao gồm: có mục đích (goal), có dữ liệu đầu vào cụ thể
(event), có dữ liệu đầu ra xác định (event), sử dụng tài nguyên, có các hoạt động đƣợc
thực thi theo một thứ tự định trƣớc theo mô hình nhƣ ở Hình 2.8

Hình 1. 8: Mô hình quy trình nghiệp vụ [14].
Biểu diễn luồng công việc
Mỗi luồng công việc cho phép cấu trúc hóa các ứng dụng trong một đồ thị
không có chu trình (Directed Acyclic Graph - DAG), với mỗi nút (node) đại diện cho
một công việc và mỗi cạnh (edge) biểu diễn sự phụ thuộc giữa các công việc cũng nhƣ
các dữ liệu đầu vào, dữ liệu đầu ra của các công việc, của ứng dụng.
Một DAG có thể chia thành nhiều cấp độ khác nhau (level) theo sự phụ thuộc
giữa các công việc trong luồng công việc đó. Mỗi cấp độ tiếp theo phụ thuộc vào các
công việc ở cấp độ trên nó và bất kỳ cấp độ nào ở phía trƣớc. Trong Hình 1.9 bên dƣới
cho thấy, cấp độ 2 phụ thuộc vào cấp độ 1 và lấy dữ liệu từ đầu ra của cấp 1, cấp độ 3
lại phụ thuộc vào cấp độ 2 Các công việc đƣợc thực thi theo thứ tự từ cấp độ 1 trở
đi.



16

Hình 1. 9: DAG biểu diễn một workflow [14].
Quản lý luồng công việc
Theo Ravneet [14], quản lý luồng công việc là một kỹ thuật phát triển nhanh chóng
mà ngày càng đƣợc chấp nhận tại các doanh nghiệp. Đặc điểm chính của nó là tự động
hóa các quá trình kết hợp giữa con ngƣời và các hoạt động dựa máy móc, đặc biệt là

các tƣơng tác với các công cụ và các ứng dụng của công nghệ thông tin. Mặc dù nó
đƣợc sử dụng phổ biến nhất trong môi trƣờng văn phòng với đội ngũ nhân viên chuyên
ngành nhƣ bảo hiểm, ngân hàng, luật và quản lý chung nhƣng nó cũng đƣợc áp dụng
trông một số phân lớp của sản xuất và công nghiệp [8]. Một đặc tả luồng công việc xác
định: các hoạt động của luồng công việc (các task), các điều khiển chúng và sự phụ
thuộc dữ liệu.
Hệ thống quản lý luồng công việc là một phần mềm cung cấp các hỗ trợ cho các
dịch vụ cần thiết: định nghĩa luồng công việc và tạo quy trình, xác định các luật cho
luồng công việc, quản trị và giám sát việc thực thi luồng công việc. Hệ thống quản lý
luồng công việc định nghĩa, quản lý và thực thi luồng công việc trên các tài nguyên
tính toán. Mục đích của quản lý luồng công việc là để đảm bảo chắc chắn các hoạt
động thích hợp đƣợc thực thi đúng bởi các dịch vụ và ở thời điểm thích hợp.
Lập lịch luồng công việc là một trong những vấn đề quan trọng của quản lý thực thi
luồng công việc. Lập lịch luồng công việc là một quy trình ánh xạ và quản lý thực thi
các công việc phụ thuộc lẫn nhau vào các tài nguyên tính toán. Việc lập lịch sẽ phân
bổ hợp lý các nguồn tài nguyên tới các công việc của luồng công việc để đảm bảo việc
thực thi hoàn thành sẽ đáp ứng các mục đích đề ra của ngƣời dùng. Một chính sách lập
lịch hợp lý sẽ tác động đáng kể tới hiệu năng hoạt động của hệ thống.


17


Lợi ích của việc thực thi luồng công việc trong môi trƣờng Điện toán đám mây:
Theo Ravneet [14], đƣa luồng công việc vào thực thi trong môi trƣờng điện toán đám
mây cho phép sử dụng các dịch vụ đám mây khác nhau. Lợi ích chính của việc này
chính là khả năng mở rộng ứng dụng. Không giống nhƣ môi trƣờng lƣới, môi trƣờng
điện toán đám mây cho phép mở rộng các tài nguyên đám mây theo thời gian thực để
đáp ứng nhu cầu thực thi. Khả năng co giãn của đám mây cho phép mở rộng quy mô
linh hoạt khi có nhu cầu lớn hơn hoặc giảm đi khi nhu cầu thấp. Điều này cho phép hệ

thống quản lý luồng công việc đáp ứng đƣợc nhu cầu về chất lƣợng dịch vụ theo yêu
cầu của ứng dụng. Mô hình lấy ngƣời dùng làm trung tâm trong môi trƣờng điện toán
đám mây làm tăng tính thân thiện và thỏa mãn yêu cầu của ngƣời dùng. Mô hình kinh
doanh "trả cho những gì bạn đã sử dụng" làm giảm các chi phí thực thi luồng công
việc. Cụ thể, lợi ích của việc thực thi trong môi trƣờng điện toán đám mây bao gồm:
Ảo tƣởng về một nguồn tài nguyên vô hạn (Illusion of infinite resources): ngƣời dùng
có thể đƣa ra yêu cầu tài nguyên cần thiết cho ứng dụng ở bất cứ thời điểm nào; Tài
nguyên đi thuê (Lease): ngƣời sử dụng trực tiếp xác định nguồn tài nguyên cần thuê
một cách hợp lý để lập lịch cho các tính toán của họ. Mô hình này là lý tƣởng vì nó
làm giảm chi phí lập lịch; Tính co giãn (Elasticly): cho phép ngƣời dùng có thể thuê
đƣợc và phân bổ tài nguyên theo nhu cầu. Hệ thống workflow dễ dàng phát triển hoặc
thu nhỏ nguồn tài nguyên theo thời gian
Thách thức của việc thực thi luồng công việc trong môi trƣờng Điện toán đám
mây: Theo Ravneet [14], những thách thức gặp phải khi thực thi luồng công việc
trong môi trƣờng Điện toán đám mây bao gồm:
Chi phí: trong thực tế, một số dịch vụ điện toán đám mây là miễn phí, nhƣng một số
dịch vụ thì không. Điều này đồng nghĩa với việc ngƣời sử dụng sẽ phải tiền cho những
gì mà họ sử dụng. Do vậy, chi phí trở thành một mối quan tâm lớn của các ứng dụng
workflow. Nếu đƣa ra cả hai thuộc tính về thời gian và chi phí, ngƣời sử dụng sẽ phải
đƣa ra ngay quyết định là trả nhiều chi phí hơn để giảm thời gian thực hiện hoặc tiết
kiệm chi phí bằng cách cho phép kéo dài thời gian thực thi lâu hơn miễn là thời hạn
cuối cùng để thực hiện công việc vẫn có thể đƣợc đáp ứng.
Thỏa thuận cấp độ dịch vụ: với hầu hết các dịch vụ điện toán đám mây đến từ các tổ
chức thƣơng mại lớn, các thỏa thuận cấp độ dịch vụ trở thành một mối quan tâm quan
trọng cho cả nhà cung cấp dịch vụ và khách hàng. Do cạnh tranh trong cung cấp dịch
vụ đang nổi lên, các nhà cung cấp phải đảm bảo: chất lƣợng dịch vụ (QoS) tốt cho


18
khách hàng và các điều khoản phải rõ ràng cho việc bồi thƣờng trong trƣờng hợp vi

phạm.
Khối lượng dữ liệu: tùy thuộc vào dịch vụ đƣợc cung cấp, khối lƣợng dữ liệu cần
thiết đƣợc vận chuyển qua dịch vụ
Nền tảng hỗ trợ: tùy thuộc vào dịch vụ, nền tảng hỗ trợ yêu cầu của các dịch vụ ứng
dụng đám mây cũng có thể là một nhân tố hạn chế. Ngoài vấn đề trên, có thể có những
thách thức khác nhƣ vấn đề an ninh, tuân thủ các quy định và minh bạch dữ liệu.
Sự cần thiết của việc thực thi workflow trong môi trƣờng Điện toán đám mây:
Chúng ta đã thấy đƣợc những lợi ích khi thực thi luồng công việc [14] trong môi
trƣờng điện toán đám mây ở trên. Hơn nữa, các ứng dụng luồng công việc thƣờng yêu
cầu một môi trƣờng thực thi phức tạp bao gồm: hệ điều hành cụ thể, các thƣ viện, cấu
trúc tệp tin hệ thống, nhiều chƣơng trình ứng dụng và các tệp tin cấu hình. Môi trƣờng
này thƣờng khó có thể tạo trên các tài nguyên lƣới. Ngoài ra, mỗi một vị trí lƣới đều
có cấu hình khác nhau, vì vậy các kết quả thƣờng phải nỗ lực thêm thời gian để chuyển
tới các vị trí mới. Máy ảo cho phép phát triển các ứng dụng tạo ra đầy đủ các tùy biến,
cấu hình các môi trƣờng thực thi đặc biệt cho các ứng dụng của họ.


19
CHƢƠNG 2: PHƢƠNG PHÁP TỐI ƢU BẦY ĐÀN
2.1. Giới thiệu
Tối ƣu hóa bầy đàn (Particle Swarm Optimization – PSO) [5] là kỹ thuật giải quyết
các vấn đề phổ biến nhất thuộc mô hình quần thể thông minh hay bầy đàn thông minh
(Swarm Intelligence – SI). PSO đƣợc giới thiệu lần đầu tiên bởi Kennedy và Eberhat
vào năm 1995. Họ phát triển các phƣơng pháp đơn giản nhƣng hiệu quả trong tối ƣu
hóa các hàm toán học phi tuyến liên tục, áp dụng thành công để giải nhiều bài toán cực
trị hàm số và một số bài toán tối ƣu khác. Các ý tƣởng xuất phát từ việc quan sát các
quần thể sinh học trong tự nhiên, dựa trên các quan hệ, các ứng xử của các cá thể trong
bầy đàn, cách thức tổ chức và hoạt động của quần thể. PSO mô phỏng bầy đàn nhƣ
đàn chim, đàn cá tìm kiếm thức ăn… [12].
PSO nằm trong tính tiến hóa (Evolution Computation – EC) nhƣng nó cũng có một

vài điểm khác [12]. Giống nhƣ nhiều kỹ thuật tiến hóa khác, PSO khởi tạo quần thể
bởi các giải pháp phân bố ngẫu nhiên. Tuy nhiên, PSO khác ở chỗ, nó đánh giá và tiến
hóa các giải pháp dựa trên kinh nghiệm cá nhân và kinh nghiệm của bầy đàn, tốt hơn
so với việc sử dụng các hoạt động tiến hóa (phép lai ghép và đột biện trong giải thuật
di truyền …). Nó giả định xã hội chia sẻ thông tin giúp tiến hóa quần thể, nói cách
khác, quần thể cập nhật các thế hệ và tìm kiếm tối ƣu với thông tin đƣợc chia sẻ.
Kể từ khi ra đời, PSO đã đƣợc phát triển nhanh chóng và có rất nhiều hƣớng
nghiên cứu trong việc cải tiến các tham số, các nghiên cứu đã chỉ ra nhiều kết quả
chứng minh trong các hàm kiểm tra nổi tiếng nhƣ các hàm Shaffer, Sphere,
Rosenbrock, Rastrigin, Griewank [12]
PSO đã đƣợc ứng dụng vào để giải nhiều lớp bài toán khác nhau nhƣ: Tối ƣu hóa
không ràng buộc (Unconstrained Optimization), tối ƣu hóa ràng buộc (Constrained
Optimization), tối ƣu đa mục tiêu (Multi Objective Optimization), tối ƣu hóa động
(Dynamic Optimization Problem), v.v
2.2. Bầy đàn thông minh
Một bầy đàn là một nhóm các sinh vật có tƣơng tác với nhau. Thuật ngữ bầy đàn
thông minh (SI) đƣợc sử dụng lần đầu tiên trong hệ thống robot di động của Beni và
Wang trong những năm 1980. Sau đó, đầu những năm 1990, các nghiên cứu bầy đàn
thông minh đƣợc lấy cảm hứng từ xã hội của các loài côn trùng, các loài chim, cá và
nhận thức của con ngƣời. Hình ảnh đàn chim, đàn các tìm kiếm thức ăn, nguồn nƣớc,
đàn kiếm tìm kiếm thức ăn và đổi hƣớng tránh kẻ thù …Nó đƣợc gọi là kiểu quan hệ
bầy đàn. Trong những năm gần đây, các nhà khoa học đã tập trung nghiên cứu mô
hình bầy đàn nhƣ là một giải pháp chiến lƣợc trong việc giải quyết cả hai loại bài toán
tối ƣu ràng buộc và không có ràng buộc. Họ ứng dụng những nghiên cứu để giải quyết


20
các bài toán tối ƣu nhƣ thiết kế mạng viễn thông, nghiên cứu robot, ứng dụng trong
quân sự …
Các lĩnh vực nghiên cứu chính dựa bầy đàn thông minh:

Giải thuật tối ƣu hóa bầy kiến (Ant Colony Optimization – ACO) [15]: lấy ý tƣởng
từ cách đàn kiến tìm đƣờng từ tổ tới nguồn thức ăn, cách chúng xây dựng đƣờng đi
bằng dấu vết sinh học.

Hình 2. 1: Mô tả kiến tìm đường.
Hình 2.1 mô tả cách thức tìm kiếm thức ăn của bầy kiến:
1: Kiến đầu tiên sẽ tìm thấy thực phẩm (F) thông qua bất kỳ cách nào đó, sau đó trở
về làm tổ (N), để lại đằng sau dấu vết pheromone trên đoạn đƣờng đã qua.
2: Đàn kiến đi ngẫu nhiên theo bốn cách có thể, dấu vết pheromone trên các đoạn
đƣờng càng nhiều, càng hấp dẫn đàn kiến lựa chọn nhƣ là đoạn đƣờng ngắn nhất.
3: Đàn kiến đi theo đoạn đƣờng ngắn nhất, các đoạn đƣờng không đi đến sẽ dần dần
mất đi dấu vết pheromone.

Hình 2. 2: Mô tả chim tìm đường.

×