CDQAC

Transactions on Machine Learning Research (TMLR), 2026

Generalizing Beyond Suboptimality: Offline Reinforcement Learning Learns Effective Scheduling through Random Solutions

Jesse van Remmerden, Zaharah Bukhsh and Yingqian Zhang Eindhoven University of Technology (TU/e), the Netherlands

Overview of CDQAC in three panels: offline data generation, where dispatching rules, a genetic algorithm and a random heuristic solve JSP and FJSP instances into a static dataset; offline training of a dueling quantile critic with a CQL penalty and an actor updated every eta critic steps; and schedule construction, where the trained policy selects feasible machine-operation pairs to build a solution.
CDQAC in three stages. (1) Dispatching rules (PDR), a genetic algorithm (GA) or random dispatching solve JSP and FJSP instances, and their solutions form a static dataset. (2) CDQAC trains a dueling quantile critic with a CQL penalty on batches from that dataset and updates the actor only every η critic steps. (3) The trained policy builds a schedule by choosing feasible machine–operation pairs one at a time. Open the figure at full size.

CDQAC (Conservative Discrete Quantile Actor-Critic) is an offline reinforcement learning (offline RL) method for the job shop scheduling problem (JSP) and the flexible job shop scheduling problem (FJSP). It learns a dispatching policy from a fixed dataset of existing schedules, without interacting with a simulator during training, and it learns best when those schedules were made by picking actions at random.

Trained only on random solutions, CDQAC reaches an average gap of 10.7% with greedy decoding and 5.9% with sampling on the FJSP evaluation sets. That is better than when it is trained on dispatching-rule or genetic-algorithm data, and better than every other offline method tested. It needs only 10 to 25 training instances.

Abstract

Online reinforcement learning (RL) approaches have demonstrated strong performance on Job Shop Scheduling (JSP) and Flexible JSP (FJSP) problems by learning scheduling policies through direct interaction with simulated environments. However, these methods often require extensive training interactions, limiting their sample efficiency and practical applicability. Motivated by this challenge, we introduce Conservative Discrete Quantile Actor-Critic (CDQAC), an offline RL algorithm that learns effective scheduling policies directly from static, suboptimal datasets. CDQAC couples a quantile-based critic with delayed policy updates to estimate the return distribution of machine–operation pairs. Extensive experiments on JSP and FJSP benchmarks demonstrate that CDQAC consistently outperforms the data-generating heuristics, surpasses state-of-the-art offline and online RL baselines, and is highly sample efficient, requiring only 1 to 5% of the original dataset to learn high-quality policies. Our analysis suggests that, in scheduling, offline RL performance is governed mainly by state–action coverage rather than the quality of individual trajectories. Scheduling couples a dense reward aligned with the makespan objective with equal-length trajectories across heuristics, enabling effective learning from a broad range of behaviors. Consistent with this observation, datasets generated by a simple random heuristic with broader coverage let it outperform policies trained on datasets produced by stronger heuristics such as Genetic Algorithms.

Offline RL for scheduling, without a simulator or expert data

Online reinforcement learning methods for job shop scheduling, such as L2D and DANIEL, learn by interacting with a simulated shop floor, often for millions of steps. That is slow, and a simulator rarely captures every detail of a real factory.

Offline RL learns from a fixed dataset instead, for example the schedules a plant has already run. Because it learns what each decision is worth rather than copying the decisions it sees, it can end up better than the data it was trained on. Our earlier method, Offline-LD, showed that this works for JSP, but it relied on near-optimal solutions from a constraint programming solver, which are expensive to produce and intractable for large instances. CDQAC drops that requirement: it learns strong policies for both JSP and FJSP from suboptimal data, down to schedules made at random.

How CDQAC works

CDQAC builds a schedule one decision at a time. At every step it looks at the partial schedule and picks a machine–operation pair: which operation runs next, and on which machine. The reward for a step is the negative increase in the partial makespan, so the rewards of a finished schedule add up to exactly minus its makespan.

Conservative Q-learning keeps unseen actions in check

An offline agent never sees what happens after actions that are missing from its dataset, so a naive critic can overestimate them and the policy will chase those errors. CDQAC adds a Conservative Q-Learning (CQL) penalty that pushes down the value of pairs outside the data.

Four panels showing how an offline critic overestimates an action missing from the data: after training on machines M1 and M2, the learned return favors the unseen machine M3, the real return shows that M3 is the worst choice, and with CQL M3 is no longer overestimated.
Why an offline critic needs CQL. The dataset only pairs operation Oi,j with machine M1 (reward −3) and M2 (reward −5). Without CQL, the critic Zθ learns that the unseen pair with M3 is best, while its real return Zπ is the worst. With CQL, pairs outside the data are no longer valued above the pairs in it. Open the figure at full size.

A quantile critic for every machine–operation pair

A Dual Attention Network (DAN) encoder, adapted from DANIEL, embeds the operations and machines. On top of it, the critic predicts a distribution over returns, as a set of quantiles in the style of QR-DQN, for each candidate pair instead of a single value. It uses a dueling design with separate inputs: the value stream sees a global embedding of the schedule, and the advantage stream sees the operation, machine and pair embeddings. That split suits scheduling, where the number of candidate pairs changes at every step.

CDQAC network architecture: operation and machine features pass through the operation and machine attention blocks of the Dual Attention Network; the resulting embeddings are pooled and concatenated with machine-operation pair features and fed to the dueling quantile network, whose value and advantage networks combine into the return distribution Z-theta.
The CDQAC network. Left: the Dual Attention Network (DAN) encodes operations and machines. Right: the dueling quantile network combines a value stream Vθ, fed with the pooled embeddings, and an advantage stream Aθ, fed with the operation, machine and pair embeddings, into the return distribution Zθ. Open the figure at full size.

Delayed policy updates

The actor, which is the scheduling policy itself, is updated only once every η critic updates. This stops errors in the bootstrapped critic from compounding into the policy. In the ablation study this is the component that matters most, and it matters more on larger instances with larger action spaces.

Why random data works: coverage beats quality

On standard offline RL benchmarks, expert data beats random data. In scheduling we found the opposite, and traced it to two structural properties:

  • A dense reward aligned with the objective. Every decision receives a reward that is a calibrated share of the final makespan, so even a bad schedule tells the critic what each of its steps cost.
  • Equal-length trajectories. Every heuristic, good or bad, makes exactly one decision per operation, so all trajectories for an instance have the same length and none is favored for being shorter.

With both properties in place, what limits offline RL is state–action coverage: how many different situations and decisions the data contains. A random policy maximizes coverage by construction.

State–action coverage of each training dataset, relative to the dispatching-rule dataset

Random7.70×
PDR + GA3.96×
GA2.96×
PDR1.00×
State–action coverage (SACo) counts the unique state–action pairs in a dataset. The random dataset contains 7.7 times as many as the priority dispatching rule (PDR) dataset, far more than the genetic algorithm (GA) dataset.

The paper tests this explanation directly. Breaking either property, by cutting episodes short or by switching to a sparse or proxy reward, hurts the random dataset the most.

Results on job shop and flexible job shop benchmarks

Flexible job shop (FJSP): the weakest data gives the best policy

We trained CDQAC and five other offline methods (behavior cloning, IQL, TD3-AWR and two Offline-LD variants) on four datasets, each produced by a different heuristic: priority dispatching rules (PDR), a genetic algorithm (GA), both combined, or uniformly random decisions. Averaged over all FJSP evaluation sets, CDQAC beats every other method on every dataset, and its best result comes from the random data, even though the random heuristic itself is by far the weakest.

Average gap on the FJSP evaluation sets, by training dataset

  • Data-generating heuristic (best)
  • CDQAC, greedy
  • CDQAC, sampling
Random
28.2% 10.7% 5.9%
PDR
GA
PDR + GA
Average gap (%) on the FJSP evaluation sets by training dataset
Training dataHeuristic (best)CDQAC, greedyCDQAC, samplingBest other, greedy
Random28.1610.685.8614.72 (TD3-AWR)
PDR14.1312.346.5718.63 (TD3-AWR)
GA6.7413.066.4313.91 (BC)
PDR + GA6.7411.315.8715.29 (TD3-AWR)
Average gap (%) to the optimal or best-known makespan over all FJSP evaluation sets; lower is better. Heuristic (best) is the best performance of the heuristics that produced each dataset; best other is the strongest of the other offline methods. Greedy decoding takes the highest-valued pair at every step; sampling keeps the best of 100 sampled schedules.

Against online reinforcement learning

CDQAC trained on random data also surpasses the state-of-the-art online RL baselines on the FJSP and JSP benchmarks, including DANIEL, the online method whose encoder it builds on. On the Taillard JSP benchmark:

Mean gap (%) on the Taillard job shop benchmark
MethodTypeGreedySampling
MWRdispatching rule19.4–
MORdispatching rule19.9–
L2Donline RL27.3–
Offline-LDoffline RL25.6–
DANIELonline RL18.214.4
Residualonline RL17.014.6
CDQAC (random data)offline RL15.211.7

Mean gap (%) on the Taillard benchmark, lower is better. For reference, exact MIP and CP solvers with a 30-minute limit per instance reach 8.4% and 2.0%. CDQAC was trained on the random 10×5 dataset. The paper also compares further JSP-specific methods.

What each component contributes

Removing the delayed policy update hurts most: the gap grows by 54.3% on average, and by 112.8% when training on 20×10 instances. The dueling architecture shows the same pattern at a smaller scale (8.9% on average, 16.7% on 20×10), while removing the quantile critic or the CQL penalty costs 4.2% and 2.5% on average.

