基于MATLAB的生产计划最优化系统设计
2017-04-27王君
王君
摘要:该文应用方差分析、回归分析和非线性规划理论分析解决运筹学中的生产计划问题,在此基础上设计了一个基于MATLAB软件的人机交互界面:不用编写程序,输入统计数据后能够直接调用优化计算函数,得出最优的生产计划方案,具有操作简单、方便的优点。
关键词:最优化设计;生产计划;MATLAB
中图分类号:TP391 文献标识码:A 文章编号:1009-3044(2016)29-0191-02
生产计划问题是建立生产计划的优化模型,使工厂的盈利最大,是运筹学的典型问题之一。运筹学(operational Research)是有效运用系统优化的方法,建立数学模型或运用数学定量,对经济或军事活动中的人力、物力、财力等资源进行有效的配置和统筹安排,为决策者提供最优方案一门学科。优化设计(Optimization Design)就是从多种方案中选择最佳方案的设计方法。它以数学中的最优化理论为基础,根据设计中所追求的性能目标,建立目标函数,在满足给定的各种约束条件下,寻求最优的设计方案。随着优化设计理论研究和应用实践的不断发展,特别是电子计算机技术的日新月异,工程优化设计正在逐步向自动化、集成化和智能化的方向发展。
运筹学中的大部分问题都可以应用MATLAB软件中内置函数通过编程求解,例如本文涉及的方差分析、回归分析和非线性规划问题等。MATLAB还可以设计人机交互的可视化界面:图形用户界面(GUI)是用户与计算机程序之间的交互方式,它是包含图形对象,如窗口、图标、菜单和文本以及工具栏的用户界面。文章设计了生产计划问题的GUI界面,通过选择相应的按键功能,用户可以非常直观、轻松地得出结果。
1应用方差分析确定广告方案
广告宣传对产品的销量有着显著的影响,广告方案在制定的时候会考虑到受众人群、投放形式、宣传侧重点等多种因素,不同的广告方案可能带来销量的明显变化。在广泛宣传后,进行统计调查,可以应用方差分析法确定未来的广告投放方案。
方差分析法可以基于不太多的统计数据,分析一个或多个因素对某个响应变量的影响和作用的显著性。图1中的MAT-LAB GUI界面上可以输入三种广告方案下四个季度的销量,按下确认键后将调用MATLAB的单因素方差分析函数:p=anoval(x,group,'off'),其中返回的p值大于0.05,认为因素无显著影响,将在界面上显示:“广告方案无明显区别”。
如果p值小于0.05,认为不同的广告方案对销量有显著影响,将进一步进行统计分析,用参数估计法计算各水平效应值,效应值最大对应的广告引起的销量最多。
2应用回归分析得到产品销量与广告投入、定價的关系
产品的广告投入越大,产品的知名度越高,当然销量也会更好;产品降价销售,销量也会增加。回归分析是用来确定两种或两种以上变量间相互依赖的定量关系的统计方法,当所测的变量之间的线性关系不明显时,可以用多项式回归方法回归模型描述变量间的函数关系。多项式回归的判断准则是保证实际数据与计算数据之间差的平方和最小,根据回归条件计算出最优数据拟合多项式的系数。MATLAB有内置的拟合函数:polyval和polyfit,可以对数据进行一阶、二阶、三阶以及更高阶的多项式的最佳拟合,其调用格式如下:
p=polyfit(x,y,n):对x与y进行n维多项式的曲线拟合,输出结果p为含有n+1个元素的行向量,该向量以维数递减的形式给出拟合多项式的系数。
图2中输入不同产品定价和广告投入下的销量,按下确认键后将绘制出三阶拟合曲线(图3),直观表现出产品销量与广告投入、定价的关系。同时得到拟合系数将用于生产计划的最优化设计。
3应用非线性规划理论确定最优生产计划
产品的单价越高,单个产品的所得利润会越高,但是同时产品的销量会下降;产品的广告投入越大,产品的知名度越高,当然销量也会更好,所得的利润也更大,但是,产品的投入也会增大。要平衡广告投入、单价和销量的关系,得出最优的定价和广告投入额以及最大可能获得的利润值,可以建立最优生产计划的非线性规划模型求解。
非线性规划是数学规划的一个重要组成部分,它起源于工业生产组织管理的决策问题,在数学上用来确定多变量函数在满足非线性约束条件下的最优值。最优生产计划的非线性规划模型是将总利润作为目标函数,产品销量与广告投入、定价的关系为非线性约束,产品的支出应该在总资本之内作为线性约束条件,定价高于成本及变量非负数作为边界条件,求解产品的单价、销量、广告费三个变量的最优解和相应的总利润最大值。Maflab提供了求解有约束的多维非线性规划问题的函数fmincon,用于求解最优化问题,调用格式:[xfval]=fmincon(@(x)optiumfun(x,n),x0,A,b,[],[],lb,[],@(x)confun(x,n,p,q));x为返回的最优解,fval为最优解的目标函数,optiumfun为目标函数:从x0开始,在线性约束条件A*x<=b、边界条件lb<=x和非线性不等式约束function[c,ceq]=confun()下找到函数的最小值。
在图2中键入总成本和单件产品成本值,按下优化设计按键后将弹出最优生产计划方案界面(图4),从中可以得到可以获得最大利润的定价、产量和广告投入方案。
4结论
本文利用MATLAB GUI开发工具和优化函数设计的生产计划最优化系统,是运用管理运筹学的理论,建立和求解总利润、产品销量和定价以及广告投入的非线性模型:在总资本的限制,产品销量与广告投入、定价的约束条件下,求解最佳定价、产量和广告方案,可以为厂家实现利润最大化提供最优决策。