Docs
  • Solver
  • Models
    • Field Service Routing
    • Employee Shift Scheduling
  • Platform
Try models
  • Edit this Page
  • 0.8.x
    • latest
    • 0.8.x

Timefold Solver 0.8.42

    • Timefold introduction
    • Quickstart
      • Overview
      • Hello world Java quick start
      • Quarkus Java quick start
      • Spring Boot Java quick start
    • Use cases and examples
    • Timefold configuration
    • Score calculation
    • Constraint streams score calculation
    • Shadow variable
    • Optimization algorithms
    • Move and neighborhood selection
    • Exhaustive search
    • Construction heuristics
    • Local search
    • Evolutionary algorithms
    • Hyperheuristics
    • Partitioned search
    • Benchmarking and tweaking
    • Repeated planning
    • Integration
    • Design patterns
    • Development
    • Release Notes
{property_prefix}timefold.solver-manager.parallel-solver-count

The number of solvers that run in parallel. This directly influences CPU consumption. Defaults to AUTO.

{property_prefix}timefold.solver-config-xml

A classpath resource to read the solver configuration XML. Defaults to solverConfig.xml. If this property isn’t specified, that file is optional.

{property_prefix}timefold.solver.environment-mode

Enable runtime assertions to detect common bugs in your implementation during development.

{property_prefix}timefold.solver.daemon

Enable daemon mode. In daemon mode, non-early termination pauses the solver instead of stopping it, until the next problem fact change arrives. This is often useful for real-time planning. Defaults to false.

{property_prefix}timefold.solver.move-thread-count

Enable multithreaded solving for a single problem, which increases CPU consumption. Defaults to NONE. See multithreaded incremental solving.

{property_prefix}timefold.solver.domain-access-type

How Timefold should access the domain model. See the domain access section for more details. Defaults to REFLECTION. The other possible value is GIZMO.

{property_prefix}timefold.solver.constraint-stream-impl-type

What Constraint Stream implementation to use. See the variant implementation types section for more details. Defaults to BAVET.

{property_prefix}timefold.solver.termination.spent-limit

How long the solver can run. For example: 30s is 30 seconds. 5m is 5 minutes. 2h is 2 hours. 1d is 1 day.

{property_prefix}timefold.solver.termination.unimproved-spent-limit

How long the solver can run without finding a new best solution after finding a new best solution. For example: 30s is 30 seconds. 5m is 5 minutes. 2h is 2 hours. 1d is 1 day.

{property_prefix}timefold.solver.termination.best-score-limit

Terminates the solver when a specific or higher score has been reached. For example: 0hard/-1000soft terminates when the best score changes from 0hard/-1200soft to 0hard/-900soft. Wildcards are supported to replace numbers. For example: 0hard/*soft to terminate when any feasible score is reached.

{property_prefix}timefold.benchmark.solver-benchmark-config-xml

A classpath resource to read the benchmark configuration XML. Defaults to solverBenchmarkConfig.xml. If this property isn’t specified, that solverBenchmarkConfig.xml is optional.

{property_prefix}timefold.benchmark.result-directory

Where the benchmark results are written to. Defaults to target/benchmarks.

{property_prefix}timefold.benchmark.solver.termination.spent-limit

How long solver should be run in a benchmark run. For example: 30s is 30 seconds. 5m is 5 minutes. 2h is 2 hours. 1d is 1 day. Also supports ISO-8601 format, see Duration.

  • © 2025 Timefold BV
  • Timefold.ai
  • Documentation
  • Changelog
  • Send feedback
  • Privacy
  • Legal
    • Light mode
    • Dark mode
    • System default