最优化方法课程实验报告
最优化方法实验报告

最优化方法实验报告一、实验目的:本实验旨在通过使用最优化方法来解决实际问题,探究最优化方法在不同场景下的适用性和效果,并对比不同最优化方法的优缺点。
二、实验原理:三、实验过程:1.准备工作确定要解决的问题,并确定问题的数学模型。
例如,可以选择一个具有约束条件的优化问题,如线性规划问题。
2.实验步骤(1)选择最优化方法根据实际问题的特点选择适合的最优化方法。
例如,如果问题具有多个局部最优解,可以选择遗传算法来避免陷入局部最优。
(2)实现算法根据选择的最优化方法,编写相应的算法实现代码。
可以使用编程语言如Python来实现算法。
(3)进行实验使用实际数据或人工生成的数据来测试算法的效果。
根据实验结果评估算法的性能,并对比不同算法的效果。
3.结果分析通过对比不同算法的效果,分析各种方法的优缺点,评估其适用性和可靠性。
四、实验结果与讨论:在本次实验中,我们选择了一个线性规划问题作为例子,使用了遗传算法和优化算法来求解。
具体问题为:有两种产品A和B,产品A的利润为5元,产品B的利润为10元。
每天可以生产的产品总数为50。
产品A的生产量不超过30,产品B的生产量不超过20。
求解在满足以上约束条件下,如何安排生产计划使得总利润最大。
我们首先使用了优化算法来求解。
通过编写代码,使用优化算法来最大化总利润。
结果发现,在满足约束条件的情况下,总利润最大为350元。
然后,我们使用了遗传算法来求解。
遗传算法是一种模仿生物进化过程的算法,通过选择、交叉和变异等操作来优化解。
在实验中,我们设置了一组初始解作为遗传算法的种群,并通过不断迭代优化解。
结果发现,在相同的迭代次数下,遗传算法得到的结果比优化算法更优,总利润最大为400元。
通过对比两种算法的结果,我们发现遗传算法相对于优化算法在该问题上具有更好的性能。
遗传算法通过不断迭代寻找更好的解,能够更好地避免陷入局部最优。
五、实验结论:本实验通过使用最优化方法来解决一个实际问题,对比了优化算法和遗传算法的效果。
最优化方法实验报告(2)

最优化方法实验报告Numerical Linear Algebra And ItsApplications学生所在学院:理学院学生所在班级:计算数学10-1学生姓名:甘纯指导教师:单锐教务处2013年5月实验三实验名称:无约束最优化方法的MATLAB实现实验时间: 2013年05月10日星期三实验成绩:一、实验目的:通过本次实验的学习,进一步熟悉掌握使用MATLAB软件,并能利用该软件进行无约束最优化方法的计算。
二、实验背景:(一)最速下降法1、算法原理最速下降法的搜索方向是目标函数的负梯度方向,最速下降法从目标函数的负梯度方向一直前进,直到到达目标函数的最低点。
2、算法步骤用最速下降法求无约束问题n R()min的算法步骤如下:xxf,a )给定初始点)0(x ,精度0>ε,并令k=0;b )计算搜索方向)()()(k k x f v -∇=,其中)()(k x f ∇表示函数)(x f 在点)(k x 处的梯度;c )若ε≤)(k v ,则停止计算;否则,从)(k x 出发,沿)(k v 进行一维搜索,即求k λ,使得)(min )()()(0)()(k k k k v x f v x f λλλ+=+≥; d )令1,)()()1(+=+=+k k v x x k k k k λ,转b )。
(二)牛顿法1、算法原理牛顿法是基于多元函数的泰勒展开而来的,它将)()]([-)(1)(2k k x f x f ∇∇-作为搜索方向,因此它的迭代公式可直接写出来:)()]([)(1)(2)()(k k k k x f x f x x ∇∇-=-2、算法步骤用牛顿法求无约束问题n R x x f ∈),(min 的算法步骤如下:a )给定初始点)0(x ,精度0>ε,并令k=0;b )若ε≤∇)()(k x f ,停止,极小点为)(k x ,否则转c );c )计算)()]([,)]([)(1)(2)(1)(2k k k k x f x f p x f ∇∇-=∇--令;d )令1,)()()1(+=+=+k k p x x k k k ,转b )。
最优化算法实验报告

