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

Thiếu sót của web bán hàng hiện nay và dùng sơ đồ giải thuật viết chương trình hỗ trợ khách hàng ra quyết định mua hàng online - 3 ppsx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (628.18 KB, 24 trang )


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

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

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



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.

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.


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

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.

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



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

58

Trang web: Viewcart.aspx
Ý nghĩa: Trang chủ của ứng dụng


59


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

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


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.

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) =
(f
1
(x),f
2
(x)…f
n
(x))
Trong đó x=(x
1
, x
2,…
,x
m)
∈ X
y=( y
1
, y
2,…
,y
n)
∈ 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.
g
j
(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)=(f
1
(x),f
2
(x),…,f
n
(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

R
n

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

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àn
khaû 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 x
v
= f(x
v
)=(v
1
,v
2
,…,v
n
) 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
x
u
= f(x
u
) = (u
1
,u
2
,…u
n
) nào thống trị x
v
,nghĩa là
∀ i ∈{1,…,n}, u
i
≤ x
i
và ∃ i ∈ {1,…,n}, u
i
<x
i
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

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:

66

=
k
i
ii
xfw
1
)(min
hoặc

*
)(min
iii
cxfw

Trong đó w
i ≥
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
i
i
w
1

1


*
i
c là một hằng số với
**
1
ii
fc = và
*
i
f là giá trị tối ưu của hàm mục tiêu
i
f .
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à:
FxTxf
k

i
ii
∈−

=
,|)(|min
1

Trong đó
i
T 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

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.

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.


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

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.

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

[9] Bing Xu, Zhi-geng Pan và Hong-wei Yang, Agent-based Model for Intelligent
Shopping Assistant and its Application
/>ccd13cce.pdf
[10] Filippo Menczer và các cộng sự, IntelliShopper: A Proactive, Personal, Private
Shopping Assistant.

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

72
[14] Carlos A Coello, A comprehensive survey of evolutionary-based multiobjective
optimization techniques,
[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.



×