src/forward_pdps.rs

branch
dev
changeset 62
32328a74c790
parent 61
4f468d35fa29
equal deleted inserted replaced
61:4f468d35fa29 62:32328a74c790
174 let τ = config.τ0 * φ / (σ_d * bigM * a + φ * l); 174 let τ = config.τ0 * φ / (σ_d * bigM * a + φ * l);
175 // Acceleration is not currently supported 175 // Acceleration is not currently supported
176 // let γ = dataterm.factor_of_strong_convexity(); 176 // let γ = dataterm.factor_of_strong_convexity();
177 let ω = 1.0; 177 let ω = 1.0;
178 178
179 dbg!(τ, σ_p);
180
179 // We multiply tolerance by τ for FB since our subproblems depending on tolerances are scaled 181 // We multiply tolerance by τ for FB since our subproblems depending on tolerances are scaled
180 // by τ compared to the conditional gradient approach. 182 // by τ compared to the conditional gradient approach.
181 let tolerance = config.insertion.tolerance * τ * reg.tolerance_scaling(); 183 let tolerance = config.insertion.tolerance * τ * reg.tolerance_scaling();
182 let mut ε = tolerance.initial(); 184 let mut ε = tolerance.initial();
183 185
307 { 309 {
308 let opKz = ZeroOp::new_dualisable(Loc([]), z.dual_origin()); 310 let opKz = ZeroOp::new_dualisable(Loc([]), z.dual_origin());
309 let fnH = Zero::new(); 311 let fnH = Zero::new();
310 // Convert config. We don't implement From (that could be done with the o2o crate), as σd0 312 // Convert config. We don't implement From (that could be done with the o2o crate), as σd0
311 // needs to be chosen in a general case; for the problem of this fucntion, anything is valid. 313 // needs to be chosen in a general case; for the problem of this fucntion, anything is valid.
312 let &FBConfig { τ0, σp0, insertion } = config; 314 let &FBConfig { τ0, σp0, insertion, .. } = config;
313 let pdps_config = ForwardPDPSConfig { τ0, σp0, insertion, σd0: 0.0 }; 315 let pdps_config = ForwardPDPSConfig { τ0, σp0, insertion, σd0: 0.0 };
314 316
315 pointsource_forward_pdps_pair( 317 pointsource_forward_pdps_pair(
316 f, 318 f,
317 reg, 319 reg,

mercurial