高手急急急!解决运筹学的两道问题

拜托各位了!!~~~感激不尽啊!希望写个详细的解题过程要求:用Lingo软件解决如下问题,要求每道计算题有问题的符号说明、问题的建模、模型的Lingo求解程序、运行结果。... 拜托各位了!!~~~感激不尽啊! 希望写个详细的解题过程

要求:用Lingo软件解决如下问题,要求每道计算题有问题的符号说明、问题的建模、模型的Lingo求解程序、运行结果。
某医院根据日常工作统计,每昼夜24小时中至少需要下列数量的护士。
序号 时段 护士最小数量
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 2:00~6:00 20
6 6:00~10:00 30
护士们分别在各时段开始上班,并连续工作8小时,问如何安排各个时段开始上班的人数,才能使护士的总人数最小?
计算题2(公务员招聘问题)(要抄题目)
现有16人应聘公务员,每个应聘人员岗位评语如下表,要求:
(1)行政管理岗位至少需要1人;
(2)其它岗位至少需要2人;
(3)每个人最多只能被一个岗位录用
问如何按要求指派其中8个人到4个岗位上?(要求有模型、计算程序、运行结果)
岗位综合评语
工作类别
应聘人员 行政管理 技术管理 行政执法 公共事业
人员1 0.9064 0.929 0.8474 0.8677
人员2 0.778 0.8783 0.816 0.7793
人员3 0.7675 0.748 0.6668 0.7103
人员4 0.7468 0.7945 0.7338 0.7332
人员5 0.7004 0.7039 0.6515 0.6662
人员6 0.627 0.6751 0.725 0.6751
人员7 0.6449 0.6779 0.5986 0.6166
人员8 0.6697 0.6972 0.6749 0.6595
人员9 0.6423 0.6664 0.6964 0.6664
人员10 0.5616 0.5687 0.6251 0.5895
人员11 0.5755 0.4989 0.6211 0.6188
人员12 0.6634 0.6498 0.6219 0.6498
人员13 0.5381 0.4842 0.5196 0.5455
人员14 0.5173 0.4957 0.5839 0.5543
人员15 0.539 0.572 0.4927 0.5107
人员16 0.524 0.5275 0.475 0.4897
展开
zjpwang磊
推荐于2016-12-02 · TA获得超过1193个赞
知道小有建树答主
回答量:502
采纳率:100%
帮助的人:451万
展开全部
!设各时段开始上班人数x1~x6;
x6+x1>=60;!第一时段所需的护士由第6时段和第1时段组成,以下依次推;
x1+x2>=70;
x2+x3>=60;
x3+x4>=50;
x4+x5>=20;
x5+x6>=30;
min=x1+x2+x3+x4+x5+x6;!总人数最小;
结果:150.0000
X6 30.00000 X1 40.00000 X2 30.00000 X3 30.00000 X4 20.00000 X5
0.000000

(二)用0-1整数,x12=1表示第一个人到岗位二
sets:
a/1..16/:;
b/1..4/:limit;
link(a,b):x,mark;!x为变量是一个16乘4的矩阵;
!(后面有限制其为0-1变量,0为不选,1为选中,如当x12=1时为第一个人到岗位二);
endsets
data:
mark=0.9064 0.929 0.8474 0.8677!评分矩阵;
0.778 0.8783 0.816 0.7793
0.7675 0.748 0.6668 0.7103
0.7468 0.7945 0.7338 0.7332
0.7004 0.7039 0.6515 0.6662
0.627 0.6751 0.725 0.6751
0.6449 0.6779 0.5986 0.6166
0.6697 0.6972 0.6749 0.6595
0.6423 0.6664 0.6964 0.6664
0.5616 0.5687 0.6251 0.5895
0.5755 0.4989 0.6211 0.6188
0.6634 0.6498 0.6219 0.6498
0.5381 0.4842 0.5196 0.5455
0.5173 0.4957 0.5839 0.5543
0.539 0.572 0.4927 0.5107
0.524 0.5275 0.475 0.4897;
limit=1 2 2 2;!各岗位人数限制;
enddata
@for(link: @bin(x));!令x为0-1变量;
@for(b(j): @sum(a(i): x(i,j))>=limit);!各岗位人数约束;
@for(a(i): @sum(b(j): x(i,j))<=1);!一个人一个岗位约束;
@sum(link: x)=8;!总人数为8人;
max=@sum(link: x*mark);!目标函数,入选的人在各个岗位的评价之和最大;
结果:
X( 1, 2)
X( 2, 2)
X( 3, 1)
X( 4, 2)
X( 5, 4)
X( 6, 3)
X( 8, 4)
X( 9, 3)
第一个数为人的编号,第二个数为入选的岗位。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
765128719
2007-11-20
知道答主
回答量:9
采纳率:0%
帮助的人:0
展开全部
zi
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式