graph TD A["Function f"] --> B{"Sublevel Sets\nConvex?"} B -->|Yes| C["f is\nQuasiconvex"] B -->|No| D["f is Not\nQuasiconvex"] C --> E["Every Local Min\nis Global Min"] C --> F["Bisection\nMethod Works"] style A fill:#f44336 style B fill:#2196f3 style C fill:#4caf50 style D fill:#f44336 style E fill:#9c27b0 style F fill:#ff9800
graph LR A["Domain"] --> B["Sublevel Set\nSฮฑ = {x | f(x) โค ฮฑ}"] B --> C{"Sฮฑ is\nConvex for\nall ฮฑ?"} C -->|Yes| D["f is\nQuasiconvex"] C -->|No| E["f is Not\nQuasiconvex"] style A fill:#4caf50 style B fill:#2196f3 style C fill:#ff9800 style D fill:#4caf50 style E fill:#f44336
graph TD A["Initialize\nl โค p* โค u"] --> B["t = (l + u)/2"] B --> C["Solve Feasibility\nProblem at t"] C --> D{"Feasible?"} D -->|Yes| E["u = t"] D -->|No| F["l = t"] E --> G{"u - l < ฮต?"} F --> G G -->|No| B G -->|Yes| H["Optimal\nValue โ t"] style A fill:#4caf50 style B fill:#ff9800 style C fill:#2196f3 style D fill:#f44336 style E fill:#4caf50 style F fill:#f44336 style G fill:#2196f3 style H fill:#9c27b0
graph TD A["Quasiconvex\nProblem"] --> B["Pick t\n(objective value)"] B --> C["Construct\nFeasibility Problem"] C --> D{"Convex\nFeasibility?"} D -->|Yes| E["t is\nAchievable"] D -->|No| F["t is Not\nAchievable"] E --> G["Lower t\n(tighter bound)"] F --> H["Raise t"] G --> B H --> B B --> I["Bisection\nConverges"] I --> J["Global\nOptimum"] style A fill:#f44336 style B fill:#ff9800 style C fill:#2196f3 style D fill:#f44336 style E fill:#4caf50 style F fill:#f44336 style G fill:#2196f3 style H fill:#ff9800 style I fill:#9c27b0 style J fill:#4caf50