Skip to content

Conversation

@riteshh-thakur
Copy link

Summary

This PR addresses the genetic diversity issue in the IsoFuel algorithm's initial population generation. When IsoFuel generates fewer routes than needed, instead of creating identical clones, we now apply controlled perturbations to maintain population diversity.

Problem Fixed

  • Issue: When IsoFuel generated only 3 routes out of 50 needed, the remaining 47 became identical clones
  • Impact: Severely limited genetic diversity, causing premature convergence or stagnation

Solution Implemented

  • Added _perturb_route() method to both IsoFuelPopulation and GcrSliderPopulation classes
  • Progressive perturbation: 0.1° to 1.0° magnitude increases with each copied route
  • Route validity: Preserves start/end points and bounds coordinates within valid ranges
  • Fallback strategy: Replaces exact copying with controlled perturbation

Key Changes

# Before (identical clones)
X[j, 0] = np.copy(X[j - 1, 0])

# After (diverse routes)
X[j, 0] = self._perturb_route(np.copy(X[j - 1, 0]), j - i)

@kdemmich
Copy link
Collaborator

kdemmich commented Feb 2, 2026

Hi @riteshh-thakur , thank you for your PR. We appreciate the time and effort that was put into it but, unfortunately, the description does not follow our PR template. We will not evaluate PRs that do not follow our PR template.

@kdemmich kdemmich added the question Further information is requested label Feb 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

question Further information is requested

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants