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

ứng dụng giải thuật gene trong bài toán tối ưu hóa

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 (2.28 MB, 34 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
THÀNH PHỐ HỒ CHÍ MINH

CÔNG TRÌNH NGHIÊN CỨU KHOA HỌC CẤP TRƯỜNG

ỨNG DỤNG GIẢI THUẬT GENE
TRONG BÀI TOÁN TỐI ƯU HÓA
S

K

C

0

0

3

9

5

9

MÃ SỐ: T43-2003

S KC 0 0 1 5 3 8

Tp. Hồ Chí Minh, 2005




BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM


ĐỀ TÀI NCKH CẤP TRƯỜNG

ỨNG DỤNG GIẢI THUẬT GENE TRONG
BÀI TOÁN TỐI ƯU HÓA
MS: T43-2003

THUỘC NHÓM NGÀNH : KHOA HỌC KỸ THUẬT
NGƯỜI CHỦ TRÌ
: GVC ThS NGUYỄN ĐỨC TÔN
NGƯỜI THAM GIA
: GVC ThS ĐẶNG THANH TÂN
: Ths VÕ PHƯƠNG THỨC
ĐƠN VỊ
: KHOA KỸ THUẬT CƠ SỞ

TPHCM 2/2005


Đề tài NCKH cấp trường: Ứng dụng giải thuật gene trong bài toán tối ưu hóa

MỤC LỤC
1. Đối tượng nghiên cứu

1


2. Cơ sở lý thuyết

3

2.1. Thuật giải di truyền đơn giản

3

2.2 Thuật giải di truyền trong tối ưu kết cấu

13

3. Áp dụng và kết quả

16

4. Kết luận và hướng phát triển

28

4.1 Kết luận

28

4.2 Hướng phát triển

29

Tài liệu tham khảo


30

Phụ lục

PL

Trang 1


Đề tài NCKH cấp trường: Ứng dụng giải thuật gene trong bài toán tối ưu hóa

ĐỀ TÀI:

ỨNG DỤNG GIẢI THUẬT GENE TRONG
BÀI TOÁN TỐI ƯU HÓA
1. ĐỐI TƯNG NGHIÊN CỨU
Khi sử dụng thiết kế truyền thống, người thiết kế kết cấu phải đương đầu với một số khó
khăn:
 Kỹ năng và kinh nghiệm của người thiết kế, điều này có thể dẫn đến các thiết
kế hoàn toàn khác nhau.
 Sự phức tạp của kết cấu xem xét gây khó khăn phải phân tích lại và thiết kế lại
liên tiếp.
 Khó khăn trong việc xử lý các trường hợp tải trọng có thể xảy ra.
 Công năng kết cấu khiến người thiết kế không đạt được thiết kế kinh tế.
 Có nhiều phương pháp thiết kế và phân tích cho người thiết kế lựa chọn, và
điều này khiến họ bối rối trong việc chọn phương pháp thích hợp.
Vì vậy, thiết kế tối ưu trở thành một đề tài nghiên cứu hấp dẫn và được các chuyên gia
đề nghò sử dụng khi thiết kế. Thiết kế tối ưu bao gồm các vấn đề chọn thông số hình học
và đặc tính cường độ cơ học cho cấu kiện kết cấu. Sự lựa chọn này bao gồm việc tìm

kiếm lời giải cực trò thoả mãn các tiêu chuẩn cho trước, sự tìm kiếm được thực hiện bằng
cách khách quan và hợp lý, điều này không thể dựa trên trực giác hay năng lực của
người thiết kế. Vì vậy thiết kế tối ưu là bài toán thiết kế tổng quát. Nó bao gồm việc lựa
chọn kích thước tiết diện và kiểm tra theo tiêu chuẩn yêu cầu. Nhiệm vụ của thiết kế tối
ưu là bao quát tất cả các thông số kết cấu để lời giải của bài toán tối ưu phải là thiết kế
kết cấu hoàn hảo.
Thuật giải di truyền đáp ứng được tất cả những yêu cầu đó. Thuật giải di truyền (GA) là
thuật giải tìm kiếm trên cơ chế chọn lọc và di truyền tự nhiên. Lý thuyết và thực tiễn đã
chứng minh tính hiệu quả và độ tin cậy của GA đối với các không gian bài toán phức
tạp.
GA là kỹ thuật giúp giải quyết vấn đề bắt chước theo sự tiến hoá của sinh vật, trong
điều kiện quy đònh sẵn của môi trường, GA không chú trọng đến giải pháp duy nhất và
chính xác như các phương pháp tìm kiếm cổ điển, trái lại GA xét đến toàn bộ các giải
pháp và lựa chọn lấy giải pháp tốt nhất nếu không nói là tối ưu.
GA là một thuật giải tìm kiếm theo nhóm (còn gọi là quần thể). GA tuy dựa trên tính
ngẫu nhiên nhưng có hướng dẫn bởi hàm thích nghi, GA không phải là thuật toán ngẫu
Trang 2


Đề tài NCKH cấp trường: Ứng dụng giải thuật gene trong bài toán tối ưu hóa

nhiên đơn giản, GA khai thác hiệu quả thông tin tiền sử chứa trong các chuỗi mã hoá để
khám phá những điểm tìm kiếm mới nhằm cải thiện cơ hội đạt tới một giải pháp tốt hơn.
Ưu điểm của GA có thể tóm tắt như sau:
 GA làm việc dưới dạng mã hoá các biến thiết kế, điều này cho phép áp dụng
đối với các biến liên tục cũng như biến rời rạc.
 GA làm việc với các hàm, không cần các thông tin về đạo hàm.
 Khả năng áp dụng đối với nhiều dạng kết cấu phức tạp, dưới nhiều điều kiện
và tải trọng.
 Khả năng cho nhiều lời giải, cho phép lựa chọn lời giải phù hợp nhất.


2. CƠ SỞ LÝ THUYẾT [8]
2.1. Thuật giải di truyền đơn giản
2.1.1. Cơ chế thực hiện của thuật giải di truyền
a) Mã hóa cách biểu diễn
Bước đầu tiên trong thuật giải di truyền là mã hóa, ánh xạ một xâu với chiều dài hữu
hạn sang các tham biến của bài toán tối ưu.
Tham biến x thuộc [Umin; Umax] sẽ được biểu diễn bởi chuỗi nhò phân có chiều dài L. L
bit mã hóa x ứng với giá trò trong miền [0; 2L] sẽ được ánh xạ lên các giá trò thuộc miền
xác đònh [Umin; Umax]. Theo cách này chúng ta có thể kiểm soát miền giá trò của các biến
và tính chính xác của chúng. Tỷ lệ co dãn của ánh xạ này được cho bởi:

g

U max  U min
2L 1

(2.1)

Ta thấy giá trò x tương ứng với mã string2 sẽ được xác đònh theo công thức:
x = Umin + decimal(string2)*g

(2.2)

