Algoritmos de Ajuste Dinâmico de OD¶
Quando contagens de fluxo e de movimentos de conversão estão disponíveis com detalhe suficiente e em um subconjunto de seções viárias que cobre a maior parte da rede viária e os caminhos através dessa rede, esses dados podem ser usados para refinar as matrizes OD existentes para obter uma representação mais precisa das viagens realizadas na rede.
O processo de ajuste dinâmico de OD refina um conjunto de matrizes OD prévias existentes como parte do processo de calibração do modelo, no qual as matrizes OD foram desagregadas por tempo e também por classe de usuário, de modo que exista um conjunto de matrizes para intervalos de tempo no período modelado. Normalmente, um período modelado é medido em horas e os intervalos de tempo têm duração de 10 a 15 minutos, correspondendo à granularidade temporal dos dados observados provenientes de contagens de movimentos de conversão e de fluxos à margem da via, ou de detectores de laço na via. O processo de Ajuste OD usa uma alocação dinâmica para simular as contagens e os fluxos nos locais de detectores e observação e refina iterativamente as matrizes OD, um intervalo de tempo por vez, com um horizonte móvel.
A simulação dinâmica fornece
- Fluxos e contagens dependentes do tempo resultantes da alocação das matrizes atuais à rede viária na fatia de tempo considerada, em que as condições iniciais na fatia de tempo são definidas pelas matrizes alocadas nas fatias de tempo anteriores.
- O estado congestionado da rede em cada intervalo de tempo
- As filas virtuais de veículos aguardando para entrar na rede.
Algoritmo de Ajuste¶
O Ajuste Dinâmico de OD é formulado como um problema de otimização, no qual a função objetivo a ser minimizada inclui duas partes. A primeira parte mede a distância entre a matriz OD a ser ajustada e a matriz OD de referência. A segunda parte mede a distância entre os fluxos observados nos links e aqueles atribuídos pelo modelo quando os fluxos de demanda OD ajustados são atribuídos à rede.
O Spiess (Spiess, 1990) procedimento de ajuste por otimização em dois níveis, que é usado no ajuste OD Estático, é estendido para a alocação dinâmica de tráfego (Ros-Roca et al., 2020) incluindo os intervalos de tempo na formulação do problema da seguinte forma:

