资源描述
关于运 筹 学软件包的详细使用手册 序 言本指导书紧密配合运筹学课程的理论教学,系统地介绍了精典的应用软件QSB+(Quantitation Systems for Business Plus)和最新的建模与求解方法( Spreadsheet方法)。QSB+作为运筹学上机实验课软件,它技术成熟稳定,内容齐全,使用方便,对于加深同学们理解本课程内容,提高同学们学习掌握本课程的兴趣具有良好的补充作用。Spreadsheet建模与求解方法是近年来国际上流行的,使用面较广的一种运筹学解题法,它是在Excel(或其它)背景下就所需解决的问题进行描述与展平,然后建立数学模型,并使用Excel的命令与功能进行预测、决策、模拟、优化等运算与分析。该指导书分为两部分,第一部分是QSB+ 的学习,通过五个实验来完成,每个实验主要包括三个方面内容:内容简介;操作步骤;实例分析与操作。第二部分是Spreadsheet建模与求解方法的介绍,基本内容同QSB+,本部分的内容包括Spreadsheet方法中的重点和常用部分,以实例的形式向同学们介绍,对其余内容感兴趣的同学可参考相关资料。五个实验分别为:线性规划;运输问题;动态规划;网格规划;排队论。本指导书是在许多老师和同学的教学和上机实验的基础上完成,并且在编写的过程中得到了许多老师和同学们的热情帮助,同时,在编写的过程中参考了许多资料,在此一并向老师、同学们和各资料的作者表示衷心地感谢。由于水平有限,时间仓促,指导书中不妥与疏漏之处在所难免,恳请老师和同学们提出宝贵意见,以便进一步提高。第一部分 QSB+软件学习QSB+是用于运筹学理论的一种应用软件包,该软件包使得运筹学理论在计算机得以实现,它技术成熟,运行稳定,操作方便,对硬件要求较低,非常适合同学们上机使用。第一章 QSB+内容简介第一节 QSB+的基本内容QSB+是专为运筹学开发的应用软件包,主要可解决如下问题:1、线性规划 Linear Programming (LP)2、整数规划 Integer Linear Programming (ILP)3、线性目标规划 Linear Goal Programming (LGP)4、数学规划 Quadratic Programming (QP)5、运输问题 Transportation and Transshipment Problems6、分配与旅行商问题 Assignment and Traveling Salesman Problems (ASTS)7、网络规划 Network Modeling (NET)8、关键路径法 Critical Path Method (CPM)9、项目评价技术Program Evaluating and Review Technique (PERT)10、动态规划 Dynamic Programming11、库存理论 Inventory Theory (INVT)12、排队理论 Queuing Theory (QUEUE)13、排队系统模拟 Queuing System Simulation (QSIM)14、决策可能性理论 Decision and Probability Theory (DSPB)15、马尔科夫过程 Markov Process (MKV)16、时间序列预报 Time Series Forecasting (TSFC) QSB+采用分级菜单结构,思路清晰,使用方便。在操作过程中用户与程序交互进行,程序会自动地给出必要的提示,以便实现模型的建立、修改以及计算结果的输出等功能。第二节 软件结构介绍菜单结构大致分为三级(如图11所示),第一级菜单为程序菜单,共分为十八个 图11 QSB+的菜单结构分项,分别为:LP;ILP;TSFC等等,可用移动键()选中的相应程序,按回车键确定,进入下一级菜单。第二级菜单为功能菜单,根据选择的程序不同略有差异,如果选择LP程序,则二级菜单分别为:Overview,Enter,Read,Print等等,同样可用移动键()选中相应功能,按回车键确定,以交互方式完成相应的操作。第三级菜单为相应功能的实现菜单,根据选择功能不同而不同,如果第二级菜单选择Solve Problem菜单,则三级菜单会显示为:Solve with Steps;Solve without Steps;Special Operation.。根据用户需要选择所要的子项,按回车键,使其执行即可。第三节 菜单内容说明一、程序菜单程序菜单(如图12所示)显示出QSB+ 所能完成的运筹学中的各种问题的程序名称,请同学们认真的阅读,搞清楚各模型和理论课所学内容的对应关系,为后面继续学习作好准备,如有困难可以参考前边的内容(QSB+简介)。图 12 程序菜单二、功能菜单 选择某个程序后,按回车键即可进入相应的功能菜单,现以线性规划(LP)功能菜单为例加以说明,其它功能菜单与此相似,请同学们自己打开参考此菜单学习。在程序菜单中选择(LP项),按回车键即可进入线性规划(LP)程序的功能菜单(如图13所示),现对各功能说明如下:选项1:该选项可让你浏览一下该程序的基本情况,它可以告诉你该程序的功能和其它限制条件等。选项2:当你有一个新问题的时候,该选项可以让你将问题输入程序,你可以在此定义问题的范围,说明用固定格式还是自由格式输入问题等。选项3:该选项可以让你调入以前所保存的问题。 图13 LP模型的功能菜单选项4:输入问题或者调入以前保存的问题,用此选项,显示或打印问题,还可以ASCII 文件保存显示内容,以备以后处理。选项5:该选项可以解决你的问题,在解决问题过程中,会给你提出下级选择,以便问题顺利解决。选项6:该选项可以让你将所输入的问题保存起来,以备以后调用。选项7:该选项可以让你对问题的结构进行修改,以便节约问题的输入时间。选项8:该选项可以让你以详细或特殊格式显示问题的最终结果。选项9:返回程序菜单。选项10:退出QSB+系统。三、三级菜单三级菜单的内容各不相同,但比较具体,容易理解,请同学们自己阅读屏幕,认真学习。一定阅读几个这样的菜单,以便对整体功能有一个完整的了解。图14显示出线性规划问题功能菜单选项1的内容。图1-4 线性规划问题浏览第二章 实例介绍第一节 线性规划 (Linear Programming)一、线性规划解决问题的特别说明1、 能解决的线性规划问题的规模取决于计算机的内存;2、 数学模型的输入可以采用自由的格式,也可以采用固定格式(已经规定了格式,只需在相应位置填入数据,一般用此格式);3、 变量名可以自己命名,但最多不能超过8个字符,也可以用默认的变量名,如:X1,X2,Xn;4、 数据文件可保存到磁盘上,文件扩展名为:MPS;5、 输入问题时,可以用移动键( )、BS、空格键和回车键移动光标或翻页,如果要放弃输入的数据,可同时按“Ctrl”和“End”键,并同时放开,即可终止继续输入并放弃已输入的数据,返回到功能菜单;6、 给问题取名时,最长不得超过20个字符;7、 如果遇到未说明的问题,请同学们仔细阅读英语显示;8、 显示中有关字母意义说明如下:Sn:表示第n个约束条件的松驰变量;An表示第n个约束条件的剩余变量;A(i,j):表示第i个约束第j个变量的系数;B(i):表示第i个约束节右边常数值;C(j):表示目标函数中第j个变量的系数;C(j)Z(j):表示第j个变量的机会成本。二 、用LP解决问题的步骤:1、 分析问题,确定决策变量;2、 建立数学模型(参考教材);3、 将数学模型输入QSB+中,或调入已存问题;4、 解决问题,如果要核查数据,则选择选项4;5、 如果需要修改问题(选择选项7);6、 解决问题,要么逐步显示完成,要么不用逐步显示完成(请选择选项5);7、 显示、打印、或者保存最终结果(请选择选项8);8、 保存数据以便以后再用(请选择选项6);9、 如果要解决另一个线性规划问题,请返回到第三步,否则,请选择选项9,返回程序菜单,选择其它程序;如果要退出,请选择选项10。三、举例说明问题:AMC公司用两种机器制造两种产品A和B,下表显示出有关的数据,当前市场对产品A和B的需求供不应求时,它们的市场价格分别为产品A每个50美元,产品B每个60美元,问该如何安排生产可使其月收入最高。machineProductionAProductionBTotal Capacing for one month123180232150操作步骤:1、 定义决策变量:用A表示一个月生产A产品的数量,用B表示一个月生产B产品的数量。2、建立数学模型如下:Max: 50A+60BSubject to: 2A+3B1803A+2B150A,B0 3、将问题输入系统给问题命名为:AMC;如图15所示,输入相关的数字;在图16所示的窗口中输入变量名;在图17所示的窗口中输入数学模型。 图15 AMC问题的参数选择 图16 决策变量名 图17 AMC问题的模型4、选择功能菜单的选项4,显示所输入的问题。图18所示为功能菜单选项4的下级菜单,图19所示为选择选项1(Display the input data)时的显示结果,图110所示为选择选项4(Display in free format)时的显示结果,还可以选择其他选项,请同学们自己操作,并认真阅读。图18 显示数据菜单 图19 AMC问题的数据 图110 AMC问题数据的自由格式5、如果需要修改数据,可以选择功能菜单的选项7(Modify problem),它所对应的下级菜单如图111所示。6、在功能菜单中选择选项5(Solve problem)解决问题,它的下级菜单如图112所示,有各种解决问题方式供选择。如果选择选项4(solve and display the initial and final tables),就可以在屏幕上看到每次的结果,参看图113至116所示。如果选择选项6(solve by using the graphic method)可以显示出图解的结果(只有两个决策变量的情况)。 图111 修改功能菜单 图112 解决问题菜单 图113 初始表 图114 转换表1 图115 转换表2 图116 最终转换表 图117 显示最终解选择菜单7、问题解决之后,可以选择功能菜单的选项8来显示最后的结果,如图117所示。在此菜单中可以选择需要的内容进行显示,如果选择选项1(display the summarized report),那么,对应的显示结果如图118和图119所示。 图118 总结报表1 图119 总结报表29、 在功能菜单中选择选项6,可以将所解问题的数据保存到磁盘上,图120所示,即为保存文件时的屏幕显示。 图120 保存问题结果第二节 运输问题 (Transportation and Transshipment Problems)一、简要说明该模块能够解决运输问题,源点或供应点被定义为只有流出的点,终点或销售点被定义为只有流入的点,运输点或中转点被定义为既进又出的点。该模块能够解决问题的规模取决于所用计算机的内存大小,供应量、需求量、运费或利润系数等都被认为是实数。它能够提供问题的输入、保存、调出等功能,并且能够较快地解决问题、显示问题与相应的解、打印问题的结果。 问题输入模块后,它会自动将问题转化为运输问题,并且用单纯形法解决问题;能够提供各种选择以便找到初始可行解;还允许定义供应点、销售点和运输点的名称。对于小的问题,可以显示解题步骤,供应量、需求量、运费或利润等是需给定的数据。二、运输问题的解决步骤当你第一次选择该模块,屏幕显示如图示21所示,请选择你所需要的选项。 图示21 运输问题功能窗口用此模块解决问题的大致步骤如下:1、 分析问题,确定供应点、销售点及中转点的名称,以及它们所对应的值;2、 确定节点间的单位成本或单位利润;3、 将问题输入模块,或调入已存问题;4、 如果要核查数据,则选择选项4;5、 如果需要修改问题,选择选项7;6、 保存问题以备以后调用(请选择选项6);7、 解决问题,要么逐步显示完成,要么不用逐步显示完成(请选择选项5);8、 显示、打印、或者保存最终结果(请选择选项8);9、 如果要解决另一个运输问题,请返回到第三步,否则,请选择选项9,返回程序菜单,选择其它程序;若要退出,请选择选项10。三、举例说明 问题、ABC石油公司有三个油库和四个销售点,具体数据如 table1所示,请问如何安排运输可使运费最小? 图22 问题ABC参数输入操作步骤:1、分析问题和所给的数据;2、将问题输入系统:给问题命名为:ABC;如图22所示,输入相关的数字;3、在图23和图24所示的窗口中,分别输入供应点名和销售点名;图23 供应点名图24 销售点名 图25 供应量 图26 销售量 4、在图25和图26所示的窗口中,分别输入供应点名和销售点名; 5、在图27中,确认用固定格式还是用自由格式输入运输费用系数,如图28所示,输入相关的系数。 图27 确定格式 图28 输入系数 6、可以在功能菜单中选择选项4显示所输入的问题,如图29所示,可以在其中选择显示数据的不同方式。 图29 显示类型选择7、如图210至212所示,是选择选项1时的显示结果; 图210 供应量 图211 终点需求 图212 运输成本系数8、如果需要,可以修改数据,图213所示为选择菜单; 图213 修改选择菜单9、准备好后,如果要解决问题,从功能菜单中选择选项5,如图214所示; 图214 解题选择菜单10、在上述菜单选择选项5,实现初始解题,如图215所示;图215 初始解选择菜单11、在上述菜单选择选项1,实现行最小(RM)解题;然后返回解题选择菜单(图214),选择选项1至4的任一项完成解题;也可以选择选项6完成解题;当问题的供应点少于5,并且销售点少于6时,可以选择选项2至4完成解题,同时显示每个转换表。图216至221显示出了选择选项2,实现初始解的转换表。 图216 初始转换表 图217 一级转换表 图219 三级转换表图220 四级转换表 图221 最终转换表 12、问题解决后,可以选择功能菜单的选项8来显示、打印或者保存最终的解,如图222所示。在此如果选择选项1,其结果如图223所示。 图222 显示选择窗口 图223 结果窗口 13、在功能菜单选择选项6,可将问题保存在磁盘上,如图224所示。 图224 保存结果第三节 动态规划 Dynamic Programming一、简要说明 该模块(DP)能够解决三个著名的动态规划问题:最短问题,背包问题和生产库存问题;DP能够解决问题的规模为:最多100个阶段,每个阶段最多10个状态;DP解决问题的过程采用逆向算法,从最后一个阶段开始到第一阶段结束。最短路问题所需要的数据抱括:阶段数,每个阶段的状态数,以及各阶段之间的各种距离。对于背包问题,每个阶段所需的空间的价格要给定。它能够提供问题的输入、保存、调出等功能,并且能够较快地解决问题,显示问题与相应的解并且可以打印问题的结果。 问题输入模块后,可以选择选项解决问题或显示问题,随时可以按F9键返回功能菜单,按F10键退出QSB+。二、运输问题的解决步骤当你第一次选择该模块,屏幕显示如图示31所示,请选择你所需要的选项。用此模块解决问题的大致步骤如下:1、 分析问题,确定供应点、销售点及中转点的名称,以及它们所对应值;2、 确定节点间的单位成本或单位利润;3、 将问题输入模块,或调入已存问题;4、 如果要核查数据,则选择选项4;5、 如果需要修改问题,选择选项7;6、 保存问题以备以后调用(请选择选项6);7、 解决问题,要么逐步显示完成,要么不用逐步显示完成(请选择选项5);8、 显示、打印、或者保存最终结果(请选择选项8);9、 如果要解决另一个动态规划问题,请返回到第三步,否则,请选择选项9,返回程序菜单,选择其它程序;若要退出,请选择选项10。 图31 DP的功能菜单三、举例说明 问题 如图32所示,是一个典型的最短路问题,各线段上的数据代表相应节点间的距离,请问从源点1到终点10如何走路程最短? 图32 最短路问题操作步骤:1、 分析问题确定阶段和各阶段的状态,根据该问题的特征,分成四个阶段比较合适;2、 给问题命名为:Stagecoach;3、 在图33所示的窗口中,选择1,会出现图34所示的窗口,请仔细阅读这些约定; 图33 选择算法菜单 图34 DP的约定规则4、 将问题输入系统,如图35所示,输入相关的数据;5、如图36所示,可以在其中选择显示数据的不同方式; 图25 问题输入窗 图36 显示数据选择窗7、在此窗口选择选项1,出现如图37所示的窗口; 图37 数据显示窗8、如果需要可以修改数据,如图38所示; 图38 修改窗口 9、在功能菜单中选择选项5解决问题,再在图39中选择选项2,出现图310所示的窗口; 图39 解题菜单 图310 解题步骤窗口10、问题解决后,在功能菜单选择选项8,得到如图311所示窗口,再选择选项1, 得到如图312所示最终解; 11、在功能菜单选择选项6,可将问题保存在磁盘上,如图313所示。图311 显示解窗口 图312 问题最终解313 保存问题窗口第四节 网络规划 Network Modeling (NET)一、简要说明该模块(NET)能够解决三个著名的网络问题:最短路问题,最大流问题和最小连接树;NET用网络来表述上问题。最短路问题求解网络中从任一节点到另一节点的最短路程;最大流问题求解网络中从源点到终点的最大流量;最小连接树求解连接网络中所有节点的最小路程。NET能够解决问题的最大规模为:最多分支600个,最多节点头300个。假设你有一个从一开始且数字连续的一定数目的节点的网络。可以很方便地输入数据、修改数据、保存问题、调出问题,网络数据以一个一个的分支输入,对每一个分支要输入起始节点、末节点以及它们之间的距离或流入/流出量。问题输入模块后,可以选择选项解决问题或显示问题,随时可以按F9键返回功能菜单,按F10键退出QSB+。二、运输问题的解决步骤当你第一次选择该模块,屏幕显示如图示41所示,请选择你所需要的选项。 图41 NET的功能菜单用此模块解决问题的大致步骤如下:1、 分析问题,画出网络图;2、 将问题输入模块,或调入已存问题;3、 如果要核查数据,则选择选项4;4、 如果需要修改问题,选择选项7;5、 保存问题以备以后调用(请选择选项6);6、 解决问题,要么逐步显示完成,要么不用逐步显示完成(请选择选项5);7、 显示、打印、或者保存最终结果(请选择选项8);8、 如果要解决另一个网络问题,请返回到第三步。否则,请选择选项9,返回 程序菜单,选择其它程序;若要退出,请选择选项10。三、举例说明 问题 如图42所示网络,各线段上的数字代表相应两节点间的距离,请求出从节点1到节点10之间的最短距离。 图42 网络图操作步骤:1、 分析问题确,画出网络图如上所示;2、 给问题命名为:SRP;3、 在图43所示的窗口中,填上相应的数据;4、 在图44所示窗口中,选择选项1,即会出现图45窗口,请认真阅读相关约定;图43 输入参数窗 图44 选择算法窗口 图45 约定窗口7、在图46所示的窗口中,输入各节点间的距离;8、在功能菜单中选择选项4,出现图47所示窗口; 图46 输入距离窗 图47 显示数据窗 9、在此窗口中选择选项1,出现图48所示窗口; 10、如果需要,可以修改数据,如图49所示; 11、在功能菜单中选择选项5,会出现解题窗口,如图410所示; 12、在此窗口中选择选项2,会出现解题步骤窗口,如图411所示; 13、问题解决后,在功能菜单中选择选项8,会出现如图412所示窗口; 14、在此窗口中选择选项1,会出现如图413所示窗口; 15、在功能菜单中选择选项6,会出现如图414所示窗口,将数据存入磁盘。 图48显示数据窗口图49 修改窗口图410 解题窗口图411 详细解窗口图412 显示解窗口图413 最终解窗口图414 保存解窗口第五节 排队理论 Queuing Theory (QUEUE)一、简要说明该模块(QUEUE)能够用来分析几个有名的排队问题,例如,单服务台有限队长无限客源的排队问题,多服务台有限队长无限客源的排队问题,单服务台有限队长有限客源的排队问题。QUEUE 分析问题常用述语有:到达率,服务率,利用率,系统平均队长,系统中顾客平均消耗时间,系统中顾客平均等待时间等等。你可以从键盘输入问题,也可以从磁盘中调出问题。QUEUE可以很方便地输入数据、修改数据、保存问题、调出问题。问题输入模块后,可以选择选项解决问题或显示问题,随时可以按F9键返回功能菜单,按F10键退出QSB+。二、运输问题的解决步骤当你第一次选择该模块(QUEUE),屏幕显示如图示51所示,请选择你所需要的选项。 图51 QUEUE的功能菜单用此模块解决问题的大致步骤如下:10、 分析问题,定义排队参数;11、 将问题输入模块,或调入已存问题;12、 如果要核查数据,则选择选项4,显示数据;13、 如果需要修改问题,选择选项7;14、 保存问题以备以后调用(请选择选项6);15、 解决问题,要么逐步显示完成,要么不用逐步显示完成(请选择选项5);16、 显示、打印、或者保存最终结果(请选择选项8);17、 如果要解决另一个网络问题,请返回到第二步,否则,请选择选项9,返回程序菜单,选择其它程序;如果要退出,请选择选项10。三、举例说明M/M/1问题 某运输公司有一个装卸队服务于卡车队,装卸每辆车所用时间服从平均时间为20分钟的指数分布,卡车到达时间服从平均时间为30分钟的泊松分布。管理层想提高装卸队的效率,把装卸队分成两队,每队装卸每辆车所用时间服从平均时间为40分钟的指数分布,请问效率是否得到提高? 图52 问题命名图操作步骤:1、 分析问题,确定排队参数:到达率=2辆/时服务率=3辆/时服务台数=12、 问题命名为:Truck;3、在图53所示的窗口中,填上相应的数据,对于没有的数据可以不填或采用默认值;4、在功能菜单中选择选项5,回车后出现图54所示窗口,输入车辆数;5、在功能菜单中选择选项4,出现图55所示窗口;在图55所示窗口中,选择选项1,即会出现图56窗口; 图53 输入数据 图54 输入数据 图55 显示选择 图56 数据显示窗口 6、如果需要,可以修改数据,在功能菜单中选择选项7,出现图53所示窗口,在该窗口可以改变数据;7、接第四步会出现如图57和58所示的结果; 图57 结果窗口1 图58 结果窗口2 8、问题解决后,在功能菜单中选择选项8,显示、打印或保存结果; 9、在功能菜单中选择选项6,将数据存入磁盘,如图59所示。 图59 保存解窗口 M/M/2问题 当运输公司把装卸队分成两队时,服务率就成为1 .5 辆/时,M/M/2模型可解决此问题,数据输入如图510所示,结果如图511和气512所示。 图510 输入数据窗口 图511 结果窗口1 图512 结果窗口2第二部分 Spreadsheet介绍Spreadsheet方法是近年来美国各大学乃至企业推广的一种管理科学教学与应用的有效方法。Spreadsheet提供了一种描述问题、处理数据、建立模型与求解的有效工具,使得管理科学的理论和方法易于被理解与掌握,大大推动了管理科学方法与技术在企业中的实际应用。Spreadsheet是在Excel或者Lotus 1-2-3等其他背景下将所需解决的问题进行描述与展开,然后建立数学模型,并使用Excel(或者Lotus 1-2-3)的命令和功能进行预测、决策、模拟、优化等运算与分析。Excel(或者Lotus 1-2-3)的工作表用作描述问题与建立模型时,就被称做Spreadsheet。本实验指导书旨在帮助学生在运筹学课程中,学习如何运用Excel对复杂的实际系统进行描述与建模,并用计算机求解。由于避免了大量繁琐的数学公式,使得运筹学的理论方法简明直观,容易理解与应用,因此,掌握它有利于运筹学理论的学习,也特别有利于那些注重应用的企业管理人员的学习,为企业决策人员与管理人员掌握与应用运筹学理论提供一个有益的工具。第一章 Spreadsheet建模简介第一节 模型的概念与建立一、 模型的概念用管理科学方法解决问题,一般需要建立模型,用定量化方法来描述与分析所研究的问题。模型是对现实系统或情景的一种描述,同时又是对现实系统的一种抽象。二、 建立模型的一般步骤 定义问题。定义问题包括确定系统的目标和边界。 调查研究,收集数据。 建立数学模型。 模型的验证。为检验模型的有效性,需在使用前进行模型的验证。一般可用模型预测近期变量值,并将该预测值与实际值相比较,以确定模型的有效性。 选择可行方案。 模型运行求解,提出推荐的方案。 履行所推荐的方案,并进行评价。 例:一个简单的描述型模型假如某教师打算在早上10点到达市中心的图书馆,该图书馆离开他所在处的距离 为S,他可乘坐公交车到达该图书馆。公交车的速度通常为V。若他想确定路上所需的时间以决定何时出发,则可建立模型如下:TSV即为路上所需时间。现在,假如该教师必须在早上10点到达该图书馆参加一个重要会议。为保证不迟 到,他还需考虑公交车在每个车站的停留时间。则模型变为: T(SV)+(DN)上式中,D为公交车在车站的平均停留时间,N为车站数。 实际上,该问题远比上述模型复杂,因为影响路上所需时间的因素除了车辆速度和车站停留时间外,还与等车时间、交通拥挤状况、乘客上下频繁程度、气候等多种因素有关。不过,对于一般较粗略的时间估计,上述模型已经可以提供足够的参考了,不必作过于精细的计算。 从上例可得到以下结论: 模型通常是现实的抽象与简化; 模型是由与分析问题有关的主要要素构成,并表明这些主要要素之间的关系; 模型的精细程度与所要决策问题的需要有关。第二节 Spreadsheet方法的应用一、建模与求解过程 下面用一个盈亏平衡分析的例子说明管理科学的应用。盈亏平衡分析是通过分析产品产量、成本与盈利之间的关系,找出各投资方案在产量、产品价格、单位产品成本等方面的临界值,以判断投资方案在各种不确定因素作用下的盈亏状况,从而为决策提供依据。 例: 盈亏平衡分析 华丽床垫厂生产一种床垫,年固定费用为90000元,生产一个床垫的可变费用为50元,床垫的销售单价为100元。假定市场条件不变,产品价格稳定,所有的产品均能被销售。确定该产品在盈亏平衡点的产量。如果该工厂生产2400个床垫,盈亏情况如何?解:假设床垫产量用X来表示。则可建立如下模型: (1)成本产量模型 总成本为: C(X)90000+50X 上式中,C为生产X个床垫的总成本,它是产量X的函数。 (2)收益销售量模型收益为: R(X)1OOX 上式中,X为床垫的销售量(在本例中,床垫的销售量等于床垫的生产量);R(X)为销售X个床垫的总收益,它是产量X的函数。(3)利润产量模型 总利润为: P(X)R(X)一C(X) 1OOX一(9000050X) 9000050X上式中,P(X)为总利润,它是X的函数。 (4)盈亏平衡分析当总利润为零时,达到盈亏平衡。即有: P(X)一90000+50X0计算可得这时的产量为: X=1800(个)(5)若生产2400个床垫,则其利润为:P(2400)-90000+50X240030000(元)。 下面以Microsoft Excel为背景,用Spreadsheet方法描述和解决该例。 打开Excel后,出现工作表。该工作表用作描述问题与建立模型时,称为Spreadsheet。在Spreadsheet上进行盈亏分析的基本步骤如下:首先在Spreadsheet中进行问题描述。用地址为B4、B5、B6的单元格分别表示固定费用、单位产品可变费用和产品单价,在这些单元格中分别输入已知数据,见下图。然后在Spreadsheet中建立模型。可在单元格A9处键入“模型”两个字,以表示以下为模型。用单元格B10表示产品产量(相当于上述X),它是一个有待于确定的决策变量。由于总成本、总收益与总利润均与该决策变量有关,所以可将单元格B10用一个框围起来以示该决策变量的重要性。单元格B12、B14、B16分别表示总成本、总收益与总利润。总成本(单元格B12)等于年固定费用与年可变费用之和,其中年可变费用等于单位产品可变费用与产品的产量之积,所以在单元格B12中输入下述公式: B4+B5*Bl0 即 9000050X 总收益(单元格B14)等于产品价格与产品产量之积,在单元格B14中输入下述公式: B6*Bl0 即 100X 总利润(单元格B16)等于总收益与总成本之差,在单元格B16中输入公式: B14-B12 即 (9000050X)100X运用上述模型即可计算出不同产品产量下的盈亏情况。例如,当产品的产量为2400个时,可在单元格B10中输入2400,即得到此时的总成本、总收益与总利润分别为210000元,240000元与30000元,如上图所示。最后,我们来确定盈亏均衡点:盈亏均衡点是总成本等于总收益的点,或总利润等于零的点。前面已经算出,当产量为2400个时,总利润为30000元,所以该点不是盈亏均衡点。可在单元格B10中继续输入其他产量值进行试算,直到总利润为零。下面介绍两种使用Excel中的命令迅速求出盈亏均衡点产量的方法,第一种方法使用数据表命令,第二种方法使用单变量求解命令。 方法一:数据表命令方法Excel中的数据表命令可用来计算不同输入下的输出值。在本例中,可用数据表命令计算不同产量下的盈利值或亏损值,其中,盈利值(或亏损值)为零时所对应的那一个产量,即为盈亏均衡点下的产量。用数据表命令求盈亏点下产量的步骤如下: 第一步:确定输入的决策变量值(即床垫的产量)的范围与计算步长。前面已计算得到,当床垫的产量为2400个时,总利润为正值,即盈利;在上表的模型中,若在单元格B10中试输入1400,得到总利润为负值,即亏损。因此,在产量在l400与2400之间,必有一个值使得总利润为零,这个值即为盈亏均衡点的产量。 所以,可将输入范围定为(1400,2400),假设计算步长为200。第二步:在单元格A22:A27中分别输入从1400至2400、步长为200的产量值。第三步:在单元格B21中输入计算总利润的公式,即:B16,如下页图所示。第四步:用Excel中的数据表命令计算不同产量下的利润值: 用鼠标选择单元格A21:B27的区域; 在Excel工作表的菜单栏中,选择“数据(Data)”,如上图所示; 选择“模拟运算表”(table); 出现模拟运算表对话框,在“输入引用列的单元格”一栏中输入“B10”,B10是表示产量的单元格,这表示模拟运算表要计算的不同产量下的利润。 选择“确定”。这时,表内将出现不同产量所对应的利润值。从表中数据可见,当产量为1800个时,总利润为零,即盈亏均衡点的产量为1800个。方法二:单变量求解命令方法用excel的单变量求解命令可以直接求出利润为零所对应的产量。第一步:在Excel的菜单栏选择“工具(tool)”; 第二步:选择“单变量求解(Goal Seek)”;第三步:这时,出现“单变量求解”对话框。在“目标单元格”一栏中输入地址“B16”(总利润值),在“目标值”一栏中输入“0”(表示总利润为零),在“可变单元格”一栏中输入地址“B10”(表示产量),见下图。该对话框的输入表明,下面要寻找的是当总利润为零时对应的产量值,选择“确定”。 这时,出现“单变量求解状态”表,如下图所示。它表示已经求得了一个解,选择“确定”。这时,在单元格B10中即得到盈亏均衡点的产品产量,为1800个。 第二章 Spreadsheet方法应用举例本章以举例的方式介绍用Spreadsheet方法解决各种管理问题。第一节 线性规划问题建模和求解 例 雅致家具厂生产计划优化问题雅致家具厂生产4种小型家具,由于该四种家具具有不同的大小、形状、重量和风格,所以它们所需要的主要原料(木材和玻璃)、制作时间、最大销售量与利润均不相同。该厂每天可提供的木材、玻璃和工人劳动时间分别为600单位、1000单位与400小时,详细的数据资料见下表。问:(1)应如何安排这四种家具的日产量,使得该厂的日利润最大?(2)家具厂是否愿意出10元的加班费,让某工人加班1小时?(3)如果可提供的工人劳动时间变为398小时,该厂的日利润有何变化?(4)该厂应优先考虑购买何种资源?(5)若因市场变化,第一种家具的单位利润从60元下降到55元,问该厂的生产计划及日利润将如何变化? 表1 雅致家具厂基本数据家 具 类 型劳 动 时 间(小时/件)木 材(单位/件) 玻 璃(单位/件)单位产品利润(元/件)最大销售量(件)1 2 4 6 60 100 2 1 2 2 20 200 3 3 1 1 40 50 4 2 2 2 30 100 可提供量 400小时 600单位 1000单位解:依题意,设置四种家具的日产量分别为决策变量x1,x2,x3,x4,目标要求是日利润最大化,约束条件为三种资源的供应量限制和产品销售量限制。据此,列出下面的线性规划模型:其中X1,X2,X3,X4分别为四种家具的日产量。下面介绍用Excel中的“规划求解”功能求此题。第一步 在Excel中描述问题、建立模型,如下图所示。第二步 在“工具”菜单中选择“规划求解”。 第三步 在“规划求解参数”对话框进行选择如下图。第四步 点击“选项”按钮,弹出“规划求解选项”对话框。第五步 选择“采用线性模型”和“假定非负”,单击“确定”,返回下图。单击“求解”,即可解决此题。最后结果如下页图所示。与此结果对应的敏感性报告如下表所示。说明:(1)可变单元格表中,终值对应决策变量的最优解;递减成本指目标函数中决策变量的系数必须改进多少才能得到该决策变量的正数解,改进对最大值为增加,对最小值为减少。(2)允许的增量(或减量)指在保证最优解不变的前提下,目标函数系数的允许变化值。(3)在约束表中,终值是指约束的实际用量;影子价格式指约束条件右边增加(或减少)一个单位,目标值增加(或减少)的数值;这里的允许的增量(或减量)是指在影子价格保持不变的前提下,终值的变化范围。根据模型运行结果可作出如下分析: (1)由模型的解可知,雅致家具厂四种家具的最优日产量分别为100件、80件、40件和0件,这时该厂的日利润最大,为9200元。本问题的敏感性报告如上页表所示。由上述敏感性报告可进行灵敏度分析,并回答题目中的问题(2)一(5)。(2)由敏感性报告可知,劳动时间的影子价格为12元,即在劳动时间的增量不超过25小时的条件下,每增加l小时劳动时间,该厂的利润(目标值)将增加12元。因此,付给某工人10元以增加l小时劳动时间是值得的,可多获利为:12102(元)。(3)当可提供的劳动时间从400小时减少为398小时时,该减少量在允许的减量(100小时)内,所以劳动时间的影子价格不变,仍为12元。因此,该厂的利润变为: 9200+12X(398400)9 176(元)。(4)由敏感性报告可见,劳动时间与木材这两种资源的使用量等于可提供量,所以它们的约束条件为“紧”的,即无余量的;而玻璃的使用量为800,可提供量为1000,所以玻璃的约束条件是“非紧”的,即有余量的。因此,应优先考虑购买劳动时间与木材这两种资源。(5)由敏感性报告可知,家具1的目标系数(即单位利润)允许的减量为20,即当家具1的单位利润减少量不超过20元时,最优解不变。因此,若家具1的单位利润从60元下降到55元,下降量为5元,该下降量在允许的减量范围内,这时,最优解不变。因此,四种家具的最优日产量仍分别为100件、80件、40件和0件。最优值变为:9200+(5560)X1008 700(元)。第二节 非线性规划例 北海玩具厂生产一种玩具,设该玩具下月产量为x(个),而且所有的产品均可销售出去。已知玩具A的单位产品利润随着销量的增加而减少,其规律是单位产品利润为1000.5x(元)。该玩具每月单位产品的原材料消耗量为1单位,对人工的需求量为2单位。已知该厂下月可提供的原材料为200单位,可提供的人工为350单位。问该厂下月应如何安排生产,才能使总利润最大?解:设下月玩具的产量为x(个),因此有下月的利润为:(1000.5x)x100x一0.5x2 下月玩具消耗的原材料为:x 下月玩具需要的人工为: 2x 由此得到本问题的模型如下: O.b max 100x一05x2 st x200 2x350 x0上述问题中,目标函数(利润)为决策变量(产量x)的非线性函数,所以本规划问题为非线性规划问题。 用Spreadsheet求解此题的步骤如下: 第一步:输入已知数据 首先在Excel的工作表上输入已知数据。在单元格D4:E4中输入目标函数的系数,在单元格D6:D7中分别输入单位产品消耗的原材料和人工,在单元格G6:G7中分别输入原材料和人工的可提供量。 第二步:建立非线性规划模型在Spreadsheet上描述规划的决策变量、目标函数与约束条件。 本问题的决策变量是下月的计划生产量,在Spreadsheet上用单元格D9表示该决 策变量。 本问题的目标函数是下月总利润最大。用单元格D11表示总利润。它等于单位产品的利润与产量的乘积,其中单位产品的利润等于100x一o.5x2,所以,在单元格D11中输入:D4*D9E4*D9*D9本问题共有三个约束条件。第一个约束是原材料约束,即所消耗的原材料不得超过原材料的可提供量,用单元格E6表示该约束条件的左边,即所消耗的原材料,它应等于单位产品消耗的原材料与产量的乘积,所以在单元格E6中输入: D6*$D$9 第二个约束是人工约束,即所需要的人工数不得超过可提供的人工
展开阅读全文