trong đó decimal(string2) biểu diễn giá trò thập phân của chuỗi nhò phân string2.
Để mã hóa tập các biến, ta ghép nối mã các biến riêng lẻ lại với nhau. Mỗi mã ứng với
một chiều dài các bit riêng và xác đònh một giá trò tương ứng của nó nằm trong miền
[Umin; Umax].
Thí dụ: Mã hóa cho 10 biến được cho bởi:
0001 | 0101 | … | 1100 | 1111

U1 | U2 |…

U9 | U10

Trong đó 4 bit đầu tiên tương ứng với biểu diễn của biến thứ nhất, 4 bit cuối cùng tương
ứng với biểu diễn của biến cuối cùng.
b) Khởi tạo quần thể

Trang 3


Đề tài NCKH cấp trường: Ứng dụng giải thuật gene trong bài toán tối ưu hóa

Chỉ đơn giản tạo pop_size (số cá thể trong quần thể) nhiễm sắc thể ngẫu nhiên
theo từng bit. Theo quan điểm của thuật giải tìm kiếm thì việc tạo pop_size cá thể cũng
như việc tìm kiếm theo pop_size hướng trong không gian tìm kiếm.
c) Tiến trình chọn lọc
Toán tử chọn lọc là thao tác xử lý trong đó mỗi cá thể được bảo lưu cho vòng tạo
sinh tiếp sau tùy thuộc vào giá trò thích nghi của nó. Toán tử này là một phiên bản mô
phỏng của quá trình chọn lọc tự nhiên. Giá trò thích nghi được xác đònh đối với mỗi cá
thể trong quần thể. Ta dùng bánh xe quay Ru lét với các rãnh được đònh kích thước theo
độ thích nghi. Ta xây dựng bánh xe Ru lét như sau (giả đònh rằng, các độ thích nghi đều
dương, trong trường hợp ngược lại thì ta có thể dùng vài phép biến đổi tương ứng để đònh
lại tỷ lệ sao cho các độ thích nghi đều dương):
Tiến trình chọn lọc được thực hiện bằng cách quay bánh xe Ru lét pop_size lần,
mỗi lần chọn một nhiễm sắc thể từ quần thể hiện hành vào quần thể mới theo cách sau:
 Phát sinh ngẫu nhiên một số r trong đoạn [0,1]
 Nếu r < q1 thì chọn nhiễm sắc thể đầu tiên (v1), ngược lại thì chọn nhiễm
sắc thể thứ i, vi (i=2…pop_size) sao cho qi1  r  qi .
Hiển nhiên có thể sẽ có một số nhiễm sắc thể được chọn nhiều lần. Điều này phù

hợp với lý thuyết sơ đồ: các nhiễm sắc thể tốt nhất sẽ có nhiều bản sao hơn, các nhiễm
sắc thể trung bình không thay đổi, các nhiễm sắc thể kém nhất sẽ chết đi.
d) Toán tử lai tạo
Một trong những tham số của hệ di truyền là xác suất lai pc. Xác suất này cho ta
số nhiễm sắc thể pop_size xpc mong đợi, các nhiễm sắc thể này được dùng trong tiến
trình lai tạo. Ta tiến hành theo cách sau đây:
 Phát sinh ngẫu nhiên một số r trong đoạn [0,1].
 Nếu r < pc thì chọn nhiễm sắc thể đó để lai tạo.
Bây giờ ta ghép đôi các nhiễm sắc thể đã chọn được một cách ngẫu nhiên: đối với
mỗi cặp nhiễm sắc thể được ghép đôi, ta phát sinh ngẫu nhiên một số nguyên pos trong
đoạn [1, m-1] (m là tổng chiều dài – số bit – của một nhiễm sắc thể). Số pos cho biết vò
trí của điểm lai. Đây được gọi là cách lai đơn điểm.
Hai nhiễm sắc thể:
(b1b2… bposbpos+1…bm) và
(c1c2… cposcpos+1…cm)
được thay bằng cặp con của chúng:
(b1b2… bposcpos+1…cm) và

Trang 4


Đề tài NCKH cấp trường: Ứng dụng giải thuật gene trong bài toán tối ưu hóa

(c1c2… cposbpos+1…bm)
e) Toán tử đột biến
Phép đột biến được thực hiện trên cơ sở từng bit. Một tham số khác của hệ thống
di truyền pm, cho ta số bit đột biến pop_size xpm mong đợi. Mỗi bit (trong tất cả các
nhiễm sắc thể trong quần thể) có cơ hội đột biến như nhau, nghóa là đổi từ 0 thành 1
hoặc ngược lại. Đối với mỗi nhiễm sắc thể trong quần thể hiện hành (nghóa là sau khi
lai) và đối với mỗi bit trong nhiễm sắc thể ta tiến hành theo cách sau đây:

 Phát sinh ngẫu nhiên một số r trong đoạn [0,1].
 Nếu r < pm thì đột biến bit đó.
Sau quá trình chọn lọc, lai và đột biến, quần thể mới đến lượt lượng giá kế tiếp
của nó. Lượng giá này được dùng để xây dựng phân bố xác suất (cho tiến trình chọn lựa
kế tiếp), nghóa là, để xây dựng lại bánh xe Ru lét với các rãnh được đònh kích thước theo
các giá trò thích nghi hiện hành. Phần còn lại của tiến hóa chỉ là lặp lạ i chu trình của
những bước trên.
2.1.2. Nguyên lý hoạt động của thuật giải di truyền
Nền tảng lý thuyết của thuật giải di truyền dựa trên biểu diễn chuỗi nhò phân và
lý thuyết sơ đồ. Một sơ đồ là một chuỗi, dài bằng chuỗi nhiễm sắc thể, các thành phần
của nó có thể nhận một trong các giá trò trong tập ký tự biểu diễn gen hoặc một ký tự đại
diện ‚*‛. Sơ đồ biểu diễn một không gian con của không gian tìm kiếm. Không gian con
này là tập tất cả các chuỗi trong không gian lời giải mà với mọi vò trí trong chuỗi, giá trò
của gen trùng với giá trò của sơ đồ; ký tự đại diện ‚*‛ có thể trùng khớp với bất kỳ ký tự
biểu diễn gen nào.
Thí dụ, các chuỗi và sơ đồ có chiều dài 10. Sơ đồ (*111100100) sẽ khớp với hai
chuỗi:
{(0111100100), (1111100100)}
và sơ đồ (*1*1100100) sẽ khớp với 4 chuỗi
{(0101100100), (0111100100)}, (1101100100), (1111100100)}}
Đương nhiên, sơ đồ (1001110001) chỉ khớp với chính nó và sơ đồ (**********)
khớp với tất cả các chuỗi có chiều dài 10. Rõ ràng là mỗi sơ đồ cụ thể có tương ứng 2 r
chuỗi, với r là số ký tự đại diện ‘*’ có trong sơ đồ. Mặt khác, mỗi chuỗi chiều dài m sẽ
khớp với 2m sơ đồ. Thí dụ, xét chuỗi (1001110001). Chuỗi này phù hợp với 210 sơ đồ sau:
(1 0 0 1 1 1 0 0 0 1)
(* 0 0 1 1 1 0 0 0 1)
(1 * 0 1 1 1 0 0 0 1)

Trang 5



