Example #1
0
 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},
     )
Example #2
0
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)