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

Nâng cao khả năng hội tụ của thuật toán

Một phần của tài liệu XÂY DỰNG MODULE TỐI ƯU HÓA KẾT CẤU THÉP DẦM CHÍNH CẦU TRỤC TRÊN NỀN ANSYS WORKBENCH (Trang 37 -37 )

IV. Ý nghĩa khoa học và thực tiễn của đề tài

2.4. Nâng cao khả năng hội tụ của thuật toán

2.4.1. Mạng giao tiếp của quần thể.

Thuật toán tối ưu bầy đàn sử dụng giao tiếp giữa các cá thể để tìm được vị trí tốt nhất. Do đó, mạng giao tiếp giữa các cá thể trong nhóm con (vùng lân cận địa phương – Lbest) và mạng giao tiếp với cá thế tốt nhất trong quần thể (GBest) là điều rất quan trọng để nâng cao sự hội tụ của thuật toán.

Với mô hình mạng giao tiếp vùng lân cận địa phương, đó là sự giao tiếp các các cá thể vùng lân cận địa phương. Với mô hình đơn giản có thể đưa ra là mô hình dạng vòng được mô tả trên hình (2.14). Ở mô hình này, mỗi cá thể sẽ giao tiếp với hai cá thể lân cận, sau đó dựa trên hàm mục tiêu đề tìm được cá thể tốt nhất ở lân cận địa phương. Trước kia, người nghiên cứu thuật toán thường xem nhẹ mô hình giao tiếp lân cận địa phương với lý do sẽ làm cho tốc độ hội tụ giảm đáng kể. Ngày nay, người nghiên cứu thuật toán tập trung nhiều vào mô hình

mạng lân cận địa phương để tìm kiếm trong toàn bộ không gian, tránh trường hợp kết quả hội tụ quá sớm dẫn đến kết quả của bài toán là không chính xác.

Hình 2.14.Mô hình mạng giao tiếp vòng vùng lân cận đia phương.

Mô hình mạng giao tiếp với cá thể tốt nhất trong quần thể (GBest). Dạng mô hình giao tiếp đơn giản được minh họa trên hình (2.15).

Với mô hình GBest, các cá thể trong quần thể giao tiếp với nhau để tìm ra cá thể tốt nhất trong quần thể có nghĩa cá thể đáp ứng tốt nhất của hàm mục tiêu và ràng buộc. Mô hình này nâng cao được hiệu suất tính toán, thời gian hội tụ nhanh nhưng nó lại có khuyết điểm là có thể dẫn đến hội tụ quá sớm với kết quả chưa phải là tối ưu.

Từ hai mô hình ở trên, cách tốt nhất là sử dụng kết hợp cả hai mô hình để đạt được kết quả bài toán tối ưu nhất. Ngoài ra, còn có mô hình mạng giao tiếp bánh đà (Wheel topology) ở hình (2.16), mô hình mạng giao tiếp phân cụm (Cluster topology) ở hình (2.17). Hai mô hình này cũng hay được sử dụng trong PSO [2].

Với mô hình mạng giao tiếp bánh đà, ở đó chỉ có một cá thể trung tâm (Focus particle) liên kết với các cá thể còn lại, và tất cả các thông tin được truyền đạt đều thông qua cá thể này. Cá thể trung tâm so sánh vị trí tốt nhất của các cá thể trong quần thể để tìm vị trí tốt nhất, và thay đổi vị trí của nó đến vị trí tốt nhất đó. Sau đó, vị trí mới của cá thể trung tâm sẽ được thông báo đến cá cá thể còn lại trong quần thể.

Mô hình mạng giao tiếp phân cụm hình (2.17) bao gồm bốn cụm giao tiếp với nhau. Mỗi cụm tạo ra hai đường giao tiếp với các cụm liền kề và một đường giao tiếp với cụm đối diện.

Hình 2.17.Mô hình mạng giao tiếp phân cụm.

2.4.2. Khởi tạo quần thể.

