pub struct Agent {
pub id: AgentID,
pub description: String,
pub commodity_portions: AgentCommodityPortionsMap,
pub search_space: Vec<AgentSearchSpace>,
pub decision_rule: DecisionRule,
pub cost_limits: AgentCostLimitsMap,
pub regions: HashSet<RegionID>,
pub objectives: Vec<AgentObjective>,
}
Expand description
An agent in the simulation
Fields§
§id: AgentID
A unique identifier for the agent.
description: String
A text description of the agent.
commodity_portions: AgentCommodityPortionsMap
The proportion of the commodity production that the agent is responsible for.
search_space: Vec<AgentSearchSpace>
The processes that the agent will consider investing in.
decision_rule: DecisionRule
The decision rule that the agent uses to decide investment.
cost_limits: AgentCostLimitsMap
Cost limits (e.g. capital cost, annual operating cost)
regions: HashSet<RegionID>
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