lingo问题,求把等式转化为lingo表达式
答案:1 悬赏:20
解决时间 2021-01-08 18:43
- 提问者网友:戎马万世
- 2021-01-08 11:58
lingo问题,求把等式转化为lingo表达式
最佳答案
- 二级知识专家网友:夜风逐马
- 2021-01-08 12:35
这是指派问题,7个人5项任务,要求用最少的时间完成。
设xij=1为第i人完成第j项任务,否则xij=0.
建立数学模型为:
min 求和(i=1..7,j=1..5) t(i,j)*x(i,j)
s.t. 横向求和<=1
纵向求和=1
xij=0,1
程序为:
model:
sets:
rows/a b c d e f g/;
cols/1..5/;
time(rows,cols):t,x;
endsets
min=@sum(time:t*x);
@for(rows(i):@sum(cols(j):x(i,j))<=1);
@for(cols(j):@sum(rows(i):x(i,j))=1);
@for(time:@bin(x));
data:
t=2 15 13 1 8
10 4 14 15 7
9 14 16 13 8
7 8 11 9 4
8 4 15 8 6
12 4 6 8 13
5 16 8 5 10;
enddata
结果是:
Global optimal solution found.
Objective value: 20.00000
Objective bound: 20.00000
Infeasibilities: 0.000000
Extended solver steps: 0
Total solver iterations: 0
Variable Value Reduced Cost
X( A, 4) 1.000000 1.000000
X( B, 2) 1.000000 4.000000
X( D, 5) 1.000000 4.000000
X( F, 3) 1.000000 6.000000
X( G, 1) 1.000000 5.000000
设xij=1为第i人完成第j项任务,否则xij=0.
建立数学模型为:
min 求和(i=1..7,j=1..5) t(i,j)*x(i,j)
s.t. 横向求和<=1
纵向求和=1
xij=0,1
程序为:
model:
sets:
rows/a b c d e f g/;
cols/1..5/;
time(rows,cols):t,x;
endsets
min=@sum(time:t*x);
@for(rows(i):@sum(cols(j):x(i,j))<=1);
@for(cols(j):@sum(rows(i):x(i,j))=1);
@for(time:@bin(x));
data:
t=2 15 13 1 8
10 4 14 15 7
9 14 16 13 8
7 8 11 9 4
8 4 15 8 6
12 4 6 8 13
5 16 8 5 10;
enddata
结果是:
Global optimal solution found.
Objective value: 20.00000
Objective bound: 20.00000
Infeasibilities: 0.000000
Extended solver steps: 0
Total solver iterations: 0
Variable Value Reduced Cost
X( A, 4) 1.000000 1.000000
X( B, 2) 1.000000 4.000000
X( D, 5) 1.000000 4.000000
X( F, 3) 1.000000 6.000000
X( G, 1) 1.000000 5.000000
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯
• 手机登qq时,显示手机磁盘不足,清理后重新登 |
• 刺客的套装怎么选啊? |