pub struct SharedState<ColumnType, BranchFilter, C, DualStore>where
DualStore: UserDualStore,
BranchFilter: Clone + IBranchFilter,
C: Compare<Branch<BranchFilter, DualStore>> + Clone,{
pub best: RwLock<(f64, Vec<(f64, ColumnId)>)>,
pub open_branches: BlockingQueue<BranchFilter, C, DualStore>,
pub column_pool: RwLock<ColumnPool<ColumnType, BranchFilter>>,
pub last_integer_at_cp_size: AtomicUsize,
pub ui_sender: UISender,
pub start_time: Instant,
pub duration_root_node: Mutex<Option<Duration>>,
pub obj_root_node: Mutex<Option<f64>>,
pub duration_lds_root_node: Mutex<Option<Duration>>,
pub time_limit: Option<Instant>,
pub phase: RwLock<Phase>,
}Expand description
Struct storing information about branch and price progress That is shared among all workers.
Contains open branches, bound and progress information
Fields§
§best: RwLock<(f64, Vec<(f64, ColumnId)>)>§open_branches: BlockingQueue<BranchFilter, C, DualStore>§column_pool: RwLock<ColumnPool<ColumnType, BranchFilter>>§last_integer_at_cp_size: AtomicUsize§ui_sender: UISender§start_time: Instant§duration_root_node: Mutex<Option<Duration>>§obj_root_node: Mutex<Option<f64>>§duration_lds_root_node: Mutex<Option<Duration>>§time_limit: Option<Instant>§phase: RwLock<Phase>Implementations§
pub fn new( column_pool: ColumnPool<ColumnType, BranchFilter>, ui: &UI, timelimit: Option<Instant>, open_branches: BlockingQueue<BranchFilter, C, DualStore>, ) -> Self
Auto Trait Implementations§
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more