  There is an existing exact algorithm that solves DC programming problems if
one component of the DC function is polyhedral convex (Loehne, Wagner, 2017).
Motivated by this, first, we consider two cutting-plane algorithms for
generating an $\epsilon$-polyhedral underestimator of a convex function g. The
algorithms start with a polyhedral underestimator of g and the epigraph of the
current underestimator is intersected with either a single halfspace (Algorithm
1) or with possibly multiple halfspaces (Algorithm 2) in each iteration to
obtain a better approximation. We prove the correctness and finiteness of both
algorithms, establish the convergence rate of Algorithm 1, and show that after
obtaining an $\epsilon$-polyhedral underestimator of the first component of a
DC function, the algorithm from (Loehne, Wagner, 2017) can be applied to
compute an $\epsilon$ solution of the DC programming problem without further
computational effort. We then propose an algorithm (Algorithm 3) for solving DC
programming problems by iteratively generating a (not necessarily $\epsilon$-)
polyhedral underestimator of g. We prove that Algorithm 3 stops after finitely
many iterations and it returns an $\epsilon$-solution to the DC programming
problem. Moreover, the sequence $\{x_k\}_{k\geq 0} outputted by Algorithm 3
converges to a global minimizer of the DC problem when $\epsilon$ is set to
zero. Computational results based on some test instances from the literature
are provided.
