1、产品4产品5产品6现有劳动力(小时)65432.51.54500原料(磅)3.22.60.80.70.31600单位利润(元)5.35.44.23.81.8需求量(磅)960928104197710841055设该公司生产药品16的产量分别为(磅),则最优产品组合的线性规划模型为 下面(xi mian)用规划(guhu)求解加载宏来求解这个(zh ge)问题: 首先,如下如所示,在Excel工作表内输入目标函数的系数(xsh)、约束方程的系数、右端常数项;其次,选定目标函数单元、可变单元、约束函数单元,定义目标函数、约束函数其中,劳动力约束函数的定义公式是“=MMULT(B3:G3, J5:J
2、10)”,原料约束函数的定义公式是“MMULT(B4:G4,J5:J10)”,目标函数的定义公式是“MMULT(B5:G5, J5:J10)”。注:函数MMULT(B3:J10)的意义是:单元区B3:G3表示的行向量与单元区J5:J10表示的列向量的内积。这一要特别注意的是,第一格单元区必须是行,第二格单元区必须是列,并且两个单元区所含的单元格个数必须相等。最后,打开规划求解参数设定对话框设定模型(1)(2)目标函数和可边单元的设定很简单,在此就不再赘述(3)约束条件的设定(sh dn) (3.1) 约束条件的设定(shn):(3.2)约束条件(3.3)约束条件 这里(zhl)值得注意的是:我
3、们(w men)采用向量的形式设定同向不等式,并且不等式两边可以一个时行向量,另一个是列向量;对所有分量都是0的向量,我们(w men)可以用一个0来代替。(4)求解(qi ji):我们选择保存三个报告得到的三张份告如下补充(bchng)说明:a)如果数学规划模型中包含整型变量或01型变量,只需要在设定约束条件一步中设定相应(xingyng)的变量是整型变量或01型变量即可。例如,假定在上例中变量是整型变量,只需要增加如下图所示的整型约束设定即可。不过(bgu)要注意的是,含整型变量或01型变量的问题是不能进行敏感性分析的。b)求解报告中把输出(shch)目标函数单元、约束函数单元、和可边单元
4、上方第一个输有文字单元及左边第一个输有文字单元内全部文字都作为对解释目标函数单元、约束函数单元、和可边单元的解释,例如,把Excel表改为 则求解报告(bogo)输出变为c)另外,非线性规划模型(mxng)的求解方法类似,在此不再赘述。五、“规划(guhu)求解”疑难解答1、尚未找到满足要求的结果,“规划(guhu)求解”即停止了运行由于下列任意一个原因,“规划求解”在找到答案前,可能停止运行:中断了求解过程。在单击“求解”之前,选中了“规划求解选项”对话框中的“显示迭代结果”选项。在单步迭代过程中,或达到最长运算时间或最大迭代次数时,单击了“停止”按钮。选中了“规划求解选项”对话框中的“采用
5、线性模型(mng)”复选框,但问题是非线性的。在“规划求解参数(cnsh)”对话框的“设置目标单元格”框中指定的数值不收敛地增加或减少。需要让“规划(guhu)求解”运行更长的时间以求得结果。请调整“规划求解选项”对话框中的“最长运算时间”或“迭代次数”的设置。对于具有整数约束条件的问题,应该减小“规划求解选项”对话框中的“允许误差(wch)”的设置,使“规划求解”找到更好的整数解。对于非线性问题,应该减小“规划求解选项”对话框中的“收敛度”的设置,使目标单元格数值变化缓慢时,“规划求解”仍可以运行,最终找到较好的结果。应该选中“规划求解选项”对话框中的“自动按比例缩放”复选框,可能一些输入数
6、值相差几个数量级,或输入和输出数值相差几个数量级。当“规划求解”停止运行时,在“规划求解结果”对话框中显示出完成信息。单击“保存规划求解结果”或“恢复为原值”,进行所需的更改,然后再运行一次。2、可变单元格与约束条件或目标单元格中的数值差别很大当可变单元格的典型数值与约束单元格或目标单元格中的数值相差几个数量级时,请选中“规划求解选项”对话框中的“自动按比例缩放”复选框。对于非线性问题,在单击“规划求解参数”对话框中的“求解”之前,请确认可变单元格的初始数值与期望的最终数值的数量级相同。3、未得到预期的结果对于非线性问题,在可变单元格中尝试不同的初始值可能会有帮助,特别是在“规划求解”结果与期
7、望的数值差别很大时。预先将可变单元格的数值设置为预期的最优值,可以减少求解时间。对于线性模型(也就是当“规划求解选项”对话框的“采用线性模型”复选框被选中时),改变可变单元格的初始值不会影响最终数值或求解时间。4、“规划求解”得到的结果与以前的结果不同“规划求解”显示如下消息:“规划求解已收敛到当前结果。满足所有约束条件”。这表明目标单元格中的数值在最近五次求解过程中的变化量小于“规划求解选项”对话框中“收敛度”设置的值。“收敛度”中设置的值越小,“规划求解”在计算时就会越精细,但求解过程将花费更多的时间。5、“规划求解(qi ji)”不能达到最优解下面列出“规划(guhu)求解”显示的完整消
8、息。“规划求解”不能改进当前解。所有(suyu)约束条件都得到了满足这表明仅得到近似值,迭代过程无法得到比显示结果更精确(jngqu)的数值;或是无法进一步提高精度,或是精度值设置得太小,请在“规划求解选项”对话框中试着设置较大的精度值,然后再运行一次。求解达到最长运算时间后停止这表明在达到最长运算时间限制时,没有得到满意的结果。若要保存当前结果并节省下次计算的时间,请单击“保存规划求解”或“保存方案”选项。求解达到最大迭代次数后停止这表明在达到最大迭代次数时,没有得到满意的结果。增加迭代次数也许有用,但是应该先检查结果数值来确定问题的原因。若要保存当前值并节省下次计算的时间,请单击“保存规划
9、求解”或“保存方案”选项。目标单元格中的数值不收敛这表明即使满足全部约束条件,目标单元格数值也只是有增或有减但不收敛。这可能是在设置问题时忽略了一项或多项约束条件。请检查工作表中的当前值,确定数值发散的原因,并且检查约束条件,然后再次求解。“规划求解”未找到合适结果这表明在满足约束条件和精度要求的条件下,“规划求解”无法得到合理的结果,这可能是约束条件不一致所致。请检查约束条件公式或类型选择是否有误。“规划求解”应用户要求而中止这表明在暂停求解过程之后,或在单步执行规划求解时,单击了“显示中间结果”对话框中的“停止”。无法满足设定的“采用线性模型”条件这表明求解时选中了“采用线性模型”复选框,
10、但是“规划求解”最后计算结果并不满足线性模型。计算结果对工作表中的公式无效。若要验证问题是否为非线性的,请选中“自动按比例缩放”复选框,然后再运行一次。如果又一次出现同样信息,请清除“采用线性模型”复选框,然后再运行一次。“规划求解”在目标或约束条件单元格中发现错误值这表明在最近的一次运算中,一个或多个公式的运算结果有误。请找到包含错误值的目标(mbio)单元格或约束条件单元格,更改其中的公式或内容,以得到合理的运算结果。还有可能是在“添加约束”或“改变约束”对话框中键入了无效的名称(mngchng)或公式,或者在“约束”框中直接键入了“integer”或“binary”。若要将数值约束为整数
11、,请在比较运算符列表中单击“Int”。若要将数值约束为二进制数,请单击“Bin”。内存(ni cn)不足以求解问题Microsoft Excel 无法获得(hud)“规划求解”所需的内存。请关闭一些文件或应用程序,再试一次。其他的 Microsoft Excel 实例正在使用 SOLVER.DLL这表明有多个 Microsoft Excel 会话正在运行,其中一个会话正在使用 SOLVER.DLL。SOLVER.DLL 同时只能供一个会话使用。内容摘要(1)下面我们通过一个例子来解释怎样用“规划求解”来求解数学规划问题(2)表1设该公司生产药品16的产量分别为(磅),则最优产品组合的线性规划模型为 下面用规划求解加载宏来求解这个问题: 首先,如下如所示,在Excel工作表内输入目标函数的系数、约束方程的系数、右端常数项(3)注:J10表示的列向量的内积(4)这一要特别注意的是,第一格单元区必须是行,第二格单元区必须是列,并且两个单元区所含的单元格个数必须相等
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1