如何用lingo编写这题的代码

max h=Cij*Xij(求和) (i从1到100,j从1到20)
约束条件:Xij=3(求和) (i=1时j从1到20求和,i=2时也是,一直到i=100)
Xij<=Bj(求和) (j=1时i从1到100求和,j=2时也是,一直到j=20,Bj给出)
Xij=1或0
B=8,1,22,10,8,40,40,1,8,15,19,20,10,2,5,8,30,10,8,38
Cij来自一个txt文本
请问如何编写代码
不能写公式,写得有点乱,
希望大家看得懂

sets:
ii/1..100/;
jj/1..20/:B;
links(ii,jj):c,x;
endsets

max=@sum(links(i,j): c(i,j)*x(i,j));

@for(ii(i): @sum(links(i,j): x(i,j))=3);
@for(jj(j): @sum(links(i,j): x(i,j))<=B(j));
@for(links(i,j): @bin(x(i,j)));

data:
B=8 1 22 10 8 40 40 1 8 15 19 20 10 2 5 8 30 10 8 38;
c=@file('路径+文件名.txt');
enddata
温馨提示:答案为网友推荐,仅供参考
相似回答