Font size


We provide you with two blocks for routing agents to different flowchart branches: SelectOutput and SelectOutput5.

  • SelectOutput has two output ports and can split the agent flow to two branches
  • SelectOutput5 has five output ports, so it may route agents to up to five exits.

Using SelectOutputIn and SelectOutputOut blocks you can create one large quasi-block SelectOutput with the required number of exits. You create it by adding one SelectOutputIn and the required number of SelectOutputOut blocks. These blocks should not be connected together graphically.

To implement a custom routing to N flowchart branches

  1. Add one SelectOutputIn block from the Auxiliary section located at the bottom of the Process Modeling Library palette.
  2. Add the required number of SelectOutputOut blocks.
  3. In each SelectOutputOut block, specify the name of the SelectOutputIn block that serves as the input.
  4. Define the routing principle. There are two alternative options:
    • In SelectOutputIn properties, choose Select output: By explicit choice, and specify the expression returning the SelectOutputOut block in the property below.
    • In SelectOutputIn properties, choose Select output: With probabilities in SelectOutputOut blocks, and specify probabilities for each SelectOutputOut block.

The following simple model demonstrates how to implement both cases.

Demo model: SelectOutputN Open the model page in AnyLogic Cloud. There you can run the model or download it (by clicking Model source files).


Agent type
The type of the agents exiting this block. This agent type is referred to below as T.
Default value: Agent
SelectOutputIn block
The block SelectOutputIn that composes a quasi multi-exit SelectOutput together with this and other SelectOutputOut blocks.
Syntax: SelectOutputIn selectOutputIn
Probability [0..1], when applicable
Applies when in the referred SelectOutputIn block Select output: With probabilities in SelectOuputOut blocks. Expression used to evaluate the probability that the current agent will exit via this SelectOutputOut block. The probability value should be in the [0..1] range.
Value type: double
Local variable: agent — the agent


On exit (true)
Code executed when the agent exits the block.
Local variable: agent — the agent


The output port.
How can we improve this article?