基于matlab实现运筹学的整数线性规划(直接使用函数)


一,实验内容

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QC2DHWMv-1650535901659)(C:\Users\86150\AppData\Roaming\Typora\typora-user-images\image-20220421125933890.png)]

二,建立相应的整数线性规划模型

设 储 蓄 所 每 天 雇 佣 的 全 时 服 务 员 在 12 − 13 , 13 − 14 时 间 段 吃 午 餐 的 人 数 为 x 1 , x 2 设储蓄所每天雇佣的全时服务员在12-13,13-14时间段吃午餐的人数为x_1,x_2 12131314x1,x2

在 9 , 10 , 11 , 12 , 13 点 开 始 工 作 的 半 时 服 务 员 的 人 数 分 别 为 y 1 , y 2 , y 3 , y 4 , y 5 在9,10,11,12,13点开始工作的半时服务员的人数分别为y_1,y_2,y_3,y_4,y_5 910111213y1,y2,y3,y4,y5.

满足约束方程:

m i n Z = 100 x 1 + 100 x 2 + 40 y 1 + 40 y 2 + 40 y 3 + 40 y 4 + 40 y 5 min Z=100x_1+100x_2+40y_1+40y_2+40y_3+40y_4+40y_5 minZ=100x1+100x2+40y1+40y2+40y3+40y4+40y5
{ x 1 + x 2 + y 1 ≥ 4 x 1 + x 2 + y 1 + y 2 ≥ 3 x 1 + x 2 + y 1 + y 2 + y 3 ≥ 4 x 2 + y 1 + y 2 + y 3 + y 4 ≥ 6 x 1 + y 2 + y 3 + y 4 + y 5 ≥ 5 x 1 + x 2 + y 3 + y 4 + y 5 ≥ 6 x 1 + x 2 + y 4 + y 5 ≥ 8 x 1 + x 2 + y 5 ≥ 8 y 1 + y 2 + y 3 + y 4 + y 5 ≤ 3 x 1 , x 2 , y 1 , y 2 , y 3 , y 4 , y 5 ≥ 0 且 为 整 数 \left\{\begin{matrix} x_1+x_2+y_1&\geq 4\\ x_1+x_2+y_1+y_2&\geq 3\\ x_1+x_2+y_1+y_2+y_3&\geq 4\\ x_2+y_1+y_2+y_3+y_4&\geq 6\\ x_1+y_2+y_3+y_4+y_5&\geq 5\\ x_1+x_2+y_3+y_4+y_5&\geq 6\\ x_1+x_2+y_4+y_5&\geq 8\\ x_1+x_2+y_5&\geq 8\\ y_1+y_2+y_3+y_4+y_5&\leq3\\ x_1,x_2,y_1,y_2,y_3,y_4,y_5\geq0且为整数 \end{matrix}\right. x1+x2+y1x1+x2+y1+y2x1+x2+y1+y2+y3x2+y1+y2+y3+y4x1+y2+y3+y4+y5x1+x2+y3+y4+y5x1+x2+y4+y5x1+x2+y5y1+y2+y3+y4+y5x1,x2,y1,y2,y3,y4,y50434656883

三,实验方法与步骤

利用matlab函数intlinprog函数完成,讲相应的整数规划模型转化为该函数的输入。

矩阵输入:
f=[100,100,40,40,40,40,40]; %目标函数系数矩阵
intcon=[1,2,3,4,5,6,7];
A=[	-1,-1,-1,0,0,0,0;
	-1,-1,-1,-1,0,0,0;
	-1,-1,-1,-1,-1,0,0;
	0,-1,-1,-1,-1,-1,0;
	-1,0,0,-1,-1,-1,-1;
	-1,-1,0,0,-1,-1,-1;
	-1,-1,0,0,0,-1,-1;
	-1,-1,0,0,0,0,-1;
	0,0,1,1,1,1,1	];
b=[-4,-3,-4,-6,-5,-6,-8,-8,3];
Aeq=[];
beq=[];
lb=zeros(7,1);
ub=[];
函数使用:
[x, fval] = intlinprog(f,intcon,A,b,Aeq,beq,lb,ub);
disp("最优整数解:")
x
disp("最小目标函数值:")
fval

四,实验结果

最优整数解:

x =

     3
     4
     0
     0
     2
     0
     1

最小目标函数值:

fval =

   820

截图:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sSV4gZaw-1650535883872)(C:\Users\86150\AppData\Roaming\Typora\typora-user-images\image-20220421130332284.png)]

五,实验结果分析

模型建立正确,且经过计算,实验结果正确。

六,附录完整matlab实现

f=[100,100,40,40,40,40,40]; %目标函数系数矩阵
intcon=[1,2,3,4,5,6,7];
A=[	-1,-1,-1,0,0,0,0;
	-1,-1,-1,-1,0,0,0;
	-1,-1,-1,-1,-1,0,0;
	0,-1,-1,-1,-1,-1,0;
	-1,0,0,-1,-1,-1,-1;
	-1,-1,0,0,-1,-1,-1;
	-1,-1,0,0,0,-1,-1;
	-1,-1,0,0,0,0,-1;
	0,0,1,1,1,1,1	];
b=[-4,-3,-4,-6,-5,-6,-8,-8,3];
Aeq=[];
beq=[];
lb=zeros(7,1);
ub=[];

[x, fval] = intlinprog(f,intcon,A,b,Aeq,beq,lb,ub);
disp("最优整数解:")
x
disp("最小目标函数值:")
fval
  • 4
    点赞
  • 50
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值