您的位置:首页 > 编程语言 > MATLAB

matlab 求解线性规划

2017-05-25 14:09 309 查看
4000
clc,clear all;
close all;

%%
% syms t;
% y=exp(-3*t)*sin(4*t+2)+4*exp(-0.5*t)*cos(2*t)-0.5;
% y1=diff(y,t);%求去一阶导数
% ezplot(y1,[0,4]);
% hold on;
% grid on;
% t0=solve(y1);
% ezplot(y,[0,4]);
% y2=solve(y1);
% b=subs(y2,t,t0)%并验证二阶导数为正

%%
% f=inline('(x(1)^2-2*x(1))*exp(-(x1)^2-x(2)^2-x(1)*x(2))','x1','x2');
% x0=[0;0];
% ff=optimset;
% ff.Display='iter';
% % x=fminsearch(f,x0,ff)
% x=fminunc(f,x0,ff)

%%
% f=inline('exp(-2*t).*cos(10*t)','t');
% t0=1;
% [t1,f1]=fminsearch(f,t0)

%%
% syms t;
% y=exp(-2*t).*cos(10*t)+exp(-3*(t+2))*sin(2*t);
% ezplot(y,[0,2.5]);
% set(gca,'Ylim',[-0.6 1]);

%%
%二元最优化问题
%max(-(x1)^2-x2)
% 9>=x1^2+x2^2
%x1+x2<=1
% [x1,x2]=meshgrid(-3:0.1:3);%生成网格型矩阵
% z=x1.^2-x2;
% i=find(x1.^2+x2.^2>9);
% z(i)=NaN;
% i=find(x1+x2>1);
% z(i)=NaN;
% surf(x1,x2,z);
% shading interp

%%
%求解线性规划问题
f=-[2 1 4 3 1]';
A=[0 2 1 4 2;3 4 5 -1 -1];
B=[54 62];
Ae=[];
Be=[];
xm=[0 0 3.32 0.678 2.57];
ff=optimset;
ff.LargeScale='off';%不使用大规模问题求解
ff.TolX=1e-15;
ff.TolFun=1e-20;
ff.TolCon=1e-20;
ff.Display='iter';
[x,f_opt,key,C]=linprog(f,A,B,Ae,Be,xm,[],[],ff)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: