数学规划模型:当f , gi 和hj 共m + n+1个函数至少有一个是非线性函数时,此模型称为非线性规划(Nonlinear Programming,NP)模型.一般来说,解非线性规划问题要比求解线性规划问题困难得多,而且也不像线性规划那样有单纯形法这种通用解法. 非线性规划的各种算法大都有自己特定的适用范围,都有一定的局限性. 到目前为止还没有适合于各种非线性规划问题的一般算法.
工具/原料
Lingo 17 X64 商业版
Windows10中文家庭版
实例
1、卡隆公司的新肥料问题 卡隆(Carron)化学公司的年轻工程师R 和D 合成了一种轰动一时的新肥料,只用两种基本原料来制造. 公司想利用这邗锒凳审个机会生产尽可能多的这种新肥料,公司目前有资金40000美元,可购买单价分别为8000美元的原料A和5000美元的原料B. 当用数量为x1和x2两种原料合成时,肥料的数量Q 由下式给出:Q =4x1+2x2-0.5x1^2 -0.25x2 ^2试确定购买原料的计划.问题分析 计划的目标是用有限的钱购买的原料,生产出最多的新肥料. 肥料的数量与原料数量不是线性关系. 因此这个优化问题是一个非线性规划问题.模型建立决策变量:显然是原料A, B的数量x1和x2 .目标函数:问题中已经给出,即Q =4x1+2x2-0.5x1^2 -0.25x2 ^2约束条件:资金约束 即购买原料的总费用不能超过公司现有资金40000 美元;非负约束 购买两种原料的数量都是非负数.综上可得数学模型如下:
2、模型求解非线性规划也可以用LINGO 求解. 在LINGO11新建文档中输入如下代码:model:init:x1=0.0;x2=0.0;endinitmax=4*x1+2*x2-0.5*x1^2-0.25*x2^2;8000*x1+5000*x2<=40000;x1>=0;x2>=0;end得到输出结果如下:
3、结果分析 由于非线性规划目标函数不一定是帧霭绎郎线性函数,可行域也不一定是多边形区域,所以最优解很难得到. 现有的理论和算法都不能保证得到整个可行域上的最优解,即全局最优解(Global optima造婷用痃l solution). 只能得到在可行域某个局部的最优解,称为局部最优解(Local optimal solution). LINGO 求解非线性规划也不能保证得到全局最优解. 决策变量初值的不同设定值,可能导致最后的结果不同. 本例模型简单,不同的初值得到的都是同样的最优解x1 =3.157906和x2= 2.947305