# Um novo fluxo de processos no modelo

Nesta Parte III, acrescentaremos o serviço de atendimento pessoal à nossa agência bancária. O objetivo aqui é:

* Identificar se **3 caixas de atendimento presencial são suficientes para atender a demanda**.&#x20;

A taxa de chegada de clientes na agência é a mesma da etapa anterior, mas alguns destes clientes preferem o atendimento presencial. Os parâmetros de entrada utilizados nesta etapa do exercício são:

* 40% dos clientes preferem o atendimento no caixa eletrônico;
* O restante (60%) é atendido por um dos **3 caixas disponíveis**;&#x20;
* A duração média de atendimento presencial é de **5 min** (em cada caixa), e a distribuição das durações também é exponencial.

A novidade nesta etapa do exercício é, além do processo de decisão do cliente quanto ao tipo de serviço desejado, a existência de 3 caixas que prestam o mesmo serviço (diferentemente da Parte II do tutorial, em que a fila bancária é atendida por um único caixa eletrônico). Usualmente, a representação de caixas de atendimento é feita por **Recursos** ou, na nomenclatura do AnyLogic, **Resource Pool**, pelos motivos que esclareço a seguir.

Quando se modela algum recurso escasso do sistema por meio do bloco **Resource Pool**, o AnyLogic encarrega-se da lógica de ocupar e desocupar o recurso, da coleta de estatísticas de ocupação e da geração de paralisações por quebras e/ou manutenções. Para aqueles já familiarizados com a simulação de agentes, o AnyLogic ainda permite configurar o **Resource Pool** como um **Agente** criado pelo usuário - com esta abordagem, o céu é o limite.

Um **Resource Pool** pode ser selecionado e ocupado pelo bloco **Seize** e liberado pelo bloco **Release**, ou isso tudo pode ser feito de maneira compacta pelo bloco Service, que já incorpora a sequência **Seize-Delay-Release** num único bloco.&#x20;

Com o tempo, você vai notar que muitos blocos do AnyLogic são mera junção de outros ou mesmo herdeiros de outros blocos. Note, por exemplo, a similaridade entre os blocos da **Process Modeling Library** com os blocos da **Pedestrian Library** (biblioteca de pedestres):

![](https://lh4.googleusercontent.com/2i0ph2TuMv3DWk9xmAn3E6tNJ_bkA7qF0_lvc7KbwSv-7fuN8lsQwOJylw9dBfemLngWzWRKy3hBBQnG5CsXLFhEUGrw179kJL_iVbYAC1rK12oOAjTtI7ax5Sdxk1YSBrHAekFt)

Antes de começarmos, vamos abrir um espaço nos blocos, caso contrário ficará difícil visualizar alguma coisa (clique e arraste com o mouse a seleção de objetos):

![](https://lh3.googleusercontent.com/MrtWxEz5MGFZrD2B8ReqTylED4mAIzRc9cOrZJvg8E7WBRTUTXFES1iwmCqxcZp3puPKVi6ChSxQIUmj60a_5T70442KeBKanO7Pg-ya-qZU8hNufaGoopphv-olOuNWESPhDwo_)

Quando um cliente entra no banco, deve decidir se vai ao caixa eletrônico ou aos caixas normais. O bloco **Select Output** representa o processo de tomada de decisão:

![](https://lh3.googleusercontent.com/oSoLXVFdXmHZeDMmeNXpZ5hpL_34I4IZ5wE05COupCmia9WXz4nqwDYqY-PzwXj1lZgU3rx5t74IvW_8nNDhLqcFIwctezixH4L_I5rJc-uvKVVAXyUqZNcyVBT8R0IS-SWQDOz7)

Agora vamos representar o processo de atendimento dos caixas normais. Um modo compacto de fazer isso é utilizar o bloco **Service.**

O bloco **Service** possui as regras de ocupação e desocupação do **Resource Pool** (caixas) ou, em termos mais comuns para quem profissionais de simulação, o bloco é uma sequência "*Entrar em Fila-Ocupar Recurso-Passar o tempo de Processo-Desocupar Recurso*" (**Queue-Size-Delay-Release)**. Lembre-se de conectá-lo ao fluxo de clientes:

![](https://lh4.googleusercontent.com/dMp2JPSYCLF4F7Eo8kFLyWWGXTb-_N1hdSqR7m3YjDCwzL0DWkKZQD9jlpqYdD1B3yLEZ1aBC5MFFTPwJrZaIphAoQ8S20kJRN2NZIt3AxTyIaD8W_yN8a5U4O2LWDsuvxOLmSOG)

Não esqueça de preencher as propriedades do **selectOutput**: 40% dos clientes se dirigem ao caixa eletrônico:

![](https://lh3.googleusercontent.com/c3FOVwm-guLJi2XBkQTxE4TgJPs6gC6nw_ATAnT6lpD2z5Jw8_z80YXIrVpyuOZ-LDbR_aVf9c-Y2KdvjwMQpYpRdPuDG5bnAHPdx_rdok2dVj71Kz0hGsPW5Noj9mkEIRkxRM18)

{% hint style="success" %}
**Dica**

Além do bloco **Select Output,** que permite apenas duas saídas, o AnyLogic possui o **Select Output5,** que permite até 5 saídas. Você precisa mais do que 5 saídas ou mesmo os conectores ficaram confusos e embaralhados? Neste caso, o AnyLogic tem um comando bem legal e genérico explicado [aqui](https://help.anylogic.com/topic/com.anylogic.help/html/processmodeling/selectoutputin.html?cp=2_0_1_37_1).
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://tutorial.anylogicbrasil.com.br/parte-iii-recursos-parametros-e-variaveis/um-novo-fluxo-de-processos-no-modelo.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
