最优化原理大作业

合集下载

最优化方法大作业答案

最优化方法大作业答案

1.用薄钢板制造一体积5m 3,长度不小于4m ,无上盖的货箱,要求钢板耗量最小。

确定货箱的长x 1、宽x 2和高x 3。

试列出问题的数学模型。

解:min 32312122x x x x x x z ++= s.t 5321=x x x 41≥x 0,,321≥x x x2.将下面的线性规划问题表示为标准型并用单纯形法求解max f=x 1+2x 2+x 3s .t .2x 1+x 2-x 3≤2 -2x 1+x 2-5x 3≥-6 4x 1+x 2+x 3≤6 x i ≥0 i=1,2,3 解:先化标准形:Min 321x x x z -+=224321=+-+x x x x 6525321=++-x x x x646321=+++x x x x列成表格:121610011460105122001112-----可见此表已具备1°,2°,3°三个特点,可采用单纯形法。

首先从底行中选元素-1,由2/2,6/2,6/4最小者决定选第一行第一列的元素2,标以记号,迭代一次得121210231040116201002121211--------再从底行中选元素-2/3,和第二列正元素1/2,迭代一次得12123230210231040116201002121211-------再从底行中选元素-3,和第二列正元素2,迭代一次得4233410120280114042001112---再迭代一次得1023021062210231010213000421021013--选取最优解:01=x 42=x 23=x3. 试用DFP 变尺度法求解下列无约束优化问题。

min f (X )=4(x 1-5)2+(x 2-6)2取初始点X=(8,9)T ,梯度精度ε=0.01。

