xây dựng ứng dụng hỗ trợ trang web bán hàng

74
i Li cm ơn Viết mt khóa lun khoa hc là mt trong nhng vic khó nht mà chúng em phi hoàn thành ttrước đến nay. Trong quá trình thc hin đề tài chúng em đã gp rt nhiu khó khăn và bng. Nếu không có nhng sgiúp đỡ và li động viên chân thành ca nhiu người có lchúng em khó có thhoàn thành tt lun văn này. Đầu tiên chúng em xin gi li biết ơn chân thành đến cô Lê ThNhàn, người trc tiếp hướng dn chúng em hoàn thành lun văn này. Chúng em mun gi li cm ơn đến cô Phm ThBch Hu, giáo viên phn bin ca lun văn này. Nhng ý kiến đóng góp ca cô là vô cùng hu ích, nó giúp chúng em nhn ra các khuyết đim ca lun văn. Trên con đường góp nht nhng kiến thc quý báu ca ngày hôm nay, các thy, cô, bn bè trường Đại hc Khoa hc Tnhiên là nhng người đã cùng em sát cánh và tri nghim. Và sau cùng, chúng con xin cm ơn cha m, nhng người đã sinh thành, dưỡng dc và nuôi dy chúng con nên người. Sut đời này chúng con luôn ghi nhơn Người.

Upload: saber-single

Post on 14-Jul-2015

244 views

Category:

Education


3 download

TRANSCRIPT

Page 1: Xây dựng ứng dụng hỗ trợ trang web bán hàng

i

Lời cảm ơn

Viết một khóa luận khoa học là một trong những việc khó nhất mà chúng em phải hoàn

thành từ trước đến nay. Trong quá trình thực hiện đề tài chúng em đã gặp rất nhiều khó

khăn và bỡ ngỡ. Nếu không có những sự giúp đỡ và lời động viên chân thành của nhiều

người có lẽ chúng em khó có thể hoàn thành tốt luận văn này.

Đầu tiên chúng em xin gửi lời biết ơn chân thành đến cô Lê Thị Nhàn, người trực tiếp

hướng dẫn chúng em hoàn thành luận văn này.

Chúng em muốn gửi lời cảm ơn đến cô Phạm Thị Bạch Huệ, giáo viên phản biện của luận

văn này. Những ý kiến đóng góp của cô là vô cùng hữu ích, nó giúp chúng em nhận ra

các khuyết điểm của luận văn.

Trên con đường góp nhặt những kiến thức quý báu của ngày hôm nay, các thầy, cô, bạn

bè trường Đại học Khoa học Tự nhiên là những người đã cùng em sát cánh và trải

nghiệm.

Và sau cùng, chúng con xin cảm ơn cha mẹ, những người đã sinh thành, dưỡng dục và

nuôi dạy chúng con nên người. Suốt đời này chúng con luôn ghi nhớ ơn Người.

Page 2: Xây dựng ứng dụng hỗ trợ trang web bán hàng

ii

Danh mục các hình

Hình 2.1- Các giai đọan của quá trình ra quyết định. ........................................................5 Hình 2.2 - Ưu điểm của Hệ hỗ trợ ra quyết định. ................................................................5 Hình 2.3 - Các thành phần của Hệ hỗ trợ ra quyết định. .....................................................6 Hình 2.4 Cấu trúc tổng quát của một mô hình.....................................................................7 Hình 3.1 - Amazon đưa ra lý do vì sao các lời đề nghị được đưa ra. ................................15 Hình 3.2 - Đánh giá phim ở movifinder.com....................................................................16 Hình 3.3 - Trang Research. ...............................................................................................17 Hình 3.4 - Danh mục xe ở loại xe chở khách.....................................................................17 Hình 3.5 - Các câu hỏi về đặc tính máy in........................................................................19 Hình 3.6 - Các sản phẩm đề nghị của HP sau khi chọn trả lời cho các câu hỏi.................20 Hình 3.7 - Các câu hỏi của samsungtelecom.com. ...........................................................21 Hình 3.8 - Đánh giá độ quan trọng của các thuộc tính với SmartSort. .............................22 Hình 4.1 - Vector mục tiêu của sản phẩm có 2 thuộc tính.................................................28 Hình 4.2 - Điều hướng về miền tối ưu Pareto....................................................................29 Hình 4.3 Di chuyển trên miền Pareto bằng cách thay đổi trọng số ...................................31 Hình 4.4 - Các trạng thái gen trong quần thể. ....................................................................32 Hình 4.5 - Lai ghép. ...........................................................................................................33 Hình 4.6 - Đột biến. ...........................................................................................................33 Hình 5.1 - Lược đồ Usecase...............................................................................................35 Hình 5.2 - Lược đồ trình tự cho usecase Tìm kiếm. ..........................................................36 Hình 5.3 - Lược đồ trình tự cho usecase Xem danh sách sản phẩm được mua nhiều nhất.

....................................................................................................................................36 Hình 5.4 - Xem danh sách sản phẩm mới ra mắt. ..............................................................37 Hình 5.5 - Lược đồ tuần tự Usecase Sản phẩm được quan tâm nhiều nhất. ......................37 Hình 5.6 - Lược đồ trình tự cho usecase Trợ giúp lựa chọn sản phẩm..............................38 Hình 5.7 - Lược đồ trình tự cho usecase Duyệt sản phẩm theo hãng sản xuất. .................39 Hình 5.8 - Lược đồ trình tự cho usecase Xem thông tin chi tiết........................................39 Hình 5.9 - Lược đồ trình tự cho usecase Thêm hàng vào giỏ. ...........................................40 Hình 5.10 - Lược đồ trình tự cho usecase Xem giỏ hàng. .................................................40 Hình 5.11 – Lược đồ trình tự cho usecase Thanh toán. .....................................................41 Hình 5.12 - Mô hình kiến trúc hệ thống.............................................................................42 Hình 5.13 - Sơ đồ dữ liệu quan hệ. ....................................................................................42 Hình 5.14 - Lược đồ trình tự (mức thiết kế) cho usecase Tìm kiếm..................................45 Hình 5.15 - Lược đồ trình tự (mức thiết kế) cho usecase Xem sản phẩm mới ra mắt......46 Hình 5.16 - Lược đồ trình tự (mức thiết kế) cho usecase Trợ giúp chọn sản phẩm ..........46 Hình 5.17 - Lược đồ trình tự (mức thiết kế) cho usecase Xem thông tin chi tiết ..............47 Hình 5.18 - Lược đồ trình tự (mức thiết kế) cho usecase Thêm hàng vào giỏ ..................47 Hình 5.19 Lược đồ trình tự (mức thiết kế) cho usecase Xem giỏ hàng.............................47 Hình 5.20 - Lược đồ trình tự (mức thiết kế) cho usecase Thanh toán ...............................48 Hình 5.21 Sơ đồ phối hợp giữa các trang web...................................................................48 Hình 5.22 - Sơ đồ lớp ứng dụng WebMobileShop. ..........................................................52 Hình 5.23 - Sơ đồ lớp của module thuật toán GA. ............................................................54 Hình 7.1 - Miền tối ưu Pareto. ...........................................................................................64

Page 3: Xây dựng ứng dụng hỗ trợ trang web bán hàng

iii

Danh mục các bảng

Bảng 3.1 - Các bước cơ bản để tiến hành một giao dịch ...................................................12 Bảng 3.2 - Phân loại hệ hỗ trợ ra quyết định trong E-Commerce......................................13 Bảng 3.3 - Tổng kết so sánh website .................................................................................22 Bảng 5-1-Danh sách các bảng cơ sở dữ liệu......................................................................43 Bảng 5.2 - Bảng dữ liệu tblItems .......................................................................................43 Bảng 5.3 - Bảng dữ liệu tblCaseType................................................................................44 Bảng 5.4 - Bảng dữ liệu tblProducers................................................................................44 Bảng 5.5 - Bảng dữ liệu tblOrders .....................................................................................44 Bảng 5.6 - Bảng dữ liệu tblOrderDetails ...........................................................................45 Bảng 5.7 - Các đối tượng lớp của hệ thống WebMobileShop ...........................................53 Bảng 5.8 - Các đối tượng thuộc module thuật toán GA ....................................................54

Page 4: Xây dựng ứng dụng hỗ trợ trang web bán hàng

iv

Mục lục

Lời cảm ơn ........................................................................................................................... i Danh mục các hình.............................................................................................................. ii Danh mục các bảng............................................................................................................ iii Mục lục .............................................................................................................................. iv Chương 1 Giới thiệu ............................................................................................................1 1.1 Tổng quan ................................................................................................................1 1.2 Vấn đề đặt ra ............................................................................................................1 1.3 Mục tiêu của luận văn..............................................................................................2 1.4 Bố cục của luận văn .................................................................................................2 Chương 2 Hệ hỗ trợ ra quyết định .......................................................................................4 2.1 Thế nào là ra quyết định...........................................................................................4 2.2 Quá trình ra quyết định ............................................................................................4 2.2.1 Phân loại quyết định.............................................................................................4 2.2.2 Các giai đoạn của quá trình ra quyết định............................................................4 2.3 Hệ hỗ trợ ra quyết định ............................................................................................5 2.3.1 Khái niệm Hệ hỗ trợ ra quyết định ......................................................................5 2.3.2 Các thành phần của Hệ hỗ trợ ra quyết định........................................................6 2.3.3 Mô hình ra quyết định..........................................................................................7 2.3.4 Phân loại Hệ hỗ trợ ra quyết định ........................................................................8 2.4 Tìm kiếm và đánh giá các lựa chọn một phần rất quan trọng trong hỗ trợ ra quyết định 10 Chương 3 Mua hàng qua mạng và sự cần thiết của hỗ trợ ra quyết định ..........................11 3.1 Internet đem đến một phương thức mua bán mới ..................................................11 3.2 Khảo sát thực trạng mua bán qua mạng.................................................................11 3.3 So sánh giữa phương thức mua hàng truyền thống và mua qua mạng ..................12 3.3.1 Các bước cơ bản để tiến hành một giao dịch mua hàng ....................................12 3.3.2 Các điểm thuận lợi và không thuận lợi trong phương thức mua bán truyền thống 13 3.3.3 Các điểm thuận lợi và không thuận lợi trong phương thức mua bán qua mạng13 3.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..................13 3.4.1 Khảo sát một số hệ hỗ trợ ra quyết định trong E-Commerce ............................14 3.4.2 Bảng tóm tắt và so sánh .....................................................................................22 3.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 .......................................................................................................................22 Chương 4 Sử dụng giải thuật di truyền để giải quyết bài toán hỗ trợ chọn sản phẩm khi mua hàng qua mạng ...........................................................................................................24 4.1 Giới thiệu ...............................................................................................................24 4.2 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 ........24 4.3 Vấn đề “đa mục tiêu” khi chọn sản phẩm..............................................................25 4.4 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 ..............25 4.5 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.......................26 4.5.1 Lời giải cho bài toán ..........................................................................................26 4.5.2 Các biến quyết định ...........................................................................................26 4.5.3 Các ràng buộc ....................................................................................................26 4.5.4 Các mục tiêu ......................................................................................................27 4.5.5 Hướng đến một lời giải “tối ưu” ........................................................................28 4.5.6 Các cải tiến để phù hợp với bài toán..................................................................31

Page 5: Xây dựng ứng dụng hỗ trợ trang web bán hàng

v

Chương 5 Phân tích và thiết kế website bán điện thoại di động có hỗ trợ người mua chọn sản phẩm ............................................................................................................................35 5.1 Phân tích.................................................................................................................35 5.1.1 Mô hình Usecase................................................................................................35 5.1.2 Mô tả các Actor..................................................................................................35 5.1.3 Mô tả các Usecase..............................................................................................35 5.2 Thiết kế ..................................................................................................................41 5.2.1 Thiết kế hệ thống ...............................................................................................41 5.2.2 Thiết kế cơ sở dữ liệu.........................................................................................42 5.2.3 Thiết kế các lớp đối tượng .................................................................................45 Chương 6 Cài đặt ...............................................................................................................55 6.1 Môi trường phát triển ứng dụng.............................................................................55 6.2 Cài đặt chương trình ..............................................................................................55 6.3 Một số màn hình tiêu biểu .....................................................................................56 Chương 7 Kết luận và hướng phát triển.............................................................................60 7.1 Kết luận..................................................................................................................60 7.2 Hướng phát triển ....................................................................................................61 Phụ lục A Bài toán tối ưu đa mục tiêu ........................................................................62 Phụ lục B Thuật giải di truyền........................................................................................68 Tài liệu tham khảo .............................................................................................................71

Page 6: Xây dựng ứng dụng hỗ trợ trang web bán hàng

1

Chương 1

Giới thiệu

1.1 Tổng quan

Trong những năm gần đây, sự phát triển của thương mại điện tử (E-Commerce) đã đem

lại nhiều lợi ích to lớn cho nền kinh tế toàn cầu. Thông qua thương mại điện tử, nhiều loại

hình kinh doanh mới được hình thành, trong đó có mua bán hàng trên mạng. Với hình

thức mới này, người tiêu dùng có thể tiếp cận với hàng hóa một cách dễ dàng và nhanh

chóng hơn rất nhiều so với phương thức mua bán truyền thống.

Những tưởng với những thế mạnh của mình các trang web bán hàng sẽ dần thay thế các

gian hàng hay các siêu thị truyền thống. Nhưng trên thực tế người mua vẫn còn rất mặn

mà với phương pháp mua bán cũ. Một phần vì phương thức mua bán cũ dần dần từng

bước chuyển từ thói quen thành một nếp văn hóa, văn hóa mua sắm. Khi đó người ta xem

hoạt động mua sắm là một hoạt động không thể thiếu trong nền văn hóa đó. Mặt khác, các

trang web bán hàng hiện nay dù đã được phát triển nhưng thực sự vẫn chưa thể thay thế

được các cửa hàng thực tế. Một trong những nguyên nhân của sự thua kém này đó là yếu

tố con người, một yếu tố mà chắc hẳn các trang web bán hàng khó có thể bù đắp được.

Bên cạnh đó, đâu là các nguyên nhân khác gây ra sự thua kém này? Người mua nhận xét

gì về những nổ lực mà các trang web bán hàng đã và đang mang lại? Làm thể nào để nâng

cao hiệu quả của những cửa hàng điện tử này?

1.2 Vấn đề đặt ra

Hiện nay, các hệ thống bán hàng trực tuyến đã tạo nhiều điều kiện thuận lợi để người mua

có thể tiếp cận nhiều mặt hàng cùng lúc. Tuy nhiên, việc trình bày và trang trí quá nhiều

các mặt hàng trên trang web đã gây ra không ít khó khăn cho người mua. Họ khó có thể

chọn ra cho mình một sản phẩm ưng ý nhất.

Để khách hàng có thể đến và mua được một sản phẩm ưng ý thì một lời khuyên, một sự

trợ giúp là rất quan trọng. Một người bán hàng trong phương thức bán hàng truyền thống

