请lingo高手检查一下这段程序,谢谢!

来自:比较好的东西    更新日期:早些时候
请高手帮我检查一下这个lingo程序?急!!~

先把模型给出来啊,不然看着多麻烦啊

首先,@if语句后又多个括号“+34)”
这句话有严重问题:@for(days(i):c(i)=0.3*i+4);@sum(days:g)<25000*0.85);你的@for后面没语句,而且语法括号混乱。我不知道你想表达什么意思,我试试改了下:
@for(days(i):c(i)=0.3*i+4<25000);
@sum(days:g)<25000*0.85;

改成下面这样 乘号不能省 集函数自己好好想想
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)<=x(i,j));
@for(link_kind_time(i,j):x(i,j)<=h(i)*n(i,j));

!----第一问条件,额外保险负荷要求是应能在不多启动发电机情况下得到满足,15个约束条件-----!;
@FOR(time(j):@SUM(kind(i):h(i)*n(i,j))<=(115/100)*d(j));
!---------第三问条件,降低15%后备输出后的总费用,15个约束条件----------!;
! @FOR(link_kind_time(i,j):@SUM(link_kind_time:h(i)*n(i,j))<=d(i));

!----在周期t中启动的发电机台数必须等于发电机增加的台数,5个约束条件-----!;
@FOR(time(j)|j#gt#1:@sum(kind(i):a(i,j))>=@SUM(kind(i):n(i,j)-n(i,j-1)));

END

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));
@FOR(link_kind_time(i,j):@SUM(link_kind_time:h(i)*n(i,j))<=(115/100)d(j));
这两句少了运算符号,我猜你应该是掉了*
@FOR(time(j):@sum(kind(i):a(i,j))>=@SUM(kind(i):n(i,j)-n(i,j-1)));
这一句也对j少了限制,应该至少是@FOR(time(j)|j#gt#2:@sum(kind(i):a(i,j))>=@SUM(kind(i):n(i,j)-n(i,j-1)));


请lingo高手检查一下这段程序,谢谢!视频

相关评论:
  • 15625373596请lingo高手检查一下这段程序,谢谢!
    充使虎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 类...

  • 15625373596lingo排课模型程序代码怎么使用?这段程序错在哪里?要怎么改?
    充使虎1、通过Lingo自己的编程语言把优化模型转化成LINGO程序名然后运行即可。2、不能修改。代码段(codesegment\/textsegment)也称为(text段)通常是指用来存放程序执行代码的一块内存区域。3、for前面的两行有问题,上一行i\/10应该删除,上二行a=i%10应该修改后放在for的下面,修改为:错误太多了,里面的if...

  • 15625373596请高手看看这个LINGO程序那错了
    充使虎sets:people\/1..6\/:c,x;endsets data:c=20 30 25 10 20 15;enddata max=20*x(1)+0*x(2)+0*x(3)+10*x(4)+0*x(5)+0*x(6);x(1)+x(2)+x(3)<=30;x(4)+x(5)+x(6)<=20;20*x(1)+10*x(4)-(30*x(2)+20*x(5))=0;30*x(2)+20*x(5)-(25*...

  • 15625373596一段简单地lingo的程序语句 求高手看看 哪里错了 也可以另给一个相同...
    充使虎不要加行号 目标函数里面的常数去掉 约束里面的常数合并并且放到右边 你这个是lindo程序 不是lingo

  • 15625373596lingo编程错误,请高手帮忙看看
    充使虎你的语法真的错了好多 我就改了一下 但还是没有结果 你自己再改改吧 model:sets:time\/t1 t2 t3 t4 t5 t6 t7\/:w,h;kind\/k1 k2 k3 k4\/:m,minw,maxw,c1,c2,b;links(time,kind):x,sw,d;endsets data:w=12000,32000,25000,36000,25000,30000,18000;h=6,3,3,2,4,4,2...

  • 15625373596请高手帮我看看lingo软件以下提示是什么意思?可能是哪里出错?
    充使虎你装的是lingo 9.0破解版的吧,有可能是软件问题,你换个版本试试,还有问题再追问。。。最好给出代码,才好帮你改正。。。给你一个lingo 10.0的免安装版 下载地址:http:\/\/maths.hqu.edu.cn\/New\/UploadFiles\/lingo10.0.rar 解压后导入其中的注册表(双击NoAuto.reg,确定)的即可 ...

  • 15625373596请求高手帮我看看这个lingo程序错在哪里?
    充使虎变量命名重复了GY\/g1,g2\/:gx,gy,gl;这句命名了两个gy,lingo不区分大小写的。

  • 15625373596请教高手!帮我检查LINGO的一个语句就行! 答对再加分!
    充使虎争议。也因为产地的不同,南美短鲷鱼只的欣赏价值也有所差异。以凤尾短鲷为例,大致可分为野生种及人工培育个体。野生种是直接从野外环境中捕捉来的鱼只个体,最多也只经过一段人为的空腹、蓄养时间而已,但并不见得是采集自同一水域中,所以在形态上就会有些许的差异 ...

  • 15625373596lingo程序改错,请高手帮忙:
    充使虎首先你的循环加和有问题,看你的意思link因该是二维的派生集合,但是set(j)是一维的,不能对i循环,如果一定是二维循环可以嵌套,如果你有数学表达式的话,倒是可以帮你编一下,错误提示是说你的括号不匹配,少个右侧括号

  • 15625373596求lingo高手解答
    充使虎开始集的定义就不对 r0(recycle,0):G;h0(handle,0):T;这个两句不符合lingo语法 括号里面必须要是集

  • 相关主题精彩

    版权声明:本网站为非赢利性站点,内容来自于网络投稿和网络,若有相关事宜,请联系管理员

    Copyright © 喜物网