Skip to content

Lipo fails to find minimum #167

@suuuehgi

Description

@suuuehgi
from lipo import GlobalOptimizer

function = lambda x: x**2

pre_eval_x = dict(x=2)
evaluations = [(pre_eval_x, function(**pre_eval_x))]

search = GlobalOptimizer(
    function,
    lower_bounds={'x': -500},
    upper_bounds={'x': 500},
    evaluations=evaluations,
    maximize=False,
)

num_function_calls = 500
search.run(num_function_calls)
$ search.optimum
({'x': 2}, 4.0, 0)
min(search.evaluations, key=lambda x: abs(x[1]))
({'x': 0}, 0.0)

whereat the underlying dlib.find_min_global works as expected:

from dlib import find_min_global

find_min_global(lambda x: x**2, [-500], [500], is_integer_variable=[True], num_function_calls=500)
([0.0], 0.0)

Do I miss anything?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions