题目1
(暂时忽略限制条件为整数求解)
实验说明及源代码
>> c=[40,90];
>> a=[9,7;7,20];b=[56;70];
>> aeq=[];beq=[];
>> lb=[0;0];ub=[inf;inf];
>> [x,fval]=linprog(-c,a,b,aeq,beq,lb,ub)
实验结果
Optimal solution found.
x =
4.8092
1.8168
fval =
-355.8779
>> fval=-fval
fval =
355.8779
题目2
实验说明及源代码
clc
clear all
c=[40 90];%用目标函数系数来确定
a=[9 7 ;7 20];%约束条件左边约束
b=[56 70];%约束条件右边系数
aeq=[];%没有等式约束,因此aeq,beq都为空
beq=[];
lb=[5;0];%x1下限是5,x2下限是0
ub=[inf;inf];%x1,x2没有上限
[x,y]=linprog(-c,a,b,aeq,beq,lb,ub); %这里没有等式约束,对应的矩阵为空矩阵
x %获取对应x1,x2
best=c*x%计算最优值
实验结果
Optimal solution found.
x =
5.0000
1.5714
best =
341.4286
题目3
实验说明及源代码
clc
clear all
c=[40 90];%用目标函数系数来确定
a=[9 7 ;7 20];%约束条件左边约束
b=[56 70];%约束条件右边系数
aeq=[];%没有等式约束,因此aeq,beq都为空
beq=[];
lb=[0;3];%x1下限为0,x2下限为3
ub=[4;inf];%x1上限为4,x2没有上限
[x,y]=linprog(-c,a,b,aeq,beq,lb,ub); %这里没有等式约束,对应的矩阵为空矩阵
x %获取对应x1,x2
best=c*x%计算最优值
实验结果
Optimal solution found.
x =
1.4286
3.0000
best =
327.1429
题目4
实验分析及源代码
clc
clear all
c=[40 90];%用目标函数系数来确定
a=[9 7 ;7 20];%约束条件左边约束
b=[56 70];%约束条件右边系数
aeq=[];%没有等式约束,因此aeq,beq都为空
beq=[];
lb=[5;0];%xx1下限为5,x2下限为0
ub=[inf;1];%x1没有上限,x2上限为1
[x,y]=linprog(-c,a,b,aeq,beq,lb,ub); %这里没有等式约束,对应的矩阵为空矩阵
x %获取对应x1,x2
best=c*x%计算最优值
实验结果
Optimal solution found.
x =
5.4444
1.0000
best =
307.7778
其他
按每个变量的数值大小来划分整数区间,例如先划x1的范围,保持x2范围不变,再在x1的分枝中,划分x2的区间范围,再在每个范围内求目标解。