应用LINGO、MATLAB软件求解线性规划.ppt

  1. 1、本文档共57页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
应用LINGO、MATLAB软件求解线性规划剖析

(5) 输出 x 是最优解,fval是最优值。 (6) 输出exitflag描述了程序的运行情况,若其值大于零,表示程序收敛到最优解 ;若其值等于零,表示计算达到了最大次数;若其值小于零,表示问题无可行解,或程序运行失败。 (7)输出output表示程序运行的某些信息,如迭代次数(iterations)、所用算法(algorithm)、共轭梯度(cgiterations)等。 (8)lambda表示解处的拉格朗日乘子,其中lower,upper,ineqlin,eqlin分别对应于下界、上界、不等式约束与等式约束。 安徽大学十一五规划教材 安徽大学十一五规划教材 安徽大学十一五规划教材 安徽大学十一五规划教材 安徽大学十一五规划教材 安徽大学十一五规划教材 安徽大学十一五规划教材 输入程序 初始段 INGO对数据是按列赋值的 语句的实际赋值顺序是X=(5,2), Y=(1,7), 而不是X=(5,1), Y=(2,7) 等价写法: “X=5,2; Y=1,7;” 同理,数据段中对常数数组A,B的赋值语句也可以写成 A, B=1.25 1.25 8.75 0.75 0.5 4.75 5.75 5 3 6.5 7.25 7.75; 输入程序 定义目标和约束,与前例的方法是类似(这里包含了派生集合),请特别注意进一步体会集合函数@SUM和@FOR的用法。 由于新建料场的位置理论上讲可以是任意的,所以在约束的最后(模型的“END”语句上面的一行)用@free函数取消了变量X、Y的非负限制 在程序开头用TITLE语句对这个模型取了一个标题“LOCATION PROBLEM;并且对目标行([OBJ])和两类约束(DEMAND_CON、SUPPLY_CON)分别进行了命名(请特别注意这里约束命名的特点)。 用“LINGO|Options”菜单命令打开选项对话框,在“Global Solver”选项卡上选择“Use Global Solver”, 激活全局最优求解程序。 问题:最小运量85.26604是不是全局最优 为减少计算工作量,对X,Y的取值再做一些限制。虽然理论上新建料场的位置可以是任意的,但显然最佳的料场位置不应该离工地太远,至少不应该超出现在6个工地所决定的坐标的最大、最小值决定的矩形之外,即: 0.5=x=8.75, 0.75=y=7.75. 可以用@bnd函数加上这个条件取代模型END上面的行,运行NLP模型,全局最优求解程序花费的时间仍然很长,运行27分35秒时人为终止求解(按下“Interrupt Solver”按钮)得到左边模型窗口和全局求解器的状态窗口 若此时目标函数值的下界(Obj Bound=85.2638)与目前得到的最好的可行解的目标函数值(Best Obj=85.2661)相差已经非常小,可以认为已经得到了全局最优解。 计算结果 工地与料场示意图 : “*”表示料场,“+”表示工地 可以认为是模型的最后结果 附注:如果要把料厂P(5, 1), Q (2, 7)的位置看成是已知并且固定的,这时是LP模型。只需要把初始段的“X Y =5,1,2,7;”语句移到数据段就可以了。此时,运行结果告诉我们得到全局最优解(变量C的取值这里略去),最小运量136.2275(吨公里)。 LINGO模型的构成:4个段 集合段(SETS ENDSETS) 数据段(DATA ENDDATA) 初始段(INIT ENDINIT) 目标与 约束段 LP:移到数据段 程序与数据分离 文 本 文 件 使用外部数据文件 Cut (or Copy) – Paste 方法 @FILE 输入数据、@TEXT输出数据(文本文件) @OLE函数与电子表格软件(如EXCEL)连接 @ODBC函数与数据库连接 LINGO命令脚本文件 LG4 (LINGO模型文件) LNG (LINGO模型文件) LTF (LINGO脚本文件) LDT (LINGO数据文件) LRP (LINGO报告文件) 常用文件后缀 MODEL: SETS: MYSET/@FILE(‘c:\lingo\myfile.txt)/ : @FILE (‘c:\lingo\myfile.txt); ENDSETS MIN = @SUM( MYSET( I):ORDERED( I) * COST( I)); @FOR( MYSET( I): [CON1] ORDERED( I) NEED( I); [CON2] ORDERED( I) SUPPLY

您可能关注的文档

文档评论(0)

wyjy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档