Skip to content

Benchmarks — exemplos de uso

Este documento mostra exemplos de uso das funções clássicas de otimização disponibilizadas em givp.examples.benchmark. As funções são úteis para validar e documentar comportamento do otimizador em problemas com ótimo conhecido.

Importação básica:

from givp.examples.benchmark import (
    sphere, rosenbrock, rastrigin, ackley, griewank, schwefel,
    constrained_cubic, knapsack_dp, knapsack_penalty, qap_cost
)

Exemplo rápido — avaliar os valores ótimos conhecidos:

import numpy as np

print('Sphere at zero:', sphere(np.zeros(10)))
print('Rosenbrock at ones:', rosenbrock(np.ones(5)))
print('Rastrigin at zero:', rastrigin(np.zeros(4)))

Knapsack DP (exemplo):

values = [60, 100, 120]
weights = [10, 20, 30]
best_value, selection = knapsack_dp(values, weights, capacity=50)
print(best_value)  # => 220
print(selection)    # => array([0, 1, 1])

Veja também os testes em tests/benchmark/test_problems.py para exemplos adicionais de uso e validação automatizada.