Class ConferenceSchedulingConstraintProvider

java.lang.Object
ai.timefold.solver.examples.conferencescheduling.score.ConferenceSchedulingConstraintProvider
All Implemented Interfaces:
ai.timefold.solver.core.api.score.stream.ConstraintProvider

public final class ConferenceSchedulingConstraintProvider extends Object implements ai.timefold.solver.core.api.score.stream.ConstraintProvider
Provides the constraints for the conference scheduling problem.

Makes heavy use of CS expand() functionality to cache computation results, except in cases where doing so less is efficient than recomputing the result. That is the case in filtering joiners. In this case, it is better to reduce the size of the joins even at the expense of duplicating some calculations. In other words, time saved by caching those calculations is far outweighed by the time spent in unrestricted joins.

  • Constructor Details

    • ConferenceSchedulingConstraintProvider

      public ConferenceSchedulingConstraintProvider()
  • Method Details

    • defineConstraints

      public ai.timefold.solver.core.api.score.stream.Constraint[] defineConstraints(ai.timefold.solver.core.api.score.stream.ConstraintFactory factory)
      Specified by:
      defineConstraints in interface ai.timefold.solver.core.api.score.stream.ConstraintProvider