Descreva uma solução de uma forma que o algoritmo possa manipular.
INTELIGÊNCIA COMPUTACIONAL · OTIMIZAÇÃO
Otimizar é escolher a melhor solução entre muitas possibilidades.
Da rota de uma entrega ao ajuste de uma rede neural, um problema de otimização transforma escolhas possíveis em valores que podem ser comparados.
01 · A IDEIA CENTRAL
Escolher, avaliar e melhorar.
Todo processo de otimização pode ser lido como um ciclo: construir uma solução, medir sua qualidade e procurar uma alternativa melhor.
Calcule a qualidade da solução usando uma função objetivo.
Gere ou descubra outras soluções no espaço de busca.
Guarde as melhores descobertas e continue até o critério de parada.
02 · ANATOMIA DO PROBLEMA
Quatro peças transformam uma decisão em um problema matemático.
Esses elementos aparecerão em todos os métodos estudados, dos algoritmos clássicos aos bioinspirados.
Variáveis de decisão
São as escolhas controladas pelo algoritmo: quantidades, posições, rotas, horários ou parâmetros.
x = [x₁, x₂, …, xₙ]
Função objetivo
Converte cada solução em um valor comparável. Esse valor deve ser minimizado ou maximizado.
min f(x)
Restrições
Definem quais soluções são permitidas: orçamento, capacidade, prazo ou limites físicos.
g(x) ≤ limite
Solução ótima
É a melhor solução viável de acordo com o objetivo definido e as informações disponíveis.
x* = arg min f(x)
03 · DIFERENTES FORMAS DE OTIMIZAR
O formato do problema orienta a escolha do algoritmo.
Reduzir custo, erro, distância ou desperdício.
Aumentar lucro, desempenho, cobertura ou qualidade.
Assumem valores reais, como velocidade ou temperatura.
Representam escolhas, ordens, itens ou quantidades inteiras.
A busca pode usar todo o domínio definido.
Somente parte das soluções é considerada viável.
As soluções são comparadas por um único valor.
Existem critérios conflitantes e diferentes compromissos.
04 · LABORATÓRIO INTERATIVO
Encontre o menor ponto da curva.
Mova a solução candidata e observe como a função objetivo transforma uma posição em qualidade.
Paisagem da função
O ponto móvel é a solução atual. Quanto menor sua altura, melhor a avaliação.
f(−2,50) = (−2,50 − 1,50)² + 1 = 17,00
05 · DO PROBLEMA REAL AO MODELO
O algoritmo só resolve aquilo que conseguimos representar.
Uma empresa precisa visitar vários clientes durante o dia.
Cada candidato é uma sequência diferente de endereços.
A função soma deslocamentos e possíveis atrasos.
O algoritmo devolve a melhor sequência encontrada.
06 · PRIMEIRO ALGORITMO
Uma busca aleatória já contém o ciclo básico da otimização.
Ela cria candidatos, avalia cada um e mantém a melhor solução encontrada. Métodos mais avançados mudam principalmente a forma de gerar o próximo candidato.
function objetivo(x) {
return (x - 1.5) ** 2 + 1;
}
let melhorX = null;
let melhorValor = Infinity;
for (let tentativa = 0; tentativa < 100; tentativa++) {
const candidato = -4 + Math.random() * 10;
const valor = objetivo(candidato);
if (valor < melhorValor) {
melhorX = candidato;
melhorValor = valor;
}
}
Um valor aleatório cria uma nova solução candidata.
A função objetivo mede a qualidade desse candidato.
Valores menores representam soluções melhores neste problema.
A melhor descoberta permanece disponível ao final da busca.
PRÓXIMO SUBTÓPICO
Função objetivo e variáveis de decisão.
Na próxima etapa, cada parte do modelo matemático será construída a partir de um problema real.
Continuar estudo →