evomo.operators.selection.non_dominate_triton#

Experimental single-population Triton non-dominated sorting.

CUDA float32/float64 ranking uses packed dominance and integer rank updates. CPU inputs use the PyTorch backend. Crowding and final stable sorting remain in PyTorch. No vmap rules are provided. Fullgraph compilation is supported, but recompilation and small end-to-end floating-point differences can occur.

Attributes#

Functions#

non_dominate_rank(f[, cv])

Return complete zero-based ranks, including constrained dominance.

dominate_relation(x, y[, cv_x, cv_y])

Return the dense matrix whose (i, j) entry means x[i] dominates y[j].

nd_environmental_selection(x, f, topk[, cv])

Packed Triton ranking plus unchanged PyTorch crowding/stable selection.

Module Contents#

evomo.operators.selection.non_dominate_triton.non_dominate_rank(f, cv=None)#

Return complete zero-based ranks, including constrained dominance.

evomo.operators.selection.non_dominate_triton.dominate_relation(x, y, cv_x=None, cv_y=None)#

Return the dense matrix whose (i, j) entry means x[i] dominates y[j].

evomo.operators.selection.non_dominate_triton.nd_environmental_selection(x, f, topk, cv=None)#

Packed Triton ranking plus unchanged PyTorch crowding/stable selection.

evomo.operators.selection.non_dominate_triton.crowding_distance#