  We introduce a quantum algorithm that produces approximate solutions for
combinatorial optimization problems. The algorithm depends on a positive
integer p and the quality of the approximation improves as p is increased. The
quantum circuit that implements the algorithm consists of unitary gates whose
locality is at most the locality of the objective function whose optimum is
sought. The depth of the circuit grows linearly with p times (at worst) the
number of constraints. If p is fixed, that is, independent of the input size,
the algorithm makes use of efficient classical preprocessing. If p grows with
the input size a different strategy is proposed. We study the algorithm as
applied to MaxCut on regular graphs and analyze its performance on 2-regular
and 3-regular graphs for fixed p. For p = 1, on 3-regular graphs the quantum
algorithm always finds a cut that is at least 0.6924 times the size of the
optimal cut.
