好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

LINGO的基本用法.ppt

35页
  • 卖家[上传人]:豆浆
  • 文档编号:697241
  • 上传时间:2017-05-10
  • 文档格式:PPT
  • 文档大小:2.75MB
  • / 35 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 安阳师范学院数学与统计学院 运筹学实验 LINGO入门 LINGO的菜单 用 LINGO编程语言建立模型 LINGO的运算符和函数 LINGO的基本用法 安阳师范学院数学与统计学院 运筹学实验 § 1.1 LINGO入门 第一章 LINGO的基本用法 1. LINGO的主要功能特色: (1) 既能求解线性规划问题,也有较强的求解非线性规划 问题的能力; (2) 输入模型简练直观; (3) 运行速度快,计算能力强; (4) 内置建模语言,提供几十个内部函数,从而能以较少 语句,较直观的方式描述较大规模的优化模型; (5) 将集合的概念引入编程语言,很容易将实际问题转换 为 LINGO模型; (6) 能方便地与 Excel、数据库等其他软件交换数据; 安阳师范学院数学与统计学院 运筹学实验 建模时需要注意的几个基本问题: (1) 尽量使用实数优化模型,减少整数约束和整数变量的 个数; (2) 尽量使用光滑优化模型,减少非光滑约束的个数; 如:尽量少地使用绝对值函数、符号函数、多个变量求最大(或最小)值、四舍五入函数、取整函数等 . (3) 尽量使用线性优化模型,减少非线性约束和非线性变量的个数(如 x/y =”不等式 , 称之为 剩余 (Surplus). 不等式左右两边值相等时 , 松弛和剩余的值为 0; 如果约束条件无法满足 , 则松弛和剩余的值为 负 . 影子 (对偶 ) 价格 含义 : 如果该生产线最大生产能力增加 1, 能使目标函数值增加 50. 安阳师范学院数学与统计学院 运筹学实验 § 1.2 了解 LINGO的菜单 新建 打开 保存 打印 剪切 复制 粘贴 取消 重做 查找 定位 匹配 括号 求解 显示 答案 模型 图示 选项 设置 窗口 后置 关闭所 有窗口 平铺 窗口 帮助 上下文 相关帮助 文件菜单 编辑菜单 LINGO菜单 窗口菜单 帮助菜单 安阳师范学院数学与统计学院 运筹学实验 ◆ 输出特殊格式文件 MPS格式文件 MPI格式文件 IBM开发的数学规划文件 标准格式 LINDO公司制定的数学规划 文件格式 ◆ 用户基本信息 该命令弹出一个对话框 ,要求 输入用户名和密码 (这些信息 在用 @ODBC函数访问数据库要用到 ) 安阳师范学院数学与统计学院 运筹学实验 ◆ 选择性粘贴 该命令把 Window剪贴板中的内容插入到光标所在位置 . ◆ 插入新对象 ◆ 链接 修改模型内插入对象的链接性质 . ◆ 对象的性质 在模型中选择一个链接或嵌入对象 ,用本命令可以查看和修改这个对象的属性 . 安阳师范学院数学与统计学院 运筹学实验 ◆ 灵敏度分析 该命令产生当前模型的灵敏度分析报告 : (1)最优解保持不变的情况下 ,目标 函数的系数变化范围 ; (2)在影子价格和缩减成本系数都 不变的前提下 ,约束条件右边的 常数变化范围 ; 例 . 做下列模型的灵敏度分析 MAX=200*X1+300*X2; X1= 注:① LINGO没有单独的“ ”关系,如果出现了单个 “ ”, LINGO认为是省略了“ =”. ② 如果需要严格小(大)于关系,如 A严格小于 B,可以表示成: AB 这里 是一个小的正数,它的值依赖于模型中 A小于 B多少才算不等 . 例 . 计算 2 #GT# 3 #AND# 4 #GT# 2 结果为 0( FALSE) 安阳师范学院数学与统计学院 运筹学实验 二、数学函数 . 函 数 名 返 回 值 @ABS(X) 返回 X的绝对值 @SIN(X) 返回 X的正弦值 @COS(X) 返回 X的余弦值 @TAN(X) 返回 X的正切值 @LOG(X) 返回 X的 自然对数 值 @EXP(X) 返回 eX的值( e为自然常数, e=2.7182818…… ) @SIGN(X) 返回 X的符号值 @SMAX(X1,X2,…,Xn) 返回这一系列数中的最大值 @SMIN(X1,X2,…,Xn) 返回这一系列数中的最小值 @FLOOR(X) 返回 X的整数部分(向最靠近 0的方向取整) @LGM(X) 返回 X的 gamma函数的自然对数值 @MOD(X,Y) 返回 X除以 Y的余数( X和 Y都是整数) @POW(X,Y) 返回指数 XY的值(该函数可用 X^Y代替) @SQR(X) 返回 X的平方值(该函数可用 X^2代替) @SQRT(X) 返回 X的正的平方根(该函数可用 X^(1/2)代替) 安阳师范学院数学与统计学院 运筹学实验 三、概率函数 . 函 数 名 返 回 值 @PSN(X) 返回标准正态分布的分布函数 @PPS(A,X) 返回参数为 A的泊松分布函数值 当 X不是整数时 ,采用线性插值进行计算 @PBN(P,N,X) 返回参数为 P,N的二项分布的分布函数值 @PHG(POP,G,N,X) 返回参数为 POP,G,N的超几何分布的分布函数值 @PFD(N,D,X) 返回参数自由度为 N和 D的 F分布的分布函数值 @PCX(N,X) 返回自由度为 N的 x2分布分布函数值 @PTD(N,X) 返回自由度为 N的 t分布的分布函数值 @RAND(SEED) 返回 0-1之间的伪随机数 SEED为种子 @QRAND(SEED) 返回 0-1之间的多个拟均匀随机数 (只能用在数据段 ) @PEB(A,X) 略 @PEL(A,X) @PPL(A,X) @PFS(A,X,C) @PSL(X) 安阳师范学院数学与统计学院 运筹学实验 四、集合操作函数 . 函 数 名 返 回 值 @FOR(s:e) 该函数常用在约束条件中 , 表示对集合 s中的每个成员生成一个约束条件表达式 e @SUM(s:e) 对集合 s中的每个成员 , 分别得到表达式 e的值 , 然后返回所有这些值的和 @MAX(s:e) 然后返回所有这些值中的最大值 @MIN(s:e) 然后返回所有这些值中的最小值 @PROD(s:e) 然后返回所有这些值的乘积 @IN(s:e1) 如果成员 e1在集合 s中 , 则返返回 1, 否则返回 0 @SIZE(s) 返回集合 s中的成员个数 @INDEX(s:ek) 返回成员 ek在集合中的顺序号 (索引值 ), 该值在 1和集合 s的成员个数之间 ,如果集合 s中没有该元素 , 则给出出错信息 @WRAP(I,N) 若 I∈ [1,N],返回 I; 否则,返回 J=I-N*K(K为整数 , J∈ [1,N],) 上表中,前五个函数的表示形式为 : @函数名 (集合名 |条件 :表达式 ) 例 . “@FOR(VD(J)|J#NE#5:表达式 e);”表示什么含义 ? 安阳师范学院数学与统计学院 运筹学实验 五、变量定界函数 . 函 数 名 返 回 值 @BIN(X) 限制 X为 0或 1.【 该函数在 0-1规划中特别有用 】 @BND(L,X,U) 限制 L≤X ≤ U. 【 可用作约束条件 】 @GIN(X) 限制 X为整数 . 【 该函数在整数规划中特别有用 】 @FREE(X) 取消对变量 X的限制 (即 X可取任意实数值 ) 注: ① @BND函数可以用约束条件代替 ,但使用 @BND函数表达变量的取值范围比使用约束条件的求解 速度快 , 且不计入约束条件的数目中 . ② @FREE(X)的作用是取消对变量 X的默认非负设置 . 例 . 求函数 z = (x+2)2 + (y-2)2的最小值 . min=(x+2)^2+(y-2)^2; @free(x); 【 请大家上机验证一下有 @FREE和没有的差别 】 安阳师范学院数学与统计学院 运筹学实验 五、其他函数 . 函 数 名 说 明 @WARN(„文字信息’ ,逻辑表达式 ) 如果逻辑表达式的值为真 , 则显示指导文字信息 (用于提示 ) @IF(逻辑表达式 ,表达式为真时的值 ,表达式为假时的值 ) 该函数根据逻辑表达式的结果是真还是假 , 决定返回值 , 常用来表示分段函数 @USER( ) 该函数允许用户用 C语言活 FORTRAN语言编写并编译自己的函数 ,返回用户函数的计算结果 例 . 用 @IF表示下列函数 . 4 , 0 5 0 0()5 0 0 3 , 5 0 0xxfxxx f = @IF(x#LE#500,4*x,500+3*x); 或 f = @IF(x#GT#500,500+3*x,4*x); 【 思考 :】 4 , 0 5 0 0( ) 5 0 0 3 , 5 0 0 1 0 0 01 5 0 0 2 , 1 0 0 0xxf x x xxx    此外还有 : 文件输入输出函数 ,金融函数 ,结果报告函数 安阳师范学院数学与统计学院 运筹学实验 补充 一、 稠密集合与稀疏集合 . SETS: WH / W1..W6 /: AI; VD/V1..V8/:DJ; LINKS(WH,VD):C,X; ENDSETS 省略了成员列表,只是指出它基于两个初始集合的衍生集合 称为 稠密集合 . 如果衍生集合的成员只是稠密集合中的一部分(子集),则 称为 稀疏集合 . 稀疏集合的定义方法有两种: (1)直接列表法; (2)元素过滤法 . 安阳师范学院数学与统计学院 运筹学实验 例 . 有如下工作流程 . A B C E F G H I J K D SETS: TASK/A B C D E F G H I J K/; PRED(TASK,TASK) /A,B B,C C,F C,G F,J G,J J,K D,E E,H E,I H,J I,J/; ENDSETS (1)直接列表法; 安阳师范学院数学与统计学院 运筹学实验 (2)元素过滤法 . 例 . 某公司 8个职员两两相容度如下表 . S1 S2 S3 S4 S5 S6 S7 S8 S1 - 9 3 4 2 1 5 6 S2 - - 1 7 3 5 2 1 S3 - - - 4 4 2 9 2 S4 - - - - 1 5 5 2 S5 - - - - - 8 7 6 S6 - - - - - - 2 3 S7 - - - - - - - 4 S8 - - - - - - - - SETS: REN/1..8/; LINKS(REN,REN)|&2 #GT# &1:C,X; ENDSETS 注 : 这里 &1和 &2表示第一和第二个父集合的 元素索引值 安阳师范学院数学与统计学院 运筹学实验 二、数据段的几点说明 . 1. 赋值 . SETS: SET1 /A,B,C /:X,Y; ENDSETS 例 .给下列集合赋值 (法 1) DATA: X=1,2,3; Y=4,5,6; ENDDATA (法 2) DATA: X,Y=1,4 2,5 3,6; ENDDATA 注 : 同一集合的多个属性一起赋值时 ,LINGO用 按列赋值 方式进行 . 安阳师范学院数学与统计学院 运筹学实验 2. 通过键盘输入数据 . 例 . 当 A=125, A=265时 ,下列模型的目标函数值是多少 ? Max=98*x1+A*x2-x1^2-0.3*x1*x2-2*x2^2; x1+x2<100; x1<。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.