数学建模社区-数学中国

标题: [求助]lingo语句中的一个小问题 [打印本页]

作者: deadzzz    时间: 2004-12-24 11:39
标题: [求助]lingo语句中的一个小问题

例4.13 职员时序安排模型 一项工作一周7天都需要有人(比如护士工作),每天(周一至周日)所需的最少职员数为20、16、13、16、19、14和12,并要求每个职员一周连续工作5天,试求每周所需最少职员数,并给出安排。注意这里我们考虑稳定后的情况。

model:

sets:

days/mon..sun/: required,start;

endsets

data:

!每天所需的最少职员数;

required = 20 16 13 16 19 14 12;

enddata

!最小化每周所需职员数;

min=@sum(days: start);

@for(days(J):

@sum(days(I) | I #le# 5:

start(@wrap(J+I+2,7))) >= required(J)); 这一句不明白能讲讲么?

end

计算的部分结果为

Global optimal solution found at iteration: 0

Objective value: 22.00000

Variable Value Reduced Cost

REQUIRED( MON) 20.00000 0.000000

REQUIRED( TUE) 16.00000 0.000000

REQUIRED( WED) 13.00000 0.000000

REQUIRED( THU) 16.00000 0.000000

REQUIRED( FRI) 19.00000 0.000000

REQUIRED( SAT) 14.00000 0.000000

REQUIRED( SUN) 12.00000 0.000000

START( MON) 8.000000 0.000000

START( TUE) 2.000000 0.000000

START( WED) 0.000000 0.3333333

START( THU) 6.000000 0.000000

START( FRI) 3.000000 0.000000

START( SAT) 3.000000 0.000000

START( SUN) 0.000000 0.000000

从而解决方案是:每周最少需要22个职员,周一安排8人,周二安排2人,周三无需安排人,周四安排6人,周五和周六都安排3人,周日无需安排人。
作者: deadzzz    时间: 2004-12-27 10:53
高手帮帮我啊!怎么没人看
作者: mengfanqi    时间: 2005-8-30 13:32

注意:并要求每个职员一周连续工作5天

@sum(days(I) | I #le# 5:


start(@wrap(J+I+2,7))) >= required(J));

表示将5天来每天参加工作的人加起来,使其大于等于第j天需要的职员数。

[em04][em04][em04]
作者: zhouxiang928    时间: 2005-9-18 19:18
对lingo不懂啊




欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5