Đề tài NCKH cấp trường: Ứng dụng giải thuật gene trong bài toán tối ưu hóa

(1 0 * 1 1 1 0 0 0 1)


(1 0 0 1 1 1 0 0 0 *)
(* * 0 1 1 1 0 0 0 1)
(* 0 * 1 1 1 0 0 0 1)


(1 0 0 1 1 1 0 0 * *)
(* * * 1 1 1 0 0 0 1)


(* * * * * * * * * *)
Một chuỗi chiều dài m sẽ có tối đa 2m sơ đồ. Trong một quần thể kích thước n, có
thể có tương ứng từ 2m đến n x 2m sơ đồ khác nhau.
Các sơ đồ khác nhau có những đặc trưng khác nhau. Các đặc trưng này thể hiện
qua hai thuộc tính quan trọng: bậc và chiều dài xác đònh.
 Bậc của sơ đồ S (ký hiệu o(S)) là số các vò trí 0 và 1 có trong sơ đồ. Đây
chính là các vò trí cố đònh (không phải là những vò trí của ký tự đại diện)
trong sơ đồ. Nói cách khác, bậc là chiều dài của chuỗi trừ đi số ký tự đại
diện. Bậc xác đònh đặc trưng của sơ đồ. Thí dụ 3 sơ đồ chiều dài 10 sau:
S1 = (* * * 0 0 1 * 1 1 0)
S2 = (* * * * 0 0 * * 0 *)
S3 = (1 1 1 0 1 * * 0 0 1)
Có bậc tương ứng là o(S1)=6; o(S2)=3; o(S3)=8.
Khái niệm bậc của sơ đồ giúp cho việc tính xác suất sống còn của sơ đồ do ảnh
hưởng của đột biến.

 Chiều dài xác đònh của sơ đồ S (ký hiệu là (S)) là khoảng cách giữa hai
vò trí cố đònh ở đầu và cuối. Nó đònh nghóa ‘độ nén’ của thông tin chứa
trong một sơ đồ. Thí dụ:
(S1)=10-4=6; (S2)=9-5=4; (S3)=10-1=9.
Như vậy, một sơ đồ chỉ có một vò trí cố đònh duy nhất thì sẽ có chiều dài xác đònh
là 0.
Khái niệm chiều dài xác đònh của sơ đồ giúp tính xác suất sống còn của sơ đồ do
ảnh hưởng của phép lai.
Tiến trình mô phỏng tiến hoá của thuật giải di truyền là quá trình lặp gồm có 4
bước:
Trang 6


Đề tài NCKH cấp trường: Ứng dụng giải thuật gene trong bài toán tối ưu hóa



t  t 1

 Chọn P(t) từ P(t-1)
 Tái kết hợp P(t)
 Lượng giá P(t)
Bước 1 ( t  t  1 ) chỉ dơn giản đếm số thế hệ tiến hóa và bước cuối (lượng giá
P(t)) là lượng giá để tính độ thích nghi của các cá thể trong quần thể hiện hành. Hiện
tượng chủ yếu của chu trình tiến hóa xảy ra trong hai bước còn lại: chọn lọc và tái kết
hợp.
Chọn lọc:
Giả sử quần thể có kích thước popsize=20, chiều dài của chuỗi (cũng là chiều dài
của các sơ đồ) là m=33. Giả sử thêm rằng ở thế hệ thứ t quần thể gồm có các chuỗi sau
đây:

v1 = (100110100000001111111010011011111)
v2 = (111000100100110111001010100011010)
v3 = (000010000011001000001010111011101)
v4 = (100011000101101001111000001110010)
v5 = (000111011001010011010111111000101)
v6 = (000101000010010101001010111111011)
v7 = (001000100000110101111011011111011)
v8 = (100001100001110100010110101100111)
v9 = (011000000101100010110000001111100)
v10 = (000001111000110000011010000111011)
v11 = (011001111110110101100001101111000)
v12 = (110100010111101101000101010000000)
v13 = (111011111010001000110000001000110)
v14 = (010010011000001010100111100101001)
v15 = (111011101101110000100011111011110)
v16 = (110011110000011111100001101001011)
v17 = (011010111111001111010001101111101)
v18 = (011101000000001110100111110101101)
v19 = (000101010011111111110000110001100)
v20 = (101110010110011110011000101111110)

Trang 7


Đề tài NCKH cấp trường: Ứng dụng giải thuật gene trong bài toán tối ưu hóa

Đặt (S,t) là số chuỗi trong quần thể ở thế hệ t phù hợp với sơ đồ S. Thí dụ đối
với sơ đồ:
S0 = (****111**************************)
thì (S0,t) = 3 vì có 3 chuỗi v13, v15, v16 phù hợp với sơ đồ S0. Chú ý rằng bậc của

sơ đồ S0, o(S0) = 3 và chiều dài xác đònh của nó o(S0) = 7-5 = 2.
Gọi eval(S,t) là độ thích nghi của sơ đồ S ở thế hệ t. Giả sử có p chuỗi (vi1, …, vip)
trong quần thể phù hợp với sơ đồ S vào thời điểm t thì:
p

eval(S,t)=

 eval(vij )
1

p

(2.3)

Trong bước chọn lọc, một quần thể trung gian được tạo ra gồm pop-size = 20, các
chuỗi được chọn ra từ quần thể hiện hành. Các chuỗi được lựa chọn dựa vào độ thích
nghi của nó và được chép vào quần thể thế hệ mới. Chuỗi vi có xác suất được chọn là pi
= eval(vi)/F(t), trong đó F(t) là tổng độ thích nghi của toàn quần thể vào thời điểm t,
20

F(t)=  eval(vi ) .
i 1

Sau bước chọn lọc, ta có (S,t+1) chuỗi phù hợp với sơ đồ S.
Ta có:
(S,t+1) = (S,t)*pop_size*eval(S,t)/F(t)

(2.4)

Với F (t ) = F(t)/pop_size là độ thích nghi trung bình của quần thể, ta có thể viết lại

công thức trên thành:
(S,t+1) = (S,t)*eval(S,t)/ F (t )

(2.5)

Nói cách khác, số chuỗi trong quần thể tăng bằng với tỷ lệ độ thích nghi của sơ đồ
với độ thích nghi trung bình của quần thể. Điều này có nghóa là sơ đồ ‚trên trung bình‛
sẽ nhận được thêm số chuỗi trong quần thể kế tiếp, sơ đồ ‚dưới trung bình‛ nhận số
chuỗi giảm đi, còn sơ đồ trung bình vẫn giữ nguyên mức.
Nếu ta cho rằng sơ đồ S vẫn giữ trên trung bình % (nghóa là
eval(S,t)= F (t ) +* F (t ) ) thì:
(S,t) = (S,0)(1+)t

(2.6)

trong đó:  = (eval(S,t)- F (t ) )/ F (t ) )
 > 0 đối với sơ đồ trên trung bình
 < 0 đối với sơ đồ dưới trung bình

Trang 8


Đề tài NCKH cấp trường: Ứng dụng giải thuật gene trong bài toán tối ưu hóa

