# LIGHTNINGAlgorithm (ARX Developer Documentation)

org.deidentifier.arx.algorithm

## Class LIGHTNINGAlgorithm

- java.lang.Object
- - org.deidentifier.arx.algorithm.AbstractAlgorithm
  - - org.deidentifier.arx.algorithm.LIGHTNINGAlgorithm

-     public class LIGHTNINGAlgorithm
      extends AbstractAlgorithm

- - ### Field Summary

    - ### Fields inherited from class org.deidentifier.arx.algorithm.AbstractAlgorithm

      `checker, solutionSpace`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `static AbstractAlgorithm` | `create(SolutionSpace solutionSpace, NodeChecker checker, int timeLimit)` Creates a new instance
    `void` | `traverse()` Implement this method in order to provide a new algorithm.

    - ### Methods inherited from class org.deidentifier.arx.algorithm.AbstractAlgorithm

      `computeUtilityForMonotonicMetrics, getGlobalOptimum, progress, setListener, trackOptimum`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Method Detail

    - #### create

          public static AbstractAlgorithm create(SolutionSpace solutionSpace,
                                 NodeChecker checker,
                                 int timeLimit)

      Creates a new instance
      Parameters:
        `solutionSpace` -
        `checker` -
        `timeLimit` -
      Returns:

    - #### traverse

          public void traverse()

      Description copied from class: `AbstractAlgorithm`
      Implement this method in order to provide a new algorithm.
      Specified by:
        `traverse` in class `AbstractAlgorithm`