1. Validate CFZN decision matrix, criterion weights, and direction vector.
T=[Tij]m×n, Tij={σije2πiτij, ϖije2πiℜij}; w=(w1,…,wn), ∑wj=1
2. Augment with anti-ideal Δ (least favorable per criterion type) and ideal Λ (most favorable per criterion type) per Shahid §5 Step 2.
Benefit: Λj={maxσije2πimaxτij, maxϖije2πimaxℜij}, Δj={minσije2πiminτij, minϖije2πiminℜij}; Cost: swap min↔max
3. Compute CFZN distance from each cell to ideal Λ (Ω+) and to anti-ideal Δ (Ω-) per Shahid §5 Step 3 eq 12-13.
Ωij+=21((σijϖij)−(σΛjϖΛj))2+4π21((τijℜij)−(τΛjℜΛj))2; Ωij− analogous vs Δj
4. Compute closeness coefficient Φ_ij = Ω-_ij / (Ω+_ij + Ω-_ij) per Shahid §5 Step 4 eq 14.
Φij=Ωij++Ωij−Ωij−
5. Build (m+2)×n extended matrix A by prepending anti-ideal row (U- = Φ-_ℛ values) and appending ideal row (U+ = Φ+_ℛ values) per Shahid §5 Step 5 eq 15.
A=Φj−ΦijΦj+(m+2)×n; Φj−={miniΦij,maxiΦij,j∈Bj∈C; Φj+ symmetric 6. Normalize extended matrix A → A' direction-aware per Shahid §5 Step 6 eq 16-17.
ϑij=⎩⎨⎧Φj+Φij,ΦijΦj+,j∈Bj∈C 7. Compute weighted normalized extended decision matrix Q_ij = ϑ_ij · w_j per Shahid §5 Step 7 eq 18.
Qij=ϑij⋅wj
8. Compute utility degrees Ψ-_i = ß_i / ß- and Ψ+_i = ß_i / ß+ where ß_i = Σ_j Q_ij, ß- = Σ_j Q_{U-,j}, ß+ = Σ_j Q_{U+,j} per Shahid §5 Step 8 eq 19-20.
βi=j=1∑nQij; β−=j∑QU−,j; β+=j∑QU+,j; Ψi−=βi/β−; Ψi+=βi/β+
9. Compute utility function Γ(Ψ_i) per canonical Stević 2020 formula (Shahid §5 Step 9 eq 21-23).
Γ(Ψi+)=Ψi++Ψi−Ψi−; Γ(Ψi−)=Ψi++Ψi−Ψi+; Γ(Ψi)=1+Γ(Ψi+)1−Γ(Ψi+)+Γ(Ψi−)1−Γ(Ψi−)Ψi++Ψi−
10. Rank alternatives descending by utility function Γ(Ψ_i); largest is best per Shahid §5 Step 10.
ranki=argsortdesc(Γ(Ψi))