là một lợi thế rất lớn. Do đó để phương thức bán hàng qua mạng thực sự phát triển thì bên

cạnh các lợi thế vốn có của mình việc có thêm một “người trợ giúp” là hết sức cần thiết.

Hệ thống hỗ trợ ra quyết định (Decision Support System - DSS) với sự kết hợp của máy

tính đã được áp dụng nhiều trong các công tác quản lý, những công việc tất yếu liên quan

Page 7: Xây dựng ứng dụng hỗ trợ trang web bán hàng

2

đến việc ra quyết định. DSS có thể giúp những nhà quản lý đưa ra các quyết định nhanh

chóng hơn, phức tạp hơn, và nâng cao hiệu suất cũng như chất lượng của các quyết định.

Một hệ thống hỗ trợ ra quyết định tốt có thể đóng vai trò như một người trung gian hỗ trợ

khách hàng đưa ra các quyết định mua hàng đúng đắn. Bằng cách xác định mục đích và

nhu cầu của khách hàng, hệ thống có thể đưa ra một tập các gợi ý giúp cho người mua dễ

dàng chọn lựa sản phẩm yêu thích hơn. Qua đó hiệu suất của việc mua bán hàng trực

tuyến được tăng cao một cách đáng kể.

1.3 Mục tiêu của luận văn

Trước hết luận văn giúp chúng ta nhận ra những mặt thiếu sót của các trang web bán hàng

hiện nay. Những tiện ích, dịch vụ mà các trang web này cần cung cấp hoặc nâng cao hơn

để có thể nâng cao vị thế của mình trong nền kinh tế hàng hóa.

Luận văn sẽ đưa ra một hướng tiếp cận để xây dựng một trong những tiện ích nói trên,

tiện ích hỗ trợ khách hàng ra quyết định chọn sản phẩm. Tiện ích này đóng vai trò như

một người bán hàng có thể thu thập các thông tin về sở thích của khách hàng, sau đó tìm

trong kho hàng vô tận của mình những mặt hàng thích hợp nhất với các sở thích đó.

Luận văn cũng tìm hiểu bài toán tối ưu đa mục tiêu và cách tiếp cận dùng thuật giải di

truyền để giải quyết bài toán. Bài toán này cũng là một khó khăn lớn trong khi tiến hành

lựa chọn và gợi ý sản phẩm cho người mua.

Việc trợ giúp khách hàng chọn lựa sản phẩm là một giai đoạn trong quá trình người mua

quyết định mua sản phẩm. Vì vậy, luận văn sẽ tìm hiểu về hệ hỗ trợ ra quyết định, vị trí

và vai trò của người trợ giúp bán hàng trong quá trình hỗ trợ khách hàng mua sản phẩm.

1.4 Bố cục của luận văn

Bố cục của luận văn được tổ chức thành 7 chương. Chương 1 trình bày tổng quan về sự

cần thiết của hệ hỗ trợ ra quyết định trong môi trường mua bán trực tuyến và mục tiêu của

luận văn.

Chương tiếp theo giới thiệu lý thuyết chung về hệ hỗ trợ ra quyết định. Chương này nêu

ra định nghĩa “Một quyết định là gì?” và “Một hệ hỗ trợ ra quyết định là gì?”. Đây là

những kiến thức nền tảng về hệ thống hỗ trợ ra quyết định như quá trình ra quyết định,

các giai đoạn của quá trình ra quyết định, các mô hình của hệ hỗ trợ ra quyết định, và các

công nghệ thông minh được ứng dụng trong hệ hỗ trợ ra quyết định.

Page 8: Xây dựng ứng dụng hỗ trợ trang web bán hàng

3

Chương 3 là khảo sát và so sánh về các đặc điểm của những hệ hỗ trợ ra quyết định trong

môi trường mua bán trực tuyến.

Chương 4 trình bày một cách tiếp cận để áp dụng hệ hỗ trợ ra quyết định vào quá trình

lựa chọn sản phẩm và mua hàng của khách hàng. Ở đây bài toán tối ưu hóa đa mục tiêu và

các hướng giải quyết được nêu ra.

Chương 5 là phần phân tích thiết kế hệ thống trang web bán hàng và hỗ trợ khách hàng

chọn sản phẩm. Chương 6 là phần cài đặt hệ thống.

Tổng kết và đánh giá của luân văn được trình bày ở chương 7.

Page 9: Xây dựng ứng dụng hỗ trợ trang web bán hàng

4

Chương 2

Hệ hỗ trợ ra quyết định

2.1 Thế nào là ra quyết định

Việc đưa ra quyết định đối với một vấn đề xuất hiện trong khắp các lĩnh vực, hoạt động

của đời sống mà đôi khi chúng ta không nhận ra. Từ những việc đơn giản như chọn một

bộ quần áo để đi dự tiệc cho đến các việc lớn lao như phân bổ ngân sách vào các chương

trình của quốc gia đều là các công việc đưa ra quyết định.

Vậy đưa ra quyết định chính là chọn ra trong các giải pháp khả thi một giải pháp mà theo

người đưa ra quyết định là phù hợp nhất.

2.2 Quá trình ra quyết định

2.2.1 Phân loại quyết định Có thể phân ra bốn loại quyết định như sau

• Quyết định có cấu trúc (Structured Decision): Các quyết định mà người ra

quyết định biết là chắc chắn đúng.

• Quyết định không cấu trúc (Nonstructured Decision): Các quyết định mà người

ra quyết định biết là có nhiều câu trả lời gần đúng và không có cách nào để tìm

ra câu trả lời chính xác nhất.

• Quyết định đệ quy (Recurring Decision): Các quyết định lặp đi , lặp lại.

• Quyết định không đệ quy (Nonrecurring Decision): Các quyết định không xảy

ra thường xuyên.

2.2.2 Các giai đoạn của quá trình ra quyết định

Theo Simon, các giai đoạn của quá trình ra quyết định bao gồm các pha:

• Nhận định (Intelligence) : Tìm kiếm các tình huống dẫn đến việc phải ra quyết

định, nhận dạng các vấn đề, nhu cầu, cơ hội, rủi ro…

• Thiết kế (Design): Phân tích các hướng tiếp cận để giải quyết vấn đề, đáp ứng

các nhu cầu, tận dụng các cơ hội , hạn chế các rủi ro..

• Lựa chọn (Choice): Cân nhắc và đánh giá từng giải pháp, đo lường hậu qủa của

từng giải pháp và chọn giải pháp tối ưu.

• Tiến hành ra quyết định (Implementation): Thực hiện giải pháp được chọn,

theo dõi kết quả và điều chỉnh khi thấy cần thiết.

Page 10: Xây dựng ứng dụng hỗ trợ trang web bán hàng

5

Hình 2.1- Các giai đọan của quá trình ra quyết định.

2.3 Hệ hỗ trợ ra quyết định

2.3.1 Khái niệm Hệ hỗ trợ ra quyết định Trong thập niên 1970, Scott Morton đưa ra những khái niệm đầu tiên về Hệ hỗ trợ ra

quyết định (Decision Support Systems-DSS). Ông định nghĩa DSS như là những hệ thống

máy tính tương tác nhằm giúp những người ra quyết định sử dụng dữ liệu và mô hình để

giải quyết các vấn đề không có cấu trúc [5].

Hình 2.2 - Ưu điểm của Hệ hỗ trợ ra quyết định.

Page 11: Xây dựng ứng dụng hỗ trợ trang web bán hàng

6

Cho đến nay chưa có một định nghĩa thống nhất về DSS. Tuy nhiên tất cả đều đồng ý

mục đích cơ bản nhất của DSS là để hỗ trợ và cải tiến việc ra quyết định.

2.3.2 Các thành phần của Hệ hỗ trợ ra quyết định Một Hệ hỗ trợ ra quyết định gồm có ba thành phần chính

• Quản lí mô hình

• Quản lí dữ liệu

• Quản lí giao diện ngừơi dùng

Quản lí mô hình (Model Management) bao gồm các mô hình ra quyết định (DSS

models) và việc quản lí các mô hình này. Một số ví dụ của các mô hình này bao gồm: mô

hình nếu thì, mô hình tối ưu, mô hình tìm kiếm mục đích, mô hình thống kê.

Quản lí dữ liệu (Data Management) thực hiên công việc lưu trữ các thông tin của hệ và

phục vụ cho viêc lưu trữ, cập nhật, truy vấn thông tin.

Quản lí giao diện ngừơi dùng (User Interface Management) quản lí việc giao tiếp giữa

người dùng cuối và Hệ ra quyết định.

Hình 2.3 - Các thành phần của Hệ hỗ trợ ra quyết định.

Page 12: Xây dựng ứng dụng hỗ trợ trang web bán hàng

7

2.3.3 Mô hình ra quyết định Một đặc trưng cơ bản của Hệ hỗ trợ ra quyết định là phải có ít nhất một mô hình hỗ trợ ra

quyết định. Việc chọn lựa và xây dựng mô hình nằm trong giai đoạn thứ hai (Design

Phase) của quá trình ra quyết định.

Một mô hình là một khái quát hóa hay trừu tượng hóa của thực tế. Mô hình hóa là việc

khái quát hóa và trừu tượng hóa các vấn đề thực tế thành các mô hình định tính hay định

lượng. Đó là một quy trình kết hợp cả khoa học (sự chính xác, logic) và nghệ thuật (sự

sáng tạo).

Một mô hình thường bao gồm ba thành phần cơ bản:

• Decision Variables: Đây là các lực chọn xác định bởi người ra quyết định.

Chẳng hạn trong bài tóan quyết định đầu tư thì đây là số tiền đầu tư, nơi đầu tư,

thời gian đầu tư…

• Uncontrollable Variables : Đây là các biến không nằm trong sự kiểm sóat của

người ra quyết định (bị tác động bởi các yếu tố bên ngòai). Chẳng hạn trong bài

tóan trên thì đây là tốc độ lạm phát, lãi suất ngân hàng…

• Result Variables: Đây là các biến kết quả của mô hình. Chẳng hạn trong bài

toán trên thì đây là tỉ số lợi nhuận…

Hình 2.4 Cấu trúc tổng quát của một mô hình.

Khi lựa chọn quyết định cuối cùng, người ra quyết định có thể muốn có một quyết định

tối ưu (optimal) hay một quyết định thỏa đáng, gần tối ưu (good enough). Do vậy có thể

chia ra hai loại mô hình hỗ trợ ra quyết định

Mô hình quy chuẩn (Normative Model): Mô hình này xem xét tất cả các phương án và

chọn ra phương án tôi ưu.

Mô hình mô tả (Descriptive Model): Mô hình này xem xét một tập hợp các điều kiện theo

ý người dùng và xem xét các phương án theo hướng các điều kiện này và đưa ra một kết

UnControllable variables

Decision variables Meathematical relationships Result variables

Page 13: Xây dựng ứng dụng hỗ trợ trang web bán hàng

8

quả thỏa đáng. Vì mô hình này không xem xét hết tất cả các phương án nên kết quả cúôi

cùng có thể chỉ gần tối ưu.

Mô hình quy chuẩn thường được sử dụng trong bài tóan tối ưu hóa một mục tiêu. Mô

hình mô tả thường được sử dụng trong bài tóan tôi ưu hóa đa mục tiêu khi các mục tiêu

này có thể mâu thuẩn nhau.

2.3.4 Phân loại Hệ hỗ trợ ra quyết định Hệ hỗ trợ ra quyết định được phân loại dựa trên nhiều tiêu chí. Hiện nay, vẫn chưa có

cách phân loại thống nhất. Sau đây là 2 cách phổ biến nhất:

Theo [4], có tất cả năm lọai Hệ hỗ trợ ra quyết định

• Hướng giao tiếp (Communications-Driven DSS)

• Hướng dữ liệu (Data-Driven DSS )

• Hướng tài liệu (Document-Driven DSS)

• Hướng tri thức (Knowledge-Driven DSS)

• Hướng mô hình (Model-Driven DSS)

Hướng giao tiếp - Hệ hỗ trợ ra quyết định sử dụng mạng và công nghệ viễn thông để

liên lạc và cộng tác. Công nghệ viễn thông bao gồm Mạng cục bộ (LAN), mạng diện

rộng (WAN), Internet, ISDN, mạng riêng ảo... là then chốt trong việc hỗ trợ ra quyết

định. Các ứng dụng của hệ hỗ trợ ra quyết định hướng giao tiếp là Phần mềm nhóm

(Groupware), Hội thảo từ xa (Videoconferencing), Bản tin (Bulletin Boards)…

Hướng dữ liệu - Hệ hỗ trợ Ra quyết định dựa trên việc truy xuất và xử lí dữ liệu.

Phiên bản đầu tiên được gọi là Hệ chỉ dành cho việc truy xuất dữ liệu (Retrieval-Only

DSS ). Kho dữ liệu (Datawarehouse) là một Cơ Sở Dữ Liệu tập trung chứa thông tin từ

nhiều nguồn đồng thời sẵn sàng cung cấp thông tin cần thiết cho việc ra quyết định.

OLAP có nhiều tính năng cao cấp vì cho phép phân tích dữ liệu nhiều chiều, ví dụ dữ

liệu bán hàng cần phải được phân tích theo nhiều chiều như theo vùng, theo sản phẩm,

theo thời gian, theo người bán hàng.

Hướng tài liệu - Hệ hỗ trợ ra quyết định dựa trên việc truy xuất và phân tích các văn

bản, tài liệu…Trong một công ty, có thể có rất nhiều văn bản như chính sách, thủ tục,

biên bản cuộc họp, thư tín... Internet cho phép truy xuất các kho tài liệu lớn như các

kho văn bản, hình ảnh, âm thanh… Một công cụ tìm kiếm hiệu quả là một phần quan

trọng đối với các Hệ hỗ trợ ra quyết định dạng này.

Page 14: Xây dựng ứng dụng hỗ trợ trang web bán hàng

9

Hướng tri thức - Hệ hỗ trợ ra quyết định có thể đề nghị và đưa ra những tư vấn cho

người ra quyết định. Những hệ này là các hệ chuyên gia với một kiến thức chuyên

ngành cụ thể, nắm vững các vấn đề trong chuyên ngành đó và có kĩ năng để giải quyết

những vấn đề này. Các công cụ khai mỏ dữ liệu có thể dùng để tạo ra các hệ dạng này.

Theo Holsapple và Whinston (1996) [6] phân ra 6 lọai Hệ hỗ trợ ra quyết định

• Hướng văn bản (Text-Oriented DSS)

• Hướng cơ sở dữ liệu (Database-Oriented DSS)

• Hướng bản tính (Spreasheet-Oriented DSS)

• Hướng người giải quyết (Solver-Oriented DSS)

• Hướng luật (Rule-Oriented DSS)

• Hướng kết hợp (Compound DSS)

Hướng văn bản – Thông tin (bao gồm dữ liệu và kiến thức) được lưu trữ dưới dạng

