数学建模社区-数学中国

标题: 新人求指导,程序哪里出错了 [打印本页]

作者: 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