线性规划的软件求解
2016-10-10牛潇萌
牛潇萌
(赤峰学院 数学与统计学院,内蒙古 赤峰 024000)
线性规划的软件求解
牛潇萌
(赤峰学院数学与统计学院,内蒙古赤峰024000)
利用Excel、LINDO6.1软件、MATLAB软件对线性规划问题进行求解.
线性规划;Excel;LINDO;MATLAB
线性规划是运筹学中的一个重要分支,线性规划在理论上已趋向成熟,在实际应用中日益广泛和深入[1].解决线性规划问题时,通常用单纯形法,但单纯形法的计算量比较大,容易出错,而通过计算机软件来进行求解,不仅可以减少计算过程中的计算量,还可以提高准确率.
考虑如下线性规划问题[2]:
1 用Excel求解线性规划问题
利用Excel中的规划求解可以求解线性规划问题,下面给出求解的具体步骤:
1.1录入数据
在Excel工作表中录入线性规划问题相关数据.D4:F4录入目标函数的系数;D5:F5为决策变量存放单元格,求好的最优解会放在这些单元格中;B8:B10录入约束条件右端的常数值;C8:C10录入约束条件计算公式(具体录入方法见下面录入公式);D8:F8录入第一个约束条件的系数;D9:F9录入第二个约束条件的系数,D10:F10录入第三个约束条件的系数;D15:F15录入目标函数计算公式.这样建立了一个工作表如图1所示.
图1
1.2录入计算公式
在C8单元格输入公式“=D5*D8+E5*E8 +F5*F8”,在D15单元格输入公式“=D4*D5”,在C9单元格输入公式“=D5*D9+E5*E9+F5*F9”,在E15单元格输入公式“=E4*E5”,在C10单元格输入公式“=D5*D10+E5*E10+F5*F10”,在F15单元格输入公式“=F4*F5”,在D16单元格输入公式“=SUM(D15,E15,F15)”,输入公式,回车之后即可完成操作.
1.3求最优解
求最优解的步骤如下:
(i)在Excel工作表中选取“工具”中的“规划求解”.
(ii)在“设置目标单元格”输入D16,在“可变单元格”输入D5:F5,选“添加”.
(iii)在“单元格引用位置”输入C8,选定<=,在“约束值”位置输入B8,选择“添加”重复这个步骤,直至把所有约束条件输入,选确定.
(iv)选“求解”,运行结果如图2所示.
图2
得到最优解x1=4,x2=1,x3=9,最优值为2.
2 用LINDO6.1求解线性规划问题
LINDO6.1是一种专门用于求解线性规划、二次规划的软件包.由于LINDO执行速度快,输入方便,因此在教学、科研中得到广泛的应用[3].
在LINDO6.1中打开一个新文件,直接输入,
然后按Solve按钮即可求解.
图3 运行结果
得到最优解x1=4,x2=1,x3=9,最优值为2.
3 用MATLAB求解线性规划问题
MATLAB中的线性规划标准形式为
求解线性规划问题的函数Linprog,下面应用MATLAB来求解上述线性规划问题:
化成MATLAB标准型
求解的MATLAB程序如下:
得到最优解x1=4,x2=1,x3=9,最优值为2.
4 结束语
通过上面的计算可知,在求解线性规划问题中,用LINDO6.1和MATLAB软件求解相对简单,用Excel来求解线性规划问题过程稍显复杂.
〔1〕耿德志.线性规划求解算法研究[J].软件导刊,2011(10):48-49.
〔2〕司守奎,孙玺菁.数学建模算法与应用[M].北京:国防工业出版社,2011.2-3.
〔3〕罗罡辉,叶艳妹.多目标规划的LINDO求解方法[J].计算机应用与软件,2004(21):108-110.
O221.1
A
1673-260X(2016)04-0023-02
2015-12-28