Processo de quatro etapas¶
As caixas de diálogo de Cenário e Experimento do Modelo de Quatro Etapas são usadas para conectar os diferentes processos envolvidos em um projeto de modelagem de demanda de Quatro Etapas.
Cenário do Modelo de Quatro Etapas¶
O cenário Four-Step Model contém apenas as informações básicas do cenário.
Para criar um novo cenário de Modelo de Quatro Etapas, selecione New > Scenario > Four-Step Model scenario no Menu do Projeto. Se estiver trabalhando em uma sub-rede, o novo cenário pode ser criado a partir do menu de contexto da sub-rede.
O menu de contexto do Cenário tem opções para Ativar, crie um Novo Experimento, execute um dos disponíveis Scripts, Excluir, Renomear, Duplicar ou abra o Cenário Propriedades editor.
Ao selecionar Ativar a partir de um cenário, o primeiro experimento disponível no cenário é ativado automaticamente.
O editor de cenário é dividido em várias abas que contêm o nome e o ID externo, as saídas a serem coletadas, as variáveis usadas para modificar o cenário e alguns parâmetros para descrever o cenário.

Para usar configurações de geometria em um cenário Four-Step, elas podem ser ativadas nos cenários associados a cada caixa no modelo Four-Step experimento diagrama.
Para armazenar os Four-Step Model Loop Outputs no banco de dados, a opção Resultados de Laços na aba Saídas a Gerar deve ser ativada.

O experimento do Modelo Quatro Etapas contém o diagrama que descreve as entradas, links, processos e saídas do modelo de Quatro Etapas.
Experimento do Modelo de Quatro Etapas¶
Para criar um novo experimento de Modelo de Quatro Etapas, selecione New Experiment no menu de contexto do cenário.
O menu de contexto de Experimento tem, entre outras, opções para Ativar, Run, Recuperar, Excluir, Renomear, Duplicar ou abra o experimento Propriedades editor.
Ao selecionar Ativar a partir de um experimento, ele é ativado na área da barra de ferramentas de tarefas.
Um novo experimento de modelo de quatro etapas contém uma tela vazia. A tela é preenchida com caixas vinculadas às etapas do modelo de quatro etapas e representam dados ou experimentos com entradas e saídas. As saídas de uma caixa são conectadas como entradas a outra caixa para representar o fluxo de dados no experimento de modelo de quatro etapas.
Novas caixas são criadas clicando com o botão direito na tela e escolhendo o tipo de caixa na lista suspensa. As saídas de cada caixa são conectadas como entradas da próxima caixa por arrastar e soltar, do slot de saída de uma caixa para o slot de entrada correspondente da próxima.

Cada caixa (exceto o controlador de loop) deve estar associada a um item do documento Aimsun. Esse item pode ser uma entrada (matrizes skim, vetores G/A, matrizes de viagens), experimentos (experimento G/A, experimento de Distribuição, experimento de Atribuição...) ou um script. Selecione a caixa no diagrama e defina os dados ou experimento associados a ela no Configurações área. A figura abaixo demonstra a vinculação a uma fonte de dados criada no projeto (à esquerda, é mostrada a matriz inicial de carros) ou a um experimento (à direita, é mostrado o experimento de distribuição).

