 can be used for fitting any type of models, especially those with non-differentiable objective functions, with the same syntax as stats::optim(). It supports multiple phases estimation (sequential parameter masking), constrained optimization (bounding box restrictions) and automatic parallel computation of numerical gradients. Some common maximum likelihood estimation methods and automated construction of the objective function from simulated model outputs is provided. See &lt;https://roliveros-ramos.githu