added ackley evaluation function