silentdi 发表于 2009-1-17 00:08

东西很好,支持阿

xiemiao 发表于 2009-1-17 10:22

xie xie  a

liwenhua_1987 发表于 2009-1-17 10:22

太强拉啊!太好了! 谢谢啦啊

伏羲 发表于 2009-1-17 13:16

怎能不收怎能不收

dcj 发表于 2009-1-17 17:16

全力支持!数学中国!太好了

yangqilun 发表于 2009-1-17 19:34

都感动得要哭了

xiaomi8855 发表于 2009-1-17 21:15

赞楼主啊~这么多好资料~

luochen 发表于 2009-1-17 22:14

Lingo软件在求解数学优化问题的使用技巧

LINGO是一种专门用于求解数学规划问题的软件包。由于LINGO执行速度快,易于方便地输入、求解和分析数学规划问题,因此在教学、科研和工业界得到广泛应用。LINGO主要用于求解线性规划、非线性规划、二次规划和整数规划等问题,也可以用于求解一些线性和非线性方程组及代数方程求根等。
LINGO的最新版本为LINGO7.0,但解密版通常为4.0和5.0版本,本书就以LINGO5.0为参照而编写。
   
1.LINGO编写格式
LINGO模型以MODEL开始,以END结束。中间为语句,分为四大部分(SECTION):
(1)        集合部分(SETS):这部分以“SETS:”开始,以“ENDSETS”结束。这部分的作用在于定义必要的变量,便于后面进行编程进行大规模计算,就象C语言在在程序的第一部分定义变量和数组一样。在LINGO中称为集合(SET)及其元素(MEMBER或ELEMENT,类似于数组的下标)和属性(ATTRIBUTE,类似于数组)。
LINGO中的集合有两类:一类是原始集合(PRIMITIVE SETS),其定义的格式为:
     SETNAME/member list(or 1..n)/:attribute,attribute,etc。
另一类是是导出集合(DERIVED SETS),即引用其它集合定义的集合,其定义的格式为:
SETNAME(set1,set2,etc。):attribute,attribute,etc。
如果要在程序中使用数组,就必须在该部分进行定义,否则可不需要该部分。
(2)        目标与约束:这部分定义了目标函数、约束条件等。一般要用到LINGO的内部函数,可在后面的具体应用中体会其功能与用法。求解优化问题时,该部分是必须的。
(3)        数据部分(DATA):这部分以“DATA:”开始,以“END DATA”结束。其作用在于对集合的属性(数组)输入必要的数值。格式为:attribut=value_list。该部分主要是方便数据的输入。
(4)        初始化部分(INIT):这部分以“INIT:”开始,以“END INIT”结束。作用在于对集合的属性(数组)定义初值。格式为:attribute=value_list。由于非线性规划求解时,通常得到的是局部最优解,而局部最优解受输入的初值影响。通常可改变初值来得到不同的解,从而发现更好的解。

编写LINGO程序要注意的几点:
1.        所有的语句除SETS、ENDSETS、DATA、ENDDATA、INIT、ENDINIT和MODEL,END之外必须以一个分号“;”结尾。
2.        LINGO求解非线性规划时已约定各变量非负。

LINGO内部函数使用详解。
LINGO建立优化模型时可以引用大量的内部函数,这些函数以“@”符号打头。
(1)        常用数学函数
@ABS(X) 返回变量X的绝对数值。  
@COS( X)
返回X的余弦值,X的单位为弧度
@EXP( X)
返回 的值,其中e为自然对数的底,即
@FLOOR( X)
向0靠近返回X的整数部分。如@FLOOR(3.7),则返回3;@FLOOR(-3.7),则返回-3。
@LGM( X)
返回 函数的自然对数值。
@LOG( X)
返回变量X的自然对数值。
@SIGN( X)
返回变量X的符号值,当X<0时为-1;当X>0时为1。
@SIN( X)
返回X的正弦值,X的单位为弧度
@SMAX( X1, X2,..., XN)
返回一列值X1, X2,..., XN的最大值。
@SMIN( X1, X2,..., XN)
返回一列值X1, X2,..., XN的最小值。
@TAN( X)
返回X的正切值,X的单位为弧度

(2)集合函数
   集合函数的用法如下:
set_operator (set_name|condition:expression)
其中set_oprator部分是集合函数名(见下),set_name是数据集合名,expression部分是表达式,|condition部分是条件,用逻辑表达式描述(无条件时可省略)。逻辑表达式中可以三种逻辑算符(#AND#(与),#OR#(或),#NOT#(非))和六种关系酸符(#EQ#(等于),#NE#(不等于),#GT#(大于),#GE#(大于等于),#LT#(小于),#LE#(小于等于))。
常见的集合函数如下:
@FOR (set_name:constraint_expressions)对集合(set_name)的每个元素独立地生成约束,约束由约束表达式(constraint_expressions)描述。
@MAX(set_name:expression)返回集合上的表达式(expression)的最大值。
@MIN(set_name:expression)返回集合上的表达式(expression)的最小值。
@SUM(set_name:expression)返回集合上的表达式(expression)的和。
@SIZE(set_name)返回数据集set_name中包含元素的个数。
@IN(set_name,set_element)如果数据集set_name中包含元素set_element则返回1,否则返回0。
(3)变量界定函数
   变量函数对变量的取值范围附加限制,共有四种。
  @BND(L,X,U)限制
  @BIN(X)限制X为0或1。
  @FREE(X)取消对X的符号限制(即可取任意实数值)。
  @GIN(X)限制X为整数值。
(4)财务函数
  返回如下情形下的净现值:单位时段利率为 ,连续 个时段支付,每个时段支付费用,即:
=
返回如下情形下的净现值:单位时段利率为 ,第 个时段支付单位费用,即:
=

  (5)概率函数
@PSN(X)标准正态分布的分布函数。
@PSL(X)单位正态线性损失函数(即返回 的期望值,其中Z为标准正态随机变量)
@PPS(A,X)均值为A的Possion分布的分布函数(当X不是整数时,采用线性插值进行计算)。
@PPL(X)Possion分布的线性损失函数(即返回 的期望值,其中Z为Possion分布随机变量)
@PBN(P,N,X)二项分布的分布函数当N或X不是整数时,采用线性插值进行计算)。
@PHG(POP,G,N,X)超几何分布的分布函数(当POP,G,N或X不是整数时,采用线性插值进行计算)。
@PFD(N,D,X)自由度为N和D的F分布的分布函数。
@PCX(N,X) 自由度为N的 分布的分布函数。
@PTD(N,X) 自由度为N的t分布的分布函数。
@RAND(X)返回0与1之间的伪随机数(X为种子数,典型用法为U(I)=@RAND(U(I+1)))。

luochen 发表于 2009-1-17 22:17

真是好,太全了!!!!!

fish19890824 发表于 2009-1-17 22:56

咋那么多啊。。。果然数学就是困难啊。。
页: 2 3 4 5 6 7 8 9 10 11 [12] 13 14 15 16 17 18 19 20 21
查看完整版本: 【数学中国推荐】数学建模、算法书籍全收入