数学建模社区-数学中国

标题: 修改了好多次,最后居然在end处出错,望高手指点 [打印本页]

作者: ceylon    时间: 2008-8-2 11:11
标题: 修改了好多次,最后居然在end处出错,望高手指点
sets:
               go/1..4/;
               cargo/1..5/,R;
               rhs/1 2/:K,Z,Dr,Ur,Pma;
               mat(rhs,cargo),Fc,Sc,Q,u;
                l/1..3/lm,b1,b2;
               mot(rhs,go);
      endsets
      data:
               K=100,200;
              D=0,100,130,170,140;
              R=0,20,30,50,40;
              Dr=50,60;
              Ur=30,40;
              Pma=200,100;
              Plm=200,100,200;
              b1=-0.6667,-0.3333,0.3333;
               b2=-0.3333,-0.6667,-0.3333;
      enddata
      min=@sum(mat:u(j,i)*(K(j)+Z(j))+Q(j,i)-100-100*10;);
      @for(mat(j,i): @bin(u));
      u(1,1)=1;u(2,1)=0(1,1)=100(2,1)=0;Q(1,1)=0;Q(2,1)=0;
      @for(mot(j,i)(j,i+1)<=Pma(j););
      @for(go(i)sum(rhs(j):u(j,i+1)*P(j,i+1))=D(i+1););
      @for(go(i)sum(rhs(j):u(j,i+1)*Pma(j))>=D(i+1)+R(i+1););
      @for(mot(j,i+1)<=(P(j,i)+Ur(j););
      @for(mot(j,i+1)>=(P(j,i)-Dr(j)););
      @for(l(k)for(go(i):b1(k)*P(2,i+1)+b2(k)*D(i+1)<=Plm(k);););
      @for(mot(j,i)|u(j,i+1)#gt#u(j,i)(j,i+1)=350-(j-1)*250;);
      @for(mot(j,i)|#not#(u(j,i+1)#gt#u(j,i);)(j,i+1)=0;);
      @for(go(i)|P(1,i+1)#gt#100:Z(1)=14*P(1,i+1););
      @for(go(i)| #not#(P(1,i+1)#gt#100):Z(1)=10*P(1,i+1););
      @for(go(i)|P(2,i+1)#gt#60:Z(1)=15*P(2,i+1););
      @for(go(i)| #not#(P(2,i+1)#gt#60):Z(1)=12*P(2,i+1););
     end





欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5