Considerações Práticas e Melhores Práticas
Para obter os melhores resultados com o OptFlow, considere as seguintes práticas ao usar os samplers disponíveis (TPE, OptFlow, CMAES, HEBO, Random, Hill Climbing, Simulated Annealing, Sequencial):
Ajuste de Parâmetros dos Algoritmos (Samplers)
Embora o OptFlow forneça padrões razoáveis, ajustar os parâmetros internos de alguns samplers pode melhorar o desempenho. Considere valores iniciais como:
- Otimização Bayesiana (TPE/OptFlow/HEBO):
- Número de avaliações iniciais aleatórias: 10-15% do orçamento total (
n_iter
). Isso ajuda o modelo (TPE, OptFlow, HEBO) a ter uma visão inicial do espaço de busca. (Para HEBO, pode ser configurado internamente). - Fator de exploração (se aplicável, especialmente em OptFlow): Ajuste para balancear a busca em novas áreas vs. refinar soluções conhecidas (valores menores favorecem explotação, maiores favorecem exploração).
- Número de avaliações iniciais aleatórias: 10-15% do orçamento total (
- CMAES:
- Tamanho da população:
4 + floor(3 * ln(n))
, onden
é a dimensão do problema (número de variáveis sendo otimizadas). - Passo inicial (
sigma0
): Um valor como0.3 * (limite_superior - limite_inferior)
pode ser um bom ponto de partida.
- Tamanho da população:
- Simulated Annealing:
- Temperatura inicial: Alta o suficiente para permitir uma probabilidade razoável (ex: ~50%) de aceitar movimentos piores no início.
- Agenda de resfriamento: Uma taxa multiplicativa (T = α * T, onde α está entre 0.9 e 0.99) é comum.
- Hill Climbing / Random: Geralmente não possuem parâmetros complexos para ajustar no contexto do OptFlow, além dos limites das variáveis.
## Uso Eficiente do Recurso "Bloquear Parâmetro"
A funcionalidade de "bloquear parâmetro" (disponível na configuração de Otimização) é poderosa para incorporar conhecimento prévio ou restrições:
- Bloqueie parâmetros já bem ajustados: Se você confia nos valores atuais de certos offsets ou tempos de verde, fixe-os.
- Fixe parâmetros com restrições externas: Se houver limites operacionais ou políticos para certos parâmetros.
- Reduza progressivamente o espaço de busca: Comece otimizando um conjunto maior de parâmetros e, após algumas iterações (talvez usando o modo Sequencial), analise a sensibilidade e bloqueie aqueles que parecem estáveis ou menos impactantes.
Esta abordagem pode reduzir significativamente o espaço de busca e melhorar a eficiência da otimização, especialmente para samplers como TPE e OptFlow.
Monitoramento e Critérios de Parada
Monitore ativamente o progresso da otimização na plataforma OptFlow:
- Acompanhe a convergência: Observe o gráfico do melhor valor da função objetivo encontrado ao longo das iterações. Ele está se estabilizando? A taxa de melhoria diminuiu?
- Observe a variabilidade: Se os resultados flutuam muito entre iterações, pode indicar ruído na simulação. Considere samplers mais robustos a ruído como HEBO ou OptFlow.
- Considere múltiplas execuções curtas: Em vez de uma única execução muito longa, especialmente com algoritmos estocásticos (todos exceto Hill Climbing em sua forma pura), múltiplas execuções com diferentes
seed
s podem dar mais confiança nos resultados.
Defina critérios de parada claros, além do n_iter
:
- Valor objetivo satisfatório: Se um limiar de desempenho aceitável for atingido.
- Estagnação: Se não houver melhoria significativa no melhor valor objetivo por um número considerável de iterações (ex: últimas 20% das iterações).
- Orçamento computacional: Tempo máximo de execução ou número máximo de simulações Aimsun.
Uso de Salvar e Continuar
Utilize a funcionalidade de "salvar e continuar" a otimização (disponível ao iniciar a execução no Aimsun) para evitar a perda de progresso, especialmente para execuções longas. Esta funcionalidade também permite analisar resultados intermediários e ajustar a estratégia (ex: mudar parâmetros do sampler, bloquear variáveis, ou até mesmo decidir parar antes se a convergência for alcançada) se necessário.
Abordagens Híbridas Avançadas (Sampler 'Sequencial')
O sampler 'Sequencial' permite combinar diferentes algoritmos em fases distintas da otimização. Isso pode ser útil para:
- Exploração inicial + Explotação final: Começar com
Random
para cobrir o espaço de busca (ex: 20% das iterações) e depois mudar paraTPE
ouOptFlow
para refinar as melhores regiões encontradas (ex: 80% restantes das iterações). - Otimização Sequencial de Parâmetros: Otimizar apenas
cycle
eoffset
nas primeiras iterações com um sampler eficiente comoTPE
, depois bloquearcycle
e otimizaroffset
ephase_duration
comTPE
ouOptFlow
, etc.
Esta abordagem híbrida requer mais planejamento, mas pode aproveitar os pontos fortes de diferentes algoritmos e estratégias.
## Consideração do Ruído nas Simulações
As simulações microscópicas do Aimsun são inerentemente estocásticas (ruidosas):
- Escolha do Sampler: Para simulações com alta variabilidade, considere utilizar
HEBO
ouOptFlow
(que modela incerteza). TPE também pode lidar com algum ruído.CMAES
eSimulated Annealing
são inerentemente estocásticos e podem ser menos sensíveis a pequenas flutuações do queHill Climbing
. - Múltiplas Replicações Aimsun: Aumentar o número de replicações por avaliação no Aimsun pode fornecer estimativas mais estáveis da função objetivo, mas aumenta significativamente o custo computacional. É um trade-off a ser considerado.
- Parâmetros do Sampler: Ajuste os parâmetros de exploração/explotação (quando aplicável, ex: em OptFlow) para ser mais conservador (favorecer explotação) em ambientes ruidosos, ou use samplers como HEBO que são projetados para isso.