⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 randsearch.m

📁 多变量寻优的源码
💻 M
字号:
%HJ模式搜索的改进版
%主要改进在于对好点的搜索,模式移动不变
%改进,即使记录变化的量
%采用随机产生点来,搜索‘好点’


x0=[-3;-1;-3;-1];     %初始点
n=4;            %参数个数n
%E=eye(n);       %搜索方向
x=zeros(n,2*n); %搜索点
y=zeros(1,2*n); %d对应搜索点的值
h=1;           %初始步长
l=1;            %作为点间距离
yc=1;       %初始值,
as=1.618;          %步长放大因子
af=0.618;
a=1;
m=0;
x1=x0;
e=0.00000001;       %截至精度
M=200;          %最大迭代次数
%best=0
%better=0

tic
for k=1:M
   
    d=rand(n,1)-0.5;     %随机产生1个点
    x1=x0+a*d;
    y1=fm(x1);
    y0=fm(x0);
    if y1<y0
        y=x0+a*(x1-x0);
        yy=fm(y);
        if yy<y0
            a=a*as;
            l=norm(y-x0);
            yc=abs(yy-y0);
            x0=y;
           
        end
    else 
        m=m+1;
        if m>3*n
            a=a*af;
            m=0;
            
        end
    end
    
    if (l<e|yc<e)
           break;
    end
    
end


tic
ybest
xbest
k



                
            
            
    
    
    
    
    
    
    


    

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -