利用Excel求解线性规划问题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

使用Excel规划求解解线性规划问题

引言

最近,开始学习运筹学,期望通过学习后能够解决许多困扰自已的难题。

刚开始时,选了很多教材,最后以Hamdy A. Taha著的《Operations Research:An Introduction》开始学习。(该书已由人民邮电出版社出版,书名《运筹学导论-初级篇(第8版)》,不知为什么,下载链接中只有该书配套的部分习题解答,而书中所说的光盘文件找不到下载的地方,因为中译本没有配光盘,因此也就错过了许多示例文件。不知道哪位有配套光盘文件,可否共享???)

线性规划求解的基本知识

线性规划模型由3个基本部分组成:

∙决策变量(variable)

∙目标函数(objective)

∙约束条件(constraint)

示例:营养配方问题

(问题)某农场每天至少使用800磅特殊饲料。这种特殊饲料由玉米和大豆粉配制而成,含有以下成份:

特殊饲料的营养要求是至少30%的蛋白质和至多5%的纤维。该农场希望确定每天最小成本的饲料配制。

(解答过程)

因为饲料由玉米和大豆粉配制而成,所以模型的决策变量定义为:

x1=每天混合饲料中玉米的重量(磅)

x2=每天混合饲料中大豆粉的重量(磅)

目标函数是使配制这种饲料的每天总成本最小,因此表示为:

min z=0.3×1+0.9×2

模型的约束条件是饲料的日需求量和对营养成份的需求量,具体表示为:

x1+x2≥800

0.09×1+0.6×2≥0.3(x1+x2)

0.02×1+0.06×2≤0.05(x1+x2)

将上述不等式化简后,完整的模型为:

min z=0.3×1+0.9×2

s.t. x1+x2≥800

0.21×1-0.3×2≤0

0.03×1-0.01×2≥0

x1,x2≥0

可以使用图解法确定最优解。下面,我们介绍使用Excel的规划求解加载项求解

该模型。

使用Excel规划求解解线性规划问题

步骤1安装Excel规划求解加载项

单击“Office按钮——Excel选项——加载项——(Excel加载项)转到”,出现“加载宏”对话框,如下图所示。选择“规划求解加载项”,单击“确定”。

此时,在“数据”选项卡中出现带有“规划求解”按钮的“分析”组,如下图所示。

步骤2设计电子表格

使用Excel求解线性规划问题时,电子表格是输入和输出的载体,因此设计良好的电子表格,更加易于阅读。本例的电子表格设计如下图所示:

其中,输入数据的单元格使用了阴影格式,即B5:C8和F6:F8;变量和目标函数单元格为B12:D12,加上了粗线边框;D5:D8中输入了约束公式,公式如上图中的右上角所示,其相应的代数表达式见上文。

技巧:也可以在单元格D5中输入公式:

=SUMPRODUCT(B5:C5,$B$12:$C$12)

然后将其复制到下方相应的单元格中。

步骤3应用规划求解工具

单击“数据——分析——规划求解”,出现如下图所示的“规划求解参数”对话框,设计相应的参数。

并且单击“添加”按钮,添加相应的约束,如下图所示。

注意,上图所示的约束中,添加了非负限制,即$B$12:$C$12>=0。还可以在“规划求解参数”对话框中,单击“选项”按钮,在出现的“规划求解选项”对话框中(如下图所示)添加非负约束,即选择“采用线性模型”和“假定非负”前的复选框,其余的默认值可以保持不变。当然,如果精度太高,可以调低精度,也获得满意的结果。

步骤4求解

设置好参数后,单击“规划求解参数”对话框中的“求解”按钮,结果如下图所示。

为了增强可读性,还可以使用有描述性的Excel名称来代替单元格字母。

如果问题没有可行解,规划求解将会显示明确的信息“规划求解找不到有用的解”。如果最优目标值是无界的,规划求解将会显示不太明确的信息“设置目标单元格的值未收敛”。这些情况都表明模型构造的公式有错误。

当然,规划求解工具还可以得出更详细的报告,这些功能我们在以后讨论。

相关文档
最新文档