hitman 发表于 2010-3-29 09:40

关于数据列中取最大值的问题

sets:
  city/1..3/;
  hospital/1..3/;
  lk(city,hospital):distance;
endsets
data:
  distance=1,2,3
                4,5,6
                7,8,9;
enddata
  d=@max(lk:distance)
或者d=@smax(lk:distance)

  如果我要过滤出最大距离后,还要将该值放到目标函数和其他约束里去用,请教斑竹和各位用哪个函数呀?谢谢。我用smax和max貌似都不行。是不是因为中间变量d没有定义,还是什么原因。

olh2008 发表于 2010-3-29 10:10

可以用啊,不用其他函数,可以直接使用D这个变量。
我这试了一下,结果没错:
model:
sets:
a/1..4/:b;
endsets
data:
b=1 2 3 4;
enddata
max=d*x+4;
d=@max(a:b);
@bin(x);
end

东方明珠-WDZYQ 发表于 2010-3-29 11:26

对,楼上的版主做得对哈,这个这样还更简单些……

hezhiyuan2003 发表于 2010-3-29 12:16

支持一下,蛮有意思的,楼上的有啥好方法可以公布出来

hitman 发表于 2010-3-29 19:15

回复 2# olh2008


    哦,查出问题来了,是因为 d=@max(lk:distance);后边漏掉了分号,所以运行不出来。
    谢谢版主和各位了。
页: [1]
查看完整版本: 关于数据列中取最大值的问题