用Excel 7.0求解规划问题

Author: 刘宪权 Date: 1999年 第11期 12版

    用Excel7.0提供的“规划求解”功能可以解决许多规划问题,既可以解方程(组),又可以解线性规划和非线性规划问题。本文以举例的形式说明如何使用这一功能解规划问题。
#1    一、线性规划
    以一个运输问题来说明线性规划问题的解法。
    设有甲、乙、丙三个产地,I、II、III、IV、V五个销地,运价表在工作表中D4∶H6区域,产量在工作表中C4∶C6区域,销量表在工作表中D7∶H7区域(如^111203a^表1),试求如何安排调运方案,使得总运价最小?
    步骤如下:
    1.将D12∶H14作为可变单元格,输入预设值,例如全输入1。
    2.构造目标函数单元格C9,在D9中输入公式“=D4*D12+D5*D13+D6*D14”,并复制到E9∶H9,在C9中输入“=SUM(D9:H9)”。
    3.构造约束条件,在C12中输入公式“=SUM(D12∶H12)”,并复制到C13∶C14,在D15中输入公式“=SUM(D12∶D14)”,并复制到E15∶H15。
    4.选菜单“工具”中的“规划求解”,出现“规划求解参数”对话框如图1,逐一填充各栏中的空白:
    ①在“设置目标单元格”栏后的空白中填入C9,并选中“最小”,
    ②在“可变单元格(B)”栏后的空白中填入D12∶H14,也可直接按“推测”,因为程序会根据目标单元格中引用的单元格自动推测出可变单元格区域,再检查一下正确与否。
    ③光标指向“约束”栏,按“添加”,出现“添加约束”对话框,依次填入约束关系,每输完一条,按“添加”,输入所有约束条件后,按“确定”,又退回到图1状态,在图1中可以选“更改”、“删除”、“全部重设”来编辑约束条件及其他设置。
    ④按^111203b^1中的“选项”按钮,可以调整运算精度等多项选项,读者可参考“帮助”及有关数学书籍。
    5.在图1中按“求解”,即进入求解过程,求解结束,出现“规划求解结果”对话框,选择“保存规划求解结果”后,工作表中可变单元格、目标单元格以及计算约束条件的单元格均发生变化。如不想破坏原始数据,可选择“恢复为原值”,同时选中“报告”框中的“运算结果报告”,或选“保存方案”以存储运算结果。
    运行后得到的最优调运方案如^111203c^表2。
#1    二、非线性规划
    假设有一非线性规划问题如下:
    目标函数:
    约束条件:
    解题步骤如下:
    1.在C9和C10单元格中填入2,作为可变单元格。
    2.在C11中填入目标函数“=(C9-3)^2+(C10-2)^2”。
    3.在D9∶D11中填入约束条件左半部分,分别是:“=C9^2-C10-3”、“=C10-1”、“=-C9”屏幕显示为^111203d^表3。
    4.选择“工具”菜单中的“规划求解”,照前面问题的方法依次填入空白栏中,按“求解”,参数如下:目标单元格:C11;最小,可变单元格:C9∶C10;约束条件:D10<=0、D11<=0、D9<=0。
    运行以后表中的数据如^111203e^表4,即X1=2,X2=1。