  Channel coding aims to minimize errors that occur during the transmission of
digital information from one place to another. Low-density parity-check (LDPC)
codes can detect and correct transmission errors if one encodes the original
information by adding redundant bits. In practice, heuristic iterative decoding
algorithms are used to decode the received vector. However, these algorithms
may fail to decode if the received vector contains multiple errors. We consider
decoding the received vector with minimum error as an integer programming
problem and propose a branch-and-price method for its solution. We improve the
performance of our method by introducing heuristic feasible solutions and
adding valid cuts to the mathematical formulation. Computational results reveal
that our branch-price-and-cut algorithm significantly improves solvability of
the problem compared to a commercial solver in high channel error rates. Our
proposed algorithm can find higher quality solutions than commonly used
iterative decoding heuristics.
