Ứng dụng của giải thuật di truyền

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Lai ghép nơron Hopfield và giải thuật di truyền giải bài toán tối ưu ràng buộc Luận văn ThS Công nghệ thông tin 1 01 10 (Trang 39 - 46)

Chương 2. Giải thuật di truyền và tính toán tiến hóa

2.3. Ứng dụng của giải thuật di truyền

Sự phát triển và những ứng dụng thực tế của giải thuật di truyền đã cho thấy đây là một phương pháp hiệu quả để giải quyết các bài toán NP khó [19]. Ví dụ:

 Bài toán KNAPSACK_01 (0-1 and multiple knapsack problems)

 Bài toán phân một tập hợp thành các tập hợp con.

 Bài toán lập lịch.

 Bài toán sắp xếp/tách chuỗi DNA (DNA Fragment Assembly Problem).

 Bài toán lát cắt lớn nhất.

 Bài toán kết nối các thiết bị đầu cuối tới các bộ tập trung (bài toán kết nối đa điểm tập trung)…

2.4. Ưu nhược điểm của giải thuật di truyền

Giải thuật di truyền dựa trên ý tưởng quần thể tự nhiên, chọn lọc ngẫu nhiên sẽ làm cho giải thuật có khả năng mạnh mẽ trong việc tìm kiếm một cách song song.

Trong đó tất cả các cá thể trong quần thể sẽ đƣợc cố gắng tìm kiếm ở tất cả các hướng trong không gian tìm kiếm qua đó cho phép GA tránh được tối ưu hóa cục bộ.

Một thế mạnh của GA trong nhiệm vụ tìm kiếm đó là không lo sợ khả năng bùng nổ của tổ hợp tìm kiếm. GA đặc biệt tỏ ra hữu hiệu với các không gian tìm kiếm lớn. Với các không gian tìm kiếm lớn GA không những bảo đảm đƣợc tối ƣu hóa toàn cục mà còn bảo đảm đƣợc thời gian tìm kiếm, một trong những yêu cầu quan trọng của bài toán.

Sự phát triển và những ứng dụng thực tế của giải thuật di truyền đã cho thấy đây là một phương pháp hiệu quả để giải quyết các bài toán NP khó như bài toán tối ƣu tổ hợp, lập lịch…. Song trở ngại chính trong việc áp dụng giải thuật vào các bài toán chính là việc lựa chọn kiểu gene thích hợp và thủ tục khởi tạo tương ứng.

Chương 3. Bài toán kết nối các thiết bị đầu cuối tới các bộ tập trung.

3.1. Giới thiệu

Trong những năm gần đây, việc sử dụng các mạng viễn thông đã tăng lên với một tốc độ nhanh chóng cùng với sự tăng trưởng ấn tượng trong việc sử dụng internet. Trong khi đó, tiện ích và chất lƣợng của các mạng dịch vụ viễn thông hiện là có giới hạn, do đó yêu cầu đạt ra là phải thiết kế các mạng tối ƣu. Sự đa dạng của bài toán kết nối tối ƣu đã nảy sinh không chỉ trong thiết kế, mà còn trong việc quản lý các mạng truyền thông [3,4,5]. Có nhiều vấn đề mới đƣợc yêu cầu, trong nhiều trường hợp, các ứng dụng của các kỹ thuật tối ưu xuất hiện cho việc giải quyết chúng. Trong luận văn này chúng tôi trình bày kỹ thuật lai ghép giữa mạng nơ ron Hopfield nhị phân và giải thuật di truyền nhằm giải quyết bài toán kết nối các thiết bị đầu cuối vào các bộ tập trung (bài toán kết nối đa điểm tập trung - terminal assignment – TA) trong mạng viễn thông.

TA là bài toán NP-đầy đủ để tối ƣu hóa kết nối xuất hiện trong thiết kế và quản lý các mạng viễn thông [3,7]. Mục tiêu của TA liên quan đến việc xác định chi phí tối thiểu để liên kết hình thành một mạng bằng cách kết nối một tập hợp các thiết bị đầu cuối cho sẵn tới một tập hợp các bộ tập trung (bộ tập trung) đã cho. Các thiết bị đầu cuối có các yêu cầu đƣợc biết về khả năng để đƣợc kết nối tới các bộ tập trung sẵn có, và yêu cầu này đa dạng đối với các thiết bị đầu cuối khác nhau. Mỗi bộ tập trung có khả năng liên kết tối đa, điều này giới hạn số lƣợng các thiết bị đầu cuối mà nó có thể xử lý được. Và khả năng này là cũng được biết trước.