văn bản. Vì vậy hệ thống đòi hỏi lưu trữ và xử lí các văn bản một cách hiệu quả. Các

công nghệ mới như Hệ quản lí văn bản dựa trên web, Intelligent Agents có thể được sử

dụng cùng với hệ này.

Hướng cơ sở dữ liệu - Cơ sở dữ liệu đóng vai trò chủ yếu trong hệ này.Thông tin

trong cơ sở dữ liệu thường có cấu trúc chặt chẽ, có mô tả rõ ràng. Hệ này cho phép

người dùng truy vấn thông tin dễ dàng và rất mạnh về báo cáo.

Hướng bản tính – Một bản tính là một mô hình để cho phép người dùng thực hiện

việc phân tích trước khi ra quyết định. Bản tính có thể bao gồm nhiều mộ hình thống

kê, lập trình tuyến tính, mộ hình tài chính… Bản tính phổ biến nhất đó là Microsoft

Excel. Hệ này thường được dùng rông rãi trong các hệ liên quan tới người dùng cuối.

Hướng người giải quyết – Một trợ giúp là một giải thuật hay chương trình để giải

quyết một vấn đề cụ thể chẳng hạn như tính lượng hàng đặt tối ưu hay tính tóan xu

hướng bán hàng. Một số trợ gíup khác phức tạp như là tối ưu hóa đa mục tiêu. Hệ này

bao gồm nhiều trợ gíup như vây.

Hướng luật – Kiến thức của hệ này được mô tả trong các quy luật thủ tục hay lí lẽ. Hệ

này còn đựoc gọi là hệ chuyên gia. Các quy luât này có thể là định tính hay định

lượng. Các ví dụ của hệ này như là hướng dẫn không lưu, hướng dẫn giao thông trên

biển, trên bộ…

Page 15: Xây dựng ứng dụng hỗ trợ trang web bán hàng

10

Hướng kết hợp - Một hệ tổng hợp có thể kết hợp hai hay nhiều hơn trong số năm hệ kể

trên.

2.4 Tìm kiếm và đánh giá các lựa chọn một phần rất quan trọng trong hỗ trợ ra quyết định

Giai đọan lựa chọn (Choice Phase) là giai đoạn quan trọng nhất của quá trình ra quyết

định. Giai đoạn này bao gồm ba bước chính sau đây:

• Tìm kiếm lựa chọn

• Đánh giá lựa chọn

• Giới thiệu lựa chọn

Trong trường hợp người ra quyết định muốn sử dụng mô hình quy chuẩn (normative

model) để tìm kiếm một lựa chọn tối ưu, thì Hệ hỗ trợ ra quyết định có thể sử dụng

phương pháp vét cạn (blind search) để duyệt hết tất cả các lựa chọn hay mô hình toán học

để phân tích. Đối với mô hình mô tả, ta có thể sử dụng phương pháp kinh nghiệm

(heuristic search) để duyệt các lựa chọn dựa trên các quy luật rút ra được từ thử và sai hay

kinh nghiệm.

Phương pháp đánh giá các lựa chọn được quyết định khác nhau trong bài toán một mục

tiêu và bài toán đa mục tiêu. Bài toán một mục tiêu có thể được mô hình hóa bằng bảng ra

quyết định hay cây ra quyết định.

Một trong các phương pháp hiệu quả để giải quyết đa mục tiêu là đo lường trọng số của

các ưu tiên ra quyết định (Analytical Hierarchy Process của ExpertChoice). Một phương

pháp khác là tối ưu hóa dựa trên các mộ hình tóan học tuyến tính (Microsoft Excel,

Lingo…). Một phương pháp khác là lập trình kinh nghiệm sử dụng heuristics như là tabu

search, giải thuật di truyền.

Page 16: Xây dựng ứng dụng hỗ trợ trang web bán hàng

11

Chương 3

Mua hàng qua mạng và sự cần thiết của hỗ trợ ra quyết định

3.1 Internet đem đến một phương thức mua bán mới

Sự phát triển vượt bậc từng ngày của các công nghệ trên Internet đã dần thực sự biến đổi

các hoạt động thương mại làm cho nó mang tính toàn cầu hơn. Các hoạt động kinh doanh

truyền thống giờ đã được số hóa, các khái niệm về E-Commerce, E-Business, E-Market,

Shopping online xuất hiện và ngày càng trở nên phổ biến. Chính công nghệ Internet đã

thực sự kết nối các doanh nghiệp với nhau (B2B – Business To Business) và doanh

nghiệp với khách hàng (B2C – Business To Customer).

Sức mạnh và sự thuận lợi của công nghệ Web đã giúp các công ty, doanh nghiệp đưa các

hoạt động kinh doanh của mình đến gần với người dùng hơn. Sử dụng Web các công ty

có thể đưa đến người dùng từ những mẫu quảng cáo nhỏ, các mặt hàng, dịch vụ mà công

ty cung cấp đến các hoạt động mua bán với khách hàng. Chính điều đó đã hình thành một

phương thức mua bán hoàn toàn mới mẻ và đang trở nên một hoạt động phổ biến trên

Internet , mua bán hàng qua mạng (Shopping Online).

3.2 Khảo sát thực trạng mua bán qua mạng

So với các hoạt động trên mạng khác thì hoạt động mua bán hàng qua mạng vẫn chiếm

một tỷ lệ rất nhỏ nhưng rỏ ràng nó đang phát triển từng ngày.

Theo khảo sát [18]:

• Năm 1997 chỉ có 9,6% người dùng Internet thực hiện mua bán qua mạng.

• 1998 10,9%

• 1999 10,4%

• 2000 13,5%

Khi câu hỏi “Mọi người nghĩ gì về mua hàng qua mạng?Việc mua hàng qua mạng đem

đến những gì?” được đưa ra hỏi (tháng 1 năm 2000) thì cuộc khảo sát [18] nhận được các

kết quả như sau:

Các mặt thuận lợi:

• Bạn có thể mua hàng trong vòng một tiếng và không quan tâm đến thời gian

đóng cửa của cửa hàng (74%)

• Có thể quan sát mọi thứ ngay từ nhà mình (72%)

Page 17: Xây dựng ứng dụng hỗ trợ trang web bán hàng

12

• Một lượng lớn và đủ chủng lọai các mặt hàng và dịch vụ được đưa ra (65%)

• Sự không biên giới,bạn có thể mua hàng từ bất kỳ quốc gia nào (54%)

• Dể dàng so sánh giá cả (52%)

Các mặt không thuận lợi:

• Không thể thử món hàng minh mua (52%)

• Không có các dịch vụ trợ giúp khi mua hàng(30%)

• Có nhiều khó khăn khi giao dịch hoặc trả lại hàng hóa (25%)

• Phương thức thanh toán còn qua phức tạp(31%)

• Người mua hàng tỏ ra hoài nghi khi có quá nhiều thông tin cá nhân được thu

thập (30%)

Và với các yếu tố ảnh hưởng đến việc mua hàng qua mạng trên thì có 2/3 người dùng

khẳng định họ sẽ tiếp tục mua hàng và 1/3 còn lại thì khẳng định họ không có ý định mua

hàng qua mạng, một con số đáng để lưu tâm [18]

3.3 So sánh giữa phương thức mua hàng truyền thống và mua qua mạng

3.3.1 Các bước cơ bản để tiến hành một giao dịch mua hàng

Bảng 3.1 - Các bước cơ bản để tiến hành một giao dịch

Phương thức mua bán truyền thống Phương thức mua bán qua mạng Chọn một cửa hàng ưng ý có bán sản phẩm mà mình qua tâm(quen, được giới thiệu, tình cờ).

Chọn một Website ưng ý có bán sản phẩm mà mình qua tâm(quen, được giới thiệu, tìm kiếm trên mạng).

Xem xét các sản phẩm được trình bày trong cửa hàng.

Duyệt danh sách các mặt hàng trên trang Web.

Nhờ người bán hàng tìm sản phẩm mà mình muốn mua.

Tìm kiếm sản phẩm qua các từ khóa (nếu trang có hổ trợ).

Nhờ người bán hàng tư vấn mặt hàng phù hợp với mình.

Ít được hổ trợ.

Tương tác trực tiếp, thử dùng với mặt hàng ưng ý.

Không có.

So sánh với các sản phẩm khác trong cửa hàng hoặc một cửa hàng khác.

So sánh với các sản phẩm khác trên Website (nếu hổ trợ). So sánh với các trang Web khác.

Chọn mua, thanh toán và nhận sản phẩm. Chọn mua và thanh toán chờ công ty phân phối sản phẩm.

Hoàn trả nếu không ưng ý. Liên lạc với trang web qua hệ thống mail và chờ phản hồi.

Page 18: Xây dựng ứng dụng hỗ trợ trang web bán hàng

13

3.3.2 Các điểm thuận lợi và không thuận lợi trong phương thức mua bán truyền thống

Thuận lợi:

o Người mua có thể “sờ tận tay, thấy tận mắt”.

o Nếu gặp khó khăn có thể nhờ người bán hàng tư vấn.

o Có thể mặt cả giá cả.

o Mua sắm trở thành một văn hóa, làm cho người mua hứng khởi.

o Việc mua sắm đôi khi tốn rất nhiều thời gian.

Không thuận lợi:

o Người mua khó nắm bắt hết các thông tin về mặt hàng mình định mua.

o Các mặt hàng thuộc các nhà cung cấp khác nhau thường được phân bố rải rác làm cho người mua khó so sánh.

3.3.3 Các điểm thuận lợi và không thuận lợi trong phương thức mua bán qua mạng

Thuận lợi:

o Người mua dễ dàng nắm bắt được thông tin của mặt hàng định mua.

o Số lượng các mặt hàng rất đa dạng.

o Dễ dàng so sánh các mặt hàng với nhau.

o Thời gian mua sắm ít.

Không thuận lợi:

o Người mua chỉ có thể “thấy” chứ không thể thử, tiếp xúc với mặt hàng.

o Không được tư vấn khi không biết phải chọn mặt hàng nào.

o Không tìm được mặt hàng ưng ý vì có quá nhiều sự chọn lựa.

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

Các hoạt động hỗ trợ khách hàng ra quyết định mua hàng qua mạng rất đa dạng và được

phân chia theo nhiều cách khác nhau. Sự phân chia ở bảng dưới sử dụng cách phân loại

của ở tài liệu [16], chỉ ra 3 mức hỗ trợ của DSS là hỗ trợ theo hướng truy cập, hỗ trợ theo

hướng giao dịch và hỗ trợ theo hướng quan hệ.

Bảng 3.2 - Phân loại hệ hỗ trợ ra quyết định trong E-Commerce

Mức hỗ trợ

Đặc điểm

Hướng truy cập

Tất cả các trang web tìm kiếm (không chỉ riêng cho các trang web mua bán trực tuyến) Đặc điểm:

• Tìm kiếm và duyệt tuyến tính. • Tìm kiếm theo từ khóa.

Hướng Các trang web ở mức này có những đặc điểm sau:

Page 19: Xây dựng ứng dụng hỗ trợ trang web bán hàng

14

giao dịch • Giao diện người dùng tập trung hỗ trợ các hành vi của người dùng trong các hoạt động giao dịch, mua hàng, đặc biệt là hướng dẫn lựa chọn sản phẩm.

• Cấu trúc dữ liệu website mua hàng và ứng dụng web server. • Đòi hỏi nội dung, chất lượng của catalog sản phẩm và giao

diện đồ họa phải cao. Hướng quan hệ

Đây là những ứng dụng hướng đến mục tiêu chỉ dẫn khách hàng dựa trên tri thức, với các đặc điểm sau:

• Thông qua sở thích và tính cách cá nhân của người tiêu dùng. • Hỗ trợ các nhắc nhở,quảng cáo, mở rộng dây chyền cung ứng. • Tìm kiếm theo ngôn ngữ tự nhiên.

Sự sắp xếp này đi từ sự hỗ trợ đơn giản đến tinh vi. Những mức độ này cũng phản ánh sự

tiến triển của các hệ hỗ trợ từ những năm 90 đến nay.

Ở mức 1, DSS dùng nhiều đến các phần mềm đa dụng để tạo những trang mua bán và tìm

kiếm, duyệt đơn giản dựa trên các từ khóa. Những trang web này chủ yếu để lôi kéo

khách hàng và không tốn nhiều chi phí để xây dựng. Chúng là dạng thực thi trên web và

chúng đem lại rất ít các trợ giúp cho người mua với các chức năng truy cập thông tin và

chức năng mua hàng đơn giản.

Mức tiếp theo là một chuỗi cố gắng nhằm hiểu rõ các bước và thao tác xử lý của người

mua trong suốt quá trình diễn ra giao dịch và tạo ra nhiều thiết lập mặc định và khuôn

mẫu để hỗ trợ tốt hơn cho các bước cấu trúc. Những khảo sát về DSS những năm cuối

thập niên 90 của thế kỷ 20 tập trung vào việc làm thế nào hỗ trợ các bước so sánh nhãn

hiệu và sản phẩm. Một thời gian sau, một khảo sát khác cho thấy các hệ thống đang cố

gắng mở rộng điểm này cho các bước mua, thanh toán và giao hàng. Họ cũng kết hợp

được những hướng tiếp cận và mở rộng DSS trên các xử lý quyết định như tài chính, giúp

đỡ khách hàng trực tuyến và quản lý lỗi cũng như tìm kiếm theo ngôn ngữ tự nhiên.

Ở mức cao nhất là những đặc tính của các trang mua bán hàng hóa hiện tại được phát

triển trong thập kỷ đầu của thế kỷ 21 này. Ở đây chúng ta thấy sự thay đổi sang sự hỗ trợ

đối với các quan hệ dựa trên thời gian dài mà người mua có được dựa trên các giao dịch.

3.4.1 Khảo sát một số hệ hỗ trợ ra quyết định trong E-Commerce

3.4.1.a Amazon.com Amazon.com được thành lập vào năm 1996, là trang web bán sách nổi tiếng hiện nay.

Danh mục sản phẩm của Amazon.com rất phong phú bao gồm: sách, đồ điện tử, đĩa nhạc,

phim ảnh. Sự hỗ trợ khách hàng chọn sản phẩm là riêng rẽ từng loại sản phẩm khác nhau.

Điều này cũng dễ hiểu bởi không thể đề nghị khách hàng mua một quyển sách trong khi

Page 20: Xây dựng ứng dụng hỗ trợ trang web bán hàng

15

họ đang tìm mua một máy điện thoại. Chúng ta sẽ tập trung vào hệ thống hỗ trợ trong

mua bán sách của Amazon.com.

Danh mục sách đề nghị mua (persionalized recommendation): Như nhiều website E-

commerce khác, Amazon.com được cấu trúc với các trang thông tin cho mỗi quyển sách,

đem lại các thông tin chi tiết về nội dung và mua bán. Danh sách các quyển sách đề nghị

mua kèm được thấy ở trang thông tin của mỗi cuốn sách. Thật sự, nó gồm hai danh sách

