Isha184 commited on
Commit
74e8767
·
verified ·
1 Parent(s): 6032978

Update solver.py

Browse files
Files changed (1) hide show
  1. solver.py +31 -31
solver.py CHANGED
@@ -45,37 +45,37 @@ def parse_uploaded_csv(file) -> pd.DataFrame:
45
 
46
 
47
 
48
- def generate_random_instance(
49
- n_clients=15,
50
- n_vehicles=4,
51
- capacity=7,
52
- spread=10, # smaller city area
53
- demand_min=1,
54
- demand_max=3,
55
- seed=42,
56
- ):
57
- rng = np.random.default_rng(seed)
58
- xs = rng.uniform(-spread, spread, size=n_clients)
59
- ys = rng.uniform(-spread, spread, size=n_clients)
60
- demands = rng.integers(demand_min, demand_max + 1, size=n_clients)
61
-
62
- # realistic and tight time windows
63
- tw_start = rng.integers(0, 40, size=n_clients)
64
- tw_end = tw_start + rng.integers(15, 25, size=n_clients)
65
-
66
- # short service time (1 minute)
67
- service = np.ones(n_clients, dtype=int)
68
-
69
- df = pd.DataFrame({
70
- "id": [f"C{i+1}" for i in range(n_clients)],
71
- "x": xs,
72
- "y": ys,
73
- "demand": demands,
74
- "tw_start": tw_start,
75
- "tw_end": tw_end,
76
- "service": service
77
- })
78
- return df
79
 
80
 
81
 
 
45
 
46
 
47
 
48
+ def generate_random_instance(
49
+ n_clients=15,
50
+ n_vehicles=4,
51
+ capacity=7,
52
+ spread=10, # smaller city area
53
+ demand_min=1,
54
+ demand_max=3,
55
+ seed=42,
56
+ ):
57
+ rng = np.random.default_rng(seed)
58
+ xs = rng.uniform(-spread, spread, size=n_clients)
59
+ ys = rng.uniform(-spread, spread, size=n_clients)
60
+ demands = rng.integers(demand_min, demand_max + 1, size=n_clients)
61
+
62
+ # realistic and tight time windows
63
+ tw_start = rng.integers(0, 40, size=n_clients)
64
+ tw_end = tw_start + rng.integers(15, 25, size=n_clients)
65
+
66
+ # short service time (1 minute)
67
+ service = np.ones(n_clients, dtype=int)
68
+
69
+ df = pd.DataFrame({
70
+ "id": [f"C{i+1}" for i in range(n_clients)],
71
+ "x": xs,
72
+ "y": ys,
73
+ "demand": demands,
74
+ "tw_start": tw_start,
75
+ "tw_end": tw_end,
76
+ "service": service
77
+ })
78
+ return df
79
 
80
 
81