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
seeds 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
Randompara cobrir o espaço de busca (ex: 20% das iterações) e depois mudar paraTPEouOptFlowpara refinar as melhores regiões encontradas (ex: 80% restantes das iterações). - Otimização Sequencial de Parâmetros: Otimizar apenas
cycleeoffsetnas primeiras iterações com um sampler eficiente comoTPE, depois bloquearcyclee otimizaroffsetephase_durationcomTPEouOptFlow, 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
HEBOouOptFlow(que modela incerteza). TPE também pode lidar com algum ruído.CMAESeSimulated Annealingsã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.