TRANG PHỤ BÌA
LỜI CAM ĐOAN .i
LỜI CÁM ƠN.ii
TÓM TẮT.iii
ABSTRACT.iv
MỤC LỤC.v
DANH MỤC CÁC TỪ VIẾT TẮT .vii
DANH MỤC CÁC BẢNG.viii
DANH MỤC CÁC HÌNH.ix
CHƯƠNG 1: MỞ ĐẦU .1
1.1. Đặt vấn đề.1
1.2. Mục tiêu nghiên cứu.3
1.2.1 Mục tiêu tổng quát.3
1.2.2 Mục tiêu cụ thể.3
1.3. Phạm vi và giới hạn của luận văn .3
1.4. Nội dung nghiên cứu.3
1.5. Phương pháp nghiên cứu.4
1.5.1 Mô hình bài toán hình thành tế bào (CFP) .4
1.5.2. Phương pháp.4
1.6. Những đóng góp của luận văn.5
1.7. Cấu trúc của luận văn.5
CHƯƠNG 2: TỔNG QUAN VÀ CÁC PHƯƠNG PHÁP HEURISTIC .6
2.1. Tổng quan về bài toán tối ưu trong sản xuất và bàn toán CF.6
2.1.1 Tổng quan về bài toán tối ưu trong sản xuất.6
2.2.2 Giới thiệu bài toán cell formation (CF) .9
2.2. Tổng quan về heuristic và tìm kiếm cục bộ .20
2.2.1 Tìm kiếm heuristic.20
2.2.2 Tìm kiếm meta-heuristic.21
105 trang |
Chia sẻ: honganh20 | Ngày: 25/02/2022 | Lượt xem: 645 | Lượt tải: 4
Bạn đang xem trước 20 trang tài liệu Luận văn Tiếp cận thuật toán meta - Heuristic giải bài toán tối ưu hóa quá trình sản xuất, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
nghiệm.
Để thực hiện các bước trên, thông thường các kỹ thuật giải sau được áp dụng:
- Quy hoạch: tuyến tính, động, phi tuyến.
- Quy hoạch luồng.
- Quy hoạch động.
- Cận – nhánh.
17
- Quy hoạch thỏa mãn ràng buộc.
- Các thuật giải heuristic, approximation, tiến hóa (evolutionary), meta-
heuristics.
- Thuật giải ngẫu nhiên.
Trong thực tế quản lý và vận hành, do các bài toán hiện nay sẽ xuất hiện với tốc độ
nhanh và biến đổi liên tục nên nhiều bài toán, đặc biệt trong sản xuất, có yêu cầu
tìm nghiệm tối ưu (nghiệm gần đúng). Về tổng quan, bài toán CFP là một bài toán
có độ phức tạp không đa thức (NP). Về bản chất, đây là bài toán tổ hợp. Các thuật
toán giải CFP bao gồm nhiều định hướng toán học. Cụ thể các nhóm phương pháp
như:
- Kỹ thuật phân tích gom cụm (clustering) nhằm nhận biết cấu trúc trong một
tập dữ liệu. Như Chandrasekharan và Rajagopalan (1989) [11] đề xuất
phương pháp “grouping efficiency”; Kumar và Chandrasekharan (1990)
[31] đề xuất phương pháp “grouping efficacy”; Hsu (1990) [25] đề xuất giải
pháp “group capability index”...
- Phân hoạch đồ thị (graph) với graph hay một mạng đại diện được sử dụng
để xây dựng CFP. Nhóm phương pháp này sử dụng các thuật toán phân tích
đồ thị để tìm kiếm tối ưu.
- Các phương pháp quy hoạch toán học đưa CFP về bài toán quy hoạch
nguyên. Việc lựa chọn các nghiệm trong bài toán CFP là các nghiệm nguyên
thỏa cực đại về số nhóm được tạo thành.
- Các phương pháp Heuristics như tìm kiếm (SA), tìm kiếm Tabu (Tabu
Search), thuật toán di truyền (GA), tối ưu cục bộ (PSO), mạng nơron (ANN).
Chi tiết hơn về các phương pháp heuristic đối với bài toán CFP. Hiện tại, nhiều
nhóm nghiên cứu đã thử nghiệm nhiều phương pháp heuristics khác nhau để giải bài
toán CFP. Sơ lược bao gồm những thử nghiệm nghiên cứu:
- Nhóm các phương pháp tìm kiếm cục bộ (local search algorithm).
- Nhóm các phương dựa trên quần thể (population-based method).
- Các phương pháp lai (hybrid).
18
Những phương pháp trên được áp dụng với các chiến lược tìm kiếm theo thống kê
hoặc theo các chiến lược. Cụ thể hơn, cho đến nay, phần lớn các nghiên cứu đều
xem xét đến dữ liệu phân tích dòng sản xuất (PFA) và cố gắng nhóm các bộ phận và
máy để thỏa các tiêu chí được tối ưu như tính hiệu quả nhóm, tính hiệu nghiệm
nhóm, hiệu quả về kỹ thuật nhóm,... Trong các phương pháp PFA, hầu hết ma trận 2
chiều bộ phận - máy, là ma trận A = [aij], được sử dụng. Với aij=1, nghĩa là bộ phận
i cần xử lý trên máy j, ngược lại aij=0. Bài toán CFP nhằm đến nhóm tất cả các "1"
trong dạng khối đường chéo. Trong một số nghiên cứu gần đây, đa số xem CFP như
một ma trận incident bộ phận - máy nhị phân được đề cập.
Ví dụ nghiên cứu của Chen và Cheng (1995) [41] xét mạng nơron dựa vào CFP
trong CM. Cụ thể hơn, Chen và Cheng sử dụng lý thuyết cộng hưởng (ART –
adaptive resonance theory) với nền tảng mạng nơron cho bài toán CF trong CM.
Được biết, theo wikipedia, ART là lý thuyết do Stephen Grossberg và Gail
Carpenter phát triển dựa trên khía cạnh “làm thế nào não xử lý thông tin” và ART
sử dụng nhiều mô hình mạng neuron vừa có học giám sát vừa học không giám sát
để nhận dạng mẫu và dự báo. Ưu điểm của mạng ART so với phương thức truyền
thống là tính toán nhanh và khả năng vượt trội xử lý các vấn đề diện lớn trong công
nghiệp vì, một cách khái quát, mô hình ART sẽ nhận diện đối tượng theo phương
pháp quan sát kì vọng từ trên xuống (top-down) và “gặt hái/thu nhận” thông tin từ
dưới lên (bottom-up).
Mahdavi, Kaushal và Chandra (2001) [42] đề xuất phương án mạng đồ thị nơron
giải quyết bài toán CF. Nhiều nỗ lực để phát triển một thuật toán đáng tin hơn các
phương thức truyền thống được đưa ra. Những nghiên cứu có khả năng xử lý các
vấn đề công nghiệp lớn mà không cần giả thiết tham số hoặc các thành phần thiếu
trong các máy/bộ phận bị nghẽn cổ chai.
Soleymanpour và cộng sự (2002) [43] áp dụng phương pháp mạng nơron hỗn độn
(TCCN) cho thiết kế CM. Thuật toán TCCN nhằm vào mục đích nhóm các thành
phần tương đồng và máy không tương đồng để cực tiểu tổng thành phần ngoại lệ.
Theo [3], một mạng được xây dựng và thuật toán đề xuất để thử nghiệm nhóm 18
19
vấn đề. Các kết quả được so sánh với các phương pháp khác nhau như: ART1 (là
mạng ART đơn giản với các giá trị nhập nhị phân), ART1 mở rộng, phương pháp
OSHN (Ortho-Synapse Hopfield Neuron Network). Kết quả là phương pháp đề xuất
có ba ưu điểm chính bao gồm: khả năng tránh các cực tiểu địa phương; khả năng
giải quyết các vấn đề có kích thước khác nhau có cùng tập giá trị tham số; và thời
gian tính toán giảm thiểu.
Wang (2003) [44] trình bày một thuật toán phân công tuyến tính cho ô máy và hình
thành họ bộ phận cho việc thiết kế các hệ thống CF. Đầu tiên, giải pháp trình bày
bằng việc quyết định họ bộ phận hoặc ô-máy được thể hiện bằng việc so sánh các hệ
số tương tự giữa các bộ phận và máy và tìm kiếm tập các bộ phận và máy ít tương
đồng. Bằng việc sử dụng nhóm thể hiện và các hệ số tương tự liên hệ nhau, mô hình
gán nhãn tuyến tính được hình thành để giải bài toán CFP cấp phát các bộ phận còn
lại cho máy và tối ưu về chỉ số tương tự. Dựa trên mô hình gán tuyến tính được hình
thành, thuật toán thành lập nhóm được phát triển.
Mahdavi, Javadi, Alipour và Slomp (2007) [45] đề xuất mô hình toán học mới cho
hình thành ô trong hệ thống CM (gọi là CMS – cellular manufacturing system), dựa
trên khái niệm về sử dụng các ô. Mục tiêu của mô hình là tối thiểu số lượng void
trong cell để đạt được tốc độ cao hơn về cell utilization. Kiểm chứng mô hình bằng
phần mềm LINGO 8 sử dụng phương pháp rẽ nhánh và biên (B&B). Năm 2008,
Wu, Chang và Chung đề xuất phương án đơn giản hiệu quả giả lập dựa trên kỹ thuật
annealing để hình thành các nhóm máy – bộ phận khi hệ thống sản xuất được thể
hiện bằng ma trận quan hệ giữa máy – bộ phận với trị 0 và 1.
Năm 2009, Iraj Mahdavi và cộng sự [1] đã đề xuất mô hình hệ phi tuyến với các
biến nguyên và mô hình được đề xuất giải cho bài toán có kích thước thật bằng
thuật toán di truyền. Và phương pháp hiệu quả nhóm (group efficacy) có kết quả tốt
hơn so với các phương pháp cell formation hiện tại.
Như vậy, bài toán CF được phát biểu theo một mô hình toán học dưới dạng bài toán
tối ưu. Đồng thời, bài toán CF được định hướng giải theo phương pháp heuristic với
các nghiên cứu liên quan. Dưới đây là tổng quan một số phương pháp tìm kiếm gần
20
đúng (heuristic).
2.2. Tổng quan về heuristic và tìm kiếm cục bộ
2.2.1 Tìm kiếm heuristic
Tìm kiếm heuristic là một kỹ thuật thông minh nhân tạo sử dụng tính chất gần đúng
cho việc tìm kiếm. Heuristic là luật có xác suất cho việc giải quyết một vấn đề. Các
phương pháp heuristic đóng vai trò lớn trong các chiến lược tìm kiếm cho nhiều bài
toán phức tạp. Các đặc điểm của một thuật toán heuristic:
- Không phải lúc nào cũng tìm được giải pháp tốt nhất.
- Tuy nhiên, tìm được giải pháp tốt trong thời gian hợp lý.
Từ đó, phương pháp heuristic thường được sử dụng để giải các bài toán nhằm đạt
đến hai yếu tố chính: thỏa mãn yêu cầu đưa ra và định hướng tăng cường hiệu quả
trong điều kiện: hoặc không tìm được thuật toán hay cách giải chính thức cho bài
toán; hoặc giải pháp có thuật toán nhưng thời gian kéo dài vô tận hay việc tính toán
cần khoảng thời gian rất lớn.
Về quy trình, phương pháp tìm kiếm heuristic bao gồm các bước sau:
- Bước 1: Sinh tập nghiệm có thể từ từ không gian bài toán hoặc từ các trạng
thái ban đầu.
- Bước 2: Kiểm tra để tìm ra các giải pháp thực so sánh với trạng thái đạt đến
các trạng thái mục tiêu.
- Bước 3: Nếu nhận được kết quả tốt thì dừng. Ngược lại lặp lại bước 1 để
phát sinh tập nghiệm có thể khác.
Với quan điểm trên, tư tưởng của heuristic được áp dụng trong nhiều lĩnh vực khác
do có các ưu điểm về: tốc độ tìm kiếm và có thể kết hợp các phương pháp khác. Tuy
nhiên, phương pháp cũng có một số nhược điểm là cần đến kiến thức, kinh nghiệm
cũng như chuyên gia nhận định vấn đề để xây dựng các nghiệm vì những ước tính
có thể nhận dạng được các vấn đề nhỏ mà không xử lý hoặc lường trước được các
vấn đề lớn phát sinh trong khi tìm kiếm.
Một số kỹ thuật về thuật toán heuristic được ứng dụng như sau: phương pháp thuần
heuristic (pure heuristic search), tìm kiếm chiều sâu (depth-first search), tìm kiếm
21
chiều rộng (breadth-first search), thuật toán A* ứng dụng trong tìm kiếm đường đi
ngắn nhất,
Hiện nay, heuristic được phát triển theo nhiều hướng khác nhau với các dạng như:
meta-heuristic và hyper-heuristic. Theo đó, hyper-heuristic được sử dụng trong việc
tìm kiếm hình thức liên quan đến các kỹ thuật máy học, các quá trình lựa chọn, tổ
hợp, phát sinh hoặc dựa theo một số loại heuristic cơ bản. Hyper-heuristic thường
áp dụng cho các nghiên cứu về xây dựng các hệ thống để xử lý phân loại các lớp bài
toán (hơn là chỉ xử lý một vấn đề).
2.2.2 Tìm kiếm meta-heuristic
Trong khoa học máy tính và toán học, phương pháp metaheuristic là tiến trình
heuristic mức cao để tìm, phát sinh và chọn phương án gần đúng với đầy đủ tiêu chí
tìm nghiệm tốt hơn cho một bài toán tối ưu. Phương pháp metaheuristic đặc biệt phù
hợp với các bài toán thiếu hoặc không đầy đủ thông tin hoặc các bài toán giới hạn
về khả năng tính toán. Phương pháp metaheuristic tạo mẫu tập nghiệm và thường
ứng dụng cho cả các bài toán tối ưu chưa được giải. Do đó, phương pháp
metaheuristic được sử dụng trong nhiều bài toán.
So sánh với các thuật toán tối ưu và các phương pháp lặp, metaheuristics không
đảm bảo nghiệm được giải là tối ưu toàn cục với một số bài toán. Nhiều phương
pháp metaheuristic được cài đặt dựa trên các kỹ thuật tối ưu ngẫu nhiên với các
“nghiệm” tìm thấy phụ thuộc trên tập biến ngẫu nhiên sinh ra. Trong các bài toán tối
ưu tổ hợp, bằng việc tìm kiếm trên tập nghiệm khả thi, metaheuristic có thể tìm thấy
nghiệm tốt với việc tính toán ít hơn các giải thuật tối ưu, lặp hoặc các giải thuật
heuristic đơn giản. Về phân loại, đến nay, metaheuristic được phân thành các loại
sau:
- Tìm kiếm cục bộ (local search) và tìm kiếm toàn cục (global search).
- Tìm nghiệm đơn (single solution) và tìm nghiệm quần thể (population-
based).
- Thuật toán lai (hybridization) và thuật toán thuần (memetic).
- Các thuật toán metaheristic song song (parallel metaheuristic).
22
- Các thuật toán metaheuristic theo cảm hứng của sinh vật theo tự nhiên (như:
các thuật toán đàn kiến - ant, đàn ong - bee, chim cu - cookie,).
Các giải thuật metaheuristics gồm các đặc tính sau:
- Có các chiến lược đề ra phục vụ tiến trình tìm kiếm.
- Mục tiêu là khám phá một cách tối ưu không gian tìm kiếm để tìm được các
giải pháp gần tối ưu.
- Các kỹ thuật sử dụng trong các thuật toán metaheuristic gồm cả các tiến
trình tìm kiếm cục bộ đơn giản đến các tiến trình học phức tạp.
- Các thuật toán metaheuristic đều là xấp xỉ (approximate) và thường là bất
định (non-deterministic).
- Lưu ý: metaheuristic không phải là việc xác định bài toán (problem-
specific).
2.2.3 Tìm kiếm cục bộ
Trong khoa học máy tính, tìm kiếm cục bộ, một nhánh nhỏ của meta-heuristic, là
một phương pháp heuristic để giải quyết các bài toán tính toán và tối ưu hóa. Tìm
kiếm cục bộ được sử dụng để tìm các giải pháp cực trị các tiêu chí giữa các giải
pháp đề xuất. Chi tiết hơn, tìm kiếm cục bộ (local search) là thuật toán lặp để di
chuyển từ một giải pháp S thành giải pháp S’ dựa trên cấu trúc lân cận được định
nghĩa. Và việc thay đổi các giải pháp đến khi vượt quá thời gian tìm kiếm hoặc giải
pháp có khả năng tối ưu nhất xuất hiện. Với ưu điểm sử dụng ít bộ nhớ và luôn tìm
kiếm được các “nghiệm” hợp lý trong không gian trạng thái liên tục/lớn, các giải
pháp tìm kiếm cục bộ điển hình được áp dụng trong nhiều ứng dụng như: bài toán
người bán hàng (TSP – Traveling Salesman Problem),... và các bài toán khác trong
khoa học máy tính (đặc biệt trong trí tuệ nhân tạo), trong toán học, điều khiển học,
sinh tin học...
Về quy trình, thông thường tìm kiếm cục bộ sẽ bao gồm bốn bước sau:
- Bước 1: Bước khởi tạo (initialisation) bằng việc chọn một nghiệm S ban đầu
và tính giá trị hàm mục tiêu F(S).
23
- Bước 2: Bước sinh các “lân cận” (neighbour generation) bằng việc chọn các
nghiệm “lân cận” S’ và tính các giá trị F(S’).
- Bước 3: Bước kiểm định chấp nhận (acceptance test) là kiểm định chấp nhận
sự di chuyển từ S sang S’. Nếu chấp nhận di chuyển này thì giải pháp S’ sẽ
thay thế S. Ngược lại, S vẫn giữ là giải pháp hiện hành.
- Bước 4: Kiểm định để dừng tìm kiếm (termination test) là bước quyết định
thuật toán có dừng hay không. Nếu dừng, đầu ra phải là một trong những giải
pháp tối ưu. Ngược lại, thuật toán tiếp tục tìm kiếm những “lân cận” như
bước 1.
Hiện tại, bốn kỹ thuật tìm kiếm cục bộ bao gồm: iterative improvement (kỹ thuật
hill climbing hoặc greedy local search), threshold accepting (kỹ thuật gradient
method), Simulated Annealing và kỹ thuật tìm kiếm Tabu search (thuộc nhóm thuật
toán di truyền).
Các thuật toán đều tương đồng ở các bước 1, 2 và 4. Với bước 3, việc chấp nhận
một giải pháp S’ không tối ưu hơn S là đặc điểm của từng giải pháp như bảng dưới
đây:
Bảng 2.4: Các dạng tìm kiếm cục bộ
TT Kỹ thuật tìm
kiếm cục bộ
Điều kiện chấp nhận
S’
Giải thích thêm
1 Iterative
Improvement
F(S’) < F(S)
2 Threshold
Accepting
F(S’) 0, là giá trị threshold. α
ban đầu mang giá trị lớn, sau sẽ bé
dần
3 Simulated
Annealing
Nếu : chọn
Nếu : chọn với
Sử dụng Kiểm định chấp nhận xác
suất (Probabilistic Acceptance Test).
T thay đổi trong suốt thuật toán. T ban
đầu lớn. Sau đó T sẽ nhỏ dần
24
TT Kỹ thuật tìm
kiếm cục bộ
Điều kiện chấp nhận
S’
Giải thích thêm
xác suất với T là
tham số theo thời gian.
4 Tabu Search Chấp nhận nghiệm S’
“tồi” hơn
Mọi nghiệm được lưu vào trong danh
sách tabu list để theo dõi các nghiệm
mới phát sinh. Do đó, chúng ta phải
biện luận thêm các nghiệm đã hoặc
chưa thuộc về danh sách nghiệm
(non-tabu).
Theo đó, cả hai thuật toán Threshold Accepting và Simulated Annealing có thể
quay lại nghiệm đã duyệt. Và giải pháp để việc tìm nghiệm không bị lặp là chúng ta
tạo ra một danh sách (gọi là tabu list). Các giải pháp mới được chấp nhận sẽ được
đưa vào trong danh sách. Với phương án tabu search, việc tìm kiếm sẽ loại bỏ được
những cực trị trong khu vực nhỏ để tiến đến cực trị toàn cục.
Mặt khác, về phân lớp, hai lớp tìm kiếm cục bộ bao gồm: tìm kiếm cục bộ trên một
phần miền nghiệm (partial solutions) và tìm kiếm cục bộ dựa trên toàn bộ miền
nghiệm (complete solution).
2.4. Các thuật toán giải gần đúng CFP
Nhánh nhóm thuật toán metaheuristic phát triển rực rỡ trong những năm gần đây
với nhiều ưu điểm như độc lập thông tin, uyển chuyển và hiệu quả, ẩn song song,
đã góp phần thúc đẩy các nghiên cứu giải bài toán CF trong CM bằng kỹ thuật thuật
toán di truyền. Là một trong những phương pháp metaheuristic, thuật toán di truyền
(GA – genetic algorithm) là một trong những giải pháp tối ưu mới để bắt chước các
tiến trình tự nhiên để tạo các tiến trình tối ưu (Goldberg, 1989).
25
Hình 2.3: Minh họa về một chuỗi “nhiễm sắc thể”
Theo đó, dựa trên tính tương tự của các hiện tượng chọn lọc tự nhiên trong sinh học,
đầu tiên, một cấu trúc nhiễm sắc thể (chromesome) để thể hiện các giải pháp cho
vấn đề. Sau đó, các thành phần của quần thể được chọn, dựa trên hàm ước lượng,
gọi là hàm phù hợp (fitness), liên quan đến giá trị mỗi thành phần dựa trên hàm mục
tiêu. Giá trị phù hợp cao hơn của thành phần thì sẽ được ưu tiên chọn. Do đó, các cá
nhân ít phù hợp sẽ được thay thế bằng cái phù hợp hơn. Các phép toán về di truyền
được áp dụng để chọn các thành viên tạo ra thế hệ quần thể mới. Tiến trình này
được lặp lại khi đến số lượng các bước lặp nhất định. Thuật toán di truyền do
Holland phát triển (1975) được sử dụng rộng rãi như một phương pháp thay thế cho
việc giải các bài toán tối ưu trong các ứng dụng khác nhau như kỹ thuật, kinh tế,
nông nghiệp, kinh doanh, truyền thông và sản xuất (theo Gen và Cheng, 1997 [46];
Goldberg, 1989 [47]; Man, Tang và Kwong, 1999 [48]). Như một phương pháp tìm
kiếm chung, ưu điểm một thuật toán di truyền là kết hợp các thành tố tìm kiếm có
hướng và ngẫu nhiên để khám phá không gian tìm kiếm để đạt được kết quả tốt
nhất. Các nghiên cứu về thuật toán di truyền áp dụng đối với bài toán CF trong CM
gồm:
- Venugopal và Narendran (1992) [50] mô hình CFP dựa trên cực tiểu sự biến
đổi tổng tải trên cell sử dụng thuật toán di truyền.
- Joines, Culbreth và King (1996) [27] sử dụng quy hoạch nguyên cho bài toán
thiết kế cell và sử dụng thuật giải di truyền để giải mô hình sau đó.
- Zhao và Wu (2000) [51] thể hiện thuật giải di truyền cho CF với nhiều đường
đi (route) và đa mục tiêu.
- Onwubolu và Mutingi (2001) [51] phát triển giải thuật di truyền để giải sự
thay đổi của tải trong ô.
- Brow và Sumichrast (2001) [53] đề cập đến bài toán nhóm tổng quát, nghĩa
là mỗi bộ phận có hơn một tiến trình route. Bài toán được hình thành như bài
26
toán quy hoạch nguyên và đề xuất tiến trình giải quyết dựa trên một thuật
toán di truyền.
- Goncalves và Resende (2004) [54] trình bày một giải pháp mới để phân “họ”
machine cell và sản phẩm. Phương pháp kết hợp heuristic tìm kiếm cục bộ
với một thuật toán di truyền.
- Ngoài ra còn có các nghiên cứu của Papaioannou và Wilson (2010).
Về nguyên lý, thuật toán di truyền được cài đặt theo nhiều cách khác nhau với 06
bước như sau:
Hình 2.4: Lược đồ công việc khung tổng quát cho thuật toán di truyền
- Bước 1: Xây dựng lược đồ mã hóa (coding). Bước này để mã hóa các lựa
chọn thành dãy.
27
- Bước 2: Khởi tạo quần thể (create initial population).
- Bước 3: Tính toán, đánh giá và ước lượng mức độ phù hợp của mỗi thành
phần trong quần thể.
- Bước 4: Luật/Thủ tục chọn. Xác định nghiệm đã được chọn lựa theo các giá
trị tham số điều khiển nhất định (như: kích thước quần thể, số lần lặp tối đa,
các xác suất cho phép toán di truyền).
- Bước 5: Nếu nghiệm được chọn thì tiến hành giải mã và kết xuất phương án
(problem decoding) và kết thúc tiến trình. Ngược lại sang bước 6.
- Bước 6: Phép toán di truyền để tạo dựng cho thế hệ mới bằng các phép toán
như: lai chéo (crossover), đột biến (mutation), và lặp bước 3. Lưu ý: phép
đột biến là thay đổi nhỏ (thường là đảo bit ngẫu nhiên) tại một vị trí trong
chuỗi gen.
Hình 2.5: Minh họa một phép “lai” crossover
2.4.1 Xây dựng lược đồ mã hóa
Với bất kì một cài đặt của GA, bước đầu tiên là định các đặc tính của giải pháp
trong định dạng chuỗi nhiễm sắc thể. Mỗi nhiễm sắc thể được tạo từ các gen tuần tự
từ các chữ cái nhất định. Chữ cái có thể là số nhị phân, số thực, biểu tượng hoặc ma
trận (theo Goldberg, 1989 [47]). Việc thể hiện lược đồ quyết định không chỉ là tính
ảnh hưởng của bài toán được cấu trúc mà còn thể hiện hiệu quả của phép toán di
truyền được sử dụng.
Ví dụ: dưới đây là một loại mã được sử dụng trong một nghiên cứu như sau: mỗi
28
gen thể hiện số lượng ô mà máy hoặc bộ phận phụ thuộc (Chu và Tsai, 2001 [48];
Venugopal và Narendra, 1992 [49]). Sự thể hiện nhiễm sắc thể gồm hai phần: phần
đầu thể hiện các bộ phận và phần hai thể hiện các máy. Nhiễm sắc thể sử dụng cho
bài toán CF có thể được thể hiện như bên dưới với Pi là nhóm với bộ phận i được
gán và Mj thể hiện nhóm mà máy j được gán:
P1 P2 P3 P4 ... Pp M1 M2 M3... Mm
Khi đó, xét một nhiễm sắc thể cho một vấn đề CF với 10 bộ phận và 10 máy:
2 2 2 3 3 1 1 1 2 2 2 2 1 1 2 3 3 1 1 1
Nhiễm sắc thể trên nghĩa là: 3 ô đầu trong phần 1 thuộc về cell 2, máy thứ 3 thuộc
cell 1,... Và như thế, ô 1 chứa các bộ phận {6, 7, 8} và máy {3, 4, 8, 9, 10}, ô 2
chứa các bộ phận {1,2,3,9,10} và máy {1,2,5}, và ô 3 chứa các bộ phận {4,5} và
máy {7,8}. Lưu ý rằng phần bộ phận và máy trong nhiễm sắc thể đã cố định theo
kích thước của bài toán.
2.4.2 Khởi tạo quần thể
Bước thứ hai trong việc cài đặt GA là phát sinh tập nghiệm ban đầu, gọi là quần thể.
Số lượng nghiệm ban đầu gọi là kích thước quần thể. Quần thể khởi tạo được phát
sinh một lần duy nhất tại thời điểm phát sinh của thuật toán. Kích thước của quần
thể quyết định đến việc cài đặt thuật toán GA. Nếu kích thước quần thể nhỏ, chúng
ta không thể nhận nghiệm tốt. Ngược lại, nếu kích thước quần thể lớn, việc tính toán
sẽ chiếm nhiều thời gian (Back, Fogel và Michalawecz, 1997 [50]).
Ví dụ: trong bài toán CFP, một tiến trình đặc biệt được phát triển để phát sinh quần
thể khởi tạo ngẫu nhiên thỏa các ràng buộc các biến quyết định, nghĩa là mỗi máy
và mỗi bộ phận chỉ được gán vào một ô.
Nhắc lại ràng buộc các biến quyết định được phát biểu trong chương 1:
29
2.4.3 Mức độ tuân theo độ phù hợp của mỗi thành phần trong quần thể
Trong cài đặt GA, hàm phù hợp được sử dụng để ước tính và tái tạo ra các nhiễm
sắc thể mới gọi là các con cháu cho các thế hệ kế tiếp. Mục tiêu của hàm phù hợp là
đo đạc độ "tốt" của ứng viên nghiệm trong quần thể so với hàm mục tiêu và các
ràng buộc trong mô hình. Giá trị phù hợp của các nhiễm sắc thể trong thuật toán đề
xuất là tổng số voids và EE trong tất cả các ô.
2.4.4 Luật chọn
Goldberg (1989 [47]) đề xuất luật chọn Roulette Wheel theo tiêu chí cá nhân “phù
hợp” nhất được xem xét thường xuyên để tạo ra “con cháu” và thế hệ tiếp theo. Mỗi
cá nhân được gán một xác suất chọn dựa trên giá trị phù hợp. Tuy các cá nhân có
xác suất chọn lớn hơn sẽ được chọn nhiều hơn nhưng tất cả các cá thể trong quần
thể đều có cơ hội được chọn. Do đó, chúng ta có thể chọn các “bố mẹ” ngẫu nhiên
sau khi xếp hạng các cá thể dựa trên sự phù hợp và đặt trọng số xác suất chọn cho
mỗi cá thể trong quần thể.
2.4.5 Phép toán di truyền
Mục đích các phép toán di truyền là tạo ra các thế hệ “con cháu” mới trên các “bố
mẹ” được chọn lọc. Với bài toán CFP, phép toán di truyền có thể bao gồm:
Phép toán “lai” (crossover): là phép toán kết hợp thông tin của bố lẫn mẹ để
“con cái” có tính chất “giống” cả bố lẫn mẹ. Theo nghiên cứu của Goldberg
(1989) [47], thông thường, các kỹ thuật crossover là: 1-điểm, 2-điểm và đồng
dạng. Tuy nhiên, nếu ứng dụng phép toán này có sự sai về nhiễm sắc thể nào
đó, những sự thay đổi như các phương pháp PMX (crossover một phần), OX
(order crossover), CX (cycle crossover) sẽ được sử dụng. Tóm lại, đây là
phép toán để tạo ra “con” có tính chất giống với “bố mẹ”. Ví dụ với bài toán
CFP, hai phép crossover có thể như sau:
- Crossover đơn (simple crossover): với 2 cá thể “bố mẹ” được lựa chọn ngẫu
nhiên từ quần thể. Khi đó, chọn ngẫu nhiên một số r có giá trị từ 1 đến M+P
(với M là số lượng máy và P là số lượng bộ phận). Khi đó, gen từ r đến M+P
của bố mẹ sẽ đổi nhau để tạo ra 2 nhiễm sắc thể con mới.
30
Hình 2.6: Minh họa về phép toán lai đơn giản (simple crossover)
- Crossover đồng dạng (uniform crossover): với mỗi cặp “bố mẹ” được chọn
ngẫu nhiên, một phần nhỏ gen được chọn ngẫu nhiên sẽ thay đổi cho nhau.
Hình 2.7: Minh họa phép toán lai đồng dạng (uniform crossover)
Phép toán đột biến (mutation operator): phép toán sẽ biến đổi giá trị của gen
ngẫu nhiên dựa trên những xác suất nhỏ của phép biến đổi. Phép biến đổi
ngẫu nhiên và hoàn toàn không có định hướng tối ưu cho nghiệm. Ví dụ, với
một cá thể từ quần thể và một giá trị r (1 ≤ r ≤ M+P), chúng ta có thể tạo quy
luật biến đổi ngẫu nhiên với một ar là gen thứ r của nhiễm sắc thể được chọn:
Nếu ar = 1
Gán ar = C
31
Ngược lại:
Nếu ar = C
Gán ar = 1
Ngược lại
Phát sinh một giá trị ngẫu nhiên rx nào đó từ 0 đến 1;
Nếu rx ≤ 0.5
ar = ar – 1
Ngược lại
ar = ar + 1
2.4.6 Các giá trị tham số (để điều khiển nhất định)
Thông thường bao gồm: kích thước quần thể, số lượng thế hệ, số lượng vào lặp, các
xác suất thực hiện các phép toán crossover và mutation. Các giá trị trên sẽ tác động
đến không gian nghiệm. Ví dụ: việc chọn kích thước quần thể sẽ thay đổi tùy theo
ứng dụng và số lần lặp sẽ ảnh hưởng đến tiến trình hội tụ của thuật toán di truyền và
thuật toán crossover sẽ tác động đến hiệu quả của việc lai tạo bên cạnh phép toán
mutation sẽ là nền tảng cho sự đa dạng của quần thể. Lưu ý: thông thường xác suất
cho phép toán mutation rất nhỏ.
Ví dụ: Bộ tham số ứng dụng thuật toán di truyền của nghiên cứu của Araj Mahdavi
và cộng sự (2009) [1]:
Bảng 2.5. Bộ giá trị tham số ứng dụng thuật toán di truyền trong các thuật toán
TT Tham số Giá trị tham số
1 Kích thước nhiễm sắc thể M + P
2 Kích thước quần thể 1000
3 Xác suất phép toán lai chéo (crossover) 0.70 – 0.80
4 Xác suất phép toán đột biến (mutation) 0.01 – 0.1
5 Số lượng thế hệ phát sinh Biến thay đổi
Tóm lại, trong chương này các phương pháp về tìm kiếm heuristic và meta-heuristic
32
được nêu lên cùng với tổng quan các phương pháp, đặc biệt là thuật toán di truyền,
để giải quyết bài toá
Các file đính kèm theo tài liệu này:
- luan_van_tiep_can_thuat_toan_meta_heuristic_giai_bai_toan_to.pdf