新手求高手帮助
MODEL:SETS:
Shijian/1..7/:a,b;!a表示小时数,b表示需求;
Jiqi/1..4/:c,d,e,f,g,h;!c表示机器可用数,d表示每台机器最小输出功率,
e表示每台机器最大输出功率,f表示固定成本,g表示边际成本,h表示启动成本;
LINKS(Shijian,Jiqi):m,n,k; !m表示运行机器数,n表示机器使用功率,k表示新开启机器数;
ENDSETS
DATA: !初始化;
a=6,3,3,2,4,4,2;
b=12000,32000,25000,36000,25000,30000,18000;
c=10,4,8,3;
d=750,1000,1200,1800;
e=1750,1500,2000,3500;
f=2250,1800,3750,4800;
g=2.7,2.2,1.8,3.8;
h=5000,1600,2400,1200;
ENDDATA
p1=@sum(Shijian(i):@sum(Jiqi(j):a(i)*m(i,j)*f(j)));!固定成本和;
p2=@sum(Shijian(i):@sum(Jiqi(j):(n(i,j)-d(j))*m(i,j)*a(i)*g(j)));!边际成本和;
p3=@sum(Jiqi(j):m(1,j)*h(j))+@sum(Jiqi(j):@sum(Shijian(i)|i#ge#2:
@if(m(i,j)#gt#m(i-1,j),(m(i,j)-m(i-1,j)*h(j)),0));!启动成本;
MIN=p1+p2+p3;!目标函数;
!约束条件;
@for(Shijian(i):@sum(Jiqi(j):0.8*m(i,j)*n(i,j))=b(i));!需求约束;
@for(links(i,j):@gin(m(i,j)));
@for(links(i,j):@gin(k(i,j)));
@for(Shijian(i):@for(Jiqi(j):m(i,j),=c(j)));
@for(links(i,j):@bnd(d(j),n(i,j),e(j)));
END
解决的是一个电力生产问题,为什么约束条件的for提示错误 MODEL:
SETS:
Shijian/1..7/:a,b;
Jiqi/1..4/:c,d,e,f,g,h;
LINKS(Shijian,Jiqi):m,n,k;
ENDSETS
DATA:
a=6,3,3,2,4,4,2;
b=12000,32000,25000,36000,25000,30000,18000;
c=10,4,8,3;
d=750,1000,1200,1800;
e=1750,1500,2000,3500;
f=2250,1800,3750,4800;
g=2.7,2.2,1.8,3.8;
h=5000,1600,2400,1200;
ENDDATA
MIN=p1+p2+p3;
p1=@sum(Shijian(i):@sum(Jiqi(j):a(i)*m(i,j)*f(j)));
p2=@sum(Shijian(i):@sum(Jiqi(j):(n(i,j)-d(j))*m(i,j)*a(i)*g(j)));
p3=@sum(Jiqi(j):m(1,j)*h(j))+@sum(Jiqi(j):@sum(Shijian(i)|i#ge#2:
@if(m(i,j)#gt#m(i-1,j),(m(i,j)-m(i-1,j)*h(j)),0)));
@for(Shijian(i):@sum(Jiqi(j):0.8*m(i,j)*n(i,j))=b(i));
@for(links(i,j):@gin(m(i,j)));
@for(links(i,j):@gin(k(i,j)));
@for(Shijian(i):@for(Jiqi(j):m(i,j)=c(j)));
@for(links(i,j):@bnd(d(j),n(i,j),e(j)));
END改了一下,代码是没有问题了,但是没有可行解,是不是哪个约束条件写的和模型不一样。
madio 发表于 2014-7-18 17:17 static/image/common/back.gif
改了一下,代码是没有问题了,但是没有可行解,是不是哪个约束条件写的和模型不一样。
谢谢你啦 可能是约束出了点问题吧!我很想知道哪里出了问题,避免再犯错了。 fxw1062 发表于 2014-7-19 13:02 static/image/common/back.gif
谢谢你啦 可能是约束出了点问题吧!我很想知道哪里出了问题,避免再犯错了。
你对一下代码就知道了,是少了一个右括号 madio 发表于 2014-7-19 13:21 static/image/common/back.gif
你对一下代码就知道了,是少了一个右括号
ok 谢啦 真的是新手,好多都不会弄,以后有问题还来求教!
页:
[1]