Исходный код problems.xsquared

import numpy as np
from iOpt.trial import Point
from iOpt.trial import FunctionValue
from iOpt.trial import Trial
from iOpt.problem import Problem


[документация]class XSquared(Problem): """ Criterion function :math:`f(x) = x^2` """ def __init__(self, dimension: int): super(XSquared, self).__init__() self.name = "XSquared" self.dimension = dimension self.number_of_float_variables = dimension self.number_of_discrete_variables = 0 self.number_of_objectives = 1 self.number_of_constraints = 0 self.float_variable_names = np.ndarray(shape=(self.dimension), dtype=str) for i in range(self.dimension): self.float_variable_names[i] = i self.lower_bound_of_float_variables = np.ndarray(shape=(self.dimension), dtype=np.double) self.lower_bound_of_float_variables.fill(-1) self.upper_bound_of_float_variables = np.ndarray(shape=(self.dimension), dtype=np.double) self.upper_bound_of_float_variables.fill(1) self.known_optimum = np.ndarray(shape=(1), dtype=Trial) pointfv = np.ndarray(shape=(self.dimension), dtype=np.double) pointfv.fill(0) KOpoint = Point(pointfv, []) KOfunV = np.ndarray(shape=(1), dtype=FunctionValue) KOfunV[0] = FunctionValue() KOfunV[0].value = 0 self.known_optimum[0] = Trial(KOpoint, KOfunV)
[документация] def calculate(self, point: Point, function_value: FunctionValue) -> FunctionValue: """ Calculation of the criterion value :param point: coordinates of the trial point where the value of the function will be calculated. :param function_value: object defining the function number in the task and storing the function value. :return: Calculated value of the function at point. """ sum: np.double = 0 for i in range(self.dimension): sum += point.float_variables[i] * point.float_variables[i] function_value.value = sum return function_value
[документация] def get_name(self): return self.name