pub struct Solution<'a> {
solution: Solution,
variables: VariableMap,
time_slice_info: &'a TimeSliceInfo,
commodity_balance_constraint_keys: Vec<(CommodityID, RegionID, TimeSliceSelection)>,
capacity_constraint_keys: Vec<(AssetID, TimeSliceID)>,
}
Expand description
The solution to the dispatch optimisation problem
Fields§
§solution: Solution
§variables: VariableMap
§time_slice_info: &'a TimeSliceInfo
§commodity_balance_constraint_keys: Vec<(CommodityID, RegionID, TimeSliceSelection)>
§capacity_constraint_keys: Vec<(AssetID, TimeSliceID)>
Implementations§
Source§impl Solution<'_>
impl Solution<'_>
Sourcepub fn iter_commodity_flows_for_assets(
&self,
) -> impl Iterator<Item = (AssetID, &CommodityID, &TimeSliceID, f64)>
pub fn iter_commodity_flows_for_assets( &self, ) -> impl Iterator<Item = (AssetID, &CommodityID, &TimeSliceID, f64)>
Iterate over the newly calculated commodity flows for assets.
Note that this only includes commodity flows which relate to assets, so not every commodity in the simulation will necessarily be represented.
§Returns
An iterator of tuples containing an asset ID, commodity, time slice and flow.
Sourcepub fn iter_commodity_balance_duals(
&self,
) -> impl Iterator<Item = (&CommodityID, &RegionID, &TimeSliceID, f64)>
pub fn iter_commodity_balance_duals( &self, ) -> impl Iterator<Item = (&CommodityID, &RegionID, &TimeSliceID, f64)>
Keys and dual values for commodity balance constraints.
Sourcepub fn iter_capacity_duals(
&self,
) -> impl Iterator<Item = (AssetID, &TimeSliceID, f64)>
pub fn iter_capacity_duals( &self, ) -> impl Iterator<Item = (AssetID, &TimeSliceID, f64)>
Keys and dual values for capacity constraints.
Auto Trait Implementations§
impl<'a> Freeze for Solution<'a>
impl<'a> RefUnwindSafe for Solution<'a>
impl<'a> !Send for Solution<'a>
impl<'a> !Sync for Solution<'a>
impl<'a> Unpin for Solution<'a>
impl<'a> UnwindSafe for Solution<'a>
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
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