Java library to do function optimization (searching) and approximation (learning).