pub struct ConicProgram {
pub prob: QpProblem,
pub cones: Vec<ConeSpec>,
pub obj_constant: f64,
}Expand description
A CBF instance mapped to a pounce conic program
min ½xᵀPx + cᵀx s.t. Ax = b, Gx ⪯_K h (here P = 0). The cones
partition the rows of G in order; obj_constant (c₀, sign-adjusted)
is added to solution.obj to recover the CBF objective value.
Fields§
§prob: QpProblem§cones: Vec<ConeSpec>§obj_constant: f64Implementations§
Source§impl ConicProgram
impl ConicProgram
Sourcepub fn cbf_objective(&self, pounce_obj: f64, minimize: bool) -> f64
pub fn cbf_objective(&self, pounce_obj: f64, minimize: bool) -> f64
Recover the CBF objective value from a pounce solution objective
½xᵀPx + cᵀx. For a MAX instance the linear term was negated when
building, so the value is −pounce_obj + c₀.
Trait Implementations§
Source§impl Clone for ConicProgram
impl Clone for ConicProgram
Source§fn clone(&self) -> ConicProgram
fn clone(&self) -> ConicProgram
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for ConicProgram
impl RefUnwindSafe for ConicProgram
impl Send for ConicProgram
impl Sync for ConicProgram
impl Unpin for ConicProgram
impl UnsafeUnpin for ConicProgram
impl UnwindSafe for ConicProgram
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T, U> Imply<T> for U
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more