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

(Luận văn thạc sĩ) 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 luận văn ths công nghệ thông tin

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 (3.26 MB, 74 trang )

1

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

VŨ THU HÀ

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
Chuyên ngành: Hệ thống thông tin
Mã số

: 60 48 05

LUẬ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

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


2

MỤ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
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


3

2.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 tố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

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


4

LỜ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ơng
trình khác.
HỌC VIÊN CAO HỌC

Vũ Thu Hà

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


5

LỜ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. Trong
suố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 q 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ành
luậ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ới
tri 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 q thầy cơ và các bạn.

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


6

Nhận xét của giáo viên phản biện.
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................

.................................................................................................................................

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


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
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


8

PHẦN I
MỞ ĐẦU
I. Lý do lựa chọn đề tài.
Bán hàng trực tuyến đã trở thành một xu hướng tất yếu của xã hội hiện đại
ngày nay. Khi xã hội phát triển, nhu cầu của con người phát triển, và các thói

quen cũ cũng thay đổi theo. Với sự phát triển của khoa học, cơng nghệ, chúng ta
có thể ngồi ở nhà mà vẫn có thể lựa chọn được một sản phẩm tâm đắc. Tuy
nhiê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ự mong
muốn trong một thời gian cho phép là một vấn đề đặt ra cho doanh nghiệp. Tiêu
chí đặ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 đi
chă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 website
bá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ất
trong 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ản
lượ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ến
trong khâu lựa chọn sản phẩm.
Bài tố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 ln tìm thấy sản phẩm với thời gian
ngắn. Mặc dù độ chính xác của nó khơng hồn tồn là 100% và có rất nhiều việc
phả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ếm
trong 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.

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


9


Từ 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ọn sản phẩm‖.
II. Mục đích, đối tƣợng, phạm vi và phƣơng pháp nghiên cứu
1. Mục đích nghiên cứu
• Nghiên cứu về bài tố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
tố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ụng
và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
tố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.
III.

Các luận điểm cơ bản và đóng góp mới của luận vă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ội dung 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


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


10

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, 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.
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án
hà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.

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


11

PHẦ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 đến
việ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ên
v.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ệu
xuấ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óa
một cách độc lập để đạt được kết quả tốt nhất ứng với mục tiêu đó. Tuy nhiên

một kết quả chấp nhận được cho tồn bộ các mục tiêu khó có thể tìm ra theo
cá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ột
hoặ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 sao
tì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ông
là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 ưu
như 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ết
quả 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ốt
cuộc vẫn thuộc về người ra quyết định.
1.1.2. Phát biểu bài tố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ộc
vớ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 ưu
hóa đa mục tiêu‖. Việc giải quyết bài tốn tối ưu hóa đa mục tiêu được giải
quyết vớ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
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


12

mụ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 định
thỏ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 so
sá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 q trình tối ưu hóa là việc cơng thức hóa vấn đề.
Một mơ hình tố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 tốn đa mục tiêu đều có thể biểu diễn bằng một vector các
hà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àng
buộ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áp
cầ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

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


13

1.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àm
mụ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:
f(x)=(f1(x),f2(x),…,fn(x))
1.1.3.4 . Dạng chuẩn của vấn đề
Một vấn đề được cơng thức hóa có dạng chuẩn như sau

min/max {f(x):h(x)=0,g(x) ≤0} => x  Rn
Cơng thức trên có thể được diễn đạt như sau: tìm một tập các giá trị R của vector
quyết định sao cho hàm mục tiêu đạt giá trị nhỏ nhất (lớn nhất) và thỏa các ràng
buộc là các đẳng thức h(x) và bất đẳng thức g(x).
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]

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


14

1.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êu
khá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à

∀i ∈{1,…,n}, ui ≤ xi và ∃i ∈{1,…,n}, uiNhư ở hình 1.1 trên thì A, B, C1 thuộc miền tối ưu Pareto nhưng C thì khơng, vì
C bị thống trị bởi C1.
Một phương án x* không bị thống trị bởi một phương án nào cả sẽ thuộc về
miền tối ưu Pareto. Do vậy việc giải bài toán tối ưu hóa đa mục tiêu là chọn ra từ
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


