数学建模社区-数学中国
标题:
【转载】GAMS中文使用手册连载04
[打印本页]
作者:
huashi3483
时间:
2009-11-14 05:14
标题:
【转载】GAMS中文使用手册连载04
这几天简直忙迷糊了,才来写手册。对不起了。先从set开始。
3 `' Z! X0 l! i* q9 I/ u
Set有很多的用法可以定义。最常见的形式就是:set t /Jan,Feb,Mar/
" E4 f$ i5 C4 l, e
这里最好不要用简单的,i,j 来表示,或者如果想和自己的模型一致的话,可以把general symbol 写成i,j,t的形式然后把每一个elemement写成具体的。
' t# c2 t0 o$ Y1 ]( @
每一个set还可以有自己的alias。也就是别名。因为很多时候还要建立很多二元操作。可以这样写:alias(c,cp,cpp,cppp);
7 P3 Q7 y, I7 O; C7 \! u6 j6 N
定义subset: set set01(set02): set01 是 set02 的subset
" ?$ T1 j3 u$ i# Z
高维度set:主要是定义mapping:mapping(i,j)/i1.j1,i2.j2/如果在模型里面要定义某种特定的操作,可以先在set里面定义。
5 V" ~& p' {& i7 S$ N) S' x; M3 g6 S
(a,b).c.d a.c.d, b.c.d
4 T+ l. w+ r: i4 E' U+ P0 l
(a,b).(c,d) .e a.c.e, b.c.e, a.d.e, b.d.e
, {* n$ F( b$ B2 q9 Y
(a.1*3).c (a.1, a.2, a.3).c or a.1.c, a.2.c, a.3.c
/ j+ X7 U% \1 N, N; p
1*3. 1*3. 1*3 1.1.1, 1.1.2, 1.1.3, ..., 3.3.3
) C: J0 ^# `& c, j Y% R
set的domain可以用card(i)来表示,顺序可以用ord(i)来表示。这两个操作在模型里面非常的重要,很多复杂的集合操作都是建立在这两个基础上的。
4 k9 ?0 y1 h# ~2 p" [4 e
下次开始讲data
0 S( R+ A/ I* D; H4 o3 W( L
顺便说一句,微软已经开发一个solver foundation 来抗衡象GAMS这样的工具。你可以在excel里面建模。非常的简单。我曾经在他们的论坛上和一个以前在GAMS工作的人讨论过他们的有缺点。以后在详细的介绍给大家。
作者:
awderffff
时间:
2013-4-3 11:18
不错的,值得学习
作者:
zoujx22
时间:
2014-1-24 15:26
的顶顶顶顶顶的
作者:
zoujx22
时间:
2014-1-24 15:26
的的顶顶顶顶顶的
作者:
zoujx22
时间:
2014-1-24 15:26
顶顶顶顶顶
作者:
空木葬花
时间:
2014-2-25 08:53
非常感谢楼主的福利!
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5