Trong thuật toán PSO, khởi tạo quần thể rất quan trọng, nếu khởi tạo quần thể thích hợp có thể kiểm soát việc cân bằng giữa thăm dò và khai thác trong không gian tìm kiếm. Nó sẽ dẫn đến những kết quả tốt hơn. Thông thường, một phân bố đồng đều trong không gian tìm kiếm được sử dụng để khởi tạo quần thể. Sự đa dạng của quần thể trong không gian tìm kiếm là quan trọng với PSO, nó sẽ biểu thị rằng không gian tìm kiếm được bao phủ như thể nào, sự phân bố của các cá thể ra làm sao. Hơn nữa, một quần thể được khởi tạo mà không bao phủ toàn bộ không gian tìm kiếm, thuật toán PSO rất khó khăn trong việc tìm kiếm tối ưu nếu vị trí tối ưu đó không nằm trong vùng bao phủ. Sự phân bố ban đầu được đặt trong miền được định nghĩa bởi xdmax và xdmin thể hiện kích thước lớn nhất và nhỏ nhất trong không gian tìm kiếm chiều d trong không gian D chiều. Công thức được đưa ra:

min ax min

(0) ( )

d d dm d

xxr xx

(2.25)

Vận tốc của các cá thể có thể được khởi tạo bằng không. Tuy nhiên, các cá thể cũng có thể khởi tạo vận tốc khác không nhưng phải tính toán kỹ lưỡng để khi cập nhật các cá thể không nằm ngoài không gian tìm kiếm.

Hiện tại, có nhiều các nghiên cứu về khởi tạo quần thể thông qua các phương pháp thiết kế mẫu. Hiện nay, tập trung chủ yếu vào ba phương pháp tạo mẫu là: Box – Behnken, Central composite, và ma trận Doehlert.

Phương pháp Box – Behnken, Central composite và ma trận Doehlert lần lượt được thể hiện hình (2.18), (2.19), (2.20) với không gian tìm kiếm ba chiều.

Các phương pháp thiết kế mẫu

Phương pháp Số phần tử (cá thể) với không gian D chiều với 1 phần tử trung tâm

Central composite 2D + 2.D + 1 Box – Behnken 2D.(D-1) + 1 Ma trận Doehlert D2 + D + 1

Bảng 2.1.Các phương pháp thiết kế mẫu.

Hình 2.19.Phương pháp Central composite không gian tìm kiếm ba chiều.

Hình 2.20.Phương pháp ma trận Doehlert không gian tìm kiếm ba chiều.

2.4.3. Vận tốc kẹp.

Eberhart và Kennedy giới thiệu vận tốc kẹp [8] [9]. Nó giúp các cá thể luôn ở trong không gian tìm kiếm. Nếu không có vận tốc kẹp các cá thể rất dễ vượt qua không gian tìm kiếm và như thế kết quả bài toán sẽ không chính xác. Vector vận tốc lớn nhất Vmax sẽ kiểm soát không gian tìm kiếm và nó được đưa vào trong biểu thức vận tốc kẹp. Đồng thời vận tốc kẹp tạo ra một sự cân bằng giữa thăm dò toàn cục và khai thác lân cận địa phương.

Hình 2.21.Minh họa ảnh hưởng của vận tốc kẹp cho một cá thể trong không gian hai chiều.

Vị trí ban đầu vận tốc của cá thể thứ i với chiều d trong không gian tìm kiếm D chiều là vidt, vị trí mới vận tốc có giá trị là vidt+1. Nếu giá trị vidt+1 có giá trị lớn hơn vận tốc kẹp Vidmax (vận tốc kẹp của cá thể i với chiều d) thì giá trị vidt+1 được thiết lập bằng giá trị Vidmax.

Nếu vận tốc tối đa Vidmax là quá lớn, sau đó các cá thể có thể di chuyển bất thường và nhảy qua các giải pháp tối ưu. Mặt khác, nếu Vidmax là quá nhỏ, di chuyển của các cá thể rất hạn chế và quần thể có thể không khám phá đầy đủ hoặc quần thể có thể bị mắc kẹt trong một tối ưu lân cận địa phương.

