查看: 138|回复: 1|关注: 0

[已答复] 求调用L-bfgs时能直接输出迭代次数的代码,自己写的只有最优值和时间,迭代次数iteration需要自己去计算。

[复制链接]

新手

10 麦片

财富积分


050


1

主题

1

帖子

0

最佳答案
发表于 2020-8-27 20:31:43 | 显示全部楼层 |阅读模式
options = struct('GradObj','on','Display','iter','LargeScale','off','HessUpdate','lbfgs','InitialHessType','identity','GoalsExactAchieve',0);
sigma1=0.1;
global pk;
pk=1;k=0;xk=zeros(n+1,1);
tic
while(pk>10^(-6))
    [x,fval]=lbfgs(@panfun,xk,options);
    Y=sigma1*pk;
    k=k+1;
    xk=x;
    pk=Y;
end
fprintf('obej_R is %4.8f\n',fval)
toc

结果:
Iteration  Func-count   Grad-count         f(x)         Step-size
         0           1           1             399.023   
    Optimizer Results
        Algorithm Used: limited memory BFGS (L-BFGS)
        Exit message : Line search cannot find an acceptable point along the current search
       iterations : 1
        Function Count : 11
        Minimum found : 399.0226
        Intern Time : 0.0015669 seconds
        Total Time : 2.0312 seconds
     Iteration  Func-count   Grad-count         f(x)         Step-size
         0           1           1             399.023   
    Optimizer Results
        Algorithm Used: limited memory BFGS (L-BFGS)
        Exit message : Line search cannot find an acceptable point along the current search
       iterations : 1
        Function Count : 11
        Minimum found : 399.0226
        Intern Time : 0.0016242 seconds
        Total Time : 2.051 seconds
obej_R is 399.02260814
时间已过 288.234236 秒。
回复主题 已获打赏: 0 积分

举报

新手

10 麦片

财富积分


050


4

主题

14

帖子

0

最佳答案
  • 关注者: 1
发表于 2020-9-11 11:45:02 | 显示全部楼层
您好,为什么我的MATLAB里没有L-BFGS函数
回复此楼 已获打赏: 0 积分

举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /4 下一条

快速回复 返回顶部 返回列表