lingo
iwantnon
图形程序员,游戏开发者。
展开
-
过滤器
过滤器必须完全由常量组成,不能出现变量。常量即在数据部分给定了数值的量。注:过滤器必定以"|"开头,因此@if函数中的条件不属于过滤器,事实上@if函数中的条件可以出现变量。原创 2009-07-28 13:36:00 · 785 阅读 · 0 评论 -
相关子循环
看下面两个程序的区别:1,model:sets:A/1..3/:p;B(A,A):;endsetsdata:enddata@for(A(i):p=@sum(B(i,j):1););end运行结果: Variable Value原创 2009-07-28 13:27:00 · 646 阅读 · 0 评论 -
定义变量与定义集
定义变量:var/a,b,c/;!定义了a,b,c三个变量;定义集:A/1..10/:!定义10个元素的集合A,有p1,p2,p3三个属性;p1,p2,p3;原创 2009-07-28 13:33:00 · 955 阅读 · 0 评论 -
稠密集与稀疏集
派生集如果不加过滤器,生成稠密集,其元素个数为各父集的笛卡尔积,往往造成模型占内存巨大,甚至溢出。然而,往往有用的只是笛卡尔积的一个子集,可以通过添加过滤器(注意此时要用&1,&2,...等表示各父集索引)将这个子集筛选出来(即将无用元组滤掉)得到稀疏集,这样就能使模型体积大为缩小。原创 2009-07-28 13:41:00 · 7436 阅读 · 0 评论 -
@if函数
@if(条件,成真时返回值,成假时返回值);三个参数都允许包含变量。例:用@if表示分段函数: fx=@if(x#le#500,4*x,@if(x#le#1000,500+3*x,1500+2*x)); 注:注意lingo中变量默认都是非负的,所以x>=0已自然保证。而假如说f(x)中x不是从0开始的话(例如从100开始有定义),那么可以通过变量界定函数事先界定原创 2009-07-28 22:36:00 · 4090 阅读 · 0 评论