RealStarDiscrepancy#
- class ioh.iohcpp.problem.RealStarDiscrepancy(self: ioh.iohcpp.problem.RealStarDiscrepancy, instance: int = 1, n_variables: int = 5, n_samples: int = 5, sampler_type: ioh.iohcpp.problem.StarDiscrepancySampler = <StarDiscrepancySampler.UNIFORM: 0>)#
Bases:
RealSingleObjective
Star-discrepancy problems
The 𝐿_infinity star discrepancy is a measure for the regularity of a finite set of points taken from [0, 1)^d. Calculating this measure is challenging, and exact algorithm fall short even for relatively small grids. This suite provides access to a set of these problems to tackle the problem from an optimization perspective.
There are two equivalent representations for these problems: Integer-based and Real-valued.
For the Real-valued, the goal is to find the a point in [0,1)^d which minimizes the resulting discepancy directly.
The Integer-valued version takes advantage of the fact that for each dimension, the optimium has a value matching an existing point int the grid. As such, the search for a point in the grid can be reduced to finding in each dimension the index of the coordinate, resulting in a search domain [0,n]^d, where n is the number of gridpoints.
[Clement23] Clement, Francois, Diederick Vermetten, Jacob de Nobel, Alexandre Jesus, Luís Paquete, and Carola Doerr. “Computing Star Discrepancies with Numerical Black-Box Optimization Algorithms.”
Star Discrepancy Problems
- Parameters:
instance (int = 1) – The instance of the problem, will be used as seed for sampler
n_variables (int = 5) – The dimension of the problem
n_samples (int = 5) – The number of sampled points
sampler_type (StarDiscrepancySampler) – The type of sampler to use when sampling the points
Attributes Summary
The bounds of the problem.
The constraints of the problem.
The data is that being sent to the logger.
The static meta-data of the problem containing, e.g., problem id, instance id, and problem's dimensionality
The optimum and its objective value for a problem instance
The current state of the optimization process containing, e.g., the current solution and the number of function evaluated consumed so far
Methods Summary
Evaluate the problem.
add a constraint
Attach a logger to the problem to allow performance tracking.
create
(*args, **kwargs)Overloaded function.
Remove the specified logger from the problem.
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 a constraint
Reset all state variables of the problem.
Attributes Documentation
- bounds#
The bounds of the problem.
- constraints#
The constraints of the problem.
- grid#
- 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.
create(problem_name: str, instance_id: int, dimension: int) -> ioh.iohcpp.problem.RealStarDiscrepancy
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
create(problem_id: int, instance_id: int, dimension: int) -> ioh.iohcpp.problem.RealStarDiscrepancy
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.