Vấn đề này có thể được giải quyết khi vận tốc tối đa Vidmax được tính bằng một phần của kích thước không gian tìm kiếm trên mỗi chiều bằng cách lấy kích thước ràng buộc trên trừ kích thước ràng buộc dưới và được định nghĩa như sau:

ax

(

ax min

)

idm idm id

V  xx

(2.26)

Trong đó xidmax và xidmin thể hiện kích thước ràng buộc trên và dưới với cá thể thứ i với chiều d trong không gian tìm kiếm D chiều, và ɛ thuộc (0,1].

Có một vấn đề khác khi vector vận tốc trong quần thể bằng Vmax. Để giải quyết vấn đề này có thể giảm Vmaxtheo thời gian. Ưu điểm của vận tốc kẹp là có thể kiểm soát các cá thể luôn nằm trong không gian tìm kiếm. Mặt khác, bất lợi là giá trị tốt nhất của Vmax nên được lựa chọn khác nhau cho các bài toán khác nhau. Thông thường, người nghiên cứu phải sử dụng kỹ thuật thực nghiệm tìm ra vận tốc kẹp tốt nhất. Nếu lựa chọn vận tốc kẹp không tốt có thể dẫn đến hiệu suất rất kém.

Kết luận, sử dụng Vmax để tránh sự không hội tụ trong các bài toán tối ưu PSO. Tuy nhiên, có thể loại bỏ vận tốc kẹp trong PSO nếu như điều khiển tốt hệ số quán tính ω hoặc hệ số co χ.

2.4.4. Nâng cao khả năng hội tụ của thuật toán.

Đưa ra được mô hình tìm kiếm trong PSO là rất quan trọng nó ảnh hưởng đến khả năng tìm kiếm của các cá thể trong miền lân cận địa phương cũng như trong toàn miền tìm kiếm.

Lý thuyết cơ bản của PSO là tìm kiếm các giải pháp tối ưu thông qua sự hợp tác và cạnh tranh giữa các cá thể. Các cá thể sau đó sẽ chia sẻ thông tin về nhau, sau đó thay đổi vận tốc bay, hướng bay để tìm được vị trí tối ưu nhất. So sánh với thuật toán tiến hóa, PSO là một thuật toán tìm kiếm song song hiệu quả hơn. Bởi vì tốc độ hội tụ là nhanh hơn các thông số ít hơn, trong khoảng mười năm trở lại đây, PSO đạt tốc độ ứng dụng và nâng cao thuật toán rất nhanh, và có nhiều hướng để nâng cao khả năng hội tụ. Chung nhất, tác giả đề xuất với hai chiến lược cơ bản:

- Thay đổi phương pháp tính các tham số, thay đổi thông số PSO ban đầu để đạt được sự cân bằng về khả năng tìm kiếm giữa cục bộ (miền lân cận địa phương) và toàn cục (toàn bộ không gian tìm kiếm).

- Mở rộng tìm kiếm toàn bộ trong không gian tìm kiếm, điều này làm hạn chế được sự hội tụ quá sớm và đưa ra kết quảchính xác. Những phương pháp này dựa trên ý tưởng chọn lọc tự nhiên và hành vi xã hội để nâng cao thể hiện của thuật toán.

Để nâng cao hiệu quả tối ưu hóa PSO cần phải có sự cân bằng về khả năng tìm kiếm toàn cục và lân cận địa phương, có nghĩa thuật toán phải bảo đảm được khả năng duy trì khai thác địa phương (Local exploitation) và khả năng thăm dò toàn cầu (Global exploration) tốt hơn.

Tất cả các phương án điều khiển tham số PSO (phần 2.2) đều đưa ra cải thiện để nâng cao hiệu suất của PSO. Tuy nhiên, với từng bài toán khác nhau chọn phương án tốt nhất rất khó khăn. Tác giả đề xuất phương án:

