It is a well-known fact that for every polynomial-time algorithm which
gives an upper bound V(K)BAR and a lower bound V(K)underbar for the v
olume of a convex set K subset-of E(d) given by an oracle, the ratio V
(K)BAR/V(K)underbar is at least (cd/log d)d. Here we describe an algor
ithm which gives, for epsilon > 0, in polynomial time, an upper and lo
wer bound with the property V(K)BAR/V(K)underbar less-than-or-equal-to
d! (1 + epsilon)d.