Thuật tốn tối ưu bầy đàn đa mục tiêu

Một phần của tài liệu (LUẬN án TIẾN sĩ) phát triển một số phương pháp thiết kế hệ phân lớp trên cơ sở lý thuyết tập mờ và đại số gia tử luận án TS máy tính 624801 (Trang 103 - 107)

Thuật tốn tối ưu bầy đàn (Particle Swarm Optimization – PSO) được đề xuất bởi Kennedy và Eberhart vào 1995 [33, 75] và được sử dụng cho nhiều bài tốn tối ưu [104, 105] và trong thiết kế tối ưu FLRBC [22, 109]. Ý tưởng chính của thuật tốn dựa trên cách lồi chim di chuyển khi cố gắng tìm các nguồn thức ăn hay tương tự như hành vi của đàn cá. Trong PSO, một cá thể (individual) được gọi là một phần tử (particle) và dân số (population) được gọi là bầy đàn (swarm). Mỗi particle di chuyển trong khơng gian tìm kiếm với một tốc độ nhất định theo phương án tốt nhất trước đĩ của bản thân particle đĩ và phương án tốt nhất trước đĩ của nhĩm. Đây là thuật tốn hiệu quả cho tìm kiếm tồn cục và chỉ cần rất ít tham số. Thiết kế ban đầu của thuật tốn PSO chỉ hỗ trợ tìm kiếm tối ưu đơn mục tiêu và khơng sử dụng các tốn tử lai ghép và đột biến. Tuy nhiên, hầu hết các bài tốn tối ưu trong cuộc sống thực là tối ưu đa mục tiêu. Khĩ khăn trong tối ưu đa mục tiêu là sự xung đột vốn cĩ giữa các mục tiêu được tối ưu.

Từ năm 2002, một số thuật tốn PSO cải tiến đã được phát triển để hỗ trợ giải các bài tốn tối ưu đa mục tiêu (Multi-objective optimization - MOO) [23, 24, 59, 83, 84, 93, 105, 119]. Một trong số các giải đĩ là thuật tốn được đề xuất trong [83] với khái nhiệm chia sẻ thích nghi (fitness sharing) được tích hợp vào trong thuật tốn PSO gốc để giải bài tốn tối ưu đa mục tiêu và được ký hiệu là MOPSO. Bằng các thực nghiệm, tác giả đã chứng minh MOPSO hiệu quả hơn các thuật tốn tiến hĩa đa mục tiêu NSGA-II [28] và PAES [79]. Sau đây là một số khái niệm liên quan đến bài tốn tối ưu đa mục tiêu.

- Chia sẻ thích nghi (fitness sharing): ý tưởng chính của chia sẻ thích nghi [83] là để phân bổ các nguồn tài nguyên cho các cá thể trong dân số. Khi một cá thể i

đang chia sẻ các nguồn tài nguyên với các cá thể khác, sự thích nghi fi của nĩ bị giảm bớt tỷ lệ với số cá thể xung quanh nĩ. Chia sẻ thích nghi đối với một cá thể i

0 i i n j i j f fshare sharing    (3.1)

trong đĩ, n là số cá thể trong dân số,

2 0 ) / ( 1      share j i j i d sharing (3.2)

σshare là khoảng cách giữa các cá thể mà chúng ta muốn duy trì, j i d là khoảng cách giữa các cá thể ij, 2 ( ) j i i j dparticleparticle (3.3)

- Bài tốn tối ưu đa mục tiêu (multi-objective problem): một bài tốn tối đa hĩa tổng quát cĩ thể được phát biểu hình thức như sau:

Định nghĩa 3.1. [83] Tìm một véc-tơ x* = {x*1, x*2, …, x*N}, với N là số chiều trong khơng gian biến quyết định, thỏa:

m bất phương trình ràng buộc gj(x) ≥ 0, j = 1, … m,

p phương trình ràng buộc hk(x) = 0, k = 1, …, p,

và tối đa hĩa hàm véc-tơ: f(x) = {fi(x), i = 1, …, M},

trong đĩ x = {x1, x2, …, xN} là véc-tơ của các biến quyết định. □

Với bài tốn tối ưu đa mục tiêu, chúng ta khơng chỉ tìm kiếm một phương án duy nhất trong khơng gian tìm kiếm mà cần tìm kiếm một tập các phương án và cần chúng đa dạng nhất cĩ thể. Khái niệm tính trội (dominance) được sử dụng để đánh giá các phương án, khái niệm này được phát biểu như sau:

Định nghĩa 3.2. [83] Một phương án u được gọi là trội hơn phương án v nếu hai điều kiện sau đều đúng:

1) Phương án u khơng tồi hơn phương án v đối với tất cả các mục tiêu. 2) Phương án u thực sự tốt hơn phương án v tại ít nhất một mục tiêu. □

Khái niệm tập khơng bị trội hơn (non-dominated set) được định nghĩa như sau:

Định nghĩa 3.3. [83] Giữa một tập phương án P, tập khơng bị trội hơn P’ là tập mà các phương án của nĩ khơng bị trội hơn bởi bất kỳ phương án nào của tập P.

