Distribuir tarefas entre quatro equipes.
FUNDAMENTOS DE METAHEURÍSTICAS · SUBTÓPICO 01
Uma solução representa uma resposta; uma população representa possibilidades.
Metaheurísticas podem melhorar um candidato por vez ou manter várias alternativas simultaneamente, compartilhando o orçamento entre qualidade e diversidade.
P = {x¹, x², …, xᴺ}01 · UNIDADE DA BUSCA
O candidato é a forma computacional de uma resposta.
Cada posição indica a equipe responsável.
A estrutura volta a ter significado no domínio.
Um número resume a qualidade do plano.
02 · INDIVÍDUO E POPULAÇÃO
Uma busca pode carregar uma hipótese ou muitas.
Um estado atual
O método modifica uma solução e decide se aceita o novo vizinho.
Busca Tabu · Recozimento SimuladoVários estados simultâneos
Os indivíduos exploram regiões diferentes e podem compartilhar informação.
AG · PSO · ACO · Evolução Diferencial03 · FITNESS
A avaliação transforma candidatos em prioridades.
Pode ser a própria função objetivo ou uma transformação que inclua penalidades, normalização e direção da busca.
fitness(x) = objetivo(x) − penalidade(x)04 · CICLO POPULACIONAL
A população muda geração após geração.
Inicializar
Criar candidatos distribuídos pelo espaço.
Avaliar
Calcular fitness de cada indivíduo.
Selecionar
Dar mais influência às boas soluções.
Variar
Gerar descendentes ou novos movimentos.
05 · LABORATÓRIO INTERATIVO
Observe uma população se concentrar em regiões melhores.
Seleção preserva bons candidatos; mutação cria novas possibilidades ao redor deles.
Distribuição da população
O fundo indica fitness; cada círculo representa uma solução.
06 · QUALIDADE DA POPULAÇÃO
O melhor indivíduo não conta toda a história.
Mostra o resultado mais promissor já disponível.
Indica se toda a população está aprendendo.
Revela a capacidade de explorar regiões diferentes.
Mede o quanto os desempenhos diferem entre indivíduos.
07 · NO CÓDIGO
Uma população é uma coleção avaliada.
const populacao = Array.from(
{ length: 30 },
() => criarCandidato()
);
const avaliada = populacao.map(x => ({
solucao: x,
fitness: avaliar(x)
}));
avaliada.sort((a, b) => b.fitness - a.fitness);Cada candidato respeita a mesma representação.
A função atribui qualidade comparável.
Boas soluções recebem maior influência.
Variação mantém a busca em movimento.
PRÓXIMO SUBTÓPICO
Exploração e intensificação.
Veremos como distribuir o esforço entre descobrir regiões e melhorar soluções conhecidas.
Continuar estudo →