Xây dựng website bán hàng trực tuyến – Chương này làm rõ hơn các vấn đề của các chương trước bằng một bài toán cụ thể - bài toán bánhàng trực tuyến máy tính xách tay có hỗ trợ người dùng
Trang 1LUẬN VĂN THẠC SĨ: CÔNG NGHỆ THÔNG TIN
Người hướng dẫn khoa học: PGS- TS Hồ Cẩm Hà
HÀ NỘI, NĂM 2013
Trang 2MỤC LỤC
MỤC LỤC 1
LỜI CAM ĐOAN 4
DANH MỤC CÁC HÌNH VÀ BẢNG BIỂU 7
MỞ ĐẦU 8
I Lý do lựa chọn đề tài 8
II Mục đích, đối tượng, phạm vi và phương pháp nghiên cứu 9
III Các luận điểm cơ bản và đóng góp mới của luận văn 9
PHẦN II: NỘI DUNG 11
CHƯƠNG I 11
BÀI TOÁN TỐI ƯU ĐA MỤC TIÊU 11
VÀ GIẢI THUẬT DI TRUYỀN 11
1.1 Bài toán tối ưu đa mục tiêu 11
1.1.1 Sự ra đời bài toán tối ưu 11
1.1.2 Phát biểu bài toán 11
1.1.3 Một số định nghĩa 12
1.1.4 Miền tối ưu Pareto 13
1.1.5 Cách tiếp cận bài toán đa mục tiêu dựa trên thuật giải di truyền 15
1.1.6 Đánh giá về giải bài toán tối ưu đa mục tiêu 17
1.2 Thuật giải di truyền 17
1.2.1 Tổng quát về thuật giải di truyền 17
1.2.2 Khởi tạo quần thể ban đầu 21
1.2.3 Mã hóa 21
1.2.4 Lựa chọn 24
1.2.5 Phép lai 27
1.2.6 Đột biến 30
1.2.7 Điều kiện dừng 32
1.2.8 Ví dụ 32
CHƯƠNG II 38
TỐI ƯU ĐA MỤC TIÊU TRONG MUA HÀNG TRỰC TUYẾN 38
2.1 Tối ưu hóa nhiều mục tiêu 38
2.2 Mua hàng qua mạng và sự cần thiết của hỗ trợ ra quyết định 39
2.2.1 Internet đem đến một phương thức mua bán mới 39
2.2.2 Khảo sát thực trạng mua bán qua mạng 39
2.3 So sánh giữa phương thức mua hàng truyền thống và mua qua mạng 40
2.4 Khảo sát các trang web bán hàng và sự hỗ trợ khách hàng của chúng 41
Trang 32.5 Các tiện ích mà một trang web bán hàng cần cung cấp để có thể hỗ trợ
khách hàng tốt hơn 43
2.6 Vấn đề ―đa mục tiêu‖ khi chọn sản phẩm 43
2.7 Bài toán bán hàng trực tuyến hỗ trợ người mua chọn sản phẩm 44
2.8 Các khó khăn khi xây dựng một module hỗ trợ khách hàng chọn sản phẩm 44
2.9 Cách tiếp cận để giải bài toán ―Tối ưu đa mục tiêu‖ khi chọn sản phẩm 45 2.10 Chuyển bài toán chọn sản phẩm thành bài toán tối ưu đa mục tiêu 46
2.10.1 Lời giải cho bài toán 46
2.10.2 Các biến quyết định 46
2.10.3 Các ràng buộc 46
2.10.4 Các mục tiêu 47
2.10.5 Hướng đến một lời giải ―tối ưu‖ 48
2.10.6 Các cải tiến để phù hợp với bài toán 51
2.11 Các bước thực hiện giải thuật trong khâu lựa chọn sản phẩm của bài toán bán hàng qua mạng máy tính xách tay 54
2.11.1 Khởi tạo 54
2.11.2 Tính độ thích nghi 55
2.11.3 Chọn lọc 58
2.11.4 Thực hiện phép lai ghép và đột biến 59
CHƯƠNG III 61
XÂY DỰNG WEBSITE BÁN HÀNG TRỰC TUYẾN 61
3.1 Chương trình website bán hàng máy tính xách tay có hỗ trợ người mua chọn sản phẩm 61
3.1.1 Mô hình Usecase 61
3.1.2 Mô tả các Actor 62
3.1.3 Hoạt động của chương trình 62
3.2 Cài đặt 66
3.3 Đánh giá kết quả 69
PHẦN III: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 73
1 Kết luận 73
2 Hướng phát triển 73
TÀI LIỆU THAM KHẢO 74
Trang 4LỜI CAM ĐOAN
Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi Các số liệu,kết quả nêu trong luận văn là trung thực và chưa được công bố trong các côngtrình khác
HỌC VIÊN CAO HỌC
Vũ Thu Hà
Trang 5LỜI CẢM ƠN
Trên thực tế không có sự thành công nào mà không gắn liền với những sự
hỗ trợ, giúp đỡ dù ít hay nhiều, dù trực tiếp hay gián tiếp của người khác Trongsuốt thời gian từ khi bắt đầu học tập ở giảng đường đại học Công nghệ đến nay,
em đã nhận được rất nhiều sự quan tâm, giúp đỡ của quý Thầy Cô, gia đình vàbạn bè
Với lòng biết ơn sâu sắc nhất, em xin gửi đến cô giáo- PGS TS Hồ Cẩm
Hà – Đại học Sư phạm I Hà Nội đã luôn giúp đỡ, ủng hộ em để em hoàn thànhluận văn này
Em xin cảm ơn các thầy cô trong trường Đại học Công Nghệ đã cùng vớitri thức và tâm huyết của mình để truyền đạt vốn kiến thức quý báu cho chúng
em trong suốt thời gian học tập tại trường
Mặc dù có rất nhiều nỗ lực nhưng luận văn không tránh khỏi thiếu sót,kính mong nhận được sự đóng góp của quí thầy cô và các bạn
Trang 6Nhận xét của giáo viên phản biện.
Trang 7
DANH MỤC CÁC HÌNH VÀ BẢNG BIỂU.
1 Danh mục các hình
Hình 1.1 Miền tối ưu Pareto 13
Hình 1.2 Quay bánh xe 24
Hình 1.3 Lai một vị trí đối với mã nhị phân 26
Hình 1.4 Lai một vị trí đối với mã dạng cây 27
Hình 1.5 Lai hai vị trí đối với mã nhị phân 27
Hình 1.6 Lai đều 27
Hình 1.7 Đột biến nhẹ 30
Hình 2.1 Véc tơ mục tiêu của sản phẩm có hai thuộc tính 47
Hình 2.2 Điều hướng về miền tối ưu Pareto 49
Hình 2.3 Di chuyển trên miền Pareto bằng cách thay đổi trọng số 50
Hình 2.4 Các trạng thái gen trong quần thể 51
Hình 2.5 Lai ghép 52
Hình 2.6 Đột biến 52
Hình 3.1 Lược đồ Usecase Admin 60
Hình 3.2 Lược đồ Usecase khách hàng 61
Hình 3.3 Kết quả tìm kiếm sau 100 thế hệ là 3 máy ứng với hàm thích nghi cao nhất 62
Hình 3.4 Giao diện trang chủ 64
Hình 3.5 Giao diện trang tìm kiếm 64
Hình 3.6 Giao diện trang tìm kiếm theo sở thích 65
Hình 3.7 Kết quả tìm kiếm theo sở thích 65
Hình 3.8 Lựa chọn loại máy theo đặc thù tính chất công việc trên trang amazon.com 66
Hình 3.9 Danh mục mua ở tùy chọn basic 67
Hình 3.10 Sản phẩm và bình luận của người dùng trên trang amazon.com 67
Hình 3.11 Trang lựa chọn máy tính xách tay trên vatgia.com 68
Hình 3.12 Trang lựa chọn máy tính xách tay trên trananh.vn 68
2 Danh mục các bảng Bảng 1.1 Mã số thực 22
Bảng 1.2 Mã dạng cây 23
Bảng 1.3 Mã hoán vị 23
Bảng 1.4 Lai một vị trí đối với mã số thực 27
Bảng 1.5 Lai hai vị trí đối với mã số thực 28
Bảng 1.6 Lai số học 29
Bảng 1.7 Đột biến 29
Bảng 1.8 Kết quả của 150 thế hệ 36
Bảng 2.1 Các bước cơ bản để tiến hành một giao dịch 39
Bảng 2.2 Phân loại hỗ trợ quyết định trong E-Commerce 40
Bảng 3.1 Thông số xác suất chọn pi của các cá thể trong quần thể 50
Bảng 3.2 Thông số vị trí xác suất qi của cá thể trong quần thể 51
Bảng 3.3 Hàm thích nghi của 100 thế hệ 63
Trang 8có thể ngồi ở nhà mà vẫn có thể lựa chọn được một sản phẩm tâm đắc Tuynhiên, khi con người ngày càng có nhiều nhu cầu thì các nhu cầu đó có thể xungđột nhau Người bán hàng muốn tăng doanh thu, người mua hàng muốn muađược sản phẩm tốt với giá cả hợp lý và thời gian cho phép Bán hàng trực tuyến
đã góp phần nâng cao chất lượng sống của người dân Tuy nhiên, không phải bất
cứ trang Web nào cũng đem lại sự thuận tiện cho khách hàng
Làm thế nào để giới thiệu những sản phẩm mà khách hàng thật sự mongmuốn trong một thời gian cho phép là một vấn đề đặt ra cho doanh nghiệp Tiêuchí đặt ra ở đây là luôn tư vấn cho khách hàng không ít hơn một sản phẩm mà họmong muốn với các tiêu chí họ đặt ra, dù các tiêu chí đó có mâu thuẫn nhau đichăng nữa, đồng thời không để khách hàng phải chờ đợi lâu, mặc dù có thể sốlượng tìm kiếm là rất lớn Vì vậy trong khâu lựa chọn sản phẩm của các websitebán hàng trực tuyến cần có sự hỗ trợ để người mua có được lựa chọn tốt nhấttrong thời gian ngắn Điều đó không những đem lại sự hài lòng cho khách hàng
mà còn đem lại lợi ích cho doanh nghiệp, giúp doanh nghiệp tăng doanh thu, sảnlượng và xây dựng chiến lược bán hàng hiệu quả Ứng dụng tối ưu đa mục tiêu
và giải thuật di truyền là một giải pháp khá tốt cho bài toán bán hàng trực tuyếntrong khâu lựa chọn sản phẩm
Bài toán tối ưu đa mục tiêu có thể chuyển về bài toán tối ưu một mục tiêu,
và giải thuật di truyền giúp người mua luôn tìm thấy sản phẩm với thời gianngắn Mặc dù độ chính xác của nó không hoàn toàn là 100% và có rất nhiều việcphải làm trong giải thuật di truyền nhưng với ưu thế về thời gian khi tìm kiếmtrong một không gian lớn và khả năng luôn cho kết quả là một lựa chọn đúngđắn để ta áp dụng
Trang 9Từ những vấn đề thiết thực đó, em đã chọn đề tài ―Tối ưu đa mục tiêu sửdụng giải thuật di truyền với bài toán hỗ trợ người mua hàng trực tuyến lựa chọnsản phẩm‖.
1 Mục đích nghiên cứu
• Nghiên cứu về bài toán tối ưu đa mục tiêu
• Tìm hiểu cơ sở lý thuyết của giải thuật di truyền sử dụng trong bài toán tối ưu đa mục tiêu
• Sử dụng lý thuyết tối ưu đa mục tiêu và giải thuật di truyền áp dụngvào bài toán: bán hàng trực tuyến máy tính xách tay trong khâu lựa chọn sản phẩm
• Áp dụng kết quả nghiên cứu để cài đặt hệ thống
2 Đối tượng và phạm vi nghiên cứu
• Nghiên cứu lý thuyết tối ưu đa mục tiêu, giải thuật di truyền, bài toán bán hàng trực tuyến máy tính xách tay
Phương pháp nghiên cứu
Nghiên cứu lý thuyết và tiến hành cài đặt thử nghiệm trang web bán hàng trực tuyến
Trong luận văn này, ngoài phần mở đầu, phần kết luận và tài liệu tham khảo, nộidung luận văn được chia thành 3 chương:
Chương I: Tối ưu đa mục tiêu và giải thuật di truyền- Trình bày các khái
niệm cơ bản về tối ưu đa mục tiêu, thuật giải di truyền
Chương II: Tối ưu đa mục tiêu trong mua hàng trực tuyến Trình bày các
khó khăn khi xây dựng một module hỗ trợ khách hàng lựa chọn sản phẩm, cách
Trang 10tiếp cận để giải bài toán tối ưu đa mục tiêu khi chọn sản phẩm, chuyển bài toánchọn sản phẩm thành bài toán tối ưu đa mục tiêu.
Chương III Xây dựng website bán hàng trực tuyến – Chương này làm rõ
hơn các vấn đề của các chương trước bằng một bài toán cụ thể - bài toán bánhàng trực tuyến máy tính xách tay có hỗ trợ người dùng lựa chọn sản phẩm, sửdụng giải thuật di truyền và tối ưu đa mục tiêu
Trang 11PHẦN II: NỘI DUNG CHƯƠNG I BÀI TOÁN TỐI ƯU ĐA MỤC TIÊU
VÀ GIẢI THUẬT DI TRUYỀN
1.1 Bài toán tối ưu đa mục tiêu.
1.1.1 Sự ra đời bài toán tối ưu
Tất cả các lĩnh vực như kỹ thuật, khoa học, kinh doanh đều liên quan đếnviệc quyết định phân bổ, hoạch định các tài nguyên hạn hẹp cho các hoạt động,
ví dụ quyết định đầu tư kinh doanh, phân công công việc, phân bổ tài nguyênv.v Những hoạt động này đều liên quan đến việc đo lường và tối ưu các hiệuxuất, mục tiêu
Trong một trường hợp cụ thể nào đó, các mục tiêu có thể được tối ưu hóamột cách độc lập để đạt được kết quả tốt nhất ứng với mục tiêu đó Tuy nhiênmột kết quả chấp nhận được cho toàn bộ các mục tiêu khó có thể tìm ra theocách đó Bởi vì việc tối ưu hóa một mục tiêu có thể dẫn đến kết quả của mộthoặc nhiều mục tiêu khác trở nên tồi tệ Ví dụ trong việc chế tạo xe đua làm saotìm ra được trọng lượng hợp lý của thùng xăng để xe có thể đi một khoảngđường dài mà không phải tiếp nhiên liệu (cần một lượng xăng lớn) nhưng khônglàm tăng nhiều khối lượng của xe (làm giảm tốc độ xe)
Tuy nhiên thực tế là chưa có một định nghĩa thống nhất thế nào là tối ưunhư trong bài toán một mục tiêu do đó thậm chí rất khó để ta có thể so sánh kếtquả giữa các phương pháp với nhau bởi vì việc quyết định cái gì là tốt nhất rốtcuộc vẫn thuộc về người ra quyết định
1.1.2 Phát biểu bài toán
Khi một vấn đề được đặt ra trong đó có nhiều tiêu chí, mục tiêu kèm theo.Nếu các mục tiêu xung đột với nhau và các biến quyết định có những ràng buộcvới nhau thì việc đi tìm giải pháp tối ưu của vấn đề trở thành bài toán ―Tối ưuhóa đa mục tiêu‖ Việc giải quyết bài toán tối ưu hóa đa mục tiêu được giải quyếtvới ý tưởng tương tự bài toán tối ưu một mục tiêu Trong bài toán một
Trang 12mục tiêu để giải quyết bài toán ta phải đi tìm một tập các các biến quyết địnhthỏa các ràng buộc và đưa ra một kết quả tối ưu đối với hàm mục tiêu Bài toán
đa mục tiêu chỉ khác là nó phải giải quyết nhiều mục tiêu khác nhau (có thểxung đột với nhau) và thường cho ra một tập các giải pháp tối ưu hoặc không sosánh được với nhau
1.1.3 Một số định nghĩa
1.1.3.1 Các biến quyết định
Bước đầu tiên trong quá trình tối ưu hóa là việc công thức hóa vấn đề.Một mô hình toán học cần được đưa ra để mô tả chính xác các hành vi hay giátrị của các tình huống
Nhìn chung các bài toán đa mục tiêu đều có thể biểu diễn bằng một vector cáchàm trong đó ánh xạ m tham số (các biến quyết định) thành một tập n mục tiêu.Min/Max y = f(x) = (f1(x), f2(x)…fn(x))
Trong đó x=(x1, x2,…,xm) X
y=( y1, y2,…,yn) Y
x được gọi là vector quyết định bao gồm m biến quyết định
X được gọi là không gian tham số (hay không gian tìm kiếm)
y được gọi là vector mục tiêu bao gồm n mục tiêu
Y được gọi là không gian mục tiêu
1.1.3.2 Các ràng buộc
Bước tiếp theo của việc công thức hóa vấn đề đó là xác định các ràngbuộc Ràng buộc là những điều kiện giữa các biến quyết định mà các giải phápcần phải thỏa Các ràng buộc được mô tả bằng các đẳng thức hoặc bất đẳng thức
gj(x) ≤0 , j = 1,2,…,j
hk(x) = 0 , k = 1,2,…,k
Trang 131.1.3.3 Hàm mục tiêu
Bước cuối cùng của việc công thức hóa vấn đề đó là định nghĩa các hàmmục tiêu Đây chính là con số mà người thiết kế cần tối ưu hóa Các hàm nàyđược biểu diễn dưới dạng:
1.1.4 Miền tối ƣu Pareto
1.1.4.1 Giới thiệu
Trong bài toán tối ưu đa mục tiêu, ta mong muốn tìm được một tập giá trịcác biến quyết định nhằm tối ưu các hàm mục tiêu Tập các biến quyết định cho
ta một kết quả tối ưu được gọi là một tập tối ưu và được ký hiệu là x* Miền tối
ưu Pareto là một tập hợp chứa các tập tối ưu mà từ đó ta có thể chọn ra các giátrị mong muốn (tối ưu) [3]
Trang 141.1.4.2 Tối ƣu pareto
Miền khảthi
Hình 1.1 Miền tối ưu Pareto
Như hình 1.1 trên, miền tối ưu Pareto (đường tô đậm) là một tập hợp cácđiểm nếu di chuyển từ điểm này (ví dụ điểm A) đến điểm kia (ví dụ điểm B)trong tập hợp làm cho một mục tiêu bị giảm thì phải có ít nhất một mục tiêukhác tăng lên và ngược lại
Nói cách khác một vector xv = f(xv)=(v1,v2,…,vn) thuộc một tập P được gọi làthuộc miền tối ưu Pareto khi và chỉ khi không tồn tại một vector quyết định
xu= f(xu) = (u1,u2,…un) nào thống trị xv, nghĩa là
Trang 15miền Pareto của bài toán một hay một số các phương án tốt nhất theo một nghĩanào đó dựa trên cơ cấu ưu tiên của người ra quyết định.
1.1.5 Cách tiếp cận bài toán đa mục tiêu dựa trên thuật giải di truyền
1.1.5.1 Giới thiệu
Khái niệm về áp dụng thuật toán di truyền vào bài toán đa mục tiêu đãxuất hiện vào những năm 60 trong một nỗ lực nghiên cứu của Rosenberg (1967).Ông đã đề xuất sử dụng nhiều thuộc tính trong việc mô phỏng các gene và quầnthể các sinh vật đơn bào
Thật ra trong cài đặt của mình ông chỉ sử dụng một thuộc tính và cách tiếpcận đa mục tiêu không thể thấy được trong cài đặt của ông nhưng nó đã trởthành điểm xuất phát cho việc áp dụng giải thuật di truyền vào bài toán tối ưu đamục tiêu
Chúng ta biết rằng thuật toán di truyền cần thông tin về độ thích nghi đểlàm việc Có lẽ ý nghĩ đơn giản và tự nhiên nhất đó là kết hợp các mục tiêu lạilàm một bằng cách sử dụng các phép toán đại số Cách tiếp cận này đòi hỏichúng ta phải cung cấp các thông tin về tầm mức của các mục tiêu Điều này đòihỏi chúng ta phải biết về hành vi, hoạt động của các hàm mục tiêu, đây khôngphải là một tiến trình đơn giản Với cách kết hợp các mục tiêu lại với nhau, rõràng đây không phải là cách đơn giản nhất nhưng có lẽ là một trong những cáchhiệu quả nhất bởi vì nó không đòi hỏi phải giao tiếp với người ra quyết địnhthêm lần nào nữa trong khi thuật toán đang được thực hiện Và nếu GA kết thúcbằng một kết quả thích nghi tối ưu thì kết quả này ít nhất sẽ thuộc về một tập cácgiải pháp tối ưu trong đa số trường hợp
Cách tiếp cận kết hợp các mục tiêu lại đưa về bài toán một mục tiêu làmột trong các cách được biết đến nhiều nhất trong việc giải bái toán tối ưu đamục tiêu vì tính hiệu quả của nó Một số cách tiếp cận theo cách trên đã được đề
ra như tổng trọng số, hướng mục đích và tối ưu Min-Max
1.1.5.2 Cách tiếp cận tổng trọng số (Weighting objective)
Phương pháp này chúng ta sẽ cộng các hàm mục tiêu lại với nhau và sửdụng các trọng số đối với từng mục tiêu, trọng số này thể hiện sự tương quan về
Trang 16độ quan trọng của các mục tiêu Với cách này các giải pháp trên miền Pareto (vốn không so sánh được với nhau) sẽ có thể đánh giá và so sánh được.
Và ci* là một hằng số với ci*= 1/ fi* và f i* là giá trị tối ưu của hàm mục tiêu f i
Rõ ràng kết quả của bài toán sẽ thay đổi khi các trọng số thay đổi, và thôngthường các trọng số này khó được xác định do đó cần một cách tiếp cận khác khichúng ta phải sử dụng nhiều giá trị trọng số khác nhau Nhưng trong trường hợpcác trọng số được xác định bởi người ra quyết định dựa trên trực giác của mìnhthì cách này vẫn tỏ ra có hiệu quả
1.1.5.3 Cách tiếp cận hướng mục đích (Goal programming)
Cách tiếp cận này được đưa ra và đã đóng một vai trò then chốt trong cácứng dụng trong lĩnh vực công nghiệp Trong phương pháp này người ra quyếtđịnh phải xác định mục đích mà mỗi mục tiêu cần đạt được Các hàm mục tiêu
sẽ cố gắng tìm cách làm tối thiểu hóa khoảng cách giữa giá trị hiện đạt được củamục tiêu với giá trị đích mà người ra quyết định mong muốn đạt được
Hình thức đơn giản nhất của phương pháp này là:
Trang 17Phương pháp này sẽ cho ra một giải pháp đôi khi bị thống trị bởi một giảipháp khác nếu đích cần đạt được nằm trong vùng khả thi Đây có thể là một cáchtiếp cận rất hiệu quả nếu chúng ta biết được giá trị đích mà chúng ta mong đợi
và giá trị đó nằm trong vùng khả thi Tuy nhiên người ra quyết định vẫn phảicung cấp các trọng số ưu tiên của các mục tiêu để cho các giải pháp có thể sosánh được, và trong nhiều trường hợp điều này rất khó thực hiện nếu không biếttrước được hình dáng của không gian tìm kiếm
Một số cách tiếp cận để giải bài toán tối ưu đa mục tiêu khác cũng dựa trên thuậtgiải di truyền như Min-Max, ràng buộc ε, VEGA…
1.1.6 Đánh giá về giải bài toán tối ƣu đa mục tiêu.
Mặc dù rất nhiều nỗ lực được đưa ra để giải quyết bài toán tối ưu đa mụctiêu, tuy nhiên hầu hết đều nhằm để giải quyết các vấn đề cụ thể nào đó và chưa
có một phương thức nào tỏ ra có hiệu quả trong tất cả các vấn đề Và cũng chưa
có phương cách nào để so sánh tính hiệu quả của các phương pháp Áp dụngthuật toán di truyền để giải quyết một bài toán tối ưu đa mục tiêu thì có rất nhiềuviệc cần làm như kích thước một quần thể, biểu diễn các biến quyết định, cácthao tác của thuật toán như lai ghép, đột biến
Mặc dù độ phức tạp khi cài đặt thuật toán khá cao nhưng do kết quả mà nó đemlại rõ ràng rất ấn tượng Do đó việc áp dụng thuật toán di truyền để giải quyếtbài toán tối ưu đa mục tiêu đang được ngày càng quan tâm và phát triển
1.2 Thuật giải di truyền
1.2.1 Tổng quát về thuật giải di truyền
Với khả năng hiện nay, máy tính đã giúp giải được rất nhiều bài toán khó
mà trước kia chúng ta thường bó tay Mặc dù vậy, vẫn còn một số lớn các bàitoán rất thú vị nhưng chưa có thuật toán hợp lý để giải chúng Trong số đó, cácbài toán tối ưu là những bài toán phải ứng dụng nhiều trong thực tiễn
Trong thực tiễn, có rất nhiều bài toán tối ưu quan trọng đòi hỏi nhữngthuật giải chất lượng cao Ví dụ, ta có thể áp dụng phương pháp mô phỏng luyệnthép để giải bài toán tìm đường đi ngắn nhất cho xe cứu hỏa hay bài toán người
Trang 18du lịch… Cũng có nhiều bài toán tối ưu tổ hợp có thể giải được gần đúng trênmáy tính hiện đại bằng kỹ thuật Monte- Carlo.
Nói chung, bài toán tối ưu có thể được xem là bài toán tìm kiếm giải pháp(tốt nhất) trong không gian (vô cùng lớn) các giải pháp Khi không gian tìmkiếm nhỏ, các phương pháp cổ điển như trên cũng đủ thích hợp; nhưng khikhông gian lớn cần phải dùng đến những kỹ thuật Trí tuệ nhân tạo đặc biệt.Thuật giải Di truyền (GA) là một trong những kỹ thuật đó Thuật giải di truyền
là một thuật giải mô phỏng các hiện tượng tự nhiên: kế thừa và đấu tranh sinhtồn để cải tiến lời giải và khảo sát lời giải Khái niệm kế thừa và đấu tranh sinhtồn được giải thích qua thí dụ về sự tiến hóa của một quần thể thỏ như sau:
Có một quần thể thỏ Trong số đó có một số con nhanh nhẹn và thôngminh hơn những con khác Những chú thỏ nhanh nhẹn và thông minh có xácsuất bị chồn cáo ăn thịt nhỏ hơn, do đó chúng tồn tại để làm những gì tốt nhất cóthể: Tạo thêm nhiều thỏ tốt Dĩ nhiên, một số thỏ chậm chạp đần độn cũng sốngchỉ vì may mắn Quần thể những chú thỏ còn sống sót sẽ bắt đầu sinh sản Việcsinh sản này sẽ tạo ra một hỗn hợp tốt về ―nguyên liệu di truyền thỏ‖: Một sốthỏ chậm chạp có con với thỏ nhanh, một số thỏ nhanh với thỏ nhanh, một số thỏthông minh với thỏ đần độn… Và trên tất cả, thiên nhiên thỉnh thoảng lại némvào một con thỏ ―hoang dã‖ bằng cách làm đột biến nguyên liệu di truyền thỏ.Những chú thỏ con, do kết quả này sẽ nhanh hơn và thông minh hơn những controng quần thể gốc vì có nhiều bố mẹ nhanh hơn và thông minh hơn đã thoátchết khỏi chồn cáo (Thật hay là những con chồn cũng trải qua những tiến trìnhtương tự- nếu không những con thỏ sẽ trở nên nhanh và thông minh đến nỗinhững con chồn cũng không thể bắt chúng được)
Khi tìm kiếm lời giải tối ưu, thuật giải di truyền cũng thực hiện các bước tươngứng với câu chuyện đấu tranh sinh tồn của loài thỏ
Thuật giải di truyền sử dụng các thuật ngữ vay mượn của di truyền học
Ta có thể nói các cá thể (hay kiểu gen, cấu trúc) trong một quần thể; những cáthể này cũng còn được gọi là các chuỗi hay nhiễm sắc thể Điều này có thể gâychút lẫn lộn: mỗi tế bào của một cơ thể của một chủng loại đã cho, mang một sốnhững nhiễm sắc thể nào đó (thí dụ, người có 46 nhiễm sắc thể) nhưng trong giảithuật di truyền, ta chỉ nói về những cá thể có một nhiễm sắc thể Các nhiễm sắcthể được tạo thành từ các gen, biểu diễn trong một chuỗi tuyến tính; mỗi genkiểm soát một (số) đặc trưng Gen với những đặc trưng nhất định có vị trí nhất
Trang 19định trong nhiễm sắc thể Bất cứ đặc trưng nào của mỗi cá thể có thể tự biểuhiện một cách phân biệt, và gen có thể nhận một số giá trị khác nhau ( các giá trị
về tính năng)
Mỗi kiểu (nhóm) gen (ta gọi là một nhiễm sắc thể) sẽ biểu diễn một lờigiải của bài toán đang giải (ý nghĩa của một nhiễm sắc thể cụ thể được người sửdụng xác định trước; một tiến trình tiến hóa được thực hiện trên một quần thểcác nhiễm sắc thể tương ứng với một quá trình tìm kiếm lời giải trong khônggian lời giải Tìm kiếm đó cần cân đối 2 mục tiêu (có vẻ mâu thuẫn nhau): Khaithác những lời giải tốt nhất và khảo sát không gian tìm kiếm Leo đồi là một thí
dụ về chiến lược cho phép khai thác và cải thiện lời giải tốt nhất hiện hành;nhưng leo đồi lại bỏ qua việc khảo sát không gian tìm kiếm Ngược lại, tìm kiếmngẫu nhiên là một thí dụ điển hình của chiến lược khảo sát không gian tìm kiếm
mà không chú ý đến những vùng đầy hứa hẹn của không gian Thuật giải ditruyền (GA) là phương pháp tìm kiếm (độc lập miền) tạo được sự cân đối đáng
kể giữa việc khai thác và khảo sát không gian tìm kiếm
Thực ra, GA thuộc lớp các thuật giải xác suất, nhưng lại rất khác nhữngthuật giải ngẫu nhiên vì chúng kết hợp các phần tử tìm kiếm trực tiếp và ngẫunhiên Khác biệt quan trọng giữa tìm kiếm của GA và các phương pháp tìmkiếm khác là GA duy trì và xử lý một tập các lời giải (ta gọi là một quần thể)- tất
cả những phương pháp khác chỉ xử lý một điểm trong không gian tìm kiếm.Chính vì thế, GA mạnh hơn các phương pháp tìm kiếm hiện có rất nhiều
Đơn cử, ta so sánh GA với hai phương pháp tìm kiếm hiện được sử dụngrộng rãi: leo đồi và mô phỏng luyện thép
Phương pháp leo đồi dùng kỹ thuật lặp và áp dụng cho một điểm duy nhất(điểm hiện hành trong không gian tìm kiếm) Trong mỗi bước lặp, một điểm mớiđược chọn từ lân cận của điểm hiện hành (vì thế leo đồi được gọi là phươngpháp tìm kiếm lân cận hay tìm kiếm cục bộ) Nếu điểm mới cho giá trị (của hàmmục tiêu) tốt hơn, điểm mới sẽ trở thành điểm hiện hành Nếu không, một lâncận khác sẽ được chọn và thử Quá trình trên sẽ dừng nếu không cải thiện đượcthêm cho lời giải hiện hành
Rõ ràng là phương pháp leo đồi chỉ cung cấp các giá trị tối ưu cục bộ vànhững giá trị này phụ thuộc rất nhiều vào điểm khởi đầu Hơn nữa, không cóthông tin sẵn có về sai số tương đối (thỏa tối ưu toàn cục) của lời giải tìm được
Trang 20Để tăng cơ hội thành công, phương pháp leo đồi thường được thực hiệnnhiều lần; mỗi lần với một điểm khởi đầu khác nhau ( những điểm này khôngcần chọn ngẫu nhiên- một tập hợp các điểm khởi đầu của một lần thực thi phụthuộc vào kết quả của những lần chạy trước đó).
Kỹ thuật mô phỏng luyện thép là một kỹ thuật khắc phục những bất lợicủa phương pháp leo đồi: lời giải không còn tùy thuộc nhiều vào điểm khởi đầunữa và (thường là) gần với điểm tối ưu Đạt được điều này là nhờ đưa vào xácsuất nhận p Xác suất p là hàm theo giá trị của hàm mục tiêu đối với điểm hiệnhành và điểm mới, và một tham số điều khiển bổ sung, tham số ―Nhiệt độ ‖ T.Nói chung, nhiệt độ T càng thấp thì cơ hội nhận điểm mới càng nhỏ Khi thựchiện thuật giải, nhiệt độ T của hệ thống được hạ thấp dần theo từng bước Thuậtgiải dừng khi T nhỏ hơn một ngưỡng cho trước; với ngưỡng này thì gần nhưkhông còn thay đổi nào được chấp nhận nữa
Như đã đề cập, GA thực hiện tiến trình tìm kiếm lời giải tối ưu theo nhiềuhướng, bằng cách duy trì một quần thể các lời giải, và thúc đẩy sự hình thành vàtrao đổi thông tin giữa các hướng này Quần thể trải qua tiến trình tiến hóa: ởmỗi thế hệ lại tái sinh các lời giải tương đối ―tốt‖, trong khi các lời giải tươngđối ―xấu‖ thì chết đi Để phân biệt các lời giải khác nhau, hàm mục tiêu đượcdùng để đóng vai trò môi trường
Các khái niệm cơ bản của Thuật giải di truyền (Genetic Algorithm - GA)lần đầu tiên được đưa ra bởi Holland vào những năm 70 GA hoạt động dựa trên
cơ chế chọn lọc tự nhiên được đề xuất bởi nhà bác học Darwin Theo cơ chếnày, những cá thể thích nghi hơn sẽ tồn tại, và được gọi là ―quy luật tồn tại của
sự thích nghi‖ Tương tự như vậy, thuật giải GA cũng sử dụng cơ chế chọn lọc tựnhiên, theo cách đó những giải pháp tối ưu sẽ được tồn tại qua các tiến trình củathuật giải Nhìn chung thuật giải GA bao gồm các yếu tố: khởi tạo quần thể, biểudiễn số (mã hóa), tính toán độ thích nghi, chọn lọc và các thao tác di truyền Mộtthuật giải GA tổng quát có dạng như sau:
Tạo ngẫu nhiên quần thể ban đầu P(0), đặt i=0
Lặp
Định giá độ thích nghi của từng cá thể trong P(i)
Chọn các cặp bố mẹ dựa trên độ thích nghi của các cá thể P(i)
Trang 21Thực hiện các hàm lai ghép và đột biến trên các các cặp bố mẹ đã chọn để tạo rathế hệ tiếp theo cho đến khi ―tiêu chuẩn dừng‖ thỏa mãn.
1.2.2 Khởi tạo quần thể ban đầu
Chọn kích thước quần thể thích hợp cho thuật giải di truyền luôn luôn cầnthiết nhưng lại là một nhiệm vụ khó khăn đối với người sử dụng Một mặt, nếukích thước quần thể quá nhỏ, thuật giải di truyền sẽ hội tụ rất nhanh và do đó lờigiải tối ưu sẽ là không tối ưu Mặt khác, nếu kích thước quần thể quá lớn thì tốnnhiều tài nguyên máy tính và thậm chí bị ngăn cản
Theo một cuộc điều tra lý thuyết về xác định kích thước quần thể tối ưu,Goldberg cho rằng kích thước quần thể được xác định theo công thức pop=1.65
x 2 0.21*length và đề nghị rằng kích thước này nên là 130, 557, 10244 cho chuỗidài 30, 40, 50, 60
Smith đề nghị một thuật giải để xác định kích thước quần thể ban đầu từquần thể thích nghi……
Tóm lại, việc xác định kích thước quần thể ban đầu là hoàn toàn ngẫunhiên và phụ thuộc vào từng bài toán cụ thể
1.2.3 Mã hóa
GAs bắt đầu với quần thể, tập của nhiều cá thể (nhiễm sắc thể) Sự mã hóacác biến phụ thuộc vào từng bài toán Thông thường có các dạng mã sau: mã nhịphân, mã Gray, mã số thực và mã dạng cây
1.2.3.1 Mã nhị phân
Mã nhị phân được biểu diễn bằng các chuỗi 0 và 1
Quy tắc biểu diễn gen qua chuỗi nhị phân : Chọn chuỗi nhị phân ngắnnhất nhưng đủ thể hiện được tất cả kiểu gen
Nhiễm sắc thể A 10001010001111101010111
Nhiễm sắc thể B 00000001000000011110000
Trang 22Giả sử muốn tối ưu hàm n biến f(x1,x2,x3,.,xn), trong đó mỗi biến xi thụộcmiền D=[ai ,bi] là tập con của tập số thực R và yêu cầu chính xác là k chữ sốthập phân cho mỗi giá trị của biến xi Để đạt được độ chính xác như vậy miền[ai, bi] được phân cắt thành (bi- ai)*10k miền con bằng nhau.
Gọi mi là số nguyên nhỏ nhất sao cho:
(bi- ai)*10k ≤ 2 mi-1
Như vậy mỗi biến xi
phân có chiều dài mi Phép
Việc mã hóa này không tự nhiên đối với vài bài toán và kết quả đúng đạtđược sau khi mã hóa hoặc đột biến
1.2.3.2 Mã số thực
Đối với những bài toán có nhiều tham số, việc biểu diễn gen bằng chuỗi
số nhị phân đôi lúc sẽ làm cho kiểu gen của cá thể trở nên quá phức tạp Dẫn đếnviệc thi hành cách thao tác trên gen trở nên kém hiệu quả Khi đó, người ta sẽchọn biểu diễn kiểu gen dưới dạng một chuỗi số thực Tuy nhiên, chọn biểu diễnkiển gen bằng chuỗi số thực cần lưu ý quy tắc sau :
Quy tắc biểu diễn kiểu gen bằng chuỗi số thực : Biểu diễn kiểu gen bằng
số thực phải đảm bảo tiết kiệm không gian đối với từng thành phần gen
Mục đích chính là để mở rộng không gian tìm kiếm của GA gần vớikhông gian thực của bài toán hơn
Trang 23Trong mã số thực, mỗi nhiễm sắc thể là một chuỗi các các giá trị Các giátrị có thể là bất cứ thứ gì liên quan đến vấn đề đang xét, bao gồm số thực, kí tự
Trong đó A đại diện cho tác vụ riêng, B đại diện cho một cái khác…
Việc mã hóa này rất cần thiết trong việc tạo ra các đột biến và lai tạo cụthể cho bài toán
1.2.3.3 Mã dạng cây
Mã dạng cây được sử dụng chủ yếu cho các chương trình tiến hóa hoặccác biểu thức Cấu trúc cây thường được dùng trong trường hợp bản thân cấutrúc dữ liệu của bài toán cũng có dạng cây và do đó việc đột biến và lai đượcthực hiện khá dễ dàng
Trong mã dạng cây, mỗi nhiễm sắc thể là một cây của nhiều đối tượng,chẳng hạn như hàm hoặc lệnh của ngôn ngữ chương trình
Trang 24( + x ( / 5 y ) ) ( do_until step wall)
Bảng 1.2 : mã dạng cây
2.1.2.4.Mã hoán vị
Mã hoán vị được sử dụng trong các bài toán trình tự (ordering problems)như trong bài toán ―Người du lịch‖ (travelling salesman problem), trong đómỗi nhiễm sắc thể là một chuỗi các số tự nhiên
ví dụ như lựa chọn theo bánh xe rulet (Roulette wheel selection), lựa chọn theovòng (Tournament selection), lựa chọn xếp hạng (Rank selection) và một vàiphương pháp khác Sau đây là một số phương pháp thông dụng
Trang 251.2.4.1.Roulette selection
Hình 1.2 : Quay bánh xe
Nhiễm sắc thể 1 Nhiễm sắc thể 2 Nhiễm sắc thể 3 Nhiễm sắc thể 4
Tính độ thích nghi eval(vi) của mỗi nhiễm sắc thể vi ( i=1, pop-size), với
popsize là kích thước của quần thể:
- Phát sinh một số ngẫu nhiên r trong khoảng [0,1]
- Nếu r<q1 thì chọn nhiễm sắc thể đầu tiên v1, ngược lại chọn nhiễm sắc thể vi sao cho q i-1<r<qi
Trang 26Hiển nhiên sẽ có một số nhiễm sắc thể được chọn nhiều lần Điều nàykhông có gì vô lý bởi vì các nhiễm sắc thể thể tốt nhất có nhiều bản sao hơn, cácnhiễm sắc thể trung bình không thay đổi và các nhiễm sắc thể kém nhất thì chếtđi
Phương pháp xác định độ thích nghi xếp hạng sẽ loại bỏ hiện tượng ditruyền cục bộ này Phương pháp này không làm việc trên giá trị độ lớn của hàmmục tiêu (object function) mà chỉ làm việc dựa trên thứ tự của các cá thể trênquần thể sau khi sắp xếp cá thể theo giá trị hàm mục tiêu Phương pháp này sẽxếp hạng quần thể và mỗi nhiễm sắc thể sẽ nhận được độ thích nghi tương ứngvới thứ hạng của mình Ví dụ: cá thể xấu nhất có hạng là 1, cá thể tiếp theo xếphạng 2,…., và cá thể tốt nhất có độ thích nghi là N ( số lượng nhiễm sắc thể).Chính vì vậy mà ta gọi là độ thích nghi xếp hạng
Phương pháp này sẽ cho ta linh động đặt một trọng số để xác định sự tậptrung của độ thích nghi lên các cá thể có độ tốt cao, mà vẫn luôn đảm bảo đượcqui luật : cá thể có độ thích nghi càng cao thì xác suất được tồn tại và di truyềncàng cao
Phương pháp này giúp cho tất cả các nhiễm sắc thể có cơ hội được lựachọn như nhau Tuy nhiên, phương pháp này dẫn đến việc hội tụ chậm hơn vìnhiễm sắc thể tốt nhất không khác biệt là bao so với các nhiễm sắc thể khác
1.2.4.3 Elitism
Phương pháp này là một phương pháp mới Khi tạo ra một quần thể mớibằng lai tạo và đột biến, chúng ta sẽ mất đi những nhiễm sắc thể tốt nhất dù ít haynhiều Elitism là phương pháp mà đầu tiên chúng ta sẽ sao chép lại những cá
Trang 27thể tốt nhất vào thế hệ kế tiếp, những cái còn lại sẽ được thực hiện theo các cáchcũ.
Phương pháp này gia tăng kết quả tối ưu vì chúng ta đã giữ lại nhữngnhiễm sắc thể tốt nhất
1.2.5 Phép lai
Các cặp cha mẹ được chọn lựa lai ghép với xác suất pc. Có 3 loại ghép cơbản: lai một vị một vị trí, lai nhiều vị trí, lai đều và lai theo thuật toán Với 4 loạitrên, xác suất cá thể tạo ra do lai ghép vẫn là hằng số Số cá thể lai tạo sẽ là
pc*popsize Tốc độ lai kiểm soát tần số lai tạo mà ở đó toán tử lai được thựchiện Nếu tốc độ lai nhanh thì số cá thể tạo ra nhanh, nếu quá nhanh có thểnhững cá thể trội hơn bị đào thải và làm mất đi ý nghĩa của việc lựa chọn banđầu Tuy nhiên, tốc độ quá chậm sẽ đình trệ việc tìm kiếm do mất đi khả năngthăm dò
1.2.5.1 Lai một vị trí
Với mỗi nhiễm sắc thể trong quần thể
- Phát sinh 1 số ngẫu nhiên r trong khoảng [0,1] Nếu r < pc thì chọn nhiễm sắc thể đó để lai ghép
- Sau đó ghép các nhiễm sắc thể đã được chọn một cách ngẫu nhiên.Đối với mỗi cặp nhiễm sắc thể được ghép đôi, lại phát sinh ngẫu nhiên một sốnguyên pos trong khoảng [ 0, m ] (m là tổng số bit trong một nhiễm sắc thể) Sốpos cho vị trí điểm lai Hai nhiễm sắc thể (b1b2…bpos bpos+1…bm) và
(c1c2 cposcpos+1 cm) được thay bằng cặp con của chúng (b1b2…bposcpos+1 cm)
Hình 1.3: Lai một vị trí đối với mã nhị phân
Mã số thực
Trang 28Bảng 1.4: Lai một vị trí đối với mã số thực
Trang 29- Tạo một chuỗi lai giả M có chiều dài bằng chiều dài chuỗi bố, mẹ Các bit được tạo ngẫu nhiên
- Chuỗi con được tạo ra bằng cách lấy từng gen cá thể cha, mẹ Nếubit thứ i trong chuỗi lai giả M là 0 thì lấy gen tương ứng của cá thể P1, ngược lạilấy gen tương ứng cá thể P2
Hình 1.6: Lai đều
1.2.5.4 Lai số học
Một vài phép toán số học được thực hiện để tạo ra con mới, thường là phép AND
Trang 30Bảng 1.6: Lai số học
1.2.6 Đột biến
Đột biến là một toán tử duy trì sự đa dạng của quần thể Đột biến nhằmtạo ra những thông tin mới trong quần thể lai tạo tại các vị trí bit nào đó trongmỗi nhiễm sắc thể Với xác suất đột biến trong quần thể là pm thì số lượngnhiễm sắc thể bị đột biến sẽ là pm* popsize Mỗi bít trong nhiễm sắc thể có cơhội đột biến như nhau và được thay đổi từ 0 thành 1 và ngược lại Đối với các
mã khác thì cũng tương tự, các giá trị sẽ đột biến ngẫu nhiên thành một giá trịkhác
Đối với mỗi nhiễm sắc thể trong quần thể và mỗi bít trong nhiễm sắc thể:
- Phát sinh một số ngẫu nhiên r trong khoảng [0,1] Nếu r<pm, tiến hành đột biến bit đó
- Trong Gas, đột biến xảy ra với xác suất rất nhỏ, thường nằm trongkhoảng 0.001 đến 0.01 Đột biến nhằm loại trừ sự nhầm lẫn do các tối ưu cục bộ.Đột biến phụ thuộc vào việc mã hóa cũng như phép lai Đột biến có thể xảy ra tạimột vị trí hay nhiều vị trí
Bảng 1.7: Đột biến
Để quá trình đột biến có hiệu quả thì xác suất đột biến thường được chọn
tỉ lệ nghịch với kích thước gen Một xác suất đột biến thường sử dụng là 1/N ( N
là kích thước gen) Hơn nữa, xác suất đột biến nên độc lập với kích thước quầnthể Nghĩa là số lượng cá thể trong quần thể tăng hay giảm không ảnh hưởng đếnkhả năng đột biến cá thể trong quần thể
Trang 311.2.6.3 Đột biến đồng dạng
Đột biến này thay thế các giá trị của gen được chọn với giá trị ngẫu nhiênđồng dạng được chọn nằm giữa biên trên và biên dưới Nghĩa là toán tử nàychọn một thành phần ngẫu nhiên k= (1,…,q) của vec tơ x= (x1,x2,…,xq) và sảnsinh ra x’=(x1,…xk’,….,xq), trong đó xk’ là giá trị ngẫu nhiên (phân bố xác suấtđều) trong khoảng <leftk,rightk>
Toán tử này đóng vai trò quan trọng trong những giai đoạn đầu của quátrình tiến hóa khi các lời giải được phép di chuyển tự do trong không gian tìmkiếm Đặc biệt, toán tử cần thiết này cần thiết trong trường hợp quần thể ban đầugồm nhiều bản sao của cùng một điểm Tình trạng như thế thường xảy ra trongnhững bài toán tối ưu có ràng buộc mà người sử dụng đặc tả điểm khởi đầu củatiến trình Hơn nữa, điểm khởi đầu duy nhất này có một thuận lợi to lớn: nó cho
Trang 32lần lặp trước Chính kỹ thuật này đã được dùng trong việc phát triển một hệthống xử lý các ràng buộc phi tuyến trong những không gian không nhất thiết làlồi sau này Cũng vậy, trong những giai đoạn sau của quá trình tiến hóa, toán tửnày cho phép thoát khỏi tối ưu cục bộ để tìm một điểm tốt hơn.
1.2.7 Điều kiện dừng
Các vòng lặp của thuật giải sẽ kết thúc khi gặp điều kiện dừng
Các điều kiện dừng có thể như:
• Đạt số vòng lặp tối đa
• Đạt độ thích nghi tối đa
• Quá thời gian thực hiện
• Đạt ngưỡng tài nguyên
1.2.8 Ví dụ.
Để dễ hình dung, chúng ta sẽ thảo luận các tính năng chính của thuật giải
di truyền qua 1 ví dụ cụ thể.Ta áp dụng giải thuật di truyền tìm giá trị lớn nhấtcủa một hàm thực một biến
Tối ưu hàm một biến
Xét bài toán tối ưu không ràng buộc sau:
Trang 33Rõ ràng là phương trình trên có vô số lời giải
Cũng chú ý rằng hàm f đạt đến giá trị cực đại (cục bộ) tại điểm xi, khi i là
số nguyên lẻ, và đạt giá trị cực tiểu của nó tại xi, khi i chẵn
Vì miền giá trị của bài toán là [-1,2], hàm đạt cực đại tại x19= 37/20+ 19=1.85+19, ở đây f(x19) hơi lớn hơn f(1.85)= 1.85* sin(18π+π/2)+1.0=2.85
Bây giờ ta dùng thuật giải di truyền để giải bài toán trên, nghĩa là tìm một điểm trong đoạn [-1,2] sao cho tại đó f có giá trị lớn nhất
Ta sẽ lần lượt bàn về 5 thành phần chính của thuật giải di truyền giải bài toán này
a) Biểu diễn
Ta sử dụng một véc tơ nhị phân làm nhiễm sắc thể để biểu diễn các giá trịthực của biến x Chiều dài vec tơ phụ thuộc vào độ chính xác cần có, trongthí dụ này, ta tính chính xác đến 6 số lẻ
Miền giá trị của x có chiều dài 2-(-1)=3; với yêu cầu về độ chính xác 6 số
lẻ như thế phải chia khoảng [-1,2] thành ít nhất 3x106 khoảng có kích thướcbằng nhau Điều này có nghĩa là cần có 22 bit cho vec tơ nhị phân (nhiễmsắc thể)
Trang 34(<b21b20 b0>)2=( b i 2i )10= x’
i 0
- Tìm số thực x tương ứng x= -1+x’ (3/222-1)
với -1 là cận dưới của miền giá trị và 3 là chiều dài của miền
Thí dụ, nhiễm sắc thể 1000101110110101000111) biểu diễn số 0.637197 vì
x’ =(1000101110110101000111)2=228896710
và x= -1.0+ 2288967x 3/4194303= 0.637197
Đương nhiên nhiễm sắc thể
(0000000000000000000000) và (1111111111111111111111) biểu diễn các cận của miền, -1.0 và 2.0 cho mỗi cận
b) Khởi tạo quần thể
Tiến trình khởi tạo rất đơn giản: ta tạo một quần thể các nhiễm sắc thể,trong đó mỗi nhiễm sắc thể là một véc tơ nhị phân 22 bit, tất cả 22 bit của mỗinhiễm sắc thể đều được khởi tạo ngẫu nhiên
v1=(1000101110110101000111)
v2= (0000001110000000010000)
Tối ưu đa mục tiêu sử dụng giải thuật di truyền với bài toán hỗ trợ người mua hàng trực tuyến lựa chọn sản phẩm
Trang 35Nhiễm sắc thể này biểu diễn giá trị x’3=1.721638 và f(x’3)=-0.082257 Điều này
có nghĩa là đột biến cụ thể này làm giảm khá nhiều giá trị của nhiễm sắc thể v3.Bây giờ, nếu gen thứ 10 được chọn để đột biến trong nhiễm sắc thể v3 thì
Trang 36Hai con của kết quả lai là:
Đối với bài toán đặc biệt này, ta đã dùng các tham số sau đây
Kích thước quần thể pop-size =50,
xác suất lai tạo pc=0.25,
xác suất đột biến pm=0.01
Xác suất lai pc= 0.25 nghĩa là cá thể v trong quần thể có 25% cơ hội được chọn
để thực hiện phép lai; còn xác suất đột biến pm=0.01 lại là 1% bit bất kì của 1 cáthể bất kì trong quần thể bị đột biến
f) Các kết quả thử nghiệm
Bảng trình bày một số kết quả hàm mục tiêu f ở một số thế hệ Cột bêntrái cho biết thế hệ được xem xét, cột bên phải cho biết giá trị của hàm f nhiễmsắc thể tốt nhất sau 150 thế hệ là:
vmax=(1110011010001000000101) tương ứng với giá trị xmax=1.850773
Đúng như ta mong đợi, xmax=1.85+ , và f(xmax) lớn hơn 2.85 một chút
Trang 38CHƯƠNG II.
TỐI ƯU ĐA MỤC TIÊU TRONG MUA HÀNG TRỰC TUYẾN
2.1 Tối ưu hóa nhiều mục tiêu.
Tối ưu hóa nhiều mục tiêu có nghĩa là tìm phương án tốt nhất theo mộtnghĩa nhất định nào đó để đạt được (cực đại hay cực tiểu) nhiều mục tiêu cùngmột lúc và một phương án như vậy thì ta gọi là phương án lý tưởng Trong mộtbài toán tối ưu nhiều mục tiêu, các mục tiêu thường xung đột với nhau nên việc
cố gắng làm ―tăng‖ giá trị cực đại hay cực tiểu một mục tiêu có thể sẽ làm
―giảm‖ giá trị cực đại hay cực tiểu của các mục tiêu khác, việc tồn tại phương
án lý tưởng là rất hiếm Vì vậy cách tốt nhất là tìm một phương án nhằm thỏamãn tất cả các yêu cầu các mục tiêu trong một mức độ chấp nhận được vàphương án như thế gọi là phương án thỏa hiệp của các hàm mục tiêu
Có rất nhiều định nghĩa khác nhau đề cập đến phương án/nghiệm tối ưunhư: Pareto, Borwein, Benson, Geoffrion, Kuhn – Tucker,…Các định nghĩa nàythường có sự tương quan với nhau và chúng được biểu hiện cụ thể thông qua cácđịnh lý, mệnh đề và tính chất
Để giải bài toán tối ưu nhiều mục tiêu bên cạnh các phương pháp thôngdụng như phương pháp ràng buộc, phương pháp tổng trọng số còn một lớp cácphương pháp và thuật giải chính như sau:
Một là: Phương pháp tổng trọng số chấp nhận được cho bài toán hai vànhiều mục tiêu
Mục đích chính của phương pháp Tổng trọng số chấp nhận được là tậptrung tìm kiếm nghiệm tối ưu trên những vùng chưa được tìm kiếm nằm trênbiên Pareto bằng cách thay đổi một cách hợp lý các trọng số, hơn là ưu tiên vàoviệc lựa chọn các trọng số và chỉ định các ràng buộc bất đẳng thức bổ sung.Phương pháp này sẽ tìm được nhiều nghiệm tối ưu Pareto hơn và tìm đượcnghiệm tối ưu trong miền không lồi, đồng thời bỏ qua các nghiệm non-Pareto
Hai là: Dùng ý tưởng từ thuật toán di truyền để giải bài toán tối ưu nhiềumục tiêu bao gồm cách thuật toán chính yếu: MOGA, SPEA2, NSGA-II Cáchthức tìm nghiệm của các thuật toán này là từ các nghiệm được khởi tạo một cách