1. Trang chủ
  2. » Luận Văn - Báo Cáo

kết hợp một số phương pháp heuristic giải bài toán tối ưu đa mục tiêu

58 765 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 58
Dung lượng 1,03 MB

Nội dung

Được sự đồng ý của Hội đồng Khoa học trường Đại học Công Nghệ Thông Tin và Truyền Thông – Đại học Thái Nguyên, cùng sự hướng dẫn của TS Vũ Mạnh Xuân, em chọn đề tài khóa luận “Kết hợp mộ

Trang 1

Số hóa bởi trung tâm học liệu 1 http://www.lrc-tnu.edu.vn/

ĐẠI HỌC THÁI NGUYÊN

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG

NGUYỄN CHÍ THANH

KẾT HỢP MỘT SỐ PHƯƠNG PHÁP HEURISTIC

GIẢI BÀI TOÁN TỐI ƯU ĐA MỤC TIÊU

LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH

Thái Nguyên, tháng 11 - 2013

Trang 2

ĐẠI HỌC THÁI NGUYÊN

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG

NGUYỄN CHÍ THANH

KẾT HỢP MỘT SỐ PHƯƠNG PHÁP HEURISTIC

GIẢI BÀI TOÁN TỐI ƯU ĐA MỤC TIÊU

Chuyên ngành: Khoa học máy tính

Mã số: 60 48 01 LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH

NGƯỜI HƯỚNG DẪN KHOA HỌC

TS Vũ Mạnh Xuân

Thái Nguyên, tháng 11 -2013

Trang 3

Số hóa bởi trung tâm học liệu 3 http://www.lrc-tnu.edu.vn/

MỞ ĐẦU

Nhiều vấn đề cần giải quyết trong đời sống hàng ngày dẫn đến bài toán tối ưu, chẳng hạn như trong sản xuất cần giảm chi phí, tăng giá trị sử dụng, lập lịch sản xuất, Vì vậy, lớp bài toán tối ưu đã được quan tâm nghiên cứu

từ lâu và đã đạt được nhiều kết quả Tuy vậy, các kết quả đạt được chủ yếu là lớp bài toán tối ưu một mục tiêu; đối với lớp bài toán tối ưu đa mục tiêu còn gặp nhiều khó khăn

Các bài toán tối ưu đa mục tiêu là những bài toán có ứng dụng thực tiễn trong rất nhiều lĩnh vực của cuộc sống Song nhiều khi các mục tiêu cần đạt được có hàm biểu diễn tương tự nhau mà mục tiêu cần đạt lại ngược nhau Một cách tổng quát có thể nói không có lời giải tối ưu cho những bài toán dạng này, một cách đơn giản vì các lời giải không so sánh được với nhau Có thể lời giải này tốt ở mục tiêu này lại kém ở mục tiêu kia Từ đó xuất hiện khái niệm “trội” đối với các lời giải và dẫn đến khái niệm “tối ưu Pareto”

Đề tài này hướng tới việc phát triển những kỹ thuật tính toán, chủ yếu

là tính toán tiến hoá và các thuật toán lai trong tối ưu đa mục tiêu và cố gắng gắn nó với các mô hình bài toán cụ thể

Được sự đồng ý của Hội đồng Khoa học trường Đại học Công Nghệ Thông Tin và Truyền Thông – Đại học Thái Nguyên, cùng sự hướng dẫn

của TS Vũ Mạnh Xuân, em chọn đề tài khóa luận “Kết hợp một số phương pháp Heuristic giải bài toán tối ưu đa mục tiêu” nhằm nghiên

cứu một phương pháp tiếp cận khác để giải bài toán tối ưu đa mục tiêu đó

là kết hợp một số phương pháp như giải thuật di truyền kết hợp với chiến lược tiến hoá và giải thuật mô phỏng tôi luyện

Mục đích nghiên cứu: tìm hiểu bài toán, một số phương pháp giải bài

toán tối ưu đa mục tiêu, tìm hiểu giải thuật di truyền, chiến lược tiến hoá và

Trang 4

giải thuật mô phỏng tôi luyện trên cơ sở đó kết hợp các phương pháp này để giải bài toán tối ưu đa mục tiêu

Nội dung của đề tài: gồm 3 chương

1) Chương 1 Tổng quan về bài toán tối ưu đa mục tiêu

2) Chương 2 Tìm hiểu một số phương pháp Heuristic

3) Chương 3 Kết hợp các phương pháp Heuristic giải bài toán tối ưu đa mục tiêu

Để tiến hành nghiên cứu đề tài này, em đã sử dụng phối hợp một số phương pháp như: phương pháp nghiên cứu tài liệu (nghiên cứu tài liệu về các giải thuật di truyền (GA), chiến lược tiến hoá (ES), giải thuật mô phỏng tôi luyện (SA), bài toán tối ưu đa mục tiêu, ngôn ngữ lập trình matlab 7.0); phương pháp lấy ý kiến chuyên gia (giáo viên hướng dẫn, tham khảo trên mạng)

Khi thực hiện đề tài này, bước đầu em đã tìm hiểu được một số phương pháp giải bài toán tối ưu đa mục tiêu, một số vấn đề về giải thuật di truyền, chiến lược tiến hoá, giải thuật mô phỏng tôi luyện Kết quả là đã nghiên cứu một kỹ thuật kết hợp giữa giải thuật di truyền, chiến lược tiến hoá và giải thuật mô phong tôi luyện để giải bài toán tối ưu đa mục tiêu và đã lập trình thử nghiệm trên một số bài toán cụ thể

Trang 5

Số hóa bởi trung tâm học liệu 5 http://www.lrc-tnu.edu.vn/

CHƯƠNG 1 TỔNG QUAN VỀ BÀI TOÁN TỐI ƯU ĐA MỤC TIÊU

Chương này trình bày những nghiên cứu cơ bản về bài toán tối ưu đa mục tiêu; những khái niệm cần thiết và điểm qua một số phương pháp giải đã biết làm cơ sở cho những chương sau

1.1 Bài toán tối ưu đa mục tiêu

Trong nhiều ứng dụng thực tế gắn liền với việc thiết kế và kế hoạch hóa trong các ngành kinh tế - kĩ thuật, điều khiển các hoạt động sản xuất, chúng ta thường gặp những bài toán liên quan đến việc phân tích, lựa chọn phương án tốt nhất thoả mãn nhiều mục tiêu khác nhau Đó là bài toán tối

ưu đa mục tiêu Có thể mô tả mô hình toán học của bài toán đa mục tiêu là:

Có k hàm mục tiêu ký hiệu là Y1, Y2, …, Yk với Yi : D  R là những hàm; mỗi X = (x1, …, xn) D (D Rn) gọi là một phương án; D gọi là tập các phương án chấp nhận được; Vấn đề đặt ra là phải tìm được một X0 làm tối ưu hoá (cực đại hoặc cực tiểu) đồng thời các giá trị hàm Y1, Y2, …, Yk Nếu tìm được X0 như vậy thì X0 gọi là phương án tối ưu Song khả năng tồn tại X0 như vậy là rất hiếm vì các hàm mục tiêu Yi thường không hoàn toàn độc lập với nhau Chính vì vậy việc nghiên cứu lớp bài toán tối ưu đa mục tiêu là rất kho khăn mặc dù có ý nghĩa thực tiễn cao

x (1.2)

Y x Y x

Y( ) ( 1( ), , ( )) gọi là vectơ mục tiêu

x gọi là phương án (vectơ quyết định)

Trang 6

Tập nghiệm tối ưu Pareto

Các bài toán tối ưu đa mục tiêu hầu hết đều liên quan đến tập các lời giải tối ưu Pareto, nó xuất phát từ việc bài toán đa mục tiêu có nhiều hàm mục tiêu với các ràng buộc khác nhau, thậm chí các mục tiêu đôi khi đối lập nhau Nhiều lời giải không thể so sánh được với nhau, vì có lời giải tốt cho mục tiêu này nhưng lại xấu cho mục tiêu khác Có thể minh hoạ điều này trong bài toán cần cực tiểu tỷ lệ rủi ro và giá trong hình 1.1 sau:

Trong hình trên, với các điểm A và B không thể nói điểm nào tốt hơn,

A có giá trị nhỏ hơn song lại có tỷ lệ rủi ro cao hơn B Các điểm như vậy tạo thành tập lời giải tối ưu Pareto Tuy nhiên cũng có những lời giải mà có thể so sánh và chọn được lời giải tốt hơn, chẳng hạn như điểm B tốt hơn so với C trong hình trên Như vậy trong tối ưu đa mục tiêu thường tồn tại nhiều lời giải chứ không duy nhất như trường hợp một mục tiêu

Dễ dàng thấy bài toán tìm max có thể chuyển tương ứng về bài toán tìm min Vì vậy sau đây ta chỉ xét bài toán tìm min

Định nghĩa 1.1

(a) Cho hai phương án quyết định x, y D Khi đó, phương án x được

gọi là trội hơn phương án y ( kí hiệu xp y ), nếu ta có: Y( x ) Y( y ) và Y( x ) Y( y ) , y còn được gọi là bị trội bởi x Nếu ngược lại, y được gọi là không bị trội bởi x

Hình 1.1 Minh hoạ tập Pareto

Trang 7

Số hóa bởi trung tâm học liệu 7 http://www.lrc-tnu.edu.vn/

(b) Một phương án x R được gọi là nghiệm Pareto tối ưu ( hay n điểm Pareto) nếu không có n

y R mà y trội hơn x Tập tất cả các nghiệm

Pareto tối ưu gọi là tập Pareto tối ưu

(c) Một phương án x Rn là nghiệm Pareto tối ưu yếu nếu không tồn

y R màY( y ) Y( x )

Nếu bài toán tối ưu đa mục tiêu có nghiệm được gọi là tối ưu theo một cách định nghĩa nào đó thì không phụ thuộc vào cách định nghĩa đã chọn, nghiệm tối ưu đó phải là một phương án Pareto tối ưu (tức là, nghiệm đó phải thuộc tập Pareto tối ưu)

Trên thực tế, việc tìm tập lời giải Pareto của các bài toán tối ưu đa mục tiêu là khó khăn và thường ít thực hiện được Vì vậy, một số chiến lược tìm kiếm ngẫu nhiên (như thuật toán tiến hóa, phương pháp vùng cấm, mô phỏng luyện kim,…) đã được phát triển Măc dù các chiến lược này thường không đảm bảo xác định chính xác tập tối ưu Pareto, nhưng đều cố gắng tìm ra một tập xấp xỉ tốt, tức là 1 tập các phương án mà vectơ mục tiêu không quá xa mục tiêu tối ưu Pareto

(c) Một tập F * Rn được gọi là một tập Pareto nếu F * là một tập

xấp xỉ Pareto và mọi điểm thuộc *

F đều là điểm Pareto

Trang 8

Nói chung việc giải bài toán tối ưu đa mục tiêu thường hướng đến hai điều sau:

1) Đưa ra được nhiều phương án tối ưu Pareto

2) Các phương án này càng đa dạng và phủ tương đối đều khắc miền D càng tốt

Sau đây ta sẽ trình bày một số phương pháp giải bài toán tối ưu đa mục tiêu đã biết

1.3 Một số phương pháp giải

Có nhiều phương pháp để giải bài toán tối ưu đa mục tiêu như: phương pháp nhượng bộ dần, phương pháp tìm nghiệm có khoảng cách ngắn nhất đến nghiệm lý tưởng, phương pháp giải theo dãy mục tiêu đã được sắp xếp, phương pháp trọng số, , nhưng trong phạm vi nghiên cứu của đề tài chỉ trình bày một số phương pháp giải sau:

1.3.1 Phương pháp nhượng bộ dần

Phương pháp này dẫn đến việc tìm một lời giải thỏa hiệp tốt nhất tức là

