MỤC LỤC
LỜI CAM ĐOAN . i
LỜI CẢM ƠN .ii
MỤC LỤC . iii
Danh mục các ký hiệu, các chữ viết tắt . viii
Danh mục các bảng . xv
Danh mục các hình vẽ . xvii
MỞ ĐẦU . 1
1. Lý do chọn đề tài . 1
2. Mục đích và mục tiêu nghiên cứu . 2
3. Đối tượng và phạm vi nghiên cứu . 3
4. Phương pháp nghiên cứu . 3
5. Cơ sở khoa học của đề tài . 4
6. Đóng góp mới của luận án . 4
7. Ý nghĩa khoa học và thực tiễn . 4
8. Những vấn đề còn tồn tại . 5
9. Cấu trúc và nội dung luận án . 5
Chương 1. Tổng quan về ứng dụng công nghệ học máy trong thiết kế tối ưu kết
cấu . 6
1.1. Tổng quan về thiết kế tối ưu kết cấu . 6
1.1.1. Giới thiệu chung về bài toán thiết kế tối ưu kết cấu . 6
1.1.2. Lịch sử phát triển kỹ thuật tối ưu kết cấu . 7
1.1.3. Phân loại bài toán thiết kế tối ưu kết cấu . 9
1.1.4. Phân loại thuật toán tối ưu . 12
1.1.5. So sánh hiệu năng các thuật toán meta-heuristic khi tối ưu kết cấu . 18
iv
1.2. Tổng quan về ứng dụng Trí tuệ Nhân tạo trong kết cấu công trình . 18
1.2.1. Giới thiệu chung . 18
1.2.2. Một số lĩnh vực nghiên cứu của Trí tuệ nhân tạo . 19
1.2.3. Ứng dụng Trí tuệ Nhân tạo trong lĩnh vực kết cấu công trình . 20
1.3. Tình hình nghiên cứu về ứng dụng công nghệ học máy trong thiết kế tối ưu
kết cấu trên thế giới . 23
1.3.1. Phương pháp khảo sát . 23
1.3.2. Thu thập dữ liệu . 23
1.3.3. Phân tích dữ liệu . 24
1.3.4. Các phương pháp sử dụng mô hình Học máy trong quá trình tối ưu . 28
1.4. Tình hình nghiên cứu về ứng dụng công nghệ học máy trong thiết kế tối ưu
kết cấu tại Việt Nam . 29
1.4.1. Nghiên cứu về tối ưu kết cấu tại Việt Nam . 29
1.4.2. Nghiên cứu về ứng dụng học máy vào tối ưu kết cấu tại Việt Nam . 30
1.5. Hướng nghiên cứu của Luận án . 32
1.6. Giới hạn bài toán tối ưu nghiên cứu trong Luận án . 33
1.7. Tóm tắt Chương 1 . 34
Chương 2. Xây dựng quy trình đánh giá an toàn cho kết cấu giàn bằng mô hình học
máy . 35
2.1. Đặt vấn đề . 35
2.2. Phát triển chương trình phân tích kết cấu giàn pyTruss theo phương pháp độ
cứng trực tiếp . 36
2.2.1. Giới thiệu . 36
2.2.2. Phương pháp độ cứng trực tiếp cho kết cấu giàn phẳng . 37
2.2.3. Phương pháp độ cứng trực tiếp cho kết cấu giàn không gian . 40
2.2.4. Sơ đồ khối của chương trình pyTruss . 42
2.2.5. Đánh giá độ chính xác của chương trình pyTruss . 43
v
2.3. Công nghệ Học máy . 46
2.3.1. Giới thiệu chung . 46
2.3.2. Phân nhóm Học máy dựa trên phương thức học . 47
2.3.3. Một số mô hình phân loại phổ biến . 49
2.4. Quy trình đánh giá an toàn cho kết cấu giàn bằng mô hình Học máy . 56
2.4.1. Mục tiêu . 56
2.4.2. Quy trình xây dựng mô hình Học máy đánh giá an toàn cho kết cấu giàn . 56
2.4.3. Kỹ thuật lấy mẫu Siêu khối lập phương La-tinh . 59
2.5. So sánh hiệu năng của các mô hình phân loại trong bài toán đánh giá an toàn
cho kết cấu giàn . 60
2.5.1. Mô tả các bài toán kết cấu sử dụng trong nghiên cứu . 61
2.5.2. Khởi tạo dữ liệu . 65
2.5.3. Kết quả . 66
2.5.4. Nhận xét . 67
2.6. Khảo sát ảnh hưởng của các siêu tham số tới chất lượng mô hình . 68
2.6.1. Ảnh hưởng của số lượng mẫu dữ liệu huấn luyên . 68
2.6.2. Ảnh hưởng của số lượng bộ phân loại yếu . 69
2.7. Tóm tắt Chương 2 . 70
Chương 3. Đề xuất phương pháp giảm số lần phân tích kết cấu trong quá trình tối ưu
bằng mô hình học máy . 71
3.1. Đặt vấn đề . 71
3.2. Tối ưu tiết diện giàn bằng thuật toán DE . 71
3.2.1. Bài toán xác định tiết diện tối ưu nhằm cực tiểu hóa trọng lượng giàn . 71
3.2.2. Thuật toán DE . 72
3.2.3. Kỹ thuật xử lý điều kiện ràng buộc . 75
3.2.4. Ví dụ áp dụng thuật toán DE tối ưu tiết diện giàn . 76
vi
3.3. Phương pháp CaDE . 81
3.3.1. Ý tưởng chính . 81
3.3.2. Sơ đồ khối . 82
3.3.3. Ví dụ minh họa . 85
3.4. Đánh giá hiệu quả của phương pháp đề xuất CaDE . 88
3.4.1. Mô tả các bài toán tối ưu kết cấu giàn . 88
3.4.2. Khảo sát ảnh hưởng của các tham số . 98
3.4.3. Các thiết lập trong thử nghiệm . 100
3.4.4. So sánh phương pháp CaDE và thuật toán gốc DE . 102
3.4.5. So sánh phương pháp CaDE với các thuật toán meta-heuristic khác . 108
3.5. Tóm tắt Chương 3 . 110
Chương 4. Tối ưu trọng lượng kết cấu giàn mái . 111
4.1. Giới thiệu chung . 111
4.2. Thiết kế kết cấu giàn mái bằng thép . 112
4.2.1. Cấu tạo kết cấu giàn mái . 112
4.2.2. Một số vấn đề về thiết kế giàn thép theo tiêu chuẩn Việt Nam . 113
4.3. Đề xuất quy trình thiết kế tối ưu giàn mái thép . 116
4.4. Tối ưu trọng lượng giàn mái thép dạng phẳng . 118
4.4.1. Tối ưu giàn phẳng nhịp 24 m . 118
4.4.2. Khảo sát tham số . 123
4.4.3. Một số khuyến nghị khi thiết kế kết cấu giàn phẳng . 128
4.5. Tối ưu trọng lượng giàn lưới không gian ba lớp . 128
4.5.1. Tối ưu kết cấu giàn lưới không gian kích thước 30×30m . 128
4.5.2. Khảo sát tham số . 133
4.5.3. Một số khuyến nghị khi thiết kế kết cấu giàn lưới không gian . 142
4.6. Tóm tắt Chương 4 . 142
vii
KẾT LUẬN . 144
Những đóng góp mới về khoa học của luận án . 144
Các kết luận chính . 144
Kiến nghị và hướng nghiên cứu tiếp theo . 145
DANH MỤC CÔNG TRÌNH KHOA HỌC CỦA TÁC GIẢ . 147
TÀI LIỆU THAM KHẢO . 149
Tài liệu Tiếng Việt . 149
Tài liệu Tiếng Anh . 150
PHỤ LỤC . PL1
A. MÃ THỰC THI CHƯƠNG TRÌNH pyTruss . PL1
A.1. Mô-đun pyTruss2D . PL1
A.2. Mô-đun pyTruss3D . PL3
B. MÃ THỰC THI CÁC THUẬT TOÁN TỐI ƯU BẰNG NGÔN NGỮ
PYTHON . PL5
B.1. Mã thực thi thuật toán DE . PL5
B.2. Mã thực thi phương pháp CaDE . PL6
C. DỮ LIỆU SỬ DỤNG TRONG CHƯƠNG 3 VÀ CHƯƠNG 4 . PL8
199 trang |
Chia sẻ: vietdoc2 | Ngày: 28/11/2023 | Lượt xem: 342 | Lượt tải: 2
Bạn đang xem trước 20 trang tài liệu Luận án Tối ưu kết cấu giàn thép sử dụng thuật toán tiến hóa kết hợp công nghệ học máy, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
3
14
10 12
(9)
11
17
18
15 19
20
21
16
22 23
24
25
1
0
0
"
(2
5
4
c
m
)
1
0
0
"
(2
5
4
c
m
)
Z
X
Y
(4)
(5)
(6)
1
Hình 2.19. Giàn không gian 25 thanh.
Bảng 2.3. Số liệu tải trọng tác dung lên giàn 25 thanh – Đơn vị: kips (kN).
Nút
Trường hợp tải trọng (LC1) Trường hợp tải trọng (LC2)
FX FY FZ FX FY FZ
1 20,0 (89) 5,0 (22,25) 1,0 (4,45) 10,0 (44,5) 5,0 (22,25)
2 20,0 (89) 5,0 (22,25) 10,0 (44,5) 5,0 (22,25)
3 0,5 (2,22)
6 0,6 (2,67)
Kết cấu được coi là đảm bảo an toàn khi đồng thời thỏa mãn điều kiện ứng suất
và điều kiện chuyển vị:
0,35 in 8,89 mm
i
j
(2.45)
trong đó: i là ứng suất trong các thanh giàn thuộc nhóm thứ i, j là chuyển vị của nút
giàn thứ j, [] và [] lần lượt là ứng suất và chuyển vị cho phép. Giá trị ứng suất cho
phép được trình bày trong Bảng 2.4.
63
Bảng 2.4. Ứng suất cho phép của kết cấu giàn 25 thanh – Đơn vị: ksi (MPa).
Nhóm Số hiệu thanh Ứng suất nén cho phép Ứng suất kéo cho phép
1 1 35,092 (241,96) 40,0 (275,80)
2 2, 3, 4, 5 11,590 (9,913) 40,0 (275,80)
3 6, 7, 8, 9 17,305 (119,31) 40,0 (275,80)
4 10, 11 35,092 (241,96) 40,0 (275,80)
5 12, 13 35,092 (241,96) 40,0 (275,80)
6 14, 15, 16, 17 6,759 (46,603) 40,0 (275,80)
7 18, 19, 20, 21 6,959 (47,982) 40,0 (275,80)
8 22, 23, 24, 25 11,082 (76,410) 40,0 (275,80)
(iii) Kết cấu giàn cuối cùng là một kết cấu tháp phẳng 47 thanh (Hình 2.20). Các
thanh được chia thành 27 nhóm như Bảng 2.5, các thanh trong cùng một nhóm có
cùng diện tích tiết diện dao động từ 6 đến 35 in2 (từ 38,71 đến 228,5 cm2). Mô-đun
đàn hồi của vật liệu dùng trong kết cấu E = 30000 ksi (206843 MPa).
Bảng 2.5. Phân nhóm thanh trong kết cấu giàn 47 thanh.
Nhóm Số hiệu thanh Nhóm Số hiệu thanh Nhóm Số hiệu thanh
1 1, 3 10 17, 18 19 33
2 2, 4 11 19, 20 20 34, 35
3 5, 6 12 21, 22 21 36, 37
4 7 13 23, 24 22 38
5 8, 9 14 25, 26 23 39, 40
6 10 15 27 24 41, 42
7 11, 12 16 28 25 43
8 13, 14 17 29, 30 26 44, 45
9 15, 16 18 31, 32 27 46, 47
Kết cấu tháp chịu tác dụng của một trong ba trường hợp tải trọng: Trường hợp
(LC1) gồm một lực 14 kips (62,26 kN) theo phương đứng và 6 kips (26,69 kN) theo
phương ngang đặt tại nút (17). Trường hợp (LC2) gồm một lực 14 kips (62,26 kN)
64
theo phương đứng và 6 kips (26,69 kN) theo phương ngang đặt tại nút (22). Trường
hợp cuối cùng (LC3) là tổng hai trường hợp (LC1) và (LC2).
(1)
1
60 in
(1524 mm)
Y
X
(2)
(3) (4)
(5) (6)
(7) (8)
(9) (10)
(11) (12)
(13) (14)
(15)
(17)
(18) (19)
(16)
(20) (21)
(22)
2
3
4
5 6
8 9
7
1011
17
23 25
21
19 13
27
15 16
12
18
2426
22
1914
29 30
31 32
28
33
34 35
36 37
39 40
41 42
38
43
44 45
46 47
14 kips
6 kips
14 kips
6 kips
60 in
(1524 mm)
60 in
(1524 mm)
60 in
(1524 mm)
60 in
(1524 mm)
60 in
(1524 mm)
60 in
(1524 mm)
60 in
(1524 mm)
60 in
(1524 mm)
120 in
(3048 mm)
120 in
(3048 mm)
120 in
(3048 mm)
60 in
(1524 mm)
60 in
(1524 mm)
Hình 2.20. Giàn phẳng 47 thanh.
Kết cấu được coi là an toàn khi đảm bảo điều kiện ứng suất:
i (2.46)
65
trong đó: i là ứng suất trong các thanh giàn thuộc nhóm thứ i; [] là ứng suất cho
phép. Ứng suất cho phép khi chịu kéo và chịu nén lần lượt là 20 ksi (137,90 Mpa) và
15 ksi (103,42 MPa). Ứng suất tới hạn khi kể tới hiện tượng mất ổn định của thanh
giàn được xác định bằng công thức như sau:
2
2,cr i
i i
E
L r
(2.47)
trong đó: Li và ri lần lượt là chiều dài và bán kính quán tính tiết diện thanh giàn thứ i.
Giả thiết mối quan hệ giữa diện tích tiết diện và bán kính quán tính như sau
Ai2,5ri2. Công thức xác định ứng suất tới hạn khi đó có dạng đơn giản như sau:
2,
3,96 i
cr i
i
EA
L
(2.48)
Công thức (2.48) từng được sử dụng trong nhiều nghiên cứu tối ưu [79].
2.5.2. Khởi tạo dữ liệu
Mỗi kết cấu giàn được khởi tạo hai tập dữ liệu, một tập dùng để huấn luyện và
một tập dùng để kiểm tra, mỗi tập chứa 1000 điểm dữ liệu. Tỷ lệ tương quan giữa số
lượng mẫu được gán nhãn an toàn (y = +1) và số lượng mẫu được gán nhãn không an
toàn (y = 1) trong mỗi tập dữ liệu được trình bày trong Hình 2.21.
Hình 2.21. Tương quan số lượng mẫu được gán nhãn an toàn
và số lượng mẫu được gán nhãn không an toàn.
650 655
859 851
657 658
350 345
141 149
343 342
0
100
200
300
400
500
600
700
800
900
1000
Giàn 10 thanh -
Tập huấn luyện
Giàn 10 thanh -
Tập kiểm tra
Giàn 25 thanh -
Tập huấn luyện
Giàn 25 thanh -
Tập kiểm tra
Giàn 47 thanh -
Tập huấn luyện
Giàn 47 thanh -
Tập kiểm tra
Không an toàn An toàn
66
2.5.3. Kết quả
Ba mô hình được đánh giá là mạnh nhất cho nhiệm vụ phân loại bao gồm: Máy
hỗ trợ véc-tơ (SVM), Mạng nơ-ron nhân tạo (NN), và AdaBoost được lựa chọn để so
sánh. Trong Luận án, các mô hình đều được xây dựng bằng thư viện Scikit-learn
[115] với các siêu tham số sau khi đã tinh chỉnh giới thiệu trong Bảng 2.6.
Bảng 2.6. Siêu tham số của các mô hình phân loại.
Mô hình Siêu tham số
SVM nhân 'rbf'; C=1000; gamma=0.1.
NN
hàm kích hoạt: ReLU; thuật toán tối ưu: Adam; kích thước batch=5; số
vòng lặp=1000; kiến trúc mạng (số đặc trưng -100-100-100-2).
AdaBoost
bộ phân loại yếu: Cây quyết định; chiều sâu tối đa của Cây quyết
định=2; số lượng bộ phân loại yếu: 100.
Ba mô hình trên được huấn luyện trên máy tính cá nhân có cấu hình: bộ vi xử
lý Intel Core i5-5257 2.7 GHz, bộ nhớ tạm (RAM) 8.00 GHz. Dữ liệu đầu vào được
chuẩn hóa bằng cách chia cho giá trị diện tích lớn nhất trước khi huấn luyện. Hai chỉ
tiêu sử dụng để đánh giá phẩm chất của mô hình phân loại là độ chính xác và diện
tích dưới đường cong (AUC).
Trong mỗi bài toán, mỗi mô hình đều được huấn luyện với tập dữ liệu huấn
luyện, sau đó kiểm tra với tập dữ liệu kiểm tra. Do chất lượng mô hình mỗi lần chạy
đều có biến động nhỏ, quá trình trên được thực hiện 10 lần độc lập để đảm bảo mức
độ tin cậy của kết quả. Độ chính xác trung bình trong 10 lần chạy của 3 mô hình ML
cho ba kết cấu giàn nghiên cứu được trình bày trong Bảng 2.7. Đường cong ROC
cùng với giá trị diện tích dưới đường cong (AUC) tương ứng của 3 mô hình ML cho
ba kết cấu giàn nghiên cứu thể hiện trong Hình 2.22.
Bảng 2.7. Độ chính xác của ba mô hình ML.
Bài toán Số lượng đặc trưng SVM NN AdaBoost
Giàn 10 thanh 10 0.959 0.933 0.936
Giàn 25 thanh 8 0.974 0.964 0.970
Giàn 47 thanh 27 0.664 0.651 0.977
67
Tỷ lệ dương tính giả
T
ỷ
l
ệ
d
ư
ơ
n
g
t
ín
h
t
h
ật
Tỷ lệ dương tính giả
T
ỷ
l
ệ
d
ư
ơ
n
g
t
ín
h
t
h
ật
Tỷ lệ dương tính giả
T
ỷ
l
ệ
d
ư
ơ
n
g
t
ín
h
t
h
ật
(a) Giàn 10 thanh.
(b) Giàn 25 thanh.
(c) Giàn 47 thanh.
Hình 2.22. Đường cong ROC của ba mô hình phân loại cho ba kết cấu giàn.
2.5.4. Nhận xét
Kết quả nghiên cứu cho thấy trong hai bài toán đánh giá an toàn giàn 10 thanh
và giàn 25 thanh, cả ba mô hình ML đều đạt mức độ chính xác cao. Cụ thể trong bài
toán giàn 10 thanh, mô hình SVM có độ chính xác cao nhất là 95,9%, tiếp theo là mô
hình AdaBoost với độ chính xác 93,6%, cuối cùng là mô hình NN với độ chính xác
93,3%. Trong bài toán giàn 25 thanh, thứ tự không thay đổi: chính xác nhất là mô
68
hình SVM với 97,4%, thứ hai là AdaBoost với 97%, thứ ba là mô hình NN với 96,4%.
Tuy nhiên trong bài toán đánh giá an toàn cho giàn 47 thanh, độ chính xác của hai
mô hình SVM và NN khá thấp (SVM đạt 66,4% còn NN đạt 65,1%), trong khi đó mô
hình AdaBoost vẫn duy trì mức độ chính xác ở mức rất cao (97,7%).
Khi đánh giá chất lượng mô hình theo chỉ số AUC, kết quả hoàn toàn tương tự.
Giá trị AUC của cả ba mô hình trong hai bài toán phân loại cho giàn 10 thanh và giàn
25 thanh đều đạt giá trị gần bằng 1. Tuy nhiên, mô hình SVM và NN chỉ đạt giá trị
AUC bằng 0,67 và 0,68 trong bài toán phân loại an toàn cho kết cấu giàn 47 thanh.
Trong khi đó, mô hình AdaBoost đạt giá trị AUC=0,99.
Thông qua ba bài toán đánh giá an toàn cho ba kết cấu giàn có mức độ phức tạp
khác nhau, có thể thấy với những bài toán có số lượng đầu vào ít, cả ba mô hình SVM,
NN và AdaBoost đều đạt độ chính xác cao. Nhưng với bài toán có số lượng đầu vào
nhiều, AdaBoost tỏ ra vượt trội hơn hai mô hình còn lại.
2.6. Khảo sát ảnh hưởng của các siêu tham số tới chất lượng mô hình
Kết quả thu được tại Mục 2.5 cho thấy trong ba mô hình phân loại được lựa
chọn để so sánh, mô hình AdaBoost duy trì mức độ chính xác cao khi đánh giá những
kết cấu phức tạp, số lượng biến đầu vào nhiều. Bên cạnh đó, một trong những phần
quan trọng nhất khi xây dựng mô hình ML là dữ liệu huấn luyện. Theo quy trình nêu
tại Mục 2.4, dữ liệu được thu thập thông qua việc tiến hành phân tích PTHH. Đối với
các kết cấu quy mô lớn và phức tạp, mỗi lần phân tích PTHH tiêu tốn vài giờ hoặc
vài ngày. Việc thực hiện phân tích PTHH nhiều lần tốn nhiều thời gian. Do đó, trong
phần này sẽ khảo sát ảnh hưởng của số lượng mẫu của tập dữ liệu huấn luyện tới độ
chính xác của mô hình AdaBoost. Hơn thế nữa, hiệu suất của mô hình AdaBoost còn
phụ thuộc nhiều vào số lượng bộ phân loại yếu thiết lập trước khi huấn luyện. Do đó,
ảnh hưởng của số lượng bộ phân loại yếu cũng được xem xét trong phần này.
2.6.1. Ảnh hưởng của số lượng mẫu dữ liệu huấn luyên
Để khảo sát ảnh hưởng của số lượng mẫu dữ liệu huấn luyện tới chất lượng mô
hình, bảy tập dữ liệu huấn luyện khác nhau cho kết cấu giàn 47 thanh được khởi tạo.
Số lượng mẫu của bảy tập dữ liệu lần lượt là 100 mẫu, 250 mẫu, 500 mẫu, 1000 mẫu,
2500 mẫu, 5000 mẫu, và 10000 mẫu. Sau đó, mô hình AdaBoost được huấn luyện
với lần lượt bảy tập dữ liệu huấn luyện đã khởi tạo. Độ chính xác của mô hình tương
ứng với từng trường hợp được trình bày trên Hình 2.23.
69
Hình 2.23. Ảnh hưởng của số lượng mẫu dữ liệu huấn luyện tới độ chính xác của
mô hình AdaBoost khi đánh giá an toàn kết cấu giàn.
Từ Hình 2.23 có thể thấy, độ chính xác của mô hình cải thiện đáng kể khi tăng
số lượng mẫu dữ liệu huấn luyện từ 100 lên 250 (từ 0,669 với 100 mẫu tăng lên 0,876
với 250 mẫu). Khi tăng số lượng mẫu lên 500, độ chính xác đạt 0,923. Độ chính xác
của các mô hình huấn luyện với 1000 mẫu, 2500 mẫu, 5000 mẫu, 10000 mẫu lần lượt
là 0,976, 0,986, 0,988, và 0,991. Như vậy khi số lượng mẫu trên 1000, chất lượng mô
hình có cải thiện nhưng không đáng kể. Tổng quan, số lượng 1000 mẫu là phù hợp
khi cân bằng giữa hai yếu tố độ chính xác và số lượng mẫu.
2.6.2. Ảnh hưởng của số lượng bộ phân loại yếu
Tiếp theo, sáu mô hình AdaBoost khác nhau được thiết lập với số lượng bộ phân
loại yếu lần lượt là 5, 10, 50, 100, 500, và 1000. Các mô hình này đều được huấn
luyện với tập dữ liệu huấn luyện gồm 1000 mẫu đã tạo ra ở Mục 2.5.2. Kết quả dự
đoán trên tập dữ liệu kiểm tra được trình bày trên Hình 2.24.
Độ chính xác của mô hình với 5 bộ phân loại yếu chỉ đạt 0,746. Khi sử dụng 10
bộ phân loại yếu, độ chính xác tăng lên 0,874. Nếu tăng số lượng bộ phân loại yếu
lên 50, độ chính xác đạt 0,977. Ba trường hợp sử dụng 100, 500 và 1000 bộ phân loại
yếu, độ chính xác lần lượt là 0,976, 0,979 và 0,979. Một cách trực quan có thể thấy,
độ chính xác của mô hình AdaBoost cải thiện đáng kể khi tăng số bộ phân loại yếu
từ 5 lên 50. Tuy nhiên, khi số lượng bộ phân loại trên 50, chất lượng mô hình hầu
như không thay đổi.
70
Hình 2.24. Ảnh hưởng của số lượng bộ phân loại yếu tới độ chính xác
của mô hình AdaBoost khi đánh giá an toàn kết cấu giàn.
2.7. Tóm tắt Chương 2
Chương 2 trình bày bốn phần chính. Trong phần đầu tiên, một chương trình máy
tính có tên gọi pyTruss được phát triển để phân tích kết cấu giàn. Phần thứ hai giới
thiệu chung về công nghệ Học máy cũng như trình bày sơ bộ một số mô hình Học
máy thông dụng cho bài toán phân loại. Phần tiếp theo thiết lập quy trình xây dựng
mô hình Học máy giúp dự đoán kết cấu giàn có đảm bảo các điều kiện ràng buộc hay
không. Phần thứ tư của Chương 2 thực hiện một số nghiên cứu so sánh hiệu năng của
các mô hình Học máy cũng như khảo sát ảnh hưởng của các siêu tham số tới chất
lượng mô hình. Từ đó, một số kết luận chung có thể rút ra như sau:
Trong bài toán đánh giá an toàn cho kết cấu giàn, mô hình AdaBoost thể hiện
hiệu năng vượt trội so với hai mô hình còn lại với độ chính xác luôn duy trì trên 90%.
Căn cứ trên kết quả khảo sát có thể đưa ra khuyến cáo tập dữ liệu huấn luyện
nên được khởi tạo với 1000 mẫu dữ liệu. Tương tự, số bộ phân loại yếu trong mô
hình AdaBoost nên được thiết lập bằng 50.
Tổng thể, các mô hình Học máy có khả năng đánh giá tương đối chính xác trạng
thái an toàn cho kết cấu giàn. Cách thức cụ thể nhằm kết hợp các mô hình Học máy
cùng với thuật toán tối ưu sẽ được trình bày trong Chương 3. Kết quả chính của
Chương 2 đã được công bố tại [104].
71
Chương 3. Đề xuất phương pháp giảm số lần phân tích kết cấu
trong quá trình tối ưu bằng mô hình học máy
3.1. Đặt vấn đề
Việc xác định tiết diện các thanh giàn sao cho trọng lượng của kết cấu giàn nhỏ
nhất trong khi vẫn đảm bảo các điều kiện chịu lực là một bài toán thường xuyên gặp
trong công tác thiết kế thực tế. Rất nhiều nghiên cứu đã áp dụng thành công các thuật
toán tối ưu để giải quyết bài toán nêu trên. Những nghiên cứu gần đây hầu hết đều sử
dụng các thuật toán meta-heuristic do những ưu điểm như: có khả năng thoát khỏi
cực tiểu địa phương, không yêu cầu tính toán đạo hàm, có thể áp dụng cho cả biến
liên tục hoặc rời rạc. Tuy nhiên các thuật toán meta-heuristic đều có nhược điểm
chung là cần phải thử nghiệm rất nhiều phương án để có thể tìm được phương án tối
ưu nhất. Với mỗi phương án thử đều phải tiến hành phân tích kết cấu bằng phương
pháp PTHH, sau đó kiểm tra các điều kiện ràng buộc, trong đó bước phân tích PTHH
tốn nhiều thời gian nhất. Chính vì vậy, giảm bớt số lần thực hiện phân tích PTHH là
yếu tố then chốt nhằm rút ngắn thời gian tối ưu.
Mục tiêu của Chương 3 là đề xuất phương pháp kết hợp mô hình Học máy với
thuật toán DE để giảm số lần phân tích PTHH, qua đó rút ngắn quá trình tối ưu nhưng
vẫn đảm bảo tìm được kết quả chính xác. Nội dung Chương 3 gồm ba phần chính:
(1) Phần một giới thiệu thuật toán DE, các kỹ thuật để xử lý điều kiện ràng buộc, và
cách sử dụng thuật toán DE để giải quyết bài toán xác định tiết diện nhằm cực tiểu
hóa trọng lượng giàn; (2) Phần hai đề xuất một phương pháp kết hợp mô hình Học
máy vào thuật toán DE; (3) Phần ba đánh giá hiệu quả của phương pháp đã đề xuất
thông qua so sánh kết quả tối ưu bằng phương pháp đề xuất với thuật toán DE gốc và
các thuật toán meta-heuristic khác nhằm chứng minh tính ưu việt của nó.
3.2. Tối ưu tiết diện giàn bằng thuật toán DE
3.2.1. Bài toán xác định tiết diện tối ưu nhằm cực tiểu hóa trọng lượng giàn
Xác định tiết diện tối ưu để cực tiểu hóa trọng lượng giàn bản chất là một bài
toán tối ưu có ràng buộc trong đó biến thiết kế là tiết diện các thanh giàn, hàm mục
tiêu là trọng lượng của cả hệ kết cấu, còn điều kiện ràng buộc thường bao gồm các
72
điều kiện bền về ứng suất, điều kiện hạn chế chuyển vị, rung động. Phát biểu toán
học của bài toán tối ưu tiết diện các thanh giàn như sau:
tìm , 1,2,...,iA i n Α
nhằm tối thiểu hóa
1
( )
n
i i i
i
W A L
A (3.1)
chịu các điều kiện ràng buộc
,min ,max
, 1, ,
, 1, ,
, 1, ,
i i
j j
i i i
i n
j m
A A A i n
trong đó: A là một véc-tơ n chiều chứa giá trị của n biến số Ai, mỗi biến số Ai là diện
tích tiết diện của các thanh giàn thứ i; Ai,min và Ai,max là giá trị cận dưới và cận trên
của biến Ai; W(A) là hàm mục tiêu, cụ thể trong trường hợp này là trọng lượng của
kết cấu giàn; Li là chiều dài của thanh giàn thứ i; i là trọng lượng của vật liệu sử
dụng để chế tạo thanh giàn thứ i; i và []i lần lượt là giá trị ứng suất thực và ứng
suất cho phép của thanh giàn thứ i; j và []j lần lượt là giá trị chuyển vị thực và
chuyển vị cho phép của nút giàn thứ j; n và m là số lượng thanh giàn và số lượng nút
giàn.
Các điều kiện ràng buộc về ứng suất và chuyển vị thường được viết lại dưới
dạng chuẩn hóa như sau:
1 0, 1,2,...,
1 0, 1,2,...,
i
i
i
j
j
j
g i n
g j m
(3.2)
3.2.2. Thuật toán DE
Thuật toán Tiến hóa Vi phân (Differential Evolution, gọi tắt là thuật toán DE)
là một thuật toán tối ưu thuộc nhóm thuật toán meta-heuristic được giới thiệu lần đầu
tiên vào năm 1995 bởi hai nhà khoa học K. Price và R. Storn [130]. Nhờ những ưu
điểm như đơn giản, không yêu cầu kỹ năng lập trình cao, tốc độ hội tụ nhanh, thuật
toán DE được áp dụng rộng rãi trong nhiều ngành kỹ thuật như: vận tải, cơ khí, hàng
không, xây dựng,... Thuật toán DE nhiều lần được xếp thứ hạng cao ở các cuộc thi
73
trong lĩnh vực tính toán tiến hóa [40,41]. Một số nghiên cứu so sánh các thuật toán
meta-heuristic khi giải quyết bài toán tối ưu kết cấu [34,52,60,129,146] cho thấy thuật
toán DE có hiệu năng vượt trội hơn các thuật toán khác.
Ý tưởng cơ bản của thuật toán DE dựa trên cơ chế tiến hóa trong tự nhiên. Theo
học thuyết Darwin, động lực của tiến hóa là đột biến và chọn lọc tự nhiên. Tương tự
như vậy, thuật toán DE cũng bao gồm bốn bước cơ bản như Hình 3.1 trong đó bước
Khởi tạo được thực hiện một lần khi bắt đầu quá trình tiến hóa, còn ba bước tiếp theo
là Đột biến, Lai ghép, Chọn lọc được tuần tự thực hiện nhiều lần cho đến khi đạt tới
điều kiện dừng. Thông qua ba bước này, thuật toán DE tạo ra những đột biến ở các
cá thể trong quần thế cũ và chọn lọc những đột biến có mức độ thích nghi cao cho
quần thể kế tiếp. Nhờ đó, chất lượng của quần thể mới được cải thiện và tiến dần tới
tối ưu.
Khởi tạo Đột biến Lai ghép Chọn lọc
Điều kiện
dừng
S
Đ Kết thúc
Hình 3.1. Sơ đồ khối của thuật toán DE.
Bước 1: Khởi tạo. Quá trình tối ưu bắt đầu bằng cách khởi tạo một quần thể
ban đầu pop0 gồm NP cá thể pop0={xi(0) | i=1,2,,NP}. Mỗi cá thể là một véc-tơ D
chiều xi(0)={xi,j(0) | j=1,2,...,D} tương ứng với một phương án của bài toán tối ưu. Để
có thể xác định được tối ưu tổng thể, quần thể ban đầu nên trải rộng trên toàn bộ
không gian tìm kiếm. Cách đơn giản nhất để khởi tạo quần thể ban đầu là sử dụng kỹ
thuật gieo mẫu theo phân bố đồng nhất, theo đó phần tử thứ j thuộc cá thể thứ i trong
quần thể ban đầu pop0 được tạo ra theo công thức:
(0) min max min, , [0,1]i j j i j j jx x rand x x (3.3)
trong đó: xi,j(0) là phần tử thứ j của cá thể xi(0); randi,j[0,1] là hàm số trả về số thực
ngẫu nhiên theo phân phối đồng nhất trong khoảng (0,1); xjmax và xjmin tương ứng là
cận trên và cận dưới của xi,j.
Bước 2: Đột biến. Tiếp theo, thuật toán DE tạo ra NP cá thể đột biến từ NP cá
thể ban đầu. Xét vòng đời thứ t, quần thể tại thời điểm này là popt={xi(t)|i=1,2,,NP}.
Cá thể đột biến vi(t) được tạo ra từ cá thể xi(t) bằng cách thêm phần khác biệt giữa hai
cá thể ngẫu nhiên vào cá thể ngẫu nhiên thứ ba theo công thức sau:
74
( ) ( ) ( ) ( )1 2 3t t t ti r r rF v x x x (3.4)
trong đó: r1 r2 r3 i là ba số tự nhiên được lựa chọn một cách ngẫu nhiên trong
khoảng [1,NP]; F là hệ số điều chỉnh.
Cách tạo ra đột biến như công thức (3.4) được đặt tên là “DE/rand/1” do chỉ có
một lượng khác biệt được thêm vào một cá thể ngẫu nhiên. Ngoài ra, hai tác giả còn
đề xuất một số cách tạo đột biến khác như:
“DE/best/1”:
( ) ( ) ( ) ( )1 2t t t ti best r rF v x x x (3.5)
“DE/rand/2”:
( ) ( ) ( ) ( ) ( ) ( )1 2 3 4 5t t t t t ti r r r r rF F v x x x x x (3.6)
“DE/best/2”:
( ) ( ) ( ) ( ) ( ) ( )1 2 3 4t t t t t ti best r r r rF F v x x x x x (3.7)
“DE/current-to-best/1”:
( ) ( ) ( ) ( ) ( ) ( )1 2t t t t t ti i best i r rF F v x x x x x (3.8)
trong đó: xbest(t) là cá thể tốt nhất trong số các cá thể thuộc quần thể popt.
Bước ba: Lai ghép. Tiếp theo, một cá thể thử nghiệm ui(t) được tạo ra bằng
cách lấy một số phần tử từ cá thể đột biến vi(t) và phần còn lại từ cá thể mục tiêu xi(t):
( )
,( )
, ( )
,
t
i jt
i j t
i j
v
u
x
nếu j=K hoặc randi,j[0,1] ≤ Cr
(3.9)
ngược lại
với: uij(t), vij(t), và xij(t) tương ứng là phần tử thứ j của các vector ui(t), vi(t), xi(t); K là số
tự nhiên ngẫu nhiên trong khoảng [1,D] nhằm đảm bảo cá thể thử nghiệm lấy ít nhất
một phần tử từ cá thể đột biến; Cr là tỷ lệ lai ghép.
Bước bốn: Chọn lọc. Cá thể tốt hơn trong hai cá thể ui(t) và xi(t) sẽ được giữ lại
cho vòng đời kế tiếp:
75
( )
( 1)
( )
t
t i
i t
i
u
x
x
nếu f(ui(t)) ≤ f(xi(t))
(3.10)
ngược lại
với: f(.) là hàm mục tiêu.
Quá trình tối ưu lặp đi lặp lại cho tới khi đến đạt điều kiện dừng. Thông thường,
điều kiện dừng được thiết lập là khi đạt tới số vòng đời cho trước max_iter.
3.2.3. Kỹ thuật xử lý điều kiện ràng buộc
Thuật toán DE cũng giống như hầu hết các thuật toán meta-heuristic khác ban
đầu được thiết kế để giải quyết các bài toán tối ưu không có điều kiện ràng buộc. Đối
với những bài toán tối ưu có điều kiện ràng buộc như tối ưu tiết diện giàn nêu ở Mục
3.2.1, để áp dụng thuật toán DE cần sử dụng kỹ thuật xử lý điều kiện ràng buộc. Một
số kỹ thuật xử lý điều kiện ràng buộc phổ biến có thể kể đến như: phương pháp hàm
phạt, bộ quy tắc khả thi của Deb, phương pháp xử lý điều kiện ràng buộc ,... Luận
án sử dụng phương pháp hàm phạt trong tất cả các bài toán tối ưu nghiên cứu.
Phương pháp hàm phạt là một kỹ thuật đơn giản thường được áp dụng để chuyển
một bài toán tối ưu ràng buộc thành bài toán tối ưu không có điều kiện ràng buộc. Cụ
thể, hàm mục tiêu W(A) trong công thức (3.1) sẽ được biến đổi thành hàm thích nghi
Fit(A) bằng cách thêm vào một lượng phạt mỗi khi có một điều kiện ràng buộc bị vi
phạm như sau:
W P
Fit
W
A A
A
A
nếu cv(A) > 0
(3.11)
ngược lại
trong đó: Fit(A) là hàm thích nghi, P(A) được gọi là hàm phạt, cv(A) là mức độ vi
phạm điều kiện ràng buộc, được lấy bằng tổng các ràng buộc vi phạm như trong công
thức (3.12) hoặc bằng vi phạm nhiều nhất như công thức (3.13):
1
max 0,
nc
k
k
cv g
A A (3.12)
max max 0,k kcv gA A (3.13)
trong đó: gk(A) là điều kiện ràng buộc thứ k đã chuẩn hóa, nc là số lượng điều kiện
ràng buộc.
Việc thiết lập giá trị hàm phạt P(A) có bốn cách chính:
76
Hàm phạt tử hình (Death Penalty). Hàm phạt được thiết lập là một giá trị vô
cùng lớn P(A) = +∞ không đổi trong suốt quá trình tối ưu. Bằng cách này, các cá thể
vi phạm bất kỳ điều kiện ràng buộc nào sẽ có giá trị hàm thích nghi Fit(A) rất lớn và
chắc chắn sẽ bị loại bỏ tại bước Chọn lọc.
Hàm phạt tĩnh (Static Penalty). Một lượng phạt cố định được thêm vào mỗi
khi một điều kiện ràng buộc bị vi phạm:
1
max 0,
nc
k k
k
P PF g
A A (3.14)
trong đó: PFk là hệ số phạt tương ứng với điều kiện ràng buộc gk(A). Các hệ số phạt
PFk không đổi trong suốt quá trình tối ưu.
Hàm phạt động (Dynamic Penalty). Trong trường hợp này, hệ số phạt PFk là
một hàm số có biến là số vòng đời t. Hàm phạt động thường cho tốc độ hội tụ nhanh
hơn hàm phạt tĩnh nhưng việc lựa chọn hàm phù hợp cho hệ số phạt không đơn giản.
Hàm phạt thích nghi (Adaptive Penalty). Hàm phạt có thể tăng hoặc giảm tùy
thuộc kết quả tối ưu ở vòng đời trước. Sử dụng hàm phạt thích nghi cho phép cân
bằng giữa hai mục tiêu thăm dò và khai thác trong quá trình tối ưu. Tuy nhiên việc
lựa chọn các tham số dùng trong hàm phạt thích nghi rất khó khăn, tùy thuộc vào
từng bài toán cụ thể.
3.2.4. Ví dụ áp dụng thuật toán DE tối ưu tiết diện giàn
Xét một kết cấu giàn ba thanh chịu một lực tập trung P=2 kN, L=100 cm như
Hình 3.2. Hai thanh xiên có cùng tiết diện A1, thanh đứng tiết diện A2. Mục tiêu của
bài toán là xác định các tiết diện A1 và A2 để trọng lượng giàn nhỏ nhất trong khi ứng
suất trong các thanh giàn không vượt quá ứng suất cho phép []=2 kN/cm2.
L
L L
P
A1 A2 A1
Hình 3.2. Sơ đồ giàn ba thanh.
77
Bài toán được trình bày dưới dạng công thức toán học như sau:
tìm 1 2,A AA
nhằm tối thiểu hóa hàm 1 22 2W A A L A (3.15)
thỏa mãn các điều kiện
1 2
0 | 1,2,3
0.1 , 1
i ig i
A A
A
trong đó: i là ứng suất trong thanh thứ i.
Để áp dụng thuật toán DE vào bài toán giàn 3 thanh đang xem xét, ví dụ sử dụng
phương pháp hàm phạt. Theo đó, việc tối thiểu hóa hàm mục tiêu W(A) sẽ được
chuyển thành tối thiểu hóa hàm thích nghi Fit(A) như sau:
( ) 1Fit cv W A A A (3.16)
trong đó: cv(A) là mức độ vi phạm điều kiện ràng buộc như công thức (3.12).
Hàm thích nghi trong công thức (3.16) có thể được biểu diễn như trên Hình 3.3.
(a) Dạng 3 chiều (b) Dạng 2 chiều
Hình 3.3. Biểu diễn hàm thích nghi.
Thuật toán DE bắt đầu bằng việc khởi tạo một quần thể ban đầ