zdt2.mw

restart; 1

ZDT 2

`:=`(f, proc (x) options operator, arrow; `+`(1, `-`(`*`(`^`(x, 2)))) end proc); -1; 'f(x)' = f(x); 1; `:=`(x[min], 0); -1; `:=`(x[max], 1); -1; 'x[min]' = x[min], 'x[max]' = x[max]

 

f(x) = `+`(1, `-`(`*`(`^`(x, 2))))
x[min] = 0, x[max] = 1 (1)

`:=`(delta, proc (x) options operator, arrow; `/`(`*`(sqrt(`+`(`-`(`/`(`*`(diff(f(x), x)), `*`(`+`(1, `*`(`^`(diff(f(x), x), 2))))))))), `*`(int(sqrt(`+`(`-`(diff(f(x), x)))), x = x[min] .. x[max]))) ...

 

delta(x) = `+`(`/`(`*`(`/`(3, 2), `*`(`^`(x, `/`(1, 2)))), `*`(`^`(`+`(1, `*`(4, `*`(`^`(x, 2)))), `/`(1, 2))))) (2)

`:=`(H1, proc (x) options operator, arrow; `+`(x, `/`(`*`(`+`(f(x), `-`(f(x[min])))), `*`(diff(f(x), x)))) end proc); -1

`:=`(R1, Optimization:-Maximize(H1(x), x = x[min] .. x[max])); -1; 'R[1]' = R1

 

R[1] = [1.5000000000000, [x = 1.]] (3)

`:=`(H2, proc (x) options operator, arrow; `+`(`*`(diff(f(x), x), `*`(`+`(x, `-`(x[max])))), f(x)) end proc); -1

`:=`(R2, Optimization:-Maximize(H2(x), x = x[min] .. x[max])); -1; 'R[2]' = R2

 

R[2] = [1.3333333333333, [x = .333333333333333259]] (4)
!!! Dieses Dokument stammt aus dem ETH Web-Archiv und wird nicht mehr gepflegt !!!
!!! This document is stored in the ETH Web archive and is no longer maintained !!!