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*