Abstract
In recent years, algorithmic breakthroughs in stringology, computational social choice, scheduling, etc., were achieved by applying the theory of socalled nfold integer programming. An nfold integer program (IP) has a highly uniform block structured constraint matrix. Hemmecke, Onn, and Romanchuk [Math. Programming, 2013] showed an algorithm with runtime a^{O(rst + r^2s)} n^3, where a is the largest coefficient, r,s, and t are dimensions of blocks of the constraint matrix and n is the total dimension of the IP; thus, an algorithm efficient if the blocks are of small size and with small coefficients. The algorithm works by iteratively improving a feasible solution with augmenting steps, and nfold IPs have the special property that augmenting steps are guaranteed to exist in a nottoolarge neighborhood. However, this algorithm has never been implemented and evaluated.
We have implemented the algorithm and learned the following along the way. The original algorithm is practically unusable, but we discover a series of improvements which make its evaluation possible. Crucially, we observe that a certain constant in the algorithm can be treated as a tuning parameter, which yields an efficient heuristic (essentially searching in a smallerthanguaranteed neighborhood). Furthermore, the algorithm uses an overly expensive strategy to find a "best" step, while finding only an "approximatelly best" step is much cheaper, yet sufficient for quick convergence. Using this insight, we improve the asymptotic dependence on n from n^3 to n^2 log n which yields the currently asymptotically fastest algorithm for nfold IP.
Finally, we tested the behavior of the algorithm with various values of the tuning parameter and different strategies of finding improving steps. First, we show that decreasing the tuning parameter initially leads to an increased number of iterations needed for convergence and eventually to getting stuck in local optima, as expected. However, surprisingly small values of the parameter already exhibit good behavior. Second, our new strategy for finding "approximatelly best" steps wildly outperforms the original construction.
BibTeX  Entry
@InProceedings{altmanov_et_al:LIPIcs:2018:8945,
author = {Katerina Altmanov{\'a} and Dusan Knop and Martin Kouteck{\'y}},
title = {{Evaluating and Tuning nfold Integer Programming}},
booktitle = {17th International Symposium on Experimental Algorithms (SEA 2018)},
pages = {10:110:14},
series = {Leibniz International Proceedings in Informatics (LIPIcs)},
ISBN = {9783959770705},
ISSN = {18688969},
year = {2018},
volume = {103},
editor = {Gianlorenzo D'Angelo},
publisher = {Schloss DagstuhlLeibnizZentrum fuer Informatik},
address = {Dagstuhl, Germany},
URL = {http://drops.dagstuhl.de/opus/volltexte/2018/8945},
URN = {urn:nbn:de:0030drops89454},
doi = {10.4230/LIPIcs.SEA.2018.10},
annote = {Keywords: nfold integer programming, integer programming, analysis of algorithms, primal heuristic, local search}
}
Keywords: 

nfold integer programming, integer programming, analysis of algorithms, primal heuristic, local search 
Collection: 

17th International Symposium on Experimental Algorithms (SEA 2018) 
Issue Date: 

2018 
Date of publication: 

19.06.2018 
Supplementary Material: 

https://github.com/katealtmanova/nfoldexperiment 