From 5978849ce67091c3ad1c37e913b32c67676eb8df Mon Sep 17 00:00:00 2001
From: David <david.vronka@vsb.cz>
Date: Fri, 12 Jan 2024 12:55:19 +0100
Subject: [PATCH] left a right time window of customer is scaling too

---
 scripts/py/Recreate_problem_from_BM.py | 49 +++++++++++++++++++++-----
 1 file changed, 40 insertions(+), 9 deletions(-)

diff --git a/scripts/py/Recreate_problem_from_BM.py b/scripts/py/Recreate_problem_from_BM.py
index 02a80a2..8065161 100644
--- a/scripts/py/Recreate_problem_from_BM.py
+++ b/scripts/py/Recreate_problem_from_BM.py
@@ -218,15 +218,46 @@ if __name__ == "__main__":
 
     # index=0
     problem_definitions = json_data["Problem Definitions"]
-    # for k, v in problem_definitions.items():
-    #     for i in range(len(v["Customers"]["jobs"])):
-    #         json_data["Problem Definitions"][k]['Customers']['jobs'][i]['service']=round(problem_definitions[k]['Customers']['jobs'][i]['service']*scaling_factor)
-    #         json_data["Problem Definitions"][k]['Customers']['jobs'][i]['time_windows'][0][0]=json_data["Vehicle Definitions"][2]["Big ICE"]["time_window"][0]
-    #         json_data["Problem Definitions"][k]['Customers']['jobs'][i]['time_windows'][0][1]=json_data["Vehicle Definitions"][2]["Big ICE"]["time_window"][1]
-    #     for i in range(len(v["Customers"]["shipments"])):
-    #         json_data["Problem Definitions"][k]['Customers']['shipments'][i]['service']=round(problem_definitions[k]['Customers']['shipments'][i]['service']*scaling_factor)
-    #         json_data["Problem Definitions"][k]['Customers']['shipments'][i]['time_windows'][0][0]=json_data["Vehicle Definitions"][2]["Big ICE"]["time_window"][0]
-    #         json_data["Problem Definitions"][k]['Customers']['shipments'][i]['time_windows'][0][1]=json_data["Vehicle Definitions"][2]["Big ICE"]["time_window"][1]
+    for k, v in problem_definitions.items():
+        # scaling time_windows at customers
+        if "jobs" in v["Customers"]:
+            for i in range(len(v["Customers"]["jobs"])):
+                #         json_data["Problem Definitions"][k]['Customers']['jobs'][i]['service']=round(problem_definitions[k]['Customers']['jobs'][i]['service']*scaling_factor)
+                json_data["Problem Definitions"][k]["Customers"]["jobs"][i][
+                    "time_windows"
+                ][0][0] = (
+                    json_data["Problem Definitions"][k]["Customers"]["jobs"][i][
+                        "time_windows"
+                    ][0][0]
+                    * scaling_factor
+                )
+                json_data["Problem Definitions"][k]["Customers"]["jobs"][i][
+                    "time_windows"
+                ][0][1] = (
+                    json_data["Problem Definitions"][k]["Customers"]["jobs"][i][
+                        "time_windows"
+                    ][0][1]
+                    * scaling_factor
+                )
+        if "shipments" in v["Customers"]:
+            for i in range(len(v["Customers"]["shipments"])):
+                #         json_data["Problem Definitions"][k]['Customers']['shipments'][i]['service']=round(problem_definitions[k]['Customers']['shipments'][i]['service']*scaling_factor)
+                json_data["Problem Definitions"][k]["Customers"]["shipments"][i][
+                    "time_windows"
+                ][0][0] = (
+                    json_data["Problem Definitions"][k]["Customers"]["shipments"][i][
+                        "time_windows"
+                    ][0][0]
+                    * scaling_factor
+                )
+                json_data["Problem Definitions"][k]["Customers"]["shipments"][i][
+                    "time_windows"
+                ][0][1] = (
+                    json_data["Problem Definitions"][k]["Customers"]["shipments"][i][
+                        "time_windows"
+                    ][0][1]
+                    * scaling_factor
+                )
 
     for k, v in problem_definitions.items():
         for i in range(len(v["Matrices"])):
-- 
GitLab