đề nghị riêng biệt. Phần thứ nhất gồm danh sách những quyển sách thường mua nhất.

Phần thứ hai là danh sách các tác giả của những quyển sách thường xuyên được mua. Mọi

hoạt động duyệt danh mục sách, thêm hàng vào giỏ của người dùng đều được website ghi

nhận để làm cơ sở cho việc đưa ra các đề nghị này.

Ý kiến của bạn (Your Recommendation): Amazon cũng khuyến khích khách hàng

phản hồi trực tiếp các cuốn sách mà họ đã đọc. Khách hàng đánh giá các cuốn sách họ đã

đọc trên thang điểm 5 từ “hated it” đến “loved it”. Những đánh giá này sẽ được dùng như

là đầu vào cho một cơ chế đề nghị (recommendation engine). Do đó, khi đánh giá càng

nhiều quyển sách, khách hàng sẽ nhận được lời đề nghị càng chính xác. Hình dưới cho

phép ta xem việc đánh giá của khách hàng là lý do để Amazon đưa ra các đề nghị đối với

các quyển sách khác. Ví dụ khi ta đánh giá quyển “A Road Ahead” của Bill Gates thì

Amazon đề nghị ta một quyển sách khác cũng của Bill Gates là “Bussiness @ the Speed

of Thought”.

Hình 3.1 - Amazon đưa ra lý do vì sao các lời đề nghị được đưa ra.

Email Notification: Đặc tính này cho phép customers được biết qua email các sản phẩm

mới đã thêm vào catalog của Amazon.com.

Nhận xét của khách hàng (Customer Comments): Nhận xét của khách hàng cho phép

khách hàng nhận được các đề xuất dạng văn bản dựa trên ý kiến của các khách hàng khác.

Page 21: Xây dựng ứng dụng hỗ trợ trang web bán hàng

16

Mỗi một trang thông tin cụ thể về một cuốn sách là đánh giá dựa trên thang điểm 5 biểu

hiện bằng hình ngôi sao và các lời nhận xét của những người đã đọc quyển sách và đưa ra

lời bình. Khách hàng cũng có sự chọn lựa các kết hợp giữa các đề xuất này trong quyết

định mua của họ. Hơn nữa, khách hàng có thể đánh giá các nhận xét này. Với mỗi lời

bình có một câu hỏi “Did this comment help you? ” và khách hàng có thể chọn là “có”

hoặc “không” (yes hoặc no). Kết quả sẽ được liệt kê vào bảng và đưa ra 5 trong 7 người

tìm được các lời nhận xét có ích.

3.4.1.b 3.2.2 MovieFinder.com MovieFinder.com là trang web phim ảnh được quản lý bởi E!Online. MovieFinder hỗ trợ

người dùng qua các sắp xếp các phim theo đánh giá của chính họ và đánh giá của khách

hàng theo các mức từ A đến F. Các đánh giá của người dùng về các phim họ đã xem thể

hiện ở mục Users Grade. Còn mục Our Grade là đánh giá của những người biên tập trang

web. Hình 3.2. dưới cho ta thấy bộ phim “Kingdom of Heaven” được đánh giá B+ ở cả

hai mục Our Grade và Users Grade. Đối với người dùng đã đăng ký có thể được đánh giá

trực tiếp tại đây.

Hình 3.2 - Đánh giá phim ở movifinder.com

3.4.1.c Carsdirect.com

Carsdirect là một cửa hàng bán xe hơi trên Web, được thành lập vào năm. Carsdirect đưa

ra một danh mục sản phẩm theo hướng tiếp cận với nhu cầu của người dùng. Trang

Research (xem hình 3.3) cho phép chọn xe theo mục đích sử dụng của người mua: xe chở

khách, xe cao cấp, xe tải nhẹ, xe cũ v.v…

Page 22: Xây dựng ứng dụng hỗ trợ trang web bán hàng

17

Hình 3.3 - Trang Research.

Khi chọn một loại xe, trang web tiếp tục đưa người dùng chọn đến danh mục phân loại ở

cấp dưới. Cứ thế người dùng sẽ nhận được danh sách các xe ở danh mục đã chọn. Vấn đề

là danh sách này khá dài. Do đó, các công cụ hỗ trợ xem thông tin như car review (xem

mô tả xe), compare car compare (so sánh xe) để tiếp tục tìm một chiếc xe phù hợp nhất.

Các duyệt qua danh này khá rờm rà nhưng cũng đáng để khách hàng bỏ thời gian tìm

kiếm cho mình chiếc xe ưng ý nhất.

Hình 3.4 - Danh mục xe ở loại xe chở khách.

3.4.1.d ActiveDecisions.com Trong môi trường mua bán qua mạng, người dùng thường không thể đánh giá tất cả các

tiêu chuẩn so sánh ở mức sâu. Việc này đòi hỏi nhiều thời gian và thao tác phức tạp. Do

đó các trang web đưa ra kịch bản xử lý theo 2 bước để đạt được sự hỗ trợ khách hàng ở

mức sâu. Bước đầu tiên, khách hàng thường được đưa ra một bộ gồm nhiều các sản phẩm

và chỉ ra một bộ con các lựa chọn tốt. Sau đó, các lựa chọn này sẽ được đánh giá ở độ sâu

Page 23: Xây dựng ứng dụng hỗ trợ trang web bán hàng

18

hơn, thực hiện các so sánh các sản phẩm trên các thuộc tính quan trọng và ra quyết định

mua. Một chương trình đóng vai trò là người đề nghị (Recommender Agent-RA) sẽ trợ

giúp cho khách hàng trong bước đầu tiên, đưa ra các sản phẩm lựa chọn. Dựa vào các

thông tin cung cấp đã khảo sát trước hoặc chính từ người mua hàng đối với sở thích của

họ mà RA sẽ đề xuất một bộ sản phẩm hấp dẫn nhất đối với cá nhân đó. Các hướng tiếp

cận sở thích người dùng có thể chia ra thành hai nhóm: hướng đặc tính và hướng nhu cầu.

Một hệ thống theo hướng đặc tính thường yêu cầu khách hàng chỉ ra các sở thích về đặc

tính của sản phẩm như: môt máy chụp ảnh kỹ thuật số phải có độ phân giải ít nhất là 4

Mega Pixel. Các tiếp cận nhu cầu sẽ hỏi người dùng chỉ ra “Nhu cầu cá nhân của họ là

gì?”. Ví dụ tôi cần chụp ảnh ngoại cảnh. Cách tiếp cập theo hướng nhu cầu nên là một

phương pháp phù hợp để hỗ trợ cho người dùng chưa có kinh nghiệm chọn sản phẩm.

Active Decisions Inc. là nhà cung cấp hàng đầu thế giới các giải pháp hướng dẫn mua

hàng. Ứng dụng cung cấp bởi Active Decisions đem lại cho bộ phận mua hàng, các chi

nhánh và các ứng dụng tự phục vụ mục tiêu là lôi kéo càng nhiều khách hàng.

Kỹ thuật chính của Acitve Decisions được xem như là sự kết hợp của Recommender

Agent (RA) và ma trận so sánh (Comparison Matrix-CM). Ma trận so sánh, sự trợ giúp

tạo quyết định dạng thứ hai, là công cụ tương tác được đưa ra nhằm giúp người dùng

trong các so sánh ở mức sâu hơn giữa các sản phẩm đã chọn ở bước một. Một dạng cơ

bản của hướng trợ giúp ra quyết định này, thích hợp như một giỏ hàng hiển thị một ma

trận các hàng là các sản phẩm và các cột là các thuộc tính quan trọng của sản phẩm. Thiết

kế này cho phép người mua so sánh các giá trị của sản phẩm hiệu quả và chính xác hơn.

Các bước tiếp cận của kỹ thuật này thì đầu tiên khách hàng sẽ được hỏi họ tìm cái gì và

cái gì là quan trọng với họ thông qua các hướng tiếp cận theo nhu cầu hay theo đặc tính,

dựa vào đó đưa ra các đề xuất thích hợp cho khách hàng. Khách hàng sẽ chọn một vài sản

phẩm đưa ra để so sánh ở mức cao hơn trong ma trận so sánh. Những sản phẩm được đề

nghị cũng hiển thị với lời giải thích tại sao nó tốt cho người dùng. Một vài giải pháp của

Active Decision sẽ được thấy ở các website www.absound.ca, www.qvc.com ,

www.sonystyle.com, www.jr.com và www.hpshopping.com. Chúng ta sẽ khảo sát một ví

dụ của Active Decision ở website Hpshopping.com.

Page 24: Xây dựng ứng dụng hỗ trợ trang web bán hàng

19

3.4.1.e Hpshopping.com Hpshopping là một trang web giới thiệu các sản phẩm của hãng HP bao gồm máy tính,

máy PDA, máy in. Trong phần này, chúng ta tập trung vào trang chọn mua máy in

(printer). Các câu hỏi chuyên về tính năng sử dụng của máy in như số trang in, cỡ trang in

thường dùng, cổng kết nối với máy tính, hệ điều hành của máy tính v.v… Kết quả là ba

sản phẩm thích hợp nhất được hiển thị ở ma trận so sánh với cột là các sản phẩm và dòng

là các thuộc tính của sản phẩm máy in. Trong một số trường hợp HPShopping còn đưa ra

một kết quả mạnh hơn yêu cầu của người dùng. Kết quả này là một máy in không chỉ có

đủ các đặc tính theo yêu cầu của người dùng mà còn có thêm một số tính năng khác.

Hình 3.5 - Các câu hỏi về đặc tính máy in.

Page 25: Xây dựng ứng dụng hỗ trợ trang web bán hàng

20

Hình 3.6 - Các sản phẩm đề nghị của HP sau khi chọn trả lời cho các câu hỏi.

3.4.1.f Samsungtelecom.com Đây là trang hỗ trợ khách hàng tìm kiếm sản phẩm theo nhu cầu của khách hàng qua các

câu hỏi cho người dùng lựa chọn. Nếu như ở website hpshopping.com các câu hỏi tập

trung vào “Sản phẩm cần tìm có đặc điểm gì?“ thì ở đây các câu hỏi tập trung vào “Người

dùng cần mua sản phẩm để làm gì?”. Dựa vào các lựa chọn của khách hàng website đưa

ra các điện thoại phù hợp với người dùng. Cuối cùng, sau quá trình đề xuất các sản phẩm

thích hợp, trang web sẽ hỏi ý kiến người dùng có thỏa mãn với những sản phẩm được đề

xuất hay chưa.

Page 26: Xây dựng ứng dụng hỗ trợ trang web bán hàng

21

Hình 3.7 - Các câu hỏi của samsungtelecom.com.

3.4.1.g Shopping.Yahoo.com/Smartsort Shopping.yahoo.com là một trong những hệ thống mua sắm lớn nhất hiện nay. Ngoài các

tính năng hỗ trợ tìm kiếm thông thường như duyệt theo catalog, cho khách hàng đánh giá

trên sản phẩm đã mua, người dùng còn có thể tìm các sản phẩm theo sở thích, mục đích

sử dụng qua tính năng Smartsort có trên trang web Yahoo!Shopping gồm nhiều loại mặt

hàng trong đó phần Smartsort hỗ trợ các mặt hàng đồ điện tử như điện thoại di động,

digital camera, PDA, máy tính v.v… Phần khảo sát này ta tập trung vào mặt hàng điện

thoại di động. Tính năng Smartsort của Yahoo!Shoppping hỗ trợ người dùng chọn mức

độ quan trọng của các thuộc tính sản phẩm qua thanh kéo (slider bar). Người dùng đánh

giá độ quan trọng của các đặc tính trên máy điện thoại di động như thời gian dùng pin,

kích cỡ, nhà sản xuất, các tính năng giải trí khác v.v… Yahoo đưa ra 5 mức đánh giá độ

quan trọng đối với tính năng của điện thoại di động như sau: không quan trọng (not

important), ít quan trọng (sightly important), quan trọng (important), rất quan trọng (very

important), hết sức quan trọng(most important). Kết quả đưa ra là 10 máy điện thoại di

động được sắp xếp theo độ quan trọng của các tính năng đã đánh giá trước đây. Trong

danh sách các máy điện thoại đưa ra người dùng có thể tiếp tục chọn vào danh sách so

sánh tiếp theo. Một ma trận so sánh sẽ đưa ra giúp khách hàng dễ dàng so sánh.

Page 27: Xây dựng ứng dụng hỗ trợ trang web bán hàng

22

Hình 3.8 - Đánh giá độ quan trọng của các thuộc tính với SmartSort.

3.4.2 Bảng tóm tắt và so sánh

Bảng 3.3 - Tổng kết so sánh website

STT Website Đặc điểm Mức hỗ trợ đạt được

1 Amazon.com Các đặc tính hỗ trợ rất phong phú, hỗ trợ người dùng ở nhiều giai đoạn như tìm kiếm, hướng dẫn mua.

3

2 Moviefinder.com Chỉ có 2 đặc điểm đơn giản là danh sách “Top 10” và đánh giá điểm cho mỗi phim.

2

3 Carsdirect.com Catalogue danh mục các xe chứa theo nhu cầu người mua.

2

4 Samsungtelecom.com Danh sách các câu hỏi được đưa ra nhằm đánh giá nhu cầu người dung. Danh sách kết quả là ma trận so sánh khá hợp đã được sắp xếp.

-

5 HpShopping.com Danh sách câu hỏi đưa ra cho khách hàng và ma trận so sánh của danh sách sản phẩm được đề nghị có nội dung và cách trình bày tốt.

3

6 Shopping.yahoo.com/Smartsort

Danh sách đánh giá độ quan trọng các tiêu chuẩn của sản phẩm đưa ra kết quả ngay lập tức.

3

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

Qua các phần thống kê bên trên chúng ta thấy rằng “hỗ trợ khách hàng” vẫn là một sự

thiếu hụt nghiêm trọng của các trang web bán hàng hiện nay.

Page 28: Xây dựng ứng dụng hỗ trợ trang web bán hàng

23

Theo một cuộc khảo sát các người thường xuyên mua hàng qua mạng thì các tiện ích hỗ

trợ khách hàng đóng vai trò then chốt trong việc gia tăng số lượng mua hàng qua mạng.

Các tiện ích mà các cửa hàng trên mạng cần cung cấp (tốt hơn)

• Giá cả và hỗ trợ so sánh giá cả.

• Tính bảo mật của các giao dịch.

• Các dịch vụ hỗ trợ khách hàng trong việc mua và hoàn trả hàng hóa.

• Hỗ trợ khách hàng tìm kiếm, chọn lựa sản phẩm.

Page 29: Xây dựng ứng dụng hỗ trợ trang web bán hàng

24

Chương 4

Sử dụng giải thuật di truyền để giải quyết bài toán hỗ trợ chọn sản phẩm khi mua hàng

qua mạng

4.1 Giới thiệu

Để xây dựng được một trang web bán hàng thật sự hoàn hảo đó là sự kết hợp của rất