基于Matlab的共轭梯度算法指导老师:姓名:学号:班级:日期:基于Matlab的共轭梯度算法一、实验目的及要求(1)熟悉使用共轭梯度法求解无约束非线性规划问题的原理;(2)在掌握原理的基础上熟练运用此方法解决问题(3)学会利用计算机语言编写程序来辅助解决数学问题;(4)解决问题的同时分析问题,力求达到理论与实践的统一;(5)编写规范的实验报告.实验内容二、实验原理1.基本思想:把共轭性与最速下降方法相结合,利用已知点处的梯度构造一组共轭方向,并沿这组方向进行搜索,求出目标函数的极小点。
根据共轭方向的基本性质,这种方法具有二次终止性。
在各种优化算法中,共轭梯度法是非常重要的一种。
其优点是所需存储量小,具有步收敛性,稳定性高,而且不需要任何外来参数。
2.程序流图:三、实验代码通过查阅相关资料,编写一个基于Matlab的共轭梯度算法,具体代码如下:function f=grad_2d(x0,t)%用共轭梯度法求已知函数f(x1,x2)=x1^2+2*x2^2-4*x1-2*x1*x2的极值点%已知初始点坐标:x0%已知收敛精度:t%求得已知函数的极值:fx=x0;syms xi yi a; %定义自变量,步长为符号变量f=xi^2+2*yi^2-4*yi-2*xi*yi; %创建符号表达式ffx=diff(f,xi); %求表达式f对xi的一阶求导fy=diff(f,yi); %求表达式f对yi的一阶求导fx=subs(fx,{xi,yi},x0); %代入初始点坐标计算对xi的一阶求导实值fy=subs(fy,{xi,yi},x0); %代入初始点坐标计算对yi的一阶求导实值fi=[fx,fy]; %初始点梯度向量count=0; %搜索次数初始为0while double(sqrt(fx^2+fy^2))>t %搜索精度不满足已知条件s=-fi; %第一次搜索的方向为负梯度方向if count<=0s=-fi;elses=s1;endx=x+a*s; %进行一次搜索后的点坐标f=subs(f,{xi,yi},x); %构造一元搜索的一元函数φ(a)f1=diff(f); %对函数φ(a)进行求导f1=solve(f1); %得到最佳步长aif f1~=0ai=double(f1); %强制转换数据类型为双精度数值elsebreak %若a=0,则直接跳出循环,此点即为极值点endx=subs(x,a,ai); %得到一次搜索后的点坐标值f=xi^2+2*yi^2-4*xi-2*xi*yi;fxi=diff(f,xi);fyi=diff(f,yi);fxi=subs(fxi,{xi,yi},x);fyi=subs(fyi,{xi,yi},x);fii=[fxi,fyi]; %下一点梯度向量d=(fxi^2+fyi^2)/(fx^2+fy^2);s1=-fii+d*s; %下一点搜索的方向向量count=count+1; %搜索次数加1fx=fxi;fy=fyi; %搜索后终点坐标变为下一次搜索的始点坐标endx,f=subs(f,{xi,yi},x),count %输出极值点,极小值以及搜索次数end四、实验结果在命令窗口输入:f=grad_2d([1,1],0.0000001)输出结果如下:x =4.0000 2.0000f =-8.0000count = 75f =-8.0000当在命令窗口输入如下命令时:f=grad_2d([2,1],0.0000001)x =4.0000 2.0000f =-8.0000count =22f =-8.0000当在命令窗口输入如下命令时:f=grad_2d([2,1],0.001)x = 3.9996 1.9999f =-8.0000count =12f =-8.0000由以上结果可知:(1.)初始点不同搜索次数不同(2.)无论初始点为多少,精度相同时最终结果极值点都是(4.0000,2.0000)(3.)当初始点相同时,若精度不一样搜索次数和最终结果会有差异但大致相同。
最优化(实验一)

