关闭

关闭

关闭

封号提示

内容

首页 LINGO简介.ppt

LINGO简介.ppt

LINGO简介.ppt

上传者: 张坤 2011-10-10 评分 0 0 0 0 0 0 暂无简介 简介 举报

简介:本文档为《LINGO简介ppt》,可适用于IT/计算机领域,主题内容包含Lingo优化软件的使用方法Lingo优化软件的使用方法Lingo安装完成启动后可以看到如下界面Lingo的运算符号Lingo的运算符号算术运算负号符等。

Lingo优化软件的使用方法Lingo优化软件的使用方法Lingo安装完成启动后可以看到如下界面Lingo的运算符号Lingo的运算符号算术运算负号:(加法)(减法)*(乘法)(除法)^(乘幂)逻辑运算符号:#AND#(与)#OR#(或)#NOT#(非)#EQ#(等于)#NE#(不等于)#GT#(大于)#GE#(大于等于)#LT#(小于)#LE#(小于等于)逻辑运算的结果只有“真”(TRUE)和“假”(FALES)Llingo用表示True,其它的都是False。关系运算符号:<(<=)小于等于=(等于)>(>=)大于等于Lingo函数Lingo函数常见函数:abscosexpfloor(取整)lgm(自变量的gama函数的自然对数)smax(list)(返回列数的最大值)sminsintan集合循环函数function(setname(setindexlist)|condition:expressionlist)其中function是集合函数名有for,max,min,sum四种setname是集合名setindexlist是集合索引列表condition是逻辑表达式描述的条件expresstoinlist是一个表达式对for函数可以有一组表达式。for对集合setname的每个元素独立生成约束约束由expressionlist描述。max、min、sum依次返回集合setname上的表达式的最大值、最小值、和。集合处理函数in(setname,primitiveindex,primitiveindex…)如果集合setname中包含本集合的元素索引primitiveindex,primitiveindex…所对应的元素则返回否则返回。元素索引用“”、“”或index函数等形式给处这里“”表示对第个父集合的元素的索引“”表示对应于第个父集合的元素的索引。例如定义一个学生集合students然后派生一个几个的学生的集合passed和一个不几个学生的集合failed。sets:studentszhao,qian,sun,li:passed(students)qian,sun:failed(students)|#not#in(passed,):endsetsindex(setname,primitivesetelement)给出元素primitivesetelement在集合setname中的索引值(即顺序位置的编号)。如果setname省略则lingo按照模型中定义的集合顺序找到第一个包含元素primitivesetelement的集合并返回索引值。否则给出错误信息。wrap(I,N)当I位于区间I,N内时直接返回I否则返回J=IK*N。size(setname)返回集合元素的个数。变量界定函数变量函数对变量的取值范围附加限制共种:bnd(l,x,u)限制x的范围l<=x<=ubin(x)限制x取free(x)取消对x的符号限制gin(x)限制x为整数文件的输入输出函数dual(variableorrowname)返回解答中变量的判别数(reducedcost)或约束行的对偶(影子)价格(dualprices)。ranged(variableorrowname)为了保持最优基不变变来的费用系数或约束行的右端项允许减少的量即敏感性分析。rangeu(variableorrowname)为了保持最优基不变变量的系数或者右端项允许的增加量status()返回lingo求解模型结束后的最后状态(略)if(logicalcondition,trueresult,falseresult)当逻辑表达式logicalcondition的结果为真时返回trueresult,否则返回falseresult。Lingo求解线性规划Lingo求解线性规划例固定费用问题有三种资源用于生产三种产品资源量、产品单件可变费用、售价、资源单消耗量及组织三种产品生产的固定费用如表。求制定一个生产计划使总收益最大。分析问题和设置变量x(i)表示第i种产品的产量i=,,c(i,j)表示第i种产品对第j种资源的消耗量i=,,j=,b(j)表示第j种资源的拥有量r(i)表示第i种产品的单件可变费用s(i)表示第i种产品的固定费用t(i)表示第i种产品的单位售价。总收益=销售收入固定费用可变费用由于不知道第i种产品生产与否所以必须给定第i种产品的选择变量y(i)表示第I种产品的生产选择y(i)=,表示不生产第i种产品y(i)=表示生产第i种产品。数学模型如下:其中M为任意大的正数。根据资源约束不等式可以看出M取值为即可。利用lingo程序求解这里用两种方法求解程序模型展开模式max=*x*x*x*y*y*y*x*x*x<*x*x*x<x*x*x<x*y<x*y<x*y<gin(x)gin(x)gin(x)bin(y)bin(y)bin(y)计算结果Globaloptimalsolutionfoundatiteration:Objectivevalue:VariableValueReducedCostXXXYYYRowSlackorSurplusDualPrice根据计算生产第种产品件可以获得最大利润元。产生选择问题程序利用集合计算MODEL:sets:chanpin,,:x,r,s,t,yyuanliao,,:blink(chanpin,yuanliao):cendsetsmax=sum(chanpin:(tr)*xs*y)for(yuanliao(j):sum(chanpin(i):c(i,j)*x(i))b(j)<)for(chanpin(i):xM*y<)for(chanpin:gin(x))for(chanpin:bin(y))data:M=r=,,s=,,t=,,b=,,c=enddataend计算结果和程序接过相同。当决策变量和约束方程很多的时候第种程序显得简洁。如果再用第种程序书写和很麻烦。程序的三部分(可以是四部分包括初值)可以任意顺序。Globaloptimalsolutionfoundatiteration:Objectivevalue:VariableValueReducedCostMX()X()X()R()R()R()S()S()S()T()T()T()Y()Y()Y()B()B()B()C(,)C(,)C(,)C(,)C(,)C(,)C(,)C(,)C(,)RowSlackorSurplusDualPrice灵敏度分析例求解如下线性规划模型并进行灵敏度分析max=*x*yc*x*y<c*x*y<计算结果省略。如果要进行灵敏度分析需要在options窗口将状态设置成generalsolver并在dualcomputations选项设置为pricesrange。并适当设置其它参数并保存。然后再在求解的基础上在菜单上选择lingorange(ctrR),计算机会自动对每个变量和资源用有量进行范围分析:保持最优基不变的情况下变量或约束行的右端允许增加和减少的量。注意:对整数规划和规划灵敏度分析意义不大。Rangesinwhichthebasisisunchanged:ObjectiveCoefficientRangesCurrentAllowableAllowableVariableCoefficientIncreaseDecreaseXYRighthandSideRangesRowCurrentAllowableAllowableRHSIncreaseDecreaseCC即x的价值系数变化范围为,,y的价值系数变化范围为,右端系数变化范围分别为,,,。Lingo求解非线性规划Lingo求解非线性规划例飞机定位问题飞机在飞行过程中能够接受到地面上各个监控台发出的关于飞机当前位置的信息。根据这个信息可以比较精确地确定飞机的位置。(如下图)。vor是高频多向导航设备它能够测到飞机与该设备的连线的角度信息。dme是距离测量装置它能够测到飞机于该设备的距离信息。图中飞机接收到来自个vor发出的角度和一个dme给出的距离(括号内是误差)。并已经知道这些设备的(x,y)坐标。假设飞机和这些设备都在同一个平面上。如何根据这些信息精确地确定当前飞机的位置?y分析:记种设备vor,vor,vor,dme的坐标分别为(xi,yi)(km),其中i=,,,vor,vor,vor测到的角度为alphai(按照航空惯例角度是从正北方向沿顺时针方向的角度),角度误差为sigmai,这里i=,,dme测得的距离为d(km),距离误差为sigma。设飞机当前位置为(x,y)。数据转化为:Vor和飞机之间用距离表达出来的观测角度为同理分析,vor和飞机之间用距离表达出来的观测角度为Vor和飞机之间用距离表到出来的观测角度为()()()Dme测得飞机的距离为()本题要求精确的估计飞机的位置(x,y)理解为利用(),(),(),()这四个超方程确定(x,y)。解方程组和按照二乘最小准则使计算值与测量值误差平方和最小。则需要求解这个思路是对的但是最小化表达式错了(为什么?)因为表达式求和的四项中它们的量纲不同不能值解求和所以必须处理为利用lingo求解这个优化问题。sets:dian,,:a,b,alpha,sigma,z,betaendsetsmin=z^z^z^xz^z=(d((xx)^(yy)^)^())sigmafor(dian:(ya)(xb)tan(alpha)=)(beta()pialpha())sigma()z()=(beta()pi*alpha())sigma()z()=(beta()pialpha())sigma()z()=x>x<y>y<data:x=y=sigma=d=a=,,b=,,sigma=,,pi=beta=,,enddatainit:x,y=,endinitGlobaloptimalsolutionfoundatiteration:Objectivevalue:XY

用户评论(0)

0/200

精彩专题

上传我的资料

每篇奖励 +2积分

资料评价:

/28
1下载券 下载 加入VIP, 送下载券

意见
反馈

立即扫码关注

爱问共享资料微信公众号

返回
顶部