,
Xiao Peng
,
Christine Solnon
,
Anastasia Volkova
Creative Commons Attribution 4.0 International license
The Multiple Constant Multiplication (MCM) problem arises in many applications such as, for example, digital signal processing or deep neural network inference. Given a set T of target constants, the goal of MCM is to find the most efficient way for multiplying an input number with every constant in T, where multiplications are realized through bit-shifts and additions, and where intermediate results may be shared to produce different target constants. In this paper, we first introduce a basic Constraint Programming (CP) model to solve MCM. Then, we introduce symmetry breaking rules and a global constraint to ensure them. We experimentally evaluate our approach on a widely used benchmark extracted from a collection of digital filter designs. We show that the basic CP model is competitive with state-of-the-art Integer Linear Programming (ILP) and SAT models, and that the addition of our global symmetry breaking constraint allows us to clearly outperform all other existing approaches on the considered benchmark.
@InProceedings{cantaloube_et_al:LIPIcs.CP.2026.11,
author = {Cantaloube, Th\'{e}o and Peng, Xiao and Solnon, Christine and Volkova, Anastasia},
title = {{Solving the Multiple Constant Multiplication Problem with Constraint Programming}},
booktitle = {32nd International Conference on Principles and Practice of Constraint Programming (CP 2026)},
pages = {11:1--11:19},
series = {Leibniz International Proceedings in Informatics (LIPIcs)},
ISBN = {978-3-95977-432-1},
ISSN = {1868-8969},
year = {2026},
volume = {379},
editor = {Beldiceanu, Nicolas},
publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
address = {Dagstuhl, Germany},
URL = {https://drops.dagstuhl.de/entities/document/10.4230/LIPIcs.CP.2026.11},
URN = {urn:nbn:de:0030-drops-266448},
doi = {10.4230/LIPIcs.CP.2026.11},
annote = {Keywords: Constraint Programming, Multiple Constant Multiplication, Hardware Optimization}
}
archived version