Người ta không thể lựa chọn từ cái không có.
(Aristotle)
Nhưng nếu có một cái thì cũng không có chuyện lựa chọn.
Như vậy thực chất "Tối Ưu là sự lựa chọn cái tốt nhất theo đánh giá của con người từ những cái có và dùng được"
Bản chất
-Những cái có và dùng được đó tạo thành tập giải pháp khả thi gọi tắt là G.
-Giải pháp tốt nhất đó để có thể xác định nhờ phương pháp toán học thì cần được định lượng (tính toán, cho điểm được) cái chất lượng gọi tắt là mục tiêu J của giải pháp. Mục tiêu có thể là một (một mục tiêu) hay nhiều (đa mục tiêu) đặc tính được chọn. Mục tiêu phổ biến nhất là giảm thiểu chi phí hoặc tăng hiệu quả. Có thể theo nghĩa tiết kiệm nhất J = min. Trường hợp ngược lại J = max cũng có thể đưa về trường hợp J* = min với J* = - J.. Nếu định lượng của giải pháp tối ưu được quan niệm là một trị đặt trước là A thì cũng có thể đưa về trường hợp J* = min với J* = abs ( J - A ), abs nghĩa là giá trị tuyệt đối viết tắt.
Như vậy trước khi giải bài toán tối ưu hay nói đến bài toán tối ưu cần có bài toán thuận mà trong toán người ta còn gọi là bài toán phân tích, thực chất là từ các giá trị biến đầu vào được xác định cho trong miền đóng (cả giá trị biên) tính được giá trị số đầu ra (số đo của chất lượng đối tượng). Nói cách khác quan hệ hai đầu vào - ra là quan hệ hàm số. Nếu đầu vào không phải là tham số mà là hàm số thì đầu ra được gọi bằng một từ chuyên môn là phiếm hàm. Tất nhiên trường hợp sau luôn có thể rời rạc hóa để đưa về trường hợp đầu vào là các tham số (các giá trị số).
Bài toán tối ưu thực chất là bài toán ngược - tìm đầu vào để có giá trị đầu ra theo ý muốn. Có thể lấy ví dụ bài toán thuận: có ba số nguyên 1 + 2 + 3 => 6. Bài toán ngược 6 => a + b + c không chỉ có một khả năng. Có thể lựa chọn mục tiêu là tích a.b.c = max.
-Nếu tập G là hữu hạn nhỏ, ví dụ khoảng 10 trở lại thì ta cứ giải bài toán tính chất lượng J cho các giải pháp, rồi so sánh với nhau mà chọn giải pháp tối ưu có J = min.
-Nếu tập G là lớn hoặc vô hạn lớn ta có thể theo cách truyền thống cứng.
a- Sử dụng triệt để khả năng của máy tính. Quét tất cả các gải pháp. Lần lượt mỗi giải pháp được đánh dấu bằng một điểm trên màn hinh mà theo trục ngang là giá trị của J, theo trục đứng là thứ tự xét của giải pháp. Hai điểm cực biên theo phương ngang cho ta giải pháp tối ưu - tốt nhất và tồi nhất.
b- Nhận dạng giải pháp tối ưu bằng điều kiện cần tối ưu và dùng nó thay thế cho điều kiện J = min.
c-Tìm chiến lược để chuyển từ một giải pháp đã chọn sang giải pháp khác đồng thời với việc cải thiện chất lượng. Hoặc sử dụng những phương pháp tinh toán mềm được phát triển gần đây. Như vậy về mặt toán học giải bài toán tối ưu thực ra là giải bài toán cực trị. Ngược lại thì chưa chắc vì những quy luật của tự nhiên cũng đều có thể hình thức hóa dưới dạng bài toán cực trị hay nói cách khác là những quy luật tự nhiên đã tối ưu tự nhiên, không phụ thuộc sự lựa chọn của con người.
Ví dụ: ( người học tìm 3 ví dụ minh họa phần viết trên )
Cực trị địa phương và tổng thể.
Trường hợp hàm số là nhiều biến và tuyến tính, các điều kiện ràng buộc (dạng đẳng thức hay bất đẳng thức đóng) cũng tuyến tính, cực trị sẽ đạt ở điểm nút biên. Đó là bài toán Quy Hoạch Tuyến Tính với Phương pháp Đơn hình để giải. Về mặt hình học, giải thuật của phương pháp này được hiểu như là một quá trình duyệt qua các điểm cực biên của đa diện lồi S các phương án khả thi của bài toán sao cho chuyển từ điểm nọ sang điểm kia giá trị của hàm mục tiêu được cải thiện. Với giả thiết bài toán không suy biến, giải thuật đơn hình sẽ hội tụ về phương án tối ưu với một số hữu hạn lần lặp sau khi kiểm tra cho thấy điều kiện tối ưu được thoả mãn.
Trong trường hợp hàm nhiều biến không tuyến tính người ta dùng quy hoạch phi tuyến. Có một số dạng phi tuyến được nghiên cứu cho phương pháp giải riêng như như quy hoạch lồi, quy hoạch toàn phương...Nhưng những bài toán thuận trong kỹ thuật thường được giải bằng phương pháp số và có thể được đóng gói dưới dạng function ít có cơ hội xếp vào các trường hợp đó được. Ở đây có hai điều cần chú ý. Thứ nhất thay vì quy tắc toán học để tìm kiếm nhờ đạo hàm ta dùng Gradient (vector các đạo hàm riêng của hàm nhiều biến). Gradient được tính theo công thức toán học xấp xỉ các vi phân vô cùng bé của đạo hàm bằng nhưng sai phân hữu hạn. Thứ hai phải tính đến các ràng buộc. Nếu các ràng buộc có dạng đẳng thức thì tiện nhất sử dụng phương pháp nhân tử Lagrange tạo hàm mục tiêu suy rộng. Nếu các ràng buộc có dạng bất đẳng thức thì sử dụng hàm phạt để tạo ra hàm mục tiêu suy rộng, Hàm phạt dạng Logic rất dễ tạo ra nhờ lệnh if - then quen thuộc trong lập trình với nhiệm vụ xuất hiện để đẩy mục tiêu trở lại trong miền cho phép khi ràng buộc dạng bất đẳng thức bị vi phạm. Ví dụ nếu hàm mục tiêu J là cực tiểu và ràng buộc S có dạng không nhỏ hơn 0 thì hàm mục tiêu suy rộng sẽ là aJ + bS = min. Khi S không nhỏ hơn 0 thì a = 1 và b = 0, quá trình tối ưu được tìm kiếm như không có ràng buộc. Khi nhỏ hơn 0 thì ngược lại, quá trình tìm kiếm chỉ lo đẩy mục tiêu trở lại trong miền cho phép.
Trường hợp tổng quát khi hàm số có nhiều cực trị, phương pháp tìm kiếm giải pháp tối ưu trên về lý thuyết chỉ cho kết quả khi giải pháp khả thi xuất phát được chọn là lân cận cực trị tống thể, nếu không sẽ dẫn đến các cực trị địa phương và mắc kẹt ở đó. Không thể dùng giải pháp cực trị đó làm giải pháp xuất phát để cải thiện chất lượng đối tượng. Lại phải chọn những giải pháp xuất phát khác để tạo ra những cực trị địa phương rồi lựa chọn giải pháp tối ưu. Tóm lại nếu chứng minh được cực trị đạt được là duy nhất thì khỏi bàn. Nhưng đó là điều khó khăn trong toán học. Trong các bài toán kỹ thuật thường bao giờ cũng có một giải pháp theo những cách truyền thống. Cần đánh giá giải pháp khả thi đó đã tối ưu chưa so với những giải pháp lân cận nhận được nhờ thay đổi một chút các giá trị các tham số đầu vào và nếu chưa tối ưu thì có thể thay đổi không nhiều để cải thiện được chất lượng đạt cực trị địa phương mười, hai ba mươi phần trăm là tốt lắm rồi. Vì nếu thay đổi nhiều quá, sợ là lại không bền vững, lại rất nhạy cảm với sự thay đổi, với sự không chắc chắn của dữ liệu. Mặt khác cải thiện được đặc tinh này nhiều khi là hại cái khác, đó là hạn chế khi tối ưu hóa một mục tiêu. Sự khảo sát cực trị trong miền lân cận cho giải pháp khả thi lấy làm xuất phát có thể thực hiện được nhờ phương pháp tính Gradient. Nó như cái kim la bàn chỉ hướng tìm kiếm điểm điểm tối ưu trong miền không gian các tham số đầu vào.
Đặt và giải bài toán tối ưu thay đổi tham số đầu vào để tăng chất lượng đầu ra.
Bài Toán uốn dầm
- Xác định sơ bộ các tham số đầu vào của đối tượng bằng kinh nghiệm. Coi đó là giải pháp gốc. Ví dụ như sơ bộ có cái dầm chìa nằm ngang dài L, vật liệu thép có modun đàn hồi E, trọng lượng riêng g, mặt cắt ngang hình chữ nhật có diện tích H.A* = const.
- Xác định một đặc tính đầu ra ví dụ là độ võng đầu tự do V.
- Xác định tham số đầu vào có thể thay đổi để giảm độ võng, ví dụ lấy cạnh đáy là A(x) trong miền [A*- A*/10, A+A/10] để giảm V.
Giải bằng Phương pháp quét hết các điểm tạo miền giải pháp khả thi trong mặt phẳng
Có miền giải pháp khả thi có thể tìm điểm cực biên là lời giải tối ưu. Tất nhiên là ngày nay không ai giải tay mà sử dụng Máy Tính hết. Ngôn ngữ lập trình quen thuộc với nhiều người là Matlab. Thực hiện các bước sau:
- Rời rạc hóa dầm thành n đoạn có chiều dài l = L / n. Ví dụ n = 10, mỗi đoạn có mặt cắt ngang không đổi với giá trị thuộc [A-A/10, A+A/10] để giảm V.
- Xây dựng Modun bài toán thuận (BTT) với tham số đầu vào là 10 giá trị cạnh đáy mặt cắt ngang của các bậc dầm, đầu ra à V.
-Xây dựng Modun vẽ plot(V,K,'*') cho điểm M(V,K) với K là số thứ tự lần vẽ, V là chuyển vị làm tròn thành số nguyên
-Xét 9 giá trị rời rạc A-A*/10, A-3A*/40, A-A*/20, A-A*/40, A, A+A*/40, A+A*/20, A+3A*/40, A+A*/10.
- Quét hết phương án giá trị mặt cắt ngang cho 10 đoạn thanh cùng với lần lượt đếm K. Cho mỗi phương án gọi BTT tính V rồi plot(V,K,'*').
- Tim giải pháp tối ưu trên hình vẽ và ước lượng K.
- Chạy lại chương trình. Cho thêm lệnh ở lân cận K ước lượng được xuất các số liệu cần thiết.
Chính xác hóa lời giải bằng phương pháp Gradient Xem Gradient trong Matlab theohttp://www.mathworks.com/help/matlab/ref/gradient.html
-Xây dựng hàm mục tiêu suy rộng có các hàm phạt.
- Xây dựng Modun tính Gradient (Gra) của hàm mục tiêu với 10 biến số là diện tích mặt cắt ngang các bậc (thay các vi phân bằng sai phân).
-Thực hiện chương trình tìm kiếm cực tiểu nhờ Gra với điều kiện dừng do ta chọn.
Giải bằng Nguyên Lý Cực Đại Pontryagin
Phát biểu bài toán dưới dạng bài toán điều khiển một điểm trong không gian trạng thái: chuyển vị, góc xoay, moment uốn, lực cắt từ điểm đầu có chuyển vị, góc xoay bằng 0 đến điểm cuối có moment uốn, lực cắt triệt tiêu với một khoảng đường là độ dài thanh sao cho V(L) = 0. Hệ động lực ( hệ phương trình vi phân trạng thái) có dạng
V' = €
€' = M/(EcA),
M' = Q
Q' = - gA
Sao cho V(L) = min (#)
ở đây c là hằng số trong công thức tính moment quán tính đối với trục ngang của mặt cắt.
Với điều kiện trạng thái đầu và cuối V(0) = €(0) = 0 M(L) = Q(L) = 0
Các bước :
-Lập hàm Hamilton.
-Viết hệ phương trình vi phân liên hợp và điều kiện biên.
- Xây dựng Modun bài toán thuận (BTT) với tham số đầu vào là 10 giá trị cạnh đáy mặt cắt ngang của các bậc dầm, đầu ra là các giá trị bậc của các biến trạng thái.
-Xây dựng Modun bài toán liên hợp (BTL) với tham số đầu vào là 10 giá trị cạnh đáy mặt cắt ngang của các bậc dầm cùng với các giá trị biến trạng thái của BTT, đầu ra là các biến trạng thái liên hợp. Đây là Modun khó nhất vì hệ phương trình vi phân đạo hàm thường liên hợp thường có những điều kiện ở thời điểm cuối, ví dụ phải tìm các giá trị Y, Z tại các nút x = 0, s, ..., 10 s
-Xét 9 giá trị rời rạc A-A*/10, A-3A*/40, A-A*/20, A-A*/40, A, A+A*/40, A+A*/20, A+3A*/40, A+A*/10.
- Quét hết phương án giá trị mặt cắt ngang cho 10 đoạn thanh với các giá trị biến trạng thái của hai hệ thuận, liên hợp sao cho H = max
- Lặp lại bài toán từ BTT, BTL cho đến khi sai lệch hai bước liên tiếp là nhỏ. Kinh nghiệm cho thấy ứng dụng nguyên lý cực đại quá trình lặp hội tụ khá nhanh.
Tối ưu hóa đa mục tiêu
Phần lớn các trường hợp là hai mục tiêu tranh chấp A = min, B = min. Có thể kết nhập vào một mục tiêu .
G = k A + ( 1 - k ) B, với k thuộct [ 0, 1 ]
Lời giải tối ưu cho ta các giải pháp tối ưu thoả hiệp Paretto được biểu diễn bằng các điểm M(A, B) trong hệ tọa độ A, B.
Lập trình tiến hóa
(còn nữa)
--------------------------
click xem các bài viết
. http://tranductrungabc.blogtiengviet.net/disp/cat
(Aristotle)
Nhưng nếu có một cái thì cũng không có chuyện lựa chọn.
Như vậy thực chất "Tối Ưu là sự lựa chọn cái tốt nhất theo đánh giá của con người từ những cái có và dùng được"
Bản chất
-Những cái có và dùng được đó tạo thành tập giải pháp khả thi gọi tắt là G.
-Giải pháp tốt nhất đó để có thể xác định nhờ phương pháp toán học thì cần được định lượng (tính toán, cho điểm được) cái chất lượng gọi tắt là mục tiêu J của giải pháp. Mục tiêu có thể là một (một mục tiêu) hay nhiều (đa mục tiêu) đặc tính được chọn. Mục tiêu phổ biến nhất là giảm thiểu chi phí hoặc tăng hiệu quả. Có thể theo nghĩa tiết kiệm nhất J = min. Trường hợp ngược lại J = max cũng có thể đưa về trường hợp J* = min với J* = - J.. Nếu định lượng của giải pháp tối ưu được quan niệm là một trị đặt trước là A thì cũng có thể đưa về trường hợp J* = min với J* = abs ( J - A ), abs nghĩa là giá trị tuyệt đối viết tắt.
Như vậy trước khi giải bài toán tối ưu hay nói đến bài toán tối ưu cần có bài toán thuận mà trong toán người ta còn gọi là bài toán phân tích, thực chất là từ các giá trị biến đầu vào được xác định cho trong miền đóng (cả giá trị biên) tính được giá trị số đầu ra (số đo của chất lượng đối tượng). Nói cách khác quan hệ hai đầu vào - ra là quan hệ hàm số. Nếu đầu vào không phải là tham số mà là hàm số thì đầu ra được gọi bằng một từ chuyên môn là phiếm hàm. Tất nhiên trường hợp sau luôn có thể rời rạc hóa để đưa về trường hợp đầu vào là các tham số (các giá trị số).
Bài toán tối ưu thực chất là bài toán ngược - tìm đầu vào để có giá trị đầu ra theo ý muốn. Có thể lấy ví dụ bài toán thuận: có ba số nguyên 1 + 2 + 3 => 6. Bài toán ngược 6 => a + b + c không chỉ có một khả năng. Có thể lựa chọn mục tiêu là tích a.b.c = max.
-Nếu tập G là hữu hạn nhỏ, ví dụ khoảng 10 trở lại thì ta cứ giải bài toán tính chất lượng J cho các giải pháp, rồi so sánh với nhau mà chọn giải pháp tối ưu có J = min.
-Nếu tập G là lớn hoặc vô hạn lớn ta có thể theo cách truyền thống cứng.
a- Sử dụng triệt để khả năng của máy tính. Quét tất cả các gải pháp. Lần lượt mỗi giải pháp được đánh dấu bằng một điểm trên màn hinh mà theo trục ngang là giá trị của J, theo trục đứng là thứ tự xét của giải pháp. Hai điểm cực biên theo phương ngang cho ta giải pháp tối ưu - tốt nhất và tồi nhất.
b- Nhận dạng giải pháp tối ưu bằng điều kiện cần tối ưu và dùng nó thay thế cho điều kiện J = min.
c-Tìm chiến lược để chuyển từ một giải pháp đã chọn sang giải pháp khác đồng thời với việc cải thiện chất lượng. Hoặc sử dụng những phương pháp tinh toán mềm được phát triển gần đây. Như vậy về mặt toán học giải bài toán tối ưu thực ra là giải bài toán cực trị. Ngược lại thì chưa chắc vì những quy luật của tự nhiên cũng đều có thể hình thức hóa dưới dạng bài toán cực trị hay nói cách khác là những quy luật tự nhiên đã tối ưu tự nhiên, không phụ thuộc sự lựa chọn của con người.
Ví dụ: ( người học tìm 3 ví dụ minh họa phần viết trên )
Cực trị địa phương và tổng thể.
Trường hợp hàm số là nhiều biến và tuyến tính, các điều kiện ràng buộc (dạng đẳng thức hay bất đẳng thức đóng) cũng tuyến tính, cực trị sẽ đạt ở điểm nút biên. Đó là bài toán Quy Hoạch Tuyến Tính với Phương pháp Đơn hình để giải. Về mặt hình học, giải thuật của phương pháp này được hiểu như là một quá trình duyệt qua các điểm cực biên của đa diện lồi S các phương án khả thi của bài toán sao cho chuyển từ điểm nọ sang điểm kia giá trị của hàm mục tiêu được cải thiện. Với giả thiết bài toán không suy biến, giải thuật đơn hình sẽ hội tụ về phương án tối ưu với một số hữu hạn lần lặp sau khi kiểm tra cho thấy điều kiện tối ưu được thoả mãn.
Trong trường hợp hàm nhiều biến không tuyến tính người ta dùng quy hoạch phi tuyến. Có một số dạng phi tuyến được nghiên cứu cho phương pháp giải riêng như như quy hoạch lồi, quy hoạch toàn phương...Nhưng những bài toán thuận trong kỹ thuật thường được giải bằng phương pháp số và có thể được đóng gói dưới dạng function ít có cơ hội xếp vào các trường hợp đó được. Ở đây có hai điều cần chú ý. Thứ nhất thay vì quy tắc toán học để tìm kiếm nhờ đạo hàm ta dùng Gradient (vector các đạo hàm riêng của hàm nhiều biến). Gradient được tính theo công thức toán học xấp xỉ các vi phân vô cùng bé của đạo hàm bằng nhưng sai phân hữu hạn. Thứ hai phải tính đến các ràng buộc. Nếu các ràng buộc có dạng đẳng thức thì tiện nhất sử dụng phương pháp nhân tử Lagrange tạo hàm mục tiêu suy rộng. Nếu các ràng buộc có dạng bất đẳng thức thì sử dụng hàm phạt để tạo ra hàm mục tiêu suy rộng, Hàm phạt dạng Logic rất dễ tạo ra nhờ lệnh if - then quen thuộc trong lập trình với nhiệm vụ xuất hiện để đẩy mục tiêu trở lại trong miền cho phép khi ràng buộc dạng bất đẳng thức bị vi phạm. Ví dụ nếu hàm mục tiêu J là cực tiểu và ràng buộc S có dạng không nhỏ hơn 0 thì hàm mục tiêu suy rộng sẽ là aJ + bS = min. Khi S không nhỏ hơn 0 thì a = 1 và b = 0, quá trình tối ưu được tìm kiếm như không có ràng buộc. Khi nhỏ hơn 0 thì ngược lại, quá trình tìm kiếm chỉ lo đẩy mục tiêu trở lại trong miền cho phép.
Trường hợp tổng quát khi hàm số có nhiều cực trị, phương pháp tìm kiếm giải pháp tối ưu trên về lý thuyết chỉ cho kết quả khi giải pháp khả thi xuất phát được chọn là lân cận cực trị tống thể, nếu không sẽ dẫn đến các cực trị địa phương và mắc kẹt ở đó. Không thể dùng giải pháp cực trị đó làm giải pháp xuất phát để cải thiện chất lượng đối tượng. Lại phải chọn những giải pháp xuất phát khác để tạo ra những cực trị địa phương rồi lựa chọn giải pháp tối ưu. Tóm lại nếu chứng minh được cực trị đạt được là duy nhất thì khỏi bàn. Nhưng đó là điều khó khăn trong toán học. Trong các bài toán kỹ thuật thường bao giờ cũng có một giải pháp theo những cách truyền thống. Cần đánh giá giải pháp khả thi đó đã tối ưu chưa so với những giải pháp lân cận nhận được nhờ thay đổi một chút các giá trị các tham số đầu vào và nếu chưa tối ưu thì có thể thay đổi không nhiều để cải thiện được chất lượng đạt cực trị địa phương mười, hai ba mươi phần trăm là tốt lắm rồi. Vì nếu thay đổi nhiều quá, sợ là lại không bền vững, lại rất nhạy cảm với sự thay đổi, với sự không chắc chắn của dữ liệu. Mặt khác cải thiện được đặc tinh này nhiều khi là hại cái khác, đó là hạn chế khi tối ưu hóa một mục tiêu. Sự khảo sát cực trị trong miền lân cận cho giải pháp khả thi lấy làm xuất phát có thể thực hiện được nhờ phương pháp tính Gradient. Nó như cái kim la bàn chỉ hướng tìm kiếm điểm điểm tối ưu trong miền không gian các tham số đầu vào.
Đặt và giải bài toán tối ưu thay đổi tham số đầu vào để tăng chất lượng đầu ra.
- Xác định sơ bộ các tham số đầu vào của đối tượng bằng kinh nghiệm. Coi đó là giải pháp gốc. Ví dụ như sơ bộ có cái dầm chìa nằm ngang dài L, vật liệu thép có modun đàn hồi E, trọng lượng riêng g, mặt cắt ngang hình chữ nhật có diện tích H.A* = const.
- Xác định một đặc tính đầu ra ví dụ là độ võng đầu tự do V.
- Xác định tham số đầu vào có thể thay đổi để giảm độ võng, ví dụ lấy cạnh đáy là A(x) trong miền [A*- A*/10, A+A/10] để giảm V.
Giải bằng Phương pháp quét hết các điểm tạo miền giải pháp khả thi trong mặt phẳng
Có miền giải pháp khả thi có thể tìm điểm cực biên là lời giải tối ưu. Tất nhiên là ngày nay không ai giải tay mà sử dụng Máy Tính hết. Ngôn ngữ lập trình quen thuộc với nhiều người là Matlab. Thực hiện các bước sau:
- Rời rạc hóa dầm thành n đoạn có chiều dài l = L / n. Ví dụ n = 10, mỗi đoạn có mặt cắt ngang không đổi với giá trị thuộc [A-A/10, A+A/10] để giảm V.
- Xây dựng Modun bài toán thuận (BTT) với tham số đầu vào là 10 giá trị cạnh đáy mặt cắt ngang của các bậc dầm, đầu ra à V.
-Xây dựng Modun vẽ plot(V,K,'*') cho điểm M(V,K) với K là số thứ tự lần vẽ, V là chuyển vị làm tròn thành số nguyên
-Xét 9 giá trị rời rạc A-A*/10, A-3A*/40, A-A*/20, A-A*/40, A, A+A*/40, A+A*/20, A+3A*/40, A+A*/10.
- Quét hết phương án giá trị mặt cắt ngang cho 10 đoạn thanh cùng với lần lượt đếm K. Cho mỗi phương án gọi BTT tính V rồi plot(V,K,'*').
- Tim giải pháp tối ưu trên hình vẽ và ước lượng K.
- Chạy lại chương trình. Cho thêm lệnh ở lân cận K ước lượng được xuất các số liệu cần thiết.
Chính xác hóa lời giải bằng phương pháp Gradient Xem Gradient trong Matlab theohttp://www.mathworks.com/help/matlab/ref/gradient.html
-Xây dựng hàm mục tiêu suy rộng có các hàm phạt.
- Xây dựng Modun tính Gradient (Gra) của hàm mục tiêu với 10 biến số là diện tích mặt cắt ngang các bậc (thay các vi phân bằng sai phân).
-Thực hiện chương trình tìm kiếm cực tiểu nhờ Gra với điều kiện dừng do ta chọn.
Giải bằng Nguyên Lý Cực Đại Pontryagin
Phát biểu bài toán dưới dạng bài toán điều khiển một điểm trong không gian trạng thái: chuyển vị, góc xoay, moment uốn, lực cắt từ điểm đầu có chuyển vị, góc xoay bằng 0 đến điểm cuối có moment uốn, lực cắt triệt tiêu với một khoảng đường là độ dài thanh sao cho V(L) = 0. Hệ động lực ( hệ phương trình vi phân trạng thái) có dạng
V' = €
€' = M/(EcA),
M' = Q
Q' = - gA
Sao cho V(L) = min (#)
ở đây c là hằng số trong công thức tính moment quán tính đối với trục ngang của mặt cắt.
Với điều kiện trạng thái đầu và cuối V(0) = €(0) = 0 M(L) = Q(L) = 0
Các bước :
-Lập hàm Hamilton.
-Viết hệ phương trình vi phân liên hợp và điều kiện biên.
- Xây dựng Modun bài toán thuận (BTT) với tham số đầu vào là 10 giá trị cạnh đáy mặt cắt ngang của các bậc dầm, đầu ra là các giá trị bậc của các biến trạng thái.
-Xây dựng Modun bài toán liên hợp (BTL) với tham số đầu vào là 10 giá trị cạnh đáy mặt cắt ngang của các bậc dầm cùng với các giá trị biến trạng thái của BTT, đầu ra là các biến trạng thái liên hợp. Đây là Modun khó nhất vì hệ phương trình vi phân đạo hàm thường liên hợp thường có những điều kiện ở thời điểm cuối, ví dụ phải tìm các giá trị Y, Z tại các nút x = 0, s, ..., 10 s
-Xét 9 giá trị rời rạc A-A*/10, A-3A*/40, A-A*/20, A-A*/40, A, A+A*/40, A+A*/20, A+3A*/40, A+A*/10.
- Quét hết phương án giá trị mặt cắt ngang cho 10 đoạn thanh với các giá trị biến trạng thái của hai hệ thuận, liên hợp sao cho H = max
- Lặp lại bài toán từ BTT, BTL cho đến khi sai lệch hai bước liên tiếp là nhỏ. Kinh nghiệm cho thấy ứng dụng nguyên lý cực đại quá trình lặp hội tụ khá nhanh.
Tham khảo tài liệu về ứng dụng nguyên lý cực đại Pontryaginhttp://link.springer.com/article/10.1007%2Fs11012-011-9504-3?LI=true
Phương Pháp Tính Toán Mềm (Tối ưu đa mục tiêu - Lập trình tiến hóa - Điều khiển mờ - Mạng nơ ron)Tối ưu hóa đa mục tiêu
Phần lớn các trường hợp là hai mục tiêu tranh chấp A = min, B = min. Có thể kết nhập vào một mục tiêu .
G = k A + ( 1 - k ) B, với k thuộct [ 0, 1 ]
Lời giải tối ưu cho ta các giải pháp tối ưu thoả hiệp Paretto được biểu diễn bằng các điểm M(A, B) trong hệ tọa độ A, B.
Lập trình tiến hóa
(còn nữa)
--------------------------
click xem các bài viết
Không có nhận xét nào:
Đăng nhận xét