Như vậy, ta có thể nói rằng, chẳng những một sơ đồ ‚trên trung bình‛ nhận số
chuỗi tăng lên trong thế hệ kế tiếp mà nó cũng tiếp tục nhận số chuỗi tăng theo lũy thừa
trong các thế hệ kế tiếp.
Ta gọi phương trình (2.5) là phương trình tăng trưởng sinh sản của sơ đồ.
Trở về ví dụ trên. Vì có 3 chuỗi v13, v15, v16 (vào thời điểm t) phù hợp với sơ đồ
S0, độ thích nghi eval(S0) của sơ đồ là:

eval(S0, t) = (27.316702+30.060205+23.867227)/3 = 27.081378
và độ thích nghi trung bình của toàn quần thể là:
20

F(t )   eval(vi ) / pop _ size  387.776822/ 20  19.388841
i 1

và tỷ lệ độ thích nghi của sơ đồ S0 đối với độ thích nghi trung bình của quần thể
là:
eval(S0, t)/ F (t ) =1.396751
Điều này có nghóa là, nếu sơ đồ S0 trên trung bình, thì nó nhận số chuỗi tăng theo
lũy thừa trong các thế hệ kế tiếp. Đặc biệt, nếu sơ đồ S0 vẫn giữ trên trung bình do nhân
với hằng số 1.396751 thì vào thời điểm t+1, ta sẽ có 3*1.396751=4.19 chuỗi phù hợp với
sơ đồ S0 (nghóa là 4 hoặc 5), vào thời điểm t+2: 3*1.3967512 = 5.85 chuỗi như vậy
(nghóa là gần 6 chuỗi), vv…
Dễ thấy rằng, sơ đồ S0 như vậy xác đònh một phần hứa hẹn của không gian tìm
kiếm và số mẫu đại diện của nó trong quần thể sẽ tăng theo lũy thừa.
Ta sẽ kiểm tra dự đoán này vào thí dụ của ta, với sơ đồ S0. Trong quần thể vào
thời điểm t,
sơ đồ S0 phù hợp với 3 chuỗi v13, v15, v16. Sau quá trình chọn lọc, quần
thể mới gồm các nhiễm sắc thể sau:

v' 1 = (011001111110110101100001101111000) (v11)
v' 2 = (100011000101101001111000001110010) (v4)

v' 3 = (001000100000110101111011011111011) (v7)
v' 4 = (011001111110110101100001101111000) (v11)
v' 5 = (000101010011111111110000110001100) (v19)
v' 6 = (100011000101101001111000001110010) (v4)


v' 7 = (111011101101110000100011111011110) (v15)
v' 8 = (000111011001010011010111111000101) (v5)
v' 9 = (011001111110110101100001101111000) (v11)

v' 10 = (000010000011001000001010111011101) (v3)
v' 11 = (111011101101110000100011111011110) (v15)
Trang 9


Đề tài NCKH cấp trường: Ứng dụng giải thuật gene trong bài toán tối ưu hóa

v' 12 = (011000000101100010110000001111100) (v9)
v' 13 = (000101000010010101001010111111011) (v6)
v' 14 = (100001100001110100010110101100111) (v8)
v' 15 = (101110010110011110011000101111110) (v20)

v' 16 = (100110100000001111111010011011111) (v1)
v' 17 = (000001111000110000011010000111011) (v10)
v' 18 = (111011111010001000110000001000110) (v13)

v' 19 = (111011101101110000100011111011110) (v15)
v' 20 = (110011110000011111100001101001011) (v16)

Sơ đồ S0 bây giờ phù hợp với 5 chuỗi v' 7, v' 11, v' 18, v' 19, v' 20
Tuy nhiên, chỉ riêng phép chọn lọc thì không giới thiệu một điểm mới nào đáng
lưu tâm từ không gian tìm kiếm, chọn lọc chỉ sao chép một số chuỗi để hình thành quần
thể trung gian. Vì thế bước thứ hai của chu kỳ tiến hóa tái kết hợp, có nhiệm vụ giới
thiệu những cá thể mới trong quần thể. Điều này được thực hiện bởi các phép toán di
truyền: lai và đột biến. Ta lần lượt xem xét tác động của hai phép toán này trên một số
sơ đồ trong quần thể.

Phép lai:
Ta xét chuỗi sau:

v' 18 = (111011111010001000110000001000110)
phù hợp với tối đa 233 sơ đồ, cụ thể là chuỗi trên phù hợp với hai sơ đồ sau:
S0 = (****111***************************)
S1 = (111*****************************10)
Giả sử thêm rằng chuỗi này được chọn để thi hành phép lai và vò trí lai phát sinh
tại pos = 20. Rõ ràng là sơ đồ S0 vẫn tồn tại, nghóa là vẫn còn một con phù hợp với S0.
Lý do là tại vò trí lai này bảo tồn chuỗi ‘111’ trên các vò trí thứ 5, thứ 6, và thứ 7 của
chuỗi trong một đứa con. Các chuỗi:
v' 18 = (11101111101000100011 | 0000001000110)
v' 13 = (00010100001001010100 | 1010111111011)

sẽ sinh ra:

v' ' 18 = (11101111101000100011 | 1010111111011)
v' ' 13 = (00010100001001010100 | 0000001000110)

Tuy nhiên sơ đồ S1 có thể bò phá vỡ không con nào phù hợp với nó. Lý do là các
vò trí cố đònh ‘111’ ở đầu và và các vò trí cố đònh ‘10’ ở cuối được đặt vào con khác.

Trang 10


Đề tài NCKH cấp trường: Ứng dụng giải thuật gene trong bài toán tối ưu hóa

Rõ ràng là chiều dài xác đònh của sơ đồ đóng vai trò quan trọng trong xác suất bò
loại bỏ hay tồn tại của sơ đồ. Chú ý rằng chiều dài xác đònh của sơ đồ S 0 là (S0) = 2,
còn chiều dài xác đònh của sơ đồ S1 là (S1) = 32. Chiều dài xác đònh càng nhỏ thì sơ đồ

đó càng dễ tồn tại.
Các vò trí lai trong số m-1 vò trí có cơ hội được chọn ngang nhau. Điều đó có nghóa
là xác suất bò loại của sơ đồ S là:

pd (S ) 

 ( s)

(2.7)

m 1

Và xác suất tồn tại là:

p s (S )  1 

 (s)

(2.8)

m 1

Cụ thể, các xác suất tồn tại và bò loại của sơ đồ S0 và S1 là:
pd(S0) = 2/32; ps(S0) = 30/32; pd(S1) = 32/32 = 1; ps(S1) = 0.
Có một điều quan trọng cần lưu ý là chỉ có một số nhiễm sắc thể trải qua lai và
xác suất lai là pc. Điều này có nghóa xác suất tồn tại của sơ đồ thật sự sẽ là:

p s ( S )  1  pc

 (s)


(2.9)

m 1

