Abstract:In this article, we define a scheduling/packing problem called the Job Splitting Problem, motivated by the practices in the printing industry. There are n types of items to be produced on an m-slot machine. A particular assignment of the types to the slots is called a "run" configuration and requires a setup cost. Once a run begins, the production continues according to that configuration and the "length" of the run represents the quantity produced in each slot during that run. For each unit of production in excess of demand, there is a waste cost. Our goal is to construct a production plan, i.e., a set of runs, such that the total setup and waste cost is minimized. We show that the problem is strongly NP-hard and propose two integer programming formulations, several preprocessing steps, and two heuristics. We also provide a worst-case bound for one of the heuristics. Extensive tests on real-world and randomly generated instances show that the heuristics are both fast and effective, finding near-optimal solutions.