IsingRing#

class ioh.iohcpp.problem.IsingRing(self: ioh.iohcpp.problem.IsingRing, instance: int, n_variables: int)#

Bases: PBO

The Ising Spin Glass model arose in solid-state physics and statistical mechanics, aiming to describe simple interactions within many-particle systems. A compact form used here is x ↦ ∑_{{u,v} in E}[x_ux_v - (1-x_u) (1-x_v)]. E is defined over a one-dimensional lattice. Details can be found in https://doi.org/10.1016/j.asoc.2019.106027.

Attributes Summary

bounds

The bounds of the problem.

constraints

The constraints of the problem.

log_info

The data is that being sent to the logger.

meta_data

The static meta-data of the problem containing, e.g., problem id, instance id, and problem's dimensionality

optimum

The optimum and its objective value for a problem instance

problems

state

The current state of the optimization process containing, e.g., the current solution and the number of function evaluated consumed so far

Methods Summary

__call__

Evaluate the problem.

add_constraint

add a constraint

attach_logger

Attach a logger to the problem to allow performance tracking.

create(*args, **kwargs)

Overloaded function.

detach_logger

Remove the specified logger from the problem.

enforce_bounds

Enforced the bounds (box-constraints) as constraint :param weight: :type weight: The weight for computing the penalty (can be infinity to have strict box-constraints) :param how: :type how: The enforcement strategy, should be one of the 'ioh.ConstraintEnforcement' options :param exponent: :type exponent: The exponent for scaling the contraint

remove_constraint

remove a constraint

reset

Reset all state variables of the problem.

Attributes Documentation

bounds#

The bounds of the problem.

constraints#

The constraints of the problem.

log_info#

The data is that being sent to the logger.

meta_data#

The static meta-data of the problem containing, e.g., problem id, instance id, and problem’s dimensionality

optimum#

The optimum and its objective value for a problem instance

problems#
state#

The current state of the optimization process containing, e.g., the current solution and the number of function evaluated consumed so far

Methods Documentation

__call__()#

Evaluate the problem.

Parameters:

x (list) – the search point to evaluate. It must be a 1-dimensional array/list whose length matches search space’s dimensionality

Returns:

The evaluated search point

Return type:

float

Evaluate the problem.

Parameters:

x (list[list]) – the search points to evaluate. It must be a 2-dimensional array/list whose length matches search space’s dimensionality

Returns:

The evaluated search points

Return type:

list[float]

add_constraint()#

add a constraint

attach_logger()#

Attach a logger to the problem to allow performance tracking.

Parameters:

logger (Logger) – A logger-object from the IOHexperimenter logger module.

static create(*args, **kwargs)#

Overloaded function.

  1. create(problem_name: str, instance_id: int, dimension: int) -> ioh.iohcpp.problem.PBO

    Create a problem instance

    problem_name: str

    a string indicating the problem name.

    instance_id: int

    an integer identifier of the problem instance

    dimension: int

    the dimensionality of the search space

  2. create(problem_id: int, instance_id: int, dimension: int) -> ioh.iohcpp.problem.PBO

    Create a problem instance

    problem_name: int

    a string indicating the problem name.

    instance_id: int

    an integer identifier of the problem instance

    dimension: int

    the dimensionality of the search space

detach_logger()#

Remove the specified logger from the problem.

enforce_bounds()#

Enforced the bounds (box-constraints) as constraint :param weight: :type weight: The weight for computing the penalty (can be infinity to have strict box-constraints) :param how: :type how: The enforcement strategy, should be one of the ‘ioh.ConstraintEnforcement’ options :param exponent: :type exponent: The exponent for scaling the contraint

remove_constraint()#

remove a constraint

reset()#

Reset all state variables of the problem.