Um experimento deve ser usado em apenas um experimento do Modelo de Quatro Etapas. Para cada um dos experimentos selecionados, o armazenamento de resultados em bancos de dados ou arquivos deve estar ativo; caso contrário, o experimento do Modelo de Quatro Etapas gerará um erro quando for executado.
O contorno da caixa ficará vermelho até que um elemento seja associado à caixa, tornando-se preto depois. Um contorno amarelo mostra a caixa que está selecionada no momento.
As caixas vinculadas a experimentos serão exibidas em três cores diferentes de acordo com o estado dos resultados associados: - Cinza: nenhum resultado está disponível. Em outras palavras, ainda não foi executado com sucesso ou os resultados foram excluídos. - Preto: os resultados estão disponíveis, mas não foram recuperados. Por exemplo, o arquivo .dis (Distribution Experiment) foi gerado, mas os resultados estão pendentes de recuperação. - Azul: os resultados estão disponíveis e foram recuperados.
Clicar duas vezes na parte superior da caixa abrirá o Cenário ao qual o experimento associado pertence; clicar duas vezes na parte inferior da caixa abrirá o Experimento associado.
Clicar com o botão direito em uma caixa abre um menu que inclui as seguintes ações (as ações disponíveis dependem do tipo de caixa e de seu status):
- Executar esta Caixa: Descarta apenas os resultados da caixa selecionada e executa apenas a caixa selecionada. Caso haja caixas a montante da caixa selecionada que ainda não tenham sido executadas, ele executará as caixas pendentes de execução.
- Executar a partir desta Caixa em Diante: Descarta os resultados da caixa selecionada e das caixas a jusante dela. Executa a caixa selecionada e as caixas a jusante. Caso existam caixas a montante da caixa selecionada que ainda não tenham sido executadas, executará as caixas pendentes de execução.
- Recuperar resultados: Recupera os resultados no banco de dados. O experimento é aberto com um clique duplo na parte inferior da caixa para ver os resultados recuperados. As saídas de um experimento em qualquer uma das caixas não são geradas a menos que os resultados sejam recuperados e o usuário as gere a partir desse editor de experimento.
- Excluir Resultados: Exclui da base de dados os resultados desta caixa e de todas as caixas a jusante e redefine o status dos experimentos para pendente status.
- Excluir caixa: Exclui a caixa do experimento do modelo de quatro etapas.
Clicar em um conexão mostra em Configurações quais saídas serão passadas para a caixa conectada a jusante durante a execução e permite que o usuário as configure.
- Para as conexões provenientes de um intervalo de matriz OD: especifique quais matrizes OD, com base em sua Classe de Usuário, intervalos de tempo,... devem ser passadas para a próxima caixa.
- Para as conexões provenientes de um slot vetorial: especifique quais dos vetores devem ser passados para a próxima caixa.
- Para as conexões provenientes de um slot de matriz skim: especifique quais componentes skim, classes de usuário... devem ser passados para a próxima caixa. Matrizes skim para todos os Componentes da Função será calculada e disponibilizada na pasta OD Matrices se a caixa de seleção Generate estiver marcada no cenário.

Você pode selecionar ou desselecionar tudo ativando ou desativando a caixa de seleção Select All. Também é possível filtrar o conteúdo da tabela escolhendo qualquer uma das colunas e digitando o nome a filtrar. Por fim, é possível ordenar o conteúdo da tabela por coluna clicando no cabeçalho de qualquer coluna da tabela.
Para executar o diagrama completo, clique com o botão direito no experimento Four-Step Model no Projeto janela e escolha Executar Modelo de Quatro Etapas. Isso excluirá todos os resultados anteriores e executará novamente o diagrama completo.
Para excluir uma caixa ou uma conexão, selecione-a e use o Excluir tecla para removê-lo ou selecione a Excluir Caixa / Excluir Conexão opção em seu menu de contexto.
Caixa de script¶
Uma caixa de script pode ser usada para incorporar processos personalizados ou externos ao fluxo de trabalho. Para incluir uma caixa de script no diagrama, primeiro crie o script do modelo de quatro etapas. Em seguida, adicione uma nova caixa de script clicando com o botão direito na tela e selecione o script desejado.
Os slots de entrada e saída da caixa de script são definidos no script. Isso é feito nas funções de entrada e saída, que retornam uma lista de definições de entrada ou saída com:
- nome interno
- nome externo
- obrigatório ou opcional
- conteúdo do slot: vetor, matriz...
As funções de entrada e saída são executadas uma vez quando a caixa é criada para configurá-la na tela do modelo de quatro etapas.
Um script pode modificar dados entre dois processos, ou pode ser usado para gerar relatórios sobre o processo de quatro etapas em pontos dentro desse processo.


