Search code examples
runtime-errorconstraintsoverflowcplexopl

"Overflow occurred, please use oplrun -profile ".This error message appears in C-PLEX. How to get rid of it?


After incorporating the power balance constraint, the overflow occurred. I have also tried using opl run.But it is of no use. minimize 0.7*sum(i in nbus)(sum(j in tavail)sum(k in nport)((pt[i][j]*1000000-pl[i][j]1000000-pevch[j][k]+pevdis[j][k])+sum(k in nport)(pevdis[j][k]-pevch[j][k])))- 0.15(sum (j in tavail)(sum (k in nport)(c[j]*pevdis[j][k])))

+0.15* (sum (j in tavail)sum (k in nport)(c[j]*pevch[j][k]));


subject to

{ 
//constraint for discharging

 forall(i in nbus,j in tavail,k in nport)
 {ct1:if(c[j]==5 && 0.7<soc[k][j]<0.9)
 {pevdis[j][k]==(0.9-soc[k][j])*100000;

}
//else

else
{pevdis[j][k]==0;
}}

 
//constraint for charging
forall(i in nbus, j in tavail, k in nport)
{ct4: if(c[j]==2.5 && soc[k][j]<=0.7 )
 {pevch[j][k]==(0.7-soc[k][j])*100000;
 
}

else
{pevch[j][k]==0;}

}

forall(i in nbus, j in tavail, k in nport,l in nbus) {//power balance { p[j]==v[j][i](sum(l in nbus)(v[j][l](G[i][l]*deltacos[i][l][j]+B[i][l]*deltasin[i][l][j]))); p[j]*100000000+ pg[i][j]-pl[i][j]-pevch[j][k]+pevdis[j][k]==0; }

}
}
 

Solution

  • You should try what I suggested at

    It is showing "opl run is not responding. Please rerun the configuration". Why is this error displayed in C-PLEX? How to fix this error?

    Plus since you have many "pevch[j][k]==0; " you may try to use an array that is not indexed by the full Euclidian product but by the indexes that make sense

    See Exploiting sparsity in the CPLEX documentation

    Discusses how to exploit the sparsity of large-scale problems, beyond the classical transportation problem exposed in the transp1.mod sample.