Andrea,
Gekko automatically uses the prior time step solution to "warm-start" the next solution. The solution is shifted by the number of steps given with m.options.TIME_SHIFT (default 1). When the solution is time-shifted, the last "TIME_SHIFT" steps are equal to the last prior value. You can also give an initial guess for any variable "x" with x.value = [0.1,0.2,0.3,0.5,0.8] with a length equal to m.time. Internally, Gekko changes x.value.value and sets x.value.change=True to override the default values in the gk0_model.csv file as shown in m.path when m=GEKKO(remote=False).
If the problem is that you need a faster solution then I recommend that you use a non-uniform m.time such as [0,0.1,0.2,0.5,1.0,2.0,4.0,10]. The first step is the cycle time of the controller. The additional steps are used to maintain solution accuracy and approach an infinite horizon approximation. You can also try a different solver such as m.options.SOLVER = 1 after the first solution. IPOPT (m.options.SOLVER=3) is often better at initialization but APOPT (1) is often better from warm-start solutions.
This is a great question. If you need further assistance, please consider posting to StackOverflow with tag [gekko] with an illustrative example of the problem.
-John Hedengren