在complex中没有显示任何解



在我积分pevch[I][j]和pevdis[I][j]方程后,CPLEX没有显示任何解

int t = 24;int n = 10;int j = 0;范围数=1..n;射程tavail = 1 . . t;浮动soc[数字][tavail] =…;//预测负载在0浮动pl [tavail] = [10000000, 10000000, 10000000, 6000000, 12000000, 6000000, 4000000, 15000000, 9000000, 12000000, 6000000, 8000000, 10000000, 7000000, 9000000, 6000000, 12000000, 6000000, 4000000, 15000000, 9000000, 12000000, 6000000, 8000000);//ev的soc为0 ~ 11//代浮动pg [tavail] = [10000000, 10000000, 8500000, 11000000, 600000, 7500000, 10000000, 9500000, 8500000, 11000000, 600000, 7500000, 10000000, 9500000, 8500000, 11000000, 600000, 7500000, 10000000, 9500000, 8500000, 11000000, 600000, 7500000);//目标加载0浮动pt [tavail] = [10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000);//母线电压0 ~ 11浮动v [tavail] = [240232229233230235228234227229231230226232233230236233231232232233233230];//母线电压at目标母线电压在0…11浮动vt [tavail] = [230230230230230230230230230230230230230230230230230230230230230230230230];//决定变量充电功率ev在0..100000中指定浮点数[tavail][number];//决定ev的放电功率Dvar float pevdis[tavail][number]在0..100000;//目标函数最小化sum(i in tavail)((pt[i]-pl[i])+sum(j in number)-pevch[i][j]+sum(j in number)pevdis[i][j]);根据

forall(i in tavail,j in number)如果(pt[我]pl[我]& lt; 0,,soc [j][我]在0.7,,v[我]& lt; vt[我])pevch[我][j] = = (0.9 soc [j][我])* 100000/(我);其他的pevdis[我][j] = = 0;

forall(i in tavail,j in number)如果(pt[我]pl(我)在0,,soc [j][我]& lt; = 0.7,,v(我)在vt[我])pevch[我][j] = = (0.7 soc [j][我])* 100000/(我);其他的pevch[我][j] = = 0;}

如果您将约束命名为复杂的,将提供有助于您调试模型的松弛。

你可以修改

forall(i in tavail,j in number) if(pt[i]-pl[i]<0 && soc[j][i]>0.7&& v[i]<vt[i]) pevch[i][j]==(0.9-soc[j][i])*100000/(24-i); else pevdis[i][j]==0;
forall(i in tavail,j in number) if(pt[i]-pl[i]>0 && soc[j][i]<=0.7 && v[i]>vt[i]) pevch[i][j]==(0.7-soc[j][i])*100000/(24-i); else pevch[i][j]==0; }

forall(i in tavail,j in number) ct1:if(pt[i]-pl[i]<0 && soc[j][i]>0.7&& v[i]<vt[i]) pevch[i][j]==(0.9-soc[j][i])*100000/(24-i); else pevdis[i][j]==0;
forall(i in tavail,j in number) ct2:if(pt[i]-pl[i]>0 && soc[j][i]<=0.7 && v[i]>vt[i]) pevch[i][j]==(0.7-soc[j][i])*100000/(24-i); else pevch[i][j]==0; }

最新更新