Với hệ số quán tính sẽ chọn phương án giảm tuyến tính (PSO - LDIW), hệ số quán tính tử 0.9 đến 0.4. Thêm hằng sốràng buộc f thuộc khoảng (0,1].

Với hai hệ số: hệ số nhận thức c1 và hệ số xã hội c2 sẽ chọn phương án là PSO – TVAC.

Tập trung xem xét nghiên cứu giá trị f tác động lên hệ số quán tính. Với phương pháp (PSO - LDIW), hệ số quán tính được biểu diễn dưới dạng:

ax ax min max ( ) m m t T

(2.27)

Trong đó: ωmax, ωmin là hệ số quán tính đầu và cuối. Tmax và t lần lượt là số vòng lặp lớn nhất và số vòng lặp hiện tại của thuật toán.

Thông qua các kinh nghiệm sâu hơn, bổ sung hằng số ràng buộc f tới hệ số quán tính. Khi đó phương trình (2.27) được biểu diễn dưới dạng:

ax ax min max 1 ( ) m m t f T

(2.28)

Tùy thuộc từng hàm mục tiêu mà có thể tìm được giá trị f làm cho tốc độ hội tụ của thuật toán PSO là tối ưu nhất. Dưới đây, tác giả đưa ra ví dụ ứng dụng hằng số ràng buộc f.

Khảo sát hai hàm toán học Sphere và Rosenbrock [11].

Hàm Dạng hàm Kích thước không gian tìm kiếm Vùng tìm kiếm Sai số cho phép Sphere 2 1 1

( )

n i i

f x x



30 [-100,100] 10 -8 Rosenbrock 1 2 2 2 2 1 1

( ) (100( ) ( 1) )

n i i i i

f x x x x

   

30 [-30,30] 100 Bảng 2.2.Các hàm toán học đặc trưng.

Sai số cho phép E được tính theo công thức: *

min

( ) ( )

Ef xf x

(2.29)

Ở đây f(x*) là giá trị tối ưu được đưa ra, không giảm tính tổng quát cho f(x*) = 0, khi đó

giá trị của hàm mục tiêu chính bằng giá trị của sai số cho phép E.

Hình (2.22) mô tả tốc độ hội tụ của hàm Sphere theo các giá trị f lần lượt bằng 1, 0.5, 0.1, 0.05, 0.01, 0.005. Trục tung thể hiện giá trị của hàm mục tiêu, trục hoành thể hiện số

lượng vòng lặp. Nhận thấy tốc độ hội tụ tăng từ 1 đến 0.05, sau đó tốc độ hội tụ giảm từ 0.05 đến 0.005. Do đó, đưa ra giá trị hằng số ràng buộc f tốt nhất cho hàm Sphere là f = 0.05.

Hoàn toàn tương tự (hình 2.23) mô tả tốc độ hội tụ của hàm Rosenbrock theo các giá trị f. Dễ dàng nhận thấy giá trị hằng số ràng buộc f tốt nhất cho hàm Rosenbrock f = 0.05.

Tùy từng hàm mục tiêu mà giá trị f sẽ khác nhau. Trong Chương 5, tác giả sẽ đề cập đến tìm kiếm giá trị f tốt nhất đối với bài toán tối ưu kết cấu thép dầm chính cầu trục.

Hình 2.22.Biểu đồ mô tả tốc độ hội tụ hàm Sphere với giá trị f khác nhau.

CHƯƠNG 3: GIỚI THIỆU LẬP TRÌNH ADD-ON TRÊN NỀN ANSYS WORKBENCH

3.1. Giới thiệu về lập trình add-on.

Chương trình add–on là sản phẩm của lập trình nhúng tương tác với các phần mềm khác, là lĩnh vực hiện nay rất được quan tâm và đem lại lợi nhuận cao. Hiện nay, các phần mềm lớn trên thế giới trong tất cả các lĩnh vực hầu hết đều cung cấp các nền tảng và công cụ lập trình add-on.

