A VIKTOR wrapper to wrap your optimization function and make it the fitness function for a Genetic Algorithm.
You can install this package directly from GitHub:
pip install git+https://github.com/viktor-platform/optimize_wrapper.git
import viktor as vkt
from optimize_wrapper import genetic_optimize
class Parametrization(vkt.Parametrization):
section = vkt.Section("Section")
section.x = vkt.NumberField("X")
section.y = vkt.NumberField("Y")
class Controller(vkt.Controller):
parametrization = Parametrization
@genetic_optimize(
optimized_parameters=Parametrization,
path="section",
sol_per_pop=250,
num_generations=100,
amount_of_solutions=100
)
def optimize_x_and_y(self, optimized_params, params, **kwargs):
return optimized_params.x + optimized_params.y
- Python >= 3.8
- munch >= 4.0.0
- pygad >= 3.5.0
- viktor >= 14.24.0
- matplotlib
- numpy
To install in development mode:
git clone https://github.com/viktor-platform/optimize_wrapper.git
cd optimize_wrapper
pip install -e .
This project is part of the VIKTOR platform.