Algorithm 1 Genetic-Embedded Nuclear Reaction Optimization (GNR) Algorithm |
Require: Dataset D, Population size N = 500, Max generations T = 30, Early stopping patience P = 5 Ensure: Optimized subset of gene ▷ Preprocessing and Filtering 1: Handle missing values (mean imputation) 2: Normalize features using Z-score 3: Encode categorical labels (if any) 4: Compute F-score for each gene 5: Select top 500 genes based on F-score ▷ Initialization 6: for each subset size k ∈ {5, 10, 15} do 7: Initialize population of continuous vectors xi ∈ [0, 1]D 8: Randomly initialize each xi in population 9: Evaluate fitness using SVM with LOOCV 10: Set ← best solution, no_improve ← 0 ▷ Fission Phase: Exploration via perturbation 11: for g = 1 to T do 12: for each solution do 13: Generate new solution using Equation (2) 14: Compute dynamic step sizes using Equations (3) and (4) 15: Apply mutation factors using Equations (5) and (6) 16: end for ▷ Fusion Phase: Exploitation with embedded crossover 17: for each solution do 18: Apply ionization via Equation (7) 19: if solutions are similar then 20: Apply Lévy flight adjustment using Equation (8) 21: end if 22: Generate as follows: 23: if rand < 0.3 then 24: Select random solution 25: for each gene d ∈ {1, . . . , D} do 26: ← if rand < 0.8: ; else: 27: end for 28: else 29: Apply fusion using Equation (9) or (10) depending on similarity 30: end if 31: end for ▷ Fitness Evaluation and Best Solution Update 32: for each solution do 33: Evaluate fitness via SVM + LOOCV 34: if > then 35: Update ← , reset no_improve ← 0 36: else 37: Increment no_improve ← no_improve + 1 38: end if 39: end for 40: if no_improve ≥ then 41: break 42: end if 43: end for 44: end for ▷ Final Output 45: return best gene subset |