Thí dụ với pc = 0.25 thì xác suất tồn tại của sơ đồ S0 là:
ps(S0) = 1-0.25*2/32 = 63/64 = 0.984375.
Cũng chú ý rằng ngay cả khi đã chọn một vò trí lai trong số các vò trí cố đònh trong
một sơ đồ, sơ đồ vẫn có cơ may tồn tại. Thí dụ, nếu cả hai chuỗi v' 13 và v' 18 đều bắt đầu
với ‘111’ và tận cùng bằng ‘10’, thì sơ đồ S1 vẫn tồn tại nhưng xác suất của hiện tượng
này rất nhỏ. Do đó ta nên hiệu chỉnh công thức xác suất tồn tại của sơ đồ:

p s ( S )  1  pc

 (s)

(2.10)

m 1

Như vậy, tác động kết hợp của chọn lọc và lai cho ta một dạng mới của phương
trình tăng trưởng của sơ đồ sinh sản:




 (S, t  1)   (S, t ).eval(S, t ) / F(t )1  pc .

 (S ) 


(2.11)
m  1

Phương trình trên cho biết kỳ vọng số chuỗi phù hợp với sơ đồ S trong thế hệ kế
tiếp là hàm của số chuỗi đúng của sơ đồ, về độ thích nghi tương đối củ sơ đồ và chiều
dài xác đònh của nó. Rõ ràng là chiều dàai trên trung bình có chiều dài xác đònh ngắn
vẫn có thể có số chuỗi cá thể khớp với nó và tốc độ tăng theo luỹ thừa.
Thí dụ đối với sơ đồ S0:

Trang 11


Đề tài NCKH cấp trường: Ứng dụng giải thuật gene trong bài toán tối ưu hóa

 (S ) 

.eval(S, t ) / F(t )1  pc .
 1.396751* 0.984375  1.374927
m  1

Điều này có nghóa là sơ đồ ngắn, trên trung bình S0 vẫn nhận được số chuỗi tăng
theo lũy thừa trong các thế hệ tiếp theo: vào lúc (t + 1) ta có 3*1.374927 = 4.12 chuỗi
phù hợp với S0. Vào lúc (t + 2) ta có 3*1.3749272 = 5.67 chuỗi như vậy.
Đột biến:
Phép toán kế tiếp được bàn đến là đột biến. Phép đột biến thay đổi một vò trí
trong nhiễm sắc thể một cách ngẫu nhiên với xác suất pm. Thay đổi từ 0 thành 1 hay
ngược lại. Rõ ràng là tất cả các vò trí cố đònh của sơ đồ phải giữ không đổi nếu sơ đồ
muốn tồn tại qua đột biến.
Thí dụ, xét một chuỗi trong quần thể, chẳng hạn như chuỗi:
v' 19 = (111011101101110000100011111011110)


và sơ đồ S0:
S0 = (****111***************************)
Giả sử thêm rằng, chuỗi v' 19 tham gia đột biến, nghóa là có ít nhất một bit bò đảo,
chẳng hạn tại vò trí thứ 8, nên kết quả của nó:
v' 19 = (111011100101110000100011111011110)

vẫn phù hợp với sơ đồ S0. Nếu các vò trí đột biến được chọn là từ 1 đến 4 hay từ 8
đến 33, thì chuỗi kết quả vẫn phù hợp vớ S0. Chỉ 3 bit (5, 6, 7) là quan trọng: đột biến ít
nhất một trong các bit này sẽ loại bỏ sơ đồ S0. Rõ ràng số những bit quan trọng bằng với
bậc của sơ đồ, nghóa là bằng số các vò trí cố đònh.
Vì xác suất thay đổi của một bit là pm nên xác suất tồn tại của một bit là 1-pm.
Một lần đột biến độc lập với các đột biến khác, vì thế xác suất tồn tại của sơ đồ S qua
đột biến là:
ps(S) = (1-pm)o(S)

(2.12)

Do pm <<1, xác suất này có thể tính gần đúng là:
ps(S)  1- o(S)* pm

(2.13)

Thí dụ sơ đồ S0 với pm = 0.01 thì:
ps(S0)  1- 3* 0.01 = 0.97
Tác động kết hợp của chọn lọc, lai tạo và đột biến cho ta dạng mới của phương
trình tăng trưởng sơ đồ sinh sản:





 (S, t  1)   (S, t ).eval(S, t ) / F(t )1  pc .

 (S )


 o(S ). pm  (2.14)
m 1


Trang 12


Đề tài NCKH cấp trường: Ứng dụng giải thuật gene trong bài toán tối ưu hóa

Ta lại thấy rằng, các sơ đồ trên trung bình có chiều dài xác đònh ngắn và bậc thấp
vẫn có số chuỗi phù hợp với tốc độ tăng theo lũy thừa.
Thí dụ, đối với sơ đồ S0:

 (S )


eval(S0 , t ) / F(t )1  pc .
 o(S ). pm   1.396751* 0.954375  1.333024
m 1


Tóm lại, phương trình tăng trưởng (2.5) cho biết chọn lọc làm tăng tốc độ tạo mẫu
của các sơ đồ trên trung bình và cho biết thay đổi này là theo lũy thừa. Việc tăng trưởng
tự nó không đưa ra một sơ đồ mới nào. Điều này chính là lý do mà phép lai được đưa

vào để giúp việc trao đổi thông tin cấu trúc nhưng ngẫu nhiên. Ngoài ra phép lai đưa
tính biến thiên cao hơn vào quần thể. Tác động kết hợp của những phép này đối với một
sơ đồ không hề quan trọng nếu sơ đồ ngắn và có bậc thấp. Kết quả cuối cùng của
phương trình tăng trưởng (2.14) có thể phát biểu như sau:
“Các sơ đồ ngắn, bậc thấp, trên trung bình nhận số chuỗi tăng theo lũy thừa trong
các thế hệ tiếp theo của thuật giải di truyền”.
2.2 Thuật giải di truyền trong tối ưu kết cấu
Thuật giải di truyền trong tối ưu kết cấu có những điểm khác so với thuật giải di
truyền đơn giản như sau:
2.2.1 Các dạng biểu diễn khác với biểu diễn nhò phân (non-binary representations)
Ngoài cách biểu diễn nhò phân như đã trình bày ở trên còn có các cách biểu diễn
khác là biểu diễn bằng các hệ có thể lớn hơn số chữ cái (hệ 24) hoặc bằng số. Cách biểu
diễn bằng số sẽ có nhiều thuận lợi hơn do dễ hiển thò, dễ hiểu thực hiện các phép tính
một cách dễ dàng.
2.2.2 Chọn lọc cá thể
Trong tối ưu kết cấu, dùng chọn lọc cá thể theo bánh xe Ru-lét sẽ không hiệu quả
bằng cách dùng ‚mô hình phân chia‛ (partitioning scheme), hay còn gọi là
‚Tournament‛ [5] [11]. Theo như cách này thì ta chia quần thể hiện tại thành nhiều
nhóm dựa vào độ thích nghi, thông thường ta chọn là hai nhóm. Nhóm thứ nhất gồm
những cá thể tốt, còn nhóm thứ hai gồm các cá thể còn lại. Xác suất lựa chọn của hai
nhóm tương ứng là ps% và 1-ps%.
Ví dụ nhóm thứ nhất gồm 25% cá thể tốt nhất với xác suất lựa chọn là 50%. Còn
nhóm thứ hai gồm 75% các cá thể còn lại với xác suất lựa chọn là 50%.
Sau đó ta phát sinh ngẫu nhiên một số thuộc đoạn [0,1], nếu số này nhỏ hơn hoặc
bằng ps thì ta chọn ngẫu nhiên một cá thể trong nhóm thứ nhất, ngược lại ta chọn ngẫu
nhiên một cá thể trong nhóm thứ hai.

