为了准备比赛 当一名优秀的编程手! 本蒟蒻终于决定开始从0学起MATLAB建模orz
day1是线性规划模板
算是最基础的板子了orz 需要化成matlab的标准型之后使用的(matlab标准型在代码前面的注释,也可以自己上网查找)
用板子试了一下如下的题目,可以得到正确的结果:
求maxz=2x1+3x2-5x3
x1+x2+x3=7
2x1-5x2+x3>=10
x1+3x2+x3<=12
x1,x2,x3>=0
% 线性规划基础板子 % 标准形式: % minfx % Ax<=b % Aeqx=beq % lb<=x<=ub %% 线性规划求解函数 f=[-2,-3,5]; a=[-2,5,-1;1,3,1]; b=[-10,12]; aeq=[1,1,1];beq=[7];%可自定义更改 [x,fval]=linprog(f,a,b,aeq,beq,zeros(3,1),[]);%线性规划求解函数 fval=-fval;%此处根据实际问题自行更改 fprintf('最优解: ');disp(num2str(x)); fprintf(' '); fprintf('最优值: ');disp(num2str(fval));
可以得到正确结果:
最优解:
6.4286
0.57143
0
6.4286
0.57143
0
最优值:
14.5714
14.5714