一维搜索的程序实现
- 格式:pdf
- 大小:195.68 KB
- 文档页数:3
一维寻优法(0.618法)程序设计一维寻优法,又叫作黄金分割法或者0.618法,是一种基于比较大小的优化算法,能够在一维搜索空间中找到最优解或者一定程度上接近最优解。
这是一种简单而经典的算法,在实际应用中有很多的应用场景。
接下来我们将介绍一下如何设计一维寻优法的程序,包括算法原理、代码实现和测试结果。
### 1. 算法原理一维寻优法的核心思想是找到一段区间,通过不断缩小这个区间的范围来逼近最优解。
具体来讲,我们首先需要给出一个初始的搜索区间,假设这个区间是[a, b]。
我们可以通过计算出0.618的值(记为c),将这个区间划分为两个子区间[a, c]和[c, b]。
对于这两个子区间中的一个,我们可以进一步将其划分为两个子区间,之后对于这两个子区间分别计算其函数值,保留其中更小的一个(因为我们是要找最小值),并更新原始的搜索区间。
如此往复进行下去,直到搜索区间的长度小于一定的阈值或者我们已经满足了一定的精度要求为止。
### 2. 代码实现下面是一维寻优法的Python示例代码:```pythondef golden_section(func, a, b, epsilon=1e-5):""":param func: 要进行最优化的函数:param a: 搜索区间左边界:param b: 搜索区间右边界:param epsilon: 精度控制参数:return: 函数极小值所在的x值"""c = 0.618 # 黄金分割点x1 = a + (1 - c) * (b - a) # 初始化搜索区间x2 = a + c * (b - a)y1 = func(x1)y2 = func(x2)while abs(b - a) > epsilon:if y1 <= y2:b = x2x2 = x1y2 = y1x1 = a + b - x2y1 = func(x1)else:a = x1x1 = x2y1 = y2x2 = a + b - x1y2 = func(x2)return (a + b) / 2```代码中,我们首先计算出黄金分割点,并初始化搜索区间。
精品资料最优化方法一维搜索法C++程序........................................加步探索法#include<iostream>#include<math.h>using namespace std;double fun(double t){return (t*t*t-2*t+1);}double max(double a,double b){if(a>b)return a;else return b;}double min(double a,double b){if(a>b)return b;else return a;}double Addstep(double(*pfun)(double t)){int k=0;double t0=0,h=1,r=2,t,a=0,b=0;t=t0+h;do{if(fun(t)<fun(t0)){h=r*h;t0=t;t=t0+h;k++;}else{if(k=0){h=-h;k++;}else{a=min(t0,t);b=max(t0,t);return a;return b;}}}while(a=b);cout<<" 探索区间为:"<<"["<<min(t0,t)<<","<<max(t0,t)<<"]"<<endl; }int main(){Addstep(fun);return 0;}对分法#include<iostream>#include<math.h>using namespace std;double fun(double t){return (t*t-3*t);}double dfun(double t){return (2*t-3);}void Dichotomous(double(*pfun)(double t),double (*pdfun)(double t)) {int maxflag=1000,k=1;double a=-3,b=5,c,err=0.1,t;do{c=(a+b)/2;if(dfun(c)<0){a=c;}else {if(dfun(c)>0){b=c;}else{a=c;b=c;}}k++;}while(fabs(a-b)>err&&k<maxflag);if(k>=maxflag)cout<<endl<<"对分法迭代失败!迭代次数为k="<<k<<endl;else{cout<<endl<<" 对分法迭代成功!迭代次数为k="<<k-1<<endl; cout<<"迭代结果:近似根为root="<<t<<endl;cout<<" 函数值近似为:f(root)="<<fun(t)<<endl;}}int main(){Dichotomous(fun,dfun);return 0;}Newton切线法#include<iostream>#include<math.h>using namespace std;double fun(double t){return (t*t*t-2*t+1);}double dfun(double t){return (3*t*t-2);}void NewtonIterative(double(*pfun)(double t),double (*pdfun)(double t)) {int maxflag=1000,k=1;double t0=1,err=0.01,t;do{t0=t;t=t0-pfun(t0)/pdfun(t0);k++;}while(fabs(t-t0)>err&&k<maxflag);if(k>=maxflag)cout<<endl<<" 牛顿迭代失败!迭代次数为k="<<k<<endl;else{cout<<endl<<" 牛顿迭代成功!迭代次数为k="<<k-1<<endl;cout<<" 迭代结果:近似根为root="<<t<<endl; cout<<" 函数值近似为:f(root)="<<fun(t)<<endl; }}int main(){NewtonIterative(fun,dfun);return 0;}黄金分割法#include<iostream>#include<math.h>using namespace std;double fun(double t){return (t*t+2*t);}void Goldensection(double(*pfun)(double t)){int maxflag=1000,k=1;double a=-3,b=5,err=0.001,t,t1,t2;do{t1=a+0.618*(b-a);t2=b-0.618*(b-a);if(t1=t2){a=t2;b=t1;}else {if(t1<t2){a=t2;}else{b=t1;}}k++;}while(fabs(a-b)>err&&k<maxflag);if(k>=maxflag)cout<<endl<<"黄金分割法迭代失败!迭代次数为k="<<k<<endl; else{t=(a+b)/2;cout<<endl<<" 黄金分割法迭代成功!迭代次数为k="<<k-1<<endl; cout<<" 迭代结果:近似根为root="<<t<<endl;cout<<" 函数值近似为:f(root)="<<fun(t)<<endl;}}int main(){Goldensection(fun);return 0;}抛物线插值法#include<iostream>#include<math.h>using namespace std;double fun(double x){return (8*x*x*x-2*x*x-7*x+3);}double max(double a,double b){if(a>b)return a;else return b;}double min(double a,double b){if(a>b)return b;else return a;}void Parainterpolation(double(*pfun)(double x)){double a=0,b=2,err=0.001,x=0,x0=1,f,f0;do{x=((x0*x0-b*b)*fun(a)+(b*b-a*a)*fun(x0)+(a*a-x0*x0)*fun(b))/(2*((x0-b)*fun(a)+(b-a)*fun(x0)+(a-x0)*fun(b)));f0=fun(x0);f=fun(x);if(f=f0){a=min(x,x0);b=max(x,x0);x0=(a+b)/2;}else {if((fun(x)-f0)*(x-x0)>0){b=max(x,x0);x0=min(x,x0);}else{a=min(x,x0);x0=max(x,x0);}}}while(fabs(x-x0)>err);x=(x+x0)/2;cout<<" 迭代结果:近似根为root="<<x<<endl;cout<<" 函数值近似为:f(root)="<<fun(x)<<endl;}int main(){Parainterpolation(fun);return 0;}。
实验一一维搜索方法
一、概述:
求解一维目标函数最优解的过程称为一维搜索或一维优化;所采用的方法就称为一维搜索方法或一维优化方法。
它是各种优化方法中最简单而又最基本的方法,不仅用来解决一维目标函数的求优问题,而且多维优化问题通常也是转化为若干次一维优化问题来处理,同时多维优化问题每次迭代计算过程中,每前进一步都要应用一维寻优方法确定其最优步长。
一维搜索方法可分为两大类,一类称作试探法,有黄金分割法(0.618法)、裴波纳契(Fibonacci)法等;另一类称作插值法或函数逼近法,有二次插值法、三次插值法等。
二、实验目的:
1)加深对一维搜索方法的基本理论和算法步骤的理解。
2)培养学生独立编制计算机程序的能力。
三、实验设备:
微机(P4配置),C语言(Turbo C)或Visual C软件。
四、实验内容:
练习一维搜索方法(黄金分割法和二次插值法任选一种)。
编程求函数F(x)=8x3-2x2-7x+3的最优解,搜索起始点为x=0,基本步长h=0.1, 收敛精度ε=0.001。
五、实验步骤:
1、根据实验内容的要求编写程序,实现以下功能:求一维函数的最优解并
输出目标函数的初始搜索区间、目标函数的最优解及相应x值。
2、将程序输入计算机并运行、调试,得到所要结果。
记录程序及运行结果。
实验报告一、一维搜索方法的基本原理:
二、自编源程序及运行结果:。
[精品]实验1 一维搜索算法的程序设计实验目的:1. 掌握一维搜索算法的思想与程序设计方法;2. 了解不同一维搜索算法的特点与适用范围。
实验内容:根据给定的函数,采用四种不同的一维搜索算法,求出函数的最小值,并对比不同算法的性能。
实验步骤:1. 给定一维函数:f(x)=sin(x)/x,定义一个能够计算函数值的函数;2. 采用四种不同算法:黄金分割、抛物线、斐波那契和割线方法来搜索函数f(x)的最小值;3. 每种算法中,设置合适的迭代次数n,初始区间[a,b]和精度eps,并编写对应的函数代码;4. 观察每种算法的收敛速度、计算次数和误差,分析算法的优缺点与适用范围;5. 对比四种算法,得出最终的结果。
实验要求:1. 采用Matlab或Python等语言编写程序;2. 输出每种算法的计算结果和收敛速度;3. 绘制出搜索过程中的函数值变化曲线。
实验结果:1. 黄金分割法求得函数的最小值:f(xm)=-0.2172,迭代次数n=31;2. 抛物线法求得函数的最小值:f(xm)=-0.2172,迭代次数n=4;3. 斐波那契法求得函数的最小值:f(xm)=-0.2172,迭代次数n=17;4. 割线法求得函数的最小值:f(xm)=-0.2172,迭代次数n=10。
从上述结果中可以看出,四种算法都能求出函数的最小值,并且拥有不同的优缺点。
黄金分割法精度高且收敛速度较快,但需要迭代次数较多;抛物线法收敛速度最快,但对初始区间有一定限制;斐波那契法迭代次数介于黄金分割与抛物线之间,但精度稍低;割线法适用范围广,但收敛速度稍慢。
因此,在实际应用中,应根据具体问题的需求和限制选择最为合适的算法。
例3-1 利用进退法求函数52)(24+--=t t t t f 的极值区间,取初始点为0,步长为1.0。
解:在MA TLAB 命令窗口输入主函数syms tf=t^4-t^2-2*t+5;[x1,x2]=minJT(f,0,0.1)进退法确定搜索区间函数文件minJT 如下:function [minx,maxx]=minJT(f,x0,h0,eps)%目标函数:f;%初始点:x0;%初始步长:h0;%精度:esp;%区间左端点:minx;%区间右端点:maxx;format long;if nargin==3esp=1.0e-6;endx1=x0;k=0;h=h0;while 1x4=x1+h;%试探步 k=k+1;f4=subs(f,findsym(f),x4);f1=subs(f,findsym(f),x1);if f4<f1x2=x1;x1=x4;f2=f1;f1=f4;h=2*h;%加大步长 elseif k==1h=-h;%反向搜索 x2=x4;f2=f4;elsex3=x2;x2=x1;x1=x4;break;endendendminx=min(x1,x3);maxx=x1+x3-minx;format short;M函数文件的运行结果如下x1 = 0.3000x2 = 1.5000================================================================== 例3-2 MA TLAB实现,用M函数文件形式求解:syms t;f=t^2-10*t+36;[x,fx]=minHJ(f,-10,10)黄金分割法一维搜索函数文件minHJ如下:function [x,minf]=minHJ(f,a,b,eps)%目标函数:f;%搜素区间左端点:a;%搜索区间右端点:b;%精度:eps;%目标函数取最小值时自变量值:x;%目标函数的最小值:minf;format long;if nargin==3eps=1.0e-6;endl=a+0.382*(b-a); %试探点u=a+0.618*(b-a); %试探点k=1;tol=b-a;while tol>eps && k<100000fl=subs(f,findsym(f),l); %试探点函数值fu=subs(f,findsym(f),u); %试探点函数值if fl>fua=l; %改变区间左端点l=u;u=a+0.618*(b-a); %缩小搜索区间elseb=u; %改变区间右端点u=l;l=a+0.382*(b-a); %缩小搜索区间endk=k+1;tol=abs(b-a);endif k==100000disp('找不到最优点!');x=NaN;minf=NaN;return;endx=(a+b)/2;minf=subs(f,findsym(f),x);format short;M函数文件的运行结果如下:x = 5.0000fx =11.0000=============================================================== 例3-3 MA TLAB实现,用M函数文件形式求解:syms t;f=sin(t);[x,fx]=minPWX(f,4,5)二次插值法一维搜索函数文件minPWX如下:function [x,minf]=minPWX(f,a,b,eps)%目标函数:f;%初始收缩区间左端点:a;%初始收缩区间左端点:b;%精度:eps;%目标函数取最小值时的自变量:x;%目标函数的最小值:minfformat long;if nargin==3eps=1.0e-6;endt0=(a+b)/2;k=0;tol=1;while tol>epsfa=subs(f,findsym(f),a); %搜索区间左端点函数值fb=subs(f,findsym(f),b); %搜索区间右端点函数值ft0=subs(f,findsym(f),t0); %内插点函数值tu=fa*(b^2-t0^2)+fb*(t0^2-a^2)+ft0*(a^2-b^2);td=fa*(b-t0)+fb*(t0-a)+ft0*(a-b);t1=tu/2/td; %插值多项式的极小点ft1=subs(f,findsym(f),t1); %插值多项式的极小值tol=abs(t1-t0);if ft1<=ft0if t1<=t0b=t0; %更新搜索区间右端点t0=t1; %更新内插点elsea=t0; %更新搜索区间左端点t0=t1; %更新内插点endk=k+1;elseif t1<=t0a=t1;elseb=t1;endk=k+1;endendx=t1;minf=subs(f,findsym(f),x);format short;M函数文件的运行结果如下:x = 4.7124fx = -1.0000================================================================ 例3-4 MA TLAB实现,用M函数文件形式求解:syms t;f=t^4-4*t^3-6*t^2-16*t+4;[x,fx]=minNewton(f,3)牛顿法一维搜索函数文件minNewton如下function [x,minf]=minNewton(f,x0,eps)%目标函数:f;%初始点:x0;%精度:eps;%目标函数取最小值时的自变量:x;%目标函数的最小值:minfformat longif nargin==2eps=1.0e-6;enddf=diff(f); %一阶导数d2f=diff(df); %二阶导数k=0;tol=1;while tol>epsdfx=subs(df,findsym(df),x0); %一阶导数值d2fx=subs(d2f,findsym(d2f),x0); %二阶导数值x1=x0-dfx/d2fx;k=k+1;tol=abs(dfx);x0=x1;endx=x1;minf=subs(f,findsym(f),x);format short;M 函数文件的运行结果如下:x =4fx = -156==================================================================例3-5用fminbnd 求函数1)(24-+-=x x x x f 在区间]1,2[-上极小值。
第九章一维搜索第九章一维搜索本章开始研究非线性规划的具体算法。
本章首先讨论一维搜索问题,又称为线搜索问题,这是以后各章中介绍的各种计算过程中的重要组成部分。
§1 一维搜索概念考虑非线性规划问题:min ().. f s t S∈x x (NP)的一维搜索问题,其中约束集nS X R ??,目标函数:f X R →。
1.1 一维搜索问题来源根据第八章中求解(NP)的基本下降算法的步骤知,已知迭代点k x 和满足条件()0k T k f ?<="" bdsfid="75" p="" s="">的搜索方向ks 后,要求步长k λ>0,使kkS λ+∈x s ,并且()()k k k k f f λ+<="" bdsfid="81" p="" s="" x="">这就是一维搜索问题,又称为线搜索问题。
这时若对所有0λ>,有kkS λ+∈x s ,则称为无限制一维搜索问题(如nS R =时),否则称为有限制一维搜索问题。
记()()kkf ?λλ=+x s ,则一维搜索问题(1.1.2)等价于确定步长{0|}k kk S λλλ∈≥+∈x s ,使()(0)k ?λ?< (1.1.3)条件(1.1.1)等价于(0)0?'<。
我们称1()()(0)()kk k k D f f ??λ+=-=-x x 为下降量。
1.2 一维搜索分类一维搜索方法可以分成以下三类:1.简单一维搜索,即取k λ=1。
这种方法计算简便,但不一定满足下降条件(1.1.3)。
2.最优一维搜索,即取arg min ()()k k k k k Sf λλ?λλ+∈==+x s x s ,这时称k λ为最优步长。
实验一 一维搜索算法的程序设计一、实验目的1、熟悉一维无约束优化问题的二分法、0.618算法和牛顿法。
2、培养matlab 编程与上机调试能力。
二、实验课时:2个课时三、实验准备1、预习一维无约束优化问题的二分法、0.618算法和牛顿法的计算步骤。
2、熟悉matlab 软件的基本操作。
四、实验内容课堂实验演示1、根据二分法算法编写程序,求函数2()22f x x x =++在区间[2,1]-上的极小值。
二分法如下:(1)给定区间[,]a b (要求满足0)(',0)('><b f a f )以及精度0>δ;(2)若δ≤-a b ,则停,输出*()/2x a b =+;(3)计算()/2c a b =+;(4)若0)('<c f ,令a c =,返回(2);否则若0)('>c f ,令b c =;否则若0)('=c f ,则停输出*()/2x a b =+;function [val,x,iter] = bisection_method(a,b,delta)iter = 0;while abs(b-a)>deltaiter = iter+1;[y,dy] = fun((a+b)/2);if abs(dy)<= deltax = (a+b)/2;val = y;return;elseif dy<0a = (a+b)/2;elseb = (a+b)/2;endendx = (a+b)/2;[val,dval] = fun(x);%%%%%%%%%%%%%%%%%%%%%%% obj function %%%%%%%%%%%%%%%%%%%%%%%%% function [y,dy] = fun(x)y = x^2+2*x+2;dy = 2*x+2;>> delta = 1.0e-6;[val,x,iter] = bisection_method(-2,1,delta)val = 1x = -1iter = 212、根据0.618算法编写程序,求函数()()()630sin tan 1x f x x x e =-在区间[0,1]上的极大值。
一维搜索的程序实现张 莹(沈阳教育学院数学与计算机系,辽宁沈阳 110016)Ξ 摘要:对于不可微的一元目标函数,我们用一维搜索去解决。
本文给出了一维搜索中的三个算法:二分法,三等分算法,黄金分割法各自的C 语言源程序,从而可以求出目标函数比较精确的近似最优点。
关键词:一维搜索;黄金分割法;程序中图分类号:TP311 文献标识码:A 文章编号:1008-3863(2002)04-0104-03 对于解决最优化问题,我们用数学的方法与原理给予了实现,但对于目标函数我们采取了适当的限制,即目标函数可微,而对不可微的目标函数或者虽然可微但导数很难求出或表示十分复杂的目标函数,我们则采取迭代法解决问题。
而在一维搜索中迭代法则的实现是压缩搜索区间的长度使之无限缩小且趋于零,从而满足终止准则,这样便可取得近似的最优点。
下面我们对具体的一维搜索方法给出程序实现。
本文主要使用C 语言源程序。
二分法:已知搜索区间<t 1,t 2,t 3>,其中f (t 1)>f (t 2)<f (t 3),f (t )在〈t 1,t 2,t 3〉上为单谷函数,给定终止准则限ε。
①计算(t 1+t 3)Π2及f [(t 1+t 3)Π2]②当(t 1+t 3)Π2<t 2时:若f [(t 1+t 3)Π2]>f (t 2),则(t 1+t 3)Π2=>t 1,转⑤若f [(t 1+t 3)Π2]<f (t 2),则(t 1+t 3)Π2=>t 2,t 2=>t 3,转⑤若f [(t 1+t 3)Π2]=f (t 2),则(t 1+t 3)Π2=>t 2,转④③当t 2<(t 1+t 3)Π2时:若f [(t 1+t 3)Π2]>f (t 2),则(t 1+t 3)Π2=>t 3,转⑤若f [(t 1+t 3)Π2]<f (t 2),则(t 1+t 3)Π2=>t 2,t 2=>t 1,转⑤若f [(t 1+t 3)Π2]=f (t 2),则(t 1+t 3)Π2=>t 2,转④④当(t 1+t 3)Π2=t 2时,计算f [(t 1+t 2)Π2]及[f (t 2+t 3)Π2] 若f [(t 1+t 2)Π2]>f (t 2)<f [(t 2+t 3)Π2],则(t 1+t 2)Π2=>t 1,(t 2+t 3)Π2=>t 3,转⑤ 若f [(t 1+t 2)Π2]>f (t 2)≥f [(t 2+t 3)Π2],则t 2=>t 1,(t 2+t 3)Π2=>t 2,转⑤ 若f [(t 1+t 2)Π2]≤f (t 2)<f [(t 2+t 3)Π2],则(t 1+t 2)Π2=>t 2,t 2=>t 3,转⑤⑤如果|t 1-t 3|<ε,则(t 1+t 3)Π2]t 3,转⑥,否则转①⑥输出t 3,终止。
float bise (float t1,float t2,float t3,float ε){float tm ,tm1,tm2,t0; do{tm =(t1+t3)Π2;—401—第4卷 第4期 沈阳教育学院学报 V ol.4 N o.4 2002年12月 Journal of Shenyang C ollege of Education Dec.2002 Ξ收稿日期:2002-07-05作者简介:张莹(1973-),女,吉林省长春市人,沈阳教育学院数学与计算机系,讲师。
if((tm=t2)ζf(tm)=f(t2)) {t2=(t1+t3)Π2; tm1=(t1+t2)Π2; tm2=(t2+t3)Π2; if(f(tm1)>f(t2)&&f(t2)<f(tm2)) {t1=tm1;t3=tm2}; if(f(tm1)>f(t2)&&f(t2)>=f(tm2)) {t1=t2;t2=tm2}; if(f(tm1)<=f(t2)&&f(t2)<f(tm2)) {t3=t2;t2=tm1}; } if(tm>t2) {if(f(tm)>f(t2))t3=tm; else{t1=t2;t2=tm;} } if(tm<t2) {if(f(tm)>f(t2))t1=tm; else{t3=t2;t2=tm;} } }while(t3-t1>=ε); t0=(t1+t3)Π2; return(t0);}其中f为调用的函数,由具体给定的函数而定。
比如设f(t)为一元函数,f(t)=(t-3)t可加调用函数程序如下:float sub(float t){float z;z=(t-3)3sqrt(t);return(z);}三等分算法:已知搜索区间〈t1,t2〉,f(t)为区间〈t1,t2〉上的单谷函数,给定终止准则限ε。
①计算t11=t1+(t2-t1)Π3;f(t11)②计算t22=t1+2(t2-t1)Π3;f(t22)③如果f(t11)≤f(t22),则t22=>t2,转⑤④如果f(t11)>f(t22),则t11=>t1,转⑤⑤如果|t1-t2|<ε,则(t1+t2)Π2=>t3,转⑥,否则转①⑥输出t3,终止。
float thre(float t1,float t2,floatε){float t11,t22,t0; do{t11=t1+(t2-t1)Π3; t22=t1+(t2-t1)32Π3; if(f(t11)<=f(t22)t2=t22 else t1=t11;} while(t2-t1>=ε); t0=(t1+t2)Π2; return(t0);}其中f同上,为一元函数。
黄金分割法:已知搜索区间〈t1,t2〉,f(t)为区间<t1,t2>上的单谷函数,给定终止准则限ε及分点比例系数β=0.618。
①计算t22=t1+β(t2-t1);f(t22)②计算t11=t1+(1-β)(t2-t1);f(t11)③如果f(t11)≤f(t22),则t22=>t2,t11]t22,f(t11) =>f(t22),转⑤④如果f(t11)>f(t22),则t11]t1,t22=>t11,f(t22) =>f(t11),转⑥⑤如果|t1-t2|<ε,则(t1+t2)Π2=>t3,转⑦,否则转②⑥如果|t1-t2|<ε,则(t1+t2)Π2=>t3,转⑦,否则计算t22=t1+β(t2-t1);f(t22),转③⑦输出t3,终止。
float g old(float t1,float t2,floatε){float t11,t22,t0,β;β=0.618;t22=t1+β3(t2-t1);t11=t1+(1-β)3(t2-t1);do{if(f(t11)<=f(t22)); {t2=t22; t22=t11; if(t2-t1<ε)break; t11=t1+(1-β)3(t2-t1); } else{t1=t11;t11=t22; if(t2-t1<ε)break; t22=t1+β3(t2-t1); } }while(t2-t1>=ε); t0=(t1+t2)Π2; return(t0); }其中f同上,也为一元函数。
由此,一维搜索中的方法借助于程序的实现就—51—张 莹 一维搜索的程序实现可以得出近似最优点,最优点的精确度取决于终止准则限ε的取值,而浮点型变量的取值范围为1.0×10-38~1.0×10+38,因此完全可以得出十分精确的近似最优点,最大程度地减小误差。
参考文献:[1]郝一凡,刘树贵.编著.最优化与决策[M].沈阳:辽宁大学出版社.1997.The program of Liner searchZH ANG Y ing(Shenyang C ollege of Education ,Shenyang 110016,China )Abstract :T o objective function with one unknown which is not differentiable ,we have linear search to s olve.This paper gives the programs of C to three alg orithms of linear search ,s o that we will get the objective function ’s approximate optimal point which is accurate enough.K ey w ords :linear search ;g olden section method ;program(责任编辑 吕成学)我院学报被评为全国优秀社科学报近日,在中国人文社科学报学会举办的全国第二届评优活动中,我院学报被评为全国优秀社科学报,学报副主编鲁茗编审被评为全国优秀社科学报主编。
这是我院学报继2000年获全国教育学院十佳学报后获得的又一次全国性大奖。
这表明我院学报办刊质量逐年提高,在全国林林总总的学术期刊中,已占有一席之地。
这次评优活动于2002年2月初至6月举行,历时4个月。
中国人文社科学报学会在2002年2月1日下发了《关于开展评优秀学报、优秀学报主编、优秀学报编辑及优秀学报编辑学论著的通知》,对评优工作进行了部署。
全国高校700多家社科学报进行了认真准备,按评审要求在规定日期报送了有关材料。
从4月初开始各省市学报研究会进行了初评。
在初评的基础上,将本地区学报逐一排序,上报到学会总部进行推荐工作。
5月下旬始,中国人文社科学报学会在河北省廊坊市武警学院召开了总评委会,邀请了全国学术期刊界知名专家、学者组成了总评委会对各省推荐的学报进行了认真的评选。
评委们严格把关,认真负责,按照学术期刊评优的条例逐项打分,整个评选工作进展顺利。
此次评优活动得到了国家教育部社政司的大力支持。
5月28日、29日,社政司司长靳诺同志、出版处副处长陈矛同志两次到河北省廊坊市亲临评优会现场调研,看望学会总评委,与总评委进行座谈。
这次高校学报评选充分考虑到中国高校社科学报的特点和改革开放以来大学学报的变化及取得的成绩。
根据国际通行的文献计量学所提供的有关数据,从中国高校社科学报的实际出发,组织有关专家成立有权威的总评委会,按照公平、公正的原则对刊物的方向、学术水平、编校质量、文载率、出版印刷质量等重要指标作出全面评价和鉴定,最后评出22家全国双十佳社科学报;112家全国百强社科学报;125家全国优秀社科学报;另有37家学报获质量进步奖;19家学报获栏目策划奖;13家学报获整体设计奖;6家学报获编辑质量奖。