tìm nghiệm x* mà theo ý thích của người nhận lời giải thì x D: x* x hoặc x* ~ x

Thuật toán giải:

Bước 0: Giải k bài toán l mục tiêu riêng rẽ Sau đó lập bảng thưởng phạt

(trong đó x i

là phương án tối ưu Y i0 là giá trị tối ưu)

Trang 9

Số hóa bởi trung tâm học liệu 9 http://www.lrc-tnu.edu.vn/

*

là giá trị tối ưu của bài toán, chuyển sang bước 2

Bước 2: Người nhận lời giải căn cứ vào Y 2 0 và Y 2 * , bắt Y 2 nhượng bộ 1 lượng Y 2 và giải bài toán:

là giá trị tối ưu của bài toán, chuyển sang bước tiếp theo:

Trang 10

Nghiệm cuối cùng của bài toán này lấy làm nghiệm cho bài toán xuất phát

1.3.2 Phương pháp tìm nghiệm có khoảng cách ngắn nhất đến nghiệm lý tưởng

Ở đây giá trị hàm lợi ích tỉ lệ với khoảng cách từ phương án x D đến

cái gọi là nghiệm lý tưởng Phương án x 1 x2 khi và chi khi x 1 gần nghiệm lý

1

2 1

Với x 1

= (x 1 1,…, x 1 n ); x 2 = (x 2 1,…, x 2 n )

α là tham số (α >=1)

Số d α có tính chất: d ∞ d α d 1

Với d ∞ = lim d ∞ = max x1i x12 , i = 1, , n

Bài toán tối ưu đa mục tiêu

max

x D Y( x )

x* là nghiệm lý tưởng ta hiểu ở đây là một nghiệm (nói chung không nhất thiết là phương án chấp nhận được), mà tại đó giá trị của mỗi hàm mục tiêu riêng rẽ đều đạt cực đại

Giả sử Y* là các giá trị tối ưu của từng mục riêng rẽ (Y* i = max Y( x )) Khi đó giá trị của hàm mục tiêu Y tại x* là : (Y* 1 ,…,Y* k) và khoảng cách từ

một phương án x đến nghiệm lý tưởng xác định bởi:

1

*

) (

Bài toán cực tiểu khoảng cách đến nghiệm lý tưởng là:

1

*

) ( (1.3)

Trang 11

Số hóa bởi trung tâm học liệu 11 http://www.lrc-tnu.edu.vn/

Ở đây vấn đề xác định α nói chung phụ thuộc vào các bài toán cụ thể và các kết quả về mặt lý thuyết để tìm ra một thuật toán giải bài toán quy hoạch (1.3) và (1.4)

 Với trường hợp α=1 việc cực tiểu hoá :

x D i

i

Y

1 2 1

1

) ( )

x D (1.6)

Nếu x* là nghiệm của (1.5), (1.6) thì nó là nghiệm thoả hiệp tốt nhất

theo nghĩa x D: x* x hoặc x* ~ x (trường hợp sau xảy ra khi x cũng là

nghiệm tối ưu)

Ở đây 1= Y* 1 - W ta hiểu là nhượng bộ của mục tiêu thứ 1, như thế

quan điểm nhượng bộ ở đây là dựa trên nhượng bộ đồng đều theo tất cả các chỉ tiêu, phương án X* là trội nhất nếu nhượng bộ “đều ” của nó là nhỏ nhất

Trong trường hợp chung, tập các nghiệm của (1.5), (1.6) là tập các nghiệm thoả hiệp tốt nhất Người ta cũng chứng minh được rằng tập các nghiệm thỏa hiệp tốt nhất là một tập con của tập các nghiệm không cải tiến được

Zeleny (1974) đã chứng minh: Tập các nghiệm thoả hiệp ứng với

dα(1 α ∞) nằm trong khoảng nghiệm ứng với d1 và dα

Trang 12

Còn trong trường hợp α = ∞ Xalucvatde có nêu ra một thuật toán thoả hiệp Ở đây các quan hệ , ~ được dựa trên các metric dα:

1

1

) (

1

2

) (

1

1

) (

1

2

) (

*

1.3.3 Phương pháp giải theo dãy mục tiêu đã được sắp xếp

Theo phương án này hàm lợi ích được thể hiện dưới dạng ẩn Còn việc xác định quan hệ , ~ dựa trên thứ tự dãy tiêu chuẩn <Y 1 …, Y k>

Ở đây thứ tự của dãy thể hiện mức độ quan trọng của dãy tiêu chuẩn, có

sự ưu tiên tuyệt đối cho các mục tiêu đứng trước

Bước k: Giải bài toán : max k

1.3.4 Phương pháp từng bước của Benayoun

Phương pháp có hai biến dạng như sau:

Trang 13

Số hóa bởi trung tâm học liệu 13 http://www.lrc-tnu.edu.vn/

- Các độ lệch tương đối của hàm mục tiêu thì được gắn với một bộ trọng

số tương ứng Trọng số này được xác định dựa trên khoảng biến động của từng mục tiêu

- Miền chấp nhận được của nó có thể thay đổi qua các bước giải

Hàm “lợi ích” và các quan hệ xác định như phương pháp tìm nghiệm có khoảng cách nhất đến nghiệm lý tưởng

Bài toán cơ bản mà phương pháp này xét

k I d

x Y

Ta viết d' là metric đã thay đổi

D i là miền chấp nhận được Khi i = 0 thì D 0 D

Thuật toán giải như sau:

Bước 1: Xây dựng bảng “thưởng phạt” xác định M I và m I (giá trị max

I I I

C

M

m M

1

2

)(

và giải bài toán i

Bước 4: Giả sử nghiệm của bài toán I là x(i) Đưa cho người nhận lời giải nghiệm x(i) Người nhận lời giải phân tích kết quả và xảy ra:

Trang 14

1) Nếu người nhận lời giải (NNLG) chấp nhận x(i) thì thuật toán kết thúc

2) Nếu NNLG không chấp nhận x(i) và nếu chỉ số i < k-1 thì sang bước 5

