Luận văn Ứng dụng các phương pháp tính toán tiến hóa để giải quyết bài toán tối ưu công thức dược phẩm
          
        
            
            
              
            
 
            
                
                    ỨNG DỤNG CÁC PHƯƠNG PHÁP TÍNH TOÁN TIẾN HÓA ĐỂ GIẢI QUYẾT BÀI TOÁN TỐI ƯU CÔNG THỨC DƯỢC PHẨM
 
 
VŨ YẾN NI
 
Trang nhan đề 
Lời cảm ơn 
Mục lục 
Danh mục 
Chương 1: Đặt vấn đề 
Chương 2: Tổng quan và cơ sở lý thuyết 
Chương 3: Chương trình ứng dụng 
Chương 4: Đánh giá và hướng phát triển 
Phụ lục
 
Mục lục
LỜI CẢM ƠN 1
Mục lục .2
Danh mục các bảng .4
Danh mục các hình vẽ, đồ thị .5
CHƯƠNG 1. ĐẶT VẤN ĐỀ .7
1.1. Thiết kế và tối ưu hóa công thức 7
1.2. Mục tiêu và nội dung của đề tài .8
1.3. Nội dung trình bày của luận văn 9
CHƯƠNG 2. TỔNG QUAN VÀ CƠ SỞ LÝ THUYẾT 10
2.1. Kỹ thuật tính toán tiến hóa [7], [9] .10
2.2. Thuật giải di truyền (Genetic Algorithms) [1], [3], [7], [9] .12
2.2.1. Khái niệm 12
2.2.2. Cấu trúc .12
2.3. Lập trình di truyền (Genetic Programming) [4], [6], [7], [8], [10], [11] .16
2.3.1. Tạo cấu trúc cây: .19
2.3.2. Các thao tác di truyền 20
2.3.3. Hàm tính giá trị thích nghi 21
2.3.4. Phương pháp chọn lọc .23
2.4. Ứng dụng 2 kỹ thuật tính toán tiến hóa để tối ưu công thức dược phẩm .25
2.4.1. Giai đoạn 1: Mô hình hóa dữ liệu: 27
2.4.2. Giai đoạn 2: Tối ưu hóa công thức: 32
CHƯƠNG 3. CHƯƠNG TRÌNH ỨNG DỤNG 35
3.1. Yêu cầu .35
3.2. Cài đặt 35
Bước 1: Nhập bộ dữ liệu thực nghiệm. .37
Bước 2: Xác định các biến độc lập và phụ thuộc 38
Bước 3: Dùng GP tìm các công thức quan hệ giữa x và y 39
Bước 4: Nhập dữ liệu đầu vào cho GA .43
Bước 5: Dùng GA tìm các giá trị x sao cho các y đạt giá trị tối ưu 44
3.3. So sánh kết quả dự đoán từ phần mềm GP với thực nghiệm .49
3.4. So sánh kết quả dự đoán từ phần mềm GP với các phương pháp khác .52
3.4.1. Dữ liệu công thức 52
3.4.2. Mô hình hoá dữ liệu 52
3.4.3. Tối ưu hoá công thức 57
3.5. Đánh giá ảnh hưởng số lượng cá thể và số thế hệ trên kết quả dự đoán 59
3.5.1. Dữ liệu viên matrix 59
3.5.2. Dữ liệu viên Acyclovir .63
Chương 4. ĐÁNH GIÁ VÀ HƯỚNG PHÁT TRIỂN. 68
4.1. Đánh giá. 68
4.1.1. Những kết quả đạt được. .68
4.1.2. Những tồn tại cần giải quyết. 68
4.2. Hướng phát triển. .69
TÀI LIỆU THAM KHẢO 70
PHỤ LỤC .72
A. Tối ưu viên matrix 72
B. Chương trình INForm 3.6 .74
C. Đánh giá ảnh hưởng biến: 76
                
              
                                            
                                
            
 
            
                
33 trang | 
Chia sẻ: maiphuongtl | Lượt xem: 1868 | Lượt tải: 0
              
            Bạn đang xem trước 20 trang tài liệu Luận văn Ứng dụng các phương pháp tính toán tiến hóa để giải quyết bài toán tối ưu công thức dược phẩm, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
