SHDQP: An algorithm for convex set intersection problems based on supporting hyperplanes and dual quadratic programming