文档库 最新最全的文档下载
当前位置:文档库 › 最优化方法

最优化方法

最优化方法
最优化方法

中北大学实验报告

课程名:最优化方法

任课教师:李卉

专业:数学与应用数学学号:1308014112

姓名:李鑫

2015/2016学年第2学期

中北大学理学院

《最优化方法》课程实验 第1次实验报告

一、实验内容及基本要求

实验项目名称:黄金分割法程序设计

实验类型:设计型

每组人数:1

实验内容及要求:

内容:能够应用MATLAB 或C++设计黄金分割法的程序,并用实例进行验证

要求:能够独立完成程序的设计及验证

二、实验题目

利用黄金分割法求函数()232tan x x x φ=-在[]0,1上的极小点。取容许误差410ε-=,510δ-=

三、实验步骤及结果

1)、建立y 函数M 文件(fun_gs.m )

function y= fun_gs(x)

y=3*x^2-2*tan(x);

end

2)、建立求解极小值点的M 文件(gs.m )

function gs(x)

a=0;

b=1;

eps=0.0001;

i=100;

a1=b-0.618*(b-a);

a2=a+0.618*(b-a);

y1=fun_gs(a1);

y2=fun_gs(a2);

for k=1:i;

if (abs(b-a)<=eps)

y=fun_gs((b+a)/2);

break;

else

if (y1<=y2)

y2=fun_gs(a1);

b=a2;

a2=a1;

a1=b-0.618*(b-a);

y1=fun_gs(a1);

else

y1=fun_gs(a2);

a=a1;

a1=a2;

a2=a+0.618*(b-a);

y2=fun_gs(a2);

end

i=i+1;

end

end

i

a0=(b+a)/2

y=fun_gs((b+a)/2)

end

实验结果:

i = 120 %迭代次数

a0 = 0.3895 %极小值点

y = -0.3658 %在极小值点上的函数值

迭代120次求得极小值点为a0=0.3895,在极小值点的函数值φ=-

a

(0)0.3658

《最优化方法》课程实验 第2次实验报告

一、实验内容及基本要求

实验项目名称:牛顿法程序设计

实验类型:设计型

每组人数:1

实验内容及要求:

内容:能够应用MATLAB 或C++设计牛顿法的程序,并用实例进行验证

要求:能够独立完成程序的设计及验证

二、实验题目

利用牛顿法程序求解

()()()222

2121min 431x R f x x x x ∈=-+-

该问题有精确解()()1,1,0T x f x **==。

三、实验步骤及结果

#include

#include

double f1(double x,double y)

{return(4*pow(x*x-y,2)+3*pow(x-1,2));}

void main(){

double h=3,x0=2,x1,y0=2,y1,s,r0,r1;

double e0=0.000001,e1=0.000001;

int k=0;

s=sqrt(pow(16*x0*x0*x0-16*x0*y0+6*x0-6,2)+pow(-8*x0*x0+8*y0, 2));

printf("%d x=%f y=%f s=%f\n",k,x0,y0,s);

while (s>e1){

x1=x0;y1=y0;r0=f1(x0,y0);h=3;

while (fabs(h)>e0){

r1=f1(x1-h*(16*x1*(x1*x1-y1)+6*(x1-1)),y1-h*(-8*(x1*x1-y1)));

if (r1

x0=x1-h*(16*x1*(x1*x1-y1)+6*(x1-1));

y0=y1-h*(-8*(x1*x1-y1));

r0=r1;

h=h+h;

}

else if(fabs(h)>e0)

h=-1*h/4;

}

s=sqrt(pow(16*x0*x0*x0-16*x0*y0+6*x0-6,2)+pow(-8*x0*x0+8*y0, 2));

k++;

printf("%d x=%f y=%f s=%f\n",k,x0,y0,s);

}

printf("x=%f y=%f",x0,y0); }

实验结果:

上面结果表明,用牛顿法迭代110次可以求得最优解,最优解为(1,1)T

x

《最优化方法》课程实验 第3次实验报告

一、实验内容及基本要求

实验项目名称:共轭梯度法程序设计

实验类型:设计型

每组人数:1

实验内容及要求:

内容:能够应用MATLAB 或C++设计共轭梯度法的程序,并用实例进行验证

要求:能够独立完成程序的设计及验证

二、实验题目

利用线性共轭梯度程序求解无约束优化问题

()1min 2

n T T x R f x x Ax b x ∈=- 式中:

4131412,1412143n n n A R b R ?-???? ? ?-- ? ? ? ?=∈=∈ ? ?-- ? ? ? ?-????

该问题有精确解()1,1,,1T

x *= ,n=10,初始向量为零向量,终止准则为5()10k f x -?≤ 。

三、实验步骤及结果

1)、建立M 文件(cg.m )

function [x,iter] = cg(G,b,x0,max_iter)

x=x0;

tolerance=1.0e-5;

fprintf('\n x0= ');

fprintf(' %10.6f',x0);

r=G*x-b;

d=-r;

for k=1:max_iter

if norm(r,2)<=tolerance

iter=k-1;

fprintf('\n Algorithm finds a solution!');

return

end

alpha=(r'*r)/(d'*G*d);

xx=x+alpha*d;

rr=r+alpha*G*d;

beta=(rr'*rr)/(r'*r);

d=-rr+beta*d;

x=xx;

r=rr;

fprintf('\n x%d= ',k);

fprintf(' %10.6f',x);

end

iter=max_iter;

return

end

2)、建立M文件(CG_main.m)

function CG_main()

G=[4 -1 0 0 0 0 0 0 0 0;...

-1 4 -1 0 0 0 0 0 0 0;...

0 -1 4 -1 0 0 0 0 0 0;...

0 0 -1 4 -1 0 0 0 0 0;...

0 0 0 -1 4 -1 0 0 0 0;...

0 0 0 0 -1 4 -1 0 0 0;...

0 0 0 0 0 -1 4 -1 0 0;...

0 0 0 0 0 0 -1 4 -1 0;...

0 0 0 0 0 0 0 -1 4 -1;...

0 0 0 0 0 0 0 0 -1 4];

b=[3 2 2 2 2 2 2 2 2 3]';

x0=[0 0 0 0 0 0 0 0 0 0]';

max_iter=1000;

fprintf('\n');

fprintf('Conjugate Gradient Method: \n');

fprintf('========================== \n');

[y,iter]=cg(G,b,x0,max_iter);

fprintf('\n');

fprintf('Iterative number :\n %d \n',iter);

fprintf('Solution: \n');

fprintf('%10.6f',y);

fprintf('\n\n=====================\n\n');

实验结果:

上面的计算结果表明,用共轭梯度法迭代5次求得最优解,最优解为x

(1,1,1,1,1,1,1,1,1,1)T

《最优化方法》课程实验 第4次实验报告

一、实验内容及基本要求

实验项目名称:BFGS 算法程序设计

实验类型:设计型

每组人数:1

实验内容及要求:

内容:能够应用MATLAB 或C++设计BFGS 算法的程序,并用实例进行验证

要求:能够独立完成程序的设计及验证

二、实验题目

利用BFGS 算法求解无约束优化问题

()()()222

2122min 22x R f x x x x ∈=-+-

该问题有唯一极小点(4,2)T x *=,极小值()0f x *=

三、实验步骤及结果

1)、建立()f x 函数的M 文件(fun.m ):

function f = fun(x)

f=2*(x(1)-x(2)^2)^2+(x(2)-2)^2;

建立M 文件(gradient.m )

function g=gradient(x)

g=[4*(x(1)-x(2)^2);

2*(x(2)-2)];

2)、建立搜索函数的M 文件(wolfe_search.m )

function alphak=wolfe_search(x,g,d)

alphamax=inf;

ruo=0.1;

sigma=0.6;

alpha1=0;

alpha2=alphamax;

fai1=fun(x);

dfai1=g'*d;

alpha=1;

faialpha=fun(x+alpha*d);

afai=gradient(x+alpha*d)'*d;

while 1

if faialpha-fai1>ruo*alpha*dfai1

while faialpha-fai1>ruo*alpha*dfai1

alphaba=alpha1+(alpha-alpha1)/...

(2*(1+(fai1-faialpha/((alpha-alpha1)*dfai1)))); alpha2=alpha;

alpha=alphaba;

faialpha=fun(x+alpha*d);

end

dfai=gradient(x+alpha*d)'*d;

end

if dfai>=sigma*dfai1

alphak=alpha;

return

else

alphaba=alpha+((alpha-alpha1)*dfai)/(dfai1-dfai); alpha1=alpha;

fai1=faialpha;

dfai1=dfai;

alpha=alphaba;

faialpha=fun(x+alpha*d);

dfai=gradient(x+alpha*d)'*d;

end

end

3)、建立BFGS算法的M文件(bfgs.m)

function [x,iter] = bfgs(H,x0,max_iter,TOL)

k=0;

fprintf('\n x0= ');

fprintf(' %10.6f',x0);

x=x0;

g=gradient(x);

while norm(g)>TOL & k<=max_iter

d=-H*g;

afa=wolfe_search(x,g,d);

s=afa*d;

x=x+s;

fprintf('\n x%2d= ',k+1);

fprintf(' %10.6f ',x);

gnew=gradient(x);

y=gnew-g;

H=H+((s-H*g)*s'+s*(s-H*y)')/(s'*y)-(s-H*y)'*y*y*y'/((s'*y)^2); g=gnew;

k=k+1;

end

if norm(g)<=TOL

fprintf('\n Algorithm finds a solution! \n');

else

fprintf('\n Number of iterations exceeds max_iter. \n'); end

iter=k;

end

4)、建立求最优解的M文件(bfgs_main.m)

function bfgs_main()

x0=[3 2]';

n=length(x0);

H=eye(n);

max_iter=1000;

tolerance=1.0e-6;

fprintf('\n');

fprintf('BFGS Method: \n');

fprintf('============ \n');

[x,iter]=bfgs(H,x0,max_iter,tolerance);

fprintf('Iterative number:\n %d\n',iter);

fprintf('Solution: \n');

fprintf(' %10.6f',x);

fprintf('\n Optimal objective function value: \n');

fprintf(' %10.6f \n ',fun(x));

fprintf('\n ========= \n');

实验结果:

上面的计算结果表明,用BFGS方法经3次迭代达到极小值点,极小值点最优解为(4,2)T

x

最优化方法简明教程—centre

①图与网 破圈法:任取一个圈,去掉一条权最大的边,直到最小树。 避圈法:选最小权的边,避圈前进,直到最小树。 最短路算法: Dijkstra法:从V s给定P标号T标号λ标号(T标号变为P标号λ标号记位置) 反向追踪:列表,d1(V1,V j)→d k(V1,V j)=min(ωij+d k(V1,V i))据最小权反向追踪 网络优化: 最小截集最大流:找到最小截集(弧的集合) 标号法:开始,为的标号, 最小费用最大流: 邮递员问题:通过消灭奇点,找欧拉回路 网络计划图: 最早开始最晚开始机动时间 最早结束最晚结束自由时差 工期优化:人力,费用,工期优化。 费用率=(最短时间费用-正常时间费用)/(正常时间-最短时间)②排队论(保证服务质量,又减少费用) 顾客源→(排队规则)队列→(服务规则)服务机构→离去 服务规则:FCFS,LCFS,随机服务,PR

M(顾客到达)|A(服务时间)|1(服务台数)|∞(容量)|∞(顾客源) N(t)队长N q (t)排队长T(t)顾客逗留时间T q (t)顾客等待时间 L 平均队长L q 平均等待队长W 平均逗留时间W q 平均等待时间 R 为系统利用率 泊松流(M):无后效性;平稳性;单个性; P 1(t,t+Δt)=λΔt+o(Δt); o(Δt)=∑∞ 2P n (t,t+Δt);E ξ=D ξ=λt (t 时刻n 个顾客的概率) 负指数分布(M):无记忆性(P(T>t+s/t>s)=P(T>t));[0,t)至少到达一 个顾客1-P 0(t )=1-e -t λ,t>0 !)()(K t e t V K t k λλ-= ,2,1,0=K ?? ?<≥-=-0,00,1)(t t e t F t i λξ),2,1( =i 爱尔朗分布(E K ):(相当于泊松流到达后被k 个服务台均分顾客形成) (其中,t>0,E(T)=1/μ,Var(T)=1/μ2k ) )! 1()()(1 >-= --t e k t t f t k μμμ K=1为M ,k=∞定长分布D,k ≥30正态分布近似 G 表示一般相互独立的随机分布 Little 公式:(四者知一即可) μ1 + =q W W W L λ= q q W L λ= ρ+=q L L ∑∞ ==0 n n nP L ∑∑∞=∞ =+=-=s n n m s n q nP P s n L 0 )( 服务率:ρ=λ/μ(λ为到达μ为服务) 排队系统分析:

最优化实验报告

最优化方法 课程设计报告班级:________________ 姓名: ______ 学号: __________ 成绩: 2017年 5月 21 日

目录 一、摘要 (1) 二、单纯形算法 (2) 1.1 单纯形算法的基本思路 (2) 1.2 算法流程图 (3) 1.3 用matlab编写源程序 (4) 二、黄金分割法 (7) 2.1 黄金分割法的基本思路 (7) 2.2 算法流程图 (8) 2.3 用matlab编写源程序 (9) 2.4 黄金分割法应用举例 (11) 三、最速下降法 (11) 3.1 最速下降法的基本思路 (11) 3.2 算法流程图 (13) 3.3 用matlab编写源程序 (13) 3.4 最速下降法应用举例 (13) 四、惩罚函数法 (17) 4.1 惩罚函数法的基本思路 (17) 4.2 算法流程图 (18) 4.3 用matlab编写源程序 (18) 4.4 惩罚函数法应用举例 (19) 五、自我总结 (20) 六、参考文献 (20)

一、摘要 运筹学是一门以人机系统的组织、管理为对象,应用数学和计算机等工具来研究各类有限资源的合理规划使用并提供优化决策方案的科学。通过对数据的调查、收集和统计分析,以及具体模型的建立。收集和统计上述拟定之模型所需要的各种基础数据,并最终将数据整理形成分析和解决问题的具体模型。 最优化理论和方法日益受到重视,已经渗透到生产、管理、商业、军事、决策等各个领域,而最优化模型与方法广泛应用于工业、农业、交通运输、商业、国防、建筑、通信、政府机关等各个部门及各个领域。伴随着计算机技术的高速发展,最优化理论与方法的迅速进步为解决实际最优化问题的软件也在飞速发展。其中,MATLAB软件已经成为最优化领域应用最广的软件之一。有了MATLAB 这个强大的计算平台,既可以利用MATLAB优化工具箱(OptimizationToolbox)中的函数,又可以通过算法变成实现相应的最优化计算。 关键词:优化、线性规划、黄金分割法、最速下降法、惩罚函数法

《最优化方法》复习题(含答案)

《最优化方法》复习题(含答案)

附录5 《最优化方法》复习题 1、设n n A R ?∈是对称矩阵,,n b R c R ∈∈,求1()2 T T f x x Ax b x c =++在任意点x 处的梯度和Hesse 矩阵. 解 2(),()f x Ax b f x A ?=+?=. 2、设()()t f x td ?=+,其中:n f R R →二阶可导,,,n n x R d R t R ∈∈∈,试求()t ?''. 解 2()(),()()T T t f x td d t d f x td d ??'''=?+=?+. 3、设方向n d R ∈是函数()f x 在点x 处的下降方向,令 ()()()()() T T T T dd f x f x H I d f x f x f x ??=--???, 其中I 为单位矩阵,证明方向()p H f x =-?也是函数()f x 在点x 处的下降方向. 证明 由于方向d 是函数()f x 在点x 处的下降方向,因此()0T f x d ?<,从而 ()()()T T f x p f x H f x ?=-?? ()()()()()()()() T T T T T dd f x f x f x I f x d f x f x f x ??=-?--???? ()()()0T T f x f x f x d =-??+?<, 所以,方向p 是函数()f x 在点x 处的下降方向. 4、n S R ?是凸集的充分必要条件是12122,,,,,,,,m m m x x x S x x x ?≥?∈L L 的一切凸组合都属于S . 证明 充分性显然.下证必要性.设S 是凸集,对m 用归纳法证明.当2m =时,由凸集的定义知结论成立,下面考虑1m k =+时的情形.令1 1k i i i x x λ+==∑, 其中,0,1,2,,1i i x S i k λ∈≥=+L ,且1 1 1k i i λ+==∑.不妨设11k λ+≠(不然1k x x S +=∈, 结论成立),记11 1k i i i k y x λλ=+=-∑ ,有111(1)k k k x y x λλ+++=-+,

最优化方法实验报告(1)

最优化方法实验报告Numerical Linear Algebra And Its Applications 学生所在学院:理学院 学生所在班级:计算数学10-1 学生姓名:甘纯 指导教师:单锐 教务处 2013年5月

实验一 实验名称:熟悉matlab基本功能 实验时间: 2013年05月10日星期三实验成绩: 一、实验目的: 在本次实验中,通过亲临使用MATLAB,对该软件做一全面了解并掌握重点内容。 二、实验内容: 1. 全面了解MATLAB系统 2. 实验常用工具的具体操作和功能 实验二 实验名称:一维搜索方法的MATLAB实现 实验时间: 2013年05月10日星期三实验成绩: 一、实验目的: 通过上机利用Matlab数学软件进行一维搜索,并学会对具体问题进行分析。并且熟悉Matlab软件的实用方法,并且做到学习与使用并存,增加学习的实际动手性,不再让学习局限于书本和纸上,而是利用计算机学习来增加我们的学习兴趣。 二、实验背景: (一)0.618法(黄金分割法),它是一种基于区间收缩的极小点搜索

算法,当用进退法确定搜索区间后,我们只知道极小点包含于搜索区间内,但是具体哪个点,无法得知。 1、算法原理 黄金分割法的思想很直接,既然极小点包含于搜索区间内,那么可以不断的缩小搜索区间,就可以使搜索区间的端点逼近到极小点。 2、算法步骤 用黄金分割法求无约束问题min (),f x x R ∈的基本步骤如下: (1)选定初始区间11[,]a b 及精度0ε>,计算试探点: 11110.382*()a b a λ=+- 11110.618*()a b a μ=+-。 (2)若k k b a ε-<,则停止计算。否则当()()k k f f λμ>时转步骤(3)。 当()()k k f f λμ≤转步骤(4)。 (3)置 11111110.382*()k k k k k k k k k k a b b a b a λλμμ+++++++=??=?? =??=+-?转步骤(5)

最优化方法及应用

陆吾生教授是加拿大维多利亚大学电气与计算机工程系 (Dept. of Elect. and Comp. Eng. University of Victoria) 的正教授, 且为我校兼职教授,曾多次来我校数学系电子系讲学。陆吾生教授的研究方向是:最优化理论和小波理论及其在1维和2维的数字信号处理、数字图像处理、控制系统优化方面的应用。 现陆吾生教授计划在 2007 年 10-11 月来校开设一门为期一个月的短期课程“最优化理论及其应用”(每周两次,每次两节课),对象是数学系、计算机系、电子系的教师、高年级本科生及研究生,以他在2006年出版的最优化理论的专著作为教材。欢迎数学系、计算机系、电子系的研究生及高年级本科生选修该短期课程,修毕的研究生及本科生可给学分。 上课地点及时间:每周二及周四下午2:00开始,在闵行新校区第三教学楼326教室。(自10月11日至11月8日) 下面是此课程的内容介绍。 ----------------------------------- 最优化方法及应用 I. 函数的最优化及应用 1.1 无约束和有约束的函数优化问题 1.2 有约束优化问题的Karush-Kuhn-Tucker条件 1.3 凸集、凸函数和凸规划 1.4 Wolfe对偶 1.5 线性规划与二次规划 1.6 半正定规划 1.7 二次凸锥规划 1.8 多项式规划 1.9解最优化问题的计算机软件 II 泛函的最优化及应用 2.1 有界变差函数 2.2 泛函的变分与泛函的极值问题 2.3 Euler-Lagrange方程 2.4 二维图像的Osher模型 2.5 泛函最优化方法在图像处理中的应用 2.5.1 噪声的消减 2.5.2 De-Blurring 2.5.3 Segmentation ----------------------------------------------- 注:这是一门约二十学时左右的短期课程,旨在介绍函数及泛函的最优化理论和方法,及其在信息处理中的应用。只要学过一元及多元微积分和线性代数的学生就能修读并听懂本课程。课程中涉及到的算法实现和应用举例都使用数学软件MATLAB 华东师大数学系

最优化方法试题

《最优化方法》试题 一、 填空题 1.设()f x 是凸集n S R ?上的一阶可微函数,则()f x 是S 上的凸函数的一阶充要条件是( ),当n=2时,该充要条件的几何意义是( ); 2.设()f x 是凸集n R 上的二阶可微函数,则()f x 是n R 上的严格凸函数( )(填‘当’或‘当且仅当’)对任意n x R ∈,2()f x ?是 ( )矩阵; 3.已知规划问题22211212121212min 23..255,0z x x x x x x s t x x x x x x ?=+---?--≥-??--≥-≥?,则在点55(,)66T x =处的可行方向集为( ),下降方向集为( )。 二、选择题 1.给定问题222121212min (2)..00f x x s t x x x x ?=-+??-+≤??-≤?? ,则下列各点属于K-T 点的是( ) A) (0,0)T B) (1,1)T C) 1(,22 T D) 11(,)22T 2.下列函数中属于严格凸函数的是( ) A) 211212()2105f x x x x x x =+-+ B) 23122()(0)f x x x x =-< C) 2 222112313()226f x x x x x x x x =+++- D) 123()346f x x x x =+- 三、求下列问题

()22121212121211min 51022 ..2330420 ,0 f x x x x x s t x x x x x x =+---≤+≤≥ 取初始点()0,5T 。 四、考虑约束优化问题 ()221212min 4..3413f x x x s t x x =++≥ 用两种惩罚函数法求解。 五.用牛顿法求解二次函数 222123123123()()()()f x x x x x x x x x x =-++-++++- 的极小值。初始点011,1,22T x ??= ???。 六、证明题 1.对无约束凸规划问题1min ()2 T T f x x Qx c x =+,设从点n x R ∈出发,沿方向n d R ∈ 作最优一维搜索,得到步长t 和新的点y x td =+ ,试证当1T d Q d = 时, 22[() ()]t f x f y =-。 2.设12*** *3(,,)0T x x x x =>是非线性规划问题()112344423min 23..10f x x x x s t x x x =++++=的最优解,试证*x 也 是非线性规划问题 144423* 123min ..23x x x s t x x x f ++++=的最优解,其中****12323f x x x =++。

最优化DFP算法报告

最优化DFP算法姓名:施政学号:1010010125 班级:1 班专业:通信与信息系统 目录 1 算法流程图 (1) 1.1DFP算法的流程图 (1) 1.2 黄金分割法流程图 (1) 1.3 回退法计算初始区间的算法 (2) 2 测试函数 (3) 2.1 二维、二次函数 (3) 2.2 二维、高次函数 (3) 2.3 高维、二次函数 (4) 2.4 高维、高次函数 (4) 3 运行结果及分析 (5) 4 Matlab源程序 (6) 4.1 主函数 (6) 4.2 DFP算法函数 (8) 4.3 黄金分割法函数 (9) 4.4 回退法求解初始区间 (10) 4.5 计算测试函数的值 (11) 4.6 计算测试函数的梯度 (12) 5 参考文献 (12)

1 算法流程图 对于DFP算法主要涉及到3个主要的算法,分别是:利用回退法计算初始区间、利用黄金分割法进行一维搜索、然后利用DFP算法计算最小点对应的自变量的值。 下面分别画出了这三个算法流程图。 1.1DFP算法的流程图 设定控制误差为ε;输入的初始点坐标是0x;0E是与0x同维的单位阵。 图 1 1.2 黄金分割法流程图 给定精确度ε>0;当区间长度小于等于ε时,即停止运行,同时取x=(a+b)/2作为最小点坐标。 在给定初始区间[a,b]内,求最小点时对应的α值,要保证α是大于等于零的,否则函数值就不是朝下降方向递降的了。在本算法中保证初始区间的端点是大于等于零的,就可以满足这一条件了。 算法如下图所示:

图 2 1.3 回退法计算初始区间的算法 针对这个算法,参考文献[1]上面利用的回退法不能保证a ,b 两个端点的值大于零,因为利用黄金分割法求α时,α肯定是大于等于零的,所以可以对书上的算法适当的改进。初始的点是0x ;步长是x Δ;算法如下: 图 3 注意:上面的算法是针对一维的情况,所以在计算0x ;1x ;2x 时,应该注意使

学生科学实验效果最优化的基石实验报告设计

学生科学实验效果最优化的基石实验报告设计 自然科学是以实验为基础的学科。实验是人们研究和认识自然的重要方法。因此,在自然科学的教学中,实验也是重要的教学方法之一。通过实验,不仅可以提供学生对科学现象的感性认识,更可以让学生获得初步的实验技能和观察分析问题的能力。 小学科学实验教学的设计是运用系统论的思想和方法,以学习理论、教学理论为基础,计划和安排实验教学的各个环节、要素,以实现教学效果最优化为目的的活动。通过多年来的实验教学实践与思考,我们可以让学生像科学家那样,亲历科学探究的过程,这有利于充分发挥学生的主体作用,让学生积极主动参与到观察、实验等学习活动中去,亲自感知实验所产生的各种现象和变化,提高自行获取知识的能力,而其中比较重要的一个环节就是学生实验报告的设计与记录。在学生实验的过程中,一份好的实验报告设计,就像是一盏明灯,能给学生指引实验的目标、方向,能提供给学生形成结论的分析数据,进而培养学生科学实验的基本素养,使学生的科学实验效果达到最优化。 一、观察实验报告的填写,有利于学生在实验中观察,进一步培养学生实验的责任心和有序观察能力。 教科版四下《油菜花开了》解剖花的实验中,我设计了如下实验报告,在教学中取得了很好的效果。 《解剖花》实验人

花的名称 实验方法:用镊子把花的各部分,从外向里一层层撕下,整齐排列并贴在相应的名称左边,数一数,填在相应的空格上。 个萼片 个花瓣 个雄蕊 个雌蕊 在班级(1)上课时我没有设计实验报告,就按照书本上的要求,先介绍解剖花的方法、花的结构,然后让学生按照书本要求独立解剖油菜花。在实验过程中,学生非常认真,且相当活跃,但检查结果时,学生雌雄蕊不分,萼片、花瓣不分,桌上、地上掉落的都是花瓣,实验效果之不佳显而易见。 后来,我根据班级(1)出现的情况,设计了如上实验报告,实验的效果就相当出色。在这个实验报告中,我并没有限制学生解剖何种花,但学生可以根据实验要求很清楚地完成解剖的任务。充分体现了以教师为主导、学生为主体的课堂教学思想;而且在实验的过程中,桌上有了这份实验报告,便时刻提醒着学生做实验究竟是何目的,做实验时必须仔细观察什么,做实验的观察步骤是什么。在解剖花的过程中,动作快的同学还可在老师的同意下,多取一两张实验报告单,多解剖几种花,因此既避免了学生在一旁闲着无所事事而打闹的局面,又进一步提高了这些学生的科学素质。至于个别有困难的学生,教师可在巡视的过程中

天津大学《最优化方法》复习题(含答案)

天津大学《最优化方法》复习题(含答案) 第一章 概述(包括凸规划) 一、 判断与填空题 1 )].([arg )(arg min max x f x f n n R x R x -=∈∈ √ 2 {}{} .:)(m in :)(m ax n n R D x x f R D x x f ?∈-=?∈ ? 3 设.:R R D f n →? 若n R x ∈*,对于一切n R x ∈恒有)()(x f x f ≤*,则称*x 为最优化问题)(min x f D x ∈的全局最优解. ? 4 设.:R R D f n →? 若D x ∈*,存在*x 的某邻域)(*x N ε,使得对一切)(*∈x N x ε恒有)()(x f x f <*,则称*x 为最优化问题)(min x f D x ∈的 严格局部最优解. ? 5 给定一个最优化问题,那么它的最优值是一个定值. √ 6 非空集合n R D ?为凸集当且仅当D 中任意两点连线段上任一点属于D . √ 7 非空集合n R D ?为凸集当且仅当D 中任意有限个点的凸组合仍

属于D . √ 8 任意两个凸集的并集为凸集. ? 9 函数R R D f n →?:为凸集D 上的凸函数当且仅当f -为D 上的凹函数. √ 10 设R R D f n →?:为凸集D 上的可微凸函数,D x ∈*. 则对D x ∈?,有).()()()(***-?≤-x x x f x f x f T ? 11 若)(x c 是凹函数,则}0)( {≥∈=x c R x D n 是凸集。 √ 12 设{}k x 为由求解)(min x f D x ∈的算法A 产生的迭代序列,假设算法 A 为下降算法,则对{} ,2,1,0∈?k ,恒有 )()(1k k x f x f ≤+ . 13 算法迭代时的终止准则(写出三种):_____________________________________。 14 凸规划的全体极小点组成的集合是凸集。 √ 15 函数R R D f n →?:在点k x 沿着迭代方向}0{\n k R d ∈进行精确一维线搜索的步长k α,则其搜索公式

最优化方法(黄金分割与进退法)实验报告

一维搜索方法的MATLAB 实现 姓名: 班级:信息与计算科学 学号: 实验时间: 2014/6/21 一、实验目的: 通过上机利用Matlab 数学软件进行一维搜索,并学会对具体问题进行分析。并且熟悉Matlab 软件的实用方法,并且做到学习与使用并存,增加学习的实际动手性,不再让学习局限于书本和纸上,而是利用计算机学习来增加我们的学习兴趣。 二、实验背景: 黄金分割法 它是一种基于区间收缩的极小点搜索算法,当用进退法确定搜索区间后,我们只知道极小点包含于搜索区间内,但是具体哪个点,无法得知。 1、算法原理 黄金分割法的思想很直接,既然极小点包含于搜索区间内,那么可以不断 的缩小搜索区间,就可以使搜索区间的端点逼近到极小点。 2、算法步骤 用黄金分割法求无约束问题min (),f x x R ∈的基本步骤如下: (1)选定初始区间11[,]a b 及精度0ε>,计算试探点: 11110.382*()a b a λ=+- 11110.618*()a b a μ=+-。 (2)若k k b a ε-<,则停止计算。否则当()()k k f f λμ>时转步骤(3)。 当 ()()k k f f λμ≤转步骤(4)。 (3) 11111110.382*()k k k k k k k k k k a b b a b a λλμμ+++++++=??=?? =??=+-?转步骤(5)

(4) 转步骤(5) (5)令1k k =+,转步骤(2)。 算法的MATLAB 实现 function xmin=golden(f,a,b,e) k=0; x1=a+0.382*(b-a); x2=a+0.618*(b-a); while b-a>e f1=subs(f,x1); f2=subs(f,x2); if f1>f2 a=x1; x1=x2; f1=f2; x2=a+0.618*(b-a); else b=x2; x2=x1; f2=f1; x1=a+0.382*(b-a); end k=k+1; end xmin=(a+b)/2; fmin=subs(f,xmin)

(完整版)机械优化设计试卷期末考试及答案

第一、填空题 1.组成优化设计的数学模型的三要素是 设计变量 、目标函数 和 约束条件 。 2.可靠性定量要求的制定,即对定量描述产品可靠性的 参数的选择 及其 指标的确定 。 3.多数产品的故障率随时间的变化规律,都要经过浴盆曲线的 早期故障阶段 、 偶然故障阶段 和 耗损故障阶段 。 4.各种产品的可靠度函数曲线随时间的增加都呈 下降趋势 。 5.建立优化设计数学模型的基本原则是在准确反映 工程实际问题 的基础上力求简洁 。 6.系统的可靠性模型主要包括 串联模型 、 并联模型 、 混联模型 、 储备模型 、 复杂系统模型 等可靠性模型。 7. 函数f(x 1,x 2)=2x 12 +3x 22-4x 1x 2+7在X 0=[2 3]T 点处的梯度为 ,Hession 矩阵为 。 (2.)函数()22121212,45f x x x x x x =+-+在024X ??=????点处的梯度为120-?? ????,海赛矩阵为2442-???? -?? 8.传统机械设计是 确定设计 ;机械可靠性设计则为 概率设计 。 9.串联系统的可靠度将因其组成单元数的增加而 降低 ,且其值要比可靠 度 最低 的那个单元的可靠度还低。 10.与电子产品相比,机械产品的失效主要是 耗损型失效 。 11. 机械可靠性设计 揭示了概率设计的本质。 12. 二元函数在某点处取得极值的充分条件是()00f X ?=必要条件是该点处的海赛矩阵正定。 13.对数正态分布常用于零件的 寿命疲劳强度 等情况。 14.加工尺寸、各种误差、材料的强度、磨损寿命都近似服从 正态分布 。 15.数学规划法的迭代公式是 1k k k k X X d α+=+ ,其核心是 建立搜索方向, 模型求解 两方面的内容。 17.无约束优化问题的关键是 确定搜索方向 。 18.多目标优化问题只有当求得的解是 非劣解 时才有意义,而绝对最优解存在的可能性很小。 19.可靠性设计中的设计变量应具有统计特征,因而认为设计手册中给出的数据

最优化方法课程实验报告

项目一 一维搜索算法(一) [实验目的] 编写加步探索法、对分法、Newton 法的程序。 [实验准备] 1.掌握一维收搜索中搜索区间的加步探索法的思想及迭代步骤; 2.掌握对分法的思想及迭代步骤; 3.掌握Newton 法的思想及迭代步骤。 [实验容及步骤] 编程解决以下问题: 1.用加步探索法确定一维最优化问题 1 2)(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 的中点)(2 1 b a c +=. (3) 若0)(<'c ?,则c a = ,转(4);若0)(='c ?,则c t =* ,转(5);若0)(>'c ?,则c b = ,转(4). (4) 若ε<-||b a ,则)(2 1* b a t +=,转(5);否则转(2). (5) 打印* t ,结束 对分法的计算框图

最优化方法课程实验报告

. . 项目一 一维搜索算法(一) [实验目的] 编写加步探索法、对分法、Newton 法的程序。 [实验准备] 1.掌握一维收搜索中搜索区间的加步探索法的思想及迭代步骤; 2.掌握对分法的思想及迭代步骤; 3.掌握Newton 法的思想及迭代步骤。 [实验容及步骤] 编程解决以下问题: 1.用加步探索法确定一维最优化问题 1 2)(min 30 +-=≥t t t t ? 的搜索区间,要求选取2,1,000===αh t . 加步探索法算法的计算步骤: (1)选取初始点])0[)(0[max 00t t t ,或,∈?∞+∈,计算)(00 t ??=.给出初始步长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 的中点)(2 1 b a c += . (3) 若0)(<'c ?,则c a = ,转(4);若0)(='c ?,则c t =* ,转(5);若0)(>'c ?,则c b = ,转(4). (4) 若ε<-||b a ,则)(2 1* b a t +=,转(5);否则转(2).

修订过的最优化方法复习题

《最优化方法》复习题 第一章 引论 一、 判断与填空题 1 )].([arg )(arg m in m ax x f x f n n R x R x -=∈∈ √ 2 {}{}.:)(min :)(max n n R D x x f R D x x f ?∈-=?∈ ? 3 设.:R R D f n →? 若n R x ∈*,对于一切n R x ∈恒有)()(x f x f ≤*,则称*x 为最优化问题 )(min x f D x ∈的全局最优解. ? 4 设.:R R D f n →? 若D x ∈*,存在*x 的某邻域)(*x N ε,使得对一切)(*∈x N x ε恒有)()(x f x f <*,则称*x 为最优化问题)(min x f D x ∈的严格局部最 优解. ? 5 给定一个最优化问题,那么它的最优值是一个定值. √ 6 非空集合n R D ?为凸集当且仅当D 中任意两点连线段上任一点属于D . √ 7 非空集合n R D ?为凸集当且仅当D 中任意有限个点的凸组合仍属于D . √ 8 任意两个凸集的并集为凸集. ? 9 函数R R D f n →?:为凸集D 上的凸函数当且仅当f -为D 上的凹函数. √ 10 设R R D f n →?:为凸集D 上的可微凸函数,D x ∈*. 则对D x ∈?,有).()()()(***-?≤-x x x f x f x f T ? 11 若)(x c 是凹函数,则}0)( {≥∈=x c R x D n 是凸集。 √ 12 设{}k x 为由求解)(min x f D x ∈的算法A 产生的迭代序列,假设算法A 为单调下降算 法,则对{} ,2,1,0∈?k ,恒有 )()(1k k x f x f ≤+ .

第九章 最优化方法

第九章 最优化方法 本章主要介绍线性规划、0-1规划、非线性规划等问题的MATLAB 求解。 9.1 线性规划(Linear Programming ,简写为LP )问题 线性规划问题就是求多变量线性函数在线性约束条件下的最优值。满足约束条件的解称为可行解,所有可行解构成的集合称为可行域,满足目标式的可行解称为最优解。 MATLAB 解决的线性规划问题的标准形式为: min z f x ¢ =? .. A x b s t Aeq x beq lb x ub ì祝??? ?í??#??? 其中,,,,,f x b beq lb ub 为列向量,,A Aeq 为矩阵。 其它形式的线性规划问题都可经过适当变换化为此标准形式。 在MATLAB 中求解线性规划问题函数为linprog ,其使用格式为: [x, fval, exitflag, output, lambda] = linprog(f, A, b, Aeq, beq, lb, ub) 输入部分:其中各符号对应线性规划问题标准形式中的向量和矩阵,如果约束条件中有缺少,则其相应位置用空矩阵[]代替。 输出部分:其中x 为最优解,用列向量表示;fval 为最优值;exitflag 为退出标志,若exitflag=1表示函数有最优解,若exitflag=0表示超过设定的迭代最大次数,若exitflag=-2,表示约束区域不可行,若exitflag=-3,表示问题无解,若exitflag=-4,表示执行迭代算法时遇到NaN ,若exitflag=-5,表示原问题和对偶问题均不可行,若exitflag=-7,表示搜索方向太小,不能继续前进;output 表明算法和迭代情况;lambda 表示存储情况。 例1 用linprog 函数求下面的线性规划问题

《最优化方法》期末试题

作用: ①仿真的过程也是实验的过程,而且还是系统地收集和积累信息的过程。尤其是对一些复杂的随机问题,应用仿真技术是提供所需信息的唯一令人满意的方法。 ②仿真技术有可能对一些难以建立物理模型或数学模型的对象系统,通过仿真模型来顺利地解决预测、分析和评价等系统问题。 ③通过系统仿真,可以把一个复杂的系统化降阶成若干子系统以便于分析,并能指出各子系统之间的各种逻辑关系。 ④通过系统仿真,还能启发新的策略或新思想的产生,或能暴露出在系统中隐藏着的实质性问题。同时,当有新的要素增加到系统中时,仿真可以预先指出系统状态中可能会出现的瓶颈现象或其它的问题。 2.简述两个Wardrop 均衡原理及其适用范围。 答: Wardrop提出的第一原理定义是:在道路的利用者都确切知道网络的交通状态并试图选择最短径路时,网络将会达到平衡状态。在考虑拥挤对行驶时间影响的网络中,当网络达到平衡状态时,每个 OD 对的各条被使用的径路具有相等而且最小的行驶时间;没有被使用的径路的行驶时间大于或等于最小行 驶时间。 Wardrop提出的第二原理是:系统平衡条件下,拥挤的路网上交通流应该按照平均或总的出行成本 最小为依据来分配。 第一原理对应的行为原则是网络出行者各自寻求最小的个人出行成本,而第二原理对应的行为原则是网络的总出行成本最小。 3.系统协调的特点。 答: (1)各子系统之间既涉及合作行为,又涉及到竞争行为。 (2)各子系统之间相互作用构成一个反馈控制系统,通过信息作为“中介”而构成整体 (3)整体系统往往具有多个决策人,构成竞争决策模式。 (4)系统可能存在第三方介入进行协调的可能。 6.对已经建立了概念模型的系统处理方式及其特点、适用范围。答:对系统概念模型有三种解决方式。 1.建立解析模型方式 对简单系统问题,如物流系统库存、城市公交离线调度方案的确定、交通量不大的城市交叉口交通控制等问题,可以运用专业知识建立系统的量化模型(如解析数学模型),然后采用优化方法确定系统解决方案,以满足决策者决策的需要,有关该方面的内容见第四、五章。 在三种方式中,解析模型是最科学的,但仅限于简单交通运输系统问题,或仅是在实际工程中一定的情况下(仅以一定的概率)符合。所以在教科书上很多漂亮的解析模型,无法应用于工程实际中。 2.建立模拟仿真模型方式 对一般复杂系统,如城市轨道交通调度系统、机场调度系统、城市整个交通控制系统等问题,可以对系统概念模型中各个部件等采用变量予以量化表示,并通过系统辨识的方式建立这些变量之间关系的动力学方程组,采用一定的编程语言、仿真技术使其转化为系统仿真模型,通过模拟仿真寻找较满意的优化方案,包括离线和在线均可以,有关该方面的内容见第七章。 模拟仿真模型比解析模型更能反映系统的实际,所以在交通运输系统中被更高层次的所使用,包括

最优化实验报告

最优化方法 课程设计报告 班级:________________ 姓名: ______ 学号: __________ 成绩: 2017年 5月 21 日 目录 一、摘要 (1)

二、单纯形算法 (2) 1.1 单纯形算法的基本思路 (2) 1.2 算法流程图 (3) 1.3 用matlab编写源程序 (3) 二、黄金分割法 (7) 2.1 黄金分割法的基本思路 (7) 2.2 算法流程图 (8) 2.3 用matlab编写源程序 (9) 2.4 黄金分割法应用举例 (10) 三、最速下降法 (10) 3.1 最速下降法的基本思路 (10) 3.2 算法流程图 (12) 3.3 用matlab编写源程序 (12) 3.4 最速下降法应用举例 (13) 四、惩罚函数法 (16) 4.1 惩罚函数法的基本思路 (16) 4.2 算法流程图 (17) 4.3 用matlab编写源程序 (17) 4.4 惩罚函数法应用举例 (19) 五、自我总结 (19) 六、参考文献 (19)

一、摘要 运筹学是一门以人机系统的组织、管理为对象,应用数学和计算机等工具来研究各类有限资源的合理规划使用并提供优化决策方案的科学。通过对数据的调查、收集和统计分析,以及具体模型的建立。收集和统计上述拟定之模型所需要的各种基础数据,并最终将数据整理形成分析和解决问题的具体模型。 最优化理论和方法日益受到重视,已经渗透到生产、管理、商业、军事、决策等各个领域,而最优化模型与方法广泛应用于工业、农业、交通运输、商业、国防、建筑、通信、政府机关等各个部门及各个领域。伴随着计算机技术的高速发展,最优化理论与方法的迅速进步为解决实际最优化问题的软件也在飞速发展。其中,MATLAB软件已经成为最优化领域应用最广的软件之一。有了MATLAB这个强大的计算平台,既可以利用MATLAB优化工具箱(OptimizationToolbox)中的函数,又可以通过算法变成实现相应的最优化计算。 关键词:优化、线性规划、黄金分割法、最速下降法、惩罚函数 法

预测与决策试卷及答案解析

经济预测与决策 考试形式:闭卷考试时量:150分钟总分:100分 一.单选题1*15=15分 1.经济预测的第一步是()A A.确定预测目的,制定计划 B.搜集审核资料 C.建立预测模型 D.评价预测成果 2.对一年以上五年以下的经济发展前景的预测称为()B A.长期经济预测 B.中期经济预测 C.短期经济预测 D.近期经济预测 3.()回归模型中,因变量与自变量的关系是呈直线型的。C A.多元 B.非线性 C.线性 D.虚拟变量

4.以下哪种检验方法的零假设为:B1=B2=…=Bm=0?B A.r检验 B.F检验 C.t检验 D.DW检验 5.以数年为周期,涨落相间的波浪式起伏变动称为()D A.长期趋势 B.季节变动 C.不规则变动 D.循环变动 6. 一组数据中出现次数最多的变量值,称为()A A.众数 B.中位数 C.算术平均数 D.调和平均数 7. 通过一组专家共同开会讨论,进行信息交流和相互启发,从而诱发专家们发挥其创造性思维,促进他们产生“思维共振”,达到相互补充并产生“组合效应”的预测方法为()A A.头脑风暴法 B.德尔菲法

C.PERT预测法 D.趋势判断预测法 8.()起源于英国生物学家高尔登对人类身高的研究。B A.定性预测法 B.回归分析法 C.马尔科夫预测法 D.判别分析预测法 9.抽样调查的特点不包括()D A.经济性 B.时效性 C.适应性 D.全面性 10.下图是哪种多项式增长曲线()B A.常数多项式 B.一次多项式 C.二次多项式

D.三次多项式 11.根据历年各月的历史资料,逐期计算环比加以平均,求出季节指数进行预测的方法称为()C A.平均数趋势整理法 B.趋势比率法 C.环比法 D.温特斯法 12.经济决策按照目标的性质和行动时间的不同,分为()D A.宏观经济决策和微观经济决策 B.高层、中层和基层决策 C.定性决策和定量决策 D.战术决策和战略决策 13.()是从最好情况出发,带有一定冒险性质,反映了决策者冒进乐观的态度。B A.最大最小决策准则 B.最大最大决策准则 C.最小最小后悔值决策准则 D.等概率决策准则 14.如果某企业规模小,技术装备不良,担负不起较大的经济风险,则该企业应采用()A

最优化方法课程实验资料报告材料

项目一 一维搜索算法(一) [实验目的] 编写加步探索法、对分法、Newton 法的程序。 [实验准备] 1.掌握一维收搜索中搜索区间的加步探索法的思想及迭代步骤; 2.掌握对分法的思想及迭代步骤; 3.掌握Newton 法的思想及迭代步骤。 [实验容及步骤] 编程解决以下问题: 1.用加步探索法确定一维最优化问题 的搜索区间,要求选取 . 加步探索法算法的计算步骤: (1)选取初始点 ,计算.给出初始步长, 加步系数,令。 (2) 比较目标函数值.令k k k h t t +=+1,计算 )(11++=k k t ??,若k k ??<+1,转(3),否则转(4)。 (3) 加大探索步长.令,同时,令,转(2)。 (4) 反向探索.若,转换探索方向,令,转(2)。否则,停止迭代,令。 12)(min 30+-=≥t t t t ?2,1,000===αh t ])0[)(0[max 00t t t ,或,∈?∞+∈)(00t ??=00>h 1α>0=k k k h h α=+1,k t t =,1+=k k t t 1k k =+0=k ,k k h h -=1+=k t t 11min{}max{}k k a t t b t t ++==,,,

加步探索法算法的计算框图 程序清单 加步探索法算法程序见附录1 实验结果 运行结果为: 2.用对分法求解 , )2()(min +=t t t ?

已知初始单谷区间,要求按精度,分别计算. 对分法迭代的计算步骤: (1)确定初始搜索区间],[b a ,要求。 (2) 计算],[b a 的中点)(2 1b a c +=. (3) 若0)(<'c ?,则c a = ,转(4);若0)(='c ?,则c t =*,转(5);若0)(>'c ?,则c b = ,转(4). (4) 若ε<-||b a ,则)(2 1*b a t += ,转(5);否则转(2). (5) 打印*t ,结束 对分法的计算框图 程序清单 对分法程序见附录2 ]5,3[],[-=b a 3.0=ε001.0=ε'()0'()0a b ??<> ,

遗传算法实验报告

遗传算法实验报告 专业:自动化姓名:张俊峰学号:13351067 摘要:遗传算法,是基于达尔文进化理论发展起来的一种应用广泛、高效的随机搜索与优化方法。本实验利用遗传算法来实现求函数最大值的优化问题,其中的步骤包括初始化群体、个体评价、选择运算、交叉运算、变异运算、终止条件判断。该算法具有覆盖面大、减少进入局部最优解的风险、自主性等特点。此外,遗传算法不是采用确定性原则而是采用概率的变迁规则来指导搜索方向,具有动态自适应的优点。 关键词:串集最优化评估迭代变异 一:实验目的 熟悉和掌握遗传算法的运行机制和求解的基本方法。 遗传算法是一种基于空间搜索的算法,它通过自然选择、遗传、变异等操作以及达尔文的适者生存的理论,模拟自然进化过程来寻找所求问题的答案。其求解过程是个最优化的过程。一般遗传算法的主要步骤如下: (1)随机产生一个确定长度的特征字符串组成的初始种群。。 (2)对该字符春种群迭代地执行下面的步骤a和步骤b,直到满足停止准则为止: a计算种群中每个个体字符串的适应值; b应用复制、交叉和变异等遗传算子产生下一代种群。 (3)把在后代中表现的最好的个体字符串指定为遗传算法的执行结果,即为问题的一 个解。 二:实验要求 已知函数y=f(x 1,x 2 ,x 3 ,x 4 )=1/(x 1 2+x 2 2+x 3 2+x 4 2+1),其中-5≤x 1 ,x 2 ,x 3 ,x 4 ≤5, 用遗传算法求y的最大值。三:实验环境

操作系统:Microsoft Windows 7 软件:Microsoft Visual studio 2010 四:实验原理与步骤 1、遗传算法的思想 生物的进化是以集团为主体的。与此相对应,遗传算法的运算对象是由M个个体所组成的集合,称为群体。与生物一代一代的自然进化过程相类似,遗传算法的运算过程也是一个反复迭代过程,第t代群体极为P(t),进过一代遗传和进化后,得到第t+1代群体,他们也是由多个个体组成的集合,记做P(t+1)。这个群体不断地经过遗传和进化操作,并且每次都按照有优胜劣汰的规则将适应度较高的个体更多地遗传到下一代,这样最终在群体中将会得到一个优良的个体X,它所对应的表现性X将达到或接近于问题的最优解。 2、算法实现步骤 ①、产生初始种群:产生初始种群的方法通常有两种:一种是完全随机的方法产生的,适合于对问题的解无任何先验知识的情况;另一种是将某些先验知识转变为必须满足的一组要求,然后在满足这些要求的解中再随机地选择样本,t=0,随机产生n个个体形成一个初始群体P(t),该群体代表优化问题的一些可能解的集合; ②适应度评价函数:按编码规则,将群体P(t)中的每一个个体的基因码所对应的自变量取值代入目标函数,算出其函数值f,i=1,2,…,n,f越大,表示该个体有较高的适应度,更适合于f所定义的生存环境,适应度f为群体进化提供了依据; ③选择:按一定概率从群体P(t)中选出m个个体,作为双亲用于繁殖后代,产生新的个体加入下一个群体P(t+1)中。此处选用轮盘算法,也就是比例选择算法,个体被选择的概率与其适应度成正比。 ④交叉(重组):对于选中的用于繁殖的每一个个体,选择一种交叉方法,产生新的个体;此处采取生成随机数决定交叉的个体与交叉的位置。 ⑤变异:以一定的概率Pm从群体P(t+1)中随机选择若干个个体,对于选中的个体随机选择某个位置,进行变异; ⑥对产生新一代的群体返回步骤③再进行评价,交叉、变异如此循环往复,使群体中个体的适应度和平均适应度不断提高,直至最优个体的适应度达到某一限值或最优个体的适应度和群体的平均适应度不再提高,则迭代过程收敛,算法结束。 五:实验结果 实验结果的显示取决于判断算法终止的条件,这里可以有两种选择:1、在程序中设定迭代的次数;2在程序中设定适应值。本实验是在程序中实验者输入需要迭代的次数来判断程序终结的。

相关文档