def test_con_min(self): # 1 worker res = con_minimize( fun=mishra_bird, bounds=[(-10.0, 0.0), (-6.5, 0.0)], constr=[mishra_bird_constr], workers=1, options={"generations": 3}, ) res = con_minimize( fun=mishra_bird, bounds=[(-10.0, 0.0), (-6.5, 0.0)], constr=[mishra_bird_constr], workers=2, options={"generations": 3}, )
Global minimum at f(1., 1.) = 0. """ import logging import numpy as np import matplotlib.pyplot as plt from modestga import con_minimize from modestga.benchmark.functions.rosenbrock import rosenbrock_2par from modestga.benchmark.functions.rosenbrock import rosenbrock_constr1 from modestga.benchmark.functions.rosenbrock import rosenbrock_constr2 # Set up logging logging.basicConfig( level='DEBUG', filemode='w', format="[%(processName)s][%(levelname)s] %(message)s" ) # Run minimization res = con_minimize( fun=rosenbrock_2par, bounds=[(-1.5, 1.5), (-0.5, 2.5)], constr=[rosenbrock_constr1, rosenbrock_constr2], workers=1, options={ 'tol': 1e-6 } ) print(res)
"""Example of constrained optimization of the Mishra's Bird function. Global minimum at f(-3.1302, -1.5821) = -106.7645 """ import logging import matplotlib.pyplot as plt import numpy as np from modestga import con_minimize from modestga.benchmark.functions.mishra_bird import mishra_bird from modestga.benchmark.functions.mishra_bird import mishra_bird_constr # Set up logging logging.basicConfig(level="DEBUG", filemode="w", format="[%(processName)s][%(levelname)s] %(message)s") # Run minimization res = con_minimize( fun=mishra_bird, bounds=[(-10.0, 0.0), (-6.5, 0.0)], constr=[mishra_bird_constr], workers=1, ) print(res)
filemode="w", format="[%(processName)s][%(levelname)s] %(message)s") # Set up cost function from modestga.benchmark.functions import rastrigin fun = rastrigin # Set up bounds (rectangular) bounds = [(-5.12, 5.12) for i in range(8)] # Constraints (algorithm will try to keep their outputs positive) def fcon1(x, *args): return x[1] - 1.0 def fcon2(x, *args): return x[0] - 2.0 constr = (fcon1, fcon2) # Genetic Algorithm options options = {"generations": 1000, "pop_size": 500, "tol": 1e-3} # Run minimization res = con_minimize(fun, bounds, constr=constr, options=options) print(res)