桂林电子科技大学数学与计算科学学院实验报告最优解为:x=(2,0,1,0); 最优函数值为:-8。
()()123123123max23.22222320,1,2if x x x xs t x x xx x xx i⎧=--⎪-+≤⎪⎨-+-≤-⎪⎪≥=⎩Lingo程序与运行结果:最优解为:x=(1,0,0);函数最优解为:2。
()()1231212312max 564.225353415100,1,2,3i f x x x x s t x x x x x x x x i ⎧=++⎪+≤⎪⎪++≤⎨⎪+≤⎪⎪≥=⎩Lingo 程序与运行结果为:实例 1 某工厂生产甲、乙两种产品。
已知生产甲种产品t 1需耗A 种矿石t 10、B 种矿石t 5、煤t 4;生产乙种产品t 1需耗A 种矿石t 4、B 种矿石t 4、煤t 9。
每t 1甲种产品的利润是600元,每t 1乙种产品的利润是1000元。
工厂在生产这两种产品的计划中要求消耗A 种矿石不超过t 300、B 种矿石不超过t 200、煤不超过t 360。
甲、乙两种产品应各生产多少,能使利润总额达到最大?化为数学线性规划模型为:()12121212max 6001000.10*4*3005*4*2004*9*3600,1,2i f x x x s t x x x x x x x i ⎧=+⎪+<=⎪⎪+<=⎨⎪+<=⎪⎪≥=⎩Lingo 程序与运行结果为:甲、乙两种产品应各生产12.41379t 、34.48276t ,能使利润总额达到最大,最大利润为:41931.03。
实例2 设有A 1,A 2两个香蕉基地,产量分别为60吨和80吨,联合供应B 1,B 2,B 3三个销地的销售量经预测分别为50吨、50吨和40吨。
两个产地到三个销地的单位运价如下表所示:表1(单位运费:元/吨)问每个产地向每个销地各发货多少,才能使总的运费最少?化为数学线性规划模型:()()111213212223111213212223112112221323min 600300400400700300.608035050400,1,2,1,2,3ij f x x x x x x x s t x x x x x x x x x x x x x i j ⎧=+++++⎪++=⎪⎪++=⎪⎪+=⎨⎪+=⎪⎪+=⎪≥==⎪⎩Lingo 程序与运行结果为:A1到B2发货50t ,A1到B3发货10t ,A2到B1发货50t ,A2到B3发货30t ,才能使总的运费最少,最少值为48000。
最优化学习报告(写写帮整理)

最优化学习报告(写写帮整理)第一篇:最优化学习报告(写写帮整理)最优化学习报告在日常生活中,无论做任何一件事,人们总希望以最少的代价取得最大的效益,也就是力求最好,这就是优化问题。
最优化的问题是奥数中常见的一个问题,因为最优化是在生活中常用的。
例如一件事情要怎么样才能在尽可能节省人力、物力和时间前提下,争取获得在可能范围内的最佳效果。
这个就是需要通过计算来实现!最优化问题不仅具有趣味性,而且由于解题方法灵活,技巧性强,因此对于开拓解题思路,增强数学能力很有益处。
最优化就是在一切可能的方案中选择一个最好的方案以达到最优目标的学科。
最优化问题无处不在。
只要存在选择,就一定存在优化问题。
例如,从甲地到乙地有公路、水路、铁路、航空四种走法,如果我们追求的目标是省钱,那么只要比较一下这四种走法的票价,从中选择最便宜的那一种走法就达到目标。
这是最简单的最优化问题。
生活中还有很多的例子,比如说随着我国经济高速发展,能源短缺的矛盾突现,建设节约性社会是众望所归。
现实生活中,汽车作为代步工具,与我们的生活密切相关。
汽油的使用效率何时最高的问题也是最优化问题,众所周知,汽车的每小时耗油量与汽车的速度有一定的关系。
如何使汽车的汽油使用效率最高(汽油使有效率最高是指每千米路程的汽油耗油量最少)的问题。
此外还有磁盘的最大存储量问题,计算机把数据存储在磁盘上。
磁盘是带有磁性介质的圆盘,并有操作系统将其格式化成磁道和扇区。
磁道是指不同半径所构成的同心轨道,扇区是指被同心角分割所成的扇形区域。
磁道上的定长弧段可作为基本存储单元,根据其磁化与否可分别记录数据0或1,这个基本单元通常被称为比特(bit)。
则一个磁盘它的存储区是半径介于与多少之间的环形区域,磁盘的存储量越大问题。
第三个例子,饮料瓶大小对饮料公司利润的影响,现实生活中你是否注意过,市场上等量的小包装的物品一般比大包装的要贵些?那是不是饮料瓶越大,饮料公司的利润越大?又比如说一个具体的例子,货轮上卸下若干只箱子,总重量为10吨,每只箱子的重量不超过1吨,为了保证能把这些箱子一次运走,问至少需要多少辆载重3吨的汽车?[分析] 因为每一只箱子的重量不超过1吨,所以每一辆汽车可运走的箱子重量不会少于2吨,否则可以再放一只箱子。
最优化实验报告