TA là bài toán kết nối các thiết bị đầu cuối tới các bộ tập trung theo hai ràng buộc. Thứ nhất, mỗi thiết bị đầu cuối phải đƣợc kết nối tới một và chỉ một bộ tập trung, và thứ hai, yêu cầu tổng tất cả dung lƣợng của các thiết bị đầu cuối kết nối tới một bộ tập trung cho sẵn không đƣợc vƣợt quá khả năng của bộ tập trung này.

Trong chương này chúng tôi trình bày một số phương pháp trước đây được đề xuất để giải quyết bài toán TA nhƣ giải thuật tìm kiếm tham ăn đƣợc đề xuất bởi Abuali et al [7] và giải thuật di truyền kết hợp với hàm phạt [16]. Và trình bày cách tiếp cận của chúng tôi là lai ghép mạng nơ ron Hopfield nhị phân và giải thuật di truyền cho bài toán TA.

3.2. Xác định bài toán Cho tập hợp:

Các thiết bị đầu cuối: l1, l2,…,lN Dung lƣợng (weights): w1, w2, …, wN Các bộ tập trung: r1, r2, …, rN

Dung lƣợng: p1, p2,…,pN

Trong đó wi là dung lƣợng yêu cầu của thiết bị đầu cuối li. Dung lƣợng là các số nguyên dương và wi < min {p1,p2,…,pN} với i = 1,2,..,N. N là số lượng các thiết bị đầu cuối và M là số lượng các bộ tập trung được đặt trên lưới Euclidean, li có tọa độ (li1, li2) và rj được xác định tại (rj1, rj2). Hai cách tiếp cận tương đương cho TA, có thể đƣợc tìm thấy trong [7,16].

Cách phát biểu bài toán thứ 1: Cho X là ma trận nhị phân trong đó mỗi thành phần xij = 1 nếu thiết bị đầu cuối i đƣợc gán tới bộ tập trung j, và xij = 0 ngƣợc lại.

Tìm X để tối thiểu hóa:

1 1

( ) cost

M N

ij ij

j i

Z X x

 

 (3.1) Thoả mãn:

ij 1

1

M

j

x

  i = 1,2,…,N (3.2)

1 N

i ij j

i

x p

  j= 1,2,…,M (3.3)

Trong đó Z là chi phí của tất cả các liên kết trong mạng và costij là chi phí gán thiết bị đầu cuối i tới bộ tập trung j. Chú ý rằng ràng buộc đầu tiên, từ (3.2), đảm bảo rằng mỗi thiết bị đầu cuối phải đƣợc gán với một và chỉ một bộ tập trung, và ràng buộc thứ 2 từ (3.3) đảm bảo rằng ràng buộc là khả năng xử lý trên mỗi bộ tập trung không đƣợc quá tải.

Cách phát biểu bài toán thứ 2: Cho x{ ,x x1 2,...,xN}là một vectơ trong đó xij có nghĩa rằng thiết bị đầu cuối i đã đƣợc gán tới bộ tập trung j, 1 xi Mxi là số nguyên.

Tìm x để cực tiểu:

( ) cost

j ij j i R

Z x

 , (3.4) Và thoả mãn

j

i j

i R

p

  , j = 1,2,…,M (3.5)

Trong đó costij là chi phí kết nối thiết bị đầu cuối i tới bộ tập trung j, và

 | 

j i

Ri xj Rj biểu diễn các thiết bị đầu cuối mà đƣợc kết nối tới bộ tập trung j.

3.2.1 Phân tích các định nghĩa bài toán:

Chúng tôi đã trình bày hai cách định nghĩa bài toán cho TA, đƣợc sử dụng trong luận văn này.

Cách định nghĩa thứ 1 mã hóa TA vào một ma trận nhị phân. Kiểu mã hóa này là đƣợc quan tâm cho việc giải quyết bài toán bởi GA cổ điển bởi việc sử dụng các phép toán nhị phân truyền thống. Nói cách khác, phương thức mã hóa này bao gồm các chuỗi nhị phân lớn cho mã hóa TA, bởi vì ma trận giải quyết X kích thước NxM.

Cách định nghĩa thứ 2 mã hóa bài toán trong cách thức gọn hơn, vì vectơ xcó kích thước N. Mặt khác, cách mã hóa này sử dụng các số nguyên thay thế một số nhị phân, điều đó có thể làm phức tạp các phép toán trong GA.

Nếu chúng ta có ma trận X, thì vectơ x tương ứng có thể được tính như sau:

xij, nếu xij=1 (3.6)

