用LINGO怎么解这道题某钻井队要从以下10个可供选择的井位中确定5个钻井探油,使总的钻探费用为最小.若10个井位的代号为 s1,s2,…,s10,相应的钻探费为 c1,c2,…,.c10,并且井位选择上要满足下列限

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/28 12:35:34
用LINGO怎么解这道题某钻井队要从以下10个可供选择的井位中确定5个钻井探油,使总的钻探费用为最小.若10个井位的代号为 s1,s2,…,s10,相应的钻探费为 c1,c2,…,.c10,并且井位选择上要满足下列限

用LINGO怎么解这道题某钻井队要从以下10个可供选择的井位中确定5个钻井探油,使总的钻探费用为最小.若10个井位的代号为 s1,s2,…,s10,相应的钻探费为 c1,c2,…,.c10,并且井位选择上要满足下列限
用LINGO怎么解这道题
某钻井队要从以下10个可供选择的井位中确定5个钻井探油,使
总的钻探费用为最小.若10个井位的代号为 s1,s2,…,s10,相应
的钻探费为 c1,c2,…,.c10,并且井位选择上要满足下列限制条件:
(1) 或选择s1和s7,或选择钻探s9 ;
(2) 选择了s3或s4,就不能选择s5,反过来也一样 ;
(3) 在 s5,s6,s7,s8中最多只能选两个.
c1..c10可以任意赋值
我的编程如下:(因为是初学,好多不懂)
MODEL:
MIN=T(1)*C(1)+T(2)*C(2)+T(3)*C(3)+T(4)*C(4)+T(5)*C(5)+T(6)*C(6)+T(7)*C(7)+T(8)*C(8)+T(9)*C(9)+T(10)*C(10);
SETS:
S/1..10/:T,C;
ENDSETS
@FOR(S:@BIN(T));
(T(1)#AND#T(7))#OR#T(9);
#NOT#(T(3)#OR#T(4))#OR#(T(5));
@SUM(S:T)#EQ#5;
T(5)+T(6)+T(7)+T(8)#LE#2;
DATA:
C=1 2 3 4 5 6 7 8 9 10;
ENDDATA
END
怎么就是错的,正确的应该怎么编啊 !请高手指教

用LINGO怎么解这道题某钻井队要从以下10个可供选择的井位中确定5个钻井探油,使总的钻探费用为最小.若10个井位的代号为 s1,s2,…,s10,相应的钻探费为 c1,c2,…,.c10,并且井位选择上要满足下列限
MODEL:
SETS:
S/1..10/:T,C;
ENDSETS
DATA:
C=1 2 3 4 5 6 7 8 9 10;
ENDDATA
@FOR(S:@BIN(T));
MIN=T(1)*C(1)+T(2)*C(2)+T(3)*C(3)+T(4)*C(4)+T(5)*C(5)+T(6)*C(6)+T(7)*C(7)+T(8)*C(8)+T(9)*C(9)+T(10)*C(10);
T(1)-T(7)=0;
T(3)+T(5)=1;
T(4)+T(5)=1;
T(1)+T(7)+T(9)>=1;
T(1)+T(7)+T(9)