def osy_g

unified-nsga-iii@0.2.2.0 · problems.bend:551

import unified-nsga-iii@0.2.2.0/problems.bend as Problems
import Base
import unified-nsga-iii@0.2.2.0/util.bend as Util

551# pymoo divisors, then negated so a positive value is a violation.
552def osy_g(+x: List<&2, F32>) -> List<&2, F32>:
553  +x0 = Util.get_f32(x, 0n)
554  +x1 = Util.get_f32(x, 1n)
555  +x2 = Util.get_f32(x, 2n)
556  +x3 = Util.get_f32(x, 3n)
557  +x4 = Util.get_f32(x, 4n)
558  +x5 = Util.get_f32(x, 5n)
559  F32.neg(F32.div(F32.sub(F32.add(x0, x1), 2.0), 2.0))
560    <> F32.neg(F32.div(F32.sub(F32.sub(6.0, x0), x1), 6.0))
561    <> F32.neg(F32.div(F32.add(F32.sub(2.0, x1), x0), 2.0))
562    <> F32.neg(F32.div(F32.add(F32.sub(2.0, x0), F32.mul(3.0, x1)), 2.0))
563    <> F32.neg(F32.div(F32.sub(F32.sub(4.0, F32.square(F32.sub(x2, 3.0))), x3), 4.0))
564    <> [F32.neg(F32.div(F32.sub(F32.add(F32.square(F32.sub(x4, 3.0)), x5), 4.0), 4.0))]

Uses (9)

Used by (1)