Trait relp::algorithm::two_phase::strategy::pivot_rule::PivotRule[][src]

pub trait PivotRule<F> {
    fn new<IM, K>(tableau: &Tableau<IM, K>) -> Self
    where
        IM: InverseMaintener<F = F>,
        K: Kind,
        F: Column<<K::Column as Column>::F> + Cost<K::Cost>
;
fn select_primal_pivot_column<IM, K>(
        &mut self,
        tableau: &Tableau<IM, K>
    ) -> Option<SparseTuple<IM::F>>
    where
        IM: InverseMaintener<F = F>,
        K: Kind,
        F: Column<<K::Column as Column>::F> + Cost<K::Cost>
; fn after_basis_update<IM, K>(
        &mut self,
        _info: BasisChangeComputationInfo<IM::F>,
        _tableau: &Tableau<IM, K>
    )
    where
        IM: InverseMaintener<F = F>,
        K: Kind,
        F: Column<<K::Column as Column>::F> + Cost<K::Cost>
, { ... } }
Expand description

Deciding how to pivot.

During the Simplex method, one needs to decide how to move from basic solution to basic solution. The pivot rule describes that behavior.

Once the column has been selected for a primal pivot (or the row for a dual pivot), a row (column) needs to be found. This decision is currently made independent of the strategy.

Required methods

Create a new instance.

Column selection rule for the primal Simplex method.

Provided methods

Implementors