XMLWordPrintable

Details

    • Feature Request
    • Resolution: Unresolved
    • Major
    • None
    • None
    • optaplanner-core
    • 2021 Week 22-24 (from May 31), 2021 Week 43-45 (from Oct 25), 2021 Week 49-51 (from Dec 6th), 2022 Week 02-04 (from Jan 10), 2022 Week 05-07 (from Jan 31)
    • 5
    • Undefined
    • NEW
    • NEW

    Description

      Create a new solver phase that can loop a list of other phases.

      <solver>
        <termination>timeSpend=10</termination>
        <loopPhase>
           <constructionHeuristic/>
           <localSearch>
              <termination>unimprovedStep=100</>
           </localSearch>
           <ruin>
        </loopPhase>
      </solver>
      

      Requirements:

      • The loopPhase has a termination (just like any other phase) which controls when it stops looping.
        • That termination is optional, which means it loops forever until the global termination ends.
      • There can be multiple phases in the loopPhase => The LoopPhaseConfig has a phaseConfigList just like SolverConfig.
      • There can be phases before or after the loopPhase.
        • If the loopPhase has no termination, any phases after it will never run, just like with localSearch without any termination and a phase after it. (maybe we should fail-fast on both those cases?)
      • Take special care for the phaseIndex shown in the log messages. both in the "phase ended" and "solver ended" message.
        • Until now, the phaseIndex was set at the solver creation time, but I suspect this will now have to be more dynamic: to be set at the start of the phase.
        • For example if a solver has "CH, Loop (CH, LS, Ruin), LS" and the loop loops 4 times then CH is phase Index 0 and the last LS is phaseIndex 13. If the loop only loops once, the last LS is phaseIndex 4.
        • Until now, the "solver ended" message showed "phase total (2)" even if there was only time enough to run the CH (no time to run a LS). That's a bug I 'd argue. The total phases is then 1 (even though more were configured).

      Attachments

        Activity

          People

            Unassigned Unassigned
            gdesmet@redhat.com Geoffrey De Smet (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated: