import agentpy as ap class ProductAgent(ap.Agent): def setup(self, code, name): self.product_network = self.model.product_network self.code = code self.name = name def a_successors(self): # find successors of a product, return in AgentList (ProductAgent) nodes = self.product_network.graph.successors( self.product_network.positions[self]) return ap.AgentList( self.model, [ap.AgentIter(self.model, node).to_list()[0] for node in nodes]) def a_predecessors(self): # find predecessors of a product, return in AgentList (ProductAgent) nodes = self.product_network.graph.predecessors( self.product_network.positions[self]) return ap.AgentList( self.model, [ap.AgentIter(self.model, node).to_list()[0] for node in nodes])