FUNDAMENTOS DE OTIMIZAÇÃO · SUBTÓPICO 02

O que pode mudar e o que significa ser melhor?

As variáveis descrevem uma solução. A função objetivo recebe essas escolhas e devolve um valor que permite comparar candidatos diferentes.

quantidade Ax₁ = 6 quantidade Bx₂ = 4 variáveis de decisão
→x = [6, 4]
função objetivof(x)100 − (x₁−6)²
− 1,5(x₂−4)²
→avaliação
qualidade100melhor valor

01 · DA ESCOLHA À AVALIAÇÃO

A função objetivo comprime uma solução em um valor comparável.

Uma solução pode conter dezenas de decisões. Para ordenar candidatos, o algoritmo precisa traduzi-las para uma medida comum.

CANDIDATO

Plano de produção

x₁6produto Ax₂4produto B
x = [6, 4]
favaliaraplicar a mesma regra
RESULTADO

Desempenho esperado

100

Agora este plano pode ser comparado com qualquer outro candidato.

02 · VARIÁVEIS DE DECISÃO

O tipo de escolha determina como o algoritmo pode modificá-la.

Antes de selecionar uma técnica de otimização, identifique o que cada posição do vetor representa.

ℝ
CONTÍNUA

Qualquer valor em um intervalo

Temperatura, velocidade, pressão, ângulo ou taxa de aprendizado.

01
0 ≤ x₁ ≤ 1
ℤ
INTEIRA

Quantidade sem partes fracionárias

Número de veículos, funcionários, máquinas ou unidades produzidas.

01234
x₂ ∈ {0, 1, 2, …}
01
BINÁRIA

Uma decisão entre duas opções

Selecionar ou não um item, ativar um recurso ou abrir uma unidade.

0 · não1 · sim
x₃ ∈ {0, 1}
↝
PERMUTAÇÃO

Uma ordem entre elementos

Sequência de cidades, tarefas, entregas ou operações industriais.

A→C→B→D
x = [A, C, B, D]
vetor de decisãox = [x₁, x₂, …, xₙ]
cada posição representa uma escolha controlável
dimensão do probleman variáveis

03 · FUNÇÃO OBJETIVO

Minimizar e maximizar são duas direções para a mesma busca.

↓
MINIMIZAÇÃO

O menor valor é preferido.

423012

Exemplos: custo, distância, consumo, tempo, erro e perda.

encontrar x* que minimize f(x)
TRANSFORMAÇÃO max f(x)⇄min −f(x)

Negar a função inverte a ordem dos valores sem alterar as soluções candidatas.

↑
MAXIMIZAÇÃO

O maior valor é preferido.

123042

Exemplos: lucro, produção, cobertura, eficiência e acurácia.

encontrar x* que maximize f(x)

04 · LABORATÓRIO INTERATIVO

Uma função, duas variáveis e uma paisagem inteira.

Ajuste x₁ e x₂. Cada combinação ocupa uma posição no mapa e produz um valor diferente de f(x).

EXPERIMENTO 02
vetor x[2,0; 8,0]
valor f(x)60,00
perda para o ótimo40,00
classificaçãopode melhorar

Mapa da função objetivo

Áreas mais verdes possuem valores maiores. O centro dos contornos é o máximo global.

candidato
menor valormaior valor
Substituindo o vetor: f(2,0; 8,0) = 100 − 16 − 24 = 60,00

05 · CONSTRUINDO O MODELO

Uma boa função mede aquilo que realmente importa.

A fórmula nasce de decisões de modelagem. Antes de escrever símbolos, precisamos definir o resultado esperado.

1
CONTEXTOO que precisa ser decidido?

Separe escolhas controláveis de dados apenas observados.

→
2
VARIÁVEISComo representar as escolhas?

Defina significado, tipo, unidade e domínio de cada variável.

→
3
CRITÉRIOComo comparar duas soluções?

Escolha uma medida coerente com o resultado desejado.

→
4
DIREÇÃOMenor ou maior é melhor?

Declare se a função será minimizada ou maximizada.

SITUAÇÃOAjustar uma rede neural
VARIÁVEISx = pesos e bias
AVALIAÇÃOf(x) = erro médio
DIREÇÃOminimizar f(x)

06 · CUIDADOS DE MODELAGEM

A função pode produzir exatamente o comportamento errado.

01

Métrica incompleta

Minimizar somente o tempo pode aumentar custo, risco ou consumo.

Inclua os efeitos relevantes.
02

Escalas incompatíveis

Somar reais, minutos e quilômetros sem normalização distorce a importância dos termos.

Converta ou normalize as medidas.
03

Variável indevida

O algoritmo não deve controlar informações que são apenas condições do problema.

Separe decisão de parâmetro.
04

Atalho indesejado

Uma fórmula mal definida pode premiar soluções matematicamente boas, porém inviáveis.

Valide o resultado no contexto real.

07 · NO CÓDIGO

O vetor entra; um valor de qualidade sai.

funcao-objetivo.js
function objetivo(solucao) {
  const [x1, x2] = solucao;

  const distanciaX1 = (x1 - 6) ** 2;
  const distanciaX2 = 1.5 * (x2 - 4) ** 2;

  return 100 - distanciaX1 - distanciaX2;
}

const candidatoA = [2, 8];
const candidatoB = [6, 4];

objetivo(candidatoA); // 60
objetivo(candidatoB); // 100 · melhor
01
Receber o vetor

A função aceita qualquer candidato com a representação esperada.

02
Ler as variáveis

Cada posição do vetor recupera uma escolha específica.

03
Calcular os termos

A equação mede o efeito de cada decisão sobre o resultado.

04
Retornar um escalar

Um único número permite ordenar os candidatos.

PRÓXIMO SUBTÓPICO

Restrições e espaço de busca.

Depois de definir escolhas e objetivo, precisamos separar soluções permitidas de soluções inviáveis.

Continuar estudo →