Docs
  • Solver
  • Models
    • Field Service Routing
    • Employee Shift Scheduling
  • Platform
Try models
  • Timefold Solver 0.8.42
  • Tennis club scheduling
  • 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

Tennis club scheduling

Problem description

Every week the tennis club has four teams playing round robin against each other. Assign those four spots to the teams fairly.

Hard constraints:

  • Conflict: A team can only play once per day.

  • Unavailability: Some teams are unavailable on some dates.

Medium constraints:

  • Fair assignment: All teams should play an (almost) equal number of times.

Soft constraints:

  • Evenly confrontation: Each team should play against every other team an equal number of times.

Problem size

munich-7teams has 7 teams, 18 days, 12 unavailabilityPenalties and 72 teamAssignments with a search space of 10^60.

Domain model

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