def project_fixed.back

unified-nsga-iii@0.2.2.0 · normalization.bend:590

import unified-nsga-iii@0.2.2.0/normalization.bend as Normalization
import Base
import unified-nsga-iii@0.2.2.0/individual.bend as Ind

590# All-infeasible: do not write ideal / nadir. A fresh state projects with
591# this generation's min/max only. A persisted state reuses its hyperplane.
592def project_fixed.back(n: Nat, +ideal: List<&2, F32>, worst: List<&2, F32>, +nadir: List<&2, F32>, intercepts: List<&2, F32>, extremes: List<&2, List<&2, F32>>, +pop: List<&2, Ind.Individual>, open: Bool) -> State & List<&2, List<&2, F32>>:
593  match open:
594    case True{}:
595      (MkState{n, ideal, worst, nadir, intercepts, extremes}, map_norm(col_min(pop), col_max(pop), pop))
596    case False{}:
597      (MkState{n, ideal, worst, nadir, intercepts, extremes}, map_norm(ideal, nadir, pop))

Uses (11)

Used by (1)