Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 136 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
136
Dung lượng
3,99 MB
Nội dung
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP HCM - DƯƠNG GIẢ DỰNG TỐI ƯU HÓA ĐA MỤC TIÊU KẾT CẤU DÀN DỰA TRÊN ĐỘ TIN CẬY SỬ DỤNG PHƯƠNG PHÁP NSGA-II LUẬN VĂN THẠC SĨ Chuyên ngành: Kỹ thuật xây dựng cơng trình dân dụng cơng nghiệp Mã số ngành: 60580208 TP HỒ CHÍ MINH, tháng 10 năm 2017 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP HCM - DƯƠNG GIẢ DỰNG TỐI ƯU HÓA ĐA MỤC TIÊU KẾT CẤU DÀN DỰA TRÊN ĐỘ TIN CẬY SỬ DỤNG PHƯƠNG PHÁP NSGA-II LUẬN VĂN THẠC SĨ Chun ngành: Kỹ thuật xây dựng cơng trình dân dụng công nghiệp Mã số ngành: 60580208 CÁN BỘ HƯỚNG DẪN KHOA HỌC: PGS TS NGUYỄN THỜI TRUNG TP HỒ CHÍ MINH, tháng 10 năm 2017 CƠNG TRÌNH ĐƯỢC HỒN THÀNH TẠI TRƯỜNG ĐẠI HỌC CƠNG NGHỆ TP HCM Cán hướng dẫn khoa học: PGS TS NGUYỄN THỜI TRUNG Luận văn Thạc sĩ bảo vệ Trường Đại học Công nghệ TP HCM ngày 04 tháng 10 năm 2017 Thành phần Hội đồng đánh giá Luận văn Thạc sĩ gồm: TT Họ tên Chức danh Hội đồng TS Khổng Trọng Toàn Chủ tịch TS Trần Tuấn Nam Phản biện TS Đào Đình Nhân Phản biện TS Nguyễn Văn Giang TS Nguyễn Hồng Ân Ủy viên Ủy viên, Thư ký Xác nhận Chủ tịch Hội đồng đánh giá Luận sau Luận văn sửa chữa Chủ tịch Hội đồng đánh giá luận văn TRƯỜNG ĐH CÔNG NGHỆ TP HCM CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM PHÒNG QLKH – ĐTSĐH Độc lập – Tự – Hạnh phúc TP HCM, ngày 10 tháng 10 năm 2017 NHIỆM VỤ LUẬN VĂN THẠC SĨ Họ tên học viên: DƯƠNG GIẢ DỰNG Giới tính: Nam Ngày, tháng, năm sinh: 22/03/1989 Nơi sinh: Bình Định Chuyên ngành: Kỹ thuật xây dựng cơng trình dân dụng cơng nghiệp MSHV: 1541870003 I- Tên đề tài: Tối ưu hóa đa mục tiêu kết cấu dàn dựa độ tin cậy sử dụng phương pháp NSGA-II II- Nhiệm vụ nội dung: - Thiết lập toán tối ưu hoá đa mục tiêu tiền định - Thiết lập toán tối ưu hoá đa mục tiêu dựa độ tin cậy - Nghiên cứu giải thuật NSGA-II - Nghiên cứu toán phân tích độ tin cậy cho kết cấu giải thuật tối ưu hóa dựa độ tin cậy vịng lặp đơn xác định - Áp dụng thuật tốn NSGA-II để tìm lời giải tối ưu tốn kết cấu dàn 2D dàn 3D thiết lập: III- Ngày giao nhiệm vụ: 26/09/2016 IV- Ngày hoàn thành nhiệm vụ: 31/03/2017 V- Cán hướng dẫn: PGS TS NGUYỄN THỜI TRUNG CÁN BỘ HƯỚNG DẪN KHOA QUẢN LÝ CHUYÊN NGÀNH i LỜI CAM ĐOAN Tôi xin cam đoan Luận văn “Tối ưu hóa đa mục tiêu kết cấu dàn dựa độ tin cậy sử dụng phương pháp NSGA-II” hướng dẫn PGS TS Nguyễn Thời Trung cơng trình nghiên cứu riêng tơi Các số liệu, kết nêu Luận văn trung thực chưa công bố cơng trình khác Tơi xin cam đoan giúp đỡ cho việc thực Luận văn cảm ơn thơng tin trích dẫn Luận văn rõ nguồn gốc Học viên thực Luận văn Dương Giả Dựng ii LỜI CẢM ƠN Đầu tiên xin gửi lời cảm ơn chân thành đến thầy PGS TS Nguyễn Thời Trung, thầy người giảng dạy cho môn “Phương pháp phần tử hữu hạn” mơn “Tối ưu hóa kết cấu dựa độ tin cậy” trình học cao học Thầy người hướng dẫn hồn thành luận văn với lịng nhiệt huyết, kiến thức chuyên sâu lời giảng dạy xúc tích chuyên nghiệp Thầy người tạo động lực truyền cảm hứng cho để định thực luận văn chuyên ngành kết cấu, cụ thể lĩnh vực đánh giá độ tin cậy kết cấu Kế đến xin gửi lời cám ơn đến thầy giảng dạy tơi q trình học cao học Trường đại học Công nghệ TP.HCM Những kiến thức giá trị thầy cô giúp nhiều cho việc hồn thành luận văn Tơi xin cảm ơn ThS Hồ Hữu Vịnh, ThS Võ Duy Trung người hướng dẫn cho sử dụng ngơn ngữ lập trình Matlab, hỗ trợ tận tình cho tơi suốt q trình làm luận văn Tôi xin cám ơn anh chị em làm việc Viện Khoa học Tính tốn Trường đại học Tôn Đức Thắng, môi trường cởi mở, thân thiện Nhờ giúp đỡ nhiệt tình người, tơi hồn thành tốt luận văn Cuối cùng, xin gửi lời cảm ơn đến quan, đồng nghiệp gia đình ln động viên, hỗ trợ tạo điều kiện thuận lợi cho tơi suốt khóa học vừa qua TP HCM, ngày 10 tháng 10 năm 2017 Dương Giả Dựng iii TÓM TẮT Đề tài nghiên cứu tính tốn tối ưu hố đa mục tiêu cho kết cấu dàn 2D 3D dựa độ tin cậy Bài tốn tối ưu hóa đa mục tiêu thành lập với hàm mục tiêu cực tiểu khối lượng cực tiểu chuyển vị toàn hệ kết cấu Biến thiết kế diện tích mặt cắt ngang dàn Hàm ràng buộc ràng buộc ứng xử kết cấu dàn như: ràng buộc chuyển vị nút, ràng buộc ứng suất, ràng buộc tần số dao động Ứng xử kết cấu dàn phân tích phương pháp phần tử hữu hạn (PP-PTHH) – phần tử hai nút tuyến tính Giải thuật di truyền Nondominated Sorting Genetic Algorithm II (NSGA-II) sử dụng để giải toán tối ưu sau thành lập Độ tin cậy tính hiệu cách tiếp cận luận văn đánh giá kiểm chứng cách so sánh kết với kết cơng bố trước Từ khóa: tối ưu hóa đa mục tiêu, tối ưu hóa đa mục tiêu dựa độ tin cậy, NSGA-II (nondominated sorting genetic algorithm II), kết cấu dàn, chuyển vị, ứng suất, tần số dao động iv ABSTRACT The research aims to formulate and solve multi-objective reliability-based design optimization problems for 2D and 3D frame structures The objective functions are to minimize the weight and the maximum displacement of the entire structures The cross-section areas of bars are considered as design variables The constraint functions include the behavior constraints of structures such as node displacements, element stresses and natural frequencies The behavior of structures is analyzed by the Finite Element Method (FEM) – using two-node linear truss elements Then, Nondominated Sorting Genetic Algorithm II (NSGA-II) is applied to solve the multi-objective reliability-based design optimization problems The reliability and the effectiveness of the proposed approach in this study are evaluated and verified by comparing the achieved results with those available in the literature Keywords: Multi-objective optimization, Multi-objective optimization based on reliability, NSGA-II (nondominated sorting genetic algorithm II), truss structures, displacements, stresses, frequency constraint v MỤC LỤC 1.1 Giới thiệu đặt vấn đề 1.2 Tình hình nghiên cứu giới 1.3 Tình hình nghiên cứu nước 1.4 Nội dung nghiên cứu 1.5 Phạm vi nghiên cứu 10 1.6 Phương Pháp nghiên cứu 10 2.1 Phương pháp phần tử hữu hạn cho kết cấu dàn 11 Thành lập ma trận độ cứng, ma trận khối lượng véc-tơ lực 11 Phương trình cân tĩnh động 20 2.2 Tối ưu hóa đa mục tiêu dựa độ tin cậy cho tốn kết cấu 22 Tối ưu hóa đa mục tiêu 22 Bài tốn tối ưu hóa đa mục tiêu dựa độ tin cậy 26 Tối ưu hóa đa mục tiêu dựa độ tin cậy cho kết cấu dàn 27 2.3 Giải thuật tối ưu hóa dựa độ tin cậy vòng lặp đơn xác định 28 Chuyển đổi không gian thiết kế xác suất sang không gian thiết kế tiền định 31 Thành lập ràng buộc tiền định 32 vi 2.4 Giải thuật di truyền phân loại không trội NSGA-II 33 Một số định nghĩa thuật toán sử dụng phương pháp NSGA–II 33 Vịng lặp phương pháp NSGA-II 39 2.5 Giải thuật vòng lặp đơn RBDO sử dụng phương pháp NSGA-II 41 3.1 Kiểm chứng code lập trình Matlab 43 Ví dụ – Phân tích chuyển vị ứng suất dàn 11 44 Ví dụ – Phân tích tần số dao động dàn 10 45 Ví dụ – Kiểm chứng code lập trình giải thuật NSGA-II 46 Ví dụ – Kiểm chứng code lập trình RBDO-NSGA-II 48 3.2 Bài tốn tối ưu hóa đa mục tiêu kết cấu dàn 50 Bài toán kết cấu dàn phẳng 10 50 Bài tốn kết cấu dàn khơng gian 72 61 Bài toán kết cấu dàn phẳng 200 75 4.1 Kết luận 91 4.2 Hướng phát triển 94 % Cdisp = max(abs(u))/0.1016-1; % chuyen vi 10.16cm % % TINH UNG SUAT % for i=1:nel nd = element(:,i); x = gcoord(1,nd); y = gcoord(2,nd); % compute long and direction cosin of bar le = sqrt((x(2)-x(1))^2 + (y(2)-y(1))^2); % compute direction cosin l_ij = (x(2)-x(1))/le; m_ij = (y(2)-y(1))/le; % compute transform matrix Te = [l_ij m_ij 0; 0 l_ij m_ij]; % compute stiffness matrix of element Be = [-1/le 1/le]; % chi so bac tu cua phan tu index = [2*nd(1)-1 2*nd(1) 2*nd(2)-1 2*nd(2)]; disp_e = u(index); % chuyen vi cua phan tu de_o = Te*disp_e; stress_e(i) = E*Be*de_o; % tinh ung suat end % rang buoc ung suat LimitSig = 173.375e6; max(abs(stress_e)); Csig = max(abs(stress_e))/LimitSig-1; %% rang buoc bai toan % c = [Cdisp Csig c4]; % Rang buoc bat phuong trinh c = [c1 c2 c3 Cdisp Csig]; end Code Matlab hàm ràng buộc toán tối RBDO dàn phẳng 10 function [c,ceq] = hamrangbuoc10bars(xval) sigVal = 0.05*xval; E = 6.89e10; sigE = 0.05*E; P = 444.82e3; V_P = 0.1; siglogP = sqrt(log(1 + V_P^2)); muylogP = log(P)-1/2*siglogP^2; sigP = P*siglogP; muyP = P*(1 - log(P) + muylogP); addedMass = 454; sigadd = addedMass*0.05; rho sigrho = 2767; = 0.05*rho; X = [E muyP addedMass rho xval]; % mean value of random variables dX = 1e-6*X+1e-10; sigma = [sigE sigP sigadd sigrho sigVal]; % standard deviation beta = norminv(0.9987); % % beta = 3; [d11,d21,d31,d41,d51]=Truss10(X); for i = 1:length(X) xx = X; xx(i)= xx(i)+dX(i); [d12,d22,d32,d42,d52]=Truss10(xx); G(1,i)= (d12-d11)/dX(i)*sigma(i); G(2,i)= (d22-d21)/dX(i)*sigma(i); G(3,i)= (d32-d31)/dX(i)*sigma(i); G(4,i)= (d42-d41)/dX(i)*sigma(i); G(5,i)= (d52-d51)/dX(i)*sigma(i); end x_add(1,:) = beta*sigma.*G(1,:)./norm(G(1,:)); x_new1 = X + x_add(1,:); x_add(2,:) = beta*sigma.*G(2,:)./norm(G(2,:)); x_new2 = X + x_add(2,:); x_add(3,:) = beta*sigma.*G(3,:)./norm(G(3,:)); x_new3 = X + x_add(3,:); x_add(4,:) = beta*sigma.*G(4,:)./norm(G(4,:)); x_new4 = X + x_add(4,:); x_add(5,:) = beta*sigma.*G(5,:)./norm(G(5,:)); x_new5 = X + x_add(5,:); [c11,~,~,~,~] [~,c22,~,~,~] [~,~,c32,~,~] [~,~,~,c42,~] [~,~,~,~,c52] = = = = = Truss10(x_new1); Truss10(x_new2); Truss10(x_new3); Truss10(x_new4); Truss10(x_new5); c = [c11 c22 c32 c42 c52]; ceq = []; end function [ f1, f2, f3, Cdisp, Csig] = Truss10( x ) type = '2D'; E = x(1); P = x(2); addedMass =x(3) ; rho=x(4) ; A = x(5:end); % -% gcoord = [18.288, 18.288, 9.144, 9.144, 0, 9.144, 0, 9.144, 0, 9.144, 0]; % 10 element = [3, 1, 4, 2, 3, 1, 4, 3, 2, 5, 3, 6, 4, 4, 2, 5, 6, 3, 4]; nel = length(element); % total element nnode = length(gcoord); % total node ndof = 2; % number of degree of freedom of one node sdof = nnode*ndof; % total dgree of freedom of system % plotModel( type,gcoord,element ); % calculate stiffness matrix [ K,M ] = Cal_K_and_M(type,gcoord,element,A,rho,E); % add non-structural mass for idof = 1:sdof M(idof,idof) = M(idof,idof) + addedMass; end % apply boundary bcdof = [(5:6)*2-1, (5:6)*2]; % boundary condition displacement % Giai phuong trinh tim tri rieng va vector rieng [omega_2,~]=eigens(K,M,bcdof); f=sqrt(omega_2)/2/pi; f1 = 7/f(1) -1; f2 = 15/f(2)-1; f3 = 20/f(3)-1; K = zeros(sdof,sdof); % creat matrix of stiffness initial is zeros F = zeros(sdof,1); % creat matrix of force is zeros % % calculate stiffness matrix for i=1:nel nd = element(:,i); x = gcoord(1,nd); y = gcoord(2,nd); % compute long of each bar le = sqrt((x(2)-x(1))^2 + (y(2)-y(1))^2); % compute direction cosin l_ij = (x(2)-x(1))/le; % Eq.5.19 m_ij = (y(2)-y(1))/le; % Eq.5.19 % compute transform matrix Te = [l_ij m_ij 0; 0 l_ij m_ij]; % compute stiffness matrix of element ke = A(i)*E/le*[1 -1; -1 1]; ke = Te'*ke*Te; % compute force vector %fe = A(i)*rho*le*9.81/2*[0 1, 1]; % find index assemble index = [2*nd(1)-1 2*nd(1) 2*nd(2)-1 % assemble ke in K K(index,index) = K(index,index) + ke; % assemble fe in F %F(index,1) = F(index,1) + fe'; 2*nd(2)]; end F = -F; %***************************** % boundary condition * %***************************** bcdof = [(5:6)*2-1, (5:6)*2]; % boundary condition displacement bcval = zeros(1,length(bcdof)); % value of boundary condition %********************* % Node | PX PY | % % | 1e5 | % | 1e5 | % % Note: loads are in kips (kips) = 1000 (lb) % -% consider to self weight % Node F([4 8]) = -P; %******************************************************* % apply boundary condition force and displacement * %******************************************************* n = length(bcdof); for i = 1:n c = bcdof(i); K(c,:) = 0; K(c,c) = ; F(c) = bcval(i); end u = K\F; max(abs(u)); % rang buoc chuyen vi %Cdisp = max(abs(u))/0.0508-1; %Chuyen vi 5.08cm Cdisp = max(abs(u))/0.1016-1; %Chuyen vi 10.16 cm % TINH UNG SUAT % for i=1:nel nd = element(:,i); x = gcoord(1,nd); y = gcoord(2,nd); % compute long and direction cosin of bar le = sqrt((x(2)-x(1))^2 + (y(2)-y(1))^2); % compute direction cosin l_ij = (x(2)-x(1))/le; m_ij = (y(2)-y(1))/le; % compute transform matrix Te = [l_ij m_ij 0; 0 l_ij m_ij]; % compute stiffness matrix of element Be = [-1/le 1/le]; % chi so bac tu cua phan tu index = [2*nd(1)-1 2*nd(1) 2*nd(2)-1 2*nd(2)]; disp_e = u(index); % chuyen vi cua phan tu de_o = Te*disp_e; stress_e(i) = E*Be*de_o; % tinh ung suat end % rang buoc ung suat LimitSig = 173.375e6; max(abs(stress_e)); Csig = max(abs(stress_e))/LimitSig-1; end Code Matlab hàm mục tiêu chuyển vị toán dàn phẳng 10 function CV = hammuctieu_chuyenvi(x) %********************** % Input parameter * %********************** E = 6.89e10; A = x; P = 444.8e3; % tai tac dung tai nut % -% gcoord = [18.288, 18.288, 9.144, 9.144, 0, 9.144, 0, 9.144, 0, 9.144, 0]; % 10 element = [3, 1, 4, 2, 3, 1, 4, 3, 2, 5, 3, 6, 4, 4, 2, 5, 6, 3, 4]; % -nel = length(element); % total element nnode = length(gcoord); % total node ndof = 2; % number of degree of freedom of one node sdof = nnode*ndof; % total dgree of freedom of system % plot_mesh_Spatial % plot model of problem %********************** % processing * %********************** K = zeros(sdof,sdof); % creat matrix of stiffness initial is zeros F = zeros(sdof,1); % creat matrix of force is zeros % % calculate stiffness matrix for i=1:nel nd = element(:,i); x = gcoord(1,nd); y = gcoord(2,nd); % compute long of each bar le = sqrt((x(2)-x(1))^2 + (y(2)-y(1))^2); % compute direction cosin l_ij = (x(2)-x(1))/le; % Eq.5.19 m_ij = (y(2)-y(1))/le; % Eq.5.19 % compute transform matrix Te = [l_ij m_ij 0; 0 l_ij m_ij]; % compute stiffness matrix of element ke = A(i)*E/le*[1 -1; -1 1]; ke = Te'*ke*Te; % compute force vector %fe = A(i)*rho*le*9.81/2*[0 1, 1]; % find index assemble index = [2*nd(1)-1 2*nd(1) 2*nd(2)-1 2*nd(2)]; % assemble ke in K K(index,index) = K(index,index) + ke; % assemble fe in F %F(index,1) = F(index,1) + fe'; end F = -F; %***************************** % boundary condition * %***************************** bcdof = [(5:6)*2-1, (5:6)*2]; % boundary condition displacement bcval = zeros(1,length(bcdof)); % value of boundary condition %********************* % Node | PX PY | % % | 1e5 | % | 1e5 | % % Note: loads are in kips (kips) = 1000 (lb) % -% consider to self weight % Node F([4 8]) = -P; %******************************************************* % apply boundary condition force and displacement * %******************************************************* n = length(bcdof); for i = 1:n c = bcdof(i); K(c,:) = 0; K(c,c) = ; F(c) = bcval(i); end u = K\F; CV=max(abs(u)); Code Matlab hàm mục tiêu khối lượng toán dàn phẳng 10 function Weight= hammuctieu_khoiluong(section) A = section; % area of bar (m^2) rho = 2767; % density of material (kg/m^3) % -% gcoord = [18.288, 18.288, 9.144, 9.144, 0, 9.144, 0, 9.144, 0, 9.144, 0]; % 10 element = [3, 1, 4, 2, 3, 1, 4, 3, 2, 5, 3, 6, 4, 4, 2, 5, 6, 3, 4]; % -% calculate Weight matrix Weight = 0; for i=1:length(element) nd = element(:,i); x = gcoord(1,nd); y = gcoord(2,nd); % compute long of each bar le = sqrt((x(2)-x(1))^2 + (y(2)-y(1))^2); Weight = Weight + rho*le*A(i); end Code Matlab giải tốn tối ưu hóa dàn phẳng 10 clc; clear; close all addpath NSGA-II-functions % thong so thuat toan options = nsgaopt(); options.popsize = 50; options.maxGen = 5000; options.numObj = 2; options.numVar = 10; options.numCons = 1; nvars = 10; options.lb = 0.645e-4*ones(1,nvars); options.ub = 225.806e-4*ones(1,nvars); options.objfun = @TP_CONSTR_objfun options.plotInterval = 5; "plotnsga" options.useParallel = 'no'; result = nsga2(options) % create default options structure % populaion size % tong so vong lap % so luong ham muc tieu % so luong bien thiet ke % can duoi % can tren % ham muc tieu % interval between two calls of % begin the optimization! Code Matlab tính giá trị β function beta = CheckReliability2(xval) sigVal = 0.05*xval; E = 6.89*1e10; sigE = 0.05*E; P = 444.82e3; V_P = 0.1; siglogP = sqrt(log(1 + V_P^2)); muylogP = log(P)-1/2*siglogP^2; sigP = P*siglogP; muyP = P*(1 - log(P) + muylogP); muy_X = [E muyP xval]; sigma = [sigE sigP sigVal]; % mean value of random variables % standard deviation [ beta1 ] = FORM_Reliability( muy_X,sigma,@f1 ); [ beta2 ] = FORM_Reliability( muy_X,sigma,@f2 ); beta = [beta1;beta2]; function [ Cdisp ] = f1(x) % E = 6.89*1e10; % Young's elastic modulus (N/m^2) % A = x; % P = 444.82e3; E = x(1); P= x(2); A = x(3:end); % -% gcoord = [18.288, 18.288, 9.144, 9.144, 0, 9.144, 0, 9.144, 0, 9.144, 0]; % 10 element = [3, 1, 4, 2, 3, 1, 4, 3, 2, 5, 3, 6, 4, 4, 2, 5, 6, 3, 4]; nel = length(element); % total element nnode = length(gcoord); % total node ndof = 2; % number of degree of freedom of one node sdof = nnode*ndof; % total dgree of freedom of system % plotModel( type,gcoord,element ); % calculate stiffness matrix K = zeros(sdof,sdof); % creat matrix of stiffness initial is zeros F = zeros(sdof,1); % creat matrix of force is zeros % % calculate stiffness matrix for i=1:nel nd = element(:,i); x = gcoord(1,nd); y = gcoord(2,nd); % compute long of each bar le = sqrt((x(2)-x(1))^2 + (y(2)-y(1))^2); % compute direction cosin l_ij = (x(2)-x(1))/le; % Eq.5.19 m_ij = (y(2)-y(1))/le; % Eq.5.19 % compute transform matrix Te = [l_ij m_ij 0; 0 l_ij m_ij]; % compute stiffness matrix of element ke = A(i)*E/le*[1 -1; -1 1]; ke = Te'*ke*Te; % compute force vector %fe = A(i)*rho*le*9.81/2*[0 1, 1]; % find index assemble index = [2*nd(1)-1 2*nd(1) 2*nd(2)-1 2*nd(2)]; % assemble ke in K K(index,index) = K(index,index) + ke; % assemble fe in F %F(index,1) = F(index,1) + fe'; end F = -F; %***************************** % boundary condition * %***************************** bcdof = [(5:6)*2-1, (5:6)*2]; % boundary condition displacement bcval = zeros(1,length(bcdof)); % value of boundary condition %********************* % Node | PX PY | % % | 1e5 | % | 1e5 | % % Note: loads are in kips (kips) = 1000 (lb) % -% consider to self weight % Node F([4 8]) = -P; %******************************************************* % apply boundary condition force and displacement * %******************************************************* n = length(bcdof); for i = 1:n c = bcdof(i); K(c,:) = 0; K(c,c) = ; F(c) = bcval(i); end u = K\F; max(abs(u)); % rang buoc chuyen vi Cdisp = 0.0508-max(abs(u)); function [ Csig ] = f2(x) % E = 6.89*1e10; % Young's elastic modulus (N/m^2) % A = x; % P = 444.82e3; E = x(1); P= x(2); A = x(3:end); % -% gcoord = [18.288, 18.288, 9.144, 9.144, 0, 9.144, 0, 9.144, 0, 9.144, 0]; % 10 element = [3, 1, 4, 2, 3, 1, 4, 3, 2, 5, 3, 6, 4, 4, 2, 5, 6, 3, 4]; nel = length(element); % total element nnode = length(gcoord); % total node ndof = 2; % number of degree of freedom of one node sdof = nnode*ndof; % total dgree of freedom of system % plotModel( type,gcoord,element ); % calculate stiffness matrix K = zeros(sdof,sdof); % creat matrix of stiffness initial is zeros F = zeros(sdof,1); % creat matrix of force is zeros % % calculate stiffness matrix for i=1:nel nd = element(:,i); x = gcoord(1,nd); y = gcoord(2,nd); % compute long of each bar le = sqrt((x(2)-x(1))^2 + (y(2)-y(1))^2); % compute direction cosin l_ij = (x(2)-x(1))/le; % Eq.5.19 m_ij = (y(2)-y(1))/le; % Eq.5.19 % compute transform matrix Te = [l_ij m_ij 0; 0 l_ij m_ij]; % compute stiffness matrix of element ke = A(i)*E/le*[1 -1; -1 1]; ke = Te'*ke*Te; % compute force vector %fe = A(i)*rho*le*9.81/2*[0 1, 1]; % find index assemble index = [2*nd(1)-1 2*nd(1) 2*nd(2)-1 2*nd(2)]; % assemble ke in K K(index,index) = K(index,index) + ke; % assemble fe in F %F(index,1) = F(index,1) + fe'; end F = -F; %***************************** % boundary condition * %***************************** bcdof = [(5:6)*2-1, (5:6)*2]; % boundary condition displacement bcval = zeros(1,length(bcdof)); % value of boundary condition %********************* % Node | PX PY | % % | 1e5 | % | 1e5 | % % Note: loads are in kips (kips) = 1000 (lb) % -% consider to self weight % Node F([4 8]) = -P; %******************************************************* % apply boundary condition force and displacement * %******************************************************* n = length(bcdof); for i = 1:n c = bcdof(i); K(c,:) = 0; K(c,c) = ; F(c) = bcval(i); end u = K\F; % TINH UNG SUAT % for i=1:nel nd = element(:,i); x = gcoord(1,nd); y = gcoord(2,nd); % compute long and direction cosin of bar le = sqrt((x(2)-x(1))^2 + (y(2)-y(1))^2); % compute direction cosin l_ij = (x(2)-x(1))/le; m_ij = (y(2)-y(1))/le; % compute transform matrix Te = [l_ij m_ij 0; 0 l_ij m_ij]; % compute stiffness matrix of element Be = [-1/le 1/le]; % chi so bac tu cua phan tu index = [2*nd(1)-1 2*nd(1) 2*nd(2)-1 2*nd(2)]; disp_e = u(index); % chuyen vi cua phan tu de_o = Te*disp_e; stress_e(i) = E*Be*de_o; % tinh ung suat end % rang buoc ung suat LimitSig = 173.375e6; max(abs(stress_e)); Csig =LimitSig-max(abs(stress_e)); function beta = CheckReliability(xval) sigVal = 0.05*xval; E = 6.89*1e10; sigE = 0.05*E; addmass = 454; sigadd = 454*0.05; rho = 2767; sigrho = 0.05*rho; muy_X = [E addmass rho xval]; variables sigma = [sigE sigadd sigrho sigVal]; % mean value of random % standard deviation [ beta1 ] = FORM_Reliability( muy_X,sigma,@f1 ); [ beta2 ] = FORM_Reliability( muy_X,sigma,@f2 ); [ beta3 ] = FORM_Reliability( muy_X,sigma,@f3 ); beta = [beta1;beta2;beta3]; function [ c1 ] = f1( x ) type = '2D'; E = x(1); addedMass = x(2); rho = x(3); A = x(4:end); % -% gcoord = [18.288, 18.288, 9.144, 9.144, 0, 9.144, 0, 9.144, 0, 9.144, 0]; % 10 element = [3, 1, 4, 2, 3, 1, 4, 3, 2, 5, 3, 6, 4, 4, 2, 5, 6, 3, 4]; nnode = length(gcoord); % total node ndof = 2; % number of degree of freedom of one node sdof = nnode*ndof; % total dgree of freedom of system % plotModel( type,gcoord,element ); % calculate stiffness matrix [ K,M ] = Cal_K_and_M( type,gcoord,element,A,rho,E ); for idof = 1:sdof M(idof,idof) = M(idof,idof) + addedMass; end % apply boundary bcdof = [(5:6)*2-1, (5:6)*2]; % boundary condition displacement % Giai phuong trinh tim tri rieng va vector rieng [omega_2,~]=eigens(K,M,bcdof); f=sqrt(omega_2)/2/pi; c1 =f(1)-7; function [ c2 ] = f2( x ) type = '2D'; E = x(1); addedMass = x(2); rho = x(3); A = x(4:end); % -% gcoord = [18.288, 18.288, 9.144, 9.144, 0, 9.144, 0, 9.144, 0, 9.144, 0]; % 10 element = [3, 1, 4, 2, 3, 1, 4, 3, 2, 5, 3, 6, 4, 4, 2, 5, 6, 3, 4]; nnode = length(gcoord); % total node ndof = 2; % number of degree of freedom of one node sdof = nnode*ndof; % total dgree of freedom of system % plotModel( type,gcoord,element ); % calculate stiffness matrix [ K,M ] = Cal_K_and_M( type,gcoord,element,A,rho,E ); for idof = 1:sdof M(idof,idof) = M(idof,idof) + addedMass; end % apply boundary bcdof = [(5:6)*2-1, (5:6)*2]; % boundary condition displacement % Giai phuong trinh tim tri rieng va vector rieng [omega_2,~]=eigens(K,M,bcdof); f=sqrt(omega_2)/2/pi; c2 =f(2)-15; function [ c3 ] = f3( x ) type = '2D'; % E = 6.89*1e10; % Young's elastic modulus (N/m^2) % A = x; % rho = 2767; % density of material (kg/m^3) % addedMass = 454; %kg E = x(1); addedMass = x(2); rho = x(3); A = x(4:end); % -% gcoord = [18.288, 18.288, 9.144, 9.144, 0, 9.144, 0, 9.144, 0, 9.144, 0]; % 10 element = [3, 1, 4, 2, 3, 1, 4, 3, 2, 5, 3, 6, 4, 4, 2, 5, 6, 3, 4]; nnode = length(gcoord); % total node ndof = 2; % number of degree of freedom of one node sdof = nnode*ndof; % total dgree of freedom of system % plotModel( type,gcoord,element ); % calculate stiffness matrix [ K,M ] = Cal_K_and_M( type,gcoord,element,A,rho,E ); % add non-structural mass % addedMass = 454; %kg for idof = 1:sdof M(idof,idof) = M(idof,idof) + addedMass; end % apply boundary bcdof = [(5:6)*2-1, (5:6)*2]; % boundary condition displacement % Giai phuong trinh tim tri rieng va vector rieng [omega_2,~]=eigens(K,M,bcdof); f=sqrt(omega_2)/2/pi; % f(1:5) c3 = f(3)-20; ... Tối ưu hóa đa mục tiêu dựa độ tin cậy cho tốn kết cấu 22 Tối ưu hóa đa mục tiêu 22 Bài tốn tối ưu hóa đa mục tiêu dựa độ tin cậy 26 Tối ưu hóa đa mục tiêu dựa độ tin cậy cho kết. .. dao động) phần mềm tính tốn Matlab Thành lập toán tối ưu đa mục tiêu tiền định tối ưu đa mục tiêu dựa độ tin cậy với mức độ tin cậy xác định trước Dựa toán tối ưu đa mục tiêu tiền định tối ưu đa. .. lên kết tối ưu hố Bài tốn tối ưu hóa đa mục tiêu dựa độ tin cậy Khác với tốn tối ưu hóa đa mục tiêu tiền định (bài tốn tối ưu khơng xét đến ảnh hưởng yếu tố ngẫu nhiên), tốn tối ưu hóa đa mục tiêu