解:取IH=0,初始点()TX 9,8=2221)6()5(4)(-+-=x x x f⎥⎦⎤⎢⎣⎡--=∇122408)(21x x x f⎪⎪⎭⎫⎝⎛=∇624)()0(xfTx f d )6,24()()0()0(--=-∇=)0(0)0()1(dxxα+=T)69,248(00αα--=])669()5248(4min[)(min 2020)0(0)0(--+--⨯=+αααdxf 0)6()63(2)24()2458(8)(00)0(0)0(=-⨯-+-⨯--=+ααααd d xdf13077.0130170≈=α⎪⎪⎭⎫⎝⎛=⎪⎪⎭⎫ ⎝⎛--⨯+⎪⎪⎭⎫ ⎝⎛=21538.886153.462413077.098)1(x⎪⎪⎭⎫⎝⎛-=∇43077.410784.1)()1(xf进行第二次迭代:⎥⎦⎤⎢⎣⎡--=-=78463.013848.31)0()1(xxδ⎥⎦⎤⎢⎣⎡--=∇-∇=56924.110783.25)()(1)0()1(xf xf γ101011011101γγγγγδδδH HH H H TTTT-+=03172.8011=γδT86614.6321101==γγγγH T⎥⎦⎤⎢⎣⎡=61561.046249.246249.285005.911Tδδ⎥⎦⎤⎢⎣⎡==46249.240022.3940022.3940363.630110110TTHH γγγγ所以:⎪⎪⎭⎫⎝⎛--=0038.103149.003149.012695.01H⎪⎪⎭⎫⎝⎛-⨯⎪⎪⎭⎫⎝⎛---=∇-=43076.410784.10038.103149.003149.012695.0)()1(1)1(xf H d⎪⎪⎭⎫⎝⎛-=48248.428018.0令 )1(1)1()2(dx x α+=利用)()1()1(=+ααd dxdf ,求得49423.01=α,所以⎪⎪⎭⎫⎝⎛-+⎪⎪⎭⎫⎝⎛=+=21538.213848.021538.886152.449423.0)1()1()2(dxx⎪⎪⎭⎫ ⎝⎛=65因)()2(=∇xf ,于是停,)2(x 即为最优解。

最优化原理的应用案例

最优化原理的应用案例

最优化原理的应用案例案例一:生产线调度优化背景生产线调度是制造业中一个常见的问题。

在一个生产线上,有多个工序需要完成,每个工序都有一定的加工时间和交付时间要求。

优化生产线调度可以提高工作效率,减少交付延迟。

解决方案1.利用最优化原理中的贪心算法,根据工序加工时间和交付时间要求确定工序的顺序。

2.结合动态规划算法,根据当前时间和生产线上工序的顺序,确定每个工序的开始时间和结束时间。

3.通过调整工序的顺序和生产线上的并发程度,优化生产线的调度,尽量减少交付延迟。

优化效果通过应用最优化原理的方法进行生产线调度优化,可以显著提高工作效率和减少交付延迟。

在实际应用中,该方法已经成功应用于多个制造业企业,取得了良好的效果。

案例二:运输路线优化背景在物流行业中,如何确定最佳运输路线是一个重要的问题。

运输路线的优化可以减少运输时间和成本,提高运输效率。

解决方案1.利用最优化原理中的图论算法,根据起点、终点和运输要求确定最短路径。

2.结合遗传算法,通过迭代优化运输路径,找到更优的路径。

3.考虑交通状况、道路拥堵等因素,调整运输路径,避免拥堵和延误。

优化效果通过应用最优化原理的方法进行运输路线优化,可以显著减少运输时间和成本,提高运输效率。

在实际应用中,该方法已经成功应用于物流企业,取得了良好的效果。

案例三:供应链管理优化背景供应链管理是一个复杂的问题,涉及到多个环节和多个参与方。

优化供应链管理可以提高供应链的效率和灵活性,降低成本并减少库存。

解决方案1.利用最优化原理中的线性规划算法,根据供应链中的各个环节和参与方的需求和限制,确定最佳的资源分配方案。

2.结合模拟和仿真技术,模拟供应链中不同环节的运作情况,通过调整参数和策略,优化供应链管理。

3.通过信息技术手段,提高供应链的可见性和可控性,实现及时监控和反馈。

优化效果通过应用最优化原理的方法进行供应链管理优化,可以提高供应链的效率和灵活性,降低成本并减少库存。

在实际应用中,该方法已经成功应用于多家企业,取得了显著的成效。

北航最优化大作业

北航最优化大作业

北航最优化大作业1.引言旅行商问题(Traveling Salesman Problem,TSP)是一种经典的组合优化问题,目标是找到一条路径,使得旅行商从起点出发,途经所有城市一次后返回起点,并且总路径长度最短。

TSP问题具有NP-hard的特性,寻找最优解是一个非常具有挑战性的任务。

本文将基于禁忌算法,探讨TSP问题的求解方法。

2.禁忌算法简介禁忌算法是一种基于局部的元启发式算法,通过在过程中禁止一定的动作来跳出局部最优解,以期望获得更好的全局最优解。

算法通过引入禁忌表和禁忌长度等机制,避免过程中陷入局部最优解。

3.TSP问题的数学建模假设有n个城市,城市之间的距离可以表示为一个n×n的距离矩阵D。

TSP问题的目标可以定义为:min ∑_(i=1)^n ∑_(j=1)^(n) D_ij*x_ijs.t. ∑_(i=1)^n x_ij=1,∑_(j=1)^n x_ij=1,∀i ≠ jx_ij∈{0,1}, 1≤i,j≤n其中x_ij表示城市i与城市j之间的路径是否存在,1表示存在,0表示不存在。

4.禁忌算法在TSP问题中的应用(1)初始化选取一个起始解x,计算其路径长度f(x)。

将x设为当前解x_best,将f(x)设为当前解的最优值f_best。

(2)选择邻域解选择当前解的一个邻域解x',使得x'与x只有一个位置上的交换。

通过随机选择两个位置,进行交换操作。

(3)禁忌判断如果邻域解x'的路径长度f(x')小于当前解的最优值f_best,则更新f_best为f(x'),并将x'设为新的当前解。

否则,比较x'与当前解的禁忌情况。

(4)禁忌更新如果x'未在禁忌表中,或者禁忌表中对应的禁忌周期已过,则将x'设为新的当前解。

否则,选择一个路径长度较短的邻域解x'',即使其路径长度f(x'')大于f_best。

最优化原理和方法(试题+答案)

最优化原理和方法(试题+答案)

《最优化原理与算法》试卷(第一套)刘迟
一、填空题(每小题5分)
1.若()()⎪⎪⎭
⎫ ⎝⎛+⎪⎪⎭⎫ ⎝⎛⎪⎪⎭⎫ ⎝⎛=212121312112)(x x x x x x x f ,则=∇)(x f ,=∇)(2x f .
2.设f 连续可微且0)(≠∇x f ,若向量d 满足 ,则它是f 在x 处的一个下降方向。

4. 设R R f n →:二次可微,则f 在x 处的牛顿方向为 .
5.举出一个具有二次终止性的无约束二次规划算法: .
参考答案
一、填空题
1. ⎪⎪⎭⎫ ⎝⎛++++3421242121x x x x ⎪⎪⎭
⎫ ⎝⎛4224 2. 0)(<∇d x f T
4. )()(1
2x f x f ∇∇--
5. 牛顿法、修正牛顿法等(写出一个即可)
第二套 叶正亮
1.拟牛顿法主要是为了解决牛顿法的什么不足?(3点即可)
A ,每次迭代不能保证下降,b ,起始点要求严格c ,迭代求不出方向d ,构造困难,计算复杂
2.求解多目标最优化问题的评价函数法包括(线性加权法,极大极小法,乘除法,理想点发,平方和加权法)
3.设{X k
}为由,求解D x →min f (x )的算法A 产生的迭代序列,假设算法A 为下降算法,则对}3,2,1,0{ ,∈∀k ,恒有( )1()(k k X f X f ≤+ )。

最优化方法与应用大作业(一)最速下降法

最优化方法与应用大作业(一)最速下降法

最优化方法与应用大作业(一)
---最速下降法部分:
1.问题描述:
用梯度下降法求解以下优化问题
min f(x)=(x1+10*x2)^2+5(x3-x4)^2+(x2-2*x3)^4+10*(x1-x4)^4
2.编程感想:
该算法需要计算Hesse矩阵,C语言在向量运算时没有Matlab方便,所以手工完成了理论计算,再输入,破坏了程序的移植性。

同时,实验表明当初始值离理想点较远且精度要求较高时,最速下降法的收敛速率极慢,迭代几乎不可能完成,这对初值的选取提出了一定限制。

3.结果分析:
编译界面(Mac os X,Xcode环境)
输入参数(设定为(0.1,0.2,0.3,0.4)):
结果(此处列出每次迭代结果)。

明显的看到,最速下降法的收敛较慢,最终结果接近理论值(F(0,0,0,0)=0)所以该结果可以满意。

4.算法代码见下页
西安电子科技大学电子工程学院020951
李骏昊02095005。

最优化方法大作业模板

最优化方法大作业模板

命题人:审核人:大作业学期:至学年度第学期课程:最优化方法课程代号:签到序号:使用班级:姓名:学号:题号一二三四五六七八九十总分得分一、(目标1)请从以下6种算法中任选一种,说明算法的来源、定义、基本思想和优缺点,并给出算法步骤(包含算法流程图)和例子(包含程序与运算结果)。

①禁忌搜索算法;②模拟退火算法;③遗传算法;④神经网络算法;⑤粒子群算法;⑥蚁群算法。

二、(目标1)某工厂生产甲、乙两种产品,已知生产这两种产品需要消耗三种材料A 、B 和C ,其中生产过程中材料的单位产品消耗量和总量,以及单位产品的利润如下表所示。

该如何配置安排生产计划,使得工厂所获得的利润最大?材料甲乙资源总量材料A (Kg )3265材料B (Kg )2140材料C (Kg )0375单位利润(元/件)15002500-(1)要保证工厂利润的最大化,写出相应的生产计划数学模型;(2)根据对偶理论,直接写出该线性规划的对偶问题;(3)采用单纯形表法对该该线性规划问题进行求解,写出详细的计算过程;(4)采用Matlab 软件对该线性规划问题进行求解,写出完整的源程序,并给出程序运行结果;(5)讨论当材料B 的资源总量发生变化时,该线性规划问题的最优解会如何变化?课程目标目标1……题号一、二、三、四、五……分值20、25、20、20、15……得分得分三、(目标1)求解下列无约束非线性规划问题(1)采用黄金分割法求解:min 4()24f x x x =++。

初始区间为[-1.0],精度为ε=10-4。

(要求:采用黄金分割法进行Matlab 编程求解,写出源程序,并给出运行结果,列出迭代过程的数据表格)(2)采用阻尼牛顿法求解:222121212min (,)4f x x x x x x =+-。

分别取两个初始点:x A =(1,1)T ,x B =(3,4)T 。

(要求:采用阻尼牛顿法进行Matlab 编程求解,并给出运行结果,列出迭代过程的数据表格)四、(目标1)求解下列约束非线性规划问题:22112212121212min ()23532..00f x x x x x x x x x x x s t x x =-+--+≤⎧⎪-≤⎪⎨≥⎪⎪≥⎩(1)采用罚函数法进行求解,需写出具体计算过程;(2)采用二次规划方法进行求解,需写出具体计算过程,并进行MATLAB 编程,写出源程序和运算结果;五、(目标1)(1)某商店在未来的4个月里,准备利用它的一个仓库来专门经营某种商品,仓库的最大容量为1000单位,而且该商店每月只能出卖仓库现有的货。

最优化方法课程设计-最优化大作业-用优化算法求解函数最值问题

最优化方法课程设计-最优化大作业-用优化算法求解函数最值问题

最优化方法大作业---------用优化算法求解函数最值问题摘要最优化(optimization) 是应用数学的重要研究领域.它是研究在给定约束之下如何寻求某些因素(的量),以使某一(或某些)指标达到最优的一些学科的总称。

最优化问题一般包括最小化问题和最大化问题,而最大化问题可以通过简单的转化使之成最最小化问题。

最小化问题分为两类,即约束最小化和无约束最小化问题。

在此报告中,前两个问题属于无约束最小化问题的求解,报告中分别使用了“牛顿法”和“共轭梯度法”。

后两个问题属于有约束最小化问题的求解,报告中分别用“外点法”和“内点法”求解。

虽然命名不一样,其实质都是构造“惩罚函数”或者“障碍函数”,通过拉格朗日乘子法将有约束问题转化为无约束问题进行求解。

再此报告中,“外点法”和“内点法”分别用了直接求导和调用“牛顿法”来求解无约束优化问题。

在此实验中,用“共轭梯度法”对“牛顿法”所解函数进行求解时出现错误,报告中另取一函数用“共轭梯度法”求解得到正确的结果。

此实验中所有的函数其理论值都是显见的,分析计算结果可知程序正确,所求结果误差处于可接受范围内。

报告中对所用到的四种方法在其使用以前都有理论说明,对“外点法”中惩罚函数和“内点法”中障碍函数的选择也有相应的说明,另外,对此次试验中的收获也在报告的三部分给出。

本报告中所用程序代码一律用MATLAB编写。

【关键字】函数最优化牛顿法共轭梯度法内点法外点法 MATLAB一,问题描述1,分别用共轭梯度发法和牛顿法来求解一下优化问题()()()()()441432243221102510min x x x x x x x x x f -+-+-++=2, 分别用外点法和内点发求解一下优化问题⎩⎨⎧≥-++01.min 212231x x t s x x二、问题求解1.1 用牛顿法求解()()()()()441432243221102510min x x x x x x x x x f -+-+-++=1.1.1问题分析:取步长为1而沿着牛顿方向迭代的方法称为牛顿法,在牛顿法中,初始点的取值随意,在以后的每次迭代中,()[]()k k k k x f x f x x ∇∇-=-+121,直到终止条件成立时停止。

西电最优化上机报告(大作业)

西电最优化上机报告(大作业)

上机报告一.最速下降法算法简述:1.在本例中,先将最速下降方向变量赋一个值,使其二范数满足大于ε的迭代条件,进入循环。

2.将函数的一阶导数化简,存在一个矩阵,将其hesse矩阵存在另一个矩阵。

依照公式求出α,进而求出下一任迭代的矩阵初值。

循环内设置一个计数功能的变量,统计迭代次数。

3.求其方向导数的二范数,进行判别,若小于ε,则跳出循环,否则将继续迭代。

4.显示最优解,终止条件,最小函数值。

心得体会:最速下降法的精髓,无疑是求梯度,然后利用梯度和hesse矩阵综合计算,求解下一个当前最优解。

但是,要求函数是严格的凸函数,结合严格凸函数的大致图像,这就给初值的选取提供了一点参考。

例如在本例中,由于含有两个变量的二次方之和,结合大致图像,想当然的,初值的选取应当在原点附近;又因为变量的二次方之和后面,还减去了变量的一次形式和一次混合积,所以初值的选取应该再向第一象限倾斜。

综合以上考量,第一次选取(1,1)作为初值,判别精度方面,取到千分位,暂定为0.001。

运行以后,结果显示迭代了25次,最优解为(3.9995,1.9996),终止条件为5.4592e-04,目标函数为-8.0000。

这个结果已经相当接近笔算结果。

整体的运行也比较流畅,运算速度也比较快。

第二次取值,决定保留判别精度不变,将初值再适当向第一象限倾斜,取(2,2)作为初值,运行后,显示只迭代了11次!最优结果显示(3.9996,1.9997),终止条件为3.6204e-04,最优解-8.0000。

可见,最优结果更接近理想值,终止条件也变小了,最关键的是,迭代次数减少至第一次的一半以下!这说明以上初选取的方向是对的!第三次再进行初值细化,判别精度仍然不变,初值取(3,3)。

结果令人兴奋,只迭代了四次!最优解已经显示为(4.0000,2.0000),终止条件为2.4952e-04,目标函数-8.0000。

第四次,判别精度不变,取初值(4,4)。

最优化理论和算法: 大作业(一)

最优化理论和算法: 大作业(一)

最优化理论和算法:大作业(一)简介:这个大作业的主要目的是在Matlab下自己编写单纯形法算法来求解标准型线性规划问题:min c T xs.t.Ax=bx≥0其中b≥0,A是m×n(m≤n)的矩阵。

假设A的秩是m.特别的,A并不一定包含单位矩阵。

按照要求编写下列小程序。

程序(一):实现单步单纯形法程序格式:function[istatus,iB,iN,xB]=simplex_step(A,b,c,iB,iN,xB)%实现一步单纯形法%输入参数:%A-(n,m)系数矩阵%b-(m,1)(正)右端向量%c-(n,1)目标函数系数%iB-(1,m)整数向量记录当前基本变量的指标数%iN-(1,n-m)整数向量记录当前非基本变量的指标数%xB-(m,1)向量代表当前基本变量的值%输出参数:%istatus-整数标记单纯形法执行状态%istatus=0正常单纯形法步完成% istatus=32问题无界% istatus=-1找到最优基本可行解%iB-(1,m)整数向量记录运行单纯形法之后的基本变量的指标数%iN-(1,n-m)整数向量记录运行单纯形法之后的非基本变量的指标数%xB-(m,1)向量记录运行单纯形法之后的基本变量的值注:该程序不考虑退化情形。

程序(二):利用两步法中的第一步来求解一个初始基本可行解程序格式:function[istatus,iB,iN,xB]=simplex_init(A,b)%实现两步法中的第一步来求解一个初始基本可行解,通过求解下面的问题:%min y_1+...+y_m%s.t.Ax+y=b%x>=0,y>=0%A是m x n矩阵。

%输入参数:%A-(n,m)系数矩阵%b-(m,1)正的右端向量%输出参数:%istatus-整数标记初始化状态% istatus=1找到原问题的一个基本可行解% istatus=4问题可行域是空集% istatus=16初始化过程失败%iB-(1,m)整数向量记录运行初始化之后的基本变量的指标数(对应原问题)%iN-(1,n-m)整数向量记录运行初始化之后的非基本变量的指标数(对应原问题)%xB-(m,1)向量记录运行初始化之后的基本变量的值(对应原问题)注:为了简单化程序,若初始化过程找到的初始基本可行解包含某些人工变量y j,设置istatus=16(初始化失败)。

最优化方法大作业

最优化方法大作业

发动机空燃比控制器引言:我主要从事自动化相关研究。

这里介绍我曾经接触过的发动机空燃比控制器设计中的优化问题。

发动机空燃比控制器设计中的最优化问题AFR =afm m && (1)空燃比由方程(1)定义,在发动机运行过程中如果控制AFR 稳定在14.7可以获得最好的动力性能和排放性能。

如果假设进入气缸的空气流量am &可以由相关单元检测得到,则可以通过控制进入气缸的燃油流量f m &来实现空燃比的精确控制。

由于实际发动机的燃油喷嘴并不是直接对气缸喷燃油,而是通过进气歧管喷燃油,这么做会在进气歧管壁上液化形成油膜,因此不仅是喷嘴喷出的未液化部分燃油会进入气缸,油膜蒸发部分燃油也会进入气缸,如方程(2)。

这样如何更好的喷射燃油成为了一个问题。

1110101122211ττττ⎡⎤⎡⎤-⎢⎥⎢⎥⎡⎤⎡⎤⎢⎥⎢⎥=+⎢⎥⎢⎥⎢⎥⎢⎥-⎢⎥⎢⎥⎣⎦⎣⎦⎢⎥⎢⎥-⎢⎥⎢⎥⎣⎦⎣⎦⎡⎤⎡⎤⎢⎥⎣⎦⎢⎥⎣⎦f ff v X x x u x x X x y =x && (2)其中12、,==ff fv x m x m &&=f y m &,=fi u m &这里面,表示油膜蒸发量ff m &、fvm &表示为液化部分燃油、fim &表示喷嘴喷射的燃油,在τf 、τv 、X 都已知的情况下,由现代控制理论知识,根据系统的增广状态空间模型方程(3)00000011011011114.70ττττ⎡⎤⎡⎤-⎡⎤⎢⎥⎢⎥⎡⎤⎡⎤⎢⎥=-+-⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎢⎥⎢⎥⎢⎥⎣⎦⎢⎥⎢⎥⎣⎦⎣⎦⎡⎤⎡⎤=⎢⎥⎣⎦⎣⎦ff v v a X X u +q q m y q x x x &&& (3)其中()014.7⎰taq =y -m&。

由极点配置方法,只要设计控制器方程(4),就可以使得y 无差的跟踪阶跃输入,那么y 也能较好的跟踪AFR *am /&。

北航最优化方法大作业参考

北航最优化方法大作业参考

北航最优化方法大作业参考旅行商问题是一个经典的组合优化问题,目标是找到一条最短路径,使得旅行商能够在访问所有城市后回到起始城市。

在实际应用中,旅行商问题有着广泛的应用,例如物流配送、城市规划等领域。

为了解决旅行商问题,我们可以采用启发式算法,其中一个常用的方法是遗传算法。

遗传算法是一种模拟自然进化过程的优化算法,通过模拟生物遗传的选择、交叉和变异等操作,逐步优化问题的解。

首先,我们需要对问题进行建模。

假设有N个城市,我们可以通过一个N*N的距离矩阵来表示各个城市之间的距离。

同时,我们需要定义一个染色体表示一条路径,其中每个基因表示一个城市的编号。

接下来,我们可以采用遗传算法来求解最优解。

遗传算法一般包括以下几个步骤:1.初始化种群:随机生成初始的染色体种群,每个染色体都表示一条路径。

2.适应度评价:根据染色体的路径长度来评估每个染色体的适应度,路径越短适应度越高。

3.选择操作:选择适应度较高的染色体作为父代,采用轮盘赌选择算法确定父代。

4.交叉操作:采用部分映射交叉算子对父代进行交叉操作,生成新的子代。

5.变异操作:对子代进行变异操作,以增加种群的多样性。

6.环境选择:根据适应度选择下一代种群,同时保留精英个体,避免解的丢失。

7.终止条件:当达到预设的迭代次数或者达到最优解时,终止算法。

通过以上步骤的迭代,我们可以逐步优化路径的长度,最终得到一条最短路径。

除了遗传算法,我们还可以尝试其他的优化算法,例如模拟退火算法、蚁群算法等。

这些算法在求解旅行商问题时都有一定的优势和适用性。

总结起来,旅行商问题是一个经典的组合优化问题,在北航最优化方法大作业中可以选择使用启发式算法来解决。

我们可以尝试使用遗传算法来求解最优路径,并根据实际情况选择合适的算法参数和终止条件。

通过不断地迭代和优化,我们可以得到一条最短路径,满足旅行商的需求。

以上是关于北航最优化方法大作业的参考内容,希望对你的写作有所帮助。

如果有其他疑问,欢迎继续提问。

西电最优化大作业

西电最优化大作业
1.2.1 算法分析: 取
p0 f x0 , 当 搜 索 到
xk 1







pk 1 f xk 1 k pk , k 0,1,...,n 2 ,此时, pk 1 与 pk A 共轭,用 Apk 右乘上式得
T pk 1 Apk f xk 1 Apk k pk Apk
m 2 理解为拉格朗日乘子法: minT X ; M min f x M min0, g i x i 1
其中
min0, g i x 2
g i 0,i 1 ~ m
当g i x 0,


T pk 1 Apk 0

f x k 1 Ap k k k 0,1,...,n 2 ,若不满足条件,进行下一次迭代。 pT p Ap k
T
1.2.2 问题求解 本程序编程语言为 MATLAB,终止条件为 f x k x0 =[1 1]。 程序代码见附件conjugate.m 1.2.3 计算结果如下:
三、此次实验的收获
经过几个晚上的艰苦奋斗,努力学习,不断调试程序,最终才得以成功运行 程序并得到满意的结果。 有过山重水复疑无路的困境,但最终迎来的还是柳暗花 明又一村的喜悦。通过此次实验,我的收获主要有以下几点: 以前自己在求解函数最优化问题时都是通过求导、画图等方法,而这几个算法都 是通过不断迭代寻找最优解, 相对来说更有利于电脑编程的实现和推广,对函数 本身性质的要求也不是太高。 在最速下降法中, 沿负梯度方向函数值很快的说法容易使我们相信这一定是 最理想的搜索方向, 沿该方向搜索时收敛速度应该很快,然而在算法实现过程中 发现,梯度法的收敛速度并不快(迭代次数为 45 次) ,比其它算法收敛速度都要 慢。而共轭梯度法仅需要利用一阶导数信息,也不再要求精确的直线搜索,进而 克服了最速下降法收敛慢的缺点(迭代次数为 2 次) 。 内点法和外点法的实质都是构造 “惩罚函数” 或者 “围墙函数 (或障碍函数) ” , 将约束函数其转化为非约束函数, 其中外点法在将函数转化为非约束函数后调用 了“牛顿法”来求解,内点法也尝试过用“牛顿法”来求解非约束函数,但由于 障碍函数为倒数形式, 导致了程序在求矩阵逆的时候产生了无穷大的量,函数无 解,所以内点法采用“直接求导”来求解非约束函数。此外,我也尝试了用求极 限的方法来求解最优点,根据手算的步骤,在求得偏导数为 0 的点后,令障碍因 子 mk→0,求得最优解,方法简单,算法易于实现。 这门课在学习过程中多以理论学习为主,如果平时不注重实践,将自己所学 运用到实际中, 就很难会有太大的收获,通过自己的努力用课堂上的算法解决了 实际问题,无疑加深了自己对算法理论的理解。

最优化大作业2014

最优化大作业2014
}
}
return f;
}
void Q_fun(double f_xs[n+n+1+(n-1)*n/2],double Q[n][n+1])
{
int i,j;
for(i=0;i<n;i++)
{
Q[i][i]=2*f_xs[i];
}
for(i=0;i<n;i++)
{
Q[i][n]=f_xs[n+i];
}
int com(float,float);
float x,i,z,w,h;
printf("%f",&x);
main()
{
z=x=0;
i=0.1;
for(i<=6)
{
w=x=1);
z=w;
x=w;
}
printf("%f/n",f(w));
}
float f(float r)
for(int j=0;j<n;j++)//单位化,(注意:逆矩阵每列都单位化,而原矩阵则不受影响)
{
a[s][j]=a[s][j]/t;
c[s][j]=c[s][j]/t;
}
for(int i=0;i<n;i++)//消元
{
if(i!=s)
{
m[i]=a[i][s]/a[s][s];
for(int j=0;j<n;j++)//注意:逆矩阵每列都消元,而原矩阵则不受影响
}
for(;i<2*n;i++)//计算X部分
{

最优化方法大作业

最优化方法大作业

学号《最优化方法》课程实践完成时间:2015年5月30日星期六选择题目:题目一使用优化软件,编写重要算法的程序1.第一大题:(1)学习最优流量工程问题,nonsmooth_MCFP.pdf(2)问题重述:Figure 1一个简单的网络拓扑和流量需求如Figure 1所示,网络有7 个节点,13 条弧,每条弧的容量是5 个单位. 此外有四个需求量均为4个单位的源-目的对(M=4),具体的源节点、目的节点信息如图所示. 这里为了简单,省去了未用到的弧,此外弧上的数字表示弧的编号。

(3)极小化MAU设定变量x,为531⨯的向量,其中(53)x即为变量z。

使用linprog 函数求解极小化问题得到x。

之前确定三个约束条件。

1、Ax b⨯的矩阵,b为131⨯的向量。

≤,其中A为13532、eq eq x b A =,其中eq A 为2853⨯的矩阵,eq b 为281⨯的向量。

3、x lb ≥,其中lb 为153⨯的向量 编程计算后得到结果如下:(4) 极小化FT 成本函数设定变量x ,为651⨯的向量,其中(53:65)x 即为变量l z 。

使用linprog 函数求解极小化问题得到x 。

之前确定三个约束条件。

1、Ax b ≤,其中A 为7865⨯的矩阵,b 为781⨯的向量。

2、eq eq x b A =,其中eq A 为2865⨯的矩阵,eq b 为281⨯的向量。

3、x lb ≥,其中lb 为165⨯的向量 编程计算后得到结果如下:2. 第二大题: 2.1. 习题5.6 2.1.1. 问题分析问题2112212()(101810)/241513q x x x x x x x =-++-+ 通过matlab 画出其等高线为:2.1.2. 最速下降法最速下降法中,取值:k k p g =-==()()k k k kk T k k T k g p g g p Gp g Ggα- x1x 2等高线-224681012(1)()k x k x k p α+=+2.1.3. 算法流程图如下图所示:2.1.4. 初始值(0,0)编程运行结构为:收敛过程曲线为:2.1.5. 初始值(-0.4,0)编程运行结构为:收敛过程曲线为:x1x 2等高线-2246810122.1.6. 初始值(10,0)编程运行结构为:收敛过程曲线为:x1x 2-2246810122.1.7. 初始值(11,0)编程运行结构为:收敛过程曲线为:x1x 2-2246810122.2. 习题5.7 2.2.1. 问题分析问题()94ln(7)f x x x =--497g x =-- 24(7)G x =- Matlab 画出在区间(7 10)的函数、一阶导数、二阶导数的变化曲线为x1x 2-22468101277.588.599.510707274767880828486xf函数变化曲线77.588.599.510-35-30-25-20-15-10-50510xg一阶导数g 变化曲线2.2.2. 牛顿法牛顿法中,取值:k k k G s g =- 1k k k s xx +=+其中,如果G 不是半正定,则采用修正牛顿法(+)k k k G I s g λ=-77.588.599.51050100150200250300350400xg二阶导数G 变化曲线2.2.3.算法流程图如下图所示:2.2.4.初始值7.40编程运行结构为:收敛过程曲线为:2.2.5. 初始值7.20编程运行结构为:收敛过程曲线为:7.397.47.417.427.437.447.457.4670.24570.2570.25570.2670.265xf2.2.6. 初始值7.01编程运行结构为:收敛过程曲线为:7.17.27.37.47.57.67.770.270.470.670.87171.271.471.6xf2.2.7. 初始值7.80编程运行结构为:收敛过程曲线为:6.856.9 6.9577.057.17.157.27.257.37.35727476788082xf2.2.8. 初始值7.88编程运行结构为:收敛过程曲线为:7.17.27.37.47.57.67.77.87.97070.57171.572xf2.2.9. 分析函数在区间(7,7.8888)内是凸函数,G 恒大于零,所以单纯牛顿法保证收敛。

最优化方法课程设计-最优化大作业-用优化算法求解函数最值问题

最优化方法课程设计-最优化大作业-用优化算法求解函数最值问题

最优化方法大作业---------用优化算法求解函数最值问题摘要最优化(optimization) 是应用数学的重要研究领域.它是研究在给定约束之下如何寻求某些因素(的量),以使某一(或某些)指标达到最优的一些学科的总称。

最优化问题一般包括最小化问题和最大化问题,而最大化问题可以通过简单的转化使之成最最小化问题。

最小化问题分为两类,即约束最小化和无约束最小化问题。

在此报告中,前两个问题属于无约束最小化问题的求解,报告中分别使用了“牛顿法”和“共轭梯度法”。

后两个问题属于有约束最小化问题的求解,报告中分别用“外点法”和“内点法”求解。

虽然命名不一样,其实质都是构造“惩罚函数”或者“障碍函数”,通过拉格朗日乘子法将有约束问题转化为无约束问题进行求解。

再此报告中,“外点法”和“内点法”分别用了直接求导和调用“牛顿法”来求解无约束优化问题。

在此实验中,用“共轭梯度法”对“牛顿法”所解函数进行求解时出现错误,报告中另取一函数用“共轭梯度法”求解得到正确的结果。

此实验中所有的函数其理论值都是显见的,分析计算结果可知程序正确,所求结果误差处于可接受范围内。

报告中对所用到的四种方法在其使用以前都有理论说明,对“外点法”中惩罚函数和“内点法”中障碍函数的选择也有相应的说明,另外,对此次试验中的收获也在报告的三部分给出。

本报告中所用程序代码一律用MATLAB编写。

【关键字】函数最优化牛顿法共轭梯度法内点法外点法 MATLAB一,问题描述1,分别用共轭梯度发法和牛顿法来求解一下优化问题()()()()()441432243221102510min x x x x x x x x x f -+-+-++=2, 分别用外点法和内点发求解一下优化问题⎩⎨⎧≥-++01.min 212231x x t s x x二、问题求解1.1 用牛顿法求解()()()()()441432243221102510min x x x x x x x x x f -+-+-++=1.1.1问题分析:取步长为1而沿着牛顿方向迭代的方法称为牛顿法,在牛顿法中,初始点的取值随意,在以后的每次迭代中,()[]()k k k k x f x f x x ∇∇-=-+121,直到终止条件成立时停止。

北航最优化方法有关大作业参考

北航最优化方法有关大作业参考

1流量工程问题重述定一个有向网 G=(N,E) ,此中 N 是点集, E 是弧集。

令 A 是网 G 的点弧关矩,即 N×E 矩,且第 l 列与弧里 (I,j) ,第 i 行元素 1 ,第 j 行元素 -1 ,其他元素 0。

再令b m=(b m1 ,⋯,b mN )T,f m =(f m1,⋯ ,f mE )T,可将等式束表示成:Af m=b m本算例一典 TE 算例。

算例网有 7 个点和 13 条弧,每条弧的容量是 5 个位。

别的有四个需求量均 4 个位的源一目的,详细的源点、目的点信息如所示。

里了,省区了未用到的弧。

别的,弧上的数字表示弧的号。

此,c=((5,5 ⋯,5) 1 )T,×13依据上述四个束条件,分求得四个状况下的最决议量x=((x 12 ,x13,⋯ ,x75)1×13 )。

1 网拓扑和流量需求7 节点算例求解算例1(b1=[4;-4;0;0;0;0;0]T)转变为线性规划问题:Minimize c T x1Subject to Ax1=b1x1>=0 利用 Matlab 编写对偶纯真形法程序,可求得:最优解为 x1*=[4 0 0 0 0 0 0 0 0 0 0 0 0] T对应的最优值 c T x1=201.2.2 算例 2(b2=[4;0;-4;0;0;0;0] T)Minimize c T x2Subject to Ax2=b2X2>=0 利用 Matlab 编写对偶纯真形法程序,可求得:最优解为 x2*=[0 4 0 0 0 0 0 0 0 0 0 0 0]T对应的最优值 c T x2=201.2.3 算例 3(b3=[0;-4;4;0;0;0;0] T)MinimizeTc x3Subject to Ax3=b3X3>=0 利用 Matlab 编写对偶纯真形法程序,可求得:最优解为 x3*=[4 0 0 0 4 0 0 0 0 0 0 0 0] T对应的最优值 c T x3=40算例4(b4=[4;0;0;0;0;0;-4]T )Minimize c T x4Subject to Ax4=b4X4>=0利用 Matlab 编写对偶纯真形法程序,可求得:最优解为 x4*=[4 0 0 4 0 0 0 0 0 4 0 0 0] T对应的最优值 c T x4=601.3 计算结果及结果说明算例1(b1=[4;-4;0;0;0;0;0]T)算例 1 中,由 b1 可知,节点 2 为需求节点,节点 1 为供应节点,由节点 1 将信息传输至节点 2 的最短路径为弧 1。

最优化大作业-最优化理论在信息论中的应用

最优化大作业-最优化理论在信息论中的应用

最优化理论基础大作业——最优化理论在信息论中的应用1. 引言最优化理论与算法是一个重要的数学分支,它讨论在众多的方案中什么样的方案最优以及怎么找出最优方案。

最优化理论简化为数学描述就是求目标函数在可行域中的极值问题。

求极值是一个常见而又复杂的问题,最优化理论与算法系统的分析了各种情况下极值的求解方法。

信息论是运用概率论与数理统计的方法研究信息、信息熵、通信系统、数据传输、密码学、数据压缩等问题的应用数学学科。

狭义的信息论以香农信息论为基础,核心内容是香农三大极限定理,涉及最大熵、信道容量、最佳信源编码以及最佳信道编码等最优化问题。

因此用最优化方法解决信息论里极值问题是方便而有效的。

2. 信息论信息是关于事件随机性的一种描述。

一个消息所具有的信息量的大小由它的自信息定义,自信息定义为自信息只是表征信源中各个符合的不确定都,而一个信源总是包含多个符号消息,各个符号消息又按概率空间的先验概率分布,因而各个符号的自信息量就不同。

由此引入信息熵,它表征信源的平均自信息量,即平均每个符号所能提供的信息量。

它只与信源各符号出现的概率有关,可以用来表征信源输出信息的总体特征。

信息熵表示为信息熵具有最大熵定理,即需要求出熵的最大值它的约束条件为一种常用的简单的信道是二进制无记忆离散信道,即输入输出都是0或1,假设信源发生0和1的概率分别为和,将求最大值问题转换为求最小值问题为信息论中另一个重要的问题是求信道的容量,信道容量是指信道能无错误传送的最大信息率,它用信道两端最大的互信息量表征。

信道两端X 和Y 的平均互信息定义为所以信道容量为因为信道的特性是由转移概率 决定的,所以对一个给定的信道,它的 是确定的,所以信道容量是关于变量 的一个最优化问题。

同样对于无记忆对称二进制信道,假设信源发生0和1的概率分别为 和 ,它的转移概率如图所示:则信道容量是关于概率 和 的最优化问题。

3. 使用可行方向法法求最大熵下面我们使用最优化方法来求二进制信源的最大熵,即求极值问题因为这是一个约束非线性规划,所以可以使用可行方向法。

最优化大作业(一)终稿

最优化大作业(一)终稿

西安电子科技大学电子工程学院智能科学与技术专业最优化大作业(一)内容:1.最速下降法2.牛顿法班级:020951姓名:张普照学号:02095076日期:2011.11.24一、心得体会1.最速下降法优点;算法简单,每次迭代计算量小,内存占用小,即使从一个不好的初始点出发,往往也能收敛到局部极小点。

缺点:一个严重缺点就是收敛速度慢,迭代次数多。

特别是对于等值线(面)具有狭长深谷形状的函数,收敛速度更慢,其原因是产生锯齿现象。

2.牛顿法优点:收敛速度非常快,迭代次数相应就很少,这可以从实验结果中看出,而且具有二次收敛的优点。

缺点:当Hesse矩阵非正定时,Newton法的搜索将会失败;对初始点要求严格,一般要求比较接近或有利于接近极值点,而这在实验计算中是比较难办的;在进行某次迭代时可能求不出搜索方向;Newton方向构造困难,计算相当复杂,除了求梯度以外还需计算Hesse矩阵及其逆矩阵,占用机器内存相当大。

二、结果目标函数为:f=(x1+10*x2)^2+5*(x3-x4)^2+(x2-2*x3)^4+10*(x1-x4)^4;初始点:X0=[100,100,100,100]’;终止限:0.000001在结果中:X表示所求得的最优解,F为取最优解释的目标函数值,k为总的迭代次数。

1.最速下降法结果>> fastest_drop2()X =0.0048-0.00050.00240.0024F =1.0835e-009k=3976222.牛顿法结果>>Newton2()X =-0.00200.00020.00020.0002F = 2.0774e-010k = 34三、源代码1.最速下降法%********************主函数**************************** function fastest_drop2()X0=[100,100,100,100]';k=0;f0=fun(X0);g0=grad(X0);H0=hesse(X0);while(1)X=ls(X0,g0,H0);F=fun(X);G=grad(X);H=hesse(X);if(norm(G)<0.000001)XFkbreak;elseX0=X;f0=F;g0=G;H0=H;k=k+1;endend%待求解原函数function f=fun(x)f=(x(1,1)+10*x(2,1))^2+5*(x(3,1)-x(4,1))^2+(x(2,1)-2*x(3,1))^4+10*(x(1,1)-x(4,1))^4;end%梯度函数function g=grad(x)g=[2*x(1,1)+20*x(2,1)+40*(x(1,1)-x(4,1))^3;20*x(1,1)+200*x(2,1)+4*(x(2,1)-2*x(3,1))^3;10*x(3,1)-10*x(4,1)-8*(x(2,1)-2*x(3,1))^3;-10*x(3,1)+10*x(4,1)-40*(x(1,1)-x(4,1))^3;]; end%直线搜索function ls=ls(X,g,H)ls=X-(g'*g)/(g'*H*g)*g;end%海森矩阵function h=hesse(x)h=[ 2+120*(x(1,1)-x(4,1))^2, 20, 0,-120*(x(1,1)-x(4,1))^2; 20, 200+12*(x(2,1)-2*x(3,1))^2, -24*(x(2,1)-2*x(3,1))^2, 0; 0, -24*(x(2,1)-2*x(3,1))^2, 10+48*(x(2,1)-2*x(3,1))^2, -10; -120*(x(1,1)-x(4,1))^2, 0, -10, 10+120*(x(1,1)-x(4,1))^2];e ndend%***************最速下降法代码结束*************2.牛顿法%**********牛顿法主函数****************function Newton2()X0=[100,100,100,100]';k=0;f0=fun(X0);g0=grad(X0);while(1)H=hesse(X0);P=-inv(H)*g0;X=X0+P;F=fun(X);G=grad(X);if(norm(G)<0.000001)XFkbreak;elseX0=X;f0=F;g0=G;k=k+1;endendend%**************目标函数************************function f=fun(x)x1=x(1,1); x2=x(2,1); x3=x(3,1); x4=x(4,1);f=(x1+10*x2)^2+5*(x3-x4)^2+(x2-2*x3)^4+10*(x1-x4)^4;end%************梯度矩阵******************************* function g=grad(x)x1=x(1,1); x2=x(2,1); x3=x(3,1); x4=x(4,1);g =[ 2*x1+20*x2+40*(x1-x4)^3;20*x1+200*x2+4*(x2-2*x3)^3;10*x3-10*x4-8*(x2-2*x3)^3;-10*x3+10*x4-40*(x1-x4)^3];end%*************海森矩阵****************************** function h=hesse(x)x1=x(1,1); x2=x(2,1); x3=x(3,1); x4=x(4,1);h = [ 2+120*(x1-x4)^2, 20, 0, -120*(x1-x4)^2;20, 200+12*(x2-2*x3)^2, -24*(x2-2*x3)^2, 0;0, -24*(x2-2*x3)^2, 10+48*(x2-2*x3)^2, -10;-120*(x1-x4)^2, 0, -10, 10+120*(x1-x4)^2];end%***********牛顿法代码结束***************。

最优化作业

最优化作业

[键入公司名称]一题目要求:1.分别用①牛顿法和②变尺度法求解优化问题min f(x)=x^2-2*x*y+4*y^2+x-3*y2.利用①外点法和②内点法解下列约束问题 min f(x)=(x-3)^3+(y-2)^2 s.t. h(x)=x1+x2-4≤0二基本思想牛顿法:应用基本迭代公式X k+1=X k +t k P k 中,每轮迭代在迭代的起始点X K 处用一个适当的二次函数来近似该点处的目标函数,由此用点X K 指向近似二次函数极小点的方向来构造搜索方向Pk. 设()f x 是二次可微实函数,n k x R ∈,Hesse 矩阵()2k f x ∇正定。

在k x 附近用二次Taylor 展开近似f ,()()()()()()212TTk T k k k k f x s q s f x s f x s s f x s +≈=+∇+∇ k s x x =-,()()k q s 为()f x 的二次近似。

将上式右边极小化,便得: ()()121k k k k x x f x f x -+⎡⎤=-∇∇⎣⎦,这就是牛顿法的迭代公式。

在这个公式里,步长因子1k α=。

令()()2,k k k k G f x g f x =∇=∇,则上式也可写成:11k k k k x x G g -+=-显然,牛顿法也可以看成在椭球范数kG⋅下的最速下降法。

事实上,对于()()T k k k f x s f x g s +≈+,k s 是极小化问题minn Tk s R g ss∈的解。

该极小化问题依赖于所取的范数,当采取2l 范数时,k k s g =-,所得方法为最速下降法。

当采用椭球范数kG⋅时,1k k k s G g -=-,所得方法即为牛顿法。

对于正定二次函数,牛顿法一步即可达到最优解。

而对于非二次函数,牛顿法并不能保证有限次迭代求得最优解,但由于目标函数在极小点附近近似于二次函数,故当初始点靠近极小点时,牛顿法的收敛速度一般是快的。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于粒子群算法的神经网络在电液伺服系统中的应用摘要:由于人工神经网络在解决具有非线性、不确定性等系统的控制问题上具有极大的潜力,因而在控制领域正引起人们的极大关注,并且已在一些响应较慢的过程控制中获得成功应用。

由于电液伺服系统属于非线性系统,因此本文利用神经网络控制电液伺服系统,并利用粒子群优化算法训练该神经网络的权值。

通过对神经网络的优化实现对电液伺服系统的控制。

关键词:神经网络电液伺服系统粒子群算法优化近年来,由于神经网络具有大规模并行性、冗余性、容错性、本质的非线性及自组织自学习自适应能力,所以已成功地应用于众多领域。

但在具有复杂非线性特性的机电设备的实时控制方面,虽然也有一些神经网络技术的应用研究,但距实用仍有一段距离。

电液伺服系统就属于这类设备[1]。

神经网路在用于实时控制时,主要是利用了网络所具有的其输人——输出间的非线性映射能力。

它实际上是通过学习来逼近控制对象的动、静态特性。

也就是构造实际系统的神经网络模型[2]。

本文利用神经网络控制一电液伺服系统,并利用粒子群优化算法训练该神经网络的权值,将结果与BP神经网络控制该系统的结果进行比较。

从而得在电液伺服系统中引入神经网络是可行的。

1、粒子群算法粒子群优化算法(Particle Swarm optimization, PSO)是一种进化计算技术, 由Eberhart博士和kennedy博士发明, 源于对鸟群捕食的行为研究, 粒子群优化算法的基本思想是通过群体中个体之间的协作和信息共享来寻找最优解[3]。

算法最初受到飞鸟和鱼类集群活动的规律性启发,利用群体智能建立了一个简化模型,用组织社会行为代替了进化算法的自然选择机制,通过种群间个体协作来实现对问题最优解的搜索[4]。

在找到这两个最优值时, 粒子根据如下的公式来更新自己的速度和新的位置v[]=v[]+c1*rand()*(pbest[]-present[]) + c2*rand()*(gbest[]-present[])present[]=persent[]+v[]式中ω为惯性权重,ω取大值可使算法具有较强的全局搜索能力,ω取小值则算法倾向于局部搜索。

一般的做法是将ω初始取0.9并使其随迭代次数的增加而线性递减至0.4,这样就可以先侧重于全局搜索,使搜索空间快速收敛于某一区域,然后采用局部精细搜索以获得高精度的解;c1、c2为两个学习因子,一般取为2;randl和rand2为两个均匀分布在(0,l)之间的随机数;i=1,2,⋯,m;k=1,2,⋯,d。

另外,粒子在每一维的速度Vi都被一个最大速度Vmax所限制。

如果当前粒子的加速度导致它在某一维的速度超过该维上的最大速度Vmax,则该维的速度被限制为最大速度[5]。

粒子群算法流程如下:(一)初始化粒子群。

设群体规模为m,在允许的范围内随机设置粒子的初始位置和速度。

(二)评价每个粒子的适应值。

(三)调整每一个粒子的位置和速度。

(四)如果达到最大迭代次数genmax或误差达到最初设定数值终止迭代,否则返回(2)。

2、神经网络神经网络一般由输入层、隐含层、输出层组成。

对于输入信号,先向前传播到隐节点,经过节点作用函数后,再把隐节点的输出信息传播到输出节点,最后输出结果。

节点的作用函数通常选取S 型函数f(x)=1/(1+e-x)。

神经网络算法的学习过程分为正向传播和反向传播过程。

如果正向传播输出的误差达不到预期精度,则沿误差的负梯度方向反复修改各层神经元的权值和阈值,直至网络全局误差信号最小[6]。

3、粒子群算法优化神经网络神经网络的建立需要确定神经网络的层结构、各个层的神经元个数、每一层的传递函数、神经元权重和阈值调整的训练算法等。

采用神经网络三层前馈型网络,包括输入层、隐含层、输出层。

输入层和输出层由实际的数据规模来确定其节点数,隐含层的节点数一般只能大致确定,再用构造法确定[7]。

采用Sigmoid函数作为隐含层的作用函数,采用线性函数作为输出层的作用函数。

神经元权重的调整采用改进的粒子群算法优化。

对全局搜索,通常的方法,在前期有较强的全局搜索能力,在后期侧重于算法的局部搜索,为此可将w设为随时间线性减小:w=w max−T(w max−w min)/T max式中:w max为最大惯性权值系数,w min为最小惯性权值系数,T为迭代次数,T max为迭代总数。

学习因子c1、c2用于调整粒子的自身经验与群体经验在其运动中所起的作用,通常c1、c2的范围在0~4之间。

采用粒子群算法训练BP神经网络时,首先应将特定结构中所有需要优化的神经元间的连接权值和阀值编码成实数码串表示的个体。

神经网络中包含D个优化参数,则每个个体将由一个D维向量来表示。

粒子群优化神经网络的实现步骤为:①确定神经网络的结构;设定粒子群的群体规模为m、学习因子、惯性权重,在允许的范同内随机给定每个粒子的初始位置和速度,根据优化的目标定义适应函数。

②采用粒子群算法对神经网络的参数进行优化。

评价粒子的优劣,对每个粒子计算适应值,如果其适应值好于其经过的最好位置P,,则用当前的位置取代P 。

将所有粒子中最好的P 作为当前的全局最好位置P 根据公式(1)更新粒子状态,包括速度和位置。

③判断是否达到优化要求,若达到,结束;否则转步骤②。

④判断是否达到最大迭代数,若达到终止条件,结束;否则转步骤②[8]。

4、电液伺服系统的开环传递函数的阶跃响应已知电液伺服系统的开环传递函数为:G(s)=73.339s(s2156.82+0.305s156.8+1)由于本系统是连续系统,应该先进行离散化处理,取采样周期为1ms,经过z变换后的离散化对象为:y k=−den2y k−1−den3y k−2−den4y k−3+num2u k−1+num3u k−2+num4u(k−3)采用Matlab编程实现:ts=0.001num=[73.339];den=[1/((156.8)^2) 0.305/156.8 1 0];sys=tf(num,den)dsys=c2d(sys,ts,'z')[num,den]=tfdata(dsys,'v')代入数据,得到如下函数式:y k=2.9293∗y k−1−2.8826∗y k−2+0.9533∗y k−3+0.0003∗u k−1 +0.0012∗u k−2+0.0003∗u(k−3)用Simulink的子模块,连接而成控制仿真程序,如图1所示。

得到系统的阶跃响应图,如图2所示。

图1 连续系统的Simulink仿真程序图2 系统的阶跃响应曲线5、BP神经网络控训练电液伺服系统选取BP网络为2-3-1结构,权值w ij,w ji的初始值取[-1,+1]之间的随机值,学习参数取η=0.50,α=0.05.取网络训练的最终指标为E=10-20,用matlab编程得到网络训练指标的变化图,如图3所示。

图4、图5为输入层、隐层、输出层之间的权值。

图3 样本训练的收敛过程图4输入层和隐层之间的连接权值图5 隐层和输出层之间的连接权值结果说明:迭代进行到大约40次时达到了稳定。

6、粒子群算法优化神经网络采用粒子群算法训练神经网络时,首先应将特定结构中所有的神经元间的连接权值编码成实数码串表示个体。

假设网络中包含M个优化权值,则每个个体将由M个权值参数组成一个M维向量来表示[9]。

本文用的是2-3-1神经网络,有9个权值,即组成一个9维向量。

然后根据微粒群规模按照上述个体结构随即产生一定数目的个体组成种群,其中不同个体代表神经网络的一组不同权值,同时初始化g best、l best。

将微粒群中每一个体的分量映射为网络中的权值,从而构成一个神经网络。

对每一个体对应的神经网络,输入训练样本进行训练。

网络权值的优化过程是一个反复迭代的过程。

通常为了保证所训练的神经网络具有较强的泛化能力,在网络的训练过程中,往往将给定的样本空间分为两部分:一部分作为训练样本,成为训练集;另一部分作为测试样本成为测试集而在权值优化过程中:每进行一次训练,都要对给定的样本集进行分类,以保证每次训练时采用的训练集均不相同。

计算每一个网络在训练集上产生的均方误差,以此作为目标函数,并构造如下的适应度函数,用来计算个体的适应度。

E X p=1ni=0Y K,P X P−t k,p ck=0其中,t k,p指训练样本p在k输入端的给定输出适应度函数定义为:f x=11+E(X)评价微粒群中的所有个体,从中找到最佳个体用来判断是否需要更新微粒的g best、l best。

之后,按照粒子群模型更新每一个体不同分量上的飞行速度,并以此产生新的个体微粒。

当目标函数值小于给定的ε0时,算法终止。

用离子群训练神经网络算法的具体流程[10]:图6 用粒子群训练神经网络算法的具体流程按照图6所示的流程图利用粒子群优化算法训练该神经网络的权值,用MATLAB 编程实现。

得到如图7所示:图7 粒子群算法优化的迭代次数和系统输出结果说明:在迭代进行到大约35次时达到了稳定。

7、总结基于粒子群的优化的神经网络对比与BP神经网络具有更好的逼近精度,更强的自适应能力。

相关文档
最新文档