SG++

SG++ module for optimization of smooth sparse grid interpolants.

# Overview

This SG++ module was developed as part of a Master's thesis with the translated title "Hierarchical Optimization with Gradient-Based Methods on Sparse Grid Functions". In the thesis, a new approach for minimizing objective functions $$f\colon [0, 1]^d \to \mathbb{R}$$ is developed. It can be summarized in three steps:

1. Adaptive iterative sparse grid generation. Two methods are implemented for generating adaptively a sparse grid according to the function values at the grid points.
2. B-spline or Mexican-Hat hierarchization. The objective function is interpolated by a linear combination of sufficiently smooth sparse grid basis functions.
3. Gradient-based optimization of the smooth interpolant. Various optimization methods, gradient-based as well gradient-free ones, are implemented for optimizating the sparse grid surrogate.

Please refer to optimization.cpp for example code.