Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 140 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
140
Dung lượng
1,21 MB
Nội dung
i Lời cảm ơn Em xin chân thành cảm ơn sâu sắc thầy hướng dẫn luận văn, PGS.TS Chu Quốc Thắng tận tình hướng dẫn, giúp đỡ quan tâm sâu sắc đến em suốt trình thực luận văn Xin cảm ơn đến gia đình tơi động viên tinh thần tơi suốt q trình học tập trình thực luận văn Xin gửi lời cảm ơn chân thành đến bạn bè giúp đỡ, chia sẻ kinh nghiệm, động viên suốt trình học tập thực luận văn ii TÓM TẮT Trong luận văn thuật giải mô luyện kim (Simulated annealing) dùng để tối ưu đồng thời kích thước, hình dạng vị tướng kết cấu dàn phẳng Bài toán tối ưu kết cấu dàn phẳng phát biểu giới hạn phương pháp kết cấu nền, hàm mục tiêu chọn để tối ưu trọng lượng thể tích kết cấu dàn phẳng chịu ràng buộc ứng suất, chuyển vị ổn định Bài toán tối ưu đồng thời kích thước hình dạng vị tướng kết cấu dàn phẳng loại toán tối ưu phức tạp, có nhiều miền khả thi hồn tồn khác nhau, vậy, thuật giải mơ luyện kim sử dụng luận văn hiệu chỉnh đồng thời bổ sung thêm hai thông số “ thông số Boltzmann có trọng số” “thơng số Boltzmann tới hạn” để nâng cao hiệu khả áp dụng thành cơng thuật giải cho tốn Ngồi thuật tốn kết hợp với phương pháp hồn lại loại bỏ với phương pháp hoàn lại nút loại bỏ nút để tạo kết cấu dàn vị tướng khác thiết kế dự tuyển Và cuối thuật toán áp dụng kiểm tra số ví dụ tính tốn cụ thể iii MỤC LỤC CHƢƠNG 1: TỔNG QUAN THUẬT GIẢI MÔ PHỎNG LUYỆN KIM (SIMULATED ANNEALING) VÀ CÁC PHƢƠNG PHÁP TỐI ƢU KẾT CẤU DÀN 1.1 Đặt vấn đề 1.2 Các loại tối ƣu kết cấu dàn 1.3 Tổng quan thuật giải mô luyện kim ( Simulated annealing ) 1.3.1 Khái niệm 1.3.2 Nền tảng vật lý tƣơng tự toán tối ƣu tổ hợp với q trình tơi (annealing) 1.3.3 Một số đặc điểm thuật giải mô luyện kim 1.3.4 Một số ứng dụng thuật giải mô luyện kim 1.4 Thiết kế tối ƣu kết cấu dàn sử dụng thuật giải mô luyện kim 1.5 Nội dung nghiên cứu 1.6 Phạm vi nghiên cứu 1.7 Phƣơng pháp nghiên cứu 1.8 Cấu trúc chƣơng CHƢƠNG 2: THUẬT GIẢI MÔ PHỎNG LUYỆN KIM (SIMULATED ANNEALING) 10 2.1 Quá trình (annealing) 10 2.2 Bài toán tối ƣu tổ hợp 10 2.3 Sự tƣơng tự tốn tối ƣu tổ hợp với q trình tơi (annealing) vật lý 11 2.4 Thuật giải mô luyện kim 12 2.4.1 Thuật giải mô luyện kim tổng quát 12 2.4.2 Áp dụng thuật giải mô luyện kim 14 2.4.2.1 Lƣu đồ tổng quát thuật giải SA 15 2.4.2.2 Thông số Boltzmann 17 2.4.2.3 Lịch biểu làm nguội 17 CHƢƠNG 3: SỬ DỤNG THUẬT GIẢI MÔ PHỎNG LUYỆN KIM (SA) TỐI ƢU ĐỒNG THỜI KÍCH THƢỚC, HÌNH DẠNG VÀ VỊ TƢỚNG DÀN PHẲNG 19 3.1 Giới thiệu tốn tối ƣu đồng thời kích thƣớc, hình dạng vị tƣớng kết cấu dàn phẳng 19 3.2 Phát biểu tốn tối ƣu đồng thời kích thƣớc, hình dạng vị tƣớng kết cấu dàn phẳng 20 3.2.1 Các biến thiết kế 20 3.2.2 Hàm mục tiêu 21 3.2.3 Quản lí ràng buộc 21 3.3 Thiết kế kích thƣớc, hình dạng vị tƣớng kết cấu dàn phẳng 23 3.4 Áp dụng thuật giải mô luyện kim (SA) 24 3.4.1 Tạo thiết kế ban đầu 27 3.4.2 Lịch biểu làm nguội (Cooling schedule) 27 3.4.3 Tạo thiết kế dự tuyển (candidate design) 28 3.4.4 Chọn lựa thiết kế dự tuyển (candidate design) 31 3.4.5 Thơng số Boltzmann có trọng số (Weighted Boltzmann parameter) 32 iv 3.4.6 Thông số Boltzmann tới hạn (Critical Boltzamnn parameter) 36 3.4.7 Vòng lặp nội 38 3.4.8 Phƣơng pháp chọn thiết kế tốt 38 3.4.9 Tiêu chuẩn kết thúc 39 CHƢƠNG 4: CÁC VÍ DỤ TÍNH TỐN 40 4.1 Một điều kiện tải trọng 40 4.1.1 Bài toán 10 nút 40 4.1.2 Bài toán 15 nút 43 4.2 Nhiều điều kiện tải trọng 47 4.2.1 Bài toán 31 14 nút 47 4.2.2 Bài toán 41 14 nút 50 4.2.3 Bài toán 31 14 nút thêm điều kiện biên 53 4.3 Ảnh hƣởng thông số thuật giải đến kết toán 55 4.3.1 Một điều kiện tải trọng, toán 10 nút 55 4.3.2 Nhiều điều kiện tải trọng, toán 31 14 nút thêm điều kiện biên 62 4.4 Nhận xét 67 CHƢƠNG 5: KẾT LUẬN VÀ KIẾN NGHỊ 68 5.1 Kết luận kết nghiên cứu 68 5.2 Các vấn đề tồn 69 5.3 Kiến nghị chung 69 TÀI LIỆU THAM KHẢO 70 CHƢƠNG 1: TỔNG QUAN THUẬT GIẢI MÔ PHỎNG LUYỆN KIM (SIMULATED ANNEALING) VÀ CÁC PHƢƠNG PHÁP TỐI ƢU KẾT CẤU DÀN 1.1 Đặt vấn đề Trong thực tế nay, thiết kế tối ưu kết cấu vấn đề quan tâm Mục đích tối ưu kết cấu tìm sơ đồ chung kết cấu hiệu chịu tải trọng cho trước Kết cấu dàn kết cấu sử dụng nhiều thực tế (ví dụ cho mái cơng trình dân dụng cơng nghiệp, cơng trình cầu), việc tối ưu kết cấu dàn yêu cầu cần thiết Kết cấu dàn có trọng lượng thể tích nhỏ đạt tối ưu đồng thời biến kích thước, hình dạng vị tướng kết cấu dàn Các phương pháp tối ưu kết cấu dàn như: phương pháp qui hoạch toán học, phương pháp tiêu chuẩn tối ưu (Optimality criteria method) giải hiệu cho trường hợp đặc biệt thơng thường khó khăn để tìm thấy lời giải tối ưu tồn cục Gần số phương pháp tối ưu toàn cục lên thuật toán triển vọng để giải toán tối ưu phức tạp, phương pháp phổ biến bao gồm: thuật giải di truyền, mô luyện kim, tabu search…Trong luận văn thạc sỹ tác giả dùng thuật giải mô luyện kim để tối ưu kết cấu dàn Theo tài liệu tác giả thu thập được, Việt Nam có luận văn thạc sỹ tác giả Trương Tuấn Hiệp [24] trường ĐHBK TPHCM năm 2008 sử dụng thuật giải mô luyện kim để tối ưu đồng thời biến kích thước vị tướng kết cấu dàn phẳng Nhưng tối ưu đồng thời biến kích thước vị tướng chưa cho kết tốt so với tối ưu đồng thời biến kích thước, hình dạng vị tướng kết cấu dàn 1.2 Các loại tối ƣu kết cấu dàn Tối ưu kết dàn để tạo kết cấu dàn tiết kiệm (ví dụ trọng lượng nhỏ nhất, thể tích nhỏ nhất) thỏa mãn tất ràng buộc ứng suất, ổn định dàn, chuyển vị nút dàn… Có ba loại thiết kế tối ưu kết cấu dàn [25] (hình 1.1): Tối ưu kích thước: Biến thiết kế thơng số kích thước liên kết với mơ hình phần tử hữu hạn, diện tích mặt cắt ngang dàn Diện tích mặt cắt ngang xem biến liên tục biến rời rạc Tối ưu hình dạng : Hình học kết cấu xem biến thiết kế Tối ưu hình dạng dàn thực thay đổi vị trí tọa độ nút kết cấu dàn Tối ưu vị tướng: Ở chuỗi khơng gian nút tối ưu, biến thiết kế vị tướng liên quan đến xuất không xuất kết cấu ban đầu Kết cấu ban đầu tạo tập hợp n điểm nút cho trước m liên kết có thể, vài nút áp đặt điều kiện biên tải trọng Nhiệm vụ tốn tìm kết cấu dàn tối ưu từ kết cấu ban đầu thỏa mãn tất điều kiện tải trọng điều kiện biên Tối ưu kích thước (size) Tối ưu hình dạng (shape) Hình 1.1 Các loại tối ƣu kết cấu dàn Tối ưu vị tướng (Topology) 1.3 Tổng quan thuật giải mô luyện kim ( Simulated annealing ) 1.3.1 Khái niệm Mô luyện kim (Simulated Annealing) phương pháp tối ưu xác xuất thích hợp để tìm tối ưu tồn cục hàm cho khơng gian tìm kiếm rộng lớn Mô luyện kim (SA) đề xuất Kirkpatrick đồng năm 1983 [1] ứng dụng vào tốn hành trình người bán hàng (travelling salesman problem) Phương pháp dạng phương pháp tìm kiếm cục (local search) cho phép tạo bước chuyển trạng thái tốt theo cách có kiểm sốt 1.3.2 Nền tảng vật lý tƣơng tự toán tối ƣu tổ hợp với q trình tơi (annealing) Phương pháp Simulated Annealing mơ q trình tơi (annealing) ngành luyện kim Annealing q trình vật lý, chất rắn nung nóng nhiệt độ cao vượt qua nhiệt độ nóng chảy sau làm nguội tới nhiệt độ ban đầu Ở nhiệt độ cao phân tử chất rắn di chuyển tự do, dẫn tới kết phân tử di chuyển đến vị trí chất rắn Nếu trình làm nguội xảy đủ chậm phân tử chất rắn xếp lại vào trạng thái lượng thấp Do tính chất cấu trúc kim loại sau (annealing) phụ thuộc vào tốc độ làm nguội Trong vật lý chất rắn, phân tử chất rắn đặc trưng xác suất PE tương ứng với trạng thái lượng E nhiệt độ T Xác xuất gọi phân bố xác xuất Boltzman Prob E exp E / k bT Trong k b số Boltzman Sự phân bố xác xuất có ngụ ý phân tử hệ thống nhiệt độ cao có nhiều khả trạng thái lượng cao (tức phân bố xác xuất Boltzman lớn hơn) so với nhiệt độ thấp Sự thay đổi trạng thái phân tử chất rắn mơ hiệu thuật giải đơn giản dựa vào phương pháp Monte Carlo đề nghị Metropolis et Al [1] Theo thuật giải Metropolis, trạng thái lượng E1 trạng thái lượng phát sinh E2 tạo xáo trộn nhỏ phân tử chất rắn Sự chuyển từ trạng thái lượng E1 sang trạng thái E2 chấp nhận với xác xuất (trong trình chuyển trạng thái nhiệt độ T số): Nêu E E1 exp ( E E1 ) / k bT Nêu E E1 P chấp nhận Áp dụng q trình mơ luyện kim (SA) vào toán tối ưu tổ hợp Sự tương tự trình tơi (annealing) tốn tối ưu tổ hợp dựa vào tương ứng sau [2]: Trạng thái hệ thống vật lý giống lời khả thi toán tối ưu Mức lượng trạng thái tương ứng với hàm mục tiêu toán tối ưu Chuyển trạng thái tương ứng với lời giải lân cận Nhiệt độ thơng số điều khiển q trình tối ưu Trạng thái lượng thấp tương ứng với lời giải tối ưu 1.3.3 Một số đặc điểm thuật giải mô luyện kim Thông thường không gian lời giải tốn tối ưu có nhiều cực tiểu địa phương Những phương pháp tìm kiếm cục đơn giản bắt đầu với lời giải ngẫu nhiên ban đầu phát sinh lời giải lân cận từ lời giải Lời giải lân cận chấp nhận cải thiện lời giải ban đầu, thuật giải tìm kiếm cục đơn giản có hạn chế thường hội tụ tối ưu địa phương Khác với phương pháp tìm kiếm cục đơn giản khác, phương pháp mơ luyện kim (Simulated Annealing) tránh tối ưu địa phương chấp nhận lời giải lân cận không cải thiện lời ban đầu với xác xuất Cịn lời giải lân cận cải thiện lời giải ban đầu ln chấp nhận [3] Trở ngại thuật giải SA thời gian chạy dài để hội tụ tới tối ưu toàn cục 1.3.4 Một số ứng dụng thuật giải mô luyện kim Trong năm gần đây, thuật giải SA ứng dụng nhiều lĩnh vực [4]: Mạng nơron, sinh vật học, vật lý, tốn học, tài chính, thiết kế mạch (circuit design), xử lý ảnh (image process) … Trong có số toán tối ưu tổ hợp sau đây: Bài tốn hành trình người bán hàng ( Travelling salesman problem ) Mục tiêu toán xác định chiều dài đường ngắn người bán hàng ghé thăm N thành phố, dừng thành phố lần, cuối trở lại thành phố ban đầu Bài toán lịch ( Job shop scheduling Problem ) Có tập hợp cơng việc, J = {j1, j2,…, jn}, nên kế hoạch cho tập hợp nguồn lực, RES = R1 , R2 , , Rm Mỗi công việc yêu cầu thực tập hợp trình O l = O1l , O2l , , Oml để hoàn thành cơng việc, giả thiết q trình Oil hồn thành trước q trình Oil1 bắt đầu Mỗi q trình Oil có khoảng thời gian xác định du il yêu cầu nguồn lực Ril RES Nguồn lực sử dụng nhiều trình thời điểm Nhiệm vụ tốn tìm thấy lịch tối ưu để tổng thời gian hồn thành tất cơng việc ngắn Khả ứng dụng rộng rãi thành công thuật giải SA kiểm chứng nhiều lĩnh vực bao gồm lĩnh vực tối ưu kết cấu Balling [5] ứng dụng thuật giải SA thiết kế tối ưu kích thước khung sáu tầng không đối xứng kết luận thuật giải SA mạnh so với phương pháp khác Tzan Pantelides [6] giải thành công toán tối ưu khung chịu tải trọng động thuật giải SA, khả thuật giải SA việc quản lí khơng gian thiết kế có miền khả thi không liên tục nhấn mạnh Shim Manoochehri [7] ứng dụng thuật giải SA để xác định thiết kế vị tướng cho tối ưu thể tích mơ hình phần tử hữu hạn Dựa vào nguyên lí tối ưu 0-1, tối ưu vị tướng tìm thấy loại bỏ hồn lại lưới mơ tả mơ hình Vì vậy, lưới đặc trưng biến có giá trị 1, với biến có giá trị xuất lưới mơ hình ngược lại không xuất ô lưới mơ hình Tương tự, Sonmez [8] thành công việc sử dụng thuật giải SA để tìm tối ưu hình dạng tồn cục kết cấu hai chiều chịu tải trọng tĩnh Với ứng dụng thực tế thuật giải SA lĩnh vực đa dạng chứng minh sức mạnh giải thuật Nói chung, thuật giải SA áp dụng dễ dàng, ứng dụng với hầu hết tốn tối ưu tổ hợp thơng thường cung cấp lời giải chấp nhận Ở nước ta, thuật giải SA thuật giải tương đối ứng dụng nghiên cứu khoa học cịn tương đối Sau số ứng dụng mà tác giả thu thập số luận văn thạc sĩ: - Trong luận văn thạc sĩ “Xếp lịch thi học kì cách kết hợp lập trình ràng buộc giải thuật mơ luyện kim“ tác giả Lâm Kim Hòa ĐHBK Thành Phố HCM [9] tác giả ứng dụng thành công thuật giải SA vào việc lập trình xếp lịch thi học kỳ trường đại học bách khoa với nhiều ràng buộc khác - Trong luận văn thạc sĩ “Ứng dụng kỹ thuật mô luyện kim cho tốn xếp phịng sinh viên ký túc xá“ tác giả Lê Trung Hiếu ĐHBK Thành Phố HCM [10] tác giả ứng dụng thành công thuật giải SA vào việc lập trình xếp phịng sinh viên ký túc xá 1.4 Thiết kế tối ƣu kết cấu dàn sử dụng thuật giải mô luyện kim Các nghiên cứu tối ưu kết cấu dàn sử dụng thuật giải SA ngày trở nên phổ biến năm gần đây, có khả giải hiệu toán tối ưu kết cấu phức tạp [2] Sau số nghiên cứu tối ưu kết cấu dàn sử dụng thuật giải SA: - Dhingra Bennage (1995) [11] ứng dụng thành công thuật giải SA cho tốn tối ưu kích thước kết cấu với biến liên tục rời rạc minh chứng toán tối ưu 10 dàn - Dhingra Bennage (1995) [12] ứng dụng thành công thuật giải SA cho toán tối ưu vị tướng kết cấu dàn Trong tác giả đề nghị hai phương 122 G2=max(0,abs(stress(iel)/1.04e8)-1)+G2; end end U=0; for i=2:2:(2*nnode) U=max(0,abs(cvi(i)/cvio)-1)+U; end Wc=Wu*(1/5+1.0*(U+G1+G2)); % end of file Bài tốn mục 4.2.3 Chương trình (file SA.m) % gcoord: ma tran toa toa nut nut toan cuc % cvi: vecto chuyen vi nut % stress: vecto ung suat cua moi phan tu % X: vecto thong so thiet ke kich thuoc % T: vecto thong so thiet ke vi tuong % nodes: ma tran ket noi nut cua phan tu % bcdof: vecto chua bac tu co dieu kien % bcval: vecto chua dieu kien bien (ung voi bcdof) % Wc: ham muc tieu rang buoc % Wu: ham muc tieu khong rang buoc % P: xac suat chap nhan % K: thong so Boltzmann % Kw: thong so Boltzmann co so % Kj: thong so Boltzmann toi han % w: so lam nguoi % Na: so luong cac thiet ke du tuyen kem clc clear % -% DU LIEU CAU TRUC nel=31; % so phan tu nnel=2; % so nut cho moi phan tu ndof=2; % so bac tu moi nut nnode=14; % Tong so nut cua he sdof=nnode*ndof; % So bac tu moi he sb=4; % so luong bien kich thuoc theo nhom bvt=16 % so luong bien kich thuoc doc lap E=2.1e11; % N/m2 L1=5; % m L2=6; %m n=5; % So luong tai phai nhap % -% TAO RA KET CAU NEN BAN DAU % V=[0.01:0.001:0.1]; % tap hop mat cat roi rac xep theo thu tu tang dan (m3) 123 N=[1:length(V)]; % so thu tu nguyen duong tuong ung voi so mat cat Cy2=[2:0.001:8]; % toa nut theo phuong Y Cy4=[2:0.001:8]; % toa nut theo phuong Y Cy6=[2:0.001:8]; % toa nut theo phuong Y Cy8=[2:0.001:8]; % toa nut theo phuong Y % Tao cac gia tri thiet ke ban dau Wc=0; for kt=1:sb v=1+floor(rand*length(V)); X(kt)=V(v); end ngy2=1+floor(rand*length(Cy2)); ngy4=1+floor(rand*length(Cy4)); ngy6=1+floor(rand*length(Cy6)); ngy8=1+floor(rand*length(Cy8)); C(1)=Cy2(ngy2); C(2)=Cy4(ngy4); C(3)=Cy6(ngy6); C(4)=Cy8(ngy8); T=[1 1 1 1 1 1 1 1 1]; % Dien tich mat cat cua toan bo cac ket cau nen Xtb=[X(4) X(1) X(3) X(3) X(2) X(4) X(1) X(3) X(3) X(2) X(4) X(1) X(3) X(3) X(2) X(4) X(1) X(3) X(3) X(2) X(4) X(1) X(3) X(3) X(2) X(4) X(1) X(3) X(3) X(2) X(4)]; for dem=1:bvt Xdx(dem)=Xtb(dem); end Xsd=[Xdx(1) Xdx(2) Xdx(3) Xdx(4) Xdx(5) Xdx(6) Xdx(7) Xdx(8) Xdx(9) Xdx(10) Xdx(11) Xdx(12) Xdx(13) Xdx(14) Xdx(15) Xdx(16) Xdx(12) Xdx(14) Xdx(13) Xdx(15) Xdx(11) Xdx(7) Xdx(9) Xdx(8) Xdx(10) Xdx(6) Xdx(2) Xdx(4) Xdx(3) Xdx(5) Xdx(1)]; A=[X T C]; % % KHAI BAO TOA DO NUT xycoord=[0 0;0 C(1);L1 0;L1 C(2);2*L1 0;2*L1 C(3);3*L1 0;3*L1 C(4);4*L1 0;4*L1 C(3);5*L1 0;5*L1 C(2);6*L1 0;6*L1 C(1)]; % -% KET NOI CAC NUT VAO PHAN TU nodes(1,1)=1; nodes(1,2)=2; % Phan tu thu nhat nodes(2,1)=2; nodes(2,2)=4; nodes(3,1)=2; nodes(3,2)=3; nodes(4,1)=1; nodes(4,2)=4; nodes(5,1)=1; nodes(5,2)=3; nodes(6,1)=3; nodes(6,2)=4; nodes(7,1)=4; nodes(7,2)=6; nodes(8,1)=4; nodes(8,2)=5; nodes(9,1)=3; nodes(9,2)=6; nodes(10,1)=3; nodes(10,2)=5; nodes(11,1)=5; nodes(11,2)=6; nodes(12,1)=6; nodes(12,2)=8; 124 nodes(13,1)=6; nodes(13,2)=7; nodes(14,1)=5; nodes(14,2)=8; nodes(15,1)=5; nodes(15,2)=7; nodes(16,1)=7; nodes(16,2)=8; nodes(17,1)=8; nodes(17,2)=10; nodes(18,1)=8; nodes(18,2)=9; nodes(19,1)=7; nodes(19,2)=10; nodes(20,1)=7; nodes(20,2)=9; nodes(21,1)=9; nodes(21,2)=10; nodes(22,1)=10; nodes(22,2)=12; nodes(23,1)=10; nodes(23,2)=11; nodes(24,1)=9; nodes(24,2)=12; nodes(25,1)=9; nodes(25,2)=11; nodes(26,1)=11; nodes(26,2)=12; nodes(27,1)=12; nodes(27,2)=14; nodes(28,1)=12; nodes(28,2)=13; nodes(29,1)=11; nodes(29,2)=14; nodes(30,1)=11; nodes(30,2)=13; nodes(31,1)=13; nodes(31,2)=14; % % TOA DO NUT CHO BIEN -bnodes(1,1)=1; bnodes(1,2)=2; % Phan tu thu nhat bnodes(2,1)=2; bnodes(2,2)=4; bnodes(3,1)=2; bnodes(3,2)=3; bnodes(4,1)=1; bnodes(4,2)=4; bnodes(5,1)=1; bnodes(5,2)=3; bnodes(6,1)=3; bnodes(6,2)=4; bnodes(7,1)=4; bnodes(7,2)=6; bnodes(8,1)=4; bnodes(8,2)=5; bnodes(9,1)=3; bnodes(9,2)=6; bnodes(10,1)=3; bnodes(10,2)=5; bnodes(11,1)=5; bnodes(11,2)=6; bnodes(12,1)=6; bnodes(12,2)=8; bnodes(13,1)=6; bnodes(13,2)=7; bnodes(14,1)=5; bnodes(14,2)=8; bnodes(15,1)=5; bnodes(15,2)=7; bnodes(16,1)=7; bnodes(16,2)=8; % % AP DAT DIEU KIEN BIEN bcdof(1)=1; % Bac tu thu (theo tong the) chiu dieu kien bien bcval(1)=0; % Dieu kien bien co gia tri la bcdof(2)=2; bcval(2)=0; bcdof(3)=25; bcval(3)=0; bcdof(4)=26; bcval(4)=0; bcdof(5)=14; 125 bcval(5)=0; % -% Nhap tai nut p=[-3e6;-3e6;-3e6;-3e6;-3e6]; % Ma tran tai tac dung (N) m=[6;10;14;18;22]; % Ma tran huong tai tac dung % -% KET THUC NHAP CAU TRUC NEN % -% -% CHUONG TRINH TOI UU DONG THOI KICH THUOC, HINH DANG VA VI TUONG % KET CAU DAN PHANG BANG PHUONG PHAP MO PHONG LUYEN KIM (SIMULATED ANNEALING) % -cvio=0.01; % chuyen vi cho Phep (m) delta=10; % Gioi han xao tron cua bien kich thuoc deltaC=30; % Gioi han xao tron toa nut Ps=0.5; % Xac suat ban dau Pf=1e-7; % Xac suat cuoi Nc=300; % So vong lam nguoi Is=1; % So lan lap cua vong lap noi o nhiet ban dau ts If=3; % So lan lap cua vong lap noi o nhiet cuoi cung ts lamda=4; % Mo hinh lam nguoi CW2 hoac CW4 muy=4; % Gia tri hang so yeu nut=ktranut(nnode,nodes,nel,Xsd); % Ma tran kiem tra nut chu dong hay bi dong for i1=1:length(p(:,1)) [cvi,stress]=giainoiluc(p(i1,:),m(i1,:),nut,nel,nnel,ndof,sdof,nodes,bcdof,bcval,xycoord,Xs d,E); [Wu,Wc0]=objective(nel,nodes,xycoord,Xsd,stress,cvi,cvio,nnode); % gia tri ham muc tieu ban dau Wc=Wc0+Wc; end ts=-1/log(Ps); % Nhiet bat dau tf=-1/log(Pf); % Nhiet cuoi cung f=(log(Ps)/log(Pf))^(1/(Nc-1)); % He so lam nguoi t=ts; % Nhiet hien hanh Wj=Wc; % Wj gia tri ham muc tieu rang buoc ban dau Kw=0; Wuc=Wu; % Wuc gia tri ham muc tieu khong rang muc cua thiet ke kha thi Wcc=Wc; % Wcc gia tri ham muc tieu rang buoc cua thiet ke kha thi Xc=X; % Xc thiet kha thi cua bien kich thuoc Tc=T; % Tc thiet kha thi cua bien vi tuong Xl=X; % Xl bien dung de luu giu dien tich mat cat cua cac (ke ca bi loai bo) for ii=1:10 % so lan lap cho 10 giai doan K(ii)=1; Na(ii)=0; deltat=0; for kk=1:ii a1=(kk-1)*(Nc/10)+1; 126 a2=kk*(Nc/10); deltat=deltat+ts*(f^(a1-1)-f^(a2-1)); end c=(ii-1)*(Nc/10)+1; for h=1:ii b1=(h-1)*(Nc/10)+1; b2=h*(Nc/10); w(h)=min(1,(((ts*f^(c-1))/(ts*f^(b1-1)))*((deltat/ii)/(ts*(f^(b1-1)-f^(b21)))))^lamda); end for jj=((ii-1)*(Nc/10)+1):(ii*( Nc/10)) % so luong vong lam nguoi cua giai doan thu ii Kwtb(jj)=0; Ptb(jj)=0; % Ptb(jj) xac suat chap nhan trung binh o vong lam nguoi jj Ntb(jj)=0; I=round(If+(If-Is)*((ts*f^(jj-1)-tf)/(tf-ts))); % so luong buoc lap o nhiet hien hanh t for j=1:I % cac buoc lap cua vong lap noi H=zeros(1,(sb+bvt+length(C))); for i=1:(sb+bvt+length(C)) % Mot buoc lap don cua vong lap noi Wus=Wu; Wcs=Wc; Xs=X; Ts=T; Cs=C; Xtb=[X(4) X(1) X(3) X(3) X(2) X(4) X(1) X(3) X(3) X(2) X(4) X(1) X(3) X(3) X(2) X(4) X(1) X(3) X(3) X(2) X(4) X(1) X(3) X(3) X(2) X(4) X(1) X(3) X(3) X(2) X(4)]; Xdxs=Xdx; Xsl=Xl; Xsd=[Xdx(1) Xdx(2) Xdx(3) Xdx(4) Xdx(5) Xdx(6) Xdx(7) Xdx(8) Xdx(9) Xdx(10) Xdx(11) Xdx(12) Xdx(13) Xdx(14) Xdx(15) Xdx(16) Xdx(12) Xdx(14) Xdx(13) Xdx(15) Xdx(11) Xdx(7) Xdx(9) Xdx(8) Xdx(10) Xdx(6) Xdx(2) Xdx(4) Xdx(3) Xdx(5) Xdx(1)]; chiso=find(H==0); t1=length(chiso); t2=1+floor(rand*t1);%chon mot bien ngau nhien tap ma tran A [Xa,Ca,Ta,Xal,Xatb,Xdxa,Xsda]=vituong(Xs,Cs,Xtb,Ts,Xsl,Xdx,Xsd,V,N,Cy2,Cy4,Cy6,Cy8,delta,de ltaC,sb,nel,nnode,bnodes,nodes,chiso,t2,bvt);% Xa,Ta la cac thiet ke du tuyen H(chiso(t2))=i; try xycoorda=[0 0;0 Ca(1);L1 0;L1 Ca(2);2*L1 Ca(4);4*L1 0;4*L1 Ca(3);5*L1 0;5*L1 Ca(2);6*L1 0;6*L1 Ca(1)]; nut=ktranut(nnode,nodes,nel,Xsda); Wca=0; for i2=1:length(p(:,1)) 0;2*L1 Ca(3);3*L1 0;3*L1 127 [cvi,stress]=giainoiluc(p(i2,:),m(i2,:),nut,nel,nnel,ndof,sdof,nodes,bcdof,bcval,xycoord,Xs da,E); [Wua,Wca0]=objective(nel,nodes,xycoord,Xsda,stress,cvi,cvio,nnode); Wca=Wca0+Wca; end deltaW=Wca-Wcs; if deltaW = Kj X=Xs; T=Ts; C=Cs; Xl=Xsl; Xdx=Xdxs; Wu=Wus; Wc=Wcs; else K(ii)=(K(ii)*Na(ii)+deltaW)/(Na(ii)+1); Na(ii)=Na(ii)+1; z1=0; z2=0; for k=1:ii z1=w(k)*K(k)*Na(k)+z1; z2=w(k)*Na(k)+z2; end Kw=z1/z2; P=exp(-deltaW/(Kw*t)); r=rand; Ptb(jj)=(Ptb(jj)*Ntb(jj)+P)/(Ntb(jj)+1); Ntb(jj)=Ntb(jj)+1; if P>r X=Xa; T=Ta; C=Ca; Xl=Xal; 128 Xdx=Xdxa; Wu=Wua; Wc=Wca; else X=Xs; T=Ts; C=Cs; Xl=Xsl; Xdx=Xdxs; Wu=Wus; Wc=Wcs; end end end catch X=Xs; T=Ts; C=Cs; Xl=Xsl; Xdx=Xdxs; Wu=Wus; Wc=Wcs; end if (Wcc > Wc)&(Wc==Wu) Wuc=Wu; Best(jj)=Wuc; Wcc=Wc; Xdxc=Xdx; Xc=X; Tc=T; Cc=C; end end end Kwtb(jj)=Kw; BestWu(jj)=Wu;% gia tri thiet ke hien hanh Wu qua suot trinh toi uu BestWc(jj)=Wc;% gia tri thiet ke hien hanh Wc qua suot trinh toi uu BestWuc(jj)=Wuc; % thiet ke tot nhat suot qua trinh toi uu t=t*f; end end disp('============ GIA TRI THIET KE HIEN HANH CUOI CUNG =============') disp('Ma tran vi tuong T:'); disp(T) disp('Ma tran toa C:'); disp(C) disp('Ma tran mat cat X (m2):'); disp(X) 129 disp('Gia tri ham muc tieu rang buoc Wc (m3):'); disp(Wc) disp('Gia tri ham muc tieu khong rang buoc Wu (m3):'); disp(Wu) disp(' -') disp('============= GIA TRI THIET KE KHA THI TOT NHAT ==============') disp('============= KET QUA LOI GIAI TOI UU DAT DUOC ===============') disp('Ma tran vi tuong T:'); disp(Tc) disp('Ma tran mat cat X (m2):'); disp(Xc) disp('Gia tri ham muc tieu rang buoc Wc (m3):'); disp(Wcc) disp('Gia tri ham muc tieu khong rang buoc Wu (m3):'); disp(Wuc) disp(' -') pause; figure(1) plot(1:Nc,Ptb); xlabel('Vong lam nguoi'); ylabel('Xac suat chap nhan'); pause; figure(2) plot(1:Nc,Kwtb); xlabel('Vong lam nguoi'); ylabel('Thong so Boltzmann co so'); pause; figure(3) plot(1:Nc,BestWu,1:Nc,BestWc,1:Nc,BestWuc) xlabel('Vong lam nguoi'); ylabel('The tich (m3)'); legend('Thiet ke hien hanh Wu','Thiet ke hien hanh Wc','Thiet ke tot nhat Wu=Wc'); % end of file Các function (file vituong.m, giainoiluc.m, objective.m) % Ham thay doi bien thiet ke function[X,C,T,Xl,Xatb,Xdxa,Xsda]= vituong(Xs,Cs,Xtb,Ts,Xsl,Xdx,Xsd,V,N,Cy2,Cy4,Cy6,Cy8,delta,deltaC,sb,nel,nnode,bnodes,nodes ,chiso,t2,bvt) nut=ktranut(nnode,nodes,nel,Xsd); % Thay doi bien kich thuoc if chiso(t2) 0.1 if Ts(chiso(t2)-sb)==1 Ts(chiso(t2)-sb)=0; Xdx(chiso(t2)-sb)=0; else if (nut(bnodes(chiso(t2)-sb,1))==0)|(nut(bnodes(chiso(t2)-sb,2))==0) Ts(chiso(t2)-sb)=0; Xdx(chiso(t2)-sb)=0; else Ts(chiso(t2)-sb)=1; Xdx(chiso(t2)-sb)=Xtb(chiso(t2)-sb); end end else c=1+floor(2*rand); d=bnodes(chiso(t2)-sb,c); if nut(d)==1 nut(d)=0; q1=find(bnodes==d); q2=find(q1>bvt); q3=length(q2); for k=1:q3 qs=q1(q2(k)); q1(q2(k))=qs-bvt; 132 end q4=length(q1); for m=1:q4 Xdx(q1(m))=0; Ts(q1(m))=0; end else nut(d)=1; t1=find(bnodes==d); t2=find(t1>bvt); t3=length(t2); for n=1:t3 ts=t1(t2(n)); t1(t2(n))=ts-bvt; end t4=length(t1) for nn=1:t4 r1=rand; r2=rand; if (nut(bnodes(t1(nn),find(bnodes(t1(nn),:)~=d)))==1)&(r20 Xdx(dem)=Xatb(dem); end end Xdxa=Xdx; Xsda=[Xdxa(1) Xdxa(2) Xdxa(3) Xdxa(4) Xdxa(5) Xdxa(6) Xdxa(7) Xdxa(8) Xdxa(9) Xdxa(10) Xdxa(11) Xdxa(12) Xdxa(13) Xdxa(14) Xdxa(15) Xdxa(16) Xdxa(12) Xdxa(14) Xdxa(13) Xdxa(15) Xdxa(11) Xdxa(7) Xdxa(9) Xdxa(8) Xdxa(10) Xdxa(6) Xdxa(2) Xdxa(4) Xdxa(3) Xdxa(5) Xdxa(1)]; % end of file 133 -% Ham tinh gia tri noi luc function[cvi,stress]= giainoiluc(p,m,nut,nel,nnel,ndof,sdof,nodes,bcdof,bcval,xycoord,X,E) % CHO GIA TRI BAN DAU LA ff=zeros(sdof,1); kk=zeros(sdof,sdof); SS=zeros(nel,sdof); % Ma tran tinh ung suat index=zeros(nnel*ndof,1); k=zeros(nnel*ndof,nnel*ndof); % % LUC NUT for j=1:length(m) ff(m(j))=p(j); end % -% TINH MA TRAN DO CUNG TONG PHAN TU, TONG THE, MA TRAN TINH UNG SUAT for iel=1:nel % Vong lap cho toan bo cac phan tu nd(1)=nodes(iel,1); % Lay so nut dau i cua phan tu thu iel nd(2)=nodes(iel,2); % Lay so nut dau j cua phan tu thu iel x1=xycoord(nd(1),1); % Toa cua nut i y1=xycoord(nd(1),2); x2=xycoord(nd(2),1); % Toa cua nut j y2=xycoord(nd(2),2); leng=sqrt((x2-x1)^2+(y2-y1)^2); % Chieu dai phan tu c=(x2-x1)/leng; % Goc giua truc toa ptu va truc tdo tong the s=(y2-y1)/leng; index=feeldof(nd,nnel,ndof); % Lay ma tran chi so cua phan tu thu iel [k]=fetruss(E,leng,X(iel),c,s); % Tinh ma tran cung cua phan tu [kk]=feasmbl(kk,k,index); % Ghep noi vao ma tran tong the S=(E/leng)*[-c -s c s]; edof=length(index); for i=1:edof ii=index(i); SS(iel,ii)=SS(iel,ii)+S(i); % Tinh ma tran ung suat end end % % LOAI BO CAC NUT BI DONG RA KHOI KET CAU NEN a=find(nut==0); b=find(ff~=0); for h=1:length(a) r1=find(b==(2*a(h)-1)); r2=find(b==(2*a(h))); if (length(r1)==0)&(length(r2)==0) bcdof(length(bcdof)+1)=2*a(h)-1; bcval(length(bcval)+1)=0; bcdof(length(bcdof)+1)=2*a(h); bcval(length(bcval)+1)=0; 134 end end % KHU DIEU KIEN BIEN [kk,ff]=feaplyc(kk,ff,bcdof,bcval); % -% KIEM TRA MA TRAN XAC DINH DUONG % Ma tran cung xac dinh duong tat ca cac tri rieng la duong u1=eig(kk); u2=find(u1=0 G1=max(0,abs(stress(iel)/1.3e8)-1)+G1; else G2=max(0,abs(stress(iel)/1.04e8)-1)+G2; end end U=0; for i=2:2:(2*nnode) U=max(0,abs(cvi(i)/cvio)-1)+U; end 135 Wc=Wu*(1/5+U+G1+G2); % end of file - Các function chung cho toán % Phan chuong trinh kiem tra nut bi dong hay chu dong % Nut i la chu dong nut(i)=1, bi dong nut(i)=0 function nut=ktranut(nnode,nodes,nel,Xs) nut=zeros(1,nnode); for i=1:nnode a1=find(nodes==i); a2=find(a1>nel); a3=length(a2); for ii=1:a3 as=a1(a2(ii)); a1(a2(ii))=as-nel; end a4=length(a1); for j=1:a4 if Xs(a1(j))~=0 nut(i)=1; break end end end nut % end of file % Tinh ma tran cung phan tu function [k]=fetruss(el,leng,area,c,s) k=(area*el/leng)*[c*c c*s -c*c -c*s; c*s s*s -c*s -s*s; -c*c -c*s c*c c*s; -c*s -s*s c*s s*s]; % end of file % Ghep noi vao ma tran tong the function [kk]=feasmbl(kk,k,index) edof=length(index); for i=1:edof ii=index(i); for j=1:edof jj=index(j); kk(ii,jj)=kk(ii,jj)+k(i,j); end end % end of file % Function ma hoa chuyen vi nut cho bai toan dan 136 % Mo ta cac bien : % index: vecto dofs cua he thong tuong ung voi phan tu % n(i) : chi so nut phan tu tuong ung voi chi so nut he thong % nnel : so nut tren phan tu % ndof : so dofs tren nut % -function [index]=feeldof(nd,nnel,ndof) edof=nnel*ndof; k=0; for i=1:nnel start=(nd(i)-1)*ndof; for j=1:ndof k=k+1; index(k)=start+j; end end % end of file % Ham dieu kien bien function [kk,ff]=feaplyc(kk,ff,bcdof,bcval) n=length(bcdof); sdof=size(kk); for i=1:n c=bcdof(i); ff(c)=bcval(i); for j=1:sdof kk(c,j)=0; kk(j,c)=0; end kk(c,c)=1; end % end of file - ... quan thuật giải mô luyện kim phương pháp tối ưu kết cấu dàn 9 - Chương 2: Thuật giải mô luyện kim - Chương 3: Sử dụng thuật giải mô luyện kim tối ưu đồng thời kích thước, hình dạng vị tướng hệ dàn. .. mô luyện kim để tối ưu đồng thời biến kích thước vị tướng kết cấu dàn phẳng Nhưng tối ưu đồng thời biến kích thước vị tướng chưa cho kết tốt so với tối ưu đồng thời biến kích thước, hình dạng vị. .. CHƢƠNG 3: SỬ DỤNG THUẬT GIẢI MÔ PHỎNG LUYỆN KIM (SA) TỐI ƢU ĐỒNG THỜI KÍCH THƢỚC, HÌNH DẠNG VÀ VỊ TƢỚNG DÀN PHẲNG 19 3.1 Giới thiệu tốn tối ƣu đồng thời kích thƣớc, hình dạng vị tƣớng