lingo模型实例.ppt_第1页
lingo模型实例.ppt_第2页
lingo模型实例.ppt_第3页
lingo模型实例.ppt_第4页
lingo模型实例.ppt_第5页
已阅读5页,还剩93页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、例. 使用LINGO软件计算6个发点8个收点的最小费用运输问题。产销单位运价如 下表。,单位 销地,LINGO模型举例:,数学模型为:目标函数 min,使用LINGO软件,编制程序如下: model: !6发点8收点运输问题; sets: warehouses/wh1.wh6/: capacity; vendors/v1.v8/: demand; links(warehouses,vendors): cost, volume; endsets !目标函数; min=sum(links: cost*volume); !需求约束; for(vendors(J): sum(warehouses(I)

2、: volume(I,J)=demand(J);,!产量约束; for(warehouses(I): sum(vendors(J): volume(I,J)=capacity(I); !这里是数据; data: capacity=60 55 51 43 41 52; demand=35 37 22 32 41 32 43 38; cost=6 2 6 7 4 2 9 5 4 9 5 3 8 5 8 2 5 2 1 9 7 4 3 3 7 6 7 3 9 2 7 1 2 3 9 5 7 2 6 5 5 5 2 2 8 1 4 3; enddata,end,然后点击工具条上的按钮 即可,例1.4.

3、1 背包问题 某人打算外出旅游并登山,路程比较远,途中要坐火车和飞机,考虑要带许多必要的旅游和生活用品,例如照相机、摄像机、食品、衣服、雨具、书籍等等,共n件物品,重量分别为ai,而受航空行李重量限制,以及个人体力所限,能带的行李总重量为b,n件物品的总重量超过了b,需要裁减,该旅行者为了决策带哪些物品,对这些物品的重要性进行了量化,用ci表示,试建立该问题的数学模型这个问题称为背包问题(Knapsack Problem),解:若引入0-1型决策变量xi,xi=1表示物品i放入背包中,否则不放,则背包问题等价于如下0-1线性规划: 假设现有8件物品,它们的重量分别为1,3,4,3,3,1,5,

4、10(kg),价值分别为2,9,3,8,10,6,4,10(元),假如总重量限制不超过15kg,试决策带哪些物品,使所带物品的总价值最大,编写LINGO程序如下: MODEL: SETS: WP/W1.W8/:A,C,X; ENDSETS DATA: A=1 3 4 3 3 1 5 10; C=2 9 3 8 10 6 4 10; ENDDATA MAX=SUM(WP:C*X); !目标函数; FOR(WP:BIN(X); !限制X为0-1变量; SUM(WP:A*X)=15; END 求解得到结果:带16号物品,总价值为38,选址问题,某公司有6个建筑工地,位置坐标为(ai, bi) (单位

5、:公里),水泥日用量di (单位:吨),假设:料场和工地之间有直线道路,用例中数据计算,最优解为,总吨公里数为136.2,线性规划模型,决策变量:ci j (料场j到工地i的运量)12维,选址问题:NLP,2)改建两个新料场,需要确定新料场位置(xj,yj)和运量cij ,在其它条件不变下使总吨公里数最小。,决策变量: ci j,(xj,yj)16维,非线性规划模型,LINGO模型的构成:4个段,集合段(SETS ENDSETS),数据段(DATA ENDDATA),初始段(INIT ENDINIT),目标与 约束段,局部最优:89.8835(吨公里 ),LP:移到数据段,边界,例3 基金的优

6、化使用 (参见2001年竞赛C题),(1) 问题的提出 假设某校基金会得到了一笔数额为M万元的基金,打算将其存入银行,校基金会计划在n年内每年用部分本息奖励优秀师生,要求每年的奖金额相同,且在n年末仍保留原基金数额银行存款税后年利率见下表: 校基金会希望获得最佳的基金使用计划,以提高每年的奖金额,请在M=5000万元、n=5年的情况下设计具体存款方案,(2) 问题的分析: 假定首次发放奖金的时间是在基金到位后一年,以后每隔一年发放一次,每年发放的时间大致相同,校基金会希望获得最佳的基金使用计划,以提高每年的奖金额,且在n年末仍保留原基金数额M,实际上n年中发放的奖金总额全部来自于利息 如果全部

7、基金都存为一年定期,每年都用到期利息发放奖金,则是没有优化的存款方案,每年的奖金数为50000.018=90万元显然,准备在两年后使用的款项应当存成两年定期,比存两次一年定期的收益高,依此类推目标是合理分配基金的存款方案,使得n年的利息总额最多,定义 收益比a(本金+利息)/本金。 于是存2年的收益比为a2=1+2.16%2=1.0432 经分析得到两点结论: 1.一次性存成最长期,优于两个(或两个以上)较短期的组合(中途转存)。 2.当存款年限需要组合时,收益比与组合的先后次序无关。 存款年限及相应的最优收益比,(3) 建立模型 把总基金M分成5+1份,分别用x1,x5,x6表示,其中x1,

8、x5分别表示计划用于第i年发放奖金的一部分初始基金(单位:万元),x6表示用来使5年末本息合计等于原基金总数的那部分初始基金用S表示每年用于奖励优秀师生的奖金额,用ai表示第i年的最优收益比 目标函数为 max S 约束条件有3个: 各年度的奖金数额相等; 初始基金总数为M; n年末保留原基金总额M 于是得到模型如下:,目标函数: MAX S 约束条件: 这是线性规划模型,可以用LINGO软件求解令M=5000、n=5,程序为 MAX=S; 1.018*x1=S; 1.0432*x2=S; 1.07776*x3=S; 1.07776*1.018*x4=S; 1.144*x5=S; 1.144*

9、x6=M; M=5000; x1+x2+x3+x4+x5+x6 =M;,(4) 优化结果 最优存款方案:x1,x5,x6 分别为 132.8317 129.6230 125.4664 123.2479 118.2016 4370.629 (单位:万元 ) 每年度的奖金数额为135.2227万元。,例: 某班8名同学准备分成4个调查队(每队两人)前往4个地区 进行社会调查,假设这8名同学两两之间组队的效率如下表, 问:如何组队可以使总效率最高?,model: sets: students/s1.s8/; pairs(students, students)|2#gt# 1, BENEFIT, MA

10、TCH; Endsets Data BENEFIT= 9 3 4 2 1 5 6 1 7 3 5 2 1 4 4 2 9 2 1 5 5 2 8 7 6 2 3 4 enddata,objective MAX = SUM( PAIRS( I, J): BENEFIT( I, J) * MATCH( I, J); constraints FOR(STUDENTS( I): SUM( PAIRS( J, K) | J #EQ# I #OR# K #EQ# I: MATCH( J, K) =1); FOR(PAIRS( I, J): BIN( MATCH( I, J);,BIN(x): 限制x为0或

11、1,注:,建模实例与求解,最短路问题 下料问题 露天矿的运输问题 钢管运输问题,最短路问题,求各点到T的最短路,8,9,7,6,5,4,1,3,2,10,9,6,5,3,6,9,7,15,11,9,1,8,7,5,4,10,5,7,!最短路问题; model: data: n=10; enddata,sets: cities/1.n/: F; !10个城市; roads(cities,cities)/ 1,2 1,3 2,4 2,5 2,6 3,4 3,5 3,6 4,7 4,8 5,7 5,8 5,9 6,8 6,9 7,10 8,10 9,10 /: D, P; endsets,data:

12、 D= 6 5 3 6 9 7 5 11 9 1 8 7 5 4 10 5 7 9; enddata,F(n)=0; for(cities(i) | i #lt# n: F(i)=min(roads(i,j): D(i,j)+F(j); for(roads(i,j): P(i,j)=if(F(i) #eq# D(i,j)+F(j),1,0); end,计算的部分结果为: Feasible solution found at iteration: 0 Variable Value N 10.00000 F( 1) 17.00000 F( 2) 11.00000 F( 3) 15.00000 F(

13、 4) 8.000000 F( 5) 13.00000 F( 6) 11.00000 F( 7) 5.000000 F( 8) 7.000000 F( 9) 9.000000 F( 10) 0.000000,P( 1, 2) 1.000000 P( 1, 3) 0.000000 P( 2, 4) 1.000000 P( 2, 5) 0.00000 P( 2, 6) 0.000000 P( 3, 4) 1.000000 P( 3, 5) 0.000000 P( 3, 6) 0.000000 P( 4, 7) 0.000000,P( 4, 8) 1.000000 P( 5, 7) 1.000000

14、 P( 5, 8) 0.000000 P( 5, 9) 0.000000 P( 6, 8) 1.000000 P( 6, 9) 0.000000 P( 7, 10) 1.000000 P( 8, 10) 1.000000 P( 9, 10) 1.000000,问题1. 如何下料最节省 ?,例 钢管下料,问题2. 客户增加需求:,节省的标准是什么?,由于采用不同切割模式太多,会增加生产和管理成本,规定切割模式不能超过3种。如何下料最节省?,按照客户需要在一根原料钢管上安排切割的一种组合。,切割模式,合理切割模式的余料应小于客户需要钢管的最小尺寸,钢管下料,为满足客户需要,按照哪些种合理模式,每种

15、模式切割多少根原料钢管,最为节省?,合理切割模式,2. 所用原料钢管总根数最少,钢管下料问题1,两种标准,1. 原料钢管剩余总余量最小,xi 按第i 种模式切割的原料钢管根数(i=1,2,7),约束,满足需求,决策变量,目标1(总余量),按模式2切割12根,按模式5切割15根,余料27米,最优解:x2=12, x5=15, 其余为0; 最优值:27,整数约束: xi 为整数,当余料没有用处时,通常以总根数最少为目标,目标2(总根数),约束条件不变,最优解:x2=15, x5=5, x7=5, 其余为0; 最优值:25。,xi 为整数,按模式2切割15根,按模式5切割5根,按模式7切割5根,共2

16、5根,余料35米,虽余料增加8米,但减少了2根,与目标1的结果“共切割27根,余料27米” 相比,钢管下料问题2,对大规模问题,用模型的约束条件界定合理模式,增加一种需求:5米10根;切割模式不超过3种。,现有4种需求:4米50根,5米10根,6米20根,8米15根,用枚举法确定合理切割模式,过于复杂。,决策变量 (15维),xi 按第i 种模式切割的原料钢管根数(i=1,2,3),r1i, r2i, r3i, r4i 第i 种切割模式下,每根原料钢管生产4米、5米、6米和8米长的钢管的数量,满足需求,模式合理:每根余料不超过3米,整数非线性规划模型,钢管下料问题2,目标函数(总根数),约束条

17、件,整数约束: xi ,r1i, r2i, r3i, r4i (i=1,2,3)为整数,增加约束,缩小可行域,便于求解,原料钢管总根数下界: (最佳切割方式),特殊生产计划(简单切割方式):对每根原料钢管 模式1:切割成4根4米钢管,需13根; 模式2:切割成1根5米和2根6米钢管,需10根; 模式3:切割成2根8米钢管,需8根。 原料钢管总根数上界:31,模式排列顺序可任定,需求:4米50根,5米10根,6米20根,8米15根,每根原料钢管长19米,LINGO求解整数非线性规划模型,Local optimal solution found at iteration: 12211 Object

18、ive value: 28.00000 Variable Value Reduced Cost X1 10.00000 0.000000 X2 10.00000 2.000000 X3 8.000000 1.000000 R11 3.000000 0.000000 R12 2.000000 0.000000 R13 0.000000 0.000000 R21 0.000000 0.000000 R22 1.000000 0.000000 R23 0.000000 0.000000 R31 1.000000 0.000000 R32 1.000000 0.000000 R33 0.000000

19、0.000000 R41 0.000000 0.000000 R42 0.000000 0.000000 R43 2.000000 0.000000,模式1:每根原料钢管切割成3根4米和1根6米钢管,共10根; 模式2:每根原料钢管切割成2根4米、1根5米和1根6米钢管,共10根; 模式3:每根原料钢管切割成2根8米钢管,共8根。 原料钢管总根数为28根。,0,y,x,VOR2 x=629, y=375,309.00 (1.30),864.3(2.0),飞机 x=?, y=?,VOR1 x=764, y=1393,161.20 (0.80),VOR3 x=1571, y=259,45.10 (

20、0.60),北,DME x=155, y=987,飞机与监控台(图中坐标和测量距离的单位是“公里”),实例: 飞机精确定位问题,第1类模型: 不考虑误差因素,超定方程组, 非线性最小二乘!,量纲不符! ?,第2类模型: 考虑误差因素(作为硬约束),Min x; Min y; Max x; Max y.,以距离为约束,优化角度误差之和(或平方和); 或以角度为约束,优化距离误差.,非线性规划,?,? 仅部分考虑误差! 角度与距离的“地位”不应不同!,有人也可能会采用其他目标,如:,误差非均匀分布!,误差一般服从什么分布?,正态分布!,不同的量纲如何处理?,无约束非线性最小二乘模型,归一化处理!,

21、飞机坐标(978.31,723.98), 误差平方和0.6685 ( 4),角度需要进行预处理,如利用 Matlab的atan2函数, 值域(-pi, pi),第3类模型: 考虑误差因素(作为软约束); 且归一化,小技巧: LINGO中没有atan2函数, 怎么办?,可以直接利用tan函数!,同前面的模型/结果,飞机坐标(980.21,727.30 ), 误差平方和2.6 与前面的结果有所不同, 为什么? 哪个模型合理些?,最后: 思考以下模型:,露天矿生产的车辆安排(CUMCM-2003B),钢铁工业是国家工业的基础之一,铁矿是钢铁工业的主要原料基地。许多现代化铁矿是露天开采的,它的生产主要

22、是由电动铲车(以下简称电铲)装车、电动轮自卸卡车(以下简称卡车)运输来完成。提高这些大型设备的利用率是增加露天矿经济效益的首要任务。 露天矿里有若干个爆破生成的石料堆,每堆称为一个铲位,每个铲位已预先根据铁含量将石料分成矿石和岩石。一般来说,平均铁含量不低于25%的为矿石,否则为岩石。每个铲位的矿石、岩石数量,以及矿石的平均铁含量(称为品位)都是已知的。每个铲位至多能安置一台电铲,电铲的平均装车时间为5分钟。,卸货地点(以下简称卸点)有卸矿石的矿石漏、2个铁路倒装场(以下简称倒装场)和卸岩石的岩石漏、岩场等,每个卸点都有各自的产量要求。 从保护国家资源的角度及矿山的经济效益考虑,应该尽量把矿石

23、按矿石卸点需要的铁含量(假设要求都为29.5% 1%称为品位限制)搭配起来送到卸点,搭配的量在一个班次(8小时)内满足品位限制即可。 从长远看,卸点可以移动,但一个班次内不变。卡车的平均卸车时间为3分钟。,所用卡车载重量为154吨,平均时速28 . 卡车的耗油量很大,每个班次每台车消耗近1吨柴油。 发动机点火时需要消耗相当多的电瓶能量,故一个班次中只在开始工作时点火一次。 卡车在等待时所耗费的能量也是相当可观的,原则上在安排时不应发生卡车等待的情况。电铲和卸点都不能同时为两辆及两辆以上卡车服务。卡车每次都是满载运输。,每个铲位到每个卸点的道路都是专用的宽60,每个铲位到每个卸点的道路都是专用的

24、宽60m的双向车道,不会出现堵车现象,每段道路的里程都是已知的。 一个班次的生产计划应该包含以下内容:出动几台电铲,分别在哪些铲位上;出动几辆卡车,分别在哪些路线上各运输多少次(因为随机因素影响,装卸时间与运输时间都不精确,所以排时计划无效,只求出各条路线上的卡车数及安排即可)。一个合格的计划要在卡车不等待条件下满足产量和质量(品位)要求,而一个好的计划还应该考虑下面两条原则之一:,1.总运量(吨公里)最小,同时出动最少的卡车,从而运输成本最小; 2.利用现有车辆运输,获得最大的产量(岩石产量优先;在产量相同的情况下,取总运量最小的解)。,请你就两条原则分别建立数学模型,并给出一个班次生产计划

25、的快速算法。针对下面的实例,给出具体的生产计划、相应的总运量及岩石和矿石产量。,某露天矿有铲位10个,卸点5个,现有铲车7台,卡车20辆。各卸点一个班次的产量要求:矿石漏1.2万吨、倒装场1.3万吨、倒装场1.3万吨、岩石漏1.9万吨、岩场1.3万吨。,铲位和卸点位置的二维示意图,各铲位和各卸点之间的距离(公里)如下:,各铲位矿石、岩石数量(万吨)和矿石的平均铁含量如下:,问题分析,与典型的运输问题明显有以下不同: 这是运输矿石与岩石两种物资的问题; 属于产量大于销量的不平衡运输问题; 为了完成品位约束,矿石要搭配运输; 产地、销地均有单位时间的流量限制; 运输车辆只有一种,每次满载运输,15

26、4吨/车次; 铲位数多于铲车数意味着要最优的选择不多于7个产地作为最后结果中的产地; 最后求出各条路线上的派出车辆数及安排。,近似处理: 先求出产位、卸点每条线路上的运输量(MIP模型) 然后求出各条路线上的派出车辆数及安排,(混合整数规划MIP),模型假设,卡车在一个班次中不应发生等待或熄火后再启动的情况; 在铲位或卸点处由两条路线以上造成的冲突问题面前,我们认为只要平均时间能完成任务,就认为不冲突。 空载与重载的速度都是28km/h,耗油相差很大; 卡车可提前退出系统,等等。,符号,xij :从i铲位到j号卸点的石料运量 (车) 单位: 吨; cij :从i号铲位到j号卸点的距离 公里;

27、Tij : 从i号铲位到j号卸点路线上运行一个周期平均时间 分; Aij :从i号铲位到j号卸点最多能同时运行的卡车数 辆; Bij :从i号铲位到j号卸点路线上一辆车最多可运行的次数 次; pi:i号铲位的矿石铁含量 p=(30,28,29,32,31,33,32,31,33,31) % qj : j号卸点任务需求,q=(1.2,1.3,1.3,1.9,1.3)*10000 吨 cki :i号铲位的铁矿石储量 万吨 cyi :i号铲位的岩石储量 万吨 fi :描述第i号铲位是否使用的0-1变量,取1为使用;0为关闭。,(近似),(1)道路能力(卡车数)约束 (2)电铲能力约束 (3)卸点能力

28、约束 (4)铲位储量约束 (5)产量任务约束 (6)铁含量约束 (7)电铲数量约束 (8)整数约束,.,xij为非负整数 , fi 为0-1整数,优化模型,model: title CUMCM-2003B-01; sets: cai / 1.10 /:crate,cnum,cy,ck,flag; xie / 1 . 5 /:xsubject,xnum; link( xie,cai ):distance,lsubject,number,che,b; endsets,data: crate=30 28 29 32 31 33 32 31 33 31; xsubject= 1.2 1.3 1.3 1

29、.9 1.3 ; distance= 5.26 5.19 4.21 4.00 2.95 2.74 2.46 1.90 0.64 1.27 1.90 0.99 1.90 1.13 1.27 2.25 1.48 2.04 3.09 3.51 5.89 5.61 5.61 4.56 3.51 3.65 2.46 2.46 1.06 0.57 0.64 1.76 1.27 1.83 2.74 2.60 4.21 3.72 5.05 6.10 4.42 3.86 3.72 3.16 2.25 2.81 0.78 1.62 1.27 0.50; cy = 1.25 1.10 1.35 1.05 1.15

30、1.35 1.05 1.15 1.35 1.25; ck = 0.95 1.05 1.00 1.05 1.10 1.25 1.05 1.30 1.35 1.25; enddata,!目标函数; min=sum( cai (i): sum ( xie (j): number (j,i)*154*distance (j,i); !max =sum(link(i,j):number(i,j); !max=xnum (3)+xnum (4)+xnum (1)+xnum (2)+xnum(5); !min=sum( cai (i): ! sum ( xie (j): ! number (j,i)*154

31、*distance (j,i); !xnum (1)+xnum (2)+xnum(5)=340; !xnum (1)+xnum (2)+xnum(5)=341; !xnum (3)=160; !xnum (4)=160;,!卡车每一条路线上最多可以运行的次数; for (link (i,j): b(i,j)=floor(8*60-(floor(distance(i,j)/28*60*2+3+5)/5)-1)*5)/(distance(i,j)/28*60*2+3+5); !b(i,j)=floor(8*60/(distance(i,j)/28*60*2+3+5); !t(i,j)=floor(

32、distance(i,j)/28*60*2+3+5)/5); !b(i,j)=floor(8*60-(floor(distance(i,j)/28*60*2+3+5)/5)*5)/(distance(i,j)/28*60*2+3+5); !每一条路线上的最大总车次的计算; for( link (i,j): lsubject(i,j)=(floor(distance(i,j)/28*60*2+3+5)/5)*b(i,j);,!计算各个铲位的总产量; for (cai(j): cnum(j)=sum(xie(i):number(i,j); !计算各个卸点的总产量; for (xie(i): xnu

33、m(i)=sum(cai(j):number(i,j); !道路能力约束; for (link (i,j): number(i,j)=lsubject(i,j); !电铲能力约束; for (cai (j) : cnum(j) = flag(j)*8*60/5 ); !电铲数量约束 - added by Xie Jinxing, 2003-09-07; sum(cai(j): flag(j) ) =7;,!卸点能力约束; for (xie (i): xnum (i)= xsubject (i)*10000/154);,!铁含量约束; sum(cai (j): number(1,j)*(crat

34、e(j)-30.5) )=0; sum(cai (j): number(2,j)*(crate(j)-28.5) )=0; sum(cai (j): number(5,j)*(crate(j)-28.5) )=0;,!关于车辆的具体分配; for (link (i,j): che (i,j)=number (i,j)/b(i,j); !各个路线所需卡车数简单加和; hehe=sum (link (i,j): che (i,j); !整数约束; for (link (i,j): gin(number (i,j); for (cai (j): bin(flag (j); !车辆能力约束; hehe

35、=20; ccnum=sum(cai (j): cnum(j) ); end,计算结果(LINGO软件),计算结果(派车),结论: 铲位1、2、3、4、8、9、10处各放置一台电铲。 一共使用了13辆卡车;总运量为85628.62吨公里; 岩石产量为32186吨;矿石产量为38192吨。,此外:6辆联合派车(方案略),最大化产量,结论: (略),目标函数变化 此外:车辆数量(20辆)限制(其实上面的模型也应该有),要铺设一条 的输送天然气的主管道, 如图一所示。经筛选后可以生产这种主管道钢管的钢厂有,。图中粗线表示铁路,单细线表示公路,双细线表示要铺设的管道(假设沿管道或者原来有公路,或者建有

36、施工公路),圆圈表示火车站,每段铁路、公路和管道旁的阿拉伯数字表示里程(单位km)。 为方便计,1km主管道钢管称为1单位钢管。,一个钢厂如果承担制造这种钢管,至少需要生产500个单位。钢厂,在指定期限内能生产该钢管的最大数量为,个单位,钢管出厂销价1单位钢管为,万元,如下表:,钢管运输问题(CUMCM-2000B),1单位钢管的铁路运价如下表:,1000km以上每增加1至100km运价增加5万元。 公路运输费用为1单位钢管每公里0.1万元(不足整公里部分按整公里计算)。,钢管可由铁路、公路运往铺设地点(不只是运到点,(1)请制定一个主管道钢管的订购和运输计划,使总费用最小(给出总费用)。 (

37、2)请就(1)的模型分析:哪个钢厂钢管的销价的变化对购运计划和总费用影响最大,哪个钢厂钢管的产量的上限的变化对购运计划和总费用的影响最大,并给出相应的数字结果。 (3)如果要铺设的管道不是一条线,而是一个树形图,铁路、公路和管道构成网络,请就这种更一般的情形给出一种解决办法,并对图二按(1)的要求给出模型和结果。,,而是管道全线)。,常用解法: 二次规划 先计算最小运费矩阵 两种运输方式(铁路公路)混合最短路问题 是普通最短路问题的变种,需要自己设计算法,fi表示钢厂i是否使用; 为一个单位钢管从运到的最小费用 xij是从钢厂i运到节点j的钢管量; yj是从节点j向左铺设的钢管量; zj是向右

38、铺设的钢管量 向两边铺设的费用为; 为购运总费用 路段的长度(即需铺设的钢管数量)为,其他优化赛题,飞行管理问题 空洞探测问题 钻井布局问题 抢渡长江问题 等等,作业:用LINGO软件求解 1. 露天矿生产的车辆安排 2.钢管运输问题,LINGO在数值计算中的应用,LINGO的特色功能是求解规划问题,即在一定约束条件下求某个目标函数的最大值或最小值。如果我们充分利用它的强大运算能力,也能在数值计算方面找到其用武之地。,一、解非线性方程(混合)组,LINGO把非线性方程组的每一个方程看成是一个等式约束条件,把不等式看成不等式约束条件,把方程(混合)组看成是只有约束条件而没有目标函数的特殊规划,满

39、足所有约束条件的解通常称为可行解,它就是方程组的解。 用LINGO求解方程组的优点是不需要初始值,且计算结果的精度通常能达到10-7.,例. 解非线性方程组,解:第一个方程的图象是一条直线,第二个方程的图象是一个椭圆,方程的解是两者的交点。该方程有两组解,在LINGO的模型窗口内输入程序: x1+2*x2=3; 2*x12+x22=5; 求解得:x1=1.488034,x2=0.7559830; 该方程组还有另一组解(x10),因LINGO默认变量非负,负根求不出来,如果想求出来,可以通过附加约束条件来解决: bnd(-1,x1,0); 再次求解,得到另一组解: X1=-0.8213709,X

40、2=1.910685。 精度达到10-7。,例. 已知方程组,其中x,y是变量,u是常数,问u在什么范围内时该方程组有解? 若u=1.2,求该方程组的解。 解:将约束条件 代入第二个方程得2600y2196。要判断u在什么范围内时该方程组有解,可以把方程组看成约束条件,求能够满足约束条件的u的最大值和最小值。,即可求出u在什么范围内时该方程组有解。 在LINGO模型窗口输入 min=u; y=7500*u/13/(u+1300); x2+y2=2600*y-900; 2600*y=2196; 求解得到u的最小值为0.7805724。 类似地,在LINGO模型窗口输入 max=u; y=7500

41、*u/13/(u+1300); x2+y2=2600*y-900; 2600*y=2196;,求解得到u的最大值为1.90599。 综上所述,当0.7805724u1.90599,方程组有解。 当u=1.2时要求方程组的解,只需输入: u=1.2; y=7500*u/13/(u+1300); x2+y2=2600*y-900; 2600*y=2196; 求解得到 x = 21.97852,y= 0.5320533. 注意到方程组中变量x仅以x 2出现,关于x是偶函数,故当x= 21.97852是方程组的解时, x= -21.97852必然也时方程组的解。,二、求函数的极值,求函数极值时,如果没

42、有约束条件,则LINGO极值问题看成是没有约束条件的特殊规划。如果对变量的范围有限制,则把该限制作为约束条件,极值问题就是一个普通的规划问题。 用LINGO求极值的优点是不需要初始值。,例. 求函数的极小值点和极小值:,解:本题只有目标函数没有约束条件。 输入语句: min=cos(x2)-x-y+2*x2-2*x*y+y2+log(1+y2); 求解得到结果:x=1.561665, y=1.613946时,目标函数的最小值为-0.2148464 如果对自变量的取值范围有限制,例如nxm,则用语句bnd(n,x,m);实现因LINGO默认变量非负,如果极小值在某个自变量为负值时取得,也用函数b

43、nd限定该自变量的取值范围,如bnd(-2,y,-1)限定-2y-1,三、曲线拟合,1.曲线拟合的概念 设观测数据为(xi,yi),i=1,2,.,n,希望用一条相对光滑的曲线y=f(x)来近似表示变量y与x的关系,不要求它通过每一个节点,但要求数据点与曲线之间的距离尽可能小,称f(x)为拟合函数或经验公式.,拟合曲线f(x)中往往含有若干待定常数ak(k=1,2,.m),称为回归系数,记为向量A=a1,a2,.,am,则曲线方程可记为f(A,x),其具体形式可由散点图或通过建立数学模型来确定,2. 最小二乘法,确定待定常数的常用方法是最小二乘法。以xi代入f(x),得到f(xi),它与yi并不相等,需要定出一种规则来衡量曲线f(x)与节

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论