Nota Técnica #14

Março 2016
por Margarida Delgado

Imagine que suas funções de custo tenham vários componentes, tais como distância, tempo de viagem ou pedágios. Se você quiser avaliar todos eles individualmente e mostrá-los como uma saída (além do custo total), você pode declarar quantos componentes de funções macro forem necessários para produzir cada uma das saídas extras ao executar uma Alocação.

Você pode criar novos Componentes de Funções Macro na mesma pasta das Funções de Custo.

Function-string-key-words
Há dois tipos de Componentes: não derivados e derivados. Os componentes não derivados são baseados na avaliação de uma parte da função de custo (uma subfunção), e são detectados pela Função String.

Function-string-key-words-time

Ou seja, o editor de componentes de funções macro conterá uma palavra-chave que deve corresponder ao nome de uma subfunção (em todas as funções de custo macro: Funções de Atraso de Volume para seções, e Penalidade de Movimento e Atrasos de Junções para movimentos).

Por exemplo, para definir os componentes ‘Distância (km)’ e ‘Tempo (h)’: no Componente de Função Macro, defina a Função String ‘distância’ e ‘tempo’ respectivamente como palavras-chave.

Agora, precisamos introduzir a definição destes componentes em todas as funções de custo macro (cuidado com os movimentos, sua penalidade padrão de movimento é codificada de forma rígida para que não contenha componentes) para que o componente possa ser avaliado em todas as seções e movimentos. No código da função, a última função (nas imagens, ‘def vdf’ e ‘def tpf’) é a principal. Antes disso, definimos as subfunções ‘distância’ e ‘tempo’, que serão avaliadas no final da atribuição dando as colunas extras de saídas.

Aimsun Macro Function Components
Além disso, podemos definir Componentes Derivados que resultam da combinação de outros componentes. Por exemplo, podemos definir Velocidade como Distância/Tempo:

Aimsun Macro Function Components
Os componentes derivados não implicam em mudanças adicionais na definição das funções. Ao executar uma atribuição, serão criadas colunas extras, contendo os valores para cada componente.

Aimsun Macro Function Components - outputs
Os resultados da atribuição de rotas também contêm resultados para os Componentes da Função Macro. Componentes não derivados são adicionados ao longo do caminho, enquanto componentes derivados são calculados com os valores não derivados da rota (por exemplo, se definirmos velocidade como derivada, não adicionamos as velocidades através da rota, mas calculamos o comprimento total/tempo total).

Aimsun Macro Function Components - path assignment
E as Matrizes Skim e de Saída também estarão disponíveis para cada componente:

Aimsun Macro Function Components - output matricesClick to enlarge