Trang 13



Đề tài NCKH cấp trường: Ứng dụng giải thuật gene trong bài toán tối ưu hóa

Ta lặp lại quá trình trên popsize lần, mỗi lần chọn một cá thể, kết quả là ta được
một quần thể trung gian được chọn từ quần thể ban đầu.
2.2.3 Tái sinh quần thểâ
Hiện tượng này trải qua hai quá trình: lai tạo và đột biến.
- Lai tạo: ngoài cách lai đơn điểm đã trình bày ở trên, trong tối ưu kết cấu còn có
một kiểu lai thông dụng khác là lai đều (uniform-crossover) [5] [11].
Trong phép lai này, mỗi gen của cá thể con được chọn một cách ngẫu nhiên gen
tương ứng của cá thể bố hoặc mẹ. Mỗi gen được thừa hưởng độc lập với các gen còn lại
các đặc tính của cơ thể bố, mẹ.
Ví dụ: Có hai cá thể bố và mẹ như sau:
P1 = 1 0 1 1 0 0 0 1 1 1
P2 = 0 0 0 1 1 1 1 0 0 0
Tạo một chuỗi lai giả (crossover mask), có chiều dài bằng chiều dài của chuỗi bố
mẹ, trong đó các bit được tạo ngẫu nhiên, chẳng hạn như:
Mask = 0 0 1 1 0 0 1 1 0 0
Khi đó chuỗi con O1, O2 được tạo bằng cách lấy từng gen từ cá thể cha mẹ. Nếu
giá trò của bit thứ i trong chuỗi mask là 0 thì O1 lấy gen tương ứng của cá thể P1, O2 lấy
gen tương ứng của cá thể P2. Ngược lại O1 lấy gen tương ứng của cá thể P2, O2 lấy gen
tương ứng của cá thể P1. Kết quả là ta được hai chuỗi con:
O1 = 0 0 1 1 1 1 0 1 0 0
O2 = 1 0 0 1 0 0 1 0 1 1
- Đột biến: Đột biến trong tối ưu kết cấu giống như trong thuật giải di truyền đơn
giản. Ta nên chọn xác suất đột biến nhỏ để không làm xáo trộn quần thể hiện thời.
2.2.4 Hàm phạt (Penalty function)
Thuật giải di truyền dùng để tối ưu các bài toán không có ràng buộc. Tuy nhiên ta
có thể dùng nó để giải bài toán tối ưu có ràng buộc bằng cách dùng hàm phạt. Hàm phạt
làm giảm độ thích nghi của các cá thể không thỏa các ràng buộc. Sự giảm này tỷ lệ với
sự mở rộng các ràng buộc bò vi phạm.

Ứng với từng bài toán cụ thể các tác giả đã đưa ra nhiều hàm phạt khác nhau.
Trong tối ưu kết cấu ta thường dùng các hàm phạt sau [5]:
a) Hàm phạt hai đoạn tuyến tính (Linear Double Segment Penalty Function): Đây là một
trong những hàm phạt đơn giản nhất mà trong tối ưu hay dùng. Vấn đề cần xem xét ở
đây là các ràng buộc về ứng suất hay chuyển vò. Mỗi thành phần kết cấu thì được kiểm
tra về vi phạm ứng suất và mỗi nút thì được kiểm tra về vi phạm chuyển vò. Nếu không

Trang 14


Đề tài NCKH cấp trường: Ứng dụng giải thuật gene trong bài toán tối ưu hóa

có vi phạm nào thì hệ số phạt bằng 1, ngược lại hệ số phạt sẽ lớn hơn 1 và được nhân
vào hàm mục tiêu. Hàm phạt này được đònh nghóa như sau:

 pi 
  1
1 nếu 

 p max 
i  
k  p i  nếu  p i   1
p 
 1 p 
 max 
  max 

(2.15)

Trong đó:

i là giá trò phạt

pi là tham số phản ứng của kết cấu (ứng suất, độ võng…)
pmax là giá trò cho phép lớn nhất của pi
k1 là hệ số tỷ lệ phạt (penalty rate)
Hàm phạt này được minh họa như sau:

b) Hàm phạt nhiều đoạn tuyến tính (Linear Multiple Segment Penalty Function): Hàm
phạt này được đònh nghóa như sau:

 pi 
  1
1 nếu 
 p max 

 
 p 
p 

i  k1  i  nếu 1   i   c1 , c1>1
 p max 
  p max 
 



k 2  p i  nếu c1   p i 





  p max 
 p max 

(2.16)

Trong đó k2 > k1. Ý nghóa của hàm phạt này là vi phạm càng nhiều thì sẽ phạt
càng nặng.
Hàm phạt này được minh họa như sau:

Trang 15


Đề tài NCKH cấp trường: Ứng dụng giải thuật gene trong bài toán tối ưu hóa

c) Hàm phạt bậc hai (Quadratic Penalty Function): Hàm phạt này được đònh nghóa như
sau:

 pi 
  1
1 nếu 
p
 max 

i  
2
 p i  

1  k 3  p   1 nếu
 max  



 pi 

  1
 p max 

(2.17)

2.2.5 Hàm thích nghi:
Hàm thích nghi được tính dựa trên hàm mục tiêu và hàm phạt được xác đònh từ
các phương pháp trên [11]:
np

f  F i

(2.18)

i 1

Trong đó:
F là hàm mục tiêu.
np là tổng số ràng buộc.
i là hàm phạt.

3. ÁP DỤNG VÀ KẾT QUẢ
3.1 Tối ưu bài toán số

Trang 16



Đề tài NCKH cấp trường: Ứng dụng giải thuật gene trong bài toán tối ưu hóa

trên là biểu diễn của hàm:

-1 <<= x <<= 1, -1 <<= y <<=1.

Trang 17


Đề tài NCKH cấp trường: Ứng dụng giải thuật gene trong bài toán tối ưu hóa


Trong hộp thoại, phần tư phía trên bên trái chứa các thông số xác đònh kích thước
cộng đồng, số lần lặp, tần suất thông báo kết quả, số chữ số có nghóa, miền giá trò x, y.
Kích thước cộng đồng có ảnh hưởng quan trọng đến thời gian chạy chương trình. Kích
thước càng lớn sẽ cung cấp nhiều lời giải cho việc chọn lựa, nhưng bên cạnh đó nó cũng
làm lu mờ vai trò của các lời giải có giá trò fitness tốt nhất.
Thí dụ: giả sử có 10 lời giải có các giá trò fitness lần lượt là 10, 8, 5, 1, 1, 1, 1, 1, 1, 1.
Xác suất được chọn trong sinh sản của 3 cá thể tốt nhất là 77 %. Nếu thêm vào 10 cá thể
có fitness bằng 1, xác suất của 3 cá thể chỉ còn 57 %.

