一、什么是规划求解加载宏?
规划求解加载宏(简称规划求解)是Excel的一个加载项,可以用来解决线性规划与非线性规划优化问题。规划求解可以用来解决最多有200个变量,100个外在约束和400个简单约束(决策变量整数约束的上下边界)的问题。可以设置决策变量为整型变量。
规划求解加载宏的开发商是Fronline System公司。用户通过自定义安装MS-Office所使用的是标准版本规划求解加载宏,Fronline System公司同时提供增强的Premium Solver工具。
规划求解工具在Office典型安装状态下不会安装,可以通过自定义安装选择该项或通过添加/删除程序增加规划求解加载宏。
1
二、怎样加载规划求解加载宏?
加载规划求解加载宏的方法如下:
(1) 打开“工具”下拉列菜单,然后单击“加载宏”,打开“加载宏”对话框。
(2) 在“可用加载宏”框中,选中“规划求解”旁边的复选框,然后单击“确
定”按钮。
12
2
加载项的功能是为Microsoft Office 提供自定义命令或自定义功能的补充程序 如果“规划求解”未列出,请单击“浏览”进行查找。
1
(3) 如果出现一条消息,指出您的计算机上当前没有安装规划求解,请单击
“是”用原Office安装盘进行安装。
(4) 单击菜单栏上的“工具”。加载规划求解后,“规划求解”命令会添加到
“工具”菜单中。
三、怎样使用规划求解加载宏求解数学规划?
规划求解加载宏是一组命令构成的一个子程序,这些命令有时也称作假设分析3工具,其功能是可以求出线性和非线性数学规划问题的最优解和最优值。
使用规划求解加载宏求解数学规划的步骤
首先,在Excel工作表中输入目标函数的系数向量、约束条件的系数矩阵和右端常数项(每一个单元格输入一个数据);
其次,选定一个单元格存储目标函数(称为目标单元格),用定义公式的方式在这个目标单元格内定义目标函数;
再次,选定与决策变量个数相同的单元格(称为可变单元格),用以存储决策变量;再选择与约束条件个数相同的单元格,用定义公式的方式在每一个单元格内定义一个约束函数(称为约束函数单元格);
最后,点击下拉列菜单中的规划求解按钮,打开规划求解参数设定对话框(如图4所示),完成规划模型的设定
模型设定方法如下:
(1)设定目标函数和优化方向:光标指向规划求解参数设定对话框中的“设置目标单元格”提示后的域,点击鼠标左键,然后选中Excel工作表中的目标单元格。然后
3
该过程通过更改单元格中的值来查看这些更改对工作表中公式结果的影响。例如,更改分期支付表中的利率可以调整支付金额。
2
根据模型中目标函数的优化方向,在规划求解参数设定对话框中的“等于”一行中选择“最大值”或“最小值”;
(2)设定(表示决策变量的)可变单元:光标指向规划求解参数设定对话框中的“可变单元格”提示后的域,点击鼠标左键,然后选中Excel工作表中的可变单元组。可以点击“推测”按钮,初步确定可变单元格的范围,然后在此基础上进一步确定; (3)设定约束条件:直接点击规划求解参数设定对话框中的添加按钮,出现如下添加约束对话框:
先用鼠标左键点击“单元格引用位置”标题下的域,然后在工作表中选择一个约
束函数单元格,再点击添加约束对话框中向下的箭头,出现<=,=,>=,int和bin五个选项,根据该约束函数所在约束方程的情况选择,其中int和bin分别用于说明整型变量和0-1型变量。选择完成后,如果还有约束条件未设定,就点击“添加”按钮,重复以上步骤设定约束条件,设定完所有约束条件后,点击确定完成约束条件设定,回到规划求解参数设定对话框。
(4)设定算法细节:点击规划求解参数设定对话框中的“选项”按钮,出现如下规划求解选项对话框。
该对话框为使用者提供了在一些可供选择的常用算法。主要是供高级用户使用,初学者不必考虑这些选择。
3
选择完成后点击确定按钮回到规划求解参数设定对话框
(5)求解模型:完成以上设定后,点击规划求解参数设定对话框中的“求解”按钮,将出现如下求解结果对话框。
根据需要选择右边列出的三个报告中的一部分或全部,然后点击确定按钮就可以在Excel内看到求解报告。
四、用规划求解加载宏求解数学规划举例
下面我们通过一个例子来解释怎样用“规划求解”来求解数学规划问题。
例1 公司通常需要确定每月(或每周)生产计划,列出每种产品必须生产的数量。具体来说就是,产品组合问题就是要确定公司每月应该生产的每种产品的数量以使利润最大化。产品组合通常必须满足以下约束: ? 产品组合使用的资源不能超标。
? 对每种产品的需求都是有限的。我们每月生产的产品不能超过需求的数量,因为
生产过剩就是浪费(例如,易变质的药品)。
下面,我们来考虑让某医药公司的最优产品组合问题。该公司有六种可以生产的药品,相关数据如下表所示。
消耗系数 产品1 产品2 劳动力(小时) 6 5 原料(磅) 3.2 2.6 单位利润(元) 6 5.3 需求量(磅) 960 928 表1 产品3 产品4 产品5 产品6 4 3 2.5 1.5 1.5 0.8 0.7 0.3 5.4 4.2 3.8 1.8 1041 977 1084 1055 现有 4500 1600 设该公司生产药品1~6的产量分别为x1,x2,规划模型为
,x6(磅),则最优产品组合的线性
4
maxz?6x1?5.3x2?5.4x3?4.2x4?3.8x5?1.8x6?6x1?5x2?4x3?3x4?2.5x5?1.5x6?4500?3.2x?2.6x?1.5x?0.8x?0.7x?0.3x?1600123456??x1?960?x2?928? ?x?1041s..t?3?x4?977?x5?1084??x6?1055??xj?0,1?j?6?
下面用规划求解加载宏来求解这个问题:
首先,如下如所示,在Excel工作表内输入目标函数的系数、约束方程的系数、右端常数
项;
系数矩阵 目标函数的系数 系数矩阵 右端常数其次,选定目标函数单元、可变单元、约束函数单元,定义目标函数、约束函数
目标函数单元 约束函数单元 可变单元
5