Table of Contents
Fetching ...

Genetic-based Constraint Programming for Resource Constrained Job Scheduling

Su Nguyen, Dhananjay Thiruvady, Yuan Sun, Mengjie Zhang

TL;DR

Resource-constrained job scheduling (RCJS) is a challenging combinatorial problem where traditional solvers struggle to scale, particularly under shared renewable resources. The authors introduce genetic programming to automatically evolve CP variable selectors that guide the CP solver's variable ordering, using an expression-tree representation and a fitness function based on solution quality within time limits. Empirical results on two RCJS benchmarks show that evolved selectors outperform the default CP settings, GP baselines, and some specialised optimisers, especially on larger problems, while maintaining practical runtimes. This approach offers a scalable, problem-agnostic way to enhance CP for RCJS and potentially other CP-formulatable scheduling problems, with avenues for handling uncertainty and broader transfer.

Abstract

Resource constrained job scheduling is a hard combinatorial optimisation problem that originates in the mining industry. Off-the-shelf solvers cannot solve this problem satisfactorily in reasonable timeframes, while other solution methods such as many evolutionary computation methods and matheuristics cannot guarantee optimality and require low-level customisation and specialised heuristics to be effective. This paper addresses this gap by proposing a genetic programming algorithm to discover efficient search strategies of constraint programming for resource-constrained job scheduling. In the proposed algorithm, evolved programs represent variable selectors to be used in the search process of constraint programming, and their fitness is determined by the quality of solutions obtained for training instances. The novelties of this algorithm are (1) a new representation of variable selectors, (2) a new fitness evaluation scheme, and (3) a pre-selection mechanism. Tests with a large set of random and benchmark instances, the evolved variable selectors can significantly improve the efficiency of constraining programming. Compared to highly customised metaheuristics and hybrid algorithms, evolved variable selectors can help constraint programming identify quality solutions faster and proving optimality is possible if sufficiently large run-times are allowed. The evolved variable selectors are especially helpful when solving instances with large numbers of machines.

Genetic-based Constraint Programming for Resource Constrained Job Scheduling

TL;DR

Resource-constrained job scheduling (RCJS) is a challenging combinatorial problem where traditional solvers struggle to scale, particularly under shared renewable resources. The authors introduce genetic programming to automatically evolve CP variable selectors that guide the CP solver's variable ordering, using an expression-tree representation and a fitness function based on solution quality within time limits. Empirical results on two RCJS benchmarks show that evolved selectors outperform the default CP settings, GP baselines, and some specialised optimisers, especially on larger problems, while maintaining practical runtimes. This approach offers a scalable, problem-agnostic way to enhance CP for RCJS and potentially other CP-formulatable scheduling problems, with avenues for handling uncertainty and broader transfer.

Abstract

Resource constrained job scheduling is a hard combinatorial optimisation problem that originates in the mining industry. Off-the-shelf solvers cannot solve this problem satisfactorily in reasonable timeframes, while other solution methods such as many evolutionary computation methods and matheuristics cannot guarantee optimality and require low-level customisation and specialised heuristics to be effective. This paper addresses this gap by proposing a genetic programming algorithm to discover efficient search strategies of constraint programming for resource-constrained job scheduling. In the proposed algorithm, evolved programs represent variable selectors to be used in the search process of constraint programming, and their fitness is determined by the quality of solutions obtained for training instances. The novelties of this algorithm are (1) a new representation of variable selectors, (2) a new fitness evaluation scheme, and (3) a pre-selection mechanism. Tests with a large set of random and benchmark instances, the evolved variable selectors can significantly improve the efficiency of constraining programming. Compared to highly customised metaheuristics and hybrid algorithms, evolved variable selectors can help constraint programming identify quality solutions faster and proving optimality is possible if sufficiently large run-times are allowed. The evolved variable selectors are especially helpful when solving instances with large numbers of machines.
Paper Structure (21 sections, 3 equations, 6 figures, 2 tables, 1 algorithm)

This paper contains 21 sections, 3 equations, 6 figures, 2 tables, 1 algorithm.

Figures (6)

  • Figure 1: An overview of our proposed GCP algorithm.
  • Figure 2: Representation of variable selector.
  • Figure 3: The comparison between our proposed GCP and the default setting of Google OR-Tools (se-rcjs dataset).
  • Figure 4: The comparison between GCP and GP algorithms.
  • Figure 5: A comparison of GCP and other specialised optimisation algorithms.
  • ...and 1 more figures