534
535
536
537
538
539
540
541
542
543
544
545
546
547
|
// Initialize the master problem.
let mut master = self.master.build().map_err(Error::BuildMaster)?;
master.set_num_subproblems(m).map_err(Error::BuildMaster)?;
master
.set_vars(n, lower_bounds, upper_bounds)
.map_err(Error::BuildMaster)?;
master.set_convexity_sets(constraint_sets.into_values());
self.master_proc = Some(MasterProcess::start(master, tx, &mut self.threadpool));
debug!("Initial problem evaluation");
// We need an initial evaluation of all oracles for the first center.
let y = Arc::new(self.data.cur_y.clone());
for i in 0..m {
|
>
>
|
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
|
// Initialize the master problem.
let mut master = self.master.build().map_err(Error::BuildMaster)?;
master.set_num_subproblems(m).map_err(Error::BuildMaster)?;
master
.set_vars(n, lower_bounds, upper_bounds)
.map_err(Error::BuildMaster)?;
master.set_convexity_sets(constraint_sets.into_values());
// we must set the center correctly
master.move_center(1.0, &self.data.cur_y);
self.master_proc = Some(MasterProcess::start(master, tx, &mut self.threadpool));
debug!("Initial problem evaluation");
// We need an initial evaluation of all oracles for the first center.
let y = Arc::new(self.data.cur_y.clone());
for i in 0..m {
|