某昼夜服务的公共交通系统每天各时间段(每4小时为一个时间段)所需的值班人数如表 所示,这些值班人员在某一时段开始上班后要连续工作8个小时(包括轮流用膳时间),问该公交系统至少需要多少名工作人员才能满足值班的需要?
某昼夜服务的公共交通系统每天各时间段(每4小时为一个时间段)所需的值班人数如表 所示,这些值班人员在某一时段开始上班后要连续工作8个小时(包括轮流用膳时间),问该公交系统至少需要多少名工作人员才能满足值班的需要?
表9-14 各时段所需值班人数表
班 次 时 间 段 所 需 人 数
1 6:00—10:00 60
2 10:00—14:00 70
3 14:00—18:00 60
4 18:00—22:00 50
5 22:00—2:00 20
6 2:00—6:00 30
这是一个最优线性规划问题
先建模,然后用单纯形法求解吧,不过最好用工具来算,例如matlab.
这道题的规划问题描述是:
目标:Min x1+x2+x3+x4+x5+x6
约束:S.t x1+x2>=70
x2+x3>=60
x3+x4>=50
x4+x5>=20
x5+x6>=30
x6+x1>=60
x1,x2,x3,x4,x5,x6>=0
我一般都是用matlab,里面有一个linprog函数专门算线性规划的.
刚才给你算了一下,六个时段分别是42、28、35、15、10和20人,共计150人.matlab的程序?还是C语言或者别的什么?我把刚才写的直接给你粘下来:先输入系数:a = [1;1;1;1;1;1];A=[-1 -1 0 0 0 00 -1 -1 0 0 00 0 -1 -1 0 00 0 0 -1 -1 00 0 0 0 -1 -1];b=[-70;-60;-50;-20;-30;-60];c = zeros(6,1);再调用linprog:[x, result, isok, output, l] = linprog(a, A, b, [], [], c);算出来的x是6个时间段的人数,result是最后结果,isok=1代表收敛。看了一下别人的回答,回答120人的兄弟给出了逐步的推演,很厉害。不过我建的模型有一个默认前提是八小时工作制,也就是说一个人每天只能工作一次。而这位兄弟的前提是一个人一天可以工作多次,如果需要按这个前提,就要改一下前面的模型。