Giới thiệu

Khi đưa ra quyết định lựa chọn 1 phương án thì bọn họ luôn quan tâm đến giữa hai yếu tố: tác dụng đạt được và túi tiền phải bỏ ra. Phương án tối ưu là phương án mà cực tiểu giá cả và cực đại về công dụng đem lại. Trong các bài toán kỹ thuật câu hỏi lựa chọn phương án buổi tối ưu sẽ đưa đến một sản phẩm giỏi theo yêu ước đặt ra.

*

Maltab là một trong những phần mềm được thực hiện khá thông dụng trong kỹ thuật, ứng dụng này cũng cung ứng tính toán buổi tối ưu với Optimization Toolbox. Để xây đắp một vấn đề tối ưu bạn cần tìm ra 3 yếu tố:

Hàm buổi tối ưu: thông thường là cực đại hoặc rất tiểu hàm về tối ưu. Biến đổi tối ưu: Các thông số kỹ thuật cần xác minh để có được hàm buổi tối ưu. Những điều kiện ràng buộc: các mối quan hệ giới tính giữa các biến buổi tối ưu.

Ví dụ một việc tối ưu

Để minh họa mình sẽ giới thiệu một việc tối ưu một kết cấu mà tôi đã thực hiện.

*

Bài toán tối ưu đề ra là:

Tìm địa điểm 2 điểm A và B để khi cơ cấu tổ chức hoạt động: alphachan=150odiv260oalpha_chan=150^odiv260^oalphachan​=150odiv260o thì quý giá lực tính năng FchanF_chanFchan​ để cân bằng với cài đặt PchanP_chanPchan​ là nhỏ nhất. Giám sát và đo lường ta được hàm tối ưu và các điều khiếu nại ràng buộc:

*

Sau khi kiếm được các nhân tố ta thực hiện viết lịch trình tìm giá bán trị về tối ưu trong Matlab

Chương trình tối ưu vào Matlab

Upload code trước…

chan_Optimate.m

clear allclcglobal chan_Lfix chan_P chan_L chan_angle_min chan_angle_max chan_H alpha;chan_Lfix = 215; % chieu dai teo dinh Linear actuatorchan_P = 31.3/2; % trong luong 1 chanchan_L = 455; % Chieu dai khau nang bởi vì chanchan_H = 0; % vì chenh lech chieu cao giua 2 khopchan_angle_min = 150; % Goc nghieng minchan_angle_max = 260; % Goc nghieng maxangle_zero = 180;% Cac rang buoc tuyen tinhx0 = <10,-150,300>; % Make a starting guess at the solutionlb = <10,-150,300>;ub = <90,-50,440>;options = optimoptions(

Bạn đang xem: Cách dùng optimization toolbox matlab

fmincon,'Algorithm','sqp'); = ... Fmincon(

Xem thêm: Chụp Ảnh Kỷ Yếu Concept Nông Trại, Kỉ Yếu Concept Farmer

chan_objfun,x0,<>,<>,<>,<>,lb,ub,
chan_confun,options);% Lam tron so lieux = round(x);Fmax = chan_objfun(x);% Tinh toan khô hanh trinh actuatorLmin = sqrt((x(1) - x(3)*cosd(chan_angle_max))^2 ... +(x(2) - x(3)*sind(chan_angle_max))^2);Lmax = sqrt((x(1) - x(3)*cosd(chan_angle_min))^2 ... +(x(2) - x(3)*sind(chan_angle_min))^2);L0 = sqrt((x(1) - x(3)*cosd(angle_zero))^2 ... +(x(2) - x(3)*sind(angle_zero))^2);% Hien thi ket qua tinh toandisplay(<'gia tri x1 y1 l1: ' num2str(x)>);display(<'Fmax: ' num2str(Fmax)>);display(<'Lmin: ' num2str(Lmin)>);display(<'Lmax: ' num2str(Lmax)>);display(<'L0: ' num2str(L0)>);display(alpha);% Ve bởi thi Lucangle = 150:0.5:260;x1 = x(1);y1 = x(2);l1 = x(3);Mtai = chan_P*chan_L/2;f = Mtai*(cosd(angle)).*sqrt((y1-l1*sind(angle)).^2 + (x1 - l1*cosd(angle)) ... .^2)/l1./(y1*cosd(angle) - x1*sind(angle));figure(1)hold ongrid on;xlim(<-50;100>);plot(angle-180,f,'k','LineWidth',2);xlabel('alpha_c_h_a_n');ylabel('F_c_h_a_n');title('Nang ha chan');

chan_objfun.m

function f = chan_objfun(x)% x(1) = x1% x(2) = y1% x(3) = l1global chan_P chan_L alphaMtai = chan_P*chan_L/2;alpha = 150;% ham mê toi uuf = abs(cosd(alpha))*Mtai*sqrt((x(2)-x(3)*sind(alpha))^2 + (x(1) - x(3)*cosd(alpha)) ... ^2)/x(3)/abs(x(2)*cosd(alpha) - x(1)*sind(alpha));

chan_confun.m

function = chan_confun(x)% Nonlinear inequality constraints% x(1) = x1% x(2) = y1% x(3) = l1global chan_Lfix chan_angle_min chan_angle_max;Lmin = sqrt((x(1) - x(3)*cosd(chan_angle_max))^2 ... +(x(2) - x(3)*sind(chan_angle_max))^2);Lmax = sqrt((x(1) - x(3)*cosd(chan_angle_min))^2 ... +(x(2) - x(3)*sind(chan_angle_min))^2);c = ;% Nonlinear equality constraintsceq = <>;