In this work a novel approach to the multiple constant multiplication problem, i.e., finding a realization of a number of constant multiplications by using shift and addition with a minimum number of additions, is presented. By using a directed hypergraph, the problem comes down to finding a Steiner hypertree in the graph. The proposed formulation can guarantee an optimal solution, given that an optimal Steiner hypertree is found. However, finding a Steiner tree in a hypergraph is an NP-hard problem. Therefore, we present algorithms for different partial problems and discuss how they can be used to solve the whole problem. An integer linear programming model is used to solve the Steiner hypertree problem. The model can also include additional constraints such as adder depth and fan-out.