/** * Dense trust-region unconstrained minimization using Dogleg steps and BFGS to estimate the Hessian. * @param config Trust region configuration * @return The new optimization routine */ public static UnconstrainedMinimization doglegBFGS( @Nullable ConfigTrustRegion config ) { if( config == null ) config = new ConfigTrustRegion(); HessianBFGS hessian = new HessianBFGS_DDRM(true); TrustRegionUpdateDogleg_F64<DMatrixRMaj> update = new TrustRegionUpdateDogleg_F64<>(); UnconMinTrustRegionBFGS_F64 alg = new UnconMinTrustRegionBFGS_F64(update,hessian); alg.configure(config); return alg; }
/** * Dense trust-region unconstrained minimization using Dogleg steps and BFGS to estimate the Hessian. * @param config Trust region configuration * @return The new optimization routine */ public static UnconstrainedMinimization doglegBFGS( @Nullable ConfigTrustRegion config ) { if( config == null ) config = new ConfigTrustRegion(); HessianBFGS hessian = new HessianBFGS_DDRM(true); TrustRegionUpdateDogleg_F64<DMatrixRMaj> update = new TrustRegionUpdateDogleg_F64<>(); UnconMinTrustRegionBFGS_F64 alg = new UnconMinTrustRegionBFGS_F64(update,hessian); alg.configure(config); return alg; }
protected UnconMinTrustRegionBFGS_F64 createAlg() { TrustRegionUpdateDogleg_F64 dogleg = new TrustRegionUpdateDogleg_F64(); HessianBFGS_DDRM hessian = new HessianBFGS_DDRM(true); return new UnconMinTrustRegionBFGS_F64(dogleg,hessian); } }
@Override protected UnconstrainedMinimization createSearch() { ConfigTrustRegion config = new ConfigTrustRegion(); config.regionInitial = 100; TrustRegionUpdateDogleg_F64 dogleg = new TrustRegionUpdateDogleg_F64(); HessianBFGS_DDRM hessian = new HessianBFGS_DDRM(true); UnconMinTrustRegionBFGS_F64 tr = new UnconMinTrustRegionBFGS_F64(dogleg,hessian); tr.configure(config); return tr; } }
@Override protected UnconstrainedMinimization createSearch() { ConfigTrustRegion config = new ConfigTrustRegion(); UnconMinTrustRegionBFGS_F64 tr = new UnconMinTrustRegionBFGS_F64( new TrustRegionUpdateCauchy_F64(), new HessianBFGS_DDRM(false)); tr.configure(config); return tr; }