Ir para o conteúdo

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.

Fronteira de Pareto Conceitual

%% 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

  1. Faça login na plataforma OptFlow
  2. Navegue até a aba "Performance" ou "Objetivos"
  3. 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 como sqrt(), 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

  1. Ponto Utópico: Calcula-se o ponto ideal teórico onde cada objetivo atinge seu valor ótimo
  2. Normalização: Os valores de cada objetivo são normalizados para uma escala comum
  3. Distância Ponderada: Para cada solução na fronteira, calcula-se a distância ao ponto utópico, ponderada pelos pesos dos objetivos
  4. 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:

  1. Análise da Fronteira: Examine as soluções na fronteira para entender os trade-offs
  2. Comparação com Baseline: Compare a solução selecionada com a configuração inicial
  3. 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

  1. Comece simples: Inicie com 2 objetivos antes de tentar 3 ou mais
  2. Objetivos conflitantes: Multi-objetivo faz mais sentido quando os objetivos são parcialmente conflitantes
  3. Normalização: Se os objetivos têm escalas muito diferentes, considere normalizar nas fórmulas
  4. Mais iterações: Otimização multi-objetivo geralmente requer mais iterações que single-objetivo
  5. Análise de trade-off: Use a Fronteira de Pareto para entender as compensações entre objetivos

Próximos Passos