养生 装修 购物 美食 感冒 便秘 营销 加盟 小吃 火锅 管理 创业 搭配 减肥 培训 旅游

如何利用Lingo进行非线性规划

时间:2024-10-14 00:31:15

数学规划模型:当f,gi和hj共m+n+1个函数至少有一个是非线性函数时,此模型称为非线性规划(NonlinearProgramming,NP)模型.一般来说,解非线性规划问题要比求解线性规划问题困难得多,而且也不像线性规划那样有单纯形法这种通用解法.非线性规划的各种算法大都有自己特定的适用范围,都有一定的局限性.到目前为止还没有适合于各种非线性规划问题的一般算法.

如何利用Lingo进行非线性规划

工具/原料

Lingo17X64商业版

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美元;非负约束购买两种原料的数量都是非负数.综上可得数学模型如下:

如何利用Lingo进行非线性规划

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得到输出结果如下:

如何利用Lingo进行非线性规划

3、结果分析由于非线性规划目标函数不一定是帧霭绎郎线性函数,可行域也不一定是多边形区域,所以最优解很难得到.现有的理论和算法都不能保证得到整个可行域上的最优解,即全局最优解(Globaloptima造婷用痃lsolution).只能得到在可行域某个局部的最优解,称为局部最优解(Localoptimalsolution).LINGO求解非线性规划也不能保证得到全局最优解.决策变量初值的不同设定值,可能导致最后的结果不同.本例模型简单,不同的初值得到的都是同样的最优解x1=3.157906和x2=2.947305

© 一点知识