Improve source handling if source is too small to spawn all requested agents
The current handling:
If not all agents can be set, then move them to the next spawn update.
This handling has side effects:
- The problem that not all agents can get spawned is just moved to the next update and the "problem" tends to get get bigger as time moves on
- Say, the parameter is 10 agents per update, but only 5 agents are spawned per update, this is silently ignored and user has no feedback that the requested 10 agents per update are actually not happening.
- Performance issues, the source bottleneck is also a performance bottleneck (if spawning > source size)
- raise error/warning when not all/a substantial part of agents can be spawned
- discard agents that could not be spawned (i.e. we shouldn't move them to the next update, because this is not what the parameters say)
- If one agent couldn't get spawned after "many trials (currently 1000)", then also stop trying for the rest of agents to be spawned.
Any other ideas concerning this? Otherwise I could integrate this into !94 (closed)