## 3 Offline Optimization Algorithm
### Improved Dynamic Programming Algorithm  
In a traditional dynamic programming algorithm used in the energy management strategy of a PHEV, the battery SOC and the transmission speed ratio are usually taken as state variables, and the motor torque is taken as a control variable. For CVT transmissions, owing to the continuously changing characteristics of the speed ratio, to maximize the transmission efficiency of the vehicle, the CVT speed ratio needs to be discretized into a series of values within its feasible range. In addition, for the motor torque, intensive dispersion is also required. Therefore, the direct application of a dynamic programming algorithm to global optimization of the EMS requires significant computational costs.  
As mentioned above, the equivalent minimum fuel strategy can solve the instantaneous optimal solution through the equivalent factor, and the optimal solution can only be obtained from a limited number of specific values after a numerical fitting of the fuel consumption rates of the engine and motor. In view of this, in this study, the A-ECMS is combined with the DP algorithm to form an improved dynamic programming algorithm. In this method, the A-ECMS is added to each step of the DP process. Equivalent factors are taken as the control variables to calculate the instantaneous energy distribution of the A-ECMS, and the variation of SOC and the instantaneous fuel consumption of the engine under the energy distribution are then calculated. Taking the battery SOC as the state variable and the cumulative instantaneous fuel consumption as the optimization objective of DP, the optimal  
Figure 3: The optimal power varying with the equivalence factor.  
control law of the equivalent factor is obtained by offline global optimization. A flow chart of the algorithm is illustrated in Figure 4.  
The state transition equation and DP cost function are as follows:  
\[\left\{\begin{array}{l}soc_{k+1}=soc_{k}+\dot{SOC}(soc_{k},\hat{m}_{b,k}^{*}) \\ \dot{\hat{m}_{b,k}^{*}}=\text{argmin}\{\hat{J}_{cms}(k,soc_{k},s_{k})\}\\ \end{array}\right., \tag{17}\]  
\[\left\{\begin{array}{l}\hat{J}_{dp,k}=\dot{m}_{e,k}^{*}(s_{k})+\hat{J}_{dp,k+ 1}(soc_{k+1})\\ \dot{m}_{e,k}^{*}=\text{argmin}\{\hat{J}_{cms}(k,soc_{k},s_{k})\}\\ \end{array}\right.. \tag{18}\]  
Starting from the determined end state of the system, the optimal equivalent factor \(s_{k}^{*}\) of each stage and each state is obtained in reverse order, according to Equations (17) and (18), respectively, and all optimal equivalent factors are stored to obtain the optimal control variable matrix \(S_{dp}^{*}\). Then, starting from the initial state of the system, the optimal equivalent factor \(s_{k}^{*}\) at this moment in the optimal control variable matrix is determined, and the engine fuel consumption under this equivalent factor is calculated using the ECMS model. The best equivalent factor is then recorded at each instant such that the best equivalent factor sequence and the best fuel consumption are obtained. Because of the discontinuous relationship between the optimal energy distribution and the equivalence factor,  
Figure 4: Flowchart of the improved dynamic programming algorithm.  
the optimal equivalent factor at each instant is within an interval composed of the upper and lower limits of the optimal equivalent factor, and the sequence of the optimal equivalent factor in the entire cycle is divided into the upper limit sequence of the effect factor and its lower limit sequence.