35
CHƯƠNG 3. CHƯƠNG TRÌNH ỨNG DỤNG 
3.1. Yêu cầu 
Chương trình ứng dụng phải giải quyết được các vấn đề sau: 
- Thiết lập được phương trình toán học thể hiện mối quan hệ giữa các biến độc lập 
x và các biến phụ thuộc y từ bộ dữ liệu thực nghiệm đưa vào (dựa trên mô hình 
thực nghiệm). 
- Dự đoán được giá trị của các biến phụ thuộc y từ giá trị các biến độc lập x. 
- Cho người dùng đưa ra yêu cầu về tính chất, giá trị của các biến phụ thuộc y, từ 
đó, chương trình phải tối ưu các biến độc lập x. 
Ngoài ra, chương trình còn có các tính toán, thống kê để đánh giá các kết quả xuất 
ra. 
3.2. Cài đặt 
Chương trình ứng dụng 2 kỹ thuật tính toán tiến hóa là thuật giải di truyền và lập 
trình di truyền kết hợp logic mờ giải quyết bài toán tối ưu hóa công thức. 
Giao diện chính của chương trình 
Formatted: Indent: Left: 0 pt
36
Hình 3.1. Giao diện chính của chương trình 
Chương trình gồm 5 bước thực hiện chính như sau: 
- Bước 1: Nhập bộ dữ liệu thực nghiệm. 
- Bước 2: Xác định các biến độc lập và phụ thuộc. 
- Bước 3: Dùng GP tìm các công thức quan hệ giữa x và y. 
- Bước 4: Nhập dữ liệu đầu vào cho GA. 
- Bước 5: Dùng GA tìm các giá trị x sao cho các y đạt giá trị tối ưu. 
37
Bước 1: Nhập bộ dữ liệu thực nghiệm. 
Hình 3.2. Bước 1: Nhập bộ dữ liệu thực nghiệm. 
Chương trình hỗ trợ việc nhập bộ dữ liệu thực nghiệm bằng 3 cách: 
- Nhập trực tiếp từ bàn phím. 
- Mở từ tập tin MS Excel. 
- Sao chép từ chương trình MS Excel. 
38
Bước 2: Xác định các biến độc lập và phụ thuộc. 
Hình 3.3. Bước 2: Xác định các biến độc lập và phụ thuộc. 
Chương trình đã đặt mặc định, cho phép hỗ trợ người dùng xác định biến 1 cách tự 
động: 
- Các tên biến bắt đầu bằng chữ x là các biến độc lập. 
- Các tên biến bắt đầu bằng chữ y là các biến phụ thuộc. 
Deleted: ắ
Deleted: ắ
39
Bước 3: Dùng GP tìm các công thức quan hệ giữa x và y. 
Hình 3.4. Bước 3: Dùng GP tìm các công thức quan hệ giữa x và y. 
Sau khi đã cài đặt các tham số cần thiết cho thuật toán, người dùng có thể chọn từng 
biến phụ thuộc và chọn thao tác Khởi tạo quần thể để khởi tạo quần thể ban đầu, 
sau đó chọn thao tác Huấn luyện để chạy thuật toán hoặc chọn thao tác Khởi tạo tất 
cả để thực hiện trên tất cả các biến phụ thuộc. 
Trong đó, giá trị R2 (luyện và thử) được tính theo công thức sau: 
100
)(
)ˆ(
1
1
2
1
2
2 ×
⎟⎟
⎟⎟
⎟⎟
⎟
⎠
⎞
⎜⎜
⎜⎜
⎜⎜
⎜
⎝
⎛
−
−
−=
∑
∑
=
=
n
i
i
n
i
ii
yy
yy
R 
Với: 
n: số lượng dữ liệu thực nghiệm. 
iy : giá trị thực nghiệm thứ i của biến phụ thuộc. 
Formatted: Superscript
Formatted: Centered, Tabs: 439.5
pt, Right
Formatted: Lowered by 45 pt
Formatted: Indent: First line: 36 pt
Formatted: Lowered by 6 pt
40
 iyˆ : giá trị dự đoán thứ i của biến phụ thuộc. 
 :y giá trị trung bình của biến phụ thuộc. 
Trong quá trình thực hiện thuật toán: 
- Biểu đồ tổng lỗi thể hiện giá trị thích nghi của cá thể tốt nhất trong quần thể hiện 
tại. 
- Biểu đồ dự đoán thể hiện sự tương quan giữa giá trị thực nghiệm và giá trị tìm 
được của biến phụ thuộc. 
Hình 3.5. Biểu đồ dự đoán 
Formatted: Lowered by 6 pt
Formatted: Lowered by 5 pt
41
Các phép tính được sử dụng: 
- Toán tử một ngôi: 
Hình 3.6. Các phép tính một ngôi được sử dụng trong chương trình. 
- Toán tử hai ngôi: 
Hình 3.7. Các phép tính hai ngôi được sử dụng trong chương trình. 
42
Biểu đồ 3D thể hiện mối tương quan bằng đồ thị giữa các biến phụ thuộc và các 
biến độc lập. 
Hình 3.8. Biểu đồ 3D 
Ngoài ra, ở bước này, chương trình còn cho phép người sử dụng xem chi tiết các cá 
thể trong quần thể hiện tại, đồng thời thể hiện kết quả mà cá thể tốt nhất đạt được. 
Hơn nữa, phần này còn cho phép người dùng chọn lại cá thể khác mà người dùng 
cho là thích hợp hơn trong quần thể hiện tại. 
 Hình 3.9. Xem chi tiết quần thể 
Formatted: Font: Bold, Italic
Deleted: ¶
43
Bước 4: Nhập dữ liệu đầu vào cho GA. 
Hình 3.10. Bước 4: Nhập dữ liệu đầu vào cho GA. 
Nếu giá trị của các biến độc lập được xác định, thì dựa vào công thức tìm được ở 
bước 3, chương trình sẽ đưa ra giá trị tương ứng của các biến phụ thuộc. 
Người dùng nhập vào các điều kiện ràng buộc trên các biến độc lập như: miền giá 
trị (mặc định được tổng hợp từ dữ liệu thực nghiệm ban đầu), yêu cầu về giá trị (là 
một giá trị cố định hay là một số nguyên…)… và đồng thời nhập giá trị tối ưu mà 
người dùng yêu cầu trên các biến phụ thuộc. 
Deleted: ¶
44
Hình 3.11. Nhập các điều kiện ràng buộc cho các biến độc lập 
Bước 5: Dùng GA tìm các giá trị x sao cho các y đạt giá trị tối ưu. 
Hình 3.12. Bước 5: Dùng GA tìm các giá trị x sao cho các y đạt giá trị tối ưu. 
45
Sau khi đã cài đặt các tham số cần thiết, người dùng chọn thao tác Khởi tạo quần 
thể để tạo quần thể ban đầu cho GA, chọn thao tác Huấn luyện để thực hiện thuật 
toán. Sau khi dừng việc huấn luyện, có thể chọn một số cá thể để xuất ra trong phần 
báo cáo. 
Phần báo cáo xuất ra cả quá trình thực hiện, từ bước nhập dữ liệu thực nghiệm, xác 
định biến phụ thuộc, kết quả của GP, các điều kiện ràng buộc trên các biến độc lập 
và phụ thuộc, và kết quả của GA: các giá trị của các biến độc lập để các biến phụ 
thuộc nhận các giá trị tối ưu theo yêu cầu của người dùng. 
BÁO CÁO KẾT QUẢ 
Công thức thực nghiệm 
• Số biến độc lập:4 
• Số biến phụ thuộc:4 
• Dữ liệu thực nghiệm: 
STT x1 x2 x3 x4 y1 y2 y3 y4 
1 3 1 3 1 42.58 74.97 90.52 102.81 
2 3 3 4 1 25.12 46.83 67.09 81.69 
3 3 2.3 2 1 28.68 60.01 78.24 88.97 
4 3 1.7 5 1 19.37 46.38 68.34 89.23 
5 7 1 4 1 3.39 12.6 23.23 37.03 
6 7 3 3 1 13.59 29.27 40.82 60.64 
7 7 1.7 2 1 6.24 20.89 33.97 56.44 
8 7 2.3 5 1 3.86 13.35 23.56 40.19 
9 5.7 1 2 1 11.59 31.83 49.55 75.81 
10 4.3 1 5 1 22.51 59.68 73.29 83.71 
11 4.3 3 2 1 11.62 32 43.34 64.41 
12 5.7 3 5 1 16.02 34.45 53.55 68.14 
13 3 1 2 2 21.28 63.86 83.43 100.95 
14 7 1 2 2 8.42 21.53 37.37 54.99 
Formatted: Font: Bold, Italic
Formatted: Font: Bold, Italic
Formatted: Bullets and Numbering
Deleted: ề
46
15 3 3 2 2 34.64 62.01 76.57 96.34 
16 7 3 2 2 15.91 35.42 59.32 78.57 
17 3 1 5 2 28.8 65.87 89.29 103.21 
18 7 1 5 2 6.79 18.97 29.53 41.46 
19 3 3 5 2 43.51 71.05 89.75 104.66 
20 7 3 5 2 9.29 24.98 35.93 55.61 
21 5 2 3.5 2 10.34 30.3 45.47 63.32 
• Số lượng dữ liệu luyện: 17 
• Số lượng dữ liệu thử: 
o y1: 4 ( 1; 5; 8; 16; ) 
o y2: 4 ( 5; 8; 17; 19; ) 
o y3: 4 ( 3; 6; 8; 19; ) 
o y4: 4 ( 6; 8; 14; 17; ) 
Kết quả mô hình dự đoán 
• y1=((((79.93 / x1) + x2) + ((x3 * x2) / (x1 / x4))) - ((9.34 - (4.31 / x2)) - ((x2 * x2) / 
(x1 / x4)))) 
R2 Luyện= 85.2 % 
R2 Thử= 58.66 % 
R2 = 75.89 % 
• y2=((((86.76 - x3) / x1) + ((83.46 - x3) / x1)) - (((99 / x2) / x4) / ((96.47 / x1) - 
(37.04 * x2)))) 
R2 Luyện= 84.17 % 
R2 Thử= 79.56 % 
R2 = 82.39 % 
• y3=(((x2 / (x3 / 17.46)) / ((x1 - 10.52) + x1)) - ((x4 + 10.86) * (x1 - 9.61))) 
R2 Luyện= 85.36 % 
R2 Thử= 93.59 % 
R2 = 87.69 % 
• y4=(((43.17 + (11.39 / x2)) / ((15.29 * x1) / (x4 + 83.2))) + ((x2 * (15.08 * x1)) / 
((x3 + 74.19) / x1))) 
R2 Luyện= 80.28 % 
Formatted: Bullets and Numbering
Formatted: Bullets and Numbering
47
R2 Thử= 82.02 % 
R2 = 81.51 % 
Yêu cầu tối ưu công thức 
• Ràng buộc cho các biến độc lập: 
o 3 ≤ x1 ≤ 7 
o 1 ≤ x2 ≤ 3 
o 2 ≤ x3 ≤ 5 
o 1 ≤ x4 ≤ 2 
• Ràng buộc cho các biến phụ thuộc: 
o 10 ≤ y1 ≤ 20 
o 40 ≤ y2 ≤ 55 
o 55 ≤ y3 ≤ 79 
o y4 ≥ 78 
Kết quả công thức tối ưu 
STT x1 x2 x3 x4 y1 y2 y3 y4 
1 3.65 1.18 2.23 1.24 18.758 49.33 69.247 83.024 
2 3.75 1.34 3.61 1.9 19.892 45.093 72.628 80.341 
3 3.65 1.29 4.8 1.21 19.794 46.976 70.48 81.93 
4 3.67 2.08 2.51 1.28 19.921 45.746 67.562 78.745 
5 3.51 1.18 2.28 1.07 19.509 52.03 70.191 85.809 
6 3.8 1.18 2.04 1.97 18.497 46.046 71.084 80.802 
7 3.75 1.11 2.23 1.92 18.866 47.221 72.013 82.401 
8 3.65 1.77 2.41 1.54 19.885 46.243 69.922 79.963 
9 3.51 1.88 2.49 1.02 19.992 48.302 68.702 81.808 
10 3.79 1.06 4.96 1.51 19.418 46.775 70.724 81.714 
Hình 3.13. Xuất báo cáo kết quả của quá trình tối ưu công thức 
Formatted: Bullets and Numbering
Deleted: ¶
BÁO CÁO KẾT QUẢ¶
Công thức thực nghiệm¶
Số biến độc lập:3 ¶
Số biến phụ thuộc:3 ¶
Dữ liệu thực nghiệm: ¶
STT ... [5]
48
Bước này với sự kết hợp với logic mờ, khi xác định giá trị tối ưu của các biến phụ 
thuộc thông qua mô hình nhân quả tìm được từ GP, các giá trị này sẽ được ánh xạ 
sang các giá trị mờ nhờ các hàm thành viên được xác định bởi người dùng. Với cách 
định nghĩa tối ưu biến phụ thuộc, biến phụ thuộc được xem là tối ưu khi giá trị được 
ánh xạ qua hàm thành viên bằng 1, như vậy: 
Σƒi (yi) ≤ số biến phụ thuộc 
với ƒi là hàm thành viên tương ứng với biến phụ thuộc yi. 
Các hàm mờ được sử dụng trong quá trình tối ưu: 
Hàm mái bằng (Flat Tent): giá trị tối ưu 
được xác định trong khoảng từ Mid1 đến 
Mid2. Mức tối ưu giảm từ Mid1 đến Min 
và Mid2 đến Max. 
Hàm lên dốc (Up): Giá trị tối ưu được 
xác định trong khoảng từ Mid (Mid = 
Mid1 = Mid2) đến Max. Mức tối ưu 
giảm từ Mid đến Min 
Hàm xuống dốc (Down): Giá trị tối ưu 
được xác định trong khoảng từ Min đến 
Mid (Mid = Mid1 = Mid2). Mức tối ưu 
giảm từ Mid đến Max. 
49
Hàm phẳng (Flat): Giá trị tối ưu là bất kỳ 
giá trị nào nằm trong khoảng từ Min đến 
Max. 
3.3. So sánh kết quả dự đoán từ phần mềm GP với thực nghiệm 
Tối ưu công thức Cefuroxim 
Với : 
 y1 : độ đắng 
 y2 : độ hòa tan (%) 
Điều kiện tối ưu hóa : 
 x1>= 312 
 y1 : càng nhỏ càng tốt 
 y2 : càng lớn càng tốt 
Kết quả đạt được từ chương trình ứng dụng: 
BÁO CÁO KẾT QUẢ 
Công thức thực nghiệm 
• Số biến độc lập:3 
• Số biến phụ thuộc:2 
• Dữ liệu thực nghiệm: 
STT x1 x2 x3 y1 y2 
1 312 300 20 1 77.23 
2 234 300 40 1 83.56 
3 234 150 40 1 82.89 
50
4 312 450 40 0 76.98 
5 468 150 20 0 63.12 
6 312 450 20 1 77.98 
7 468 450 40 0 63.68 
8 468 300 20 0 62.91 
9 234 450 40 1 83.22 
10 234 300 20 1 83.41 
11 468 150 40 0 61.48 
12 312 300 40 0 78.15 
13 312 150 20 1 77.63 
14 234 150 20 1 81.87 
• Số lượng dữ liệu luyện: 12 
• Số lượng dữ liệu thử: 
o y1: 2 ( 10; 11; ) 
o y2: 2 ( 10; 11; ) 
Kết quả mô hình dự đoán 
• y1=((((26.32 * (78.26 / (((x2 + (9.07 / x2)) * (x1 / 31.1)) / x2))) - (((((4.49 - (90.23 
+ 51.4)) + x1) * x3) / ((x3 - ((73.2 - x1) * (x1 / 97.44))) - ((93.37 * x1) / (x3 - (x3 / 
36.86))))) + squareRootAbs(((x1 / (53.96 - x3)) * x1) + x1))) / x1) - ((91.62 * x1) / 
(59.7 * ((91.62 + (91.62 * x1)) - ((x1 / ((x1 / 18.78) / x3)) * squareRootAbs(x3 - (x1 
* x3))))))) 
R2 Luyện= 99.52 % 
R2 Thử= 98.55 % 
R2 = 99.38 % 
• y2=((((76.48 + x2) / (x1 + 51.26)) + 88.04) - (x1 / (97.11 / (x1 / 88.04)))) 
R2 Luyện= 99.57 % 
R2 Thử= 99.12 % 
R2 = 99.47 % 
Yêu cầu tối ưu công thức 
• Ràng buộc cho các biến độc lập: 
51
o 234 ≤ x1 ≤ 468 
o 150 ≤ x2 ≤ 450 
o 20 ≤ x3 ≤ 40 
o x1 >= 312 
• Ràng buộc cho các biến phụ thuộc: 
o y1 ≤ 0 
o y2 ≥ 83.56 
Kết quả công thức tối ưu 
STT x1 x2 x3 y1 y2 
1 312.747 449.999 39.947 0 78.046 
Từ kết quả dự đoán của GP cho Y2 mô hình dự đoán cho thấy X3 thật sự không có ý 
nghĩa lên độ hoà tan của thuốc. Điều này rất quan trọng có thể giúp nhà bào chế 
hiểu rõ hơn về mối liên hệ giữa các thành phần trong công thức nghiên cứu. Giá trị 
của các biến độc lập có được từ chương trình được dùng để sản xuất thực nghiệm và 
đạt được kết quả như sau: 
X1= 312.75 
X2= 450.00 
X3= 39.95 
Bảng 3.1. Kết quả thực nghiệm 
 Y1 Y2 
Dự đoán từ chương trình 0.00 78.05 
Thực nghiệm 0.00 77.71 
Bằng phương pháp phân tích ANOVA 1 yếu tố, chứng minh được kết quả dự đoán 
và kết quả thực nghiệm rõ ràng không có sự khác biệt về mặt thống kê (P=0.9978). 
Formatted Table
Formatted: No underline
Formatted: Normal
Deleted: ¶
Deleted: X3 
Deleted: x
Deleted: y
Deleted: x1
Deleted: x
Deleted: x
52
3.4. So sánh kết quả dự đoán từ phần mềm GP với các phương 
pháp khác 
Phương pháp thống kê từ nghiên cứu đã công bố và phần mềm tối ưu hoá INForm 
V3.6 với kỹ thuật mạng nơ ron và thuật toán di truyền sẽ được so sánh với kỹ thuật 
tiến hóa trong nghiên cứu này. 
3.4.1. Dữ liệu công thức 
Dữ liệu công thức dược phẩm được tham khảo từ công trình của Bodea và Leucuta 
[5], công thức viên nén matrix bao gồm 13 công thức thực nghiệm với 3 biến độc 
lập (hydroxypropylmethylcellulose, HPMC – X1, sodium carboxymethylcellulose, 
CMCNa – X2 và propranolol HCL – X3). Phần trăm (%) hoạt chất được giải phóng 
sau 1 giờ, 6 giờ, và 12 giờ được xem là các biến phụ thuộc Y1, Y2, và Y3 tương ứng. 
Dữ liệu công thức này đã được tối ưu trong nghiên cứu của Bodea và Leucuta bằng 
phương pháp thống kê D-optimal quadratic. 
Phần này sẽ trình bày kết quả tối ưu dữ liệu này (Phụ lục A) với kỹ thuật tiến hoá và 
ngoài ra kết quả từ kỹ thuật máy tính sẽ được so sánh với kết quả thống kê của 
Bodea và Leucuta [5], và kết quả từ chương trình INForm 3.6 (Phụ lục B). 
3.4.2. Mô hình hoá dữ liệu 
Công thức dự đoán từ kỹ thuật GP: 
Y1=((((((976.35 / 242.53) - (215.21 / x1)) + (x3 - 688.37)) / ((x1 * (x2 * 997.26)) + 
(210.31 + 127.19))) / (((x1 * 584.85) + (913.62 - (x1 * 876.06))) * ((429.69 / x3) / 
(x1 * 876.06)))) * ((((566.8 - 604.07) * (945.87 / 242.53)) / (((88.66 + x3) + x3) / 
(473.73 - 431.87))) + (((x2 * 719.74) - (688.37 - (431.87 / x3))) / ((389.02 * x1) - 
((88.66 + x3) + x3))))) (3.1) 
(R2 = 0.98) 
Y2=((900.52 + (((x1 * x1) * (861.45 + (x2 / 773.25))) - (((x1 * 315.4) * x2) + 
343.42))) / ((((x1 / x3) + (699.75 / 622.59)) * (773.25 + (x1 / (x1 - x3)))) - ((((x2 + 
Formatted: Normal
Formatted: Subscript
Formatted: Subscript
Deleted: GP 
Deleted: phụ lục
Deleted: phụ lục
53
146.69) + (253.13 - 115.75)) - ((x3 - x2) * (x2 * 974.33))) - (((x1 / x3) - x2) * (x2 * 
974.33))))) (3.2) 
(R2 = 0.98) 
Y3=((((((x2 + x2) / x1) / (x3 - x1)) + ((859.1 - 76.57) * x3)) + (783.85 + ((687.92 * 
x2) * (x2 - x3)))) / ((698.57 + (((x3 / 698.57) + (x3 - x1)) + 413.18)) + (x1 * (659.6 
- (x1 / (x3 / 50.92)))))) (3.3) 
(R2 = 0.97) 
Công thức dự đoán từ nghiên cứu của Bodea và Leucuta [5]: 
Y1 = -0.015 + 0.145X1 - 0.062X2 + 0.168X3 + 0.594X22 - 0.691X1X2 (3.4) 
(R2 = 0.96) 
Y2 = 0.279 - 0.1X1 - 0.08X2 + 0.626X3 + 1.27X22 - 0.841X1X2 (3.5) 
(R2 = 0.91) 
Y3 = 0.629 - 0.246X1 - 0.08X2 + 0.653X3 + 1.122X22 - 0.841X1X2 (3.6) 
(R2 = 0.92) 
Thông số luyện mạng cho INForm 3.6 
Momentum 0.8
Tốc độ học 0.7
Số lượng dữ liệu đầu vào 3
Số lượng dữ liệu đầu ra 1
Số lượng lớp ẩn 1
Số lượng nút trong lớp ẩn 2
Hàm truyền Asymmetric Sigmoid 
Hàm truyền tại nút xuất Linear
Hàm lan truyền ngược QuickProp
Y1: R2 = 0.98 (không có mô hình dự đoán rõ ràng với mạng nơron) 
Y2: R2 = 0.93 (không có mô hình dự đoán rõ ràng với mạng nơron) 
Y3: R2 = 0.96 (không có mô hình dự đoán rõ ràng với mạng nơron) 
Formatted: Subscript
Formatted: Font color: Black
Formatted Table
Formatted: Font color: Black
Formatted: Font color: Black
Formatted: No underline, Font
color: Black
Formatted: Font color: Black
Formatted: Font color: Black
Formatted: Font color: Black
Formatted: Font color: Black
Formatted: Font color: Black
Formatted: Font color: Black
Formatted: Font color: Black
Formatted: Font color: Black
Formatted: Font color: Black
Formatted: Font color: Black
Formatted: Right
Formatted: Subscript
Formatted: Left
Formatted: Font color: Black
Formatted: Right
Formatted: Font color: Black
Formatted: Font color: Black
Formatted: Subscript
Formatted: Right
Formatted: Subscript
Formatted: Widow/Orphan control
Deleted: Learning Rate
Deleted: Target Epoch
Deleted: Number of Inputs
Deleted: Number of Outputs
Deleted: Number of Hidden Layers
Deleted: Hidden Layer
Deleted: Number of Nodes
Deleted: 1
Deleted: 2
Deleted: Output Transfer Type
Deleted: BackPropagation Type
Deleted: ¶
Deleted: ¶
... [7]
... [6]
54
Bảng 3.2. So sánh kết quả dự đoán Y1 dùng kỹ thuật tiến hoá với phương pháp 
thống kê và chương trình INForm 3.6 
STT Y1 Y1-GP Y1-TK Y1-IN 
1 0.152 0.150 0.145 0.153 
2 0.104 0.098 0.105 0.100 
3 0.112 0.111 0.108 0.113 
4 0.122 0.123 0.138 0.128 
5 0.148 0.148 0.143 0.151 
6 0.074 0.076 0.066 0.076 
7 0.098 0.104 0.092 0.102 
8 0.084 0.090 0.088 0.087 
9 0.087 0.090 0.088 0.087 
10 0.084 0.090 0.088 0.087 
11 0.089 0.090 0.088 0.087 
12 0.052 0.045 0.055 0.055 
13 0.143 0.140 0.140 0.137 
Y1-TK = 0.959x + 0.0039
R2 = 0.96
Y1-GP = 0.978x + 0.0027
R2 = 0.98
Y1-IN = 0.976x + 0.0036
R2 = 0.98
0.04
0.06
0.08
0.1
0.12
0.14
0.16
0.04 0.06 0.08 0.1 0.12 0.14 0.16
Y1-GP
Y1-TK
Y1-IN 
Hình 3.14. Biểu đồ hồi quy so sánh kết quả dự đoán của GP, thống kê và 
INForm 3.6 cho Y1 
Formatted: Subscript
Formatted: Hinh
Deleted: 
Deleted: 
Deleted: ¶
Deleted: ¶
55
Bảng 3.3. So sánh kết quả dự đoán Y2 dùng kỹ thuật tiến hoá với phương pháp 
thống kê và chương trình INForm 3.6 
STT Y2 Y2-GP Y2-TK Y2-IN 
1 0.683 0.669 0.658 0.691 
2 0.545 0.541 0.626 0.533 
3 0.612 0.639 0.662 0.593 
4 0.448 0.446 0.426 0.479 
5 0.585 0.607 0.581 0.572 
6 0.388 0.382 0.394 0.390 
7 0.576 0.572 0.609 0.570 
8 0.512 0.515 0.529 0.523 
9 0.518 0.515 0.529 0.523 
10 0.507 0.515 0.529 0.523 
11 0.525 0.515 0.529 0.523 
12 0.352 0.376 0.460 0.360 
13 0.518 0.527 0.503 0.479 
Y2-GP = 0.9786x + 0.015
R2 = 0.98
Y2-TK = 0.8534x + 0.0968
R2 = 0.80
Y2-IN = 0.9363x + 0.0324
R2 = 0.96
0.3
0.35
0.4
0.45
0.5
0.55
0.6
0.65
0.7
0.75
0.3 0.4 0.5 0.6 0.7 0.8
Y2-GP
Y2-TK
Y2-IN
Hình 3.15. Biểu đồ hồi quy so sánh kết quả dự đoán của GP, thống kê và 
INForm 3.6 cho Y2 
Formatted: Not Superscript/
Subscript
Formatted: Subscript
Deleted: ¶
Deleted: 
Deleted: ¶
Deleted: ¶
56
Bảng 3.4. So sánh kết quả dự đoán Y3 dùng kỹ thuật tiến hoá với phương pháp 
thống kê và chương trình INForm 3.6 
STT Y3 Y3-GP Y3-TK Y3-IN 
1 0.992 0.980 0.976 1.015 
2 0.902 0.905 0.925 0.881 
3 0.986 1.010 0.998 1.001 
4 0.712 0.709 0.689 0.724 
5 0.866 0.877 0.880 0.860 
6 0.68 0.730 0.675 0.671 
7 0.925 0.907 0.923 0.916 
8 0.856 0.861 0.838 0.868 
9 0.862 0.861 0.838 0.868 
10 0.851 0.861 0.838 0.868 
11 0.87 0.861 0.838 0.868 
12 0.672 0.686 0.754 0.711 
13 0.792 0.786 0.784 0.752 
Y3-GP = 0.9278x + 0.066
R2 = 0.97
Y3-TK = 0.9187x + 0.068
R2 = 0.92
Y3-IN = 0.9927x + 0.009
R2 = 0.96
0.6
0.65
0.7
0.75
0.8
0.85
0.9
0.95
1
1.05
0.6 0.7 0.8 0.9 1 1.1
Y3-GP
Y3-TK
Y3-IN 
Hình 3.16. Biểu đồ hồi quy so sánh kết quả dự đoán của GP, thống kê và 
INForm 3.6 cho Y3 
Formatted: Not Superscript/
Subscript
Formatted: Subscript
Deleted: ¶
Deleted: ¶
Deleted: 
Deleted: 
57
Trong giai đoạn mô hình hóa dữ liệu, chương trình INForm 3.6 không đưa ra được 
phương trình toán học để thể hiện mối quan hệ giữa các biến phụ thuộc và các biến 
độc lập. 
Dựa vào phần mềm ứng dụng kỹ thuật tiến hóa, mặc dù công thức dự đoán cho các 
biến Y1(công thức 3.1), Y2 (công thức 3.2), Y3 (công thức 3.3) được đưa ra bằng kỹ 
thuật GP phức tạp hơn công thức được tính toán bằng phương pháp thống kê, tuy 
nhiên giá trị dự đoán R2 cho các biến Y1, Y2, Y3 của GP cao hơn so với phương 
pháp thống kê (tương ứng với các công thức 3.4, 3.5 và 3.6), và cũng cao hơn so với 
kết quả dự đoán từ chương trình INForm 3.6. 
Ngoài ra khi so sánh các kết quả dự đoán của Bodea và Leucuta bằng phương pháp 
thống kê, kết quả dự đoán từ chương trình INForm 3.6 và kết quả từ kỹ thuật tiến 
hoá với dữ liệu thực nghiệm bằng phương pháp hồi quy nhằm đánh giá khả năng dự 
đoán và mô hình hoá dữ liệu thực nghiệm, kết quả trình bày trong Hình 3.14, 3.15 
và 3.16 cho thấy: 
- Phương trình hồi quy: dựa vào đồ thị và phương trình hồi quy (hệ số góc), kỹ 
thuật tiến hoá cho kết quả khả quan hơn so với thống kê với các dữ liệu biến Y2. 
- Giá trị R2 tương quan giữa giá trị thực nghiệm và dự đoán: giá trị R2 cho 3 biến 
Y1, Y2 và Y3 của kỹ thuật tiến hoá đều cao hơn so với phương pháp thống kê. 
Với so sánh bằng hồi quy tương quan, rõ ràng kết quả mô hình hoá từ kỹ thuật tiến 
hoá gần như tốt hơn phương pháp thống kê đã được nghiên cứu bởi Bodea và 
Leucuta [5], cũng như phần mềm tối ưu hóa INForm V3.6 cho dữ liệu dược phẩm 
này. 
3.4.3. Tối ưu hoá công thức 
Với công thức viên nén matrix được tham khảo từ công trình của Bodea và Leucuta 
[5], công thức được phẩm tối ưu phải đạt các tiêu chuẩn sau: 
- Ràng buộc cho biến độc lập X (thành phần nguyên liệu): X2 + X3 ≤ 0,8 và X3 ≥ 
0,34. 
- Ràng buộc cho biến phụ thuộc Y (các chỉ tiêu kiểm nghiệm): 
Deleted: ¶
Deleted: ¶
58
• 0,1 ≤ Y1 ≤ 0,2: % hoạt chất được giải phóng sau 1 giờ từ 10% đến 20%; 
• 0,45 ≤ Y2 ≤ 0,55: % hoạt chất được giải phóng sau 6 giờ từ 45% đến 55%; 
• 0,80 ≤ Y3: % hoạt chất được giải phóng sau 12 giờ trên 80%. 
Bảng 3.5. So sánh kết quả tối ưu giữa GA với thống kê và INForm 3.6 
 X1 X2 X3 Y1 Y2 Y3 
(1) 0.53 0.03 0.52 0.152 0.519 0.816 
(2) 0.49 0.13 0.6 0.145 0.549 0.86 
GA 
(3) 0.34 0.19 0.61 0.109 0.549 0.912 
INForm 3.6 0.488 0.025 0.534 0.159 0.532 0.808 
Thống kê 0.333 0.115 0.552 0.100 0.550 0.881 
Dựa trên kết quả mô hình hóa có được từ phương pháp GP, kỹ thuật GA sẽ được áp 
dụng ở bước tiếp theo cho quá trình tối ưu hóa công thức dựa trên các yêu cầu cho 
trước (Phụ lục A). Trong Bảng 3.5 so sánh kết quả từ kỹ thuật tiến hoá với kết quả 
từ nghiên cứu của Bodea và Leucuta và kết quả từ chương trình INForm 3.6, kết 
quả so sánh cho thấy : 
- Phương pháp thống kê và chương trình INForm 3.6 cho duy nhất 1 kết quả công 
thức tối ưu. 
- Kỹ thuật tiến hoá dự đoán nhiều công thức tối ưu dựa vào các ràng buộc cho 
biến độc lập và phụ thuộc, trong Bảng 3.5 đưa ra 3 công thức với: 
• Công thức tối ưu (1) cho giá trị Y1 (% hoạt chất được giải phóng sau 1 giờ) 
là tối đa. 
• Công thức tối ưu (2) cho giá trị Y2 (% hoạt chất được giải phóng sau 6 giờ) 
là tối đa. 
• Công thức tối ưu (3) cho giá trị Y3 (% hoạt chất được giải phóng sau 12 giờ) 
là tối đa. 
Với kết quả công thức tối ưu (1), (2), (3) người sử dụng có thể lựa chọn công thức 
phù hợp theo yêu cầu thực tế. 
Deleted: 
Deleted: phụ lục
59
3.5. Đánh giá ảnh hưởng số lượng cá thể và số thế hệ trên kết 
quả dự đoán 
3.5.1. Dữ liệu viên matrix (Phụ lục C) 
Biểu đồ R2 luyện cho biến Y1 
-80.00
-60.00
-40.00
-20.00
0.00
20.00
40.00
60.00
80.00
100.00
10 50 100 500 1000 2000 5000 10000
Số cá thể
10
50
100
500
1000
2000
5000
Hình 3.17. Biểu đồ R2 luyện cho biến Y1 
Kết quả dự đoán của y1 sẽ tốt với số cá thể từ 500 trở lên và gần như không có 
nhiều thay đổi với giá trị trên 5000 với số thế hệ từ 50 đến 5000. 
Biểu đồ R2 luyện cho biến Y2
0.00
20.00
40.00
60.00
80.00
100.00
120.00
10 50 100 500 1000 2000 5000 10000
Số cá thể
10
50
100
500
1000
2000
5000
Hình 3.18. Biểu đồ R2 luyện cho biến Y2 
Deleted: phụ lục
60
Kết quả dự đoán của y2 sẽ tốt với số cá thể từ 1000 trở lên và gần như không có 
nhiều thay đổi với giá trị trên 2000 với số thế hệ từ 50 đến 5000. 
Biểu đồ R2 luyện cho biến Y3
-250.00
-200.00
-150.00
-100.00
-50.00
0.00
50.00
100.00
150.00
10 50 100 500 1000 2000 5000 10000
Số cá thể
10
50
100
500
1000
2000
5000
Hình 3.19. Biểu đồ R2 luyện cho biến Y3 
Kết quả dự đoán sẽ tốt với số cá thể từ 100 trở lên và gần như không có nhiều thay 
đổi với giá trị trên 500 với số thế hệ từ 50 đến 5000. 
⇒ Dựa trên biểu đồ, kết quả cho thấy rằng khi cho dữ liệu luyện, kết quả dự đoán 
của các biến phụ thuộc sẽ tốt với số cá thể từ 1000 trở lên và gần như không có 
nhiều thay đổi với giá trị trên 2000 với số thế hệ từ 50 đến 5000. 
Deleted: ¶
61
Biểu đồ R2 thử cho biến Y1
-20.00
0.00
20.00
40.00
60.00
80.00
100.00
10 50 100 500 1000 2000 5000 10000
Số cá thể
10
50
100
500
1000
2000
5000
Hình 3.20. Biểu đồ R2 thử cho biến Y1 
Kết quả dự đoán sẽ tốt với số cá thể dùng để luyện từ 500 trở lên và gần như không 
có nhiều thay đổi với giá trị trên 5000 với số thế hệ từ 10 đến 5000. 
Biểu đồ R2 thử cho biến Y2
0.00
10.00
20.00
30.00
40.00
50.00
60.00
70.00
80.00
90.00
100.00
10 50 100 500 1000 2000 5000 10000
Số cá thể
10
50
100
500
1000
2000
5000
Hình 3.21. Biểu đồ R2 thử cho biến Y2 
Kết quả dự đoán sẽ tốt với số cá thể dùng để luyện từ 1000 trở lên và gần như 
không có nhiều thay đổi với giá trị trên 5000. Với số thế hệ, không có nhiều khác 
biệt với số thế hệ từ 50 đến 5000 nếu số cá thể đủ lớn (>1000). 
Formatted: Centered
62
Biểu đồ R2 thử cho biến Y3
-150.00
-100.00
-50.00
0.00
50.00
100.00
150.00
10 50 100 500 1000 2000 5000 10000
Số cá thể
10
50
100
500
1000
2000
5000
Hình 3.22. Biểu đồ R2 thử cho biến Y3 
Kết quả dự đoán sẽ tốt với số cá thể dùng để luyện từ 100 trở lên và gần như không 
có nhiều thay đổi với giá trị trên 5000 với số thế hệ từ 10 đến 5000. 
⇒ Dựa trên biểu đồ, kết quả cho thấy rằng khi cho dữ liệu thử, kết quả dự đoán sẽ 
tốt với số cá thể dùng để luyện từ 500 trở lên và gần như không có nhiều thay 
đổi với giá trị trên 5000 với số thế hệ từ 50 đến 5000. 
Kết luận: Khi cho dữ liệu viên matrix luyện và thử, kết quả dự đoán sẽ tốt với số cá 
thể dùng để luyện từ 1000 trở lên, và hầu như không có nhiều thay đổi với giá trị 
trên 5000 và với số thế hệ từ 50 đến 5000. 
Deleted: ¶
63
3.5.2. Dữ liệu viên Acyclovir (Phụ lục C) 
Biểu đồ R2 luyện cho biến Y1
-20.00
0.00
20.00
40.00
60.00
80.00
100.00
10 50 100 500 1000 2000 5000 10000
Số cá thể
10
50
100
500
1000
2000
5000
Hình 3.23. Biểu đồ R2 luyện cho biến Y1 
Kết quả dự đoán sẽ tốt với số cá thể từ 100 trở lên và gần như không có nhiều thay 
đổi với giá trị trên 500 với số thế hệ từ 50 đến 5000. 
Biểu đồ R2 luyện cho biến Y2
0.00
20.00
40.00
60.00
80.00
100.00
10 50 100 500 1000 2000 5000 10000
Số cá thể
10
50
100
500
1000
2000
5000
Hình 3.24. Biểu đồ R2 luyện cho biến Y2 
Deleted: phụ lục
64
Kết quả dự đoán sẽ tốt với số cá thể từ 100 trở lên và gần như không có nhiều thay 
đổi với giá trị trên 2000 với số thế hệ từ 10 đến 5000. 
Biểu đồ R2 luyện cho biến Y3
0.00
20.00
40.00
60.00
80.00
100.00
10 50 100 500 1000 2000 5000 10000
Số cá thể
10
50
100
500
1000
2000
5000
Hình 3.25. Biểu đồ R2 luyện cho biến Y3 
Kết quả dự đoán sẽ tốt với số cá thể từ 50 trở lên và gần như không có nhiều thay 
đổi với giá trị trên 1000 với số thế hệ từ 10 đến 5000. 
Biểu đồ R2 luyện cho biến Y4
0.00
20.00
40.00
60.00
80.00
100.00
10 50 100 500 1000 2000 5000 10000
Số cá thể
10
50
100
500
1000
2000
5000
Hình 3.26. Biểu đồ R2 luyện cho biến Y4 
65
Kết quả dự đoán sẽ tốt với số cá thể từ 500 trở lên và gần như không có nhiều thay 
đổi với giá trị trên 500 với số thế hệ từ 50 đến 5000. 
⇒ Dựa trên biểu đồ, kết quả cho thấy rằng khi cho dữ liệu luyện, kết quả dự đoán 
sẽ tốt với số cá thể dùng để luyện từ 500 trở lên và gần như không có nhiều thay 
đổi tại giá trị 2000 với số thế hệ từ 50 đến 5000. 
Biểu đồ R2 thử cho biến Y1
-60.00
-40.00
-20.00
0.00
20.00
40.00
60.00
80.00
10 50 100 500 1000 2000 5000 10000
Số cá thể
10
50
100
500
1000
2000
5000
Hình 3.27. Biểu đồ R2 thử cho biến Y1 
Kết quả dự đoán sẽ tốt với số cá thể dùng để luyện từ 1000 trở lên và gần như 
không có nhiều thay đổi tại giá trị 2000 với số thế hệ từ 10 đến 5000. 
66
Biểu đồ R2 thử cho biến Y2
0.00
20.00
40.00
60.00
80.00
100.00
10 50 100 500 1000 2000 5000 10000
Số cá thể
10
50
100
500
1000
2000
5000
Hình 3.28. Biểu đồ R2 thử cho biến Y2 
Kết quả dự đoán sẽ tốt với số cá thể dùng để luyện từ 500 trở lên và gần như không 
có nhiều thay đổi tại giá trị 2000 với số thế hệ từ 10 đến 5000. 
Biểu đồ R2 thử cho biến Y3
0.00
20.00
40.00
60.00
80.00
100.00
10 50 100 500 1000 2000 5000 10000
Số cá thể
10
50
100
500
1000
2000
5000
Hình 3.29. Biểu đồ R2 thử cho biến Y3 
Kết quả dự đoán sẽ tốt với số cá thể dùng để luyện từ 500 trở lên và gần như không 
có nhiều thay đổi tại giá trị 2000 với số thế hệ từ 10 đến 5000. 
67
Biểu đồ R2 thử cho biến Y4
-20.00
0.00
20.00
40.00
60.00
80.00
100.00
120.00
10 50 100 500 1000 2000 5000 10000
Số cá thể
10
50
100
500
1000
2000
5000
Hình 3.30. Biểu đồ R2 thử cho biến Y4 
Kết quả dự đoán sẽ tốt với số cá thể dùng để luyện từ 500 trở lên và gần như không 
có nhiều thay đổi tại giá trị 500 với số thế hệ từ 10 đến 5000. 
⇒ Dựa trên biểu đồ, kết quả cho thấy rằng khi cho dữ liệu thử, kết quả dự đoán sẽ 
tốt với số cá thể dùng để luyện từ 500 trở lên và gần như không có nhiều thay 
đổi tại giá trị 2000 với số thế hệ từ 50 đến 5000. 
Dựa trên biểu đồ, kết quả cho thấy rằng khi cho dữ liệu viên acyclovir luyện và thử, 
kết quả dự đoán sẽ tốt với số cá thể từ 500 trở lên và gần như không có nhiều thay 
đổi tại giá trị 2000 với số thế hệ từ 50 đến 5000 . 
Kết luận chung về sự ảnh hưởng của số lượng cá thể và số thế hệ cho dữ liệu vừa và 
nhỏ: Khi cho dữ liệu luyện và thử, kết quả dự đoán sẽ tốt với số cá thể và số thế hệ 
vào khoảng 1000, và gần như không có nhiều thay đổi với số thế hệ và số cá thể từ 
1000 trở lên. 
Formatted: Centered
Deleted: ¶
¶