This code produces one-dimensional density estimates satisfying "soft" conditions like unimodality. A number of possible soft conditions are permitted. This version calls the nloptr suite of optimizers. Convergence is not particularly fast.
The exponential epi-spline scheme uses a global optimization routine from package nloptr that itself calls a local one. This function produces a list of options for either or both.