Struct BranchAndPrice

Source
pub struct BranchAndPrice<BranchFilter: IBranchFilter, Column: PartialEq + 'static, DualStore: UserDualStore + Sync, ModelMeta: UserModelMeta<Constr, Var, Env, Model>, BranchGroupType: Clone + Debug + Send + Sync, Constr: Clone, Env: LPEnv, Model: LPModel<Constr, Var, Env>, Var: Clone, PricingSolver: UserPricingSolver<ProblemInstance, BranchFilter, Column, DualStore>, ProblemInstance: Clone + Send + Sync, UMasterProblem: UserMasterProblem<ProblemInstance, PricingSolver, Column, DualStore, ModelMeta, BranchFilter, BranchGroupType, Constr, Env, Model, Var> + Clone>
where ColumnPool<Column, BranchFilter>: ColumnPoolFilter<Column, BranchFilter>,
{ /* private fields */ }

Implementations§

Source§

impl<BranchFilter: IBranchFilter + Sync + Send, Column: PartialEq + 'static + Clone + Send + Sync, DualStore: UserDualStore + Sync + Send, ModelMeta: UserModelMeta<Constr, Var, Env, Model>, BranchGroupType: Clone + Debug + Send + Sync, Constr: Clone, Env: LPEnv, Model: LPModel<Constr, Var, Env>, Var: Clone, PricingSolver: UserPricingSolver<ProblemInstance, BranchFilter, Column, DualStore>, ProblemInstance: Clone + Send + Sync, UMasterProblem: UserMasterProblem<ProblemInstance, PricingSolver, Column, DualStore, ModelMeta, BranchFilter, BranchGroupType, Constr, Env, Model, Var> + Clone + Send + Sync> BranchAndPrice<BranchFilter, Column, DualStore, ModelMeta, BranchGroupType, Constr, Env, Model, Var, PricingSolver, ProblemInstance, UMasterProblem>
where ColumnPool<Column, BranchFilter>: ColumnPoolFilter<Column, BranchFilter>,

Source

pub fn new(problem_instance: ProblemInstance) -> Self

Source

pub fn solve( &self, ui: &UI, num_threads: usize, column_pool: ColumnPool<Column, BranchFilter>, ) -> (f64, Vec<(f64, Column)>)

Auto Trait Implementations§

§

impl<BranchFilter, Column, DualStore, ModelMeta, BranchGroupType, Constr, Env, Model, Var, PricingSolver, ProblemInstance, UMasterProblem> Freeze for BranchAndPrice<BranchFilter, Column, DualStore, ModelMeta, BranchGroupType, Constr, Env, Model, Var, PricingSolver, ProblemInstance, UMasterProblem>
where ProblemInstance: Freeze,

§

impl<BranchFilter, Column, DualStore, ModelMeta, BranchGroupType, Constr, Env, Model, Var, PricingSolver, ProblemInstance, UMasterProblem> RefUnwindSafe for BranchAndPrice<BranchFilter, Column, DualStore, ModelMeta, BranchGroupType, Constr, Env, Model, Var, PricingSolver, ProblemInstance, UMasterProblem>
where ProblemInstance: RefUnwindSafe, BranchFilter: RefUnwindSafe, Column: RefUnwindSafe, BranchGroupType: RefUnwindSafe, ModelMeta: RefUnwindSafe, DualStore: RefUnwindSafe, Constr: RefUnwindSafe, Env: RefUnwindSafe, Model: RefUnwindSafe, Var: RefUnwindSafe, PricingSolver: RefUnwindSafe, UMasterProblem: RefUnwindSafe,

§

impl<BranchFilter, Column, DualStore, ModelMeta, BranchGroupType, Constr, Env, Model, Var, PricingSolver, ProblemInstance, UMasterProblem> Send for BranchAndPrice<BranchFilter, Column, DualStore, ModelMeta, BranchGroupType, Constr, Env, Model, Var, PricingSolver, ProblemInstance, UMasterProblem>
where BranchFilter: Send, Column: Send, ModelMeta: Send, DualStore: Send, Constr: Send, Env: Send, Model: Send, Var: Send, PricingSolver: Send, UMasterProblem: Send,

§

impl<BranchFilter, Column, DualStore, ModelMeta, BranchGroupType, Constr, Env, Model, Var, PricingSolver, ProblemInstance, UMasterProblem> Sync for BranchAndPrice<BranchFilter, Column, DualStore, ModelMeta, BranchGroupType, Constr, Env, Model, Var, PricingSolver, ProblemInstance, UMasterProblem>
where BranchFilter: Sync, Column: Sync, ModelMeta: Sync, Constr: Sync, Env: Sync, Model: Sync, Var: Sync, PricingSolver: Sync, UMasterProblem: Sync,

§

impl<BranchFilter, Column, DualStore, ModelMeta, BranchGroupType, Constr, Env, Model, Var, PricingSolver, ProblemInstance, UMasterProblem> Unpin for BranchAndPrice<BranchFilter, Column, DualStore, ModelMeta, BranchGroupType, Constr, Env, Model, Var, PricingSolver, ProblemInstance, UMasterProblem>
where ProblemInstance: Unpin, BranchFilter: Unpin, Column: Unpin, BranchGroupType: Unpin, ModelMeta: Unpin, DualStore: Unpin, Constr: Unpin, Env: Unpin, Model: Unpin, Var: Unpin, PricingSolver: Unpin, UMasterProblem: Unpin,

§

impl<BranchFilter, Column, DualStore, ModelMeta, BranchGroupType, Constr, Env, Model, Var, PricingSolver, ProblemInstance, UMasterProblem> UnwindSafe for BranchAndPrice<BranchFilter, Column, DualStore, ModelMeta, BranchGroupType, Constr, Env, Model, Var, PricingSolver, ProblemInstance, UMasterProblem>
where ProblemInstance: UnwindSafe, BranchFilter: UnwindSafe, Column: UnwindSafe, BranchGroupType: UnwindSafe, ModelMeta: UnwindSafe, DualStore: UnwindSafe, Constr: UnwindSafe, Env: UnwindSafe, Model: UnwindSafe, Var: UnwindSafe, PricingSolver: UnwindSafe, UMasterProblem: UnwindSafe,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V