I used Netlogo a lot and I found it is not constraining anything I want to build. However, I am interested to learn Java based ABS for bigger engineering project. One of the key question is if there is a agent type as link (directed and undirected) and supports the related primitive commands (methods) for easy usage? (see https://ccl.northwestern.edu/netlogo/docs/dictionary.html#linkgroup)
Asked
Active
Viewed 81 times
1 Answers
3
There are a few ways to use networks in Repast Simphony. One is through the network projections, where the network, rather than an individual link, is an object with methods used to add and remove links between agents (see the Repast Java Getting Started Guide).
Another method is through the ReLogo language, where links are agents with primitives (see the ReLogo Getting Started Guide). Based on your interests in "bigger engineering projects" I'd recommend the first, Java-based approach, as that will be much more performant and scalable.

J. Ozik
- 1,083
- 5
- 6
-
1Thanks. Looks helpful with a lot of pre-built methods. I would take a deeper read and see if it is as flexible as Netlogo links. If I have many unique things related to an individual link (e.g. transportation routes), would it be more effective/simpler to modeling it as an agent to enable the distributed local decision-making and self-control in Repast – Jack Jul 18 '19 at 05:51
-
That's a great question. You are able to create custom network edges by creating custom EdgeCreator classes. This allows you to add attributes and behaviors if you require. When an edge is created by, e.g., Network.addEdge, you can get a reference to the created edge and schedule some action on it. Having said all of this, we usually just add attributes to any custom edges and agent (or overall model) behaviors guide the model logic. – J. Ozik Jul 18 '19 at 16:59
-
could you provide a simple code demo of creating a custom edge with simple actions and attributes? it will be very helpful to me – Jack Aug 11 '19 at 12:57