最优化方法课程设计报告班级:________________姓名: ______学号: __________成绩:2017年 5月 21 日目录一、摘要.............................. 错误!未定义书签。
二、单纯形算法 .......................... 错误!未定义书签。
1.1 单纯形算法的基本思路................................................................... 错误!未定义书签。
1.2 算法流程图....................................................................................... 错误!未定义书签。
1.3 用matlab编写源程序...................................................................... 错误!未定义书签。
二、黄金分割法 ......................... 错误!未定义书签。
2.1 黄金分割法的基本思路................................................................... 错误!未定义书签。
2.2 算法流程图....................................................................................... 错误!未定义书签。
2.3 用matlab编写源程序...................................................................... 错误!未定义书签。
2.4 黄金分割法应用举例....................................................................... 错误!未定义书签。
最优化方法实验

《最优化方法》实验报告实验序号:01 实验项目名称:线性规划及MATLAB应用《最优化方法》实验报告实验序号:02 实验项目名称:0.618黄金分割法的应用结果分析:根据以上结果可知,在区间[0,3]上,函数g(x)=x^3-2*x+1的最小值点在x=0.9271处,此时最小值为0。
第二题:P50 例题3.1程序:function [t,f]=golden3(a,b) %黄金分割函数的m文件t2=a+0.382*(b-a);f2=2*(t2)^2-(t2)-1;t1=a+0.618*(b-a); %按照黄金分割点赋值,更准确可直接算f1=2*(t1)^2-(t1)-1;while abs(t1-t2)>0.16; %判定是否满足精度if f1<f2a=t2;t2=t1;f2=f1;t1=a+0.618*(b-a);f1=2*(t1)^2-(t1)-1;elseb=t1;t1=t2;f1=f2;t2=a+0.382*(b-a);f2=2*(t2)^2-(t2)-1;endendt=(t1+t2)/2; %满足条件取区间中间值输出第四题:P64 T3程序:function [t,d]=newtow2(t0)t0=2.5;t=t0-(4*(t0)^3-12*(t0)^2-12*(t0)-16)/(12*(t0)^2-24*(t0)-12);k=1;T(1)=t;while abs(t-t0)>0.000005t0=t;t=t0-(4*(t0)^3-12*(t0)^2-12*(t0)-16)/(12*(t0)^2-24*(t0)-12); k=k+1;T(k)=t;endt1=t0;d=(t1)^4-4*(t1)^3-6*(t1)^2-16*(t1)+4;kTend运行结果:当x(0)=2.5当x(0)=3四.实验小结:1.通过这次实验,加深了对0.618法的理解。
2.在学习0.618法的过程中,又巩固了倒数、求解函数值等相关知识。
最优化实验报告(单纯形法的matlab程序,lingo程序)

