运筹学实验3用Excel求解线性规划模型
运筹学数学excel操作实例

根据对上述建模过程的总结,在电子表格中建立线性规划模型的步骤可归纳如下:
回忆例2-1某制药厂的生产计划问题,其求解结果如图13-8所示,即生产4公斤药品Ⅰ和2公斤药品Ⅱ,总利润为1400元.但该最优解是在假设所有的模型参数都准确的前提下做出的,在此基础上,管理层如果进一步考虑下列问题:
图13-11右下部分的“规划求解”对话框显示了求解时应注意的问题:求目标单元格的最大值(利润最大);约束为设备的实际使用时间小于等于设备的可用时间及实际总业务量小于等于总业务提供量的限制.
打开“选项”对话框,仍选择“采用线性模型”和“假定非负”,回到“规划求解”并按“求解”按钮,得到问题的最优方案为:每月X线及CT检查的业务量分别为1320人次和480人次,磁共振业务量为0,即不必购买该设备;按最优方案安排业务每月可获利55200元.
图13-10的右半部分显示了“规划求解”对话框及“选项”对话框的内容.该问题的目标是所用的胶管原料的总根数最少,因此设置目标单元格为I12等于最小值.由于实际获得的材料数量必须满足需求量的要求,考虑到最优方案(各种截法的某一组合)不一定能使截出的三种材料数量恰好等于需要的数量,而某种材料超过需求量是允许的,故在添加约束时可设置实际截得的数量大于等于需求量,即I9:I12>=K9:K12(本题中,该约束取“>=”和“=”的结果是相同的);又由于截出的各种材料数量均为整数,因此约束中应包括决策变量取整数的限制,即C13:H13=整数.
用EXCEL求解线性规划

用EXCEL求解线性规划
要用EXCEL求解线性规划问题,需要遵循以下步骤:
1. 给定问题中的约束条件和目标函数。
2. 打开EXCEL,建立一个新的工作表。
3. 在工作表中输入问题的约束条件和目标函数。
在输入目标函数时,需要将所有项移动到等号左侧,使它成为一个线性方程。
需要注意将不等式约束条件转化为等式约束条件,可以通过添加松弛变量来实现。
4. 使用EXCEL的“规划”工具,在工具栏中点击“数据”-“分
析”-“规划器”,打开“规划器”。
5. 在“规划器”中,选择需要优化的目标单元格,在“约束条件”
中输入所有约束条件所在的单元格,设置变量单元格的范围。
6. 可以在“选项”中添加其他约束条件。
例如,可以设定变量的整数或二元特性等。
7. 单击“求解”按钮,EXCEL将自动求解最优解,并输出最优
值和变量值。
需要注意的是,线性规划问题求解的结果是一个数值,而不是图形。
因此,需要谨慎分析问题以确保从数值结果中得到了正确的结论。
用Excel求解运筹学问题

可变单元格 单元格 名字 $C$12 Units Produced Doors $D$12 Units Produced Windows 约束 单元格 名字 $E$7 Plant 1 Used $E$8 Plant 2 Used $E$9 Plant 3 Used 终 阴影 约束 允许的 允许的 值 价格 限制值 增量 减量 2 0 4 1E+30 2 12 150 12 6 6 18 100 18 6 6 终 递减 目标式 允许的 允许的 值 成本 系数 增量 减量 2 0 300 450 300 6 0 500 1E+30 300
C D Optimal Units Produced 16 17 Doors Windows 18 =DoorsProduced =WindowsProduced
E Total Prof it =TotalProf it
(1) 只有一个目标函数系数变动的影响
门的单位利润从$100变到$1000,产品组合的变化
5.Under the Tools menu, choose the "Add-Ins" command.
6.Click the Solver Table checkbox to have Solver Table load with Excel every time it is loaded.
运筹学线性规划实验报告