Tập các phương án trong P’ được gọi là tập tối ưu Pareto (Pareto-optimal) hay

mặt Pareto (Pareto front). □

nếu dijshare

Hình 3.2. Sơ đồ mơ phỏng thuật tốn MOPSO trong [83].

Ý tưởng chính được đề xuất trong [83] là sử dụng kỹ thuật PSO để hướng việc tìm kiếm với sự hỗ trợ của chia sẻ thích nghi nhằm trải các particle dọc theo mặt Pareto. Do đĩ, chia sẻ thích nghi được sử dụng để trợ giúp thuật tốn duy trì tính đa dạng giữa các phương án. Các particle bên trong vùng đơng dân cư trong khơng gian mục tiêu sẽ ít được đi theo hơn. Một bộ nhớ lưu trữ ngồi được sử dụng để lưu trữ các particle tốt nhất được tìm thấy trong mỗi lần lặp của thuật tốn. Bộ nhớ lưu trữ ngồi này giúp tìm kiếm các thế hệ kế tiếp và duy trì một tập các phương án khơng bị trội hơn cho tới khi kết thúc thuật tốn. Tập các phương án này tạo thành mặt Pareto. Sơ đồ của thuật tốn tối ưu đa mục tiêu PSO với chia sẻ thích nghi [83] được thể hiện trong Hình 3.2 và được mơ tả hình thức như sau:

Thuật tốn 3.1. MOPSO //[83] Thuật tốn tối ưu đa mục tiêu PSO

Đầu ra: Tập các phương án tối ưu Лopt là kết quả của quá trình huấn luyện.

Begin

Bước 1: Tất cả các biến được sử dụng (popi, pbesti,, fSharei) được khởi tạo và được tính tốn. fSharei được tính như sau:

fSharei =

i

nCount x

(3.4)

trong đĩ, x = 10 hoặc được chọn tùy ý với mục đích gán cho mọi particle cùng một giá trị thích nghi. nCounti được tính như sau:

   n j j i i sharing nCount 0 (3.5)

trong đĩ, n là số particle trong bộ nhớ lưu trữ, j i

sharing được tính theo cơng thức

(3.2).

Bước 2: Tốc độ của particlei được tính tốn như sau:

veli = ω × veli + c1 × r1 × (pbestipopi) + c2 × r2 × (Лhpopi) (3.6) trong đĩ, veli là giá trị tốc độ liền trước đĩ, r1r2 là các giá trị ngẫu nhiên giữa 0 và 1, pbestilà vị trí tốt nhất được tìm thấy bởi particle, ЛhЛopt là vị trí của particle đầu đàn (leader) và popi là vị trí hiện tại của particle. Phần tử đầu đàn được chọn từ bộ nhớ lưu trữ chứa các phần tử tốt nhất theo phương pháp bánh xe Roulette dựa trên giá trị chia sẻ thích nghi.

Bước 3: Vị trí mới của particlei được tính tốn theo các tốc độ đạt được trong bước trước:

popi = popi + veli (3.7)

Bước 4: Các vị trí mới của bầy được đánh giá.

Bước 5: Bộ nhớ lưu trữ Лopt được cập nhật theo tiêu chuẩn tính trội và chia sẻ thích nghi. Cụ thể, với mọi particlei, nếu particlei trội hơn tất cả các phần tử trong bộ nhớ lưu trữ Лopt thì nĩ được thêm vào Лopt sau khi bộ nhớ này được xĩa rỗng. Nếu particlei khơng bị trội hơn bởi bất kỳ phần tử nào trong Лopt thì nếu bộ nhớ Лopt chưa bị đầy thì thêm particlei vào Лopt, ngược lại nếu bộ nhớ

Лopt bị đầy thì tính giá trị chia sẻ thích nghi fSharei của particlei so sánh với chia sẻ thích nghi của các phần tử trong Лopt. Nếu fSharei lớn hơn giá trị chia sẻ thích nghi nhỏ nhất thì phần tử trong bộ nhớ Лopt cĩ giá trị chia sẻ thích nghi nhỏ nhất

sẽ bị thay thế bởi particlei. Trong trường hợp bộ nhớ Лopt bị thay đổi thì cập nhật lại giá trị chia sẻ thích nghi của tất cả các phần tử trong bộ nhớ lưu trữ Лopt.

Bước 6: Bộ nhớ của từng particle được cập nhật sử dụng tiêu chuẩn tính trội. Nếu vị trí hiện tại của particle trội hơn vị trí được lưu trong bộ nhớ của nĩ thì vị trí hiện tại sẽ thay thế vị trí trong bộ nhớ.

Bước 7: Chấm dứt và trả về tập phương án tốt nhất được lưu trong bộ nhớ lưu trữ Лopt nếu đạt số thế hệ Gmax, ngược lại thì trở về Bước 2.

End.

Một phần của tài liệu (LUẬN án TIẾN sĩ) phát triển một số phương pháp thiết kế hệ phân lớp trên cơ sở lý thuyết tập mờ và đại số gia tử luận án TS máy tính 624801 (Trang 103 - 107)

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

(153 trang)