Otimização Multi-Objetivo
A otimização multi-objetivo é um recurso avançado do OptFlow que permite otimizar simultaneamente múltiplos indicadores de desempenho que podem ter direções conflitantes. Por exemplo, você pode querer minimizar o tempo de atraso enquanto maximiza o fluxo de veículos.
Conceito de Pareto
Quando temos múltiplos objetivos conflitantes, geralmente não existe uma única solução "melhor". Em vez disso, existe um conjunto de soluções chamado Fronteira de Pareto, onde cada solução representa um trade-off diferente entre os objetivos.
%% Positioning (Conceptual)
U -.-> A
U -.-> B
U -.-> C
U -.-> D
U -.-> E
A --> X
B --> X
C --> Y
D --> Z
linkStyle default stroke-width:0px;
```
Legenda do Gráfico Conceitual
- Pontos Azuis/Amarelo: Soluções na Fronteira de Pareto (Não-dominadas). Nenhuma outra solução é melhor em ambos os objetivos simultaneamente.
- Ponto Laranja (Utopia): O ponto ideal inatingível (Atraso 0, Fluxo Infinito).
- Ponto Amarelo: Solução selecionada pelo critério de Balanced Utopia Distance (mais próxima da Utopia).
- Pontos Cinzas: Soluções dominadas (piores que as da fronteira em pelo menos um objetivo).
Definição de Dominância de Pareto
Uma solução A domina uma solução B se A é pelo menos tão boa quanto B em todos os objetivos e estritamente melhor em pelo menos um objetivo. A Fronteira de Pareto contém todas as soluções não-dominadas.
Configurando Múltiplos Objetivos
Para configurar a otimização multi-objetivo no OptFlow:
1. Acessando a Configuração
- Faça login na plataforma OptFlow
- Navegue até a aba "Performance" ou "Objetivos"
- Ative a opção "Múltiplos Objetivos"
2. Definindo Objetivos
Para cada objetivo, você precisa configurar:
| Campo | Descrição | Exemplo |
|-------|-----------|---------|
| Nome | Identificador do objetivo | Minimizar Atraso |
| Fórmula | Expressão matemática usando indicadores | "Delay Time" |
| Direção | minimize ou maximize | minimize |
| Peso (opcional) | Importância relativa (0-1) | 0.7 |
3. Exemplo de Configuração
json
{
"objectives": [
{
"name": "Minimizar Atraso",
"formula": "\"Delay Time\"",
"direction": "minimize",
"weight": 0.6
},
{
"name": "Maximizar Fluxo",
"formula": "\"Flow\"",
"direction": "maximize",
"weight": 0.4
}
]
}
Dica sobre Pesos
Os pesos são usados pelo método de seleção Balanced Utopia Distance para escolher uma solução representativa da Fronteira de Pareto. Objetivos com maior peso terão maior influência na escolha.
Sintaxe das Fórmulas
As fórmulas de objetivo seguem a mesma sintaxe das fórmulas de desempenho single-objetivo:
- Indicadores: Use nomes entre aspas duplas, ex:
"Delay Time","Flow","Mean Speed" - Operadores:
+,-,*,/,**(potência) - Funções:
abs(),max(),min(),pow(),round(), e funções matemáticas comosqrt(),log(),exp()
Exemplos de Fórmulas
# Objetivo simples
"Delay Time"
# Objetivo composto
"Delay Time" + 0.5 * "Number of Stops"
# Objetivo normalizado
"Delay Time" / 100
# Objetivo com penalização
"Delay Time" + max(0, "Queue Length" - 50) * 10
Método de Seleção: Balanced Utopia Distance
Ao final da otimização multi-objetivo, o OptFlow precisa selecionar uma solução representativa da Fronteira de Pareto para aplicar no Aimsun. O método usado é o Balanced Utopia Distance.
Como Funciona
- Ponto Utópico: Calcula-se o ponto ideal teórico onde cada objetivo atinge seu valor ótimo
- Normalização: Os valores de cada objetivo são normalizados para uma escala comum
- Distância Ponderada: Para cada solução na fronteira, calcula-se a distância ao ponto utópico, ponderada pelos pesos dos objetivos
- Seleção: A solução com menor distância ponderada é escolhida como representativa
┌─────────────────────────────────┐
│ Fronteira de Pareto │
│ │
Objetivo 2 ●────● │
(Maximizar) │ ╲ │
▲ │ ╲ ● ← Solução selecionada │
│ │ ╲ (menor distância │
│ │ ● ao ponto utópico) │
│ │ ╲ │
│ │ ● │
│ ★ Ponto Utópico │
│ │
└──────────────────────────────────► Objetivo 1 │
(Minimizar) │
└─────────────────────────────────┘
Visualização da Fronteira de Pareto
Durante e após a otimização, você pode visualizar a Fronteira de Pareto na aba de monitoramento:
- Gráfico de Dispersão: Cada ponto representa uma solução testada
- Fronteira Destacada: As soluções não-dominadas são destacadas
- Solução Selecionada: A solução representativa é indicada
Samplers Recomendados
Para otimização multi-objetivo, os seguintes samplers são especialmente adequados:
| Sampler | Suporte Multi-Objetivo | Observações |
|---|---|---|
| NSGA-II | ✅ Nativo | Algoritmo genético especializado em multi-objetivo |
| NSGA-III | ✅ Nativo | Versão melhorada para 3+ objetivos |
| TPE | ✅ Adaptado | Extensão multi-objetivo do TPE |
| Random | ✅ Suportado | Baseline para comparação |
| CMAES | ⚠️ Limitado | Melhor para single-objetivo |
Escolha de Sampler
Para problemas com 2 objetivos, NSGA-II geralmente oferece a melhor convergência. Para 3 ou mais objetivos, considere NSGA-III.
Interpretando Resultados
Após a otimização multi-objetivo:
- Análise da Fronteira: Examine as soluções na fronteira para entender os trade-offs
- Comparação com Baseline: Compare a solução selecionada com a configuração inicial
- Ganhos por Objetivo: Verifique a melhoria percentual em cada objetivo
Exemplo de Resultado
┌─────────────────────────────────────────────────────────┐
│ Resultados Multi-Objetivo │
├─────────────────────────────────────────────────────────┤
│ Objetivo │ Baseline │ Otimizado │ Ganho │
├────────────────────┼──────────┼───────────┼────────────┤
│ Delay Time (min) │ 45.2 │ 32.8 │ -27.4% │
│ Flow (veic/h) │ 1850 │ 2120 │ +14.6% │
└─────────────────────────────────────────────────────────┘
Soluções na Fronteira de Pareto: 12
Método de seleção: Balanced Utopia Distance
Boas Práticas
- Comece simples: Inicie com 2 objetivos antes de tentar 3 ou mais
- Objetivos conflitantes: Multi-objetivo faz mais sentido quando os objetivos são parcialmente conflitantes
- Normalização: Se os objetivos têm escalas muito diferentes, considere normalizar nas fórmulas
- Mais iterações: Otimização multi-objetivo geralmente requer mais iterações que single-objetivo
- Análise de trade-off: Use a Fronteira de Pareto para entender as compensações entre objetivos
Próximos Passos
- Constraints (Restrições): Adicione restrições à sua otimização
- Métricas Avançadas: Use métricas granulares nas fórmulas
- Monitoramento: Acompanhe a evolução da Fronteira de Pareto em tempo real
