Skip to content

fix #567 - #630

Open
jschueller wants to merge 2 commits into
esa:masterfrom
jschueller:issue567
Open

fix #567#630
jschueller wants to merge 2 commits into
esa:masterfrom
jschueller:issue567

Conversation

@jschueller

@jschueller jschueller commented May 21, 2026

Copy link
Copy Markdown
Contributor

see #567

clamp non-finite crossover results to bounds.
When parent genes violate problem bounds, sbx_betaq can produce
NaN via std::pow with a negative base, which then propagates into
children. Use std::clamp guarded by std::isfinite to ensure c1/c2
are always valid.
in evolve reject initial population with out-of-bounds individuals.
Previously NSGA-II would proceed with invalid genes, allowing NaN to
be generated during crossover. Now it throws std::invalid_argument.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant