pub struct ChargingNetworkOptimizer {
pub candidate_locations: Vec<ChargingLocation>,
pub budget: f64,
pub ev_demand_nodes: Vec<(f64, f64, f64)>,
}Expand description
Greedy charging network site selection.
Fields§
§candidate_locations: Vec<ChargingLocation>All candidate locations.
budget: f64Total capital budget [$/].
ev_demand_nodes: Vec<(f64, f64, f64)>EV demand nodes (x, y, daily_demand_kwh).
Implementations§
Source§impl ChargingNetworkOptimizer
impl ChargingNetworkOptimizer
Sourcepub fn coverage_radius_km(&self, charger_type: &NetworkChargerType) -> f64
pub fn coverage_radius_km(&self, charger_type: &NetworkChargerType) -> f64
Service radius of each charger type [km].
Sourcepub fn greedy_placement(&self) -> Vec<usize>
pub fn greedy_placement(&self) -> Vec<usize>
Greedy site selection: rank by demand_served/install_cost, pick within budget.
Returns a list of selected location IDs.
Sourcepub fn total_capacity_selected(&self, selected: &[usize]) -> f64
pub fn total_capacity_selected(&self, selected: &[usize]) -> f64
Total installed charger capacity for selected sites [kW].
Sourcepub fn population_coverage_pct(&self, selected: &[usize]) -> f64
pub fn population_coverage_pct(&self, selected: &[usize]) -> f64
Fraction of demand nodes covered by at least one selected location [0–1].
Auto Trait Implementations§
impl Freeze for ChargingNetworkOptimizer
impl RefUnwindSafe for ChargingNetworkOptimizer
impl Send for ChargingNetworkOptimizer
impl Sync for ChargingNetworkOptimizer
impl Unpin for ChargingNetworkOptimizer
impl UnsafeUnpin for ChargingNetworkOptimizer
impl UnwindSafe for ChargingNetworkOptimizer
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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§unsafe fn to_subset_unchecked(&self) -> SS
unsafe fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.