Durante o ciclo de execução da caixa de script, as seguintes funções são chamadas:
- setSlotOutputElements: que define os elementos de saída para o slot no. Estes elementos de saída descrevem os objetos que serão produzidos como saída após a execução da box e serão listados em cada uma das conexões de saída ao conectar o slot de saída da box ao próximo slot de entrada.
- executar: que executa o processo real; isso é realizado apenas uma vez no work-flow
- loadData: que coloca os dados do processo nos slots de saída; isso é executado sempre que a saída da caixa está sendo acessada. Se os elementos de saída (GKObject) forem objetos temporários, esses objetos serão excluídos após cada acesso.
- deleteData: remove a saída do processo se a exclusão de resultados da caixa for chamada.
- isReady: indica se o processo tem saídas disponíveis.
- compatibleConnections: é chamada antes da execução do work-flow para verificar se todas as entradas estão definidas corretamente
Quando um novo script de experimento de modelo de quatro etapas é criado, estas funções serão definidas no esqueleto do script. Clicar duas vezes no script iniciará o Editor de scripts Python para editar e depurar o script.
Caixa do controlador de laço¶
Uma caixa Loop Controller é usada para criar e executar iterativamente um conjunto de caixas que formam um ciclo. Seu principal uso é refinar as matrizes OD e Skim obtidas, respectivamente, das etapas Distribution e Modal Split e da etapa Assignment. Em particular, o Loop Controller verifica se os critérios de parada foram satisfeitos ou não. Se forem satisfeitos, o loop termina e todas as caixas a jusante são executadas mais uma vez. Se os critérios de parada não forem satisfeitos, os Skims são passados para as caixas conectadas e uma nova iteração começa.
Esta Caixa é definida selecionando o Controlador de Laço opção ao criar uma nova caixa na tela do experimento do modelo de quatro etapas, e apenas um Loop Controller pode ser criado para um experimento Four-Step Model.

As conexões vermelhas são as entradas para a caixa Loop Controller e podem ser conectadas a partir de Assignment ou Adjustment para matrizes skim, e de caixas Modal Split somente para matrizes OD. Qualquer outra opção é inconsistente e, portanto, não é permitida.
As conexões azuis representam as saídas da caixa Loop Controller e podem ser conectadas a qualquer Box que exija Skim Matrices, principalmente caixas Distribution e Modal Split.
No entanto, as conexões da caixa Loop Controller nem sempre estão ativas. Elas só estão ativas dentro e depois do loop. Para exemplificar isso, suponhamos que temos o seguinte esquema:

No esquema anterior, os skims usados pela primeira vez na Distribuição são os das caixas "Skim Car", "Skim PT" e "Skim Bicycle". Após ativar o loop, os skims usados para carros serão os da "Frank & Wolfe Box".
Modifique os critérios de parada do loop clicando duas vezes no Controlador de Loop e defina os valores e caixas de seleção conforme desejar. Há pelo menos duas condições obrigatórias e quatro opcionais.
-Iterações máximas: número máximo de iterações realizadas pelo loop. Se esse número for atingido, o loop será interrompido.
-Diferença Máx. Demanda/Oferta: uma medida agregada de quão refinados estão os skims e as ODs. É calculada como:

-Gap Máximo da Matriz OD: o máximo Gap Relativo (propósito, modos, conteúdos, …) da iteração atual em comparação com os da iteração anterior (opcional para matrizes OD e para Skim Matrices)
-Distância S.S.I Máxima até a Unidade: comparação da similaridade de estrutura entre matrizes do mesmo tipo (propósito, modos, conteúdos, ...) da iteração atual em relação às da iteração anterior. O valor ideal do Structure Similarity Index é 1, portanto o desvio em relação a esse valor mede quão diferente é a estrutura das matrizes. (opcional para matrizes OD e para Skim Matrices)
O loop será interrompido quando o número máximo de iterações for atingido ou quando todos os demais critérios de parada forem atendidos.

Finalmente, após executar o loop, você pode verificar os critérios de parada e a evolução da execução do loop na aba Four-Step Model Loop Outputs no editor do experimento de modelo de quatro etapas.


Observe que, para armazenar a saída do Loop Controller no banco de dados, a opção Loop Results deve ser ativada no Cenário. Esta opção permite ao usuário restaurar os resultados do Four-Step Model Loop a partir do banco de dados a qualquer momento. A tabela correspondente com os resultados pode ser encontrada no Descrição do banco de dados de saída.