719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
|
debug!("Use CPLEX master problem");
Box::new(BoxedMasterProblem::<CplexMaster>::new().unwrap())
};
let lb = self.problem.lower_bounds().map(DVector);
let ub = self.problem.upper_bounds().map(DVector);
if let Some(ref x) = lb {
if x.len() != self.problem.num_variables() {
return Err(SolverError::Dimension);
}
}
self.master.set_num_subproblems(m).map_err(SolverError::Master)?;
self.master.set_vars(self.problem.num_variables(), lb, ub).map_err(SolverError::Master)?;
self.master.set_max_updates(self.params.max_updates).map_err(SolverError::Master)?;
self.minorants = (0..m).map(|_| vec![]).collect();
|
<
|
|
|
>
>
|
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
|
debug!("Use CPLEX master problem");
Box::new(BoxedMasterProblem::<CplexMaster>::new().unwrap())
};
let lb = self.problem.lower_bounds().map(DVector);
let ub = self.problem.upper_bounds().map(DVector);
if lb.as_ref().map(|lb| lb.len() != self.problem.num_variables()).unwrap_or(false) {
return Err(SolverError::Dimension);
}
if ub.as_ref().map(|ub| ub.len() != self.problem.num_variables()).unwrap_or(false) {
return Err(SolverError::Dimension);
}
self.master.set_num_subproblems(m).map_err(SolverError::Master)?;
self.master.set_vars(self.problem.num_variables(), lb, ub).map_err(SolverError::Master)?;
self.master.set_max_updates(self.params.max_updates).map_err(SolverError::Master)?;
self.minorants = (0..m).map(|_| vec![]).collect();
|