nhiều yếu tố bao gồm sự quảng bá đến người dùng, giao diện người dùng, các tiện ích hỗ

trợ khách hàng khi mua hàng, các dịch vụ giao hàng và hoàn trả hàng. Trong khuôn khổ

luận văn, chúng em cố gắng đưa ra một cách tiếp cận để xây dựng một trong những yếu tố

trên “hỗ trợ khách hàng chọn sản phẩm khi mua hàng qua mạng”.

Chọn sản phẩm là một trong những phần quan trọng nhất khi mua hàng. Như chương

trước đã phân tích một trong những nguyên nhân chính dẫn đến sự không thành công của

phương thức mua hàng qua mạng đó là người mua không thể chọn ra được một sản phẩm

ưng ý nhất trước vô vàn các mặt hàng được bày ra. Vậy trang web chúng ta xây dựng phải

có nhiệm vụ như một người bán hàng chuyên nghiệp đó là nắm bắt các nhu cầu của người

mua và khuyến cáo cho người mua một số sản phẩm mà mình cho là thích hợp. Mặc dù

quyết định cuối cùng vẫn thuộc về người ra quyết định, ở đây là người mua hàng, tuy

nhiên một lời khuyên cho người dùng vẫn rất quan trọng.

4.2 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

Các khó khăn phi kỹ thuật:

• Không giống như một người bán hàng thực, một người bán hàng có thể qua

cách ứng xử, ăn mặc, thái độ v.v của người mua mà có thể chọn ra các mặt

hàng cho phù hợp. Trang web bán hàng hoàn toàn không biết gì về các thông

tin trên của khách hàng.

• Người mua có thể tự do tương tác, trao đổi với người bán để nói lên nhu cầu,

sở thích của mình. Trong khi mua hàng trên mạng thì yếu tố thời gian là rất

quan trọng, cần phải dung hòa giữa lượng thông tin cần thu thập và thời gian

tiêu tốn của người dùng.

• Trao đổi bằng ngôn ngữ tự nhiên sẽ dễ dàng và hiệu quả hơn. Trong khi đó

người mua chỉ có thể trao đổi với trang web qua một số cách nhất định (thường

được số hóa).

Page 30: Xây dựng ứng dụng hỗ trợ trang web bán hàng

25

Các khó khăn về kỹ thuật:

• Không gian tìm kiếm sản phẩm rất lớn, không thể tìm tuyến tính vì sẽ bắt

khách hàng đợi lâu.

• Cần tạo một kich bản để thu thập thông tin khách hàng sao cho hợp lý, tránh

gây nhàm chán và làm mất nhiều thời gian.

• Vấn đề “đa mục tiêu” (xem phụ lục A), các sở thích của người dùng đôi khi

xung đột hoặc không hợp lý dẫn đên kết quả tìm kiếm thường là “Không tìm

thấy mặt hàng nào phù hợp”. Đây là một trong những điều cấm kỵ nhất của

người bán hàng, để người khách hàng ra về tay không, không những không bán

được hàng mà còn để lại ấn tượng không tốt nơi khách hàng.

4.3 Vấn đề “đa mục tiêu” khi chọn sản phẩm

Có thể thấy khó khăn lớn nhất của module hỗ trợ chọn sản phẩm đó là giải quyết, thỏa

mãn cùng lúc nhiều tiêu chí của người mua về mặt hàng mà khách hàng đó quan tâm.

Các mục tiêu,sở thích này có thể đối chọi nhau.Đây thực chất chính là đi giải quyết bài

toán tối ưu đa mục tiêu (xem phụ lục A), trong đó mỗi mục tiêu chính là các sở thích của

người dùng mà mặt hàng đó phải thỏa. Module này có nhiệm vụ tìm ra sản phẩm phù hợp

(hoặc gần giống) với các sở thích của người mua.

4.4 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

Nội dung của luận văn này là tìm hiểu bài toán tối ưu hóa đa mục tiêu và cách tiếp cận

dùng giải thuật di truyền (Genetic Algorithm - GA). Và áp dụng cách tiếp cận trên để giải

bài toán tối ưu hóa đa mục tiêu khi hỗ trợ khách hàng chọn sản phẩm. Luận văn này chọn

cách tiếp cận trên với các lý do sau:

• Đây là một cách tiếp cận mới mẻ và đang được nhiều người quan tâm,phát

triển và ứng dụng vào nhiều lĩnh vực khác nhau.

• Giải thuật di truyền (GA) giựa trên ý tưởng quần thể tự nhiên, chọn lọc ngẫu

nhiên sẽ làm cho giải thuật có khả năng mạnh mẽ trong việc tìm kiếm một cách

song song. Trong đó tất cả các cá thể trong quẩn thể sẽ được cố gắng tìm kiếm

ở tất cả các hướng trong không gian tìm kiếm qua đó cho phép GA tránh được

tối ưu hóa cục bộ.

• Một thế mạnh của GA trong nhiệm vụ tìm kiếm đó là không lo sợ khả năng

bùng nổ của tổ hợp tìm kiếm.GA đặc biệt tỏ ra hữu hiệu với các không gian tìm

kiếm lớn. Với các không gian tìm kiếm lớn GA không những bảo đảm được tối

Page 31: Xây dựng ứng dụng hỗ trợ trang web bán hàng

26

ưu hóa toàn cục mà còn bảo đảm được thời gian tìm kiếm, một trong những

yêu cầu quan trọng của bài toán.

• Và do đặc trưng của bài toán, chúng ta cần trả về cho người mua một danh sách

các mặt hàng mà theo hệ thống là phù hợp nhất (thông thường từ 3 đến 5 giải

pháp) nên việc sử dụng GA lại càng hợp lý. GA khác các phương pháp tìm

kiếm tuyến tính khác là trong một lần chạy có thể cho ta một tập các giải pháp

thuộc miền Pareto (xem phụ lục A) trong quần thể của nó.

4.5 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 ta sẽ mô tả bài toán mua hàng thành các khái niệm trong bài toán tối ưu hóa đa

mục tiêu.

4.5.1 Lời giải cho bài toán Trong bài toán tìm kiếm sản phẩm, người dùng mong muốn chọn ra một mặt hàng thích

hợp do đó sản phẩm tối ưu đối với sở thích người mua chính là lời giải của bài toán.

Nhưng chọn ra chỉ một sản phẩm cho người dùng có vẻ không phù hợp cho lắm, đôi khi

tạo cho người dùng cảm giác bị ép buộc. Do đó giải pháp phù hợp đó là một tập các lời

giải tối ưu, tập hợp này tương tự như những sản phẩm mà một người bán hàng sẽ gợi ý

cho chúng ta khi đã nắm bắt được nhu cầu của khách hàng.

4.5.2 Các biến quyết định Ở đây các biến quyết định (xem phụ lục A) chính là các thuộc tính cấu thành nên sản

phẩm.

Ví dụ (sản phẩm là điện thoại di động)

=X (Giá, trọng lượng, kiểu dáng, thời gian sử dụng pin)

X là một điểm trong vùng khả thi (xem phụ lục A). Trong ví dụ trên có 4 biến quyết

định.

4.5.3 Các ràng buộc

Trong bài toán “tối ưu đa mục tiêu “ các ràng buộc (xem phụ lục A) chính là các điều

kiện giữa các biến quyết định. Nhưng trong bài toán này không gian tìm kiếm là rời rạc,

các điểm trong không gian tìm kiếm chính là ràng buộc của các biến quyết định. Hay nói

cách khác nếu các giá trị của các biến quyết định cùng tồn tại trong một lời giải thì đó là

một ràng buộc đúng đắn.

Các ràng buộc được mô tả bằng 1 vector:

Page 32: Xây dựng ứng dụng hỗ trợ trang web bán hàng

