<s> from __future__ import division , print_function , absolute_import <EOL> from numpy import asarray , atleast_2d , floor , arange , sin , sqrt , prod , sum , round <EOL> from . go_benchmark import Benchmark <EOL> class Katsuura ( Benchmark ) : <EOL> r"""<STR_LIT>""" <EOL> def __init__ ( self , dimensions = <NUM_LIT:2> ) : <EOL> Benchmark . __init__ ( self , dimensions ) <EOL> self . _bounds = zip ( [ <NUM_LIT:0.0> ] * self . N , [ <NUM_LIT> ] * self . N ) <EOL> self . global_optimum = [ [ <NUM_LIT:0.0> for _ in range ( self . N ) ] ] <EOL> self . custom_bounds = [ ( <NUM_LIT:0> , <NUM_LIT:1> ) , ( <NUM_LIT:0> , <NUM_LIT:1> ) ] <EOL> self . fglob = <NUM_LIT:1.0> <EOL> self . change_dimensionality = True <EOL> def fun ( self , x , * args ) : <EOL> self . nfev += <NUM_LIT:1> <EOL> d = <NUM_LIT:32> <EOL> k = atleast_2d ( arange ( <NUM_LIT:1> , d + <NUM_LIT:1> ) ) . T <EOL> i = arange ( <NUM_LIT:0.> , self . N * <NUM_LIT:1.> ) <EOL> inner = round ( <NUM_LIT:2> ** k * x ) * ( <NUM_LIT> ** ( - k ) ) <EOL> return prod ( sum ( inner , axis = <NUM_LIT:0> ) * ( i + <NUM_LIT:1> ) + <NUM_LIT:1> ) <EOL> class Keane ( Benchmark ) : <EOL> r"""<STR_LIT>""" <EOL> def __init__ ( self , dimensions = <NUM_LIT:2> ) : <EOL> Benchmark . __init__ ( self , dimensions ) <EOL> self . _bounds = zip ( [ <NUM_LIT:0.0> ] * self . N , [ <NUM_LIT> ] * self . N ) <EOL> self . global_optimum = [ [ <NUM_LIT> , <NUM_LIT> ] ] <EOL> self . custom_bounds = [ ( - <NUM_LIT:1> , <NUM_LIT> ) , ( - <NUM_LIT:1> , <NUM_LIT> ) ] <EOL> self . fglob = <NUM_LIT:0.> <EOL> def fun ( self , x , * args ) : <EOL> self . nfev += <NUM_LIT:1> <EOL> val = sin ( x [ <NUM_LIT:0> ] - x [ <NUM_LIT:1> ] ) ** <NUM_LIT:2> * sin ( x [ <NUM_LIT:0> ] + x [ <NUM_LIT:1> ] ) ** <NUM_LIT:2> <EOL> return val / sqrt ( x [ <NUM_LIT:0> ] ** <NUM_LIT:2> + x [ <NUM_LIT:1> ] ** <NUM_LIT:2> ) <EOL> class Kowalik ( Benchmark ) : <EOL> r"""<STR_LIT>""" <EOL> def __init__ ( self , dimensions = <NUM_LIT:4> ) : <EOL> Benchmark . __init__ ( self , dimensions ) <EOL> self . _bounds = zip ( [ - <NUM_LIT> ] * self . N , [ <NUM_LIT> ] * self . N ) <EOL> self . global_optimum = [ [ <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> ] ] <EOL> self . fglob = <NUM_LIT> <EOL> self . a = asarray ( [ <NUM_LIT> , <NUM_LIT> , <NUM_LIT:1.0> , <NUM_LIT:1> / <NUM_LIT> , <NUM_LIT:1> / <NUM_LIT> , <NUM_LIT:1> / <NUM_LIT> , <NUM_LIT:1> / <NUM_LIT> , <EOL> <NUM_LIT:1> / <NUM_LIT> , <NUM_LIT:1> / <NUM_LIT> , <NUM_LIT:1> / <NUM_LIT> , <NUM_LIT:1> / <NUM_LIT> ] ) <EOL> self . b = asarray ( [ <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <EOL> <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> ] ) <EOL> def fun ( self , x , * args ) : <EOL> self . nfev += <NUM_LIT:1> <EOL> vec = self . b - ( x [ <NUM_LIT:0> ] * ( self . a ** <NUM_LIT:2> + self . a * x [ <NUM_LIT:1> ] ) <EOL> / ( self . a ** <NUM_LIT:2> + self . a * x [ <NUM_LIT:2> ] + x [ <NUM_LIT:3> ] ) ) <EOL> return sum ( vec ** <NUM_LIT:2> ) </s>
