diff --git a/src/config.json b/src/config.json
index e265aaaf7d224a257c9b788eaa19f44ecba0f954..89a97e71ee6aca978fe83168c8a081395b4e965c 100644
--- a/src/config.json
+++ b/src/config.json
@@ -6,15 +6,21 @@
     "OBJECTIVES": ["energy", "comfort"],
     "MAXIMIZE": ["comfort"],
     "PARAM_BOUNDS": {
-        "Q_max": [1000, 5000],
-        "T_set": [280, 310]
+        "Q_max": {
+            "bounds": [1000, 5000],
+            "type": "int"
+        },
+        "T_set": {
+            "bounds": [280, 310],
+            "type": "int"
+        }
     },
     "PRECISION": 2,
     "OPTIMIZATION_CONFIG": {
         "USE_ADAPTIVE_INSTANCE_SELECTION": true,
         "ALGORITHM_NAME": "NSGA2",
-        "POP_SIZE": 5,
-        "N_GEN": 5
+        "POP_SIZE": 1,
+        "N_GEN": 1
     },
     "PLOT_CONFIG": {
         "PLOT_X": "Energy Consumption",
diff --git a/src/config.py b/src/config.py
index 5543333d1a0f2422e3b9d75e313e85d2948a33bb..7df4e6a685c00f690901b4dc6f414d7ff7396b4a 100644
--- a/src/config.py
+++ b/src/config.py
@@ -31,6 +31,16 @@ N_JOBS = config['N_JOBS']
 # Derived configuration
 MODEL_PATH = os.path.join(os.getcwd(), MODEL_FILE)
 
+# Helper functions to get bounds and types
+def get_bounds(param_bounds):
+    return {param: bounds_info["bounds"] for param, bounds_info in param_bounds.items()}
+
+def get_types(param_bounds):
+    return {param: bounds_info["type"] for param, bounds_info in param_bounds.items()}
+
+PARAM_BOUND_VALUES = get_bounds(PARAM_BOUNDS)
+PARAM_TYPES = get_types(PARAM_BOUNDS)
+
 # "PARAMETERS": Parameters to be varied
 # "OBJECTIVES": Objectives to be optimized
 # "MAXIMIZE": Objectives to be maximized