Tham số của phép toán Mutation: xác đònh xác suất đột biến, và xác suất vò trí đột
biến tại các vùng sign, mantissa, exponential của chuỗi bit.
Tham số của phép toán Crossover: xác đònh phương pháp ghép chéo giữa các nhiễm sắc
thể (chuỗi bit) x, y để hình thành lời giải mới.


Fitness Scaling: xác đònh giải pháp điều chỉnh fitness được áp dụng




Equation:

Trang 18


Đề tài NCKH cấp trường: Ứng dụng giải thuật gene trong bài toán tối ưu hóa

Các hàm đã cho đều có các giá trò min, max cục bộ trong miền input để đánh giả hiệu
quả của việc áp dụng giải thuật Gene trong bài toán tối ưu hóa hàm.
Ba hàm đầu tiên dùng để tìm lời giải cho giá trò minimum của hàm, hàm ở cuối tìm lời
giải cho giá trò maximum. Biểu diễn của hàm cuối được cho ở phần đầu.
3.2 Tối ưu kết cấu thép có liên kết nửa cứng
3.2.1. Giới thiệu
Theo cách truyền thống hiện nay, khi phân tích và thiết kế khung thép phải giả thiết
rằng các liên kết của dầm với cột hoặc là cứng hoàn toàn hoặc là khớp lý tưởng. Tuy
nhiên, ứng xử thật sự của nó lại nằm giữa hai trạng thái đó, liên kết như thế gọi là liên
kết nửa cứng. Trong kết cấu, liên kết là một phương tiện trung gian để qua đó các lực và
momen truyền từ cấu kiện này đến cấu kiện khác. Đối với liên kết dầm với cột, toàn bộ
hệ lực phải truyền gồm có: lực dọc, lực cắt, momen uốn và momen xoắn. Riêng đối với
bài toán phẳng, ảnh hưởng của momen xoắn có thể bỏ qua. Hơn nữa, đối với hầu hết các
liên kết biến dạng do lực cắt và lực dọc thường nhỏ so với biến dạng xoay. Do đó, với
mục đích thực hành, chỉ cần xem xét biến dạng xoay của liên kết mà thôi. Ứng xử của
liên kết biểu diễn bằng một hàm toán học ở dạng tổng quát M=f( r ) trong đó M và  r
lần lượt là momen và góc xoay. Có ba loại mô hình liên kết được sử dụng là (i) mô hình
giải tích dựa trên những đặc trưng vật lý của liên kết, (ii) mô hình toán học biểu diễn bởi
một hàm toán học có các tham số được xác đònh bằng cách xấp xỉ hóa các dữ liệu thực
nghiệm (iii) mô hình hỗn hợp là sự kết hợp của hai mô hình trên. Bài báo này chọn mô
hình liên kết và các đặc tính mối nối theo Bjorhovde và cộng sự (1990).

3.2.2. Phân tích khung thép có liên kết nửa cứng bằng phương pháp phân tích nâng
cao - PGS TS M.FOLEY [3],[4],[6]
Với sự phát triển mạnh mẽ của máy tính, hai khía cạnh ổn đònh của các cấu kiện riêng
lẻ và ổ đònh tổng thể có thể được xử lý đồng thời để xác đònh trực tiếp độ bền lớn nhất
của kết cấu và được gọi là phương pháp trực tiếp hay phương pháp phân tích nâng cao.
Phương pháp phân tích nâng cao xét đến sự phi tuyến về mặt hình học và về mặt vật
liệu một cách trực tiếp trong quá trình phân tích tổng thể. Phương pháp phân tích nâng
cao có thể chia làm hai nhóm : nhóm phương pháp vùng dẻo và nhóm phương pháp khớp
dẻo. Nhóm phương pháp vùng dẻo được xem là phương pháp chính xác, bài báo đã sử
dụng phương pháp này để phân tích khung. Trong phân tích nâng cao được phát triển bởi
PGS TS Foley, mô hình phần tử cho cấu kiện dầm, cột cho khung được biểu diễn ở hình
1. Lò xo ở hai đầu mút với chiều dài bằng 0 được dùng để mô tả liên kết nửa cứng ở đầu
dầm với cột. Hình 1 còn minh họa cách chia lưới phần tử hữu hạn dùng để theo dõi sự
chảy dẻo dọc theo chiều dài cấu kiện. Để theo dõi sự chảy dẻo qua mặt cắt ngang phần
tử, tiết diện được chia thành sáu mươi sáu thớ, ba thớ theo chiều cao cánh, chín thớ theo
Trang 19


Đề tài NCKH cấp trường: Ứng dụng giải thuật gene trong bài toán tối ưu hóa

bề rộng cánh và møi hai thớ theo chiều cao bụng. Sự phân chia thêm phần tử thành
những phần tử thớ như trên làm cho việc tính toán các đặc trưng mặt cắt ngang dễ dàng
hơn ở mỗi bước phân tích. Thêm vào đó, mô hình phần tử thớ cũng rất thuận tiện để
trình bày trực tiếp ứng suất dư trong mặt cắt ngang. Mỗi diện tích phần tử đượ c cho trước
một ứng suất dư nào đó theo mẫu ứng suất dư chọn trước.
Thuật giải phi tuyến được sử dụng là thuật toán lặp Euler đơn giản với việc điều chỉnh
tải trọng gia tăng bằng kỹ thuật công hằng để giải hệ phương trình phi tuyến. Nếu tải
trọng gia tăng ban đầu nhỏ, đường tải trọng biến dạng sẽ hội tụ đến đường phân tích
thật, tuy nhiên, điều này sẽ làm số bước lặp gia tăng lên, do đó thời gian giải bài toán
cũng tăng lên. Thuật toán dừng khi một trong các yếu tố sau thoả mản:

 Đònh thức của ma trận độ cứng nhỏ hơn 0
 Công của lực nút nhỏ hơn 0.
 Đạt đến hệ số tải trọng cho trước.

66 Thớ

Chiều dài bằng 0

a) Rời rạc hóa tiết diện

Chiều dài dầm

Chiều dài bằng 0

b) Rời rạc hóa dọc theo chiều dài cấu kiện
Hình 1 Mô hình phần tử hữu hạn

3.2.3. Tối ưu hóa khung thép có liên kết nửa cứng [1],[2],[6]
3.2.3.1 Hàm mục tiêu
Hàm mục tiêu là khối lượng khung thép chòu các ràng buộc về tải trọng tới hạn, tải trọng
sử dụng và điều kiện xây dựng.
Ncol

Nb



Nc






k 1

m 1



n 1





Cực tiểu hóa F ( x)   Lk Ak k   Lm Am m    n   1

(3.1)

trong đó,
 k ,  m : khối lượng riêng của dầm, cột thép.
Nb , Ncol , Nc : số lượng dầm, cột và mối nối.

Lk , Lm : chiều dài của dầm, cột.
Ak , Am : diện tích mặt cắt ngang của cột, dầm.

Trang 20


