pub struct Agent {
pub id: Rc<str>,
pub description: String,
pub commodity: Rc<Commodity>,
pub commodity_portion: f64,
pub search_space: SearchSpace,
pub decision_rule: DecisionRule,
pub capex_limit: Option<f64>,
pub annual_cost_limit: Option<f64>,
pub regions: RegionSelection,
pub objectives: Vec<AgentObjective>,
}
Expand description
An agent in the simulation
Fields§
§id: Rc<str>
A unique identifier for the agent.
description: String
A text description of the agent.
commodity: Rc<Commodity>
The commodity that the agent produces (could be a service demand too).
commodity_portion: f64
The proportion of the commodity production that the agent is responsible for.
search_space: SearchSpace
The processes that the agent will consider investing in.
decision_rule: DecisionRule
The decision rule that the agent uses to decide investment.
capex_limit: Option<f64>
The maximum capital cost the agent will pay.
annual_cost_limit: Option<f64>
The maximum annual operating cost (fuel plus var_opex etc) that the agent will pay.
regions: RegionSelection
The regions in which this agent operates.
objectives: Vec<AgentObjective>
The agent’s objectives.
Trait Implementations§
impl StructuralPartialEq for Agent
Auto Trait Implementations§
impl Freeze for Agent
impl RefUnwindSafe for Agent
impl !Send for Agent
impl !Sync for Agent
impl Unpin for Agent
impl UnwindSafe for Agent
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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