线性规划问题计算机解法.doc

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

线性规划问题计算机解法 本节将简要介绍几种软件求解线性规划问题的方法. 1.6.1应用EXCEL求解线性规划问题 以EXCEL2007为例,首先加载EXCEL规划求解加载项,具体操作步骤为:Office按钮——EXCEL选项—— 加载项——转到——加载宏——规划求解加载项,此时在“数据”选项卡中出现带有“规划求解”按钮的“分析”组.   下面仍然以例1.5为例,说明其求解过程: 1 设计电子表格 将模型中的数据直接输入到工作表中并保存文档.其中,A列为说明性文字,A3为决策变量的初始值,可以任意给定,本例均设为0;在D4其中键入“=SUMPRODUCT (B$3:C$3,B4:C4)”或者从直接从函数中选择,SUMPRODUCT是EXCEL的一个内置函数,其功能是两个向量或者矩阵对应元素乘积的和,因此表示表示目标函数值,由于初始值设为0,因而显示0;同理在D5其中键入“=SUMPRODUCT (B$3:C$3,B5:C5)”,以此类推,其显示值均为0.  2 设置规划求解参数     点击“分析”组中的“规划求解”按钮即可弹出如下对话框: 在设计目标目标单元格中键入$D$4,或者直接点击单元格D4,并选择“最大值”选项,如下图所示 点击对话框中“添加”,弹出如下对话框 在“单元格引用位置”栏中键入“$D$ 5”(或点击单元格D5),选择“=”(点击出现下拉菜单,可以选择其他约束形式),在约束值栏中键入“$F$5” (或点击单元格F5),确定后弹出下面对话框: 类似于上一步操作,添加所有的约束条件后如下图所示: 3 应用规划求解工具: 点击“求解”弹出如下对话框,选择“保存规划求解结果”与“运算结果报告” 确定后则形成一张新的工作表: 如果想得到价值系数、资源向量等条件对最优值的影响,可以在步骤3中选择输出“敏感性报告”. 1.6.1应用LINGO求解线性规划问题    从上面的介绍中看出,用EXCEL求解线性规划问题时操作简单,而其在输入数据方面有其方便之处.但如果决策变量和约束条件很多的话,其运行速度就不及专业的优化软件了.本节介绍一种专业的优化软件--LINGO的使用方法.LINDO 是 Linear Interactive Discrete Optimizer的缩写,是一个线性和整数规划的软件系统. LINDO /386 5.3以上版本,最大规模的模型的非零系数可以达到1,000,000个,最大变量个数可以达到100,000个,最大目标函数和约束条件个数可以达到32000个,最大整数变量个数可以达到100,000个。 仍以例1.5为例, 打开LINGO, 点击“File”下拉菜单,选择“new”弹出对话框,在对话框中输入目标函数和约束条件,其格式是: max=2*x1+3*x2; x1+2x*2=8; 4*x1=16; 4*x2=12; 如下图所示: 说明:每个表达式以“分号”隔开;如果目标函数是取小,则使用“min=”. 保存文件后点击LINGO弹出下拉菜单,选择“solver”或者直接点击快捷按钮即会输出计算结果报告 和解的状态报告 从上面的介绍看出,在求解线性规划问题时,Lingo较Excel更为人性化.但涉及到整数规划和非线性规划问题时,格式有所不同,后面将要介绍. 1.6.1应用MATLAB求解线性规划问题 针对不同的线性规划模型,MATLAB优化工具箱提供不同的命令,具体分以下几种情况: 模型1 其命令为 x=linprog(C,A,b) 说明:向量C为行向量;命令用于求目标函数为最小的形式. 模型2 命令为x=linprog(C,A,b,Ae,be) 说明:若没有不等式约束存在,则令A=[ ],b=[ ];若没有等式约束,可用模型1中的命令,或者令Aeq=[ ], beq=[ ]. 3、模型: 命令为x=linprog(C,A,b,Ae,be, xl,xu) 或者 x=linprog(C,A,b,Ae,be, xl,xu, x0) 说明: 若没有等式约束, 则令A=[ ], b=[ ];若没有等式约束,令Ae=[ ], be=[ ];x0表示初始值. 注:以上命令可以用格式[x,fval]=linprog(…),其含义为返回最优解x及x处的目标函数值fval. 例1:用matlab优化工具箱计算例1.5线性规划问题 解 新建M文件如下: C=[-2 -3]; A=[1 2; 4 0;0 4]; b=[8;16;12]; x=linprog(c,A,b) 保存文件为xxgh1.m,点击Debug选择run或适用快捷键F5,运行结果为 x = 4.0000 2.0000 或者建立如下M文件: C=[-2 -3]; A=[1 2; 4 0;0 4];

文档评论(0)

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

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

1亿VIP精品文档

相关文档