LINGO11教学教学教程.doc
《LINGO11教学教学教程.doc》由会员分享,可在线阅读,更多相关《LINGO11教学教学教程.doc(56页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、|LINGO是用来求解线性和非线性优化问题的简易工具。LINGO内置了一种建立最优化模型 的语言,可以简便地表达大规模问题,利用LINGO高效的求解器可快速求解并分析结果。1 LINGO快速入门当你在windows下开始运行LINGO系统时,会得到类似下面的一个窗口:外层是主框架窗口,包含了所有菜单命令和工具条,其它所有的窗口将被包含在主窗口之 下。在主窗口内的标题为LINGO Model LINGO1的窗口是LINGO的默认模型窗口,建立 的模型都都要在该窗口内编码实现。下面举两个例子。 例1.1 如何在LINGO中求解如下的LP问题: 0 , 600 2 100 350 . . 3 2 m
2、in 2 1 2 1 1 2 1 2 1 x x x x x x x t s x x 在模型窗口中输入如下代码: min=2*x1+3*x2; x1+x2=350; x1=100; 2*x1+x2=” 。LINGO中还能用“”表示大于等于关系。LINGO并不支持严格小于和严格大于关系运算符。然而, 如果需要严格小于和严格大于关系,比如让A严格小于B: A= 4.2 数学函数 LINGO提供了大量的标准数学函数: abs(x) 返回x的绝对值 sin(x) 返回x的正弦值,x采用弧度制 cos(x) 返回x的余弦值 tan(x) 返回x的正切值 exp(x) 返回常数e的x次方 log(x) 返
3、回x的自然对数 lgm(x) 返回x的gamma函数的自然对数 sign(x) 如果x=0时,返回不超过x的最大整数;当 x0时,返回不低于x的最小整数。 smax(x1,x2,xn) 返回x1,x2,xn中的最大值 smin(x1,x2,xn) 返回x1,x2,xn中的最小值 例4.3.1 求sin(2),floor(-1.2)的值.例4.3 给定一个直角三角形,求包含该三角形的最小正方 形。解:如图所示。 , sin cos , cos , sin x b x a DE x b AD x a CE 求最小的正方形就相当于求如下的最优化问题: A B C D DA E a b x| DE A
4、D CE x , , max min 2 0 LINGO代码如下: model: sets:object/1.3/: f; endsets data:a, b = 3, 4; !两个直角边长,修改很方便; enddataf(1) = a * sin(x);f(2) = b * cos(x);f(3) = a * cos(x) + b * sin(x);min = smax(f(1),f(2),f(3);bnd(0,x,1.57); end在上面的代码中用到了函数bnd,详情请见4.5节。4.3 金融函数 目前LINGO提供了两个金融函数。 1fpa(I,n) 返回如下情形的净现值:单位时段利率
5、为I,连续n个时段支付,每个时段支付单位 费用。若每个时段支付x单位的费用,则净现值可用x乘以fpa(I,n)算得。fpa的计算 公式为 I I I n n k k ) 1 ( 1 ) 1 ( 1 1 。 净现值就是在一定时期内为了获得一定收益在该时期初所支付的实际费用。 例4.4 贷款买房问题 贷款金额50000元,贷款年利率5.31%,采取分期付款方式 (每年年末还固定金额,直至还清) 。问拟贷款10年,每年需偿还多少元? LINGO代码如下: 50000 = x * fpa(.0531,10); 答案是x=6573.069元。 2fpl(I,n) 返回如下情形的净现值:单位时段利率为I,
6、第n个时段支付单位费用。fpl(I,n)的 计算公式为 n I ) 1 ( 。 细心的读者可以发现这两个函数间的关系: n k k I fpl n I fpa 1 ) , ( ) , ( 。4.4 概率函数 1pbn(p,n,x) 二项分布的累积分布函数。当n和(或)x不是整数时,用线性插值法进行计算。 2pcx(n,x) 自由度为n的 2 分布的累积分布函数。 3peb(a,x) 当到达负荷为a,服务系统有x个服务器且允许无穷排队时的Erlang繁忙概率。 4pel(a,x) 当到达负荷为a,服务系统有x个服务器且不允许排队时的Erlang繁忙概率。 5pfd(n,d,x)|自由度为n和d的
7、F分布的累积分布函数。 6pfs(a,x,c) 当负荷上限为a,顾客数为c,平行服务器数量为x时,有限源的Poisson服务系统的 等待或返修顾客数的期望值。a是顾客数乘以平均服务时间,再除以平均返修时间。当c 和(或)x不是整数时,采用线性插值进行计算。 7phg(pop,g,n,x) 超几何(Hypergeometric)分布的累积分布函数。pop表示产品总数,g是正品数。从 所有产品中任意取出n(npop)件。pop,g,n和x都可以是非整数,这时采用线性插值 进行计算。 8ppl(a,x) Poisson分布的线性损失函数,即返回max(0,z-x)的期望值,其中随机变量z服从均 值为
8、a的Poisson分布。 9pps(a,x) 均值为a的Poisson分布的累积分布函数。当x不是整数时,采用线性插值进行计算。 10psl(x) 单位正态线性损失函数,即返回max(0,z-x)的期望值,其中随机变量z服从标准正态 分布。 11psn(x) 标准正态分布的累积分布函数。 12ptd(n,x) 自由度为n的t分布的累积分布函数。 13qrand(seed):一次可以生成很多 产生服从(0,1)区间的拟随机数。qrand只允许在模型的数据部分使用,它将用拟随 机数填满集属性。通常,声明一个mn的二维表,m表示运行实验的次数,n表示每次实 验所需的随机数的个数。在行内,随机数是独立
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- LINGO11 教学 教程
限制150内