数学建模社区-数学中国
标题:
新人求指导,程序哪里出错了
[打印本页]
作者:
reneegigi
时间:
2012-5-13 10:15
标题:
新人求指导,程序哪里出错了
模型要求一个多技能呼叫中心的员工排班表,每个员工有多种技能,根据技能不同来回答各种电话。要求1天里工资最小
model:
sets:
shift/i1..i3/;!3 shifts; 1共有3种班次,每班8小时
skil/q1..q10/;!10 skills; 10种技能
period/p1..p48/; !48 periods; 48个时段,每个时段15分钟,每个班次覆盖32个时段
agent/j1..j20/; !20 agents; 20个客服
Y(agent,period,skill); 中间变量,为了体现某个时段某客服只使用某种技能
cost(agent,shift):C; 员工工资,假设所有技能,所有班次工资一样
schedule(shift,agent); 班次表,某班次需要多少个客服
Amatrix(period,shift):A; 限制矩阵 如果班次i覆盖时段p,则为1,否则0
Mmatrix(agent,skill):M; 限制矩阵 如果某客服有某技能,则为1.否则为0
Bmatrix(period,skill):B; 某时段p,技能q,需要的客服人数
endsets
data:
A=1 0 0
1 0 0
1 0 0
1 0 0
1 0 0
1 0 0
1 0 0
1 0 0
1 1 0
1 1 0
1 1 0
1 1 0
1 1 0
1 1 0
1 1 0
1 1 0
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
0 1 1
0 1 1
0 1 1
0 1 1
0 1 1
0 1 1
0 1 1
0 1 1
0 0 1
0 0 1
0 0 1
0 0 1
0 0 1
0 0 1
0 0 1
0 0 1;
C=1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1;
M=0 1 0 0 1 0 0 1 0 0
1 0 0 0 1 0 0 0 0 1
0 0 1 0 0 0 0 0 1 0
0 0 0 0 1 1 0 0 0 0
0 1 0 0 0 0 0 1 0 0
0 1 1 0 0 1 0 0 0 0
0 1 0 0 0 0 1 1 0 0
0 0 1 1 1 0 0 0 0 0
0 1 1 0 0 0 0 0 0 0
0 0 0 0 0 1 1 0 1 0
0 1 0 0 0 0 1 1 0 0
0 0 1 0 0 0 0 0 1 1
0 0 0 0 1 0 0 1 0 1
0 1 0 1 1 0 0 0 0 0
0 0 1 1 0 0 0 0 0 0
0 1 0 0 1 0 0 0 0 0
0 0 0 1 0 0 0 1 1 0
0 0 1 0 1 0 0 1 0 0
0 0 0 1 0 0 0 1 0 1
0 1 0 0 0 0 0 1 1 1;
B=1 7 3 3 3 3 2 3 3 2
1 6 5 4 3 3 1 3 4 2
1 7 5 3 2 3 2 3 4 3
1 6 3 3 2 3 2 4 4 3
1 7 4 3 4 1 3 3 3 3
1 7 4 3 6 4 2 3 3 3
1 3 4 4 5 3 2 5 4 2
1 6 5 3 3 2 2 4 3 3
1 5 4 3 3 3 1 5 4 2
1 4 4 2 4 4 2 4 3 4
1 4 5 2 4 3 3 5 4 2
1 5 3 3 5 1 1 5 3 2
1 4 5 3 3 2 1 3 3 2
1 6 4 3 4 3 1 3 3 3
1 3 5 3 4 1 1 4 3 4
1 5 4 4 3 4 2 3 3 3
1 5 4 3 4 3 2 4 4 2
1 4 5 3 4 3 2 4 3 2
1 4 3 4 4 3 2 3 3 2
1 6 4 3 5 2 1 3 4 3
1 5 3 3 4 2 3 7 3 2
1 4 3 3 4 4 2 4 3 2
1 5 4 3 2 4 2 5 3 3
1 6 6 2 2 2 3 5 3 3
1 5 3 3 4 2 2 4 3 3
1 4 5 4 4 2 1 3 3 2
1 6 3 3 4 3 2 3 3 2
1 4 4 5 3 2 2 6 3 3
1 5 4 3 3 3 2 4 3 3
1 5 4 4 3 3 2 5 4 3
1 5 3 3 3 3 1 4 3 2
1 5 4 3 4 2 1 2 3 3
1 4 5 3 3 3 3 3 3 3
1 5 4 4 2 2 2 4 2 4
1 7 3 3 3 2 3 5 4 3
1 4 6 2 5 2 1 4 3 3
1 3 4 3 4 4 2 5 4 3
1 5 3 4 3 4 2 4 4 2
1 7 4 3 3 3 2 5 3 3
1 5 5 4 3 3 1 5 3 4
1 4 4 3 4 3 2 2 2 2
1 4 5 3 4 4 2 4 2 3
1 6 3 5 3 2 2 4 3 2
1 5 4 4 3 3 1 3 4 2
1 5 4 2 5 2 2 4 3 2
1 5 3 4 4 3 2 4 3 3
1 4 5 2 3 2 2 4 3 5
1 5 5 2 2 3 1 4 3 2;
enddata
min=@sum(links: cost*schedule); 目标函数
@for(skill(q)
for(period(p)
sum(agent(j):Y(j,p,q))>=B(p,q)));
@for(agent(j)
@for(period(p)
A(p,i)*schedule(i,j)>=@sum(skill(q):Y(j,p,q))))));
@for(agent(j)
for(period(p)
@for(skill(q)
A(p,i)*schedule(i,j))*M(j,q)>=Y(j,p,q)))));
end
运行总显示syntax error,新人求指点
作者:
reneegigi
时间:
2012-5-13 19:24
为什么一直是审核中啊
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5