find_min_box_constrained刚刚退出边界?

时间:2018-03-21 08:58:40

标签: c++ mathematical-optimization dlib

我这样打电话给find_min_box_constrained

matrix<double,nparam,1> lb ={0,0,0,0};
matrix<double,nparam,1> ub = {2,2,2,2};

find_min_box_constrained(lbfgs_search_strategy(100),  
        objective_delta_stop_strategy(1e-15).be_verbose(),
        targetf, derivative(targetf), params,lb,ub );

产生以下输出:

  

迭代:0目标:3786.68

     

迭代:1目标:294.485

     

迭代:2目标:294.485

     

迭代:3目标:294.484

     

迭代:4目标:294.481

     

迭代:5目标:294.452

     

迭代:6目标:294.157

     

迭代:7目标:291.148

     

迭代:8个目标:252.786

     

迭代:9目标:375.851

     

迭代:10目标:375.851

我的params向量最终正好是{2,2,2,2}(上限),其中targetf(ub) = 375.851

为什么find_min_box_constrainted会返回该值,即使它显然已经遇到了更好的事情(在迭代8中为252)?

0 个答案:

没有答案