Bar chart of the average relative increase in gap when one CDQAC component is removed, for training sizes 10x5, 15x10 and 20x10: without CQL 1.9%, 4.9% and 0.7% (average 2.5%); without the quantile critic 2.9%, 5.1% and 4.7% (average 4.2%); without the dueling architecture 4.3%, 5.8% and 16.7% (average 8.9%); without delayed policy updates 11.7%, 38.5% and 112.8% (average 54.3%).
Average increase in gap, Δ(%), when one component of CDQAC is removed, for each training size; lower is better. Open the figure at full size.

Sample efficiency

CDQAC reaches competitive performance with 10 to 25 training instances, typically 1 to 5% of the data that online RL baselines train on. Dataset size barely matters: from 5 to 500 random training instances, the gap on the Brandimarte and Hurink FJSP benchmarks stays around 6% with sampling and moves by at most about one and a half percentage points with greedy decoding.

Grouped bar chart of the gap on the Brandimarte and Hurink FJSP benchmarks for 5, 25, 50, 125, 250, 375 and 500 training instances of the random dataset, for training sizes 10x5, 15x10 and 20x10: with greedy decoding the gap stays between about 10% and 13%, and with sampling around 6%, at every dataset size.
Gap on the Brandimarte and Hurink FJSP benchmarks when CDQAC is trained on 5 to 500 instances of the random dataset, for three training sizes, with greedy decoding and sampling. Open the figure at full size.

Code, datasets and pretrained checkpoints

Everything needed to reproduce the paper is public. The code on GitHub (MIT license) trains CDQAC and the offline baselines (behavior cloning, IQL, TD3-AWR and both Offline-LD variants) from a single entry point. The datasets and checkpoints on Hugging Face hold the JSP and FJSP training data from every heuristic (dispatching rules, genetic algorithm, random and ε-greedy dispatching rules), the evaluation instances, and pretrained policies.

git clone https://github.com/jesserem/CDQAC_scheduling
cd CDQAC_scheduling
pip install -r requirements.txt
python download_datasets.py eval checkpoints

# Evaluate a pretrained CDQAC policy (trained on random FJSP data, 10×5)
python eval_model.py checkpoints/fjsp/cdqac/cdqac_random_10_5.pt --eval_folder ./data/SD1/10x5

Frequently asked questions

What is offline reinforcement learning for scheduling?

It trains a scheduling policy from a fixed dataset of past decisions instead of from trial and error in a simulator. The dataset can be historical schedules or solutions from existing heuristics. Unlike imitation learning, offline RL learns how valuable each decision is, so the policy can outperform the schedules it learned from.

Can offline RL learn from random or suboptimal schedules?

Yes. Trained on uniformly random solutions, CDQAC reaches a 5.9% average gap on the FJSP evaluation sets with sampling, its best result across the four training datasets, ahead of data from a genetic algorithm.

Why does random data beat genetic-algorithm data here?

Scheduling has a dense reward tied to the makespan and trajectories of equal length, so coverage, not quality, is the bottleneck. Random solutions contain 7.7 times as many unique state–action pairs as dispatching-rule solutions, against 2.96 times for the genetic algorithm, which gives the critic more to learn from.

How much training data does CDQAC need?

Competitive performance takes 10 to 25 training instances, typically 1 to 5% of the data online RL methods train on.

Does CDQAC need a simulator or expert solutions?

Not for training. It learns from a static dataset and does not need solutions from an exact solver. In the paper the datasets come from simple heuristics; in practice they could come from historical schedules.

How does CDQAC compare with online RL methods such as DANIEL or L2D?

Trained only on random data, CDQAC surpasses the online RL baselines in the paper. On the Taillard JSP benchmark its mean gap is 15.2% with greedy decoding, against 18.2% for DANIEL and 27.3% for L2D.

How is CDQAC different from Offline-LD?

Offline-LD (Machine Learning, 2025) was the first end-to-end offline RL method for JSP and learned from high-quality solutions produced by a constraint programming solver. CDQAC learns from low-quality data, handles both JSP and FJSP, and combines a quantile critic with a separate actor, a dueling design and delayed policy updates.

What are the limitations?

Training directly on large FJSP instances (20×10) becomes unstable as the action space grows. Policies trained on small instances generalize well to larger ones, and factorizing the action space into separate operation and machine choices is a promising way to scale further.

Cite this paper

@article{remmerden2026generalizing,
    title={Generalizing Beyond Suboptimality: Offline Reinforcement Learning Learns Effective Scheduling through Random Solutions},
    author={Jesse van Remmerden and Zaharah Bukhsh and Yingqian Zhang},
    journal={Transactions on Machine Learning Research},
    issn={2835-8856},
    year={2026},
    url={https://openreview.net/forum?id=4vVhm4817Q}
}

Earlier arXiv versions of this paper were titled “Generalizing Beyond Suboptimality: Offline Reinforcement Learning Learns Effective Scheduling through Random Data”.