Font size


AnyLogic: The SelectOuputOut block

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 and it may route agents to up to five exits.

Using SelectOutputIn and SelectOutputOut blocks, you can create a quasi-block SelectOutput with the required number of exits. You create it by adding a SelectOutputIn block 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 a SelectOutputIn block from the Auxiliary section located at the bottom of the Process Modeling Library palette.
  2. Add the desired 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 options:
    • In the SelectOutputIn properties, select Select output: By explicit choice and specify the expression that returns the SelectOutputOut block in the property below.
    • In the SelectOutputIn properties, select Select output: With probabilities in SelectOutputOut blocks, and specify probabilities for each SelectOutputOut block.

The following simple model shows 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 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?