改成下面这样 乘号不能省 集函数自己好好想想
MODEL:
SETS:
kind/1,2,3/:k,l,h,c,e,s; !k=三种发电机(Kind),l=最低功率级(Low), h=最高功率级(High), c=最低功率级的每小时费用(Cost);
!e=超过最低功率级的每兆瓦小时费用(Extra), s=启动费用(Start Cost);
time/1,2,3,4,5/:t,d; !t=5个时间段(Time), d=每个时间段需要满足的发电量(Demand);
link_kind_time(kind,time):x,n,a; !x=每种发电机在各时段的发电量, n=每种发电机在各时段所需的台数,a=每个时间段中新增启动的第i类发动机的数量(Add);
ENDSETS
DATA:
!------类型1 类型2 类型3------!;
l = 850 1250 1500;
h = 2000 1750 4000;
c = 1000 2600 3000;
e = 2 1.3 3;
s = 2000 1000 500;
ENDDATA
!-------------------------第一问目标函数--------------------------!;
MIN=@SUM(link_kind_time(i,j):e(i)*(x(i,j)-l(i)*n(i,j))+c(i)*n(i,j)+s(i)*a(i,j));
!-------------------------第一问目标函数--------------------------!;
!
SUBJECT TO
!---每个时间段必须满足的发电量,5个约束条件---!;
x(1,1)+x(2,1)+x(3,1)>=15000;
x(1,2)+x(2,2)+x(3,2)>=30000;
x(1,3)+x(2,3)+x(3,3)>=25000;
x(1,4)+x(2,4)+x(3,4)>=40000;
x(1,5)+x(2,5)+x(3,5)>=27000;
!------------发电机工作在极限范围以内,30个约束条件------------!;
@for(link_kind_time(i,j):l(i)*n(i,j)