3) Nếu NNLG không thoả mãn x(i) và i = k – 1 thì chọn cách giải khác

Bước 5 : NNLG phân tích kết quả và tìm ra mục tiêu I*

| ) (

) ( )

I I

I

I I

i

Y i x Y x Y

I I i

x Y x Y

D X

I I

Còn đối với I I*

thì tính nhờ giá trị tối ưu của bài toán tìm hướng và giá trị hàm lợi ích Tăng i lên một đơn vị và chuyển về bước 3

Thuật toán kết thúc sau không quá k lần lặp

1.3.5 Thuật toán thích nghi ổn định tối ưu hoá vectơ

Bài toán quy hoạch đa mục tiêu được hiểu như là bài toán tối ưu hoá vectơ:

) ( ), , (

Y

R D x

k n

Các Y 1 (x) biểu hiện độ tốt xấu của x theo nghĩa nào đó

Ta xét bài toán max

Giả thiết x0 D là vectơ tối ưu đối với người nhận lời giải Yêu cầu người nhận lời giải ước lượng giá trị mà mình thích nhất: Y 0

v , ( v 1,k ) với

điều kiện:

) ( 0

0

x Y

Vectơ x là lời giải tối ưu của:

k v x

Y Y

x Y Y

Trang 15

Số hóa bởi trung tâm học liệu 15 http://www.lrc-tnu.edu.vn/

Đặt độ lệch: v(Y0v(x)) Y0v Y v(x) v 1 ,k

bài toán

D x

x Y

v E Y Y x

1

2 0

min }

)) ( {(

v v v

1

1

;0(ký hiệu E là kỳ vọng toán học)

Người ta mở rộng bài toán trên và đưa ra một thuật toán giải nó

Hàm lợi ích trong trường hợp này không thể hiện một cách tường minh

mà người nhận lời giải ngụ ý rằng trên D có một hàm ý thích Còn quan hệ

~

,

 được rút ra thông qua việc so sánh các hàm mục tiêu

1.3.6 Phương pháp trọng số

Xét bài toán (1.1), giả sử các hàm mục tiêu fi có độ quan trọng lần

lượt là w i (i=1 k) Khi đó, bài toán (1.1) có thể chuyển về bài toán một

mục tiêu sau:

k

i

i i D

.1

Vấn đề cốt lõi ở đây là làm thế nào để chọn trọng số cho các hàm mục tiêu Đã có nhiều nhà nghiên cứu phát triển các cách tiếp cận để lựa chọn trọng số, như: Eckenrode (1965), Hobbs (1980), Hwang và Yoon (1981), và

Trang 16

Voogd (1983) Trong đó đều có tư tưởng chung là gắn trọng số dựa theo độ quan trọng của mục tiêu Rato và Roy (1989) đã thảo luận về phương pháp xác định trọng số dựa trên lý thuyết tập mờ Về sau, có một số nghiên cứu

đã chỉ ra rằng trọng số có thể được lựa chọn một cách ngẫu nhiên (theo xác suất) trong quá trình tiến hoá Sau đây trình bày về hai cách chọn trọng số

* Chọn trọng số dựa theo độ quan trọng

Với cách này, các trọng số thường được cho trước theo ý đồ của người quyết định hoặc theo ý kiến chuyên gia Do vây các trọng số là cố định trong suốt quá trình thực hiện và bài toán (2.1) được đưa về bài toán tối

ưu môt mục tiêu k

i

i

i f x W

1

) (

* (cực tiểu W)

Ví dụ: Với bài toán thiết kế hồ chứa nước, theo ý người sử dụng, tổng

giá thành f 1 và dung tích f 3 là quan trọng hơn, có đô quan trọng được cho

cùng là 0.4, còn lượng tổn thất bay hơi f 2 có đô quan trọng được cho là 0.2

Như vây, véc tơ trọng số ở đây là ( = (0.4,0.2,0.4), các trọng số này là cố

định trong suốt quá trình tiến hóa Khi đó bài toán đã cho chuyển về bài

toán min{0.4 f1+ 0.2f2 + 0.4f 3}

Trang 17

Số hóa bởi trung tâm học liệu 17 http://www.lrc-tnu.edu.vn/

* Trọng số được chọn một cách ngẫu nhiên (theo xác suất)

Các trọng số w i của các hàm mục tiêu tương ứng được chọn một cách

ngẫu nhiên Thường các w i cũng là các trọng số không âm và w i 1 (i = 1, ,k)

Ở đây quan hệ trội được rút ra thông qua việc so sánh hàm mục tiêu (1.7)

Kết Luận: phần trên giới thiệu những vấn đề tổng quan và một số

phương pháp giải bài toán tối ưu đa mục tiêu

Trang 18

Chương 2: MỘT SỐ PHƯƠNG PHÁP HEURISTIC

Chương này giới thiệu những vấn đề khái quát về giải thuật di truyền (GA), chiến lược tiến hoá (ES) và giải thuật mô phỏng tôi luyện (SA) làm cơ

sở cho việc ứng dụng giải bài toán tối ưu đa mục tiêu

2.1 Giải thuật di truyền (GA - Genetic Algorithm)

2.1.1 Khái quát chung

Giải thuật di truyền GA(GENETIC ALGORITHM) do D.E Goldberg

đề xuất, sau đó được L Davis và Z Michalevicz phát triển, đây cũng chính là một trong các thuật toán tiến hóa Thuật toán tiến hóa là các chương trình máy tính có dùng các thuật toán tìm kiếm, tối ưu hóa dựa trên nguyên lý tiến hóa

tự nhiên

Giải thuật di truyền được hình thành dựa trên quan niệm: quá trình tiến hóa tự nhiên là quá trình hoàn hảo và hợp lý nhất, tự quá trình này đã mang tính tối ưu Quan niệm này là một tiên đề đúng, không chứng minh được nhưng phù hợp với thực tế khách quan Tính tối ưu của quá trình tiến hóa thể hiện ở đặc điểm, thế hệ sau bao giờ cũng tốt hơn (phát triển hơn, hoàn thiện hơn) thế hệ trước Tiến hóa tự nhiên được duy trì nhờ hai quá trình cơ bản là sinh sản và chọn lọc tự nhiên, trong suốt quá trình tiến hóa tự nhiên, các thế

hệ mới luôn được sinh ra để bổ sung thay thế thế hệ cũ Cá thể nào phát triển hơn, thích ứng hơn với môi trường sẽ tồn tại, cá thể nào không thích ứng được với môi trường sẽ bị đào thải Sự thay đổi của môi trường là động lực thúc đẩy quá trình tiến hóa, ngược lại tiến hóa cũng tác động trở lại góp phần thay đổi môi trường

Giải thuật di truyền (GA-Genetic Algorithms) là giải thuật tìm kiếm, chọn lựa các giải pháp tối ưu để giải quyết các bài toán thực tế khác nhau, dựa trên cơ chế chọn lọc của tự nhiên: từ tập lời giải ban đầu, thông qua nhiều bước tiến hoá, hình thành tập lời giải mới phù hợp hơn, và cuối cùng dẫn đến lời giải tối ưu toàn cục

Trang 19

Số hóa bởi trung tâm học liệu 19 http://www.lrc-tnu.edu.vn/

với môi trường, cá thể nào thích nghi hơn thì tồn tại, cá thể nào kém thích nghi thì bị tiêu diệt Trong mỗi cá thể, các gen liên kết với nhau theo cấu trúc dạng chuỗi, gọi là nhiễm sắc thể (NST) Mỗi NST đặc trưng cho mỗi loài và quyết định sự sống còn của cá thể đó Do môi trường tự nhiên luôn biến đổi nên cấu trúc NST cũng thay đổi để thích nghi với môi trường và thế hệ sau luôn thích nghi hơn thế hệ trước Cấu trúc này có được do sự trao đổi thông tin có tính ngẫu nhiên với môi trường bên ngoài hoặc giữa các NST với nhau

2.1.2 Các vấn đề cơ bản của giải thuật di truyền

2.1.2.1 Mã hóa

Việc mô tả di truyền cho lời giải cho bài toán gồm hai phần cơ bản: + Xây dựng cấu trúc gen cho mỗi lời giải của bài toán để từ mỗi lời giải

ta có thể mã hoá thành một NST (chuỗi các gen)

+ Giải mã các NST để nhận được lời giải

Đây là vấn đề cần giải quyết trước khi giải bài toán với GA Tuỳ thuộc vào nội dung của mỗi bài toán mà ta có cách mã hoá khác nhau

Sau đây là phương pháp mã hoá hay được sử dụng:

Mã hoá dạng chuỗi nhị phân: đây là phương pháp thông dụng và cơ

bản nhất được sử dụng ngay từ bước ban đầu khi nghiên cứu GA Trong phương pháp này mỗi NST là một chuỗi các bit 0 và 1

Mã hoá thứ tự: được sử dụng trong bài toán có sắp xếp thứ tự Ở đây mỗi

NST là một chuỗi các số nguyên thể hiện thứ tự phân bố lời giải của bài toán

Mã hoá theo giá trị: được sử dụng trong các bài toán mà mỗi lời giải là

tập các giá trị (ví dụ tập số thực) Trong phương pháp này, mỗi NST là một chuỗi các giá trị có mối quan hệ tương ứng với bài toán

Mã hoá dạng cây: được sử dụng chủ yếu trong các biểu thức toán học,

trong phương pháp mã hoá này mỗi NST là một cây của một nhóm đối tượng nào đó

Ví dụ: Biểu thức sau x+(y / 5) được mã hoá thành:

Trang 20

Mã hoá số thực : Mỗi NST được mã hoá là một véc tơ trong không

gian Rm chẳng hạn X = (a1, a2, ., am) với các ai R Cách mã hoá này thường tự nhiên đối với các bài toán tối ưu số và được phát triển rất mạnh

trong thời gian gần đây

2.1.2.2 Tạo lập lời giải ban đầu (khởi tạo quần thể)

Tập lời giải ban đầu thường được khởi tạo ngẫu nhiên từ miền xác định của các lời giải Cách tạo lập tập lời giải ban đầu phụ thuộc rất nhiều vào cách

2.1.2.4 Các toán tử di truyền

a Toán tử chọn lọc

Trong quá trình thực hiện của giải thuật di truyền, sau mỗi lần tiến hoá

ta chỉ giữ lại các cá thể có độ phù hợp cao còn các cá thể phù hợp thấp bị loại

Trang 21

Số hóa bởi trung tâm học liệu 21 http://www.lrc-tnu.edu.vn/

người ta cũng phát triển nhiều sơ đồ chọn khác nhau nhằm là tăng tính đa dạng của quần thể, tránh sự hội tụ sớm

b Toán tử lai ghép là toán tử di truyền cơ bản trong GA, tiến trình lai ghép như sau :

Bước 1: Tạo ra tập NST để tạo sinh từ quần thể bằng cách chọn ngẫu

nhiên N NST từ M NST (M là kích cỡ quần thể)

Có nhiều cách chọn:

Chọn ngẫu nhiên theo thứ tự: lặp N lần việc tạo ngẫu nhiên ra một số

nguyên i thuộc khoảng [1, M] để chọn NST thứ i

Chọn theo trọng số: tạo trọng số tích luỹ cho M NST theo công thức:

M k

i

k

i p

1

(với bài toán tìm min)

M k

i

k

i M p

1

1 (với bài toán tìm max)

Sau khi có trọng số tích luỹ cho NST, ta lần lượt tạo các xác suất ngẫu nhiên r và duyệt từ NST đầu tiên đến khi gặp NST có trọng số tích luỹ lớn hơn r thì chọn nó

Bước 2: Sau khi chọn được N NST, lần lượt lấy ra từng cặp NST để lai

ghép tạo ra hai NST mới Một số dạng toán tử lai ghép hay dùng là :

Lai ghép 1 điểm: chọn ngẫu nhiên một vị trí sau đó hoán vị phần đứng

sau vị trí vừa chọn giữa hai NST cha và mẹ để nhận được hai NST con

Lai ghép hai điểm: chọn ngẫu nhiên hai vị trí trong một NST, sau đó

hoán vị các giá trị đứng giữa hai điểm đã chọn của hai NST cha mẹ để nhận được hai NST con

Lai ghép mặt nạ: tạo một mặt nạ ngẫu nhiên có số bit bằng chiều dài

của NST Ta sẽ hoán vị các giá trị của hai NST cha và mẹ ở những vị trí tương ứng với vị trí bit 1 của mặt nạ

Trang 22

c Toán tử đột biến: Toán tử đột biến được xây dựng để tránh việc nhận

được giá trị tối ưu cục bộ Đột biến gây ra thay đổi ngẫu nhiên trên từng bit của NST để tạo ra một NST mới

d Tạo sinh: Chọn các cá thể từ quần thể hiện thời làm quần thể mới

cho lần lặp kế tiếp

2.1.3 Thuật toán di truyền

Giải thuật di truyền giải một bài toán cần có các thành phần sau:

1 Một cấu trúc dữ liệu biểu diễn không gian lời giải của bài toán

2 Cách khởi tạo quần thể ban đầu

3 Hàm định nghĩa độ thích nghi eval(), đóng vai trò môi trường

4 Các phép toán di truyền ( phép lai, phép đột biến, phép tái sinh

Lai tạo các cá thể đã chọn tạo ra P(t) mới;

Đột biến các cá thể trong P(t) theo xác suất p m ; Đánh giá độ phù hợp các cá thể trong tập P(t);

Until (thoả điều kiện dừng);

End;

Trang 23

Số hóa bởi trung tâm học liệu 23 http://www.lrc-tnu.edu.vn/

Tại lần lặp thứ t, GA xác định một tập hợp các lời giải có thể (các cá thể hay NST) gọi là quần thể P(t) = { xt

1,,xt2, ,xtn } Mỗi lời giải xti được đánh giá nhằm xác định độ phù hợp của nó Sau đó, một tập hợp các lời giải được hình thành nhờ sự lựa chọn các lời giải phù hợp hơn Một số phần tử của tập hợp này được tái sản xuất thông qua lai ghép và đột biến Từ đó hình thành quần thể mới P(t+1) với hy vọng chứa các cá thể phù hợp hơn quần thể trước đó

Toán tử “lai ghép” kết hợp các đặc trưng của hai NST cha và mẹ hình

thành hai NST con tương ứng chẳng hạn bằng cách hoán vị các đoạn thích hợp của hai NST cha và mẹ Ví dụ, nếu cặp nhiễm sắc thể cha mẹ được biểu diễn dưới dạng hai véc tơ:

(a1, b1, c1, d1, e1 ) và (a2, b2, c2, d2, e2)

thì cặp véc tơ con cháu nhận được sau khi lai ghép có thể là:

(a1, b1, c1, d2, e2) và (a2, b2, c2, d1, e1)

Toán tử “đột biến” thay đổi một hay một số gen của NST được chọn

theo quy tắc thay đổi ngẫu nhiên với xác suất bằng tỷ lệ đột biến

, mỗi NST được mã hoá là một véc tơ trong không gian Rm

chẳng hạn X

= (a1, a2, , am) với các ai R Cách mã hoá này thường tự nhiên đối với các

bài toán tối ưu số và được phát triển rất mạnh trong thời gian gần đây

2.1.4 Giải thuật di truyền mã hóa số thực (RCGA - Real–Code Genetic Algorithm)

2.1.4.1 Mã hóa RCGA

Trang 24

Trong phần này ta quan tâm tới giải thuật di truyền mã hóa số thực (RCGA) để giải các bài toán tối ưu giá trị thực trong không gian Rn

Trong GA mã hoá số thực, mỗi cá thể được biểu diễn như một véc tơ thực n chiều: b = (x1 , x2, , xn), xi R

Như vậy một quần thể kích cỡ m là một tập hợp có m véctơ trong Rn

Ta cũng có thể xem một quần thể kích cỡ m như một ma trận thực cấp (mxn), đây là cách mã hoá tự nhiên và thuận tiện trong việc thực hiện các toán tử tiến hóa Sau đây ta sẽ xem xét cụ thể hơn các toán tử này trong giải thuật di truyền mã hoá số thực

2.1.4.2 Các toán tử của RCGA

a Toán tử chọn lọc

Trong quá trình thực hiện của giải thuật di truyền, sau mỗi lần tiến hoá

ta chỉ giữ lại các cá thể có độ phù hợp cao còn các cá thể phù hợp thấp bị loại

bỏ Toán tử chọn lọc thường giữ lại 50% các cá thể phù hợp nhất Tuy nhiên người ta cũng phát triển nhiều sơ đồ chọn khác nhau nhằm là tăng tính đa dạng của quần thể, tránh sự hội tụ sớm

Sử dụng bánh xe Roulette

Có nhiều cách để thực hiện toán tử chọn lọc, nói chung đều theo tư tưởng cá thể có độ thích nghi cao hơn thì khả năng được chọn nhiều hơn Nhưng có lẽ đơn giản và hiệu quả nhất là sử dụng bánh xe Roulette (roulette wheel), mỗi cá thể trong quần thể chiếm một khe có độ rộng tỷ lệ thuận với

Trang 25

Số hóa bởi trung tâm học liệu 25 http://www.lrc-tnu.edu.vn/

giá trị phù hợp Độ rộng của khe được tính bằng tỷ lệ % giá trị phù hợp của một cá thể trên tổng giá trị phù hợp toàn quần thể

Gọi f i là độ phù hợp của cá thể thứ i trong quần thể gồm N cá thể khi đó

cá thể i sẽ được chọn với xác suất N

i i

i i

f

f p

1

Trên vòng tròn Roulette mỗi

chuỗi trong quần thể chiếm một khe có độ rộng tỷ lệ với độ phù hợp của chuỗi Độ rộng của khe được tính theo tỷ lệ phần trăm độ phù hợp của chuỗi với tổng độ phù hợp của toàn quần thể là 100% Ví dụ với quần thể gồm 4 cá

Các bước tiến hành thủ tục quay Roulette :

- Đánh số các cá thể trong quần thể Tính tổng độ phù hợp của toàn quần thể sumfitness, và ứng với mỗi cá thể tính một tổng chạy subtotal bằng tổng độ phù hợp của cá thể đó với độ phù hợp của các cá thể đứng phía trước

- Sinh một số ngẫu nhiên r trong khoảng từ 0 đến tổng độ phù hợp sumfitness

- Cá thể đầu tiên trong quần thể có tổng chạy subtotal lớn hơn hoặc bằng r sẽ được chọn

1.1, với số ngẫu nhiên r = 654 thì chuỗi thứ 2 sẽ được chọn

Trên thực tế, người ta thường sử dụng toán tử chọn lọc tỷ lệ được mô tả như sau:

Trang 26

b f r

) ( ) DO

+ Lai số học (Arithmetic Crossover)

Phép lai này chọn một số thực a (0<a<1); các con X' và Y' được tính bởi:

x'i = a*xi + (1-a)*yi ; y'i = a*yi + (1-a)*xi

+ Lai ghép Heuristic

Giả sử với cặp bố mẹ (X, Y) đã chọn, trong đó cá thể X có độ thích nghi (giá trị hàm mục tiêu) tốt hơn cá thể Y thì toán tử này tạo một con duy nhất X' từ cặp X, Y bởi:

x'i = *(xi - yi) + xi với 0 < < 1

+ Lai đơn giản

Phép lai này tương tự như lai 1 điểm của GA kinh điển Với một vị trí k chọn ngẫu nhiên (1 < k < n); các cá thể con được sinh ra như sau :

Trang 27

Số hóa bởi trung tâm học liệu 27 http://www.lrc-tnu.edu.vn/

+ Lai ghép mặt nạ

Phép lai này khởi tạo một véc tơ ngẫu nhiên r = (r1, r2, , rn ) trong đó các ri chỉ là 0 hay 1 Sau đó cá thể con được sinh ra như sau :

c 1 = (z 1 , z 2 , , z n ) trong đó zi = xi nếu ri = 1 và zi = yi nếu ri = 0

Các thể con c2 được tính ngược lại

+ Lai ghép BLX- (Blend Crossover)

Ký hiệu cặp nhiễm sắc thể đã chọn lai ghép là

X = (x1, , xk , xk+1 , , xn ) và Y = (y1, , yk , yk+1 , , yn ) Với các ký hiệu cá thể cha mẹ chọn lai ghép như trên, đặt

I = max(xi , yi ) - min(xi , yi ) với mỗi i, Khi đó thành phần thứ i của cá thể con tạo ra là một số ngẫu nhiên chọn trong khoảng [min(xi , yi ) – I* , max(xi , yi ) + I* ]

Toán tử BLX- đã được thử nghiệm và chứng minh tính hiệu quả của

nó, giá trị tốt nhất là 0.5

+ Lai ghép SBX (Simulated Binary Crossover)

Toán tử SBX là toán tử lai ghép áp dụng cho giải thuật di truyền mã hóa số thực (RCGA), tạo hai cá thể con từ một cặp cá thể cha mẹ đã chọn SBX được Deb và Agrawal giới thiệu năm 1995 và đã được chọn làm toán tử tạo sinh cơ bản trong nhiều nghiên cứu khác

Giải thuật được trình bày chi tiết như sau:

Giả sử x = (x1, x2 , xn) và y = (y1, y2 , , yn) là hai cá thể cha mẹ đã chọn để tạo sinh Khi đó hai cá thể con c1

= (c11, , c1n) và c2 = (c21, , c2n ) được sinh ra theo công thức:

Trang 28

c 1 i = 0.5*((1 + ) * x i + (1 - ) * y i ) (2.1)

c 2 i = 0.5*((1 - ) * x i + (1 + ) * y i ) (2.2)

trong đó được tính bởi công thức:

otherwise u

u if u

1 1 1 1

))1(

*2

1(

5.0)

*2(

(2.3)

với u là số ngẫu nhiên trong [0, 1]; là tham số điều khiển

Toán tử SBX có thể mô tả vắn tắt là:

Bước 1 Chọn ngẫu nhiên số thực u [0, 1]

Bước 2 Tính theo công thức (2.3)

c1i – c2i = *(xi – yi) Kết quả này rất quan trọng vì ở đây chúng ta quan tâm đến việc cá thể con sinh ra gần hay xa nhau nhằm đảm bảo tính đa dạng của quần thể Giá trị

ở đây được tính theo tham số điều khiển , ví dụ với = 2 thì khoảng 99%

tỷ lệ [0.215,4.64] Chẳng hạn với cặp cha mẹ là x=2 và y=5, với =5 thì có con là 1.464, còn với =2 thì có con là 1.911 so với một cha mẹ là x=2 (với cùng một số ngẫu nhiên u)

Như vậy toán tử SBX có hai tính chất quan trọng:

i) Phạm vi các cá thể con sinh ra tỷ lệ với cha mẹ chúng theo hệ số ii) Các con gần với cha mẹ có khuynh hướng được chọn nhiều hơn các con ở xa cha mẹ

Trang 29

Số hóa bởi trung tâm học liệu 29 http://www.lrc-tnu.edu.vn/

Việc điều chỉnh tham số khoảng cách này làm cho giải thuật mềm dẻo, tăng tính đa dạng của quần thể và tỏ ra hiệu quả hơn các giải thuật kinh điển trong hầu hết các thử nghiệm Hơn nữa, khi đưa các dạng khác nhau của toán

tử về cùng một biểu thức toán học sẽ làm cho việc phân tích cũng như thiết kế chương trình thuận lợi và dễ dàng

,

(x1 x2 x N

b , thành phần x i được thay thế bởi một số ngẫu nhiên trong khoảng xác định l , i u i của x i

Đột biến biên: Từ cá thể cha đã chọn đột biến x và vị trí chọn đột biến

k, thành phần thứ k (xk) của x được thay bởi lk hay uk trong đó [lk , uk] là khoảng xác định của xk Trong những bài toán mà biên của các biến không lớn và giải pháp cần tìm nằm gần biên thì phép đột biến này tỏ ra rất hữu ích

Ngày đăng: 22/11/2014, 21:34

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[2] Nguyễn Thanh Thủy, Vũ Mạnh Xuân, Nguyễn Hải Minh, Tích hợp các kỹ thuật tính toán mềm giải bài toán tối ưu số, FAIR, 2005 Sách, tạp chí
Tiêu đề: Tích hợp các kỹ thuật tính toán mềm giải bài toán tối ưu số
[3] Vũ Mạnh Xuân, Một số giải pháp ứng dụng giải thuật di truyền trong tối ưu đa mục tiêu, Tạp chí Khoa học &amp; công nghệ, ĐH Thái nguyên, Số 4 (40), 2006 Tiếng Anh Sách, tạp chí
Tiêu đề: Một số giải pháp ứng dụng giải thuật di truyền trong tối ưu đa mục tiêu
[4] A.Tamlarasi, T. Anantha kumar, A enhanced ganetic algorithm with simulated annealing for job-shop scheduling, Iternational journal ò engineering scient and technology, Vol 2, No 1, 2010 Sách, tạp chí
Tiêu đề: A enhanced ganetic algorithm with simulated annealing for job-shop scheduling
[5] C. Grosan and A. Abraham (2007), “Hybrid Line Search for Multiobjective Optimization” Sách, tạp chí
Tiêu đề: Hybrid Line Search for Multiobjective Optimization
Tác giả: C. Grosan and A. Abraham
Năm: 2007
[6] Crina Grosan, Ajith Abraham, Hybrid Line Search for Multiobjective Optimization, LNES 4782, 62-73, 2007 Sách, tạp chí
Tiêu đề: Hybrid Line Search for Multiobjective Optimization
[8] Oliver Schuetze, Gustaveo Sanchez, Carios A. Coello Coello, (2008) A new memetic strategy for the numerical treatment of multi-objective optimization problems, Gecco’08 Sách, tạp chí
Tiêu đề: A new memetic strategy for the numerical treatment of multi-objective optimization problems
[9] M. Gandomkar, M. Vakilian, M. Ehsan, A Combination of genetic algoritham and simulated annealing for optimal DG allocation in distributeon networks, IEEE, 2005 Sách, tạp chí
Tiêu đề: A Combination of genetic algoritham and simulated annealing for optimal DG allocation in distributeon networks
[10] Xin Yao, A New Simulated Annealing Algorithm, Published in International Journal of Computer Mathematics, 1995 Sách, tạp chí
Tiêu đề: A New Simulated Annealing Algorithm
[11] Xin Yao and Yong Liu, Fast Evolution Strategies, 1997. Evolutionnary Programming VI, Springer, 1997 Sách, tạp chí
Tiêu đề: Fast Evolution Strategies
[7] Kalyanmoy Deb, Associate Member, IEEE, Amrit, Sameer Agarwal, and T. Meyarivan, A Fast and Elitist Multiobjective Genetic Algorithm: NSGA – II Khác

HÌNH ẢNH LIÊN QUAN

Hình 1.1. Minh hoạ tập Pareto - kết hợp một số phương pháp heuristic giải bài toán tối ưu đa mục tiêu
Hình 1.1. Minh hoạ tập Pareto (Trang 6)
Bảng 1.1: Bảng thưởng phạt. - kết hợp một số phương pháp heuristic giải bài toán tối ưu đa mục tiêu
Bảng 1.1 Bảng thưởng phạt (Trang 9)
Hình 2.1.  BLX-  trường hợp 2 chiều - kết hợp một số phương pháp heuristic giải bài toán tối ưu đa mục tiêu
Hình 2.1. BLX- trường hợp 2 chiều (Trang 27)
Bảng 3.1: Một số lời giải sử dụng GA, ES, SA và BEA của bài toán 1. - kết hợp một số phương pháp heuristic giải bài toán tối ưu đa mục tiêu
Bảng 3.1 Một số lời giải sử dụng GA, ES, SA và BEA của bài toán 1 (Trang 49)
Bảng 3.2: Một số lời giải sử dụng GA, ES, SA và BEA của bài toán 2. - kết hợp một số phương pháp heuristic giải bài toán tối ưu đa mục tiêu
Bảng 3.2 Một số lời giải sử dụng GA, ES, SA và BEA của bài toán 2 (Trang 50)
Bảng 3.3: Một số lời giải sử dụng GA, ES, SA và BEA của bài toán 3. - kết hợp một số phương pháp heuristic giải bài toán tối ưu đa mục tiêu
Bảng 3.3 Một số lời giải sử dụng GA, ES, SA và BEA của bài toán 3 (Trang 53)
Bảng 3.4: Một số lời giải sử dụng GA, ES, SA và BEA của bài toán 4. - kết hợp một số phương pháp heuristic giải bài toán tối ưu đa mục tiêu
Bảng 3.4 Một số lời giải sử dụng GA, ES, SA và BEA của bài toán 4 (Trang 55)
Bảng trên là kết quả quá trình tiến hoá quần thể gồm 30 cá thể sau 1000  thế hệ sử dụng giá trị tổ hợp các mục tiêu để đánh giá và chọn lọc cá thể - kết hợp một số phương pháp heuristic giải bài toán tối ưu đa mục tiêu
Bảng tr ên là kết quả quá trình tiến hoá quần thể gồm 30 cá thể sau 1000 thế hệ sử dụng giá trị tổ hợp các mục tiêu để đánh giá và chọn lọc cá thể (Trang 56)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w