当前位置:无忧公文网 >范文大全 > 征文 > 基于加载宏的线性规划问题求解

基于加载宏的线性规划问题求解

时间:2022-03-05 08:19:23 浏览次数:

摘要:线性规划是运筹学的重要分支,应用十分广泛。本文介绍利用加载宏解决线性规划优化问题求解的详细方法和步骤。该方法可以减少求解线性规划问题的计算量,提高计算速度,并且方便实用。

关键词:加载宏;规划求解;线性规划

中图分类号:TP301.6 文献标识码:A文章编号:1007-9599 (2011) 20-0000-01

Problem-solving of Linear Programming on Add-ins

Chen Xiuhua

(Fujian Chuangzheng Communications College,Public Teaching,Fuzhou350007,China)

Abstract:Linear programming is an important branch of operations research,is widely used.This article describes the use of add-ins to solve linear programming optimization problem-solving methods and procedures in detail.This method can reduce the calculation of solving linear programming problems,improve computing speed, and the convenient and practical.

Keywords:Add-ins;Solver;Linear programming

一、引言

线性规划(Linear Programming)是运筹学最基本的重要分支,应用十分广泛,是运筹学许多问题的基础。在20世纪50年代到60年代期间,运筹学领域出现许多新的分支:非线性规划、随机规划、整数规划等[1]。20世纪70年代末,上述分支领域又得到了极大发展。而且数学规划领域中存在许多NP-hard问题,如TSP问题,整数规划问题等[2]。这些问题的基本模型都可以写成线性规划形式。因此通过对线性规划问题的研究,可以进一步推动数学规划领域内其他分支的发展。求解线性规划问题最基本的方法有单纯形法、对偶单纯形法、图解法等[3]。

二、线性规划中矩阵问题的求解

例1.求矩阵A=与B=的积。

求解方法:

(1)在Excel工作表区域分别输入矩阵A和矩阵B。

(2)由于A为2×3阶,B为3×4阶,A×B为2×4阶矩阵,故必须在工作表中,用鼠标拖拽出一个两行四列的空白区域,待存放结果矩阵。

(3)点击“函数指南”fx按钮,在对话框中选择“数学与三角函数”类的MMULT(array1,array2)函数,继续下一步。

(4)将工作表中A矩阵所在的区域(A1:C2)选入“Array1”的编辑框中,用同样方法将B矩阵所在区域(E1:H3)的标识符选入“Array2”的编辑框中。

(5)由于A×B的结果是一个区域值,应按Ctrl+Shift+Enter复合键,使公式两端刮上{},才能正确完成计算。此时,在(2)中所选的结果区域出现了A×B的乘积矩阵。要特别注意的是,在对话框中输入A、B两矩阵后,不须按确定,直接按Ctrl+Shift+Enter复合键,否则会只出现结果矩阵中的第一个数字。

(6)如果array2的行数与array1的列数不相等时,则函数MMULT返回错误值#VALUE!。

三、线性规划问题的求解

例2.某化工厂生产甲、乙两种产品,生成一吨甲种产品需要3公斤A种原料与3公斤B种原料,获得利润8万元;生产一吨乙种产品需要5公斤A原料与1公斤B种原料,获得利润3万元。工厂现有可供利用的A种原料为210公斤,现有可供利用的B种原料为150公斤。工厂应如何安排生产,使得总利润最大。

这是线性规划中典型的安排问题。若用单纯形解法求解,计算比较繁复,用Excel却能很快地求出结果。

求解方法:

(1)将该线性规划问题的数学模型输入Excel工作表中。设甲、乙两种产品的产量分别为X1,X2吨时,可获利S万元

(2)把单元格A2、A3作为可变单元格,分别代表X1和X2,并在其中输入任意初值,例如输入“0”,然后输入目标函数和约束条件。把单元格B1作为目标单元格,代表S,并在其中输入公式“=8*A2+3*A3”;在单元格C2、C3中分别输入公式“=3*A2+5*A3”和“=3*A2+A3”,至此已设置好可变单元格和目标单元格,并设置好初值0和目标函数及约束条件公式,所有参数按下表所示在Excel工作表中输入:

ABC

1=8*A2+3*A3

20=3*A2+5*A3

30=3*A2+A3

注意:在单元格B1、C2、C3输入公式按回车后,由于X1、X2初值取0,所以这三个单元格均显示0。

(3)用鼠标单击“工具”菜单中的“规划求解”命令(如果“规划求解”命令没有出现在“工具”菜单中,则首先需要安装“规划求解”加载宏。在“加载宏”对话框中,选定“规划求解”复选框,然后单击“确定”,进行安装。),弹出“规划求解参数”对话框,此时可根据问题的具体条件填入参数。

在“设置目标单元格”框中输入“B1”(或通过点击B1单元格),文本框内将出现“$B$1”,并根据本题题意将“等于”栏设置为“最大值”。

在“可变单元格”框输入“A2”“A3”,中间用逗号分隔,此时可变单元格文本框内出现“$A$2,$A$3”。

在“约束条件”处,单击“添加”按钮,弹出“添加约束”对话框,在该对话框中设置约束条件。在“单元格引用位置”框中输入“C2”,在中间框中选择“<=”,在“约束值”框中输入“210”,单击“确定”按钮,返回“规划求解参数”对话框,产生第一个约束条件,再单击“添加”按钮,继续设置约束条件;也可以在“添加约束”对话框中单击“添加”按钮,继续加入约束条件,设置完毕后,单击“确定”按钮。所有的约束条件如下表所示:

约束:

$C$2<=210

$C$3<=150

$A$2>=0

$A$3>=0

注意:如果决策变量要求为整数,须在“添加约束”条件对话框的中间框中,选“int”。

(4)单击“求解”按钮,弹出“规划求解结果”对话框,可根据需要生成运算结果、敏感性报告和极限值报告。现选择“运算结果报告”和“保存规划求解结果”单选钮,确定。这样就做成了标签为“运算结果报告1”的规划求解结果报告。本例可求得X1=45,X2=15,maxS=405。即当工厂生产45吨甲种产品、15吨乙种产品时,可获得最大利润405万元。

四、结束语

线性规划在生产组织与计划问题、合理下料问题、运输问题、生产工艺优化等问题有着广泛的应用。随着计算机技术的飞速发展和微型计算机的日益普及,线性规划问题利用计算机求解已成为发展的趋势。本文虽然只介绍通过加载宏求解,但因EXCEL软件的普遍使用,且简单、直观、易于掌握,少去人工计算的繁琐,同时大大提高计算的速度和准确性,具有实际意义。

参考文献:

[1]燕子宗,费浦生,万仲平.线性规划的单纯形法及其发展[J].计算数学,2007,29:1

[2]薛声家,左小德.确定线性规划全部最优解的方法[J].数学的实践与认识,2005,1

[3]安中华,周树民,安琼.线性规划初始基本可行解的新算法[J].武汉理工大学学报,2004,7

推荐访问: 线性规划 求解 加载