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