Finding Total Unimodularity in Optimization Problems Solved by Linear Programs

A popular approach in combinatorial optimization is to model problems as integer linear programs. Ideally, the relaxed linear program would have only integer solutions, which happens for instance when the constraint matrix is totally unimodular. Still, sometimes it is possible to build an integer solution with same cost from the fractional solution. Examples are two scheduling problems [4,5] and the single disk prefetching/caching problem [3]. We show that problems such as the three previously mentioned can be separated into two subproblems: (1) finding an optimal feasible set of slots, and (2) assigning the jobs or pages to the slots. It is straigthforward to show that the latter can be solved greedily. We are able to solve the former with a totally unimodular linear program, from which we obtain simple combinatorial algorithms with improved worst case running time.

[1]  Anna R. Karlin,et al.  Implementation and performance of integrated application-controlled file caching, prefetching, and disk scheduling , 1996, TOCS.

[2]  Philippe Baptiste,et al.  A Note on Scheduling Tall/Small Multiprocessor Tasks with Unit Processing Time to Minimize Maximum Tardiness , 2003, J. Sched..

[3]  P. Hall On Representatives of Subsets , 1935 .

[4]  Robert E. Tarjan,et al.  Scheduling Unit-Time Tasks with Arbitrary Release Times and Deadlines , 1981, SIAM J. Comput..

[5]  Manfred K. Warmuth,et al.  A Fast Algorithm for Multiprocessor Scheduling of Unit-Length Jobs , 1989, SIAM J. Comput..

[6]  Susanne Albers,et al.  Minimizing stall time in single and parallel disk systems , 2000, J. ACM.

[7]  Éva Tardos,et al.  A Strongly Polynomial Algorithm to Solve Combinatorial Linear Programs , 1986, Oper. Res..

[8]  Jan van Leeuwen,et al.  Handbook of Theoretical Computer Science, Vol. A: Algorithms and Complexity , 1994 .

[9]  Susanne Albers,et al.  Integrated prefetching and caching in single and parallel disk systems , 2005, Inf. Comput..

[10]  Ravindra K. Ahuja,et al.  Network Flows: Theory, Algorithms, and Applications , 1993 .

[11]  J. Van Leeuwen,et al.  Handbook of theoretical computer science - Part A: Algorithms and complexity; Part B: Formal models and semantics , 1990 .

[12]  Peter Brucker,et al.  Scheduling Algorithms , 1995 .

[13]  Barbara B. Simons,et al.  A fast algorithm for single processor scheduling , 1978, 19th Annual Symposium on Foundations of Computer Science (sfcs 1978).

[14]  James B. Orlin A Faster Strongly Polynomial Minimum Cost Flow Algorithm , 1993, Oper. Res..

[15]  Greg N. Frederickson,et al.  Scheduling Unit-Time Tasks With Integer Release Times and Deadlines , 1983, Inf. Process. Lett..