Đề tài NCKH cấp trường: Ứng dụng giải thuật gene trong bài toán tối ưu hóa


 : hệ số điều chỉnh khối lượng để điều chỉnh khối lượng dầm.

3.2.3.2 Hàm ràng buộc
3.2.3.2.1 Hàm buộc về tải trọng tới hạn
a. Kết cấu phải chòu được hệ số tổ hợp tải trọng
Hệ số tải trọng đối với tổ hợp tải trọng tới hạn được tính toán do sự gia tải từng bước đến
khi kết cấu bò phá hủy:  
U

1

U

(3.2)

1

b. Góc xoay của mối nối không vượt quá góc xoay cho phép:  
U

U

U , Limit

1

(3.3)

c. Ổn đònh cục bộ

Tỷ số bề rộng- chiều cao cánh phải thỏa mản:
b

f

/ 2t f



b

b f / 2t f
f

/ 2t f



(3.4)

1

Limit

Tỷ số chiều cao và bề rộng bụng phải thỏa mản: h / t 
w

h / tw
1
 h / tw Limit


(3.5)

d. Chiều dài không giằng của cấu kiện cột L, được xem như chiều cao giữa các sàn,
không được vượt quá giới hạn cho phép trong phân tích dẻo

L

pd


 M1  
3600  2200. 
  .ry
L
 M P 

with

 1 
 Lpd 
Lpd
Fy

(3.6)

e. Cấu kiện cột không được phép mất ổn đònh ngoài mặt phẳng
Lực dọc tới hạn phải thỏa mản P 
u


Pu
Pn, Limit

(3.7)

1

f. Cấu kiện không vượt quá giới hạn góc xoay của khớp dẻo

1
Góc xoay của khớp dẻo thỏa điều kiện  
 Limit

(3.8)

Trong đó,  độ cong (uốn thuần túy) tương ứng với biến dạng dẻo của thớ bò kéo hay
nén đối với điều kiện uốn thuần túy.
3.2.3.2.2 Ràng buộc về tải trọng sử dụng
a. Kết cấu phải chòu được hệ số tải trọng sử dụng  
S

1

S

(3.9)

 1.0

b. Góc xoay của mối nối không vượt quá góc xaoy cho phép  

S

S

 S , Limit

1

(3.10)

c. Cấu kiện phải thỏa mản chuyển vò đứng và chuyển vò ngang
Trang 21


Đề tài NCKH cấp trường: Ứng dụng giải thuật gene trong bài toán tối ưu hóa

Chuyển vò đứng  
H

1

(3.11)

V

1

(3.12)

 H , Limit


Chuyển vò ngang  
V

H

V , Limit

d. Quá trình chảy dẻo của tiết diện phải thỏa mản:  


 Limit

(3.13)

1

3.2.3.2.3 Ràng buộc về điều kiện xây dựng
Tiết diện cột phía dưới lớn hơn hoặc bằng tiết diện cột phía trên.

shp

 d nupper
 lower  1.0
 dn

 hay
 wt upper
 lower  1.0
 wt


(3.14)

trong đó,
dnlower và dnupper : bề rộng của tiết diện cột phía dưới và cột phía trên
wt upper và wt lower : khối lượng của cột phía dưới và cột phía trên.

3.2.4 Quá trình tối ưu [6],[7]
Để giải bài toán tối ưu trên yêu cầu phải lựa chọn tiết diện phù hợp trong thư viện đònh
sẵn sao cho khối lượng của khung là nhỏ nhất đồng thời tất cả các ràng buộc đều thỏa
mản. Đây là bài toán tối ưu biến rời rạc. Lời giải của bài toán này đã được đề cập rất
nhiều trong toán học nhưng khá phức tạp. Mặt khác, thuật giải di truyền, gần đây đã
được sử dụng nhiều trong bài toán tối ưu, rất dễ áp dụng và cho những lời giải hiệu quả
đối với bài toán tối ưu biến rời rạc.
Thuật giải di truyền gồm bốn thành phần cơ bản: khởi tạo, đánh giá, lựa chọn và sinh
sản. Trước hết, khởi tạo ngẫu nhiên cộng đồng đầu tiên gồm nhiều cá thể (khung) từ thư
viện tiết diện và thư viện mối nối. Cộng đồng này sẽ được phân tích và đánh giá các
ràng buộc để thiết lập độ thích nghi cho mỗi cá thể (khung). Các cá thể (khung) có độ
thích nghi nhỏ sẽ được lựa chọn vào bể giao phối. Những cấu kiện dầm, cột và mối nối
của từng cá thể (khung) sẽ hoán đổi thông qua thuật toán lai tạo và đột biến tạo thành
một cộng đồng mới cho thế hệ tiếp theo. Quá trình này sẽ tiếp tục đến số thế hệ yêu
cầu.
Như trên đã đề cập, thuật giải di truyền lựa chọn những cá thể tốt nhất trong cộng đồng
thông qua độ thích nghi. Để thiết lập được độ thích nghi này, phải chuyển bài toán từ
hàm mục tiêu có ràng buộc thành hàm mục tiêu không ràng buộc. Điều này được thực

Trang 22


Đề tài NCKH cấp trường: Ứng dụng giải thuật gene trong bài toán tối ưu hóa


hiện thông qua hàm phạt. Hàm mục tiêu không ràng buộc hay hàm thích nghi được biễu
diễn thông qua tích số của khối lượng và các hàm phạt.
NP

F  W  i

(3.15)

i 1

trong đó,
W : khối lượng khung thép
 i : hệ số tỷ lệ ràng buộc vi phạm ứng với ràng buộc thứ i

NP : số lượng ràng buộc.
Hệ số phạt trong công thức (15) được thiết lập cho từng ràng buộc bằng cách lấy tích của
hệ số tỷ lệ các ràng buộc vi phạm cho từng cấu kiện ứng với từng trường hợp tải trọng.
Nr

Nj

i    pi  j ,r

(3.16)

r 1 j 1

trong đó,
Nr : số trường hợp tải trọng.

Nj : tổng số cấu kiện cột, dầm, mối nối.
pi : hệ số tỷ lệ ràng buộc vi phạm liên quan đến ràng buộc thứ i.
Hệ số tỷ lệ ràng buộc vi phạm được thiết lập bằng hàm tỷ lệ đề nghò bởi Camp và cộng
sự (1996, 1998). Hàm tỷ lệ dạng tuyến tính hay toàn phương, có dạng như sau:
pi  1.0  ki (qi  1)n

(3.17)

trong đó
n : bậc của hàm tỷ lệ (đối với tuyến tính n = 1, toàn phương n = 2)
ki : hệ số tỷ lệ
1.0 nếu i  1
qi  
nếu i  1
i

(18)
Tóm lại, qi chỉ ảnh hưởng lên các ràng buộc vi phạm và tác động lên hàm phạt, (  =tính
toán/giới hạn  1 ).
3.2.5 Lưu đồ giải thuật
Quá trình tối ưu khung thép có liên kết nửa cứng dựa trên thuật giải di truyền bao gồm
các bước sau:
1. Thiết lập các thông số liên quan đến dữ liệu hình học của khung và thông số di truyền
của bài toán.

Trang 23


×