用EXCEL求解线性规划
- 格式:doc
- 大小:1008.00 KB
- 文档页数:4
用Excel求解线性规划问题实验(实验题目在最后)一、Excel函数使用Excel求解线性规划问题时,SUMPRODUCT函数可以大大降低资料录入工作量,提高工作效率。
计算数组或向量的乘积时,使用SUMPRODUCT 函数,格式如下:SUMPRODUCT(数组1,数组2,…,数组n)其中2≤n≤30,即最多可以使用30个数组参数,返回值为n个数组对应元素乘积之和。
以图1为例,在单元格D1中输入公式=SUMPRODUCT(A1:B1,A2:B2,A3:B3)得到111(相当于A1*A2*A3 + B1*B2*B3 = 1*2*3 + 3*5*7 = 111)。
在单元格D2中输入公式=SUMPRODUCT(A1:C1,A2:C2)得到53(相当于A1*A2 + B1*B2 + C1*C2 = 1*2 + 3*5 + 4*9 = 53)。
图1. 乘积和(SUMPRODUCT函数)计算结果11二、求解实例1. 问题描述与模型建立某玩具厂生产猫和龟两种玩具,制造一个玩具猫可获利30元,制造一个玩具龟可获利20元。
制造一个猫需要2小时机工和1小时手工;制造一个龟需要1小时机工和1小时手工。
在一周内,机工不能超过100h ,手工不能超过80h ,猫的产量不能超过45个。
求产品的最佳生产量和最大利润。
设1x 为一周内猫的生产量,2x 为一周内龟的生产量。
可建立如下线性规划模型:⎪⎩⎪⎨⎧≤≤+≤++=458010022030max 1212121x x x x x x x g2. 数据录入(1)启动Excel ,建立如图2所示的Excel 工作表,输入系数矩阵A 到区域C2:D4;输入约束常数b 到区域F2:F4;输入目标系数到区域C5:D5。
(2)指定单元格C6和D6存储变量1x 和2x 的值,称之为可变单元格。
在可变单元格中输入数字1表示给定初始值121==x x ,但并非一定这样;若这两个单元格不输入内容,Excel 将按0处理,不影响求解。
1.7.使用Excel求解线性规划问题例:Case Chemicals生产两种溶剂CS-01和CS-02。
这些溶剂可以用来溶解某些有毒物质。
Case Chemicals的生产工厂有两个部门—混合(blending)和净化(purification)。
每个部门每周工作40个小时。
混合部门有5个全职(full-time)的工人和2个兼职(part-time)的工人,这两个兼职的工人每人每周工作15个小时。
这些工人操作7台机器来混合某些化学物质生产溶剂。
每1000加仑的CS-01需要2个小时去混合,同样数量的CS-02只需要1个小时去混合。
产品在混合部门混合后需要去净化部门净化。
净化部门有7台净化机器,并且雇了6个全职的工人和1个兼职的工人,兼职的工人每周工作10个小时。
60分钟可以净化1000加仑的CS-01或500加仑的CS-02。
Case Chemicals原材料供应充足,市场对CS-01的需求是供不应求,但是市场对CS-02的需求每周最多120,000加仑。
据估计,每加仑CS-01可以赚$0.30,每加仑的CS-02可以赚$0.50。
生产经理想要决定最优的生产计划,即应该生产每种溶剂各多少才能最大化利润?解:(1)决策变量x1=每周生产CS-01的数量(千加仑)x2=每周生产CS-02的数量(千加仑)(2)目标函数最大化每周生产CS-01和CS-02的利润Maximize 利润=CS-01利润+CS-02的利润 =300x1+500x2Max 300x1+500x2(3)约束条件混合部门的总工时的约束2x1+1x2<=5*40+2*15=230净化部门的总工时的约束x1+2x2<=6*40+1*10=250CS-02的销售数量的约束x2<=120变量的非负约束x1,x2>=0.数学模型Max 300x1+500x2St. 2x1+1x2<=230 blending1x1+2x2<=250 purificationX2<=120 CS-02x1,x2>=0 nonnegativeExcel规划求解Excel规划求解的选项可以用来解决线性规划问题。
实验一、用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)。
E X C E L规划求解功能操作说明集团标准化办公室:[VV986T-J682P28-JP266L8-68PNN]Excel规划求解功能操作说明以Microsoft Excel2003为例,说明使用Excel的求解线性规划问题功能的使用方法。
一、加载规划求解功能1.点击【工具】按钮,在下拉菜单中选择【加载宏】功能。
2.在弹出的【可加载宏】选项卡中勾选【规划求解】,点击确定按钮。
此时,【工具】下拉菜单中增加规划求解功能,表示加载成功。
二、构造表格Excel表格并填入各项数据以教材18页【例题2-8】为例,构造表格如下:标题栏约束条件区目标函数区计算结果显示区1.录入约束条件系数约束条件(1)为5x 1+x 2-x 3+x 4=3,则在约束系数的第一行的x 1,x 2,x 3,x 4,x 5,限制条件,常数b 列下分别录入5,1,-1,1,0,=,3如下图所示。
约束系数区的第二行录入约束条件(2)的系数、限制符号及常数b ,即-10,6,2,0,1,=,2;约束系数区的第三行录入约束条件(3)(x1≥0)的系数、限制符号及常数b,即1,0,0,0,0,≥,0;约束系数区的第四行录入约束条件(4)(x2≥0)的系数、限制符号及常数b,即0,1,0,0,0,≥,0;约束系数区的第五行录入约束条件(5)(x3≥0)的系数、限制符号及常数b,即0,0,1,0,0,≥,0;约束系数区的第六行录入约束条件(6)(x4≥0)的系数、限制符号及常数b,即0,0,0,1,0,≥,0;约束系数区的第七行录入约束条件(7)(x5≥0)的系数、限制符号及常数b,即0,0,0,0,1,≥,0。
如下图所示。
2.录入目标函数系数目标函数为maxZ=4x1-2x2-x3,则在目标函数的x1,x2,x3,x4,x5列下分别录入4,-2,-1,0,0,如下图所示。
3. 录入约束条件的计算公式双击约束条件(1)行的“总和”单元格,录入以下内容:“=B3*B12+C3*C12+D3*D12+E3*E12+F3*F12”说明:录入的内容即是约束条件(1)的计算公式,其中“B3*B12”代表5x1; “C3*C12”代表1x2;“D3*D12”代表-1x3;“E3*E12”代表1x4;“F3*F12”代表0x5。
excel线性规划Excel线性规划是指利用Excel软件来解决线性规划问题。
线性规划问题是最经典的优化问题之一,主要是在一定约束条件下,找出使某个目标函数取得最优值的决策变量取值。
Excel提供了Solver插件,可以用于求解线性规划问题。
首先,我们需要建立起线性规划问题的模型。
假设我们有m个决策变量x1、x2、...、xm,需要找到这些决策变量的取值,使得目标函数Z(x1、x2、...、xm)取得最优值。
同时,还有n个约束条件,即使得一些函数关系式(一般为等式或不等式)满足。
线性规划模型可以表示为如下形式:目标函数:Z = c1x1 + c2x2 + ... + cmxm + d约束条件:A11x1 + A12x2 + ... + A1mxm <= b1A21x1 + A22x2 + ... + A2mxm <= b2...An1x1 + An2x2 + ... + Anmxm <= bn然后,我们可以通过Excel的Solver插件来求解线性规划问题。
具体步骤如下:1. 打开Excel软件,在工具栏中选择“数据”菜单,点击“求解器”按钮。
2. 在弹出的Solver对话框中,选择“线性规划”作为求解的方法。
3. 在“目标单元格”栏中输入目标函数的单元格地址。
若目标函数是在单元格C1中,则输入$C$1。
4. 在“变量单元格”栏中输入决策变量的单元格范围。
若决策变量是在范围B1:B5中,则输入$B$1:$B$5。
5. 在“约束条件”栏中,点击“添加”按钮,逐个输入约束条件。
每个约束条件包括“约束单元格”、“约束类型”和“约束值”三项。
若第一个约束条件是在单元格D1中,约束类型为“<=”,约束值为10,则输入$D$1<=10。
6. 在“求解方法”下拉菜单中,选择求解的方法。
常用的有“规划求解法”和“单纯形法”。
7. 点击“确定”按钮开始求解。
Solver会根据给定的目标函数和约束条件,寻找使目标函数取得最优值的决策变量取值。
数学与信息科学学院Excel求解线性规划问题实验教程二零一三零八月目录1.关于“规划求解” (1)2.如何加载“规划求解” (2)3.“规划求解”各参数解释和设置 (3)4.“规划求解”的步骤 (6)5.Excel求解线性规划问题 (8)6.Excel求解运输问题 (14)7.Excel求解目标规划问题 (18)8.Excel求解整数规划问题 (22)1.关于“规划求解”“规划求解”是Excel中的一个加载宏,借助“规划求解”,可求得工作表上某个单元格(被称为目标单元格)中公式(公式:单元格中的一系列值、单元格引用、名称或运算符的组合,可生成新的值。
公式总是以等号(=)开始)的最优值。
“规划求解”将对直接或间接目标单元格中公式相关联的一组单元格中的数值进行调整,最终在目标单元格公式中求得期望的结果。
“规划求解”通过调整所指定的可更改的单元格(可变单元格)中的值,从目标单元格公式中求得所需的结果。
在创建模型过程中,可以对“规划求解”中的可变单元格数值应用约束条件(约束条件:“规划求解”中设置的限制条件。
可以将约束条件应用于可变单元格、目标单元格或其它与目标单元格直接或间接相关的单元格。
而且约束条件可以引用其它影响目标单元格公式的单元格。
使用“规划求解”可通过更改其它单元格来确定某个单元格的最大值或最小值。
)Microsoft Excel的“规划求解”工具取自德克萨斯大学奥斯汀分校的Leon Lasdon 和克里夫兰州立大学的Allan Waren共同开发的Generalized Reduced Gradient(GRG2)非线性最优化代码。
线性和整数规划问题取自Frontline Systems公司的John Watson 和Dan F ylstra提供的有界变量单纯形法和分支边界法。
2.如何加载“规划求解”安装office的时候,系统默认的安装方式不会安装宏程序,需要用户根据自己的需求选择安装。
数学规划模型实验指导手册Excel的规划求解加载宏求解数学规划问题一、什么是规划求解加载宏?规划求解加载宏(简称规划求解)是Excel的一个加载项1,可以用来解决线性规划与非线性规划优化问题。
规划求解可以用来解决最多有200个变量,100个外在约束和400个简单约束(决策变量整数约束的上下边界)的问题。
可以设置决策变量为整型变量。
规划求解加载宏的开发商是Fronline System公司。
用户通过自定义安装MS-Office所使用的是标准版本规划求解加载宏,Fronline System公司同时提供增强的Premium Solver工具。
规划求解工具在Office典型安装状态下不会安装,可以通过自定义安装选择该项或通过添加/删除程序增加规划求解加载宏。
二、怎样加载规划求解加载宏?加载规划求解加载宏的方法如下:(1)打开“工具”下拉列菜单,然后单击“加载宏”,打开“加载宏”对话框。
(2)在“可用加载宏”框中,选中“规划求解”旁边的复选框2,然后单击“确定”按钮。
1加载项的功能是为Microsoft Office 提供自定义命令或自定义功能的补充程序2如果“规划求解”未列出,请单击“浏览”进行查找。
(3)如果出现一条消息,指出您的计算机上当前没有安装规划求解,请单击“是”用原Office安装盘进行安装。
(4)单击菜单栏上的“工具”。
加载规划求解后,“规划求解”命令会添加到“工具”菜单中。
三、怎样使用规划求解加载宏求解数学规划?规划求解加载宏是一组命令构成的一个子程序,这些命令有时也称作假设分析3工具,其功能是可以求出线性和非线性数学规划问题的最优解和最优值。
使用规划求解加载宏求解数学规划的步骤首先,在Excel工作表中输入目标函数的系数向量、约束条件的系数矩阵和右端常数项(每一个单元格输入一个数据);其次,选定一个单元格存储目标函数(称为目标单元格),用定义公式的方式在这个目标单元格内定义目标函数;再次,选定与决策变量个数相同的单元格(称为可变单元格),用以存储决策变量;再选择与约束条件个数相同的单元格,用定义公式的方式在每一个单元格内定义一个约束函数(称为约束函数单元格);最后,点击下拉列菜单中的规划求解按钮,打开规划求解参数设定对话框(如图4所示),完成规划模型的设定模型设定方法如下:(1)设定目标函数和优化方向:光标指向规划求解参数设定对话框中的“设置目标单元格”提示后的域,点击鼠标左键,然后选中Excel工作表中的目标单元格。
下面我们通过一个例子来解释怎样用“规划求解”来求解数学规划问题。
例1 公司通常需要确定每月(或每周)生产计划,列出每种产品必须生产的数量。
具体来说就是,产品组合问题就是要确定公司每月应该生产的每种产品的数量以使利润最大化。
产品组合通常必须满足以下约束:● 产品组合使用的资源不能超标。
● 对每种产品的需求都是有限的。
我们每月生产的产品不能超过需求的数量,因为生产过剩就是浪费(例如,易变质的药品)。
下面,我们来考虑让某医药公司的最优产品组合问题。
该公司有六种可以生产的药品,相关数据如下表所示。
设该公司生产药品1~6的产量分别为126,,,x x x (磅),则最优产品组合的线性规划模型为123456123456123456123456max 6 5.3 5.4 4.2 3.8 1.86543 2.5 1.545003.2 2.6 1.50.80.70.316009609281041..977108410550,16j z x x x x x x x x x x x x x x x x x x x x x s t x x x x j =++++++++++≤⎧⎪+++++≤⎪⎪≤⎪≤⎪⎪≤⎨⎪≤⎪≤⎪⎪≤⎪⎪≥≤≤⎩下面用规划求解加载宏来求解这个问题: 首先,如下如所示,在Excel 工作表内输入目标函数的系数、约束方程的系数、右端常数项;其次,选定目标函数单元、可变单元、约束函数单元,定义目标函数、约束函数其中,劳动力约束函数的定义公式是“=MMULT(B3:G3, J5:J10)”,原料约束函数的定义公式是“=MMULT(B4:G4,J5:J10)”,目标函数的定义公式是“MMULT(B5:G5, J5:J10)”。
注:函数MMULT(B3:G3, J5:J10)的意义是:单元区B3:G3表示的行向量与单元区J5:J10表示的列向量的内积。
这一要特别注意的是,第一格单元区必须是行,第二格单元区必须是列,并且两个单元区所含的单元格个数必须相等。
用EXCEL 求最值
华东师范大学03级教育硕士
江苏省溧阳市戴埠高级中学 潘晓春
〔摘要〕
介绍了用Excel 软件的规划求解功能解决一些常见的求最值问题的方法。
主要从一元函数的最值、线性规划和二元函数的最值三个方面去进行探讨。
〔关键词〕
Excel 规划求解 最值
最值问题是生产、科学研究和日常生活中常遇到的一类特殊的数学问题,是高中数学的一个重点,它涉及到高中数学知识的各个方面,解决这类问题往往需要综合运用各种技能。
Excel 软件中的规划求解功能将为这类问题的解决提供了一个很有效的方法,而且适用范围较广,具有很强的实用性。
用Excel 解线性规划,必须在Excel 系统中加载“规划求解”项目,如果没有,可以启动Excel 软件,进入Excel 用户界面,然后使用“工具”菜单下“加载宏”菜单项的“规划求解”子项,则可完成“规划求解”项的加载。
本文将从以下三个方面来介绍用Excel 中的规划求解功能进行最值的求解。
一、 一元函数的最值
求函数的最值是高中数学中的一类常见问题,也是高中数学中的一个重点和难点问题,运用Excel 中的规划求解功能能够很快捷地进行求解。
例1.
求函数y =
建立规划求解方案与求解的的步骤如下: (1)在Excel 工作中表选定B1单元中的数据作为自变量x ,在B2单元格中输入目标函数公式“=SQRT(B1*B1 -2*B1+2)+SQRT(B1*B1-10*B1+29)”;
(2)选中2B ,然后进入菜单栏上的“工具”|“规划求解…”,在对话框中输入如下内容(如图1) :将“设置目标单元格”设置成“$B$2”,并设置成最小值;可变单元格设置成“$B$1”,单击求解; (3)得出如下内容(如图2):单元格$B$1的值为2.333333,单元格$B$2的值为5,所以当 2.333333x =时,()min 5f x =
运用这一方案,可以解决一元函数的的最值,也可以解决一元函数给定区间内的最值问题。
例2.求函数()12
3f x x x
=+[]()1,8x ∈上的最值
建立规划求解方案与求解的的步骤如下:
(1)在Excel 工作表中选定1B 单元中的数据作为自变量x ,在2B
单元格中输入目标函数
图 2
图 1
公式“=3*B1+12/B1”;
(2)选中2B ,然后进入菜单栏上的“工具”|“规划求解…”,在对话框中输入如下内容(如图3) :将“设置目标单元格”设置成“$B$2”,并设置成最小值;可变单元格设置成“$B$1”;添加
约束条件“$B$1<=8”和“$B$1>=1”;单击
求解;
(4)得出如下
内容(如图4):单元格$B$1的值为2,单元格$B$2的值为12,所以当2x =时,
()min 12f x =
二、 线性规划
线性规划是高中数学中的一个重要内容,求线性目标函数在线性约束条件下的最大值或最小值的问题。
高中对线性规划问题的解决一般都是采用图解法,这里将运用Excel 中的规划求解来解决。
例3.设6001000z x y =+,式中变量x 、y 满足下列条件
104300542004936000
x y x y x y x y +≤⎧⎪+≤⎪⎪
+≤⎨⎪≥⎪≥⎪⎩,求z 的最大值 建立规划求解方案与求解的的步骤如下: (1)在Excel 工作表中选定B8单元格中的数据作为x ,B9单元格中的数据作
为y ,在单元格B2:D7分别输入目标函数和约束条件的系数,在单元格E3中输入“=B3*$B$8+C3*$B$9”,
并用填充柄拉至E7,在B10单元格中输入目标函数公式“=B2*B8+C2*B9”;
(2)选中B10 ,然后进入菜单栏上的“工具”|“规划求解…”,在对话框中输入如下内容(如图5) :将“设置目标单元格”设置成“$B$10”,并设置成最大值;可变单元格设置成“$B$8:$B$9”;添加约束条件“$E$3<=$D$3;$E$4<=$D$4;$E$5<=$D$5;$E$6>=$D$6;$E$7>=$D$7”;单击求解;
(4)得出如下内容(如图6):单元格$B$10的值为41931,单元格$B$8的值为12.414,单元格$B$9的值为34.483,所以当12.414x =,34.483y =时,max 41931z =。
图 3
图 4
图 5 图 6
如果在例3中添加,x y Z ∈时,我们只须在上面的求解中添加约束条件:“$B$8=整数;$B$9=整数”即可(如图7),从而可以得到(如图8)单元格$B$10的值为41600,单元格$B$8的值为11,单元格$B$9的值为35,所以当
11x =,35y =时,max
41600z =。
规划求解不仅能解决两个变量的线性规划问题(包括整数解),还可以解决两个以上(最多可以有两百个)的变量的线性规划问题,解决问题的方法与两个变量的方法一样。
三、 二元函数的最值
二元函数的最值在高中数学中一般都是利用函数的几何意义,通过数形结合的方法来进行解决的,这要求学生有较强的构
造能力。
而使Excel 的规划求解功能,求二元函数的最值就没有必要明确函数的几何意义,具有很强的实际应用价值。
例4.已知实数,x y 满足22
02516
x y +
=,求23x y +的最大值 建立规划求解方案与求解的的步骤如下: (1)在Excel 工作中表选定B1单元格中的数据作为自变量x ,选定B2单元格中的数据作为自变量y ,在
B3单元格中输入目标函数公式“=B1^2+3*B2”;
(2)选中B3,然后进入菜单栏上的“工具”|“规划求解…”,在对话框中输入如下内容(如图1) :将“设置目标单元格”设置成“$B$3”,并设置成最大值;可变单元格设置成“$B$1: $B$2”;添加约束条件“$B$4=1”,单击求解;
(3)得出如下内容(如图2):单元格$B$1的值为4.854,单元格$B$2的值为0.96,单元格$B$3的值为26.44,所以当 4.854x =,0.96y =时,
()
2
max
326.44x
y +=
本文给出了用规划求解在解决一元函数的最值、线性规划和二元函数的最值问题方面的一般方法及技巧,方法简捷、精度较高,但对于有无穷多最优解的问题,该方法只能给出其中的一个解,这一点在使用时应注意。
图 7
图 8 图 9 图 10
〔参考文献〕
1.孙中红,胡喜玲,于洪章,隋洪.Excel 软件求解线性规划和某些数学问题的方法.烟台师范
学院学报(自然科学版).2005 ,21(1) :26 —28
2.裘敬华,刘岩.用Excel处理规划最优问题探讨.黄河水利职业技术学院学报. 2005年4月
第17卷第2期。