Nếu chúng ta có một giải pháp cho TA đƣợc mã hóa nhƣ một vectơ x, thì ma trận nhị phân X tương ứng có thể được tính như sau:

3.2.2. Ví dụ về bài toán TA

Xem xét TA đƣợc xác định bởi một tập hợp của N = 10 các thiết bị đầu cuối và M = 3 các bộ tập trung trong bảng 3.1 và 3.2. Theo cách phát biểu bài toán 1, mỗi giải pháp trong ví dụ này sẽ đƣợc biểu diễn bởi một ma trận nhị phân X kích thước 10x3, trong khi theo cách phát biểu thứ 2, mỗi một giải pháp sẽ được biểu diễn bởi một vectơ của 10 số nguyên giữa 1 và 3. Nếu chúng ta xem xét hàm chi phí costij là khoảng cách giữa thiết bị đầu cuối i tới bộ tập trung j, thì kết nối tối ƣu đƣợc biểu diễn trong hình 3.1

Bảng 3.1. Dung lƣợng và toạ độ của thiết bị đầu cuối Thiết bị đầu cuối Dung lượng Tọa độ

1 5 (54,28)

2 4 (28,75)

3 4 (84,44)

r3

r1

r2

l2

l1

l3

l5

l4

l6

l7

l8

l10

0, ngƣợc lại 1, if i

ij

x j

x  

  (3.7)

l9

Hình 3.1. Biểu diễn lời giải bài toán TA

4 2 (67,17)

5 3 (90,41)

6 1 (68,67)

7 3 (24,79)

8 4 (38,59)

9 5 (27,86)

10 4 (07,76)

Bảng 3.2. Dung lƣợng và tọa độ của các bộ tập trung Bộ tập trung Dung lượng Tọa độ

1 12 (19,76)

2 14 (50,30)

3 13 (23,79)

3.2.3. Các bài toán liên quan khác.

TA không những đƣợc quan tâm bởi các ứng dụng của nó trong thiết kế các mạng viễn thông cố định, mà nó còn trực tiếp liên quan tới số lƣợng lớn các bài toán trong nhiều ứng dụng khác nhau nhƣ bài toán ba lô (Bin packing problem - BP) [6,17], và bài toán phân nhiệm vụ trong mạng máy tính với các ràng buộc tài nguyên [xem 21].

Đầu tiên, bài toán TA là tương tự với rất nhiều lớp bài toán tối ưu tổ hợp như bài toán ba lô. BP đƣợc xác định bởi một tập hợp các ba lô (bin), B = {b1,…,bN} (nhƣ các bộ tập trung trong TA), với thể tích c và một tập hợp các đồ vật (object) O

= {o1,…,oM} {tương tự các thiết bị đầu cuối trong TA) với thể tích i. Một giải pháp khả thi đƣợc biểu diễn bởi vectơ x = {x1,…,xN}, trong đó xi = j có nghĩa là đối tƣợng thứ i đã đƣợc phân tới ba lô j. Mục đích của bài toán BP là phân các đồ vật tới các ba lô thỏa mãn

j

i i B

c

  .

Trong đó Bj = {i|xi = j} biểu diễn các đối tƣợng thuộc bin j.

Hàm mục tiêu của bài toán BP đó là số các ba lô khác nhau yêu cầu để đạt được một giải pháp khả thi cho bài toán. Định nghĩa này của BP là tương tự cách

Bài toán phân các nhiệm vụ trong mạng máy tính đƣợc xác định bởi một tập hợp các bộ vi xử lý, và một tập hợp các nhiệm vụ của các ứng dụng phân bổ sẽ đƣợc thực thi trên các bộ vi xử lý. Mỗi một nhiệm vụ yêu cầu một số tài nguyên để đƣợc thực hiện (ví dụ bộ nhớ) và mỗi bộ vi xử lý có một tài nguyên tối đa sẵn có cho việc thực thi các nhiệm vụ. Vì vậy, TSAP có thể đạt đƣợc từ bài toán TA bằng cách biến đổi các thiết bị đầu cuối bởi các nhiệm vụ, và các bộ tập trung bởi các bộ vi xử lý, và bao gồm cả mục tiêu đó là tổng thời gian để hoàn thành toàn bộ chương trình (tất cả các nhiệm vụ) và chi phí giao tiếp giữa các nhiệm vụ [21].

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Lai ghép nơron Hopfield và giải thuật di truyền giải bài toán tối ưu ràng buộc Luận văn ThS Công nghệ thông tin 1 01 10 (Trang 39 - 46)

Tải bản đầy đủ (PDF)

(65 trang)