15

miề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ĩa
nà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ần
thể 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ếp
cậ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 đa
mụ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ại
là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ỏi
chú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 đòi
hỏ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ông
phả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ách
hiệ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 định

thê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úc
bằ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ác
giả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 đa
mụ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ề

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


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.
k

Khi đó vấn đề của chúng ta sẽ được chuyển thành dạng: min  w i fi ( x)
i 1

k

hoặc min  w i fi ( x) c i *
i 1

Trong đó wi ≥ 0 là các trọng số mơ tả mối tương quan độ quan trọng giữa các
mục tiêu.Và thường được tạo với cách:

k

w

i

1

i1

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ơng
thườ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 khi
chúng ta phải sử dụng nhiều giá trị trọng số khác nhau. Nhưng trong trường hợp
cá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ình
thì 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ủa
mụ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à:
k

min 
i 1

fi ( x)  Ti , xF


Trong đó Ti là giá trị đích mà người ra quyết định mong muốn đạt được ở
hàm mục tiêu thứ i, F là vùng khả thi.Trong đó mục tiêu của ta bây giờ là làm tối
thiểu hóa khoảng cách giữa giá trị đích và giá trị thực sự mà mục tiêu đạt được.

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


17

Phươ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ải
pháp khác nếu đích cần đạt được nằm trong vùng khả thi. Đây có thể là một cách
tiế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ải
cung 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ể so
sá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ết
trướ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ật
giả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ục
tiê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ụng
thuật toán di truyền để giải quyết một bài tốn tối ưu đa mục tiêu thì có rất nhiều
việ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ác
thao 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ó đem
lại rõ ràng rất ấn tượng. Do đó việc áp dụng thuật tốn di truyền để giải quyết
bà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 tố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ài
tốn rất thú vị nhưng chưa có thuật tốn hợp lý để giải chúng. Trong số đó, các
bài tố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 tốn tối ưu quan trọng địi hỏi những
thuật giải chất lượng cao. Ví dụ, ta có thể áp dụng phương pháp mơ phỏng luyện
thép để giải bài tốn tìm đường đi ngắn nhất cho xe cứu hỏa hay bài toán ngườ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ọn sản phẩm


18

du lịch… Cũng có nhiều bài tốn tối ưu tổ hợp có thể giải được gần đúng trên
máy tính hiện đại bằng kỹ thuật Monte- Carlo.
Nói chung, bài tốn tối ưu có thể được xem là bài tố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ìm
kiếm nhỏ, các phương pháp cổ điển như trên cũng đủ thích hợp; nhưng khi
khơ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 sinh
tồ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 sinh
tồ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ông
minh hơn những con khác. Những chú thỏ nhanh nhẹn và thơng minh có xác
suấ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ống
chỉ 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ệc

sinh 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ém và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
con trong quần thể gốc vì có nhiều bố mẹ nhanh hơn và thơng minh hơn đã thốt
chế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ình
tương tự- nếu khơng những con thỏ sẽ trở nên nhanh và thông minh đến nỗi
nhữ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ây
chú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ải thuậ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ắc thể được tạo thành từ các gen, biểu diễn trong một chuỗi tuyến tính; mỗi gen
kiểm sốt một (số) đặc trưng. Gen với những đặc trưng nhất định có vị trí nhất
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


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ểu
hiệ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ời
giả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ơng
gian 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): Khai
thá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ếm
ngẫ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 di
truyề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ững
thuậ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ẫu
nhiê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ìm
kiế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ụng
rộ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ương
phá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àm
mụ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ân
cận khác sẽ được chọn và thử. Q trình trên sẽ dừng nếu khơng cải thiện được
thê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 tồn cục) của lời giải tìm được.
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



20

