Scheduling two types of jobs with minimum makespan
Song Cao, Kai Jin
TL;DR
The paper addresses minimizing the makespan for scheduling two job types on $p$ parallel machines with batching where batch times scale quadratically with batch size and incur per-batch overheads. It develops an exact algorithm with running time $O(n^2 p \log(n))$ based on dynamic programming and binary search, and extends to the linear-batch-time variant with the same complexity. A key theoretical contribution is proving that for a fixed number of A-jobs $a$, the feasible number of B-jobs $b$ forms an interval, aided by convexity of per-batch costs, enabling efficient interval DP. The resulting multiprocessor algorithm computes feasibility by aggregating per-machine intervals into DP intervals $dp(v,a)$, yielding an exact solution with practical complexity for the two-type batching problem.
Abstract
We consider scheduling two types of jobs (A-job and B-job) to $p$ machines and minimizing their makespan. A group of same type of jobs processed consecutively by a machine is called a batch. For machine $v$, processing $x$ A-jobs in a batch takes $k^A_vx^2$ time units for a given speed $k^A_v$, and processing $x$ B-jobs in a batch takes $k^B_vx^2$ time units for a given speed $k^B_v$. We give an $O(n^2p\log(n))$ algorithm based on dynamic programming and binary search for solving this problem, where $n$ denotes the maximal number of A-jobs and B-jobs to be distributed to the machines. Our algorithm also fits the easier linear case where each batch of length $x$ of $A$-jobs takes $k^A_v x$ time units and each batch of length $x$ of $B$-jobs takes $k^B_vx$ time units. The running time is the same as the above case.
