Please consider that it might not be a software issue but a model issue. See my previous comments. Reasons a model might not fit data include having rounded data values or a misspecified model.
It is also possible that the situation can be improved by a better choice of the parameters (or maybe you need to BOUND a parameter). If you are convinced that the model is correct and fits the data, you can try to create a grid of candidates for the initial parameter values.
Lastly, I will mention that your 20-dimensional model is very complicated. Try a simpler model with fewer parameters. Sometimes you can use a series of "reduced" models to help understand how to fit the data. See the article on using a reduced (fixed-effect) model.