Commons Math
  1. Commons Math
  2. MATH-1107

CMAESOptimizer fails sometimes when bounds are violated

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 3.3
    • Labels:
      None

      Description

      The CMAESOptimizer repairs points that are out of bounds by moving them into bounds, and adding a penalty based on how far they were moved.

      The penalty added is scaled by the range of values in the current population.

      The calculation of the valueRange, however, includes the penalty so at each iteration the amount of penalty can grow multiplicatively. One solution, is to keep the value and penalties separate before calculating the scale factor for the penalties. A patch that does this will be attached.

      1. cmaes_penalty.patch
        6 kB
        Bruce A Johnson

        Activity

        Hide
        Luc Maisonobe added a comment -

        Patch applied (with minor changes) as of r1573506.

        Thanks for the report and for the patch!

        Show
        Luc Maisonobe added a comment - Patch applied (with minor changes) as of r1573506. Thanks for the report and for the patch!
        Hide
        Luc Maisonobe added a comment -

        Closing all resolved issue now available in released 3.3 version.

        Show
        Luc Maisonobe added a comment - Closing all resolved issue now available in released 3.3 version.

          People

          • Assignee:
            Unassigned
            Reporter:
            Bruce A Johnson
          • Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development