pub struct CommodityPrices(IndexMap<(CommodityID, RegionID, TimeSliceID), f64>);
Expand description
A map relating commodity ID + region + time slice to current price (endogenous)
Tuple Fields§
§0: IndexMap<(CommodityID, RegionID, TimeSliceID), f64>
Implementations§
Source§impl CommodityPrices
impl CommodityPrices
Sourcepub fn from_model_and_solution(
model: &Model,
solution: &Solution<'_>,
assets: &AssetPool,
) -> Self
pub fn from_model_and_solution( model: &Model, solution: &Solution<'_>, assets: &AssetPool, ) -> Self
Calculate commodity prices based on the result of the dispatch optimisation.
Missing prices will be calculated directly from the input data
Sourcefn add_from_solution(
&mut self,
solution: &Solution<'_>,
assets: &AssetPool,
) -> HashSet<(CommodityID, RegionID)>
fn add_from_solution( &mut self, solution: &Solution<'_>, assets: &AssetPool, ) -> HashSet<(CommodityID, RegionID)>
Add commodity prices for which there are values in the solution
Commodity prices are calculated as the sum of the commodity balance duals and the highest capacity dual for each commodity/timeslice.
§Arguments
solution
- The solution to the dispatch optimisationassets
- The asset pool
§Returns
The set of commodities for which prices were added.
Sourcefn add_remaining<'a, I>(
&mut self,
commodity_regions: I,
time_slice_info: &TimeSliceInfo,
)
fn add_remaining<'a, I>( &mut self, commodity_regions: I, time_slice_info: &TimeSliceInfo, )
Add prices for any commodity not updated by the dispatch step.
§Arguments
commodity_ids
- IDs of commodities to updatetime_slice_info
- Information about time slices
Sourcepub fn insert(
&mut self,
commodity_id: &CommodityID,
region_id: &RegionID,
time_slice: &TimeSliceID,
price: f64,
)
pub fn insert( &mut self, commodity_id: &CommodityID, region_id: &RegionID, time_slice: &TimeSliceID, price: f64, )
Insert a price for the given commodity, time slice and region
Sourcepub fn iter(
&self,
) -> impl Iterator<Item = (&CommodityID, &RegionID, &TimeSliceID, f64)>
pub fn iter( &self, ) -> impl Iterator<Item = (&CommodityID, &RegionID, &TimeSliceID, f64)>
Trait Implementations§
Source§impl Default for CommodityPrices
impl Default for CommodityPrices
Source§fn default() -> CommodityPrices
fn default() -> CommodityPrices
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for CommodityPrices
impl RefUnwindSafe for CommodityPrices
impl !Send for CommodityPrices
impl !Sync for CommodityPrices
impl Unpin for CommodityPrices
impl UnwindSafe for CommodityPrices
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