Skip to main content

collect_agent_limits

Function collect_agent_limits 

Source
pub fn collect_agent_limits(
    agent: &Agent,
    region_id: &RegionID,
    commodity_id: &CommodityID,
    year: u32,
    commodity_portion: Dimensionless,
    get_agent_limit: fn(&Process, &RegionID, u32, Dimensionless) -> Option<Capacity>,
) -> HashMap<ProcessID, Capacity>
Expand description

Collects capacity limits for all processes in the agent’s search space for a given market.

Processes without a defined limit are excluded from the returned map. The limit type is determined by get_agent_limit, which should be one of Process::agent_addition_limit (the agent’s share of the annual addition limit) or Process::agent_total_limit (the agent’s share of the maximum total installed capacity).

§Arguments

  • agent – Agent whose search space is queried.
  • region_id – Region for which limits are calculated.
  • commodity_id – Commodity for which limits are calculated.
  • year – Milestone year being solved.
  • commodity_portion – Agent’s fractional share of commodity demand, used to scale limits.
  • get_agent_limit – Method on Process that returns the limit value.