Mixed Algorithm

The mixed algorithm is the recursive algorithm, with it's recursive call replaced by a call to the iterative algorithm. It has an expected runtime of O(d2n) + (d2log n)O(d)d/2 + O(1) + O(d4n1/2log n), for more info on this see run time analysis. For more info on the two algorithms used in the mixed algorithm see:
The recursive algorithm and The iterative algorithm
function xm*(S : set_of_halfspaces)
  V* = {} // the empty set
  Cd = 9d2
  if n <= Cd then return SimplexMethod(S)
  repeat
    choose R subset of S \ V* at random, |R| = dn1/2
    x* = xi*(R union V*)
    V = {H exits in S | x* violates halfspace H}
    if |V| <= 2n1/2 then V* = V* union V
  until V = {}
  return x*
function xi*(S : set_of_halfspaces)
  for H exits in S do wH = 1 od;
  Cd = 9d2
  if n <= Cd then return SimplexMethod(S)
  repeat
    choose R subset of S at random, |R| = Cd
    x* = SimplexMethod(R)
    V = {H exits in S | x* violates halfspace H}
    if w(V) <= 2w(S)/(9d - 1)
	then for H in V do wH = 2wH od
  until V = {}
  return x*