2994384060 发表于 2013-7-17 15:09

新手,老报错,帮忙改一下吧,不胜感激

model
sets:
    time/1..7/:s,t;
    shebei/1..4/:a,b,c,d,e,f;
    link(time,shebei):g,h;
!g设备实际输出功率,h每个时间段内的发动机运行台数;
endsets
data:
!每个时间段的需求;
    s=12000,32000,25000,36000,25000,30000,18000;
!每个时间段的时间;
    t=6,3,3,2,4,4,2;
!可用数量;
    a=10,4,8,3;
!小输出功率;
    b=750,1000,1200,1800;
!最大输出功率;
    c=1750,1500,2000,3500;
!固定成本;
    d=2250,1800,3750,4800;
!边际成本;
    e=2.7,2.2,1.8,3.8;
!启动成本;
    f=5000,1600,2400,1200;
enddata
min=@sum(link(i,j):h(i,j)*f(j)+(g(j)-b(j))*e(j)*t(i)+d(j)*h(j)*t(j));
!功率限制;
@for(link(i,j):g(i,j)>=b(i),g(i,j)<=b(j));
!需求限制;
@for(time(i,j):g(i,j)*t(i,j)>=s(i,j));
!数量限制;
@for(shebei(i,j):h(j)<=a(i));
end

2994384060 发表于 2013-7-17 15:22

顶起啊,还没入门,好纠结啊

wujianjack2 发表于 2013-7-17 17:21

我尝试着给你改了一会儿,仍然还是报错,不过有一点,这段程序数据段后的语句中对集合使用有些混乱,比如:shebei不是衍生集合,不能出现shebei(i,j)这样的使用方式,如果方便的话,你可以把自己的模型贴出来,这样更能方便大家直观地看清楚你的思路。这是我的一点看法。

百年孤独 发表于 2013-7-18 11:23

wujianjack2 发表于 2013-7-17 17:21 static/image/common/back.gif
我尝试着给你改了一会儿,仍然还是报错,不过有一点,这段程序数据段后的语句中对集合使用有些混乱,比如:s ...

把他的题目编辑一下, 凸显出代码错误的原因 还有代码表达的内容

wujianjack2 发表于 2013-7-18 12:24

百年孤独 发表于 2013-7-18 11:23 static/image/common/back.gif
把他的题目编辑一下, 凸显出代码错误的原因 还有代码表达的内容

哦,好的。不过暂时我还没有这个权限呢!

qlb061 发表于 2013-7-18 13:06

本帖最后由 qlb061 于 2013-7-18 13:08 编辑

错误实在太多了...
model->model:

min=@sum(link(i,j):h(i,j)*f(j)+(g(j)-b(j))*e(j)*t(i)+d(j)*h(j)*t(j));

@for(time(i,j):g(i,j)*t(i,j)>=s(i,j));
页: [1]
查看完整版本: 新手,老报错,帮忙改一下吧,不胜感激