Chương trình add-on có hai cách tương tác và thực hiện:

 Thực hiện trước khi chương trình chính chạy, chương trình add-on gửi các lệnh tương tác và điều khiển đến chương trình chính để chương trình thực hiện thao tác mong muốn.

 Thực hiện sau khi chương trình chính được chạy, tức là phụ thuộc vào quá trình khởi động của phần mềm chính.

Có thể đưa ra một vài ví dụ về chương trình add–on:  Lập trình tương tác với MathCad, MatLab…

 Lập trình với nền tảng phần mềm Ansys Workbemch.

 Lập trình API trong AutoCad (VBA, Autolisp, C/C++, Java…) 3.2. Mô hình lập trình add-on trên nền ANSYS Workbench.

3.2.1. Mô hình lập trình.

ANSYS Workbench được xây dựng trên một kiến trúc mô-đun, nó cho phép mở rộng bằng cách tạo mới các mô-đun hay thay đổi mô-đun trên nền tảng của nó, sử dụng lập trình add-on.

Lập trình add-on trong ANSYS Workbench có hai hướng lập trình đó là:

 SDK (Workbench Framework): được thiết kế để quản lý dữ liệu và luồng xử lý, cho phép người lập trình kết hợp với các công cụ của ANSYS với môi trường lập trình khác ở mức độ nền tảng. Nền tảng khác ở đây ANSYS Workbench hỗ trợ đó là sử dụng ngôn ngữ lập trình C# trong môi trường lập trình Visual Studio.

 ACT (Application Customization Toolkit): cho phép thay đổi ở mức độ chương trình. Sự thay đổi này nó sẽ tác động vào khi chương trình được bật, tiền xử lý, hậu xử lý. Cả hai SDK và ACT là một phần của ANSYS Customization Suite.

3.2.2. Định nghĩa, xây dựng add-on.

ANSYS Workbench 14 hoặc 14.5 cung cấp bộ SDK sau khi cài đặt nó sẽ được bổ sung vào môi trường lập trình Visual Studio 2008.

Hình 3.1.Bộ công cụ SDK sau khi đã cài đặt trên môi trường Visual Studio 2008.

SDK cung cấp bốn chức năng lập trình đó là:

 Basic Workbench Addin with ProjectSchema: add-on cơ bản đã tồn tại các đối tượng Command, Query, Datamodel.

 Core Addin Project: add-on lõi chưa có các đối tượng Command, Query, Datamodel.

 Empty Addin Project: add-on trống rỗng.

 GUI Addin Project: add-on thực hiện và thao tác với các đối tượng đồ họa.

Thông thường, người lập trình sẽ sử dụng chức năng lập trình Basic Workbench Addin with ProjectSchema để xây dựng các ứng dụng add-on. Với chức năng lập trình này sẽ tạo ra các thư mục và các tập tin chuẩn theo hướng lập trình mà bộ SDK cung cấp. Hình (3.2) thể hiện cây thư mục của ứng dụng add-on.

Hình 3.2. Cây thư mục của ứng dụng add-on.

 Tập tin có phần mở rộng .xml có cùng tên với tên ứng dụng có chức năng cấu hình ứng dụng.

 Tập tin Constants.cs là tập tin khai báo các biến hằng thường xuyên sử dụng trong ứng dụng.

 Tập tin Addin.cs chính là tập tin gốc của ứng dụng. Khi ứng dụng được chạy nó thực thi đầu tiên trong tập tin này.

 Thư mục References chứa các tập tin .DLL mà ứng dụng tham chiếu đến chúng.

 Thư mục Commands chứa các tập tin có chức năng thao tác với dữ liệu. Các tập tin trong thư mục này sẽ kết nối với các tập tin trong DataModel để truy xuất dữ liệu, thực thi rồi cập nhật lại dữ liệu.

 Thư mục DataModel chứa các thực thể dữ liệu với chức năng lưu trữ và

Một phần của tài liệu XÂY DỰNG MODULE TỐI ƯU HÓA KẾT CẤU THÉP DẦM CHÍNH CẦU TRỤC TRÊN NỀN ANSYS WORKBENCH (Trang 37 -37 )

×