实验七生产计划中的产量问题【实验目的】1.介绍无约束最优化方法的一些基本概念。2.了解几种常见的无约束优化问题的求解方法,如迭代算法、最速下降法(梯度法)、牛顿法(Newton)、拟牛顿法。3.学习掌握用MATLAB优化工具箱中的命令来求解无约束优化问题。【实验内容】某公司生产一种产品有甲、乙两个品牌,试讨论产销平衡下的最大利润。所谓产销平衡指公司的产量等于市场上的销量。利润既取决于销量和单件价格,也依赖于产量和单件成本。按照市场规律,甲种品牌的价格p1固然会随其销量x1的增长而降低;同时乙品牌销量x2的增长也会使甲的价格有稍微下降,根据实际情况,可以确定价格与销量成线性关系,即p1=300-2.35x1-0.09x2乙的价格p2遵循同样的规律,有p2=480-0.14x1-2.98x2甲品牌的成本会随着其产量的增长而降低,按实际情况可假设为负指数关系,即有q1=38e−0.023x1+116乙品牌的成本q2遵循同样的规律,有q2=94e−0.018x2+145试确定甲、乙两种品牌的产量,使公司获得的总利润最大。【实验准备】无约束最优化方法是指在没有约束条件限制下,求多变量实值函数极值的方法。无约束最优化问题的数学表达式为minf(x),x=(x1,x2,…,xn)∈Rn(1)一般f为非线性函数,x是n维实变量,实际上这是一个多元函数无条件极值问题。由于一个求极大值问题,可以添加负号的方式转化为求极小值问题,因此通常只讨论求极小值问题。应该注意的是,极值问题的解,即极值点,都是局部最优解,全局最优解只能从局部最优解的比较中得到。如何求解无约束最优化问题(1)的最优解呢?一般是采用迭代方法,即先选择一个初始点,再寻找该点处的下降方向,我们称为搜索方向。在该方向上求极小点,得到一个新的点。这个新的点要优于原来的点,即新点处的目标函数值小于原来点处的目标函数值。然后在新点处再寻找下降方向和该方向上求极小点,……,如此下去,最终得到最优点。因此,求解无约束最优化问题需解决两个问题:一是在某些方向上的一维极小点,我们也称为一维搜索;另一个是寻找某些点处的下降方向,这是无约束最优化方法中最重要的一个问题。我们先了解第一个问题最常用的搜索方法。1.求一维极小的二点二次插值方法设d(k)是点x(k)处的一个搜索方向,要在该方向上寻优问题,转化为求一维函数ϕ(α)=f(x(k)+d(k))(2)的求极值问题。最常用的一维搜索方法是插值法,即用某些点的函数值(或导数值)构造插值函数,用插值函数的极小点来近似函数ϕ(α)的极小点。这里介绍一种有效的插值方法,称为二点二次插值方法,即用二点处的函数值和一个点处的导数值构造二次函数,反复用二次函数的极小点来逼近函数ϕ(α)的极小点。算法1二点二次插值法(1)取初始点μ1(如μ1=0),初始步长α(如α=1)和步长缩减因子ρ∈(0,1)(如ρ=0.1),置精度要求ε,并计算ϕ1=ϕ(μ1),ϕ1'=ϕ'(μ1)(2)若ϕ1'<0,则置α=|α|;否则置α=-|α|(3)计算μ2=μ1+α和ϕ2=ϕ(μ2)(4)如果ϕ≤ϕ1+ϕ1'(μ2-μ1),则置α=2α,转(3)(5)计算μ=μ1-ϕ1'(μ2−μ1)22[ϕ2−ϕ1−ϕ1'(μ2−μ1)],ϕ=ϕ(μ),ϕ'=ϕ'(μ)(6)若|ϕ'|≤ε,则停止计算(μ作为极小点);否则置μ1=μ,ϕ1=ϕ,ϕ1'=ϕ',α=ρα,转(2)2.最速下降法前面介绍了一维搜索的二点二次插值方法,下面讨论如何选择搜索方向的问题,我们先来看看两个概念。定义1称n维向量(∂f∂x1,∂f∂x2,…,∂f∂xn)T为函数f(x)在x处的梯度,记为▽f(x)▽f(x)=(∂f∂x1,∂f∂x2,…,∂f∂xn)T(3)定义2设d是任意的单位向量,若极限limn→0+f(¯x+ad)−f(¯x)a存在,则称该极限为函数f(x)在¯x处沿方向d的一阶方向导数,简称为方向导数,记为∂∂df(x),即∂∂df(x)=limn→0+f(¯x+ad)−f(¯x)a(4)最速下降法的基本思想:选取一点x1作为初始点,计算该点的梯度▽f(x1),求该点处的最速下降方向,即令d1=-▽f(x1),再沿d1方向前进,寻找该方向上的极小点,得到点x2,再计算▽f(x2),令d2=-▽f(x2),沿d2方向前进,得到点x3,如此下去……具体算法如下:算法2最速下降法(1)取初...