27

))(),...,(),(( 21 xhxhxhH n= với n là số biến quyết định.

Trong đó )()( kkk Nxxh ==

Khi đó ràng buộc H thỏa khi ),...,,(, 21 nii NNNXFX =∈∃

Với F là vùng khả thi, không gian lời giải và trong bài toán này là không gian các sản

phẩm.

4.5.4 Các mục tiêu Có thể dễ dàng nhận thấy 2 mục tiêu (objective) (xem phụ lục A) mà người mua luôn

nhắm tới là giá cả (cost) và chất lượng của sản phẩm (performance). Người mua luôn

muốn mua được sản phẩm đáp ứng đầy đủ các yêu cầu với một giá rẻ nhất .Và điều khó

khăn ở đây đó là 2 mục tiêu này luôn xung đột với nhau. Một sản phẩm với các tính năng

nổi trội luôn có một cái giá cao hơn một sản phẩm khác và ngược lại do đó thường đi

ngược lại với mong muốn của người mua. Do đó nhiệm vụ của bài toán đa mục tiêu đó là

phải dung hòa cả 2 mục tiêu đó.

Mô tả tổng quát:

))(),((maxmin/ xfxfF cp= . Từ đây ta thống nhất là sẽ dùng min, tức là mục tiêu của ta

là làm tối thiểu hóa vector mục tiêu.

Trong đó F là một vector mô tả 2 mục tiêu chính là cost và performance

)(xfc là hàm mục tiêu cho mục tiêu về giá cả (cost).

)(xf p là hàm mục tiêu cho mục tiêu về chất lượng (performance)

Một ví dụ đơn giản về vector mục tiêu trên một sản phẩm gồm 2 thuộc tính.

Sản phẩm X =(weight, cost) với tính chất giá (cost) càng cao trọng lượng (weight) càng

thấp và người mua muốn một sản phẩm với giá (cost) thấp và trọng lượng (weight) cũng

thấp.

Vector mục tiêu được định nghĩa như sau:

))(),(( XfXfF cp=

với )(Xf p = weight và )(Xfc = cost

Page 33: Xây dựng ứng dụng hỗ trợ trang web bán hàng

28

Hình 4.1 - Vector mục tiêu của sản phẩm có 2 thuộc tính.

Trên đây chỉ là trường hợp đơn giản performance của ta chỉ có một thuộc tính. Đối với

trường hợp tổng quát thì sao? Bây giờ hàm mục tiêu về chất lượng (performance) sản

phẩm sẽ trở thành:

))(...)()(()( )1(21 xfxfxfxf npppp −+++= với n là số thuộc tính của sản phẩm (n-1 vì đã

bỏ qua thuộc tính giá cả)

Nhưng khó khăn đặt ra là các thuộc tính lại không có đơn vị tính giống nhau do đó ta cần

có một số tinh chỉnh để hàm )(xf p có thể thực hiện được. Một cách đơn giản mà ta có

thể áp dụng đó là tinh chỉnh (normalize) các thuộc tính để các thuộc tính đều có giá trị là

một số thực từ 0 đến 1. Bây giờ hàm mục tiêu về performance sẽ có dạng:

)/)(.../)(/)(()( 01)1(

022

011 −−+++= nnpppp XxfXxfXxfxf trong đó 0

kX là giá trị lớn nhất

mà thuộc tính 1X có thể có được.

4.5.5 Hướng đến một lời giải “tối ưu”

Để có được một lời giải tối ưu (hoặc gần tối ưu) chúng ta cần qua 2 giai đoạn:

• Hướng các lời giải của chúng ta về miền tối ưu Pareto (xem phụ lục A)

• Chọn trên miền Pareto một lời giải phù hợp nhất.

4.5.5.a Điều hướng lời giải về miền tối ưu Pareto Cũng như với cách mua hàng truyền thống ,để người bán hàng có thể chọn ra các sản

phẩm phù hợp thì người mua phải cung cấp các tiêu chí (sở thích) về sản phẩm mà mình

định mua. Cũng tương tự như vậy để giải quyết bài toán này chúng ta cũng phải thu thập

một số thông tin về sản phẩm mà người dùng mong đợi, đây chính là mục tiêu của người

dùng.

)(Xfc

)(Xf p

Xu hướng người mua

Vùng khả thi hay không gian tìm kiếm

Vùng yêu thích

Page 34: Xây dựng ứng dụng hỗ trợ trang web bán hàng

29

Chúng ta có thể mô tả một mục tiêu của người dùng bằng một vector như sau:

),...,,(Pr 21 kPPPef = (Pref - Preference )

Trong đó iP là một hằng số, mô tả giá trị mà người mua mong muốn có được ở thuộc tính

ix . Và k là số thuộc tính mà người dùng mô tả về sản phẩm.Trong đó nk ≤≤1 (n là số

thuộc tính của sản phẩm) vì không nhất thiết người dùng phải mô tả tất cả các thuộc tính.

Và mục tiêu của chúng ta là đưa giá trị của các thuộc tính được mô tả về càng gần với giá

trị iP càng tốt. Đây chính là nơi ta áp dụng hướng tiếp cận hướng mục đích (xem phụ lục

A), mỗi iP là một mục đích của chúng ta.

Một mục đích trên thuộc tính ix có thể được mô tả một cách đơn giản là:

ipi xxf −)(min

Và hàm mục tiêu về chất lượng sản phẩm sẽ có dạng:

))(minmin()(1∑=

−=k

iipip xxfxf

Khi tối ưu từng mục đích (goal) chúng ta hi vọng rằng các sản phẩm trong không gian tìm

kiếm của thuật toán di truyền sẽ điều hướng về miền tối ưu Pareto.

Hình 4.2 - Điều hướng về miền tối ưu Pareto.

)(xfc

)(xf p

Miền tối ưu Pareto

iP1P

2P

Page 35: Xây dựng ứng dụng hỗ trợ trang web bán hàng

30

4.5.5.b Chọn trên miền tối ưu Pareto lời giải tối ưu nhất Theo định nghĩa của miền tối ưu Pareto thì những lời giải trên miền này không thể so

sánh với nhau được nữa vì trên miền này không có lời giải nào hoàn toàn thống trị lời giải

khác (xem phụ lục A). Khi chúng ta đã chọn lọc được các lời giải trên miền Pareto (ở

bước trên) thì việc tiếp theo đó là chọn ra trên miền đó 1 hoặc nhiều lời giải mà ta cho là

tốt hơn những lời giải khác (cũng thuộc miền Pareto). Chúng ta phải làm việc này vì trên

miền Pareto không đảm bảo chỉ tồn tại 1 lời giải.

Để chọn ra lời giải tốt hơn trên miền này chúng ta sẽ áp dụng cách tiếp cận Weighting

Objective(xem phụ lục A). Khi đó ta cần thêm các thông tin về mức độ quan trọng của

các mục tiêu (đây là các đánh giá khách quan của người ra quyết định-người mua

hàng).Đây chính là mối tương quan về độ trội của các mục tiêu.

Lúc này vector mô tả sở thích của người mua có dạng:

)),(),...,,(),,((Pr 2211 kpkpp PwPwPwef = trong đó iw chính là độ quan trọng của mục tiêu

thứ i trong mục tiêu về chất lượng của sản phẩm )(xf pi

Khi đó trọng số quan trọng của mục tiêu về chất lượng sản phẩm (performance) sẽ là :

∑=

=k

ipip ww

1

Và độ quan trọng của mục tiêu về giá cả cw

Với các ràng buộc:

11

=+=+ ∑=

c

k

ipicp wwww

Khi người dùng thay đổi các trọng số độ quan trọng của các mục tiêu thì các lời giải “tối

ưu” sẽ di chuyển trên miền Pareto. Người ra quyết định có thể thay đổi trọng số này để có

thể chọn ra các lời giải “tối ưu”.

Page 36: Xây dựng ứng dụng hỗ trợ trang web bán hàng

31

Hình 4.3 Di chuyển trên miền Pareto bằng cách thay đổi trọng số

4.5.6 Các cải tiến để phù hợp với bài toán.

4.5.6.a Mô tả cấu trúc gene của thuật giải di truyền

Do nhu cầu của bài toán (cần trả về một tập lớn hơn 1 lời giải tối ưu) nên mỗi gen sẽ được

biễu diễn bằng một mảng các định danh của các lời giải trong không gian tím kiếm (trong

trường hợp cụ thể đó là các id của các sản phẩm trong cơ sở dữ liệu). Số lời giải trả về có

thể phụ thuộc vào mong muốn của người dùng (nhưng phải lớn hơn 1, không ai lại muốn

không tìm thấy sản phẩm nào).

Mô tả một gen:

Trong đó n là số kết quả mà người dùng mong đợi được trả về.

Kết quả tốt nhất mà ta mong đợi để chọn đó là gen mà tất cả các ID trong gen đều nằm

trên miền tối ưu Pareto hoặc tồi hơn có thể có một số ID thuộc Pareto và một số ít hơn

nằm gần miền Pareto. Trường hợp không thành công là không có ID nào thuộc miền

Pareto lúc này thuật giải chưa được hội tụ, hoặc hội tụ quá sớm gây ra tối ưu cục bộ.

)(xfc

)(xf p

cw

pw

Miền tối ưu Pareto

ID1 ID2 … IDn

Page 37: Xây dựng ứng dụng hỗ trợ trang web bán hàng

32

Hình 4.4 - Các trạng thái gen trong quần thể.

4.5.6.b Vai trò của các thao tác chọn lọc, lai ghép, đột biến trên quần thể Chọn lọc: Quá trình này nhằm mục đích loại bỏ khỏi quần thể những gen chứa các lời

giải xấu (những lời giải nằm xa miền tối ưu Pareto) (xem hình trên). Tuy nhiên vấn đề

cần quan tâm ở đây đó là bảo toán tính tốt và tính đa dạng của quần thể. Khi loại bỏ các

gen xấu chúng ta có thể loại bỏ luôn cả các lời giải tốt (hoặc tương đối tốt) tồn tại trong

gen.

Lai ghép: Đây là một quá trình tự nhiên trong đó các nhiễm sắc thể giữa 2 gen sẽ được

hoán đổi cho nhau. Nhiệm vụ chính của nó là làm tăng tính đa dạng của quần thể, với hi

vọng các gen tốt hơn sẽ được tạo ra.

Chúng ta cần một số cải tiến để bảo đảm rằng các gen đời sau sẽ tốt hơn đời trước. Bởi vì

độ tốt của một gen được xác định bằng tổng độ tốt của mỗi nhiễm sắc thể (gen nào có

nhiều nhiễm sắc thể (NST) trên miền Pareto, hoặc gần miền Pareto hơn thì gen đó tốt

hơn). Nên khi lai ghép ta sẽ chuyển các NST tốt của một gen (bố hoặc mẹ) vào gen của

người còn lại. Như vậy sau khi lai ghép sẽ tạo ra một gen hoàn toàn trội hơn 2 gen bố mẹ,

và một gen sẽ chứa toàn những tính xấu. Khi đó trong quá trình chọn lọc ta chỉ giữ lại

một gen con tốt vừa được tạo ra và một gen (bố hoặc mẹ) tốt hơn. Khi đó ta sẽ vừa bảo

đảm các nhiễm sắc thể tốt sẽ không bị “vô tình” loại bỏ và tính đa dạng của quần thể cũng

vẫn được bảo tồn qua các đời.

)(xfc

)(xf p

Loại gene tốt nhất

Gene tương đối tốt

Gene xấu

Page 38: Xây dựng ứng dụng hỗ trợ trang web bán hàng

33

Hình 4.5 - Lai ghép.

Đột biến: Vai trò của thao tác đột biến là để tránh tối ưu hóa cục bộ (các gen chưa tiến

đến được miền Pareto). Qua thao tác đột biến chúng ta sẽ đưa các lời giải tốt hơn vào

không gian quần thể của thuật giải di truyền.

Hình 4.6 - Đột biến.

4.5.6.c Hàm thích nghi Hàm thích nghi của mỗi sản phẩm sẽ có dạng như sau:

∑=

+=k

icpi xfxfF

1)()(

trong đó )(xf pi là hàm mục tiêu của thuộc tính về chất lượng thứ i (người mua quan tâm

đến k thuộc tính-ngoài giá).

)(xfc

)(xf p

Đột biến

)(xfc

)(xf pGene bố

Gene mẹ

Gene con tốt

Gene con xấu

Page 39: Xây dựng ứng dụng hỗ trợ trang web bán hàng

34

)(xf c hàm mục tiêu về giá.

Một sản phẩm tốt khi có giá trị hàm thích nghi lớn hơn.Khi thuật giải cố gắng tối đại hóa

hàm thích nghi, thực chất là đang điều hướng các sản phẩm về miền tối ưu Pareto.

Để kết hợp cả 2 giai đoạn điều hướng chúng ta có thể kết hợp cả 2 cách dùng hướng mục

đích và trọng số quan trọng vào cùng một hàm mục tiêu như sau:

)/1()( *iiiipi xxpwxf −−= và )/||1()( *ccpwxf ccc −−=

trong đó iw là độ quan trọng của thuộc tính i.

ip là giá trị mà người dùng mong đợi ở thuộc tính i.

ix là giá trị của thuộc tính i

*ix là giá trị tối đa mà thuộc tính i có thể có được.

*c là giá tiền tối đa mà một sản phẩm có thể có.

Page 40: Xây dựng ứng dụng hỗ trợ trang web bán hàng

35

Chương 5

Phân tích và thiết kế website bán điện thoại di động có hỗ trợ người mua chọn sản phẩm

5.1 Phân tích

5.1.1 Mô hình Usecase

Hình 5.1 - Lược đồ Usecase.

5.1.2 Mô tả các Actor

Actor khách hàng: Người dùng duy nhất của hệ thống là khách hàng. Hệ thống không yêu

cầu mỗi khách hàng phải có tài khoản riêng. Một người dùng bất kỳ có thể vào hệ thống

tìm và mua điện thoại bất cứ lúc nào.

5.1.3 Mô tả các Usecase

5.1.3.a Usecase Tìm kiếm

Usecase này thực hiện khi khách hàng muốn tìm kiếm sản phẩm điện thoại di động theo

một mức giá và theo một số hãng sản xuất. Người dùng chọn một mức giá trong năm mức

giá sau: và chọn các hãng điện thoại cần tìm. Hệ thống sẽ trả về cho khách hàng danh

sách các máy điện thoại di động của các hãng đã chọn có mức giá đó. Danh sách thể hiện

thông tin sơ bộ về mỗi sản phẩm gồm: tên máy, nhà sản xuất, giá bán, kích cỡ, thời gian

chờ, thời gian đàm thoại. Và đối với mỗi sản phẩm đều cho phép người dùng xem thông

tin chi tiết sản phẩm hoặc đặt mua sản phẩm.

Lược đồ trình tự - luồng cơ bản cho usecase Tìm kiếm

Page 41: Xây dựng ứng dụng hỗ trợ trang web bán hàng

36

Hình 5.2 - Lược đồ trình tự cho usecase Tìm kiếm.

5.1.3.b Usecase Xem danh sách sản phẩm bán chạy nhất Usecase này nhằm đưa ra cho khách hàng một danh sách các sản phẩm bán chạy nhất của

hệ thống. Hệ thống thể hiển danh sách thông tin sơ bộ về mỗi sản phẩm gồm: tên máy,

nhà sản xuất, giá bán, kích cỡ, thời gian chờ, thời gian đàm thoại. Và đối với mỗi sản

phẩm đều cho phép người dùng xem thông tin chi tiết sản phẩm hoặc đặt mua sản phẩm.

Lược đồ trình tự-luồng cơ bản cho usecase Xem danh sách sản phẩm bán chạy nhất như

sau:

Hình 5.3 - Lược đồ trình tự cho usecase Xem danh sách sản phẩm được mua nhiều nhất.

5.1.3.c Usecase Xem danh sách sản phẩm mới ra mắt

Usecase này nhằm đưa ra cho khách hàng một danh sách các sản phẩm mới ra mắt trong

tháng. Hệ thống thể hiển danh sách thông tin sơ bộ về mỗi sản phẩm gồm: tên máy, nhà

sản xuất, giá bán, kích cỡ, thời gian chờ, thời gian đàm thoại. Và đối với mỗi sản phẩm

đều cho phép người dùng xem thông tin chi tiết sản phẩm hoặc đặt mua sản phẩm.

Lược đồ trình tự-luồng cơ bản cho usecase Xem danh sách sản phẩm mới ra mắt như sau:

Page 42: Xây dựng ứng dụng hỗ trợ trang web bán hàng

37

Hình 5.4 - Xem danh sách sản phẩm mới ra mắt.

5.1.3.d Usecase Xem danh sách sản phẩm được nhiều người quan tâm Usecase này nhằm đưa ra cho khách hàng danh sách các sản phẩm được nhiều người xem

chi tiết nhất. Hệ thống thể hiển danh sách thông tin sơ bộ về mỗi sản phẩm gồm: tên máy,

nhà sản xuất, giá bán, kích cỡ, thời gian chờ, thời gian đàm thoại. Và đối với mỗi sản

phẩm đều cho phép người dùng xem thông tin chi tiết sản phẩm hoặc đặt mua sản phẩm.

Lược đồ trình tự-luồng cơ bản cho usecase Xem danh sách sản phẩm được nhiều người

quan tâm như sau:

Hình 5.5 - Lược đồ tuần tự Usecase Sản phẩm được quan tâm nhiều nhất.

5.1.3.e Usecase Trợ giúp chọn sản phẩm Usecase này thực hiện khi khách hàng muốn tìm kiếm những chiếc điện thoại di động có

các đặc tính mà mình thích. Hệ thống yêu cầu khách hàng đánh giá mức độ quan tâm đối

với các tiêu chuẩn của máy điện thoại di động và giá trị mong muốn của thuộc tính đó. Hệ

thống sẽ trả về danh sách gồm 3 máy điện thoại phù hợp nhất với tiêu chuẩn đã đánh giá

của khách hàng.

Năm tiêu chuẩn cho khách hàng sau đánh giá gồm có: Trọng lượng của máy, thời gian sử

dụng máy, kiểu dáng của máy, các tính năng giải trí có trong máy (bao gồm các tính năng

Page 43: Xây dựng ứng dụng hỗ trợ trang web bán hàng

38

“có camera”,”xem video”,”nghe nhạc MP3”, “nghe radio FM” và “tải nhạc chuông

Midi”), và giá bán của máy. Ta chọn 5 tiêu chuẩn trên tiêu biểu cho sự phong phú thuộc

tính của một máy điện thoại di động. Hai tiêu chuẩn đầu (trọng lượng, thời gian sử dụng

máy) và tiêu chuẩn cuối (giá bán) là những thuộc tính có miền giá trị gần như liên tục, có

thể chia ra các khoảng cho người dùng chọn. Ví dụ thời gian chờ có thể chia ra các

khoảng “ngắn”, ”rất ngắn”, ”trung bình”, “dài”, ”rất dài”. Tiêu chuẩn thứ ba(kiểu dáng

của máy) là thuộc tính có miền giá trị rời rạc, người dùng chọn một kiểu dáng cụ thể của

máy mà họ ưa thích. Tiêu chuẩn thứ tư là sự kết hợp nhiều tính năng của máy điện thoại

di động, người dùng sẽ chọn các tính năng mà họ thích.

Đây sẽ là nơi thuật toán di truyền được áp dụng. Các đánh giá của khách hàng được dùng

tìm kiếm sản phẩm thích hợp nhất trong quần thể sản phẩm của thuật toán di truyền.

Lược đồ trình tự-luồng cơ bản cho usecase Trợ giúp chọn sản phẩm như sau:

Hình 5.6 - Lược đồ trình tự cho usecase Trợ giúp lựa chọn sản phẩm.

5.1.3.f Usecase Duyệt danh mục sản phẩm theo hãng sản xuất Usecase này thực hiện khi khách hàng muốn xem tất cả các sản phẩm điện thoại di động

của một nhà sản xuất cụ thể. Hệ thống đưa ra các danh sách thông tin sơ bộ về các điện

thoại của nhà sản xuất đã chọn.

Lược đồ trình tự-luồng cơ bản cho usecase Duyệt danh mục sản phẩm theo hãng sản xuất

như sau:

Page 44: Xây dựng ứng dụng hỗ trợ trang web bán hàng

39

Hình 5.7 - Lược đồ trình tự cho usecase Duyệt sản phẩm theo hãng sản xuất.

5.1.3.g Usecase Xem chi tiết Usecase này thực hiện khi khách hàng muốn xem thông tin chi tiết về một máy điện thoại

di động nào đó từ danh sách các điên thoại. Các thông tin đưa ra cho khách hàng gồm :

Tên nhà sản xuất, model máy, kích thước, trọng lượng, kiểu dáng, băng tần hỗ trợ, độ

phân giải và màu sắc màn hình hiển thị, thời gian đàm thoại và thời gian chờ, giá bán, bộ

nhớ, dạng tin nhắn hỗ trợ, các tính năng giải trí (bao gồm tích hợp máy ảnh, quay video,

nghe nhạc MP3, nghe radio FM) và các tính năng kết nối dữ liệu (bao gồm Java, GPRS,

WAP, Bluetooth). Tại đây, khách hàng có thể đặt mua ngay máy điện thoại này.

Lược đồ trình tự-luồng cơ bản cho usecase Xem chi tiết như sau:

Hình 5.8 - Lược đồ trình tự cho usecase Xem thông tin chi tiết.

5.1.3.h Usecase Thêm hàng vào giỏ Usecase này thực hiện khi khách hàng muốn chọn một sản phẩm và thêm vào giỏ hàng.

Hệ thống sẽ báo cho khách hàng khi đã thêm sản phẩm vào giỏ thành công.

Lược đồ trình tự-luồng cơ bản cho usecase Thêm hàng vào giỏ như sau:

Page 45: Xây dựng ứng dụng hỗ trợ trang web bán hàng

40

Hình 5.9 - Lược đồ trình tự cho usecase Thêm hàng vào giỏ.

5.1.3.i Usecase Xem giỏ hàng Usecase này thực hiện khi khách hàng muốn xem danh sách sản phẩm đã đặt mua trong

giỏ hàng. Hệ thống hiển thị danh sách từng sản phẩm đã đặt mua của khách hàng và số

lượng của chúng. Người dùng có thể nhập lại số lượng đặt mua hoặc hủy việc đặt mua

một sản phẩm.

Lược đồ trình tự-luồng cơ bản cho usecase Xem giỏ hàng như sau:

Hình 5.10 - Lược đồ trình tự cho usecase Xem giỏ hàng.

5.1.3.j Usecase Thanh toán Usecase này thực hiện khi khách hàng muốn thanh toán cho những sản phẩm đã chọn

trong giỏ hàng. Hệ thống sẽ xem khách hàng đã đăng ký thông tin cá nhân chưa. Nếu

chưa hệ thống sẽ buộc khách hàng điền vào thông tin cá nhân bao gồm: Họ tên khách

hàng, địa chỉ, email.

Page 46: Xây dựng ứng dụng hỗ trợ trang web bán hàng

41

Hệ thống sẽ tạo tạo hóa đơn liệt kê các sản phẩm trong giỏ hàng, yêu cầu khách hàng

chọn phương thức giao hàng, phương thức thanh toán. Khách hàng chọn phương thức

giao hàng và phương thức thanh toán thích hợp với mình rồi chấp nhận đặt mua hoặc hủy

không mua.

Lược đồ trình tự-luồng cơ bản cho usecase Thanh toán như sau:

Hình 5.11 – Lược đồ trình tự cho usecase Thanh toán.

5.2 Thiết kế

5.2.1 Thiết kế hệ thống

Hệ thống gồm 2 module chính: Module ứng dụng cửa hàng web bán điện thoại di động và

module áp dụng thuật toán GA tìm kiếm điện thoại theo sở thích người dùng. Mobile ứng

dụng thuật toán GA có thể phân gồm 2 gói riêng biệt. Gói MobilePhoneShop chứa thông

tin các thuộc tính của máy điện thoại di động, có chức năng kết nối và đưa thông tin của

cơ sở dữ liệu lên một nhớ chính. Gói GenecticAlgorithm chứa thuật toán di truyền.

Sơ đồ kiến trúc các thành phần hệ thống:

Page 47: Xây dựng ứng dụng hỗ trợ trang web bán hàng

42

Hình 5.12 - Mô hình kiến trúc hệ thống.

5.2.2 Thiết kế cơ sở dữ liệu

5.2.2.a Lược đồ cơ sở dữ liệu quan hệ

Hình 5.13 - Sơ đồ dữ liệu quan hệ.

Page 48: Xây dựng ứng dụng hỗ trợ trang web bán hàng

43

5.2.2.b Danh sách các bảng

Bảng 5-1-Danh sách các bảng cơ sở dữ liệu

STT Tên bảng Ghi chú

1. tblItems Sản phẩm điện thoại di động

2. tblProducers Hãng sản xuất

3. tblCaseType Danh sách kiểu dáng của điện thoại di động

4. tblOders Đơn đặt hàng

5. tblOderDetails Chi tiết đơn đặt hàng

5.2.2.c Chi tiết các bảng dữ liệu

Bảng 5.2 - Bảng dữ liệu tblItems

STT Tên thuộc tính Ý nghĩa Kiểu dữ liệu Miền giá trị Ghi chú 1 ItemID Mã sản phẩm int Khóa chính 2 ItemModel Tên sản phẩm nvarchar(50) 3 ProducerID Mã hãng sản

xuất int

4 Image Đường dẫn chứa file hình của sản phẩm

5 SmallImage 6 Comingdate Ngày ra mắt datetime 7 Height Chiều cao real Đơn vị: mm 8 Length Chiều rộng real Đơn vị: mm 9 Width Độ dày real Đơn vị: mm 10 Weight Trọng lượng smallint Đơnvị: gam 11 Standby Time Thời gian chờ smallint Đơn vị: giờ 12 Talk Time Thời gian đàm

thoại smallint

13 Screen Color Màn hình char(10) 14 Screen

Resolution Độ phân giải của màn hình

char(10)

15 GPRS GPRS Bit 16 FM Nghe radio FM bit 17 Message Loại tin nhắn hỗ

trợ nvarchar(50)

18 Camera Chụp hình nvarchar(50) 19 MP3 Nghe nhạc MP3 bit 20 Memory Dung lượng bộ

nhớ int

21 WAP Char(10)

Page 49: Xây dựng ứng dụng hỗ trợ trang web bán hàng

44

22 Bluetooth bit 23 Java Bit 24 Battery nvarchar(50) 25 Networks Mô tả các băng

tần hỗ trợ nvarchar(50)

26 Price float 27 CaseType Mã kiểu dáng int 1-4 28 Midi bit 29 Video Quay video bit 30 Games Mô tả các trò

chơi có trong máy

nvarchar(50)

Bảng 5.3 - Bảng dữ liệu tblCaseType

STT Tên thuộc tính Ý nghĩa Kiểu dữ liệu Miền giá trị Ghi chú 1 CasetypeID Mã kiểu dáng int Khóa chính 2 Description Mô tả nvarchar(20)

Bảng 5.4 - Bảng dữ liệu tblProducers

STT Tên thuộc tính Ý nghĩa Kiểu dữ liệu Miền giá trị Ghi chú 1 ProducerID Mã hãng sản

xuất Int Khóa chính

2 ProducerName Tên hãng sản xuất

nvarchar(50)

3 Website Đường dẫn trang web hãng sản xuất

nvarchar(50)

4 Logo Đường dẫn chứa hình của hãng sản xuất

nvarchar(50)

Bảng 5.5 - Bảng dữ liệu tblOrders

STT Tên thuộc tính Ý nghĩa Kiểu dữ liệu Miền giá trị Ghi chú 1 OderID Mã đơn đặt

hàng Int Khóa chính

2 OderDate Ngày đặt datetime 3 CusName Tên khách hàng nvarchar(50) 4 CusAdd Địa chỉ khách

hàng nvarchar(50)

5 CusEmail Email của khách hàng

nvarchar(50)

6 CusTel Điện thoại của khách hàng

char(10)

7 DeliveryAdd Địa chỉ giao hàng

nvarchar(50)

8 Amount Tổng tiền khách float

Page 50: Xây dựng ứng dụng hỗ trợ trang web bán hàng

45

hàng 9 DiscountAmount Phần trăm giảm

giá float

10 ShipCost Phí giao hàng float 11 TotalAmount Tổng tiền thanh

toán hóa đơn. float

Bảng dữ liệu tblOrderDetails

Bảng 5.6 - Bảng dữ liệu tblOrderDetails

STT Tên thuộc tính Ý nghĩa Kiểu dữ liệu

Miền giá trị Ghi chú

1 OrderNumber Số thứ tự của chi tiết trong hóa đơn

Int Khóa chính

2 OrderID Mã hóa đơn Int Khóa chính 3 ItemID Mã sản phẩm Int Khóa chính 4 Quatity Số lượng Int 5 Price Giá Float

5.2.3 Thiết kế các lớp đối tượng Phần này bao gồm thiết kế các xử lý của đối tượng ở cả ba tầng hoạt động của hệ thống

và sự phối hợp hoạt động giữa chúng ở các mức độ tổng thể và chi tiết đến từng nghiệp

vụ.

5.2.3.a Hiện thực hóa các usecase ở mức thiết kế Usecase Tìm kiếm

Hình 5.14 - Lược đồ trình tự (mức thiết kế) cho usecase Tìm kiếm.

Usecase Xem danh sách sản phẩm mới ra mắt:

Page 51: Xây dựng ứng dụng hỗ trợ trang web bán hàng

46

Hình 5.15 - Lược đồ trình tự (mức thiết kế) cho usecase Xem sản phẩm mới ra mắt.

Usecase Trợ giúp chọn sản phẩm

Hình 5.16 - Lược đồ trình tự (mức thiết kế) cho usecase Trợ giúp chọn sản phẩm

Page 52: Xây dựng ứng dụng hỗ trợ trang web bán hàng

47

Usecase Xem chi tiết

Hình 5.17 - Lược đồ trình tự (mức thiết kế) cho usecase Xem thông tin chi tiết

Usecase Thêm hàng vào giỏ

Hình 5.18 - Lược đồ trình tự (mức thiết kế) cho usecase Thêm hàng vào giỏ

Usecase Xem giỏ hàng

Hình 5.19 Lược đồ trình tự (mức thiết kế) cho usecase Xem giỏ hàng

Page 53: Xây dựng ứng dụng hỗ trợ trang web bán hàng

48

Usecase Thanh toán

Hình 5.20 - Lược đồ trình tự (mức thiết kế) cho usecase Thanh toán

5.2.3.b Sơ đồ phối hợp giữa các trang web

Hình 5.21 Sơ đồ phối hợp giữa các trang web

Page 54: Xây dựng ứng dụng hỗ trợ trang web bán hàng

52

5.2.3.c Sơ đồ lớp của ứng dụng web

Hình 5.22 - Sơ đồ lớp ứng dụng WebMobileShop.

Page 55: Xây dựng ứng dụng hỗ trợ trang web bán hàng

53

Các thành phần của sơ đồ:

Bảng 5.7 - Các đối tượng lớp của hệ thống WebMobileShop

STT Lớp Mô tả 1 pageDefault Trang chủ của ứng dụng web 2 pageSearch Trang tìm kiếm sản phẩm theo giá và hãng sản xuất 3 pageCriterionChoose Trang trợ giúp khách hàng lựa chọn sản phẩm thông

qua đánh giá các tiêu chuẩn của sản phẩm 4 pageResult Trang kết quả sản phẩm đề nghị cho khách hàng. 5 pageViewcart Trang xem giỏ hàng. 6 Checkout Trang đặt hàng và kết xuất hóa đơn. 7 BLItems Lớp đối tượng xử lý liên quan đến sản phẩm gồm các

phương thức lấy sản phẩm theo hãng sản xuất, tìm kiếm sản phẩm theo giá và hãng sản xuất.

8 BLProducer Lớp đối tượng xử lý liên quan đến hãng sản xuất gồm các phương thức lấy danh sách các hãng sản xuất.

9 OrderItem Lớp đối tượng xử lý các sản phẩm đã đặt hàng. 10 OrderList Lớp đối tượng xử lý liên quan đến danh sách đặt hàng. 11 CustomerPreference Lớp đối tượng chứa các đánh giá khách hàng về mỗi

tiêu chuẩn sản phẩm. 12 Weight Lớp đối tượng chứa thuộc tính trọng lượng của sản

phẩm. 13 Price Lớp đối tượng chứa thuộc tính giá bán của sản phẩm. 14 CaseType Lớp đối tượng chứa thuộc tính kiểu dáng của sản phẩm. 15 Entertainment Lớp đối tượng chứa các thuộc tính giải trí của sản

phẩm. 16 StandbyTime Lớp đối tượng chứa thuộc tính thời gian sử dụng của

sản phẩm. 17 Population Lớp đối tượng chứa các xử lý danh sách sản phẩm của

module thuật toán GA. 18 MobileContainer Lớp đối tượng xử lý dữ liệu danh sách sản phẩm của

module thuật toán GA. 19 DAItems Lớp đối tượng xử lý dữ liệu danh sách sản phẩm. 20 DAProducer Lớp đối tượng xử lý dữ liệu danh sách hãng sản xuất.

Page 56: Xây dựng ứng dụng hỗ trợ trang web bán hàng

54

5.2.3.d Sơ đồ lớp của module thuật toán GA

Hình 5.23 - Sơ đồ lớp của module thuật toán GA.

Các lớp đối tượng trong module này được mô tả trong bảng dưới đây:

Bảng 5.8 - Các đối tượng thuộc module thuật toán GA

STT Lớp Mô tả 1 Genome Lớp đối tượng biểu diễn một gen của thuật toán di

truỳen. 2 Individual Lớp đối tượng biểu diễn một cá thể 3 CustomerPreference Lớp đối tượng chứa các đánh giá khách hàng về mỗi

tiêu chuẩn sản phẩm. 4 Weight Lớp đối tượng chứa thuộc tính trọng lượng của sản

phẩm. 5 Price Lớp đối tượng chứa thuộc tính giá bán của sản phẩm. 6 CaseType Lớp đối tượng chứa thuộc tính kiểu dáng của sản phẩm. 7 Entertainment Lớp đối tượng chứa các thuộc tính giải trí của sản

phẩm. 8 StandbyTime Lớp đối tượng chứa thuộc tính thời gian sử dụng của

sản phẩm. 9 Population Lớp đối tượng chứa các xử lý danh sách sản phẩm, biểu

diễn quần thể của thuật giải di truyền. 10 MobileContainer Lớp đối tượng xử lý dữ liệu danh sách sản phẩm. 11 MobileCriterion Lớp đối tượng cha được xử lý dữ liệu danh sách sản

phẩm từ cơ sở dữ liệu..

Page 57: Xây dựng ứng dụng hỗ trợ trang web bán hàng

55

Chương 6

Cài đặt

6.1 Môi trường phát triển ứng dụng

Hệ thống website được cài đặt dựa trên các môi trường phát triển sau:

• Môi trường cài đặt ứng dung: Visual Studio.NET

• Ngôn ngữ sử dụng: ASP.NET và C#.NET

• Hệ quản trị cơ sở dữ liệu: SQL Server

• Phần mềm mô hình hóa ứng dụng: Rational XDE

6.2 Cài đặt chương trình

Tập tin cơ sở dữ liệu SQL Server được cài đặt tại máy Server.

Hệ chương trình được viết bằng ngôn ngữ C#.NET gồm 2 phần:

• Phần cài đặt thuật toán GA gồm 2 project : project MobilePhoneShop chứa kết nối

và xử lý đến cơ sở dữ liệu và project GeneticAlgorithm chứa cài đặt thuật toán di

truyền theo trọng số. Cả hai project là những Class Library project kết xuất ra tập

tin DLL.

• Phần trang web Mua bán điện thoại di động gồm 1 project WebMobileShop được

cài đặt theo mô hình ứng dụng web 3 tầng:

- Tầng dữ liệu bao gồm các phương thức đọc, ghi cơ sở dữ liệu sử dụng kỹ thuật

ADO.NET để kết nối và truy cập dữ liệu. Các hàm này chứa trong các lớp đối

tượng DABasic, DAItems, DAProducers. Khi khởi động chương trình, hệ

thống đọc vào bộ nhớ chính danh sách thuộc tính của các máy điện thoại di

động. Trong quá trình hoạt động, khi có nhu cầu đọc, ghi dữ liệu, hệ thống kết

nối với Server để đọc các thông tin dữ liệu vào bộ nhớ chính của hệ thống

hoặc ghi dữ liệu từ bộ nhớ chính vào tập tin cơ sở dữ liệu trên Server.

- Tầng xử lý bao gồm các hàm xử lý nghiệp vụ. Các hàm xử lý khi xử lý trên dữ

liệu sẽ thực hiện trực tiếp trên dữ liệu đã được đọc vào bộ nhớ chính. Nếu

chưa có dữ liệu trong bộ nhớ, các hàm xử lý sẽ triệu gọi đến các hàm đọc ghi

dữ liệu ở tầng dữ liệu. Trong chương trình, các hàm xử lý được thiết kế độc

lập với giao diện người dùng.

Page 58: Xây dựng ứng dụng hỗ trợ trang web bán hàng

56

- Tầng giao tiếp bao gồm các hàm hiển thị thông tin và các xử lý dữ liệu có thể

hiện trên màn hình được thiết kế. Các hàm này được cài đặt trực tiếp tại các

trang web. Khi các trang web được triệu gọi, thông tin dữ liệu được lấy từ bộ

nhớ của máy chủ để hiển thị đến trình duyệt của người dùng. Khi có các xử lý

nghiệp vụ xảy ra, các hàm tại tầng giao tiếp sẽ triệu gọi đến các hàm xử lý

nghiệp vụ ở tầng xử lý. Riêng trang trợ giúp lựa chọn sản phẩm sẽ áp dụng mô

hình thuật toán GA bằng cách gọi các hàm trong 2 DLL đã trình bày ở trên.

Với mô hình xử lý như mô tả trên, hệ thống phần nào đã thể hiện được sự hoạt động của

mô hình ba lớp trên môi trường .NET, sự phối hợp cũng như tính độc lập của các lớp đối

tượng được cài đặt tại mỗi tầng và trong toàn ứng dụng.

6.3 Một số màn hình tiêu biểu

Khi gọi ứng dụng web, trang đầu tiên sẽ hiển thị như sau:

Trang web: Default.aspx

Tiêu đề: WebMobileShop Homepage

Ý nghĩa: Trang chủ của ứng dụng

Page 59: Xây dựng ứng dụng hỗ trợ trang web bán hàng

57

Trang web: CriterionChoose.aspx

Ý nghĩa: Trợ giúp người dùng chọn lựa sản phẩm theo các tiêu chuẩn cần có của một máy

điện thoại di động

Trang web: Result.aspx

Ý nghĩa: Danh sách các máy điện thoại đề nghị cho khách hàng sau khi họ đã đánh giá

các tiêu chuẩn ở trang CriterionChoose.aspx

Page 60: Xây dựng ứng dụng hỗ trợ trang web bán hàng

58

Trang web: Viewcart.aspx

Ý nghĩa: Trang chủ của ứng dụng

Page 61: Xây dựng ứng dụng hỗ trợ trang web bán hàng

59

Page 62: Xây dựng ứng dụng hỗ trợ trang web bán hàng

60

Chương 7

Kết luận và hướng phát triển

7.1 Kết luận

Hệ hỗ trợ ra quyết định tuy không phải là một đề tài mới mẻ, với rất nhiều đề tài nghiên

cứu và các nổ lực áp dụng thực tế nó đã dần dà trở thành một bộ phận quan trọng của các

hệ thống thông tin hiện đại. Tuy nhiên các áp dụng của nó vẫn ở mức rất sơ khai và vẫn

chưa có một chuẩn thống nhất.Trong khuôn khổ luận văn chúng em đã tìm hiểu một

cách tổng quan Hệ hỗ trợ ra quyết định.

Bài toán tối ưu hóa đa mục tiêu thực chất là một pha trong Hệ hỗ trợ ra quyết định, giai

đoạn lựa chọn. Đã có rất nhiều cách tiếp cận được đặt ra để giải quyết bài toán này, xong

các cách tiếp cận đó vẫn giựa trên một ứng dụng, một tình huống cụ thể thực tế nào đó.

Và thực tế là chưa có một phương pháp nào có thể thỏa mãn tất cả các tình huống và cũng

chưa có phương pháp nào để so sánh hiệu quả của các phương pháp đó với nhau.Trong

luận văn này chúng em đã cố gắng đưa ra một cái nhìn tổng quát về bài toán tối ưu

hóa đa mục tiêu và một số cách tiếp cận.Trong đó chúng em tập trung vào phương

pháp dùng thuật giải di truyền, một phương pháp còn tương đối mới mẻ.

Và giựa trên phương pháp áp dụng thuật giải di truyền trong bài toán tối ưu hóa đa mục

tiêu ,chúng em cũng đã có những cải tiến để có thể áp dụng vào bài toán cụ thể đó là

“Trợ giúp khách hàng chọn sản phẩm khi mua hàng qua mạng”.

Với cách tiếp cận trên chúng em đã tìm cách áp dụng và xây dựng một trang web bán

điện thoại qua mạng.Trong đó có cài đặt phần trợ giúp để khách hàng có thể chọn một

chiếc vừa ý và nhanh chóng nhất.Do trong khuôn khổ giới hạn của luận văn ,tuy trang

web có thể đáp ứng được các thành phần cơ bản cho một trang web bán hàng nhưng vẫn

còn rất nhiều thiếu sót và hạn chế.

Sau khi cài đặt chúng em nhận thấy rằng với cách tiếp cận này trang web sẽ đảm bảo

được về mặt thời gian.Thế nhưng kết quả trả về có thể khác nhau qua các lần chạy (vì đôi

khi miền tối ưu Pareto có nhiều lời giải). Tuy nhiên một điểm mạnh của phương pháp này

so với các phương pháp tìm kiếm thông thường đó là luôn cho ra kết quả (tối ưu hoặc gần

tối ưu) chứ không phải đưa ra một câu thông báo đáng buồn cho người mua lẫn kẻ bán

“Không thể tìm thấy sản phẩm thích hợp”.

Page 63: Xây dựng ứng dụng hỗ trợ trang web bán hàng

61

7.2 Hướng phát triển

Hoàn thiện trang web để nó có thể áp dụng một cách thực tế: giao diện thân thiện và gần

gủi hơn, hoàn thiện chức năng thanh toán.

Cải tiến phương pháp đánh giá trên miền Pareto để có thể cho ra kết quả xâu xát hơn và

để tránh tình trạng cho ra các kết quả khác nhau qua các lần chạy.

Hổ trợ thêm để người dùng có thể chọn ra sản phẩm cuối cùng trong số các sản phẩm mà

ta đã đề nghị. Vì chỉ cần có 2 sự chọn lựa là ta đã phải đưa ra quyết định. Chúng ta có thể

áp dụng các phương pháp giải quyết tối ưu cũ (tiêu tốn nhiều thời gian hơn) như AHP,

Tweak Utility...

Page 64: Xây dựng ứng dụng hỗ trợ trang web bán hàng

62

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

A.1 Sự ra đời

Tất cả các lĩnh vực như kỹ thuật, khoa học, kinh doanh, và khoa học xã hội và tự nhiên

đề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 toà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.

A.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ộ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 toá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 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.

Page 65: Xây dựng ứng dụng hỗ trợ trang web bán hàng

63

A.3 Một số định nghĩa

A.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á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 và

Y được gọi là không gian mục tiêu.

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

A.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))

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

