LINGO教程
u( I) = @rand( u( I - 1)) );
@for( series( I): !正态分布随机数;
@psn( znorm( I)) = u( I); !和自由度为2的t分布随机数; @ptd( 2, zt( I)) = u( I); !ZNORM 和 ZT 可以是负数;
@free( znorm( I)); @free( zt( I)); ); end
4.5 变量界定函数
变量界定函数实现对变量取值范围的附加限制,共4种: @bin(x) 限制x为0或1 @bnd(L,x,U) 限制L≤x≤U
@free(x) 取消对变量x的默认下界为0的限制,即x可以取任意实数 @gin(x) 限制x为整数
在默认情况下,LINGO规定变量是非负的,也就是说下界为0,上界为+∞。@free取消了默认的下界为0的限制,使变量也可以取负值。@bnd用于设定一个变量的上下界,它也可以取消默认下界为0的约束。
4.6 集操作函数
LINGO提供了几个函数帮助处理集。
1.@in(set_name,primitive_index_1 [,primitive_index_2, ]) 如果元素在指定集中,返回1;否则返回0。
例4.7 全集为I,B是I的一个子集,C是B的补集。
sets:
I/x1..x4/; B(I)/x2/;
C(I)|#not#@in(B,&1):; endsets
2.@index([set_name,] primitive_set_element)
该函数返回在集set_name中原始集成员primitive_set_element的索引。如果set_name被忽略,那么LINGO将返回与primitive_set_element匹配的第一个原始集成员的索引。如果找不到,则产生一个错误。
例4.8 如何确定集成员(B,Y)属于派生集S3。
sets:
S1/A B C/; S2/X Y Z/;
S3(S1,S2)/A X, A Z, B Y, C X/; endsets
X=@in(S3,@index(S1,B),@index(S2,Y));
看下面的例子,表明有时为@index指定集是必要的。 例4.9
sets:
girls/debble,sue,alice/; boys/bob,joe,sue,fred/; endsets
I1=@index(sue);
I2=@index(boys,sue);
搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新资格考试认证LINGO教程1(9)全文阅读和word下载服务。
相关推荐: