第5章 无约束最优化方法
- 格式:ppt
- 大小:6.27 MB
- 文档页数:118
运筹学实习报告姓名: xxxxxxxxxx 学号: xxxxxxxxxxx 专业班级: xxxxxxxxxxxx 2 0 1 3年 7 月 0 4 日题目:用最速下降法求解无约束非线性规划问题 摘要:无约束最优化问题的求解方法分为解析法和直接法两大类。
解析法需要计算函数的梯度,其中最速下降法就属于解析法中的一种。
对于一个无约束非线性规划利用最速下降法求解,首先需要确定其优化方向,此优化方向应该选择为f 在当前点处的负梯度方向,利用一维搜索法找出沿此方向上的最小值及其对应点,此后将该点作为新的出发点重复上述过程,直到达到允许的误差为止。
本文通过理论的计算方法,进一步分析,最后用c++编程实现求出允许误差内的最优解。
此编程可用于计算符合下列形式的函数求最优解过程:f(x)=a[0]x1*x1+a[1]x2*x2+a[2]x1*x2+a[3]x1+a[4]x2+a[5]其中:a[i] (i=0,1,2,3,4,5) 为函数的系数。
本文以“ 李占利 主编,中国矿业大学出版社出版”的《最优化理论与方法》 第五章 “无约束最优化方法,5.1 最速下降法 ”例5—1为实例,首先利用上述迭代的方法,计算出各迭代点的函数值,梯度及其模。
然后应用c++语言编程,得到在精度范围内的精确最优解。
C++编程计算的最优解为 : T x x ]0329218.0,00823045.0[)3(*-==。
即转化为分数结果为:⎥⎦⎤⎢⎣⎡-==412432)3(*x x 。
满足精度要求的模为:1010736154.0||||)3(=<=εp 。
关键词:无约束非线性规划 解析法 最速下降法 梯度 模 最优解一、算法思想无约束最优化方法中的最速下降法首先需要确定其优化方向,此优化方向应该选择为f 在当前点处的负梯度方向,利用一维搜索法找出沿此方向上的最小值及其对应点,此后将该点作为新的出发点重复上述过程,直到达到允许的误差为止。
运筹学Operations Research无约束最优化方法西南交通大学经济管理学院§1.最速下降法§2.Newton法§3.共轭梯度法§4.变尺度法§5.直接法)()()()(0)(,,1,P o P X f X f P X f X f X f P E P T k k k k kn λλλ+∇+=+≠∇=∈非零:处的梯度它在是连续可微的函数即是单位向量设P X f o P X f X f P X f P f P X X f T k T k k k k)()()(lim )()(lim )(00∇=+∇=−+=∂∂→→λλλλλλλ的方向导数为:处关于方向在点k k k k T k kk T k X f P X f P X f P X f P P X f θθθcos )(cos )()()()(∇=⋅∇=∇∇∇之间的夹角,则和为。
记就是使下降最快的方向取最小的使处的最速下降方向。
在点通常把它叫做下降最快的方向。
出发使是从点时,上式最小,所以可知,当k kk k k X f f X X f P )(:−∇==πθ下降的搜索方向。
再去寻找使处不需要在点这时的点局部最优解的必要条件的已是满足的驻点。
是,则若f X X f X X f k k k k ,,)NP (0)(=∇:,)(,,,;,,,,,1的最佳步长,即作为点最小的确定使来的一维搜索即通过在负梯度方向上最佳步长方法采用振荡的情况。
所以一般在极值点附近出现来回则若步长选得大计算次数较多则收敛慢长选得小若步。
选择用固定步长时还要确定步长方向之后在选定了搜索得到下一个近似点为了由点+kk k k X X f X X λλ))((min ))((0kk k k k X f X f X f X f ∇−=∇−>λλλ§1.最速下降法)()()()()(0)()()()()())(()()()(21)()()())((2k k T k k T k k k k T k k T k k k k k T k kT k k k k X f X H X f X f X f X f X H X f X f X f d X f X df X f X H X f X f X f X f X f X f ∇∇∇∇==∇∇+∇−∇=∇−∇∇+∇∇−≈∇−λλλλλλλλ得:求导并令其等于零,则对§1.最速下降法Step1.。
⽆约束最优化的常⽤⽅法11/22/2017 12:40:56 PM优化问题在很多领域有着重要的应⽤。
为了⽇后查阅⽅便,本⽂列举常见的⽆约束优化⽅法的计算公式。
需要说明的是,本⽂的⼤部分内容选⾃图书《算法笔记》。
⼀、梯度下降法梯度下降法(Gradient Descent Method)也叫做最速下降法(Steepest Descent Method),因为负梯度是函数局部下降最快的⽅向。
梯度下降梯度下降法的迭代格式为x k+1=x k−αk∇f(x k)梯度下降法⾮常简单,只需要知道如何计算⽬标函数的梯度就可以写出迭代格式。
因此,尽管在不少情况下梯度下降法的收敛速度都很慢,也依然不影响它在⼯业界的⼴泛应⽤。
梯度下降法应⽤到⼀些具体模型上有时也会被视作⼀类特定的算法,例如神经⽹络中的后向传导算法(Back Propagation Algorithm)。
随机梯度下降在机器学习中经常有f(x)=∑m i=1ℓi(x),其中ℓi(x)是第i个训练样本的损失函数。
这时我们可以使⽤随机梯度下降法(Stochastic Gradient Descent Method)。
其迭代格式为x k+1=x k−αk∇ℓr(x k)其中r∈1,2,⋯,m为随机数。
这种做法可以理解为随机选择⼀个训练样本,进⾏⼀次梯度下降的训练。
在机器学习的问题中,我们通常不需要真的求得最优值,这样不精确的迭代,使得算法不容易过拟合。
由于随机梯度下降法的普及,与此相对的梯度下降法有时被称为批量梯度下降法(Batch Gradient Descent Method),因为它同时考虑所有训练样本。
介于批量梯度下降法和随机梯度下降法之间,还有⼩批量梯度下降法(Min-Batch Gradient Descent Method),也就是每次迭代选择若⼲个训练样本。
步长αk的选取梯度下降法可采⽤BB步长(Barzilai Borwein)。
BB步长有两个计算公式,选择其⼀即可。
无约束最优化绪论人们总是尽可能的找优化方法,航空公司合理安排时刻表,工作人员和飞行器,使支出最小。
投资者寻找投资组合,避免风险,从而获得更高的回报。
生产商在设计和操作方面使他们的操作过程效率最大化。
自然优化,物理系统使一个系统趋向能量最小的状态,分子在一个隔离的化学系统中相互反应直到电子能量总和最小。
光线跟随着一定的路径,使传播的时间最小。
最优化问题在工程技术和科学研究中是一个重要的工具。
为了使用最优化,必须定义一个目标,选取决策变量的值,使函数值取得最大值或者最小值。
这个目标可以用一个简单的数值代表(比如利润、时间、势能或者任何一个组合变量)。
这个目标取决于系统特征,称为变量或者未知量。
我们的目标是求出使目标函数最优的一个值。
这些变量可以是受限的也可以是不受限的。
同样,分子中的电子量和贷款的利率不可能是负数。
对于一个给定的问题,定义目标函数和变量约束条件的时候可以认为是一个最优化问题模型,适当的模型约束条件是第一步也是最重要的一步。
如果模型太简单就不能给实用问题一个有用的解,太复杂就解不出来解了。
一旦模型有了公式表达,最优化算法就可以得到解决。
通常算法和模型可以复杂到连计算机都不能算出整个最优化过程,然而仍然有很多算法可以处理实际问题。
通常由用户选择合适的算法来应用于他们的问题,这个选择很重要,它决定着是否可以很快的解决问题,决定着能否建立解决方案。
一个优化算法是否能用取决于它是否能在一个模型中得到一个确切的解。
很多时候,我们利用决策变量把问题的条件表示成等式或不等式,称为约束条件。
如果约束条件不满足问题,则通常利用给出的信息来估计这个问题是否可以改善。
最后,可以在例如灵敏性分析的应用技术来改善模型和数据。
数学公式在数学中,优化就是在约束条件下求出变量的值,使目标函数取得最大值或者最小值。
我们采用以下符号:X:未知变量F : 目标函数Ci :约束条件约束问题可以写成********************************************** 式(1.1)其中f 、c 是关于x的函数,Г、ε为指标集。