最优化实验报告(单纯形法的matlab程序,lingo程序)实验一:线性规划单纯形算法一、实验目的通过实验熟悉单纯形法的原理,掌握Matlab 循环语句的应用,提高编程的能力和技巧。
二、实验用仪器设备、器材或软件环境Windows Xp 操作系统 ,Matlab6.5,计算机三、算法对于一般的标准形式线性规划问题(求极小问题),首先给定一个初始基本可行解。
设初始基为B,然后执行如下步骤:(1).解B Bx b =,求得1Bx B b -=,0,N B B x f c x ==令计算目标函数值 1(1,2,...,)i m B bi -=i 以b 记的第个分量(2).计算单纯形乘子w, B wB C =,得到1B wC B -=,对于非基变量,计算判别数1i i i B i i z c c B p c σ-=-=-,令 max{}k i i i Rz c σ∈=-,R 为非基变量集合若判别数0k σ≤ ,则得到一个最优基本可行解,运算结束;否则,转到下一步(3).解k k By p =,得到1k k y B p -=;若0k y ≤,即k y 的每个分量均非正数,则停止计算,问题不存在有限最优解,否则,进行步骤(4). (4).确定下标r,使{}min ,0t rrktktk b b tk y y t y y >=>且r B x 为离基变量。
k x 为进基变量,用k p 替换r B p ,得到新的基矩阵B ,返回步骤(1)。
对于极大化问题,可以给出完全类似的步骤,只是确定进基变量的准则不同。
对于极大化问题,应令min{}k k j j z c z c -=-四、计算框图是否是否开始初始可行解B令1,0,BN B B x B b b x f c x -====计算单纯形乘子1B w c B -=,计算判别数,i j j wp c j R σ=-∈(非基变量)令max{,}kj j R σσ=∈0?k σ≤得到最优解解方程kk By p =,得到1k k y B p -=。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
. .项目一 一维搜索算法(一)[实验目的]编写加步探索法、对分法、Newton 法的程序。
[实验准备]1.掌握一维收搜索中搜索区间的加步探索法的思想及迭代步骤; 2.掌握对分法的思想及迭代步骤;3.掌握Newton 法的思想及迭代步骤。
[实验容及步骤]编程解决以下问题:1.用加步探索法确定一维最优化问题12)(min 30+-=≥t t t t ϕ的搜索区间,要求选取2,1,000===αh t .加步探索法算法的计算步骤:(1)选取初始点])0[)(0[max 00t t t ,或,∈⊂∞+∈,计算)(00t ϕϕ=.给出初始步长0>h ,加步系数1α>,令0=k 。
(2) 比较目标函数值.令k k k h t t +=+1,计算 )(11++=k k t ϕϕ,若k k ϕϕ<+1,转(3),否则转(4)。
(3) 加大探索步长.令k k h h α=+1,同时,令,k t t =,1+=k k t t 1k k =+,转(2)。
(4) 反向探索.若0=k ,转换探索方向,令,k k h h -=1+=k t t ,转(2)。
否则,停止迭代,令11min{}max{}k k a t t b t t ++==,,,。
加步探索法算法的计算框图. .程序清单加步探索法算法程序见附录1实验结果运行结果为:2.用对分法求解)2()(min +=t t t ϕ,已知初始单谷区间]5,3[],[-=b a ,要求按精度3.0=ε,001.0=ε分别计算.对分法迭代的计算步骤:(1)确定初始搜索区间],[b a ,要求'()0'()0a b ϕϕ<>,。
(2) 计算],[b a 的中点)(21b ac +=. (3) 若0)(<'c ϕ,则c a = ,转(4);若0)(='c ϕ,则c t =*,转(5);若0)(>'c ϕ,则c b = ,转(4).(4) 若ε<-||b a ,则)(21*b a t +=,转(5);否则转(2)... (5) 打印*t ,结束对分法的计算框图程序清单对分法程序见附录2实验结果运行结果为:3.用Newton 法求解12)(min 3+-=t t t ϕ,已知初始单谷区间]1,0[],[=b a ,要求精度01.0=ε.Newton 法的计算步骤(1) 确定初始搜索区间],[b a ,要求 '()0'()0a b ϕϕ<>, (2) 选定0t (3) 计算000'()/"()t t t t ϕϕ=-. . (4) 若 ε≥-||0t t ,则t t =0,转(3);否则转(5). (5) 打印()t t ϕ, ,结束.Newton 法的计算框图程序清单Newton 法程序见附录3实验结果运行结果为:项目二 一维搜索算法(二)[实验目的]编写黄金分割法、抛物线插值法的程序。
.. [实验准备]1.掌握黄金分割法的思想及迭代步骤; 2.掌握抛物线插值法的思想及迭代步骤。
[实验容及步骤]编程解决以下问题: 1.用黄金分割法求解)2()(min +=t t t ϕ, 已知初始单谷区间]5,3[],[-=b a ,要求精度001.0=ε.黄金分割法迭代步骤:(1) 确定)(t ϕ的初始搜索区间][b a ,. (2) 计算)(382.02a b a t -+= (3) 计算)(618.01a b a t -+=(4) 若ε<-||21t t ,则打印221*t t t +=,结束;否则转(5). (5) 判别是否满足21ϕϕ≤:若满足,则置12122ϕϕ===,,t t t a 然后转(3);否则,置)()(22221211t a b t t t t b ϕϕβαϕϕ=-+====,,,,然后转(4). 黄金分割法的计算框图:. .程序清单黄金分割法程序见附录4实验结果运行结果为:2.用抛物线插值法求解3728)(min 23+--=x x x x f ,已知初始单谷区间001.0]20[][==ε,,,b a .抛物线插值法的计算步骤:(1) )()(0t t ϕϕ<,所以相对0t 来说t 是好点,故划掉区间],[20t t ,保留],[01t t 为新区间,故置)()(0202t t t t ϕϕ==,,)()(00t t t t ϕϕ==,,1t 保持不变;(2) )()(0t t ϕϕ>,所以相对t 来说0t 是好点,故划掉区间],[1t t ,保留],[2t t 为新区间,故置)()(11t t t t ϕϕ==,,0t 与2t 保持不变;程序清单抛物线插值法程序见附录5. . 实验结果运行结果为:项目三 常用无约束最优化方法(一)[实验目的]编写最速下降法、Newton 法(修正Newton 法)的程序。
[实验准备]1.掌握最速下降法的思想及迭代步骤。
2.掌握Newton 法的思想及迭代步骤; 3.掌握修正Newton 法的思想及迭代步骤。
[实验容及步骤]编程解决以下问题: 1.用最速下降法求22120min ()25[22]0.01T f X x x X ε=+==,,,.最速下降法计算步骤 (1)0,0)(,)0(=>k X 令精度容许误差取初始点ε(2))()()(k k X f p-∇=计算(3)0)()(4,,?否则转取若是迭代终止检验k k X X p =≤*ε (4)))(()(min :)()()()(0一维搜索求最优步长k k k k k k p X f p Xf λλλλ+=+≥)()()1(2,1:,转令令+=+=+k k p X X k k k k λ最速下降法的计算框图..程序清单最速下降法程序见附录6实验结果运行结果为:2.用Newton 法求22121212min ()60104f X x x x x x x =--++-,.. 初始点0[00]0.01TX ε==,,.Newton 法的计算步骤 (1)给定初始点(0)x ,及精度0ε>,令0k =;(2)若()()k f X ε∇≤,停止,极小点为()k x ,否则转步骤(3);(3)计算12()()k f X -⎡⎤∇⎣⎦,令1()()()()()k k k s H X f X -⎡⎤=-∇⎣⎦;令(1)()()k k k xx s +=+,1k k =+,转步骤(2)。
程序清单Newton 法程序见附录7实验结果 运行结果为:3.用修正Newton 求221212min ()4(1)2(1)10f X x x x x =++-+++,初始点0[00]0.01T X ε==,,.修正Newton 的计算步骤 (1)给定初始点(0)x ,及精度0ε>,令0k =; (2)若()()k f X ε∇≤,停止,极小点为()k x,否则转步骤(3);(3)计算12()()k f X -⎡⎤∇⎣⎦,令1()()()()()k k k s H X f X -⎡⎤=-∇⎣⎦;(4)用一维搜索法求α,使得()()()()()()min ()k k k k k f X S f X S ααα≥+=+,令(1)()()()k k k k X X S α+=+,1k k =+,转步骤(2)。
程序清单..修正Newton 程序见附录8实验结果运行结果为:项目四 常用无约束最优化方法(二)实验目的编写共轭梯度法、变尺度法(DFP 法和BFGS 法)程序。
实验准备1.掌握共轭方向法的思路及迭代过程; 2.掌握共轭梯度法的思想及迭代步骤;3.掌握DFP 法和BFGS 法的思想及迭代步骤。
实验容及步骤编程解决以下问题:1. 用共轭梯度法求得)4min(2221x x +,取初始点TX ]11[0,=,01.0=ε.共轭梯度法算法步骤 (1) 给定初始点(0)x,及精度0ε>;(2) 若(0)()f x ε∇≤,停止,极小值点为(0)x,否则转步骤(3);. . (3) 取(0)(0)()pf x =-∇,且置0k =;(4) 用一维搜索法求k t ,使得()()()()()()min k k k k k t f x t p f x tp ≥+=+,令,(1)()()k k k k x x t p +=+,转步骤5;(5) 若(1)()k f x ε+∇≤,停止,极小值点为(1)k x+,否则转步骤(6);(6) 若1k n +=,令(0)()n x x =,转步骤(3),否则转步骤(7);(7) 令(1)(1)()()k k k k p f x p λ++=-∇+,2(1)2()()()k k k f x f x λ+∇=∇,置1k k =+,转步骤(4)。
程序清单共轭梯度法程序见附录9实验结果运行结果为:2. 用共轭梯度法求221212min ()2f X x x x x =+-,自定初始点,01.0=ε.程序清单共轭梯度法程序见附录9..实验结果运行结果为:3.用DFP 法求2212min ()4(5)(6)f X x x =-+-,初始点01.0]98[0==ε,,TX .DFP 法的具体迭代步骤如下: (1)给定初始点,迭代精度,维数n(2)置0→k ,单位矩阵I →,计算。
(3)计算搜索方向 (4)进行一维搜索求,使得迭代新点(5)检验是否满足迭代终止条件‖‖≤?若满足,停止迭代,输出最优解,;否则进行下一步。
(6)检查迭代次数,若k=n ,则置,转向步骤(2);若k<n ,则进行下一步。
(7)计算:。
然后,置k+1→k,转向步骤(3)。
DFP法的计算框图程序清单DFP法程序见附录10实验结果运行结果为:... . 项目五 常用约束最优化方法[实验目的]编写外点罚函数法、外点罚函数法的程序。
[实验准备]1.掌握外点罚函数法的思想及迭代步骤; 2.掌握点罚函数法的思想及迭代步骤。
[实验容及步骤]编程解决以下问题:1.用外点罚函数法编程计算⎩⎨⎧=-+=≥=+-=,,,01)(0ln )(..)(min 2112121x x X h x X g t s x x X f精度510-=ε.外点法的计算步骤:(1)给定初始点x (0),初始罚因子)1(λ,放大系数c>1;允许误差e>0,设置k=1;(2)以x (k-1)作为搜索初始点,求解无约束规划问题)()(m in x P x f λ+,令x (k)为所求极小点。
(3)当e xP k <)()(λ,则停止计算,得到点x (k);否则,令)()1(k k c λλ=+,返回(2)执行。
程序清单外点罚函数法程序见附录11实验结果实验结果为运行结果为:..2.用点罚函数法编程计算⎩⎨⎧≥≥-⎥⎦⎤⎢⎣⎡++.,,001..)1(31min 21231x x t s x x初始点取为TX ]43[0,=,初始障碍因子取101=u ,缩小系数取1.0=c .点罚步骤:(1) 给定初始点S x ∈)0(,允许误差e>0,障碍参数)1(γ,缩小系数)1,0(∈b ,置k=1;(2) 以)1(-k x 为初始点,求解下列规划问题:Sx t s x B x f k ∈+..)()(min )(γ,令)(k x 为所求极小点(3) 如果e x B k k <)()()(γ,则停止计算,得到结果)(k x ,(4) 否则令)()1(k k b γγ=+,置k=k+1,返回(2)。