## 3 Lossless Convex Optimization Algorithm
### Convexification and Discretization  
From the description of the problem in Section 2, it can be seen that there are some non-convex constraints in the primal problem, which can be divided into two categories. The first is the dynamic non-convex factors caused by the variation of rocket mass with time, which can be convexified by variable substitution. The second is the non-convex factors caused by introducing the lower bound of thrust magnitude, which can be convexified by lossless relaxation. It is proved that after the above convex steps, the optimal solution of the problem is the same as primal problem [11; 12]. First, define the logarithm of mass as a new variable to replace rocket mass:  
\[z(t)=\ln[m(t)] \tag{8}\]  
Similarly, define new control variables:  
\[u(t)=\frac{T(t)}{m(t)}\quad\sigma(t)=\frac{\|T(t)\|}{m(t)} \tag{9}\]  
where \(u(t)\) and \(\sigma(t)\) are the defined control variables, which indicate the thrust acceleration components and magnitude, respectively. Then the mass flow constraint is rewritten as follows:  
\[\dot{z}(t)=\frac{\dot{m}(t)}{m(t)}=-\frac{\|T(t)\|}{I_{\text{sp}}\delta_{0}m(t )}=-\frac{\sigma(t)}{I_{\text{sp}}\delta_{0}} \tag{10}\]  
New dynamic constraints and mass flow constraints are derived:  
\[ \begin{array}{l}\dot{r}=v\\ \dot{v}=g+u\\ \dot{z}=-\frac{\sigma}{I_{\text{sp}}\delta_{0}}\end{array}  \tag{11}\]  
The upper and lower bound constraints of the thrust magnitude are transformed into the following formula:  
\[T_{\text{min}}\leq\|T(t)\|\leq T_{\text{max}}\Rightarrow\frac{T_{\text{min}}} {m(t)}\leq\|\frac{T(t)}{m(t)}\|\leq\frac{T_{\text{max}}}{m(t)}\Rightarrow T_{ \text{min}}e^{-z(t)}\leq\sigma(t)\leq T_{\text{max}}e^{-z(t)} \tag{12}\]  
Figure 3: Description of the primal problem. The Taylor expansion is used to simplify the expression further, and only the first-order term is retained to obtain the approximate constraint as:  
\[T_{\text{min}}e^{-z_{0}(t)}[1-(z(t)-z_{0}(t))]\leq\sigma(t)\leq T_{\text{max}}e^{ -z_{0}(t)}[1-(z(t)-z_{0}(t))] \tag{13}\]  
where \(z_{0}(t)\) is the lower bound of the \(z(t)\). The specific expression of \(z_{0}(t)\) is as follow:  
\[z_{0}(t)=\ln\biggl{(}m_{0}-\frac{T_{\text{max}}}{I_{\text{sp}}g_{0}}t\biggr{)} \tag{14}\]  
It is worth noting that only retaining the first-order term will introduce the linearization error. However, according to the numerical simulation in Section 5, it can be verified that the error is small. So far, the upper and lower bound constraints of the thrust magnitude have been transformed into linear inequality constraints. Because there is a non-convex constraint relationship between the thrust acceleration component and magnitude, lossless relaxation is required:  
\[\|u(t)\|=\sigma(t)\Rightarrow\|u(t)\|\leq\sigma(t) \tag{15}\]  
Formula (15) is called the lossless relaxation technique, and it is a key step in convexification. Although (15) makes the constraint convex, it increases the feasible domain of the primal problem. Refs. [11, 12] and a large number of numerical simulations show that although the feasible domain of the problem has changed after relaxation, the optimal solutions before and after relaxation are equivalent. The mathematical description of the fuel-optimal powered landing problem can be summarized in the Figure 4.  
The convex problem needs to be further discretized to transform the infinite-dimensional optimization problem into a finite-dimensional problem. The computational efficiency and accuracy of different discrete methods are various, discussed in detail in reference [15]. In order to simplify the derivation and highlight the essence of the problem, the equidistant trapezoidal discretization method is adopted. The given time interval \([0,t_{\ell}]\) is uniformly discretized into \(N\) points, and the length of each discrete segment is \(\Delta t=t_{\ell}/(N-1)\). Define the vector to be optimized as:  
\[x[k]=\left(r[k]^{T},v[k]^{T},z[k],u[k]^{T},\sigma[k]\right)^{T}\qquad k=1, \ldots,N \tag{16}\]  
Figure 4: Description of the convex problem.