pydcop.distribution.oilp_secp_fgdp

OILP-SECP-FGDP

This distribution method uses an ILP to compute an optimal distribution, optimizing for communication costs, while respecting agents’ capacities and hosting at least one computation on each agent.

This distribution method is designed for SECP and makes the following assumptions on the DCOP: * variables that represent an actuator are assigned to an agent, with an hosting cost of 0

distribution_cost(distribution: Distribution, computation_graph: ComputationsFactorGraph, agentsdef: Iterable[AgentDef], computation_memory: Callable[[ComputationNode], float], communication_load: Callable[[ComputationNode, str], float]) float

Compute the cost of the distribution.

Only takes communication costs into account (no hosting nor route costs).

Parameters:
  • distribution

  • computation_graph

  • agentsdef

  • computation_memory

  • communication_load