s.t. \(\textbf{G} \geq {0}\)
Onde,
\(\boldsymbol{G} = \{g_{i,r}\}\) é a demanda por viagens para cada par OD \({i\epsilon{I}}\) em cada intervalo de tempo de partida \({r\epsilon{R}}\). \(I\) e \(R\) são o número de pares OD na rede e os intervalos de tempo de partida, respectivamente. \({{A'}\epsilon{A}}\), onde {A} é o número total de links na rede.
\(\boldsymbol{\hat{G}} = \{\hat{g}_{i,r}\}\) é a matriz OD de referência.
\(\boldsymbol{\hat{V}}=\{\hat{v}_{a,t}\}\) são contagens de tráfego em um subconjunto de links \(a\epsilon{A'}\) na rede equipada com detectores durante o intervalo de tempo \({t\epsilon{T}}\). Assume-se que {T} e {R} descrevem o mesmo horizonte temporal.
\(\boldsymbol{V}\left(\boldsymbol{G}\right)=\{{v}_{a,t}\}\) são os fluxos dos links previstos por uma atribuição dinâmica de tráfego da demanda \({\boldsymbol{G}}\) para a rede.
\(\gamma_{1}\) e \(\gamma_{2}\) são fatores de ponderação que refletem a incerteza das informações contidas em \(\boldsymbol{\hat{G}}\) e \(\boldsymbol{\hat{V}}\), respectivamente.
\(\boldsymbol{G}\), \(\boldsymbol{\hat{G}}\) e \(\boldsymbol{\hat{V}}\) são organizados como vetores coluna.
A hipótese subjacente é que \(\boldsymbol{V}\left(\boldsymbol{G}\right)\) são os fluxos dos links previstos pela alocação da matriz de demanda G na rede, o que pode ser expresso como uma proporção da demanda OD que passou pelo local de contagem em um determinado link:
\(\boldsymbol{V}\left(\boldsymbol{G}\right) = \textbf{P}\left(\boldsymbol{G}\right)\cdot{\boldsymbol{G}}\)
em que \({P}= \{p_{ir,at}\}\) é a matriz de alocação. \({p_{ir,at}}\) é a fração da demanda OD \(g_{i,r}\) para o par OD \(i\) que passa pelo link a durante o período de medição t.
Um método de descida do gradiente para resolver o problema de minimização que segue um procedimento iterativo, no qual calcula uma direção de busca de gradiente negativo e, em seguida, determina o comprimento do passo nessa direção.
\(\boldsymbol{G_{k+1}}= \boldsymbol{G_{k}} + \boldsymbol{\lambda_{k}}*\nabla F (\boldsymbol{G_{k}})\)
\(\boldsymbol{G_{k+1}}\) é a matriz OD na iteração \({k}\). \(\boldsymbol{\lambda_{k}}\) e \(\nabla F(\boldsymbol{G_{k}})\) são o comprimento do passo e a direção de busca na iteração k, respectivamente.
O processo de otimização requer uma atribuição completa das matrizes OD em cada iteração individual do procedimento de minimização. A matriz de atribuição, \({p_{ir,at}}\) depende diretamente de \(\boldsymbol{G} = \{g_{i,r}\}\); portanto cada iteração do problema de minimização requer uma única atribuição dinâmica de \(\boldsymbol{G}\) na rede, o que é um procedimento demorado. O tempo computacional pode ser reduzido significativamente se assumirmos que \({p_{ir,at}}\) não muda significativamente a cada iteração; portanto, uma atribuição dinâmica em cada iteração individual não é necessária.
Como em (Spiess 1990), um Gradient Descent Method é usado como procedimento iterativo para resolver o problema de minimização, o que requer uma atribuição completa das matrizes OD em cada iteração individual do procedimento de minimização. A matriz de atribuição, \({p_{ir,at}}\) depende diretamente de
\(\boldsymbol{G} = \{g_{i,r}\}\), portanto cada iteração do problema de minimização requer uma única atribuição dinâmica de \(\boldsymbol{G}\) na rede, o que é um procedimento demorado. O tempo computacional pode ser reduzido significativamente se assumirmos que \({p_{ir,at}}\) não muda significativamente a cada iteração; portanto, uma atribuição dinâmica em cada iteração individual não é necessária.
As iterações são distinguidas entre:
Número Máximo de Iterações. É o n`úmero máximo de iterações para o ajuste. Em cada iteração, o processo executará uma atribuição dinâmica e usará as porcentagens de caminho obtidas a partir dela.
Iterações de Descida do Gradiente. Para cada iteração do procedimento de ajuste, o número de iterações do Gradient Descent Method que será executado sem alterar os resultados da escolha de caminho, isto é, sem executar uma nova atribuição.
Como em (Spiess 1990), a regra da cadeia pode ser usada para obter o gradiente da função objetivo:

Onde,

O comprimento de passo ideal \(\lambda\) a cada iteração k pode então ser calculado resolvendo um subproblema de otimização unidimensional

Cuja solução é dada por:

Onde,


Isso leva diretamente ao comprimento de passo ideal:

Para garantir a convergência, o comprimento do passo deve satisfazer a condição:

Processo de ajuste¶
O processo de ajuste usa um horizonte rolante no qual as matrizes OD são ajustadas começando pelo primeiro intervalo de tempo e avançando para o próximo quando o anterior tiver sido ajustado para corresponder às contagens de movimentos de conversão e de links. O ajuste feito para cada intervalo usa o processo de ajuste conforme usado no ajuste estático para atualizar a demanda dessa fatia usando N iterações de descida do gradiente. Isso garante que, para cada intervalo, as condições iniciais sejam apropriadas a esse intervalo, com base na demanda e na simulação nos intervalos anteriores.
O princípio do horizonte rolante é ilustrado abaixo.

Parâmetros¶
Filtragem OD¶
O número de viagens OD a serem ajustadas pode ser grande. Portanto, para reduzir o número de viagens OD a serem ajustadas; um limite de limiar pode ser definido para que viagens OD sejam congeladas no processo de ajuste OD. Para isso, a variável Limite de Estado precisa ser definido no aba Variáveis no Cenário ou Experimento de Dynamic OD Adjustment.
Pesos da função objetivo¶
Os fatores de ponderação \(\gamma_{1}\) e \(\gamma_{2}\) na função objetivo referem-se, respectivamente, aos termos de distância da matriz OD e de distância dos fluxos de links da função objetivo. O(s) valor(es) para \(\gamma_{2}\) correspondem ao detector Confiabilidades fornecido no Conjunto de Dados Reais e \(\gamma_{1}\) é definido por meio do Matriz Elasticidade como segue:

Ignorando caminhos residuais¶
Caminhos residuais são caminhos que apenas uma pequena fração dos veículos usa ao passar por um ponto de detecção. Esses caminhos residuais podem levar a fortes alterações na demanda OD. A variável Limiar de Proporção pode ser definido e um valor limite pode ser configurado para garantir que a contribuição dos pares OD que passam por um ponto de detecção com uma fração inferior a esse valor não seja considerada no processo de ajuste OD.
Tempo Inicial e Duração do Ajuste¶
O Tempo Inicial e a Duração são usados para especificar a porção da demanda a ser ajustada. Não há requisito de começar no primeiro intervalo de tempo e o Hora inicial o parâmetro no experimento de ajuste pode ser usado para iniciar o ajuste em um intervalo especificado e o Duração especifica o número de intervalos (após o intervalo inicial) a serem ajustados. As matrizes antes do horário inicial e após a duração especificada não serão ajustadas e serão idênticas às matrizes originais.