Low-Dimensional Linear Programming
Presentation by: Marc Lebovitz
Seidel's Algorithm
return opt
Seidel (constraints H, objective
function c, dimension d) {
if (|H| ==
d) return intersection of constraints
// recurse
with one less constraint
if (|H| >
d) opt = Seidel (H - H*, c, d)
if (pt is
in positive halfspace of H*) return opt
else
// pt is in - halfspace of H*
for each halfspace Hi != H*
project Hi onto H* -> Hi'
project c onto H* -> c'
// recurse to lower dimension
return Seidel (H', c', d-1)
Here's a look at it in 2D: