A Convex Formulation of the Soft-Capture Problem
Abstract
We present a fast trajectory optimization algorithm for the soft capture of uncooperative tumbling space objects. Our algorithm generates safe, dynamically feasible, and minimum-fuel trajectories for a six-degree-of-freedom servicing spacecraft to achieve soft capture (near-zero relative velocity at contact) between predefined locations on the servicer spacecraft and target body. We solve a convex problem by enforcing a convex relaxation of the field-of-view constraint, followed by a sequential convex program correcting the trajectory for collision avoidance. The optimization problems can be solved with a standard second-order cone programming solver, making the algorithm both fast and practical for implementation in flight software. We demonstrate the performance and robustness of our algorithm in simulation over a range of object tumble rates up to 10∘/s.
I Introduction
Many envisioned autonomous on-orbit interactions, including active debris removal, refueling, and repair or upgrade missions, require an active chaser spacecraft to rendezvous and make contact with a passive or uncooperative target orbiting body [1]. A key requirement is soft capture: near-zero relative velocity at the time of contact. Rendezvous and docking operations have historically been limited to cooperative targets that communicate with the chaser and control their state to facilitate docking [2]. Such operations also require significant human interaction. However, capturing uncooperative or tumbling targets is also of significant interest. In such scenarios, human involvement is impractical due to the fast sense-plan-act loop required [3]. Therefore, the chaser needs to carry out agile maneuvers autonomously.
A soft-capture mission would start with a stand-off phase estimating the dynamic properties and tumble state of the target. Next, during the approach phase (0-50m), the chaser needs to achieve the necessary relative states to initiate the capture phase, when the capture interface is activated to grapple the target. A significant body of work has focused on using a free-floating robotic manipulator to grapple a slowly rotating target with minimal base disturbance [4]. Virgili-Llop and Romano [5] introduced a two-phase sequential-convex-programming (SCP) method for the capture of a tumbling target. For the approach phase, Sternberg and Miller [6] analyzed various parameterization schemes for creating fuel-efficient trajectories, whereas Stoneman and Lampariello [7] devised a computationally expensive approach for generating offline reference trajectories for online tracking. Albee et al. [8] experimented with offline-generated trajectory look-up tables for online parsing and robust tracking. Malyuta et al. [9] proposed an SCP-based strategy for six-degree-of-freedom docking maneuvers against a stationary target.
In this work, we focus on the approach phase, during which the majority of the mission is expended [3]. Viewed as a trajectory optimization problem, inherent nonconvexities in the constraints must be addressed. For instance, field of view constraints (direct line of sight with the target) have historically been relaxed through semidefinite programming (SDP) methods [10] [11] or through Convex-Concave programming approaches [12]. For collision-avoidance constraints, relaxations have relied on pre-determined keep-out zones or rotating hyperplanes requiring precise prior timing knowledge [13].
Our approach leverages recent advances in convex optimization, which have been applied to many complex aerospace guidance and control problems, such as the classical problem of powered soft landing [14]. Convex optimization offers deterministic guarantees given a desired solution accuracy [15] and has modest computational requirements, making it suitable for implementation onboard spacecraft.
We introduce a safe and efficient trajectory optimization algorithm for the chaser spacecraft to capture a target tumbling at up to 10. Our algorithm produces minimum-fuel trajectories that respect stringent and nonconvex safety constraints: target within field-of-view, collision avoidance, and near-zero relative velocity at the time of capture. We first solve a convex problem by enforcing a convex relaxation of the field-of-view constraints, followed by a sequential convex program correcting the trajectory for collision avoidance. The optimizations can be solved with a standard second-order cone programming solver, making the algorithm both fast and practical for implementation in flight software. We evaluate the convergence behavior and performance of the algorithm on 250 different target tumble rates (up to 10) and relative chaser orbits in simulation.
The paper proceeds as follows: Sec. II reviews relevant mathematics. In Sec. III the problem setup and dynamics are detailed. Sec. IV presents the nonconvex problem and Sec. V describes its convex relaxation. Sec. VI evaluates the computational, safety, and robustness performance of our algorithm, and Sec. VII summarizes our conclusions.
II Background
II-A Quaternion Algebra
We represent attitude with unit quaternions following the conventions in [16]. We define a quaternion where and are its scalar and vector parts, respectively. We define the matrix
(1) |
to compute the quaternion product . We use to denote the rotation matrix equivalent to .
II-B Differentiable Collision Metric
Collision-avoidance constraints yield a nonconvex feasible region that is time-varying and dependent on both orbit and attitude. Traditional collision-detection routines are inherently non-differentiable, making them hard to incorporate in optimization routines. In this work, we conservatively approximate the chaser and target geometries by their convex hulls through a set of linear inequalities and adopt DCOL [17], a differentiable collision formulation visualized in Fig. 2. DCOL solves a small convex optimization problem for the minimal inflation factor leading to an intersection between the two inflated convex hulls. The approach is differentiable by design, and collision is detected if . DCOL allows fast computation of the Jacobian of the inflation factor with respect to the position and attitudes of both bodies [17], permitting its use for relaxations in sequential convex optimization.
III Relative Orbital Dynamics
We assume a passive (unactuated) and uncooperative target spacecraft in orbit around Earth. Its position coincides with the origin of a local-vertical-local-horizontal (LVLH) frame, or Hill frame, denoted , where the X-axis points along the radial direction, the Z-axis along the orbital angular momentum vector, and the Y-axis completes the right-handed frame, pointing along the direction of motion. The attitude and angular rates of the target spacecraft make up the state and are described through a frame attached to its assumed center of mass as shown in Fig. 3. The tumbling trajectory follows Euler’s equations for rigid bodies and the quaternion kinematics equation:
(2) |
where is the angular velocity of , the rotation from to , and is the target’s inertia matrix.
We model the chaser spacecraft as a point mass with state and a thrust vector . We decouple translation and attitude by assuming the presence of a low-level target-pointing attitude controller that can track any angular velocity reference with magnitude less than . Given the short duration of the maneuver compared to the orbital period, the chaser thrust represents the most significant perturbation, and other orbital perturbations can be safely neglected. Under the assumption of a circular orbit for the target, the chaser motion can be modeled with the Hill-Clohessy-Wiltshire equations [18]
(3) | ||||
which can be put in the standard matrix form
(4) |
where is the mass of the chaser spacecraft, is the orbital mean motion of the target spacecraft, is the gravitational parameter for Earth, and is the semi-major axis of the target orbit. The continuous dynamics equations are integrated to yield the discrete-time dynamics
(5) |
We assume that the chaser spacecraft initiates its proximity maneuvers from a passively stable relative orbit [19], i.e. a bounded relative orbit where the energies of the chaser and target orbits are matched. With a slightly different inclination and eccentricity from the target’s orbit, maintaining this orbit requires minimal V. The set of initial conditions of the chaser is then restricted by
(6) |
respectively canceling out the relative linear drift and offset of the relative orbit. Using the closed-form solution of the Clohessy-Wiltshire equations [18], the set of states lie on a parameterized “safe ellipsoid” with
(7) |
where the radial, along-track, and cross-track dimensions of the ellipsoid are , , and , respectively. Combining (6) and (7) allows us to sample passively stable relative orbits.
The chaser predicts the future nominal motion of the target by integrating Eqs. (2) at a fixed timestep, where any state at is accessed through cubic spline interpolation of the nominal trajectory. While we have chosen a spacecraft as a target, our method extends to any other passively tumbling space object.
IV The Soft-Capture Problem
The soft capture problem seeks state and control trajectories, and , that drive the endpoint of the capture vector on the chaser spacecraft, , to coincide with the endpoint of the capture vector on the target, . The trajectories must minimize fuel consumption and satisfy mission-specific and safety constraints given the target state prediction . We pose this kinodynamic planning problem as a trajectory optimization problem of the form {mini} x_1:N, u_1:N-1ℓ_N (x_N) + ∑_k^N-1 ℓ_k (x_k, u_k) \addConstraintx_k+1 = A_d x_k + B_d u_k \addConstraintf(x_k, u_k)=0 \addConstraintg(x_k, u_k)≤0 where and are the decision variables, and are the stage and terminal costs, and and specify equality and inequality constraints. If the objective and the constraints are convex in , the problem is a convex optimization problem, which can be solved to global optimality in polynomial time [15].
To begin with, we upper bound the thrust and velocity magnitudes to reflect thruster limitations and operational safety constraints:
(8) | ||||
(9) |
Standard docking maneuvers require the chaser vehicle to approach the target in a cone-shaped corridor originating from the docking port of a relatively static target [1]. For our tumbling target scenario, we restrain the position of the chaser to be within a cone of half-angle (see Fig. 3) emanating from the capture point of the target spacecraft for the last timesteps. The resulting second-order cone constraint is
(10) |
where is the position of the chaser relative to the target capture point and and define the orientation and origin of the cone of the same target capture point
where is the attitude of the target at the timestep .
The chaser’s attitude controller must maintain the line of sight of its optical sensors within some angular tolerance [1]. We ensure this by restricting the angle between line-of-sight vectors at successive timesteps to be less than :
(11) |
Despite in our scenario, the constraint remains nonconvex. Note that this constraint, combined with Eq. (10), ensures correct alignment of the chaser for capture.
At the final time , the endpoints of the capture vectors and must coincide (Eq. (12)) given the final predicted target’s attitude . The attitude controller ensures that points at the target using the minimum-norm rotation increment at each timestep, so the attitude of the chaser is a position-dependent function, , or its rotation matrix equivalent, . Thus, . To protect the integrity of the capture mechanism and the target, we bound the relative velocities between the target capture point and the chaser’s center of mass (Eq. (13))
(12) | ||||
(13) |
with and respectively the terminal position and velocity tolerances, guaranteeing the inequalities achievement while softening the constraints for the optimization solver.
The chaser must not collide with the target spacecraft during the trajectory. We use the collision metric described in Sec. II-B and require , ensuring a minimal separation distance between the convex hulls. The collision-avoidance constraint at timestep is
(14) |
To reduce fuel consumption, we minimize the sum of the L1 norms of the thrust vectors. The L1 norm of the control is proportional to fuel consumption and a better fuel minimizer than the (perhaps more common) L2 norm [20]. In addition, the reaction control system of the chaser employs impulsive burns, where the thrust magnitude is close either to zero or to the maximum limit [21]. The L1 norm encourages such “bang-off-bang” solutions. With this final addition, we fully define Problem 1: {mdframed} Problem 1: Nonconvex Soft Capture Problem {mini} x_k, u_k∑_k^N-1 ∥ u_k ∥_1 \addConstraint(5), (8), (9), (10) \addConstraint(11), (12), (13), (14)
Problem 1 is a nonconvex trajectory optimization problem where nonconvexities arise from the field-of-view and collision-avoidance constraints. Nonlinear programming solvers, such as IPOPT [22] and SNOPT [23], could potentially solve Problem 1 directly. However, such solvers lack time-complexity guarantees and converge to the nearest local minimum to some initial guess, complicating their real-time implementation.
V Convex Trajectory Optimization
In this section, we convexify Problem 1 by relaxing the field-of-view (11) and collision-avoidance (14) constraints.
V-A Field Of View
We start by introducing an artificial bound constraint on the position vector and lifting the dimensions of the state vector by introducing the slack variable
(15) |
Replacing the norms in (11) by and multiplying by -1 gives
(16) |
Minimizing in the objective guarantees a tight relaxation [14]. We tackle the bilinearity by first noting that
(17) | ||||
(18) |
Adding the resulting terms (Eqs. (17), (18)) respectively in both sides of Eq. (16) allows the expansion of a quadratic form
where . This can be rewritten in matrix form
(19) |
with
As and are both symmetric and positive definite (since ), we can simplify Eq. (19)
(20) |
and by taking out the square
(21) |
The eigenvalues of can be computed in closed-form and its smallest one is . Subsequently, and we can write
(22) |
Consecutive position vectors in time slightly differ in magnitude, , and can be used to approximate
which leads to
Finally, with the trigonometric relation and , we derive the relaxed convex second-order cone field-of-view constraints:
(23) |
V-B Collision Avoidance
We leverage the fast computation of Jacobians of the collision detection factor (Sec. II-B) with respect to to linearize the nonconvex collision-avoidance constraints about a reference , with the superscript denoting the iteration number. We further add a positive slack variable , relaxing the inequality and ensuring its feasibility:
(24) |
where
We penalize in the objective function with a penalty weight as a measure of constraint infeasibility. For sufficiently large values of , the objective term defines an exact penalty function [24] and can be minimized by solving a sequence of subproblems.
V-C Final Algorithm
The final algorithm is depicted in Fig. 4. With the chaser state and target trajectory prediction as input, we solve an initial convex second-order-cone program (SOCP) for with the convexified field of view constraint but without the collision-avoidance constraints (Problem 2). The near-feasible and near-optimal trajectory is then used to initialize a sequential convex subroutine solving for the corrections where the collision-avoidance constraint is added back and successively linearized along the previous solution (Eq. (24)), yielding Problem 3. We then update the current solution
(25) |
This iterative convexification and correction scheme is repeated until a strictly safe trajectory has been achieved as illustrated in Fig. 4. This choice of convergence criteria allows successful trajectories to go below the soft conservative limit .
The slack variable used in the collision-avoidance constraints ensures the feasibility of the subproblems and the exact penalty term in the objective function will succcessively eliminate any residual infeasibility. We report failure if Problem 2 is infeasible or if the SCP remains infeasible after the maximum allowable number of iterations (Problem 3), i.e. the solver has converged to a non-zero constraint violation.
While not guaranteed to converge to a feasible solution, the algorithm is an efficient heuristic and can quickly detect an infeasible problem. The collision-avoidance constraints are applied in an uncrowded space where only the chaser and target are at risk of collision. Thus, as we show in Section VI, only small corrections are required from Problem 3 when the solution to Problem 2 is in collision. This permits the omission of a trust region.
VI Numerical experiments
We evaluate our algorithm through two sets of experiments: an illustration of the corrective behavior of the SCP to satisfy the collision-avoidance constraint and an analysis of the computational and robustness properties of the algorithm for 250 pairs of sampled target initial tumble rates and chaser relative orbits. Numerical experiments were conducted on a laptop equipped with an Intel i7-1165G7 2.80GHz CPU and 16 GB of RAM using the optimization solver MOSEK [25], whose solve times are reported. All experiments were conducted using the Julia programming language. Parameters used for experiments are listed in Table I. The capture mechanism of the chaser is abstracted through the terminal position tolerance . The target’s inertia matrix is:
(26) |
Name | Symbol | Value |
---|---|---|
Semi-major axis of target’s orbit | 7.738e3 km | |
Chaser mass | 1500 kg | |
Control cost penalty | 5 | |
Slack variable penalty | 750 | |
Thrust bound | 100 N | |
Position bound | 100 m | |
Velocity bound | 1.5 m/s | |
Angular velocity bound | 0.2 rad/s | |
Terminal position tolerance | 0.35 m | |
Terminal velocity tolerance | 0.03 m/s | |
Number of docking constraints | 5 | |
Docking cone half-angle | 30∘ | |
Conservative collision factor | 1.3 | |
Chaser capture vector in | m | |
Target capture vector in | m | |
Safety ellipsoid radial minimum | 15 m | |
Safety ellipsoid radial maximum | 25 m | |
Safety ellipsoid cross-track minimum | 10 m | |
Safety ellipsoid cross-track maximum | 25 m | |
Maximum iterations | 15 | |
Timestep | 1s |
VI-A Sequential Convex Procedure Validation
We illustrate the SCP corrective behavior on a single example (Fig. 5). The algorithm slightly adjusts the tail to make it feasible. We observed experimentally the nominal maneuver to require only two burns. Fig. 6 displays the additional burns along the thrust profile required to avoid the large rotating keep-out regions defined by the convex hull of the target. Fig. 7 shows the histories; the end of the original trajectory is corrected above the collision threshold after four SCP iterations.
VI-B Convergence and Robustness Analysis
To evaluate the computational and robustness properties of our algorithm, we sampled 250 random attitudes and angular velocity vectors with initial tumble rates up to 10 and paired them with 250 random relative orbits with a distance spanning from 15m to 50m. For each sample problem, we incremented the number of timesteps from to with a fixed timestep until the algorithm reached a solution. An infeasible problem was reported if no led to a successful trajectory.
Fig. 8 shows that 93.2% (233) of sampled initial conditions were successful while only 6.8% (17) were infeasible within the bounds of the -search (). A per-iteration analysis of our algorithm showed an average runtime of 0.15 s per iteration. 8.6% of successes resulted in safe trajectories after only Problem 2, not requiring any corrective actions from the SCP and ensuring global optimality (minimum-fuel). 54.9% of sample trajectories required one SCP iteration for safety, while a cumulative 90.5% of trajectories were safe after five SCP iterations. For a single SCP iteration, the average cumulative runtime was 0.336s, for five SCP iterations it was 0.889s. Much of the fast convergence can be attributed to the near-optimal initial guess after solving Problem 2. Fig. 9 depicts the evolution of all successful trajectories, confirming their 100% safety guarantees. We observe that using as a proxy for distance, the trajectory time correlates with the distance which could be used to inform a final time search online. Note that our method applies in principle to tumble rates , as faster rates would require the chaser to violate its velocity bounds to achieve soft capture (0.2 rad/s using Table I values).
VII Discussion and Conclusions
We introduced a fast algorithm to generate safe trajectories for the on-orbit soft capture of tumbling targets with operational and safety constraints. We convexified the field-of-view constraint and employed a sequential convex programming solver to handle the time-varying collision-avoidance constraints. We demonstrated the algorithm’s computational and robustness properties for tumble rates up to 10, showcasing its fast convergence and suitability for flight software implementation. Although we decoupled the translational and attitude dynamics, our algorithm still provides feasible reference attitudes for a low-level attitude controller (as a position-dependant function). Furthermore, it quickly detects if the initial conditions are infeasible.
We observed that the infeasible cases tended to occur at both very low and very high angular rates. On the one hand, we were able to render some of these cases feasible by adjusting the discretization parameters ( and ). This suggests a need for a free-final time formulation whose naive implementation is, unfortunately, nonconvex. On the other hand, the initial solution obtained by solving Problem 2 dictates the homotopy class of solutions accessible to the SCP part of our algorithm. Given the inherent local nature of the SCP procedure, we suspect that the optimal solution, particularly in low angular velocity regimes, resides in a different homotopy class and remains unreachable with our current method.
Looking ahead, future work includes further investigation of the above limitations, i.e. developing a free-final-time formulation to expand the set of feasible solutions and addressing the homotopy class restriction imposed by our algorithm. On the safety side, plume impingement remains a concern. The plume effects define keep-out zones largely dependent on the thruster configuration used to generate the reference accelerations. Due to its similarity to the collision-avoidance constraints, a similar treatment as in this paper could be envisioned. Finally, uncertainties in the target’s estimated state and dynamics could be accounted for in a variety of ways. An open-source implementation of the algorithm, along with examples, is available at: https://github.com/RoboticExplorationLab/SoftCapture
References
- [1] W. Fehse, Automated Rendezvous and Docking of Spacecraft. Cambridge University Press, Nov. 2003.
- [2] D. C. Woffinden and D. K. Geller, “Navigating the Road to Autonomous Orbital Rendezvous,” Journal of Spacecraft and Rockets, vol. 44, no. 4, pp. 898–909, Jul. 2007, publisher: American Institute of Aeronautics and Astronautics. [Online]. Available: https://arc.aiaa.org/doi/10.2514/1.30734
- [3] NASA, “On-Orbit Satellite Servicing Study Project Report,” National Aeronautics and Space Administration, Goddard Space Flight Center, Tech. Rep., Oct. 2010.
- [4] A. Flores-Abad, L. Zhang, Z. Wei, and O. Ma, “Optimal Capture of a Tumbling Object in Orbit Using a Space Manipulator,” Journal of Intelligent & Robotic Systems, vol. 86, no. 2, pp. 199–211, May 2017. [Online]. Available: https://doi.org/10.1007/s10846-016-0417-1
- [5] J. Virgili-Llop and M. Romano, “Simultaneous Capture and Detumble of a Resident Space Object by a Free-Flying Spacecraft-Manipulator System,” Frontiers in Robotics and AI, vol. 6, 2019.
- [6] D. C. Sternberg and D. Miller, “Parameterization of Fuel-Optimal Synchronous Approach Trajectories to Tumbling Targets,” Frontiers in Robotics and AI, vol. 5, 2018. [Online]. Available: https://www.frontiersin.org/articles/10.3389/frobt.2018.00033
- [7] S. Stoneman and R. Lampariello, “A Nonlinear Optimization Method to Provide Real-Time Feasible Reference Trajectories to Approach a Tumbling Target Satellite,” Jun. 2016.
- [8] K. Albee, C. Oestreich, C. Specht, A. Terán Espinoza, J. Todd, I. Hokaj, R. Lampariello, and R. Linares, “A Robust Observation, Planning, and Control Pipeline for Autonomous Rendezvous with Tumbling Targets,” Frontiers in Robotics and AI, vol. 8, 2021. [Online]. Available: https://www.frontiersin.org/articles/10.3389/frobt.2021.641338
- [9] D. Malyuta, T. P. Reynolds, M. Szmuk, B. Acikmese, and M. Mesbahi, “Fast Trajectory Optimization via Successive Convexification for Spacecraft Rendezvous with Integer Constraints,” Jun. 2019, arXiv:1906.04857 [math]. [Online]. Available: http://arxiv.org/abs/1906.04857
- [10] Y. Kim, M. Mesbahi, G. Singh, and F. Hadaegh, “On the Convex Parameterization of Constrained Spacecraft Reorientation,” IEEE Transactions on Aerospace and Electronic Systems, vol. 46, pp. 1097–1109, Aug. 2010.
- [11] Y.-H. Wu, X.-B. Cao, Y.-J. Xing, P.-F. Zheng, and S.-J. Zhang, “Relative motion coupled control for formation flying spacecraft via convex optimization,” Aerospace Science and Technology, vol. 14, no. 6, pp. 415–428, Sep. 2010. [Online]. Available: https://www.sciencedirect.com/science/article/pii/S1270963810000477
- [12] X. Shen, S. Diamond, Y. Gu, and S. Boyd, “Disciplined convex-concave programming,” in 2016 IEEE 55th Conference on Decision and Control (CDC), Dec. 2016, pp. 1009–1014. [Online]. Available: https://ieeexplore.ieee.org/document/7798400/similar#similar
- [13] T. Reynolds and M. Mesbahi, “Small body precision landing via convex model predictive control,” in AIAA SPACE and astronautics forum and exposition, 2017, p. 5179.
- [14] B. Açıkmeşe, J. Carson, and L. Blackmore, “Lossless Convexification of Nonconvex Control Bound and Pointing Constraints in the Soft Landing Optimal Control Problem,” Control Systems Technology, IEEE Transactions on, vol. PP, pp. 1–1, Nov. 2013.
- [15] S. Boyd and L. Vandenberghe, Convex optimization. Cambridge university press, 2004.
- [16] B. E. Jackson, K. Tracy, and Z. Manchester, “Planning With Attitude,” IEEE Robotics and Automation Letters, vol. 6, no. 3, pp. 5658–5664, Jul. 2021.
- [17] K. Tracy, T. A. Howell, and Z. Manchester, “Differentiable Collision Detection for a Set of Convex Primitives,” May 2023. [Online]. Available: http://arxiv.org/abs/2207.00669
- [18] W. H. CLOHESSY and R. S. WILTSHIRE, “Terminal guidance system for satellite rendezvous,” Journal of the Aerospace Sciences, vol. 27, no. 9, pp. 653–658, 1960. [Online]. Available: https://doi.org/10.2514/8.8704
- [19] NASA, “On-Orbit Satellite Servicing Study Project Report,” National Aeronautics and Space Administration, Goddard Space Flight Center, , Oct. 2010.
- [20] I. Ross, “How to Find Minimum-Fuel Controllers,” in AIAA Guidance, Navigation, and Control Conference and Exhibit, ser. Guidance, Navigation, and Control and Co-located Conferences. American Institute of Aeronautics and Astronautics, Aug. 2004. [Online]. Available: https://arc.aiaa.org/doi/10.2514/6.2004-5346
- [21] S. L. Cleach and Z. Manchester, “Fast solution of optimal control problems with l1 cost,” in Proceedings of AAS/AIAA Astrodynamics Specialist Conference, August 2019.
- [22] A. Wächter and L. T. Biegler, “On the implementation of an interior-point filter line-search algorithm for large-scale nonlinear programming,” Mathematical Programming, vol. 106, no. 1, pp. 25–57, Mar. 2006. [Online]. Available: https://doi.org/10.1007/s10107-004-0559-y
- [23] P. E. Gill, W. Murray, and M. A. Saunders, “SNOPT: An SQP Algorithm for Large-Scale Constrained Optimization,” SIAM Journal on Optimization, vol. 12, no. 4, pp. 979–1006, Jan. 2002. [Online]. Available: https://epubs.siam.org/doi/10.1137/S1052623499350013
- [24] J. Nocedal and S. J. Wright, Numerical Optimization, 2nd ed. New York, NY, USA: Springer, 2006.
- [25] M. ApS, MOSEK Optimizer API for Julia 10.1.24, 2024. [Online]. Available: https://docs.mosek.com/latest/juliaapi/index.html