hart6 <- function(xx) { ########################################################################## # # HARTMANN 6-DIMENSIONAL FUNCTION # # Authors: Sonja Surjanovic, Simon Fraser University # Derek Bingham, Simon Fraser University # Questions/Comments: Please email Derek Bingham at dbingham@stat.sfu.ca. # # Copyright 2013. Derek Bingham, Simon Fraser University. # # THERE IS NO WARRANTY, EXPRESS OR IMPLIED. WE DO NOT ASSUME ANY LIABILITY # FOR THE USE OF THIS SOFTWARE. If software is modified to produce # derivative works, such modified software should be clearly marked. # Additionally, this program is free software; you can redistribute it # and/or modify it under the terms of the GNU General Public License as # published by the Free Software Foundation; version 2.0 of the License. # Accordingly, this program is distributed in the hope that it will be # useful, but WITHOUT ANY WARRANTY; without even the implied warranty # of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # For function details and reference information, see: # http://www.sfu.ca/~ssurjano/ # ########################################################################## # # INPUT: # # xx = c(x1, x2, x3, x4, x5, x6) # ########################################################################## alpha <- c(1.0, 1.2, 3.0, 3.2) A <- c(10, 3, 17, 3.5, 1.7, 8, 0.05, 10, 17, 0.1, 8, 14, 3, 3.5, 1.7, 10, 17, 8, 17, 8, 0.05, 10, 0.1, 14) A <- matrix(A, 4, 6, byrow=TRUE) P <- 10^(-4) * c(1312, 1696, 5569, 124, 8283, 5886, 2329, 4135, 8307, 3736, 1004, 9991, 2348, 1451, 3522, 2883, 3047, 6650, 4047, 8828, 8732, 5743, 1091, 381) P <- matrix(P, 4, 6, byrow=TRUE) xxmat <- matrix(rep(xx,times=4), 4, 6, byrow=TRUE) inner <- rowSums(A[,1:6]*(xxmat-P[,1:6])^2) outer <- sum(alpha * exp(-inner)) y <- -(2.58 + outer) / 1.94 return(y) }