数学建模志愿者排班问题
来源:学生作业帮 编辑:神马作文网作业帮 分类:数学作业 时间:2024/11/11 14:11:03
数学建模志愿者排班问题
志愿者从8点工作到22点,每人工作3小时,只有20点开始工作的人工作2小时,对于志愿者的最小需求可以近似成2小时间隔的阶梯函数,函数在8点开始,相应需求人数分别是4,6,8,6,4,6,8,他们可以在8-22点的任意时刻工作,为了使志愿者人数最低,为他们的开始时间确定最优时间表
志愿者从8点工作到22点,每人工作3小时,只有20点开始工作的人工作2小时,对于志愿者的最小需求可以近似成2小时间隔的阶梯函数,函数在8点开始,相应需求人数分别是4,6,8,6,4,6,8,他们可以在8-22点的任意时刻工作,为了使志愿者人数最低,为他们的开始时间确定最优时间表
志愿者排班问题解答
(1)假设从早上8点开始,整点时有xi位志愿者开始工作,如下表:
时间 8:00 9:00 10:00 11:00 12:00 13:00 14:00 15:00 16:00 17:00 18:00 19:00 20:00 21:00
开始工作人数 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21
需要人数 4 4 6 6 8 8 6 6 4 4 6 6 8 8
从20:00开始,工作时间由3小时调整为2小时,但接待时间到22:00为止,刚好为2小时,故此条件不构成限制.
为方便计算,假定x6=x7=0.设每个时间段需要的工作人数为zi,则:;
目标:所需志愿者最少.
LINGO Model如下:
min= X8 +X9+ X10+ X11+ X12+ X13+ X14+ X15+ X16+ X17+ X18+ X19+ X20+ X21;
X8>=4; X8+ X9>=4; X8+ X9+ X10>=6; X9+ X10+ X11>=6; X10+ X11+ X12>=8;
X11+ X12+ X13>=8; X12+ X13+ X14>=6; X13+ X14+ X15>=6; X14+ X15+ X16>=4; X15+ X16+ X17>=4;
X16+ X17+ X18>=6; X17+ X18+ X19>=6; X18+ X19+ X20>=8; X19+ X20+ X21>=8;
运行LINGO软件得到问题的最优解(只列出非零变量):
最优目标函数值=32.00000
X8=4.000000 X10=4.000000 X11=2.000000 X12=2.000000 X13=4.000000 X15=2.000000 X16=2.000000 X17=4.000000 X19=2.000000 X20=6.000000
根据运行结果,最优时间表确定如下,此时最少人数为32人
时间 8:00 9:00 10:00 11:00 12:00 13:00 14:00 15:00 16:00 17:00 18:00 19:00 20:00 21:00
开始工作人数 4 0 4 2 2 4 0 2 2 4 0 2 6 0
需要人数 4 4 6 6 8 8 6 6 4 4 6 6 8 8
(2)没有志愿者愿意在12:00和18:00开始工作,即增加约束条件:
X12=0; X18=0.
LINGO Model如下:
min= X8 +X9+ X10+ X11+ X12+ X13+ X14+ X15+ X16+ X17+ X18+ X19+ X20+ X21;
X8>=4; X8+ X9>=4; X8+ X9+ X10>=6; X9+ X10+ X11>=6; X10+ X11+ X12>=8;
X11+ X12+ X13>=8; X12+ X13+ X14>=6; X13+ X14+ X15>=6; X14+ X15+ X16>=4; X15+ X16+ X17>=4;
X16+ X17+ X18>=6; X17+ X18+ X19>=6; X18+ X19+ X20>=8; X19+ X20+ X21>=8;
X12=0; X18=0;
运行LINGO软件得到问题的最优解(只列出非零变量):
最优目标函数值=32.00000
X8=4.000000 X10=6.000000 X11=2.000000 X13=6.000000
X16=4.000000 X17=2.000000 X19=4.000000 X20=4.000000
根据运行结果,最优时间表确定如下,此时最少人数为32人
时间 8:00 9:00 10:00 11:00 12:00 13:00 14:00 15:00 16:00 17:00 18:00 19:00 20:00 21:00
开始工作人数 4 0 6 2 0 6 0 0 4 2 0 4 4 0
需要人数 4 4 6 6 8 8 6 6 4 4 6 6 8 8
(1)假设从早上8点开始,整点时有xi位志愿者开始工作,如下表:
时间 8:00 9:00 10:00 11:00 12:00 13:00 14:00 15:00 16:00 17:00 18:00 19:00 20:00 21:00
开始工作人数 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21
需要人数 4 4 6 6 8 8 6 6 4 4 6 6 8 8
从20:00开始,工作时间由3小时调整为2小时,但接待时间到22:00为止,刚好为2小时,故此条件不构成限制.
为方便计算,假定x6=x7=0.设每个时间段需要的工作人数为zi,则:;
目标:所需志愿者最少.
LINGO Model如下:
min= X8 +X9+ X10+ X11+ X12+ X13+ X14+ X15+ X16+ X17+ X18+ X19+ X20+ X21;
X8>=4; X8+ X9>=4; X8+ X9+ X10>=6; X9+ X10+ X11>=6; X10+ X11+ X12>=8;
X11+ X12+ X13>=8; X12+ X13+ X14>=6; X13+ X14+ X15>=6; X14+ X15+ X16>=4; X15+ X16+ X17>=4;
X16+ X17+ X18>=6; X17+ X18+ X19>=6; X18+ X19+ X20>=8; X19+ X20+ X21>=8;
运行LINGO软件得到问题的最优解(只列出非零变量):
最优目标函数值=32.00000
X8=4.000000 X10=4.000000 X11=2.000000 X12=2.000000 X13=4.000000 X15=2.000000 X16=2.000000 X17=4.000000 X19=2.000000 X20=6.000000
根据运行结果,最优时间表确定如下,此时最少人数为32人
时间 8:00 9:00 10:00 11:00 12:00 13:00 14:00 15:00 16:00 17:00 18:00 19:00 20:00 21:00
开始工作人数 4 0 4 2 2 4 0 2 2 4 0 2 6 0
需要人数 4 4 6 6 8 8 6 6 4 4 6 6 8 8
(2)没有志愿者愿意在12:00和18:00开始工作,即增加约束条件:
X12=0; X18=0.
LINGO Model如下:
min= X8 +X9+ X10+ X11+ X12+ X13+ X14+ X15+ X16+ X17+ X18+ X19+ X20+ X21;
X8>=4; X8+ X9>=4; X8+ X9+ X10>=6; X9+ X10+ X11>=6; X10+ X11+ X12>=8;
X11+ X12+ X13>=8; X12+ X13+ X14>=6; X13+ X14+ X15>=6; X14+ X15+ X16>=4; X15+ X16+ X17>=4;
X16+ X17+ X18>=6; X17+ X18+ X19>=6; X18+ X19+ X20>=8; X19+ X20+ X21>=8;
X12=0; X18=0;
运行LINGO软件得到问题的最优解(只列出非零变量):
最优目标函数值=32.00000
X8=4.000000 X10=6.000000 X11=2.000000 X13=6.000000
X16=4.000000 X17=2.000000 X19=4.000000 X20=4.000000
根据运行结果,最优时间表确定如下,此时最少人数为32人
时间 8:00 9:00 10:00 11:00 12:00 13:00 14:00 15:00 16:00 17:00 18:00 19:00 20:00 21:00
开始工作人数 4 0 6 2 0 6 0 0 4 2 0 4 4 0
需要人数 4 4 6 6 8 8 6 6 4 4 6 6 8 8