非线性规划模型在产品组合中的应用
2012-04-29尹聪春
尹聪春
[摘要] 非线性规划是具有非线性约束条件或目标函数的数学规划,是运筹学的一个重要分支。非线性规划是20世纪50年代才开始形成的一门新兴学科。70年代又得到进一步的发展。非线性规划在工程、管理、经济、科研、军事等方面都有广泛的应用,为最优设计提供了有力的工具。本文主要介绍用Excel规划求解工具制作的非线性规划模型来解决经济管理中的产品组合问题。
[关键词] 非线性规划; 模型; 产品组合; 应用
doi : 10 . 3969 / j . issn . 1673 - 0194 . 2012 . 08. 065
[中图分类号]F272[文献标识码]A[文章编号]1673 - 0194(2012)08- 0096- 02
1非线性规划数学模型
对实际规划问题作定量分析,必须建立数学模型。建立数学模型首先要选定适当的目标变量和决策变量,并建立起目标变量与决策变量之间的函数关系,称之为目标函数。然后将各种限制条件加以抽象,得出决策变量应满足的一些等式或不等式,称之为约束条件。非线性规划问题的一般数学模型可表述为求未知量x1,x2,…,xn,使满足约束条件:
gi(x1,…,xn) ≥ 0 i = 1,…,m
hj(x1,…,xn) = 0j = 1,…,p
并使目标函数f(x1,…,xn)达到最小值(或最大值)。其中:诸gi和诸hj都是定义在n维向量空间Rn的某子集D(定义域)上的实值函数,且至少有一个是非线性函数。
上述模型可简记为:
min f(x)
s.t. gi(x) ≥ 0 i = 1,…,m
hj(x) = 0 j = 1,…,p
其中x = (x1,…,xn)属于定义域D,符号min表示“求最小值”,符号s.t.表示“受约束于”。
定义域D中满足约束条件的点称为问题的可行解。全体可行解所成的集合称为问题的可行集。对于一个可行解x*,如果存在x*的一个邻域,使目标函数在x*处的值f(x*)优于(指不大于或不小于)该邻域中任何其他可行解处的函数值,则称x*为问题的局部最优解(简称局部解)。如果f(x*)优于一切可行解处的目标函数值,则称x*为问题的整体最优解(简称整体解)。
2关于Excel规划求解
“规划求解”是一组命令的组成部分,这些命令有时也称作假设分析 (假设分析:该过程通过更改单元格中的值来查看这些更改对工作表中公式结果的影响。例如,更改分期支付表中的利率可以调整支付金额。)工具。借助“规划求解”,可求得工作表上某个单元格(被称为目标单元格)中公式 (公式:单元格中的一系列值、单元格引用、名称或运算符的组合,可生成新的值。公式总是以等号 (=) 开始。)的最优值。“规划求解”将对直接或间接与目标单元格中公式相关联的一组单元格中的数值进行调整,最终在目标单元格公式中求得期望的结果。“规划求解”通过调整所指定的可更改的单元格(可变单元格)中的值,从目标单元格公式中求得所需的结果。在创建模型过程中,可以对“规划求解”模型中的可变单元格数值应用约束条件 (约束条件:“规划求解”中设置的限制条件。可以将约束条件应用于可变单元格、目标单元格或其他与目标单元格直接或间接相关的单元格。),而且约束条件可以引用其他影响目标单元格公式的单元格。
使用“规划求解”可通过更改其他单元格来确定某个单元格的最大值或最小值。使用规划求解的操作方法为:
在“工具”菜单上,单击“规划求解”。
如果“规划求解”命令没有出现在“工具”菜单中,则需要安装“规划求解”加载宏 (加载项:为 Microsoft Office 提供自定义命令或自定义功能的补充程序。)程序。操作方法:
在“工具”菜单上,单击“加载宏”。
如果在“当前加载宏”列表框中没有所需加载宏 (加载项:为 Microsoft Office 提供自定义命令或自定义功能的补充程序。),请单击“浏览”按钮,再找到该加载宏。
在“当前加载宏”框中,选中待装载的加载宏旁边的复选框,再单击“确定”。
3案例资料
某公司生产和销售甲乙两种产品,两种产品各生产一个单位需要工时为4和8,用电量5 kW和6 kW,需要原材料10 kg和5 kg。公司可提供的工时为320,可提供的用电量为260 kW,可提供的原材料为430 kg。两种产品的单价与销量之间存在负的线性关系,分别为p1=3 100 - 55q1, p2 = 3 350- 85q2 。当原料用量≥320 kg时,供应商提供的原料价格从180元降为160元。假设两种产品各生产1个单位,总固定成本10 000元,试在Excel中建立产品组合非线性规划模型,并且按如下要求操作:计算需要的工时、用电量、原材料和利润;用规划求解工具求解两种产品的最优生产量和总利润最大值。并用控件表示出两种产品产量不同组合情况下的利润变化情况。
4模型建立
(1) 计算各项指标
在SHEET 1工作表中将已知各项指标填入相关单元格中,并进行相关计算。如图1所示。
B15 = C10 + D10 - C13 - C12 - D12。
(2) 进行规划求解
单击“工具”菜单上的“规划求解”,在弹出的 “规划求解参数” 对话框中作如图2的设置。
在“设置目标单元格”框中单击,然后选择利润单元格(单元格 C14),在“可变单元格”框中单击,指向区域 C6:D6,该区域为两种产品的产量。
添加约束:单击“添加”按钮,在“添加约束”对话框中,在标记为“单元格引用位置”的框中单击,选择区域C6:D6,从对话框中部的列表中选择“>=”,在标记为“约束值”的框中输入0;选择区域E3:E5,从对话框中的列表中选择“<=”,在标记为“约束值”的框中单击,选择单元格区域F3:F5。在“添加约束”对话框中单击“添加”,以输入需求约束即可。
在“规划求解选项”对话框中输入所有可变单元格都为非负值的约束,通过单击“规划求解参数”对话框中的“选项”按钮可打开该对话框。
选择“采用线性模型”和“假定非负”选项,然后单击“确定”。
注意:选择“假定非负”选项可确保规划求解只考虑每个可变单元格都采用非负值的可变单元格组合。
选择“采用线性模型”的原因是产品组合问题是一种称为线性模型的特殊规划求解问题。
单击“规划求解选项”对话框中的“确定”后,返回到主“规划求解”对话框,单击“求解”按钮即可,这样,规划求解会迅速找出最佳解决方案,如图3所示。需要选择“保存规划求解解决方案”以将最佳解决方案值保留在电子表格中。
5添加控件
根据图表向导,做一直方图。打开“窗体”控件,添加两个滚动条,一个与甲产品链接,一个与乙产品链接,其控件参数的设置最终结果如图4所示。
6小结
利用Excel规划求解工具不仅可以解决产品组合问题,还可以求解资金管理、运输管理、选址规划等。