Java知识分享网 - 轻松学习从此开始!    

Java知识分享网

Java1234官方群25:java1234官方群17
Java1234官方群25:838462530
        
SpringBoot+SpringSecurity+Vue+ElementPlus权限系统实战课程 震撼发布        

最新Java全栈就业实战课程(免费)

springcloud分布式电商秒杀实战课程

IDEA永久激活

66套java实战课程无套路领取

锋哥开始收Java学员啦!

Python学习路线图

锋哥开始收Java学员啦!
当前位置: 主页 > Java文档 > Java基础相关 >

最优化理论与算法 PDF 下载


分享到:
时间:2021-09-19 08:35来源:http://www.java1234.com 作者:转载  侵权举报
最优化理论与算法 PDF 下载
失效链接处理
最优化理论与算法  PDF 下载


本站整理下载:
提取码:s2yw 
 
 
相关截图:
 
主要内容:

1、算法原理
 
2、算法步骤
 
3、代码实现
%理查德外推法求偏导数
function gx=compute_grad(fun,x0,h)
     %功能: 理查德外推法求解导数
     %输入: fun是目标函数;n是自变量的个数;x0是初始点,
     %      取h =1.0e-3
     %输出:  gx是导数
     temp=x0;
     grad=x0;
for i=1:size(x0)
temp(i)=temp(i)+0.5*h;
grad(i)=4*feval(fun,temp)/(3*h);
temp(i)=temp(i)-h;
     grad(i)=grad(i)-4*feval(fun,temp)/(3*h);
     temp(i)=temp(i)+3*h/2;
     grad(i)=grad(i)-feval(fun,temp)/(6*h);
     temp(i)=temp(i)-2*h;
     grad(i)=grad(i)+feval(fun,temp)/(6*h);
     temp(i)=x0(i);
end
gx=grad;
%求梯度
function gf=gfun(x)
gf=compute_grad('fun',x,1.0e-3);
 
%梯度法程序
function [k,x,val]=grad(fun,gfun,x0,epsilon)
     %功能: 梯度法求解无约束优化问题:  min f(x)
     %输入: fun, gfun分别是目标函数及其梯度, x0是初始点,
     %      epsilon为容许误差
     %输出: k是迭代次数, x, val分别是近似最优点和最优值
     maxk=5000;  %最大迭代次数
     beta=0.5;  sigma=0.4;
     k=0; 
     while(k<maxk)
         gk=feval(gfun,x0);  %计算梯度
         dk=-gk;  %计算搜索方向
         if(norm(gk)<epsilon), break; end  %检验终止准则
         m=0;  mk=0;
         while(m<20)  %用Armijo搜索求步长
             if(feval(fun,x0+beta^m*dk)<=feval(fun,x0)+sigma*beta^m*gk'*dk)
                 mk=m; break;
             end
             m=m+1;
         end
         x0=x0+beta^mk*dk;
         k=k+1;
     end
     x=x0;
     val=feval(fun,x0);

 

------分隔线----------------------------

锋哥公众号


锋哥微信


关注公众号
【Java资料站】
回复 666
获取 
66套java
从菜鸡到大神
项目实战课程

锋哥推荐