Surrogate modeling and optimization using shape-preserving response prediction: A review