graph LR A["Non-convex\nProblem"] --> B["Convex\nRelaxation"] B --> C["Solve Convex\nRelaxed Problem"] C --> D["Round or\nProject Back"] D --> E["Feasible\nSolution"] style A fill:#ffcdd2,stroke:#c62828,stroke-width:3px,color:#2e3440 style B fill:#fff3e0,stroke:#e65100,stroke-width:3px,color:#2e3440 style C fill:#c8e6c9,stroke:#2e7d32,stroke-width:3px,color:#2e3440 style D fill:#e3f2fd,stroke:#1565c0,stroke-width:3px,color:#2e3440 style E fill:#f3e5f5,stroke:#7b1fa2,stroke-width:3px,color:#2e3440
graph TD A["Original Variable\nx (non-convex)"] --> B["Transformation\ny = g(x)"] B --> C["New Variable\ny (convex)"] C --> D["Solve in\ny-space"] D --> E["Inverse\nx = g^{-1}(y)"] E --> F["Optimal\nSolution x*"] style A fill:#ffcdd2,stroke:#c62828,stroke-width:3px,color:#2e3440 style B fill:#fff3e0,stroke:#e65100,stroke-width:3px,color:#2e3440 style C fill:#c8e6c9,stroke:#2e7d32,stroke-width:3px,color:#2e3440 style D fill:#e3f2fd,stroke:#1565c0,stroke-width:3px,color:#2e3440 style E fill:#f3e5f5,stroke:#7b1fa2,stroke-width:3px,color:#2e3440 style F fill:#c8e6c9,stroke:#2e7d32,stroke-width:3px,color:#2e3440
graph LR A["Non-convex\nFunction f"] --> B["Decompose\nf = g - h"] B --> C["g is convex\nh is convex"] C --> D["Iteratively\nLinearize h"] D --> E["Solve Convex\nSubproblem"] E --> F["Update\nSolution"] F -.-> D style A fill:#ffcdd2,stroke:#c62828,stroke-width:3px,color:#2e3440 style B fill:#fff3e0,stroke:#e65100,stroke-width:3px,color:#2e3440 style C fill:#c8e6c9,stroke:#2e7d32,stroke-width:3px,color:#2e3440 style D fill:#e3f2fd,stroke:#1565c0,stroke-width:3px,color:#2e3440 style E fill:#f3e5f5,stroke:#7b1fa2,stroke-width:3px,color:#2e3440 style F fill:#c8e6c9,stroke:#2e7d32,stroke-width:3px,color:#2e3440
graph TD A["QCQP\nProblem"] --> B["Lift to\nMatrix Space"] B --> C["Drop Rank-1\nConstraint"] C --> D["SDP\nProblem"] D --> E["Extract\nSolution via SVD"] style A fill:#ffcdd2,stroke:#c62828,stroke-width:3px,color:#2e3440 style B fill:#fff3e0,stroke:#e65100,stroke-width:3px,color:#2e3440 style C fill:#e3f2fd,stroke:#1565c0,stroke-width:3px,color:#2e3440 style D fill:#c8e6c9,stroke:#2e7d32,stroke-width:3px,color:#2e3440 style E fill:#f3e5f5,stroke:#7b1fa2,stroke-width:3px,color:#2e3440