Single objective functions can be tagged, e.g., as unimodal. Searching for all functions with a specific tag by hand is tedious. The filterFunctionsByTags function helps to filter all single objective smoof function.

filterFunctionsByTags(tags, or = FALSE)

Arguments

tags

[character]
Character vector of tags. All available tags can be determined with a call to getAvailableTags.

or

[logical(1)]
Should all tags be assigned to the function or are single tags allowed as well? Default is FALSE.

Value

[character] Named vector of function names with the given tags.

Examples

# list all functions which are unimodal
filterFunctionsByTags("unimodal")
#>  [1] "Aluffi-Pentini"            "Beale"                    
#>  [3] "Bent-Cigar"                "Booth"                    
#>  [5] "Brent"                     "Brown"                    
#>  [7] "Chung Reynolds"            "Cube"                     
#>  [9] "Dixon-Price"               "Double-Sum"               
#> [11] "El-Attar-Vidyasagar-Dutta" "Engvall"                  
#> [13] "Hyper-Ellipsoid"           "Jennrich-Sampson"         
#> [15] "Leon"                      "Matyas"                   
#> [17] "Powell-Sum"                "Schaffer N. 2"            
#> [19] "Schaffer N. 4"             "Sphere"                   
#> [21] "Sum of Different Squares"  "Trecanni"                 
#> [23] "Zettl"                    
# list all functions which are both unimodal and separable
filterFunctionsByTags(c("unimodal", "separable"))
#> [1] "Double-Sum" "Powell-Sum" "Sphere"     "Trecanni"  
# list all functions which are unimodal or separable
filterFunctionsByTags(c("multimodal", "separable"), or = TRUE)
#>  [1] "Ackley"                      "Adjiman"                    
#>  [3] "Alpine N. 1"                 "Alpine N. 2"                
#>  [5] "Bartels Conn"                "Bird"                       
#>  [7] "Bohachevsky N. 1"            "BraninRCOS"                 
#>  [9] "Bukin N. 2"                  "Bukin N. 4"                 
#> [11] "Bukin N. 6"                  "Carrom Table"               
#> [13] "Chichinadze"                 "Complex"                    
#> [15] "Cosine Mixture"              "Cross-In-Tray"              
#> [17] "Deckkers-Aarts"              "Deflected Corrugated Spring"
#> [19] "Double-Sum"                  "Eason"                      
#> [21] "Egg Crate"                   "Egg Holder"                 
#> [23] "Freudenstein Roth"           "Generelized Drop-Wave"      
#> [25] "Giunta"                      "Goldstein-Price"            
#> [27] "Griewank"                    "Hansen"                     
#> [29] "Hartmann"                    "Himmelblau"                 
#> [31] "Holder Table N. 1"           "Holder Table N. 2"          
#> [33] "Hosaki"                      "Inverted Vincent Mixture"   
#> [35] "Judge"                       "Keane"                      
#> [37] "Kearfott"                    "McCormick"                  
#> [39] "Michalewicz"                 "Modified Rastrigin"         
#> [41] "Periodic"                    "Powell-Sum"                 
#> [43] "Price N. 1"                  "Price N. 2"                 
#> [45] "Price Function N. 4"         "Rastrigin"                  
#> [47] "Rosenbrock"                  "Schwefel"                   
#> [49] "Shekel function"             "Shubert"                    
#> [51] "Six-Hump Camel Back"         "Sphere"                     
#> [53] "Styblinkski-Tang"            "Swiler2014"                 
#> [55] "Three-Hump Camel"            "Trecanni"