def optimize(self, num_vars, objective_function, gradient_function=None, variable_bounds=None, initial_point=None):
    super().optimize(num_vars, objective_function, gradient_function, variable_bounds, initial_point)
    return minimize(nlopt.GN_ESCH, objective_function, variable_bounds, initial_point, **self._options)
def optimize(self, num_vars, objective_function, gradient_function=None, variable_bounds=None, initial_point=None):
    super().optimize(num_vars, objective_function, gradient_function, variable_bounds, initial_point)
    return minimize(nlopt.GN_ESCH, objective_function, variable_bounds, initial_point, **self._options)