| steps | Input: A, b and ; and 𝒟 is non-empty and P0 is inside 𝒟 |
| Output: OptPt & OptVal | |
| 0 | Construct the Facet Tableau from A, b and ; |
| 1 | for } |
| 2 | ; % δ is a small constant ; % is set of blocking facet |
| 3 | while (true) |
| 4 | if % compute and update = Gradient Select( ) else |
| 5 | if ; return (OptPt, OptVal) else |
| 6 | ; for ; ; |
| 7 | % update blocking facets |
| 8 | end |