package main import "core:math/rand" import "core:fmt" import "base:runtime" main :: proc() { // Choose problem problem_type := "feature_selection" // or "knapsack" state := rand.create(RANDOM_SEED) context.random_generator = runtime.default_random_generator(&state) problem: Problem switch problem_type { case "knapsack": if !load_knapsack_data() { fmt.eprintln("Failed to load knapsack data") return } problem = knapsack_problem() case "feature_selection": if !load_feature_data() { fmt.eprintln("Failed to load feature data") return } split_dataset() precompute() problem = feature_selection_problem() fmt.println("=== Baseline (All Features) ===") baseline := run_baseline() fmt.printfln("RMSE: %.4f\n", baseline) } run_ga(problem) }