dẳng thức h(x) và bất đẳng thức g(x).

Page 66: Xây dựng ứng dụng hỗ trợ trang web bán hàng

64

A.4 Miền tối ưu Pareto

A.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).

A.4.2 Tối ưu pareto

Mieànkhaû thi

C

A

B

C1

f1

f2

Hình 7.1 - Miền tối ưu Pareto.

Như hình 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}, ui<xi

Như ở hình 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 tóan tối ưu hóa đa mục tiêu là chọn ra từ miền Pareto của bài

Page 67: Xây dựng ứng dụng hỗ trợ trang web bán hàng

65

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.

A.5 Cách tiếp cận bài toán đa mục tiêu giựa trên thuật giải di truyền

A.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 dơ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 (xem phụ lục B) 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.

A.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ề độ quan trong 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.

Khi đó vấn đề của chúng ta sẽ được chuyển thành dạng:

Page 68: Xây dựng ứng dụng hỗ trợ trang web bán hàng

66

∑=

k

iii xfw

1)(min

hoặc

∑ *)(min iii cxfw

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

iiw

1

1

Và *ic là một hằng số với ** 1 ii fc = và *

if là giá trị tối ưu của hàm mục tiêu if .

Rõ ràng kết quả của bài toán sẽ thay đổi khi các hệ số 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ử

đụ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 giựa trên trực giác của mình thì cách này vẫn tỏ ra có hiệu

quả.

A.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à:

FxTxfk

iii ∈−∑

=

,|)(|min1

Trong đó iT 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.

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

Page 69: Xây dựng ứng dụng hỗ trợ trang web bán hàng

67

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.

A.5.4 Các cách tiếp cận khác

Một số cách tiếp cận khác để giải bài toán tối ưu đa mục tiêu khác cũng giựa trên thuật

giải di truyền như Min-Max, ràng buộc ε, VEGA…

A.5.5 Cách tiếp cận ràng buộc ε

A.6 Tổng kết

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.Do đó để muôn áp dụng thuậ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ều chuyện để làm như kích thứoc 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 toá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.

Page 70: Xây dựng ứng dụng hỗ trợ trang web bán hàng

68

Phụ lục B Thuật giải di truyền

B.1 Tổng quát về thuật giải di truyền

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 [29] 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ả 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ố :biểu diễn số,tính toá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 nhẫ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) 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.