实验报告一、实验名称:线性规划问题二、实验目的:通过本实验,能掌握Spreadsheet方法,会熟练应用Spreedsheet建模与求解方法。
在Excel(或其他)背景下就所需解决的问题进行描述与展平,然后建立线性规划模型,并用Excel的命令与功能进行运算与分析。
三、实验设备计算机、Excel 四、实验内容1、线性规划其中,目标函数为求总利润的最大值。
B11=SUMPRODUCT(B6:C6,B9:C9);B14=SUMPRODUCT(B3:C3,$B$9:$C$9); B15=SUMPRODUCT(B4:C4,$B$9:$C$9); B16=SUMPRODUCT(B5:C5,$B$9:$C$9); D14=D3; D15=D4; D16=D5; 用规划求解工具求解:目标单元格为B11,求最大值,可变单元格为$B$9:$C$9,约束条件为B14:B16<=D14:D16。
在【选项】菜单中选择“采用线性模型”“假定非负”。
即可进行求解得结果,即确定产品A的产量为20,产品B的产量为24,可实现最大总利润为428。
2、灵敏度分析在【可变单元格】表中:在【可变单元格】表中:“终值”表示最优解,即产品A 产量为20,产品B 产量为24。
“递减成本”表示产品的边际收入与按影子价格折算的边际成本的差,当递减成本小于0时,表示不应该安排该产品的生产,在表中的情况反映了产品A 产品、B 都进行生产,因为在产品A 与产品B 产量增加的同时利润也是在增加的。
产量增加的同时利润也是在增加的。
“目标式系数”是在目标函数中变量的系数,也是产品A 与产品B 的单位利润。
的单位利润。
“允许的增量”“允许的增量”和“允许的减量”表示在不改变最优解结构的前提下,和“允许的减量”表示在不改变最优解结构的前提下,和“允许的减量”表示在不改变最优解结构的前提下,单个目标系数可变的单个目标系数可变的上下限。
也就是说,在目标函数中,产品A 的价值系数在(3.6,9.6】内,产品B 的价值系数不变,或者产品A 的价值不变,产品B 的价值系数在【23.3,8.75】内,最有的生产方案依旧为产品A 产量为20,产品B 产量为24,以达到最大利润。
excel线性规划求解

To Calculate Total LHS, 選擇SUMPRODUCT
1 2
選定第一列範圍
選定第二列範圍
SUMPRODUCT(F6:G6,G3:G3)=F6*F3 + G6*G3
Then repeat the same steps for constraint #2 and #3
輸入Slack 公式
求最小值
1.輸入變數x1, x2的值所在的儲存格 2.『新增』限制式
1.輸入限制式左邊及右邊的儲存格 2.選擇適當的符號
左邊
右邊
1.選擇後之結果 2.按『新增』
1.此限制式表示 constraint #1and #2 2.再新增 constraint #3
Constraint #3的左邊,右邊及符號
1.前三項限制式(constraints#1,#2,#3) 2.選擇『選項』
新增 constraint #4: x1 >=0 constraint #5: x2 >=0
按『求解』後的結果
想將此圖轉貼於 EXCEL工作表上 1.選此按鈕 2.回到EXCEL
1.按貼上的按鈕或 『編輯』下的貼上, 即顯示圖案。 2. 將之移至適當位置
完成
线性规划求解
Linear Programming Problem
輸入公式Βιβλιοθήκη 列出EXCEL的求解方式: Min:Minimum Objective Value=F4*F3+G4*G3 LHS: Left Hand Side RHS: Right Hand Side Slack: RHS - LHS for “<=“ LHS- RHS for “>=“
用Excel求解LP(线性规划)问题

▪
x1 , x2 ≥ 0
整理ppt
3
2、输入系数:
输入系数
▪ 在单元格A2:D4中分
别输入两个不等式约 束的系数与常数项,在 单元格A5:B5中分别
输入目标函数的两个 系数,在单元格A1:B1
中任意输入两个数分 别作为决策变量x1,x2 的值(如右图,C列暂 空) 。
整理ppt
4
3、LP模型的EXCEL输入(两 种方法)
▪ 在C2单元格中输入“=A2*A$1+B2*B$1”,并复 制到C3、C4、C5中,使它们分别变为 “=A3*A$1+B3*B$1” 、“=A4*A$1+B4*B$1”和 “=A5*A$1+B5*B$1”。
整理ppt
5
利用EXCEL的SUMPRODUCT 函数进行计算
▪ sumproduct是求两个数组(矩阵)相乘的结果 ▪ 数组的输入: ▪ “选中所有的数组元
②在“可变单元格(B)”栏后的空白中 填入$A$1:$B$1;
整理ppt
8
③光标指向“约束”栏,按“添加”, 出现“添加约束”对话框(如下图),
对话框“改变约束”
▪ 依次填入约束关系,每输完一条,按“添加”, 输入所有约束条件后,按“确定”,
整理ppt
9
又退回到下图状态,在下图中可以选 “更改”、“删除”、“全部重设” 来编辑约束条件及其他设置。
3、用Excel求解LP(线 性规划)问题
整理ppt
1
1、检查是否加载了宏“规划求解”? 即查看Excel窗口的“工具”菜单下 是否有“规划求解”菜单条?
▪ 找到与你的微机中已
在机房中,这装的Office版本一致
一步骤已经为的Office安装盘。单
EXCEL求解线性规划问题演示文档.ppt

31
(2)约束右端值b同时变动的百分之百法则: 同时改变几个或所有函数约束的约束右端值,如果这些变动的幅 度不大,那么可以用影子价格预测变动产生的影响。为了判别这些 变动的幅度是否允许,计算每一变动占同方向可容许变动范围的百 分比,如果所有的百分比之和不超过百分之一百,那么影子价格还 是有效的;如果所有的百分比之和超过百分之一百,那就无法确定 影子价格是否有效。
个可变单元格可以取到的最小值。上限是在这种情况下可以取
到的最大值。
..........
30
延伸
下面对目标系数同时变动以及约束右端值同时变动的情况分别作延伸。 (1)目标系数c同时变动的百分之百法则: 如果目标函数系数同时变动,计算出每一系数变动量占该系数同方向 可容许变动范围的百分比,而后将各个系数的变动百分比相加,如果 所得的和不超过百分之一百,最优解不会改变;如果超过百分之一百, 则不能确定最优解是否改变。
..........
16
建立数学公式(步骤二)
• 在工作表的顶部输入数据
• 确定每个决策变量所对应 的单元格位置
• 选择单元格输入公式,找 到目标函数的值
• 选择一个单元格输入公式, 计算每个约束条件左边的 值
• 选择一个单元格输入公式, 计算每个约束条件右边的 值
图中,规定B12、C12 为可变单元格
在目标单元格中,需要填入......计.... 算目标函数值的公式。 18
建立数学公式(步骤四)
• 在工作表的顶部输入数据 • 确定每个决策变量所对应
的单元格位置 • 选择单元格输入公式,找
到目标函数的值 • 确定约束单元格输入公式,
计算每个约束条件左边的 值 • 确定约束单元格输入公式, 计算每个约束条件右边的 值
运筹学03-excel求解

第2章 线性规划的计算机求解及应用举例§1线性规划模型在电子表格中的布局线性规划模型在电子表格中布局的好坏关系到问题可读性和求解方便性的高低。
本节以第一章中的例1(资源分配问题)为例来说明一下如何在电子表格中描述线性规划模型,让我们回顾一下第一章中例1的数学模型:Max 1243Z x x =+s.t. 1212126282318,0x x x x x x ≤⎧⎪≤⎪⎨+≤⎪⎪≥⎩ (2.1)一般来说,在与问题相关的表格的基础上稍加调整就可以在电子表格中形成一个十分清晰的模型描述。
我们以表1-1为基础在Excel 电子表格中将上述问题描述如图2-1。
§2用Excel规划求解工具求解线性规划模型Excel 中有一个工具叫规划求解,可以方便地求解线性规划模型。
“规划求解”加载宏是Excel 的一个可选加载模块,在安装Excel 时,只有在选择“定制安装”或完全安装时才可以选择装入这个模块。
如果你现在的Excel 窗口菜单栏的“工具”菜单中没“规划求解”选项,可以通过“工具”菜单的“加载宏”选项打开“加载宏”对话框来添加“规划求解”(见图2-2)。
在应用规划求解工具以前,要首先确认在Excel 电子表格中包括决策变量、目标函数、约束函数三种信息的单元格或单元格区域。
图2-1中的电子表格中就已经有了这部分内容:决策变图2-1 资源分配问题的模型在Excel 电子表格的布局及公式图2-2 加载宏对话框量在C9和D9单元格中;目标函数的系数在第8行;约束函数在第5、6和7行。
因为我们不知道决策变量的值是多少,所以就在决策变量所在的单元格中填上初始值“0”,当然也可以什么都不填,系统会默认它为0,在求解以后Excel会自动将它们替换成决策变量的最优解。
下面我们接着上节的内容用Excel规划求解将第一章例1的资源分配问题解一遍。
首先将要求解模型的所有相关信息和公式像图2-1那样填入电子表格中后,再选取[工具] | [规划求解]命令后,弹出图2-3所示的“规划求解参数”对话框。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验三、用Excel求解线性规划模型线性规划问题用手工求解工作量很大,而且没有较高的数学基础很难理解其计算过程和方法,但是借助Excel“规划求解”工具,就能轻而易举地求得结果。
Excel最多可解200个变量、600个约束条件的问题。
下面我们以一实例介绍利用Excel规划求解工具怎样快速解决具体的经济决策问题。
一、实验目的1、掌握如何建立线性规划模型。
2、掌握用Excel求解线性规划模型的方法。
3、掌握如何借助于Excel对线性规划模型进行灵敏度分析,以判断各种可能的变化对最优方案产生的影响。
4、读懂Excel求解线性规划问题输出的运算结果报告和敏感性报告。
二、实验内容1、[工具][规划求解]命令规划求解加载宏是Excel的一个可选安装模块,在安装Excel时,只有在选择“完全/定制安装”时才可选择装入这个模块。
在安装完成进入Excel后还要用[工具][加载宏]命令选中“规划求解”,以后在[工具]菜单下就增加了一条[规划求解]命令。
使用[规划求解]命令的一般步骤为:第一步:在选取[工具][规划求解]命令后,弹出图1所示“规划求解参数”对话框,其中各选项说明如表1。
图1“规划求解参数”对话框选项名说明设置目标单元格选取计算问题的目标函数,并含有计算公式的单元格等于按问题目标进行选择。
如利润问题,选取“最大值”可变单元格决策变量所在各单元格、不含公式,可以有多个区域或单元格约束增加、修改、删除各个约束等式或不等式,一个一个地与图2切换填入或修改添加选择后弹出图2所示对话框更改选择后弹出图3所示对话框删除删除所选定的约束条件选项决定采用线性模型还是非线性模型求解约束条件中的单元格引用位置,可从键盘直接录入,也可用鼠标拖放选取。
图2图3第二步:完成图1所示的一切填入项目后,单击“选项”按钮,在弹出的“规划求解选项”对话框中若是线性模型则选取“采用线性规模”选项按钮,再单击“确定”按钮回到图1。
图4第三步:在图1中单击“求解”按钮,经计算完成后弹出“规划求解结果”对话框(图5)。
图5第四步:在图5中单击“确定”按钮,则只将优化计算结果显示在表格设置中的可变单元格(决策变量)和目标单元格(目标函数)内。
在图5的“报告”框中有3个选项,每个选项对应着一个报告,各报告以单一工作表记载,它们不仅能给出优化结果,甚至还给出更重要信息,例如影子价格等。
2、 产品生产品种结构优化问题 数学模型 示例:一家制药厂生产两种产品:药品Ⅰ和药品Ⅱ。
每个产品要用到一种相同的原料A ,并要经过一道相同的工序,在机器B 上包装 。
因为这两种产品可以使用同样的机器,所以它们可以轮换使用设备,从而使其生产设施得到较充分的利用。
表 2 药品和药品的售价、可变成本和贡献 药品 销售价(元) 可变成本(元) 对利润的贡献 Ⅰ 350 300 50 Ⅱ450350100表3 两种药品在机器上加工两种产品的时间以及原材料A 和B 限制 药品 原料A (千克) 机器B (小时) 原料C (千克) Ⅰ 2 1 0 Ⅱ 1 1 1 资源限制400300250问该制药厂应该如何安排生产计划才能使企业的利润最大。
我们知道,如果分别设药品Ⅰ和药品Ⅱ的生产数量为x1和x2,那么该问题的线性规划模型如下:表格设置与公式说明根据本问题的规模和条件,拟设置如表1中A1︰E8所示形式:⑴区域B3︰C6和E3︰E5为原始数据区,输入如表1中所示的原始数据。
表4⎪⎪⎪⎩⎪⎪⎪⎨⎧≥≥≤≤+≤+)(0)(0)(250)(300)(4002..2122121的最低产量药品的最低产量药品原料机器原料II x I x C x B x x A x x t s 2110050m ax x x Z +=⑵在单元格B8内输入数学模型中目标函数的计算公式,并求最大值。
⑶单元格B7︰C7分别作为药品Ⅰ和药品Ⅱ的产量(即决策变量x1、x2),即可变单元格。
其初始值设为0,求解过程中计算机会自动输入各组试验值。
⑷区域D3︰D5内的各单元格依次输入三个约束条件对应式的左侧部分。
操作步骤第一步:选择[工具][规划求解]命令,弹出图1所示对话框。
根据本问题的性质,在“设置目标单元格”文本框内填入$B$8,在“等于”选项后选取“最大值”,在“可变单元格”文本框内填入$B$7︰$C$7。
第二步:单击“添加”按钮,弹出图2所示对话框。
该步骤的任务是要把前面数学模型中的全部约束条件一个一个地填入图1所示的“约束”列表框内。
图2所示就是填入三个资源约束条件的情形:在左边“单元格引用位置”文本框内填入$D$3︰$D$5(可直接录入、或用鼠标拖入)、单击中间向下小箭头并选取符号“<=”、在右方“约束值”文本框内录入$E$3︰$E$5,也可以录入数字400,300,250,最后单击“确定”按钮或回车键,回到图1。
这样就完成了约束条件$D$3︰$D$5<=$E$3︰$E$5的录入。
第三步:重复第二步,录入$B$7︰$C$7>=0,即两决策变量的值必须大于0,最后如图1所示。
第四步:在图1中单击“选项”按钮,弹出图4对话框。
因本例题属于线性规划问题,选取“采用线性模型”按钮,再单击“确定”按钮,回到图1。
第五步:在图1中选取“求解”按钮或击回车键,Excel进入规划求解运行过程,屏幕左下角状态条上逐次显示运行过程报告。
一旦计算结束,弹出图5的对话框。
在图5内可以有四种选择:⑴若单击“确定”按钮或击回车键,则显示如表2的结果。
可变单元格$B$7︰$C$7内显示最优生产计划,即药品Ⅰ生产50件和药品Ⅱ生产100件,可获得最大利润27500元;单元格$D$3︰$D$5分别给出了各种资源的用量,只有原料A有50千克的剩余。
表5⑵若选择“运算结果报告”,Excel显示“运算结果报告<n>”,其中<n>表示求解本问题中已经连续第几次选择该选项,我们这里给出的是“运算结果报告1”(如表6),即在同一文件内首次选择该选项。
表6比较全面地报告了优化结果信息,包括目标单元格的位置、名称、初值和终值,可变单元格的位置、名称、初值和终值,约束单元格位置、名称、单元格内计算结果、单元格相应约束式、运算结果达到的状态(型数值为0表示到达限制值、否则未到达限制值)。
⑶若选择“敏感性报告”,Excel显示“敏感性报告<n>”(如表7)。
敏感性报告表的限制式中“阴影价格”(经济学中称影子价格、Shadow Price)是一个有特别意义的经济指标。
表6Microsoft Excel 9.0 运算结果报告工作表 [习题一.xls]Sheet2报告的建立: 2006-8-24 19:22:29目标单元格 (最大值)单元格名字初值终值$B$8 目标函数0 27500可变单元格单元格名字初值终值$B$7 决策变量产品1 0 50$C$7 决策变量产品2 0 250约束单元格名字单元格值公式状态型数值$D$3 原料A 350 $D$3<=$E$3 未到限制值50$D$4 机器B 300 $D$4<=$E$4 到达限制值0$D$5 原料C 250 $D$5<=$E$5 到达限制值0$B$7 决策变量产品1 50 $B$7>=0 未到限制值50$C$7 决策变量产品2 250 $C$7>=0 未到限制值250影子价格的经济学意义是,使在最优利用下的紧缺资源增加1个单位,将为企业创造的利润。
用影子价格与各紧缺资源的市场价格相比较,可以为企业是否购买紧缺资源扩大生产提供决策依据。
有剩余的资源影子价格为0。
表7Microsoft Excel 9.0 敏感性报告工作表 [习题一.xls]Sheet2报告的建立: 2006-8-25 11:01:22可变单元格终递减目标式允许的允许的单元格名字值成本系数增量减量$B$7 决策变量产品1 50 0 50 50 50$C$7 决策变量产品2 250 0 100 1E+30 50约束终阴影约束允许的允许的单元格名字值价格限制值增量减量$D$3 原料A 350 0 400 1E+30 50$D$4 机器B 300 50 300 25 50$D$5 原料C 250 50 250 50 50⑷若选择“极限值报告”,Excel 显示“极限值报告<n>”(如表8)。
除了给出最优决策对应最优目标值信息外,还显示各决策变量的上、下限值及其对应目标式结果。
表8 Microsoft Excel 9.0 极限值报告 工作表 [习题一.xls]Sheet2 报告的建立: 2006-8-25 11:02:45目标式 单元格 名字值 $B$8 最大利润27500变量 下限 目标式 上限 目标式 单元格名字值 极限结果 极限结果$B$7 决策变量 产品1 50 0 2500050 27500$C$7 决策变量 产品22500 2500 249.9999999 27499.999993、读懂Excel 求解线性规划问题输出的运算结果报告和敏感性报告利用Excel 求解线性规划问题系统将提供三个计算结果报告,即运算结果报告、敏感性报告、极限值报告。
这三个报告中的前两个报告非常重要,下面我们将结合教材第二章线性规划的对偶理论与灵敏度分析的内容讲述如何看Excel 求解线性规划问题输出的运算结果报告和敏感性报告。
⑴读懂运算结果报告运算结果报告比较容易看懂,可变单元格$B$7和$C$7分别表示两个决策变量,即药品Ⅰ和药品Ⅱ的产量,在计算时,由于我们最初赋予0,021==x x ,所以单元格$B$7和$C$7的初值为0,求得最优解后,$B$7和$C$7的值分别为50和250,即250,5021==x x ,表示使目标函数值最大的计划是生产50个单位的药品Ⅰ和250个单位的药品Ⅱ。
目标单元格$B$8表示目标函数2110050m ax x x z +=,由于我们最初赋予0,021==x x ,所以目标函数的初值为0,求得最优解后,目标函数的值为27500,即,如果生产50个单位的药品Ⅰ和250个单位的药品Ⅱ能使企业利润达到最大值27500元。
在单元格$D$3、$D$4、$D$5我们分别输入了三个约束条件的左边项,即212x x +,21x x +和2x ,随后在使用[工具][规划求解]时,在[规划求解参数]窗口,我们输入了5$$5$,$4$$4$,$3$$3$$E D E D E D ≤≤≤,而$E$3=400、$E$4=300、$E$5=250,从而完成了约束条件的输入。
当求得最优解250,5021==x x 后,将250,5021==x x 代入约束方程得:3$$35023$$21E x x D ≤=+=,未达到限制值,型数值为50;4$$3004$$21E x x D ==+=,达到限制值,型数值为0;5$$2505$$2E x D ===,达到限制值,型数值为0。