graph TD A[Initial Ellipsoid] --> B[Query Oracle at xc] B --> C{Cut feedback?} C -->|Feasible| D[Solution Found] C -->|Cut provided| E[Update Ellipsoid] E --> F{Space > tol?} F -->|Yes| B F -->|No| G[No Solution] style A fill:#fff3e0,stroke:#e65100,stroke-width:3px style B fill:#e3f2fd,stroke:#1565c0,stroke-width:3px style C fill:#ffcdd2,stroke:#c62828,stroke-width:3px style D fill:#c8e6c9,stroke:#2e7d32,stroke-width:3px style E fill:#f3e5f5,stroke:#7b1fa2,stroke-width:3px style F fill:#ffcdd2,stroke:#c62828,stroke-width:3px style G fill:#ffcdd2,stroke:#c62828,stroke-width:3px
graph TD A[Start] --> B[Get center xc] B --> C[Assess feasibility at xc] C --> D{Feasible?} D -->|Yes| E[Return solution] D -->|No| F[Get cutting plane] F --> G[Update search space] G --> H{Space shrinking?} H -->|Yes| B H -->|No| I[Terminate: no solution] style A fill:#fff3e0,stroke:#e65100,stroke-width:3px style B fill:#e3f2fd,stroke:#1565c0,stroke-width:3px style C fill:#c8e6c9,stroke:#2e7d32,stroke-width:3px style D fill:#ffcdd2,stroke:#c62828,stroke-width:3px style E fill:#c8e6c9,stroke:#2e7d32,stroke-width:3px style F fill:#f3e5f5,stroke:#7b1fa2,stroke-width:3px style G fill:#e3f2fd,stroke:#1565c0,stroke-width:3px style H fill:#ffcdd2,stroke:#c62828,stroke-width:3px style I fill:#ffcdd2,stroke:#c62828,stroke-width:3px
graph LR subgraph Algorithm A1[cutting_plane_feas] A2[cutting_plane_optim] A3[bsearch] end subgraph SearchSpace S1[Ell class] S2[update_bias_cut] S3[update_central_cut] end subgraph Oracle O1[OracleFeas] O2[OracleOptim] O3[OracleOptimQ] end A1 --> S1 A1 --> O1 A2 --> S1 A2 --> O2 A3 --> O1 style A1 fill:#fff3e0,stroke:#e65100,stroke-width:3px style A2 fill:#fff3e0,stroke:#e65100,stroke-width:3px style A3 fill:#fff3e0,stroke:#e65100,stroke-width:3px style S1 fill:#e3f2fd,stroke:#1565c0,stroke-width:3px style S2 fill:#e3f2fd,stroke:#1565c0,stroke-width:3px style S3 fill:#e3f2fd,stroke:#1565c0,stroke-width:3px style O1 fill:#c8e6c9,stroke:#2e7d32,stroke-width:3px style O2 fill:#c8e6c9,stroke:#2e7d32,stroke-width:3px style O3 fill:#c8e6c9,stroke:#2e7d32,stroke-width:3px