Để tăng cơ hội thành công, phương pháp leo đồi thường được thực hiện
nhiề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ông
cầ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ợi
củ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 đầu
nữ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ác
suấ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ện
hà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ực
hiệ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ật
giả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ều
hướ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 được
dù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ủa thuậ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ểu diễn số (mã hóa), tính tốn độ thích nghi, chọn lọc và các thao tác di truyền.
Một thuậ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)
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


21

Thự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 ra
thế 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 ln ln cần
thiế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ếu
kí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ời
giả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ốn
nhiều tài ngun 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ỗi dà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ẫu
nhiên và phụ thuộc vào từng bài tố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óa các biến phụ thuộc vào từng bài tố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ắn
nhấ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

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


22

Giả sử muốn tối ưu hàm n biến f(x1,x2,x3,.,xn), trong đó mỗi biến xi thụộc
miề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 thuộc [ ai, bi] được biểu diễn bằng một chuỗi nhị
phân có chiều dài mi. Phép ánh xạ biến nhị phân thành biến thực x i được tính
theo cơng thức:
xi= ai+ decimal(string2)*(bi-ai)/2 mi-1 trong đó decimal (string2) biểu diễn
giá trị thập phân của chuỗi nhị phân string2. Bây giờ mỗi nhiễm sắc thể (là một
lời giải) được biểu diễn bằng chuỗi nhị phân có chiều dài m =

n



mi.Với m1 là


i1

bit đầu tiên biểu diễn các giá trị trong khoảng [a1,b1], m2 là bit kế tiếp biểu diễn
giá trị trong khoảng [a2,b2] và nhóm mnbit cuối cùng biểu diễn trong khoảng
[an,bn] .
Việc mã hóa này khơng tự nhiên đối với vài bài tố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 tố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 đến
việ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ễn
kiể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ới
khơng gian thực của bài tốn hơn.

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


23

Trong 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ự
và thậm chí là các đối tượng.
Chromosome A

1.2324 5.3243 0.4556 2.3293 2.4545


Chromosome B

ABDJEIFJDHDIERJFDLDFLFEGT

Chromosome C

(back), (back), (right), (forward), (left)

Bảng 1.1 : Mã số thực
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ặc
cá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ấu
trú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 được
thự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
Nhiễm sắc thể A

Nhiễm sắc thể B

+

do until

x

/

step
5

wall

y

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


24

(+x(/5y))

( 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 tố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.
Chromosome A

1 5 3 2 6 4 7 9 8

Chromosome B

8 5 6 7 2 3 1 4 9

Bảng 1.3 : Mã hoán vị

1.2.4. Lựa chọn
Nhiễm sắc thể được lựa chọn từ quần thể để trở thành cha mẹ cho các
phép toán lai tạo và đột biến. Vấn đề ở đây là lựa chọn nhiễm sắc thể như thế
nào. Theo thuyết tiến hóa của Darwin thì những cha mẹ tốt nhất sẽ sống sót và
tạo ra những con mới. Có nhiều phương pháp để lựa chọn nhiễm sắc thể tốt nhất,
ví dụ như lựa chọn theo bánh xe rulet (Roulette wheel selection), lựa chọn theo
vòng (Tournament selection), lựa chọn xếp hạng (Rank selection) và một vài
phương pháp khác. Sau đây là một số phương pháp thông dụng

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


25

1.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ể:
eval(vi)=f(vi)/

pop size



i 1

f(vi) với f(vi) là hàm mục tiêu.

Tìm tổng giá trị thích nghi F cho tồn quần thể:
F=

pop  size


i 1

f(vi).

Tìm xác suất chọn pi cho mỗi nhiễm sắc thể vi:
pi= eval (vi)/

pop  size


i 1

eval(vi)

Tìm xác suất tích lũy qi cho nhiễm sắc thể vi:
qi=

pop  size



i 1

pi

Tiến trình chọn lọc được thực hiện bằng cách quay bánh xe rulet popsize
lần. Mỗi lần chọn ra một nhiễm sắc thể từ quần thể hiện hành vào quần thể mới
theo cách sau:
-

Phát sinh một số ngẫu nhiên r trong khoảng [0,1]
Nếu r
sắc thể vi sao cho q i-1Tố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


×