Rodas5() gives error when fitting

I am tryting to use Rodas5() to fit a steep set of equations, when I set alg=Rodas5() for Pumas.NaivePooled() fit (without η) it works well, but NaivePooled() is not good enough due to subject variability. I can use FOCEI() without specifying alg, but I dont get a fit - (I just get some error, after many round of trying to fit is not able to find a solution) - when I do FOCEI() with alg=Rodas() I get the following error -> I’ll be happy to share full code, but it seems to be an issue with the interactions of solver and fitter.

Cannot determine ordering of Dual tags DiffEqDiffTools.UDerivativeWrapper{ODEFunction{false,Pumas.DiffEqWrapper{getfield(Main, Symbol("##944#951")),LabelledArrays.SLArray{Tuple{6},ForwardDiff.Dual{ForwardDiff.Tag{getfield(Pumas, Symbol("##148#149")){Float64,Base.Iterators.Pairs{Symbol,Rodas5{0,true,DefaultLinSolve,DataType},Tuple{Symbol},NamedTuple{(:alg,),Tuple{Rodas5{0,true,DefaultLinSolve,DataType}}}},PumasModel{ParamSet{NamedTuple{(:θ, :Ω, :σ_prop),

Happy holidays!

1 Like

Happy holidays @alewolf.

steep set of equations

many diffeq’s or highly non-linear? If you are able to fit via NaivePooled() but not with FOCE using the same algorithm, it may have something to do with the information content . How many subjects do you have and how many parameters are you estimating for this bunch of steep equations?

10 subjects so far -
I am trying to estimate 6 composed parameters (ie a theta and an eta for each 6) and for 6 equations, so I might be short of subjects, but because of the nature of the error : cannot determine order of dual tags I thought it maybe a communication issue between fitter and solver - Simulatgion works well with Rodas()
I increased the iteration number to standard FOCEI() and it’s running now.
My next step will be to fix some of the parameters to see if thta helps,

Thanks :slight_smile:

yup. 10 subjects with 12 parameters is not going to go down well. Try an iterative approach adding etas where you think it is important and gradually you will hit that ceiling.

you increased the number of iterations for the solver or the optimizer?
Lastly, Bayesian will be a good option (but maybe really slow in this release, some changes are coming in the next one)

Thanks I’ll try those suggestions. Yes, I am using Bayesian (for fun) in another model, but solution will come in 2 weeks (it’s been running for 1 already) - The issue with Bayesian fits is far from copy param_means from the summary table I could not programatically extract the parameters (when I tried in a fast toy model)

Take care-

Use Rodas5(autodiff=false). See

1 Like