B.2 Biểu diễn một giải pháp dưới dạng gen

Theo GA mỗi giải pháp cho một vấn đề đều có thể biểu diễn dưới dạng một tấp hợp các

tham số. Các tham số này đóng vai trò như các gene trong một nhiễm sắc thể, và có thể

biểu diễn dưới dạng một dạng chuỗi các bit số học. Mỗi nhiễm sắc thể được mã hóa từ

một giải pháp được gọi là “kiểu di truyền” và giải pháp được mã hóa đó được gọi là một

“kiểu hình”. Biểu diễn một vấn đề được dưới dạng gene luôn là phần quan trọng nhất của

thuật giải di truyền.

B.3 Tính độ thích nghi

Một số thực dùng để phản ánh độ tốt của nhiễm sắc thể được gọi là “độ thích nghi”.Nó

dùng để diễn tả giá trị mục tiêu của nhiễm sắc thể. Việc tính toán độ thích nghi dùng để

xác định chất lượng của một nhiễm sắc thể đối với một mục tiêu của kiểu hình.

Page 71: Xây dựng ứng dụng hỗ trợ trang web bán hàng

69

B.4 Chọn lọc tự nhiên

Sau khi tính toán độ thích nghi những nhiễm sắc thể (NST) tốt hơn sẽ có nhiều cơ hội

sống sót và di truyền sang thế hệ sau hơn. Trong các ứng dụng GA quần thể ban đầu phải

được khởi tạo, các nhiễm sắc thể sẽ được khởi tạo ngẫu nhiên. Kích thước của quần thể

thay đổi theo từng bài toán cụ thể. Trong mỗi chu trình tiến hóa, một số cặp NST sẽ được

chọn lọc để nhân giống, tạo ra thế hệ kế tiếp.

B.5 Những hoạt động di truyền

Trong quần thể các cặp gene bố mẹ được chọn sẽ được trộn lẫn và kết hợp lại để tạo ra

các cặp gene thế hệ con. Thao tác như vậy gọi là “lai ghép” .

Hình B.1 - Lai ghép trong thuật toán di truyền.

Thao tác ”đột biến” được thực hiện với tần số thấp để tạo ra các gene mới cho quần thể.

Đột biến được thực hiện bằng cách thay đổi ngẫu nhiên một gene trong NST

Hình B.2 - Thao tác đột biến trong thuật toán di truyền.

B.6 Đ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ư:

Page 72: Xây dựng ứng dụng hỗ trợ trang web bán hàng

70

• Đạ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.

Page 73: Xây dựng ứng dụng hỗ trợ trang web bán hàng

71

Tài liệu tham khảo

[1] Nguyễn Tấn Trần Minh Khang, Giải thuật di truyền trong một lớp bài tóan lập lịch,

Luận Văn Thạc sĩ Khoa Học CNTT, 2002.

[2] Nguyễn Hòang Tú Anh, Nghiên cứu và phát triển thuật tóan tìm luật kết hợp tối ưu

trên thuộc tính số, Luận Văn Thạc sĩ Khoa Học CNTT, 2002.

[3] Ngô Quang Tuấn Huy, Xây dựng hệ thống giải lớp bài tóan tôi ưu số trên cơ sở thuật

giải di truyền, Luận Văn Cử Nhân CNTT, 2002.

[4] DSS Glossary, http://dssresources.com/glossary/

[5] Gorry,G.A, Scott Morton, A framework for Management Information Systems ,

Sloan Management Review, Vol 13, No 1, (1971).

[6] Efraim Turban và Jay E Aronson, Decision Support Systems and Intelligent Systems

[7] Management Information Systems for the Information Age

[8] Susan Sproule và Norm Archer, Knowledgeable Agents For Search And Choice

Support In E-Commerce: A Decision Support Systems Approach,

http://www.csulb.edu/web/journals/jecr/issues/20004/paper4.pdf

[9] Bing Xu, Zhi-geng Pan và Hong-wei Yang, Agent-based Model for Intelligent

Shopping Assistant and its Application

http://www.vrsj.org/icat/ICAT2003/php/upload/134_camera_ceb49b6ee2a2612fc7c284e9

ccd13cce.pdf

[10] Filippo Menczer và các cộng sự, IntelliShopper: A Proactive, Personal, Private

Shopping Assistant.

http://www.informatics.indiana.edu/fil/Papers/intellishopper.pdf

[11] Nguyễn Đình Thúc, Trí tuệ nhân tạo : Lập trình tiến hóa, Nhà xuất bản giáo dục, Tp

HCM, 2001.

[12] Hoàng Kiếm và Nguyễn Đình Thúc, Về sự hội tụ của hồi quy di truyền, Hội nghị

khoa học trường ĐHKHTN lần 2 , 2000.

[13] Bùi Thế Tâm và Trần Vũ Thiên, Các phương pháp tối ưu hóa , NXB Giao thông Vận

tải, 1998.

Page 74: Xây dựng ứng dụng hỗ trợ trang web bán hàng

72

[14] Carlos A Coello, A comprehensive survey of evolutionary-based multiobjective

optimization techniques, http://www.lania.mx/~ccoello

[15] Carlos M Fonseca và Peter J Fleming, Genetic Algorithms for multiobjective

optimization: Formulation, Discussion and Generalizations

[16] Barry G. Silverman, Mintu Bachann, Khaled Al-Akharas (Dept. of Systems

Engineering, University of Pennsylvania),Implications of Buyer Decision Theory for

Design of eCommerce Websites,2001,pp.24.

[17] J. Ben Schafer, Joseph A. Konstan, John Riedl(Department of Computer Science and

Engineering University of Minnesota),E-Commerce Recommendation Applications,2004.

[18] Jochen Hansen, How new and different are consumer in the digital marketplace?,

The Impact of Networking,Vienna Austria,tháng 9 năm 2000.