def METHOD_NAME(self) -> int:
    """
    The number of optimisation constraints.
    We constrain:
        - the minimum length of each panel
        - the angle between each panel
          (no. of angles = no. of panels - 1)
    Note that we exclude the start and end touch points which are
    fixed.
    """
    return 2 * self.paneller.n_panels - 1