matlab 为什么在C-PLEX编程中显示为“Type range cannot be used for int”?

r8xiu3jd  于 2023-01-09  发布在  Matlab
关注(0)|答案(1)|浏览(127)
forall(i in nbus,j in tavail,k in nport)
  {ct3:if(soc[k][j]<=0.3&&pt[i][j]<pl[i][j])
     { pbatch[j][k]-(0.7-soc[k][j])*100000==0;}
      else
      {pbatch[j][k]==0;}}

pbatch是一个决策变量,当我给pbatch赋值时,它表明我不能使用int的类型范围。
期望删 debugging 误

vvppvyoh

vvppvyoh1#

range nbus=1..1;
range tavail=1..3;
range nport=1..4;

int soc[k in nport][j in tavail]=rand(2);
int pl[i in nbus][j in tavail]=rand(4);
int pt[i in nbus][j in tavail]=rand(10);

dvar float+ pbatch[tavail][nport];


subject to
{

forall(i in nbus,j in tavail,k in nport)
  {ct3:if(soc[k][j]<=0.3&&pt[i][j]<pl[i][j])
     { pbatch[j][k]-(0.7-soc[k][j])*100000==0;}
      else
      {pbatch[j][k]==0;}}
      
    }

工作正常

相关问题