BitFlipMutation

class BitFlipMutation(probability: Double) : MutationOperator<BinarySolution>

BitFlipMutation (jMetal 6.x) — flips a single random bit of the solution with a per-candidate probability p.

Behavior:

  • Draw once per candidate; if the draw < p, select one random bit index and flip it.

  • This operator does not preserve cardinality K (unlike FixedKSwapMutation).

  • After mutation, incremental caches and swap flags in BestSubsetSolution are cleared.

Determinism:

  • All randomness goes through jMetal’s JMetalRandom singleton, so external seeding applies.

Parameters

probability

Per-candidate mutation probability in (0.0..1.0]. If the random draw is >= probability, no mutation is applied.

Constructors

Link copied to clipboard
constructor(probability: Double)

Functions

Link copied to clipboard
open override fun execute(candidate: BinarySolution): BinarySolution

Executes a single-bit flip on the candidate solution with probability probability.

Link copied to clipboard
open override fun mutationProbability(): Double

jMetal 6.x mutation API: returns the configured per‑candidate mutation probability.