Strange behavior of evolutionary PID controller

Hi!
I have the following setting of the time stepper:

<type>EvolutionaryPIDcontroller</type>
                    <t_initial> 0.0 </t_initial>
                    <t_end> 501293664 </t_end>
                    <dt_guess> 2e4 </dt_guess>
                    <dt_min> 100 </dt_min>
                    <dt_max> 5e6 </dt_max>
                    <rel_dt_min> 0.01 </rel_dt_min>
                    <rel_dt_max> 2 </rel_dt_max>
                    <tol> 1</tol>

Grepping the produced output gives

nfo: === Time stepping at step #1 and time 20000 with step size 20000
info: === Time stepping at step #1 and time 10000 with step size 10000
info: === Time stepping at step #2 and time 50000 with step size 40000
info: === Time stepping at step #3 and time 130000 with step size 80000
warning: Time step 3 was rejected 1 times and it will be repeated with a reduced step size.
info: === Time stepping at step #3 and time 90000 with step size 40000
info: === Time stepping at step #4 and time 250000 with step size 160000
info: === Time stepping at step #5 and time 570000 with step size 320000
info: === Time stepping at step #6 and time 1.21e+06 with step size 640000
info: === Time stepping at step #7 and time 2.49e+06 with step size 1.28e+06
info: === Time stepping at step #8 and time 5.05e+06 with step size 2.56e+06
info: === Time stepping at step #9 and time 1.005e+07 with step size 5e+06
warning: Time step 9 was rejected 1 times and it will be repeated with a reduced step size.
info: === Time stepping at step #9 and time 9.40559e+06 with step size 4.35559e+06
warning: Time step 9 was rejected 2 times and it will be repeated with a reduced step size.
info: === Time stepping at step #9 and time 7.55e+06 with step size 2.5e+06
warning: Time step 9 was rejected 3 times and it will be repeated with a reduced step size.
info: === Time stepping at step #9 and time 9.74445e+06 with step size 4.69445e+06
warning: Time step 9 was rejected 4 times and it will be repeated with a reduced step size.
info: === Time stepping at step #9 and time 7.55e+06 with step size 2.5e+06
warning: Time step 9 was rejected 5 times and it will be repeated with a reduced step size.
info: === Time stepping at step #9 and time 9.81779e+06 with step size 4.76779e+06
warning: Time step 9 was rejected 6 times and it will be repeated with a reduced step size.
info: === Time stepping at step #9 and time 7.55e+06 with step size 2.5e+06
error: The new step size of 2.5e+06 is the same as that of the previous rejected time step.

There are two things, I find pretty strange:

  • From time step 3 to time step 4, the time step jumps from 40000 to16000 even though the maximum relative time step is 2. So, it looks like it used the rejected time step of 80000 for the next-level increase. Is this expected behavior or is there something wrong?

  • Within time step 9 the time is several times rejected with the statement that it will repeated with a reduced time step. However, the time step is not always reduced. As rel_dt_min is 0.01 I would have expected that the time step goes down to 2.56e4 finally. Why isn’t that the case?