| Input: R (set of initial reference points), A (Initial archive), Z∗ (ideal point), Znad (nadir point) |
| Output: R′ (set of new reference points), A′ (new archive), Z∗′ (new ideal point), Znad′ (new nadir point) |
(1) | Duplicate candidate solutions are deleted in A; |
(2) | Dominated candidate solutions are deleted in A; |
(3) | for i = 1 to M do |
(4) | if minp∈Afi (p) < Z∗ |
(5) | Z∗′ ← minp∈Afi (p); |
(6) | else |
(7) | Z∗′ ← Z∗; |
(8) | end if |
(9) | if max p∈Afi (p) > Znadthen |
(10) | Znad′ ← maxp∈Afi (p); |
(11) | else |
(12) | Znad′ ← Znad; |
(13) | end if |
(14) | f1i (p) ← fi (p) − Z∗, ; |
(15) | f2i (p) ← fi (p) − Znad, ; |
(16) | ; |
(17) | DPD (f (p), Ri) ←max (Caldis (fi (p), Ri), μ∗Caldis (fi (p), Ri)); |
(18) | end for |
(19) | Acon ← {p ∈ A| ∃r ∈ R: DPD (f (p), r) = minp∈A DPD (f (p), r)}; |
(20) | A′ ← Acon; |
(21) | while |A′| < min (|R|, |A|) do |
(22) | p ← argmaxp1∈A\A′ minp2∈A′ arccos (f (p1), f (p2)) |
(23) | A′ ← A′ ∪ {p}; |
(24) | end |
(25) | Rvalid ← {r ∈ R| ∃r ∈ Acon: DPD (f (p), r) = minr′∈R DPD (f (p), r′)}; |
(26) | R′ ← Rvalid; |
(27) | while |R′| < min (|R|, |A|) do |
(28) | p ← argmaxp∈A′\R′ minr∈R′ arccos (f (p), r); |
(29) | p′ ← projection (p, hyperplane); |
(30) | R′ ← R′ ∪ {f (p′)}; |
(31) | end |
(32) | return A′, R′, Z∗ and Znad; |