gym-examples 2.0.151__py3-none-any.whl → 2.0.152__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- gym_examples/__init__.py +1 -1
- gym_examples/envs/wsn_env.py +2 -30
- {gym_examples-2.0.151.dist-info → gym_examples-2.0.152.dist-info}/METADATA +1 -1
- gym_examples-2.0.152.dist-info/RECORD +7 -0
- gym_examples-2.0.151.dist-info/RECORD +0 -7
- {gym_examples-2.0.151.dist-info → gym_examples-2.0.152.dist-info}/WHEEL +0 -0
- {gym_examples-2.0.151.dist-info → gym_examples-2.0.152.dist-info}/top_level.txt +0 -0
gym_examples/__init__.py
CHANGED
gym_examples/envs/wsn_env.py
CHANGED
@@ -68,14 +68,6 @@ class WSNRoutingEnv(gym.Env):
|
|
68
68
|
|
69
69
|
|
70
70
|
def reset(self):
|
71
|
-
# print individual rewards
|
72
|
-
|
73
|
-
# if self.rewards_individual != []:
|
74
|
-
# print("\n=================================================")
|
75
|
-
# print(f"Episode: {self.episode_count}")
|
76
|
-
# print(f"Rewards: {self.rewards_individual}")
|
77
|
-
# print("=================================================\n")
|
78
|
-
# Initialize remaining energy of each sensor to initial_energy joule
|
79
71
|
self.sensor_positions = np.random.rand(self.n_sensors, 2) * (upper_bound - lower_bound) + lower_bound
|
80
72
|
self.distance_to_base = np.linalg.norm(self.sensor_positions - base_station_position, axis=1)
|
81
73
|
self.remaining_energy = np.ones(self.n_sensors) * initial_energy
|
@@ -85,7 +77,6 @@ class WSNRoutingEnv(gym.Env):
|
|
85
77
|
|
86
78
|
def step(self, actions):
|
87
79
|
rewards = [0] * self.n_sensors
|
88
|
-
# self.rewards_individual = [0] * self.n_sensors
|
89
80
|
dones = [False] * self.n_sensors
|
90
81
|
for i, action in enumerate(actions):
|
91
82
|
|
@@ -131,17 +122,11 @@ class WSNRoutingEnv(gym.Env):
|
|
131
122
|
# Calculate final reward
|
132
123
|
rewards_individual = torch.tensor(rewards[i], dtype=torch.double)
|
133
124
|
final_reward = net(rewards_individual)
|
134
|
-
# self.rewards_individual[i] = rewards[i]
|
135
125
|
# final_reward = np.sum(rewards[i])
|
136
126
|
# weights = np.ones(self.n_sensors, dtype=int)
|
137
127
|
# final_reward = np.sum(reward * weight for reward, weight in zip(rewards[i], weights))
|
138
128
|
rewards[i] = final_reward
|
139
|
-
|
140
|
-
# rewards = [0.5 * r + 0.5 * (self.network_reward_consumption_energy() + self.network_reward_dispersion_remaining_energy()) for r in rewards]
|
141
|
-
# Only proceed if network consumption energy is not zero to avoid unnecessary list comprehension
|
142
|
-
# self.rewards_individual = [r for r in self.rewards_individual if ((r != 0) and (r[len(r) -1] < 1))]
|
143
|
-
# rewards = np.mean(rewards)
|
144
|
-
# self.rewards_individual = [{"ind": r, "net_consumption_energy": self.network_reward_consumption_energy(), "net_dispersion_energy": self.network_reward_dispersion_remaining_energy()} for r in self.rewards_individual if ((r != 0) and (self.network_reward_consumption_energy() != 0))]
|
129
|
+
rewards = np.mean(rewards)
|
145
130
|
for i in range(self.n_sensors):
|
146
131
|
if (self.remaining_energy[i] <= 0) or (self.number_of_packets[i] <= 0):
|
147
132
|
dones[i] = True
|
@@ -242,16 +227,6 @@ class WSNRoutingEnv(gym.Env):
|
|
242
227
|
|
243
228
|
return np.clip(1 - normalized_total_energy, 0, 1)
|
244
229
|
|
245
|
-
# def compute_reward_dispersion_remaining_energy(self,i):
|
246
|
-
# '''
|
247
|
-
# Compute the reward based on the difference between the remaining energy of the sensor i and the mean remaining energy of all sensors
|
248
|
-
# '''
|
249
|
-
# difference = np.abs(self.remaining_energy[i] - np.mean(self.remaining_energy))
|
250
|
-
# # Normalize the difference
|
251
|
-
# normalized_difference = difference / initial_energy
|
252
|
-
|
253
|
-
# return np.clip(1 - normalized_difference, 0, 1)
|
254
|
-
|
255
230
|
def compute_reward_dispersion_remaining_energy(self):
|
256
231
|
'''
|
257
232
|
Compute the reward based on the standard deviation of the remaining energy
|
@@ -286,10 +261,7 @@ class WSNRoutingEnv(gym.Env):
|
|
286
261
|
reward_number_of_packets = self.compute_reward_number_of_packets(action)
|
287
262
|
|
288
263
|
return [reward_angle, reward_consumption_energy, reward_dispersion_remaining_energy, reward_number_of_packets]
|
289
|
-
|
290
|
-
# return [reward_angle, reward_distance, reward_dispersion_remaining_energy, reward_number_of_packets]
|
291
|
-
# return [reward_angle, reward_distance, reward_consumption_energy, reward_dispersion_remaining_energy]
|
292
|
-
|
264
|
+
|
293
265
|
def network_reward_dispersion_remaining_energy(self):
|
294
266
|
'''
|
295
267
|
Compute the reward based on the standard deviation of the remaining energy at the network level
|
@@ -0,0 +1,7 @@
|
|
1
|
+
gym_examples/__init__.py,sha256=KwIBREa7Yw-YuBVfuQuM2O8nQxiVChcpRIv4Zmh3Sbo,194
|
2
|
+
gym_examples/envs/__init__.py,sha256=lgMe4pyOuUTgTBUddM0iwMlETsYTwFShny6ifm8PGM8,53
|
3
|
+
gym_examples/envs/wsn_env.py,sha256=SjIZcBWTm6Pfc2_omEPqvCqdhWDK57OdzgNhGUekiVY,15185
|
4
|
+
gym_examples-2.0.152.dist-info/METADATA,sha256=q951TYn4MDujO4Qv9RGsbgaXGR65k_0mFMEstR-jIik,412
|
5
|
+
gym_examples-2.0.152.dist-info/WHEEL,sha256=2wepM1nk4DS4eFpYrW1TTqPcoGNfHhhO_i5m4cOimbo,92
|
6
|
+
gym_examples-2.0.152.dist-info/top_level.txt,sha256=rJRksoAF32M6lTLBEwYzRdo4PgtejceaNnnZ3HeY_Rk,13
|
7
|
+
gym_examples-2.0.152.dist-info/RECORD,,
|
@@ -1,7 +0,0 @@
|
|
1
|
-
gym_examples/__init__.py,sha256=I77PF4BWS2EhkDtblBd1gJeEf5eG2xexbSBTloWiVOo,194
|
2
|
-
gym_examples/envs/__init__.py,sha256=lgMe4pyOuUTgTBUddM0iwMlETsYTwFShny6ifm8PGM8,53
|
3
|
-
gym_examples/envs/wsn_env.py,sha256=q1MTuPzqUkyp5Gl9iP7a412pLyB01DosWeSgpF7PP8g,17380
|
4
|
-
gym_examples-2.0.151.dist-info/METADATA,sha256=p5pEMVQeeUi9I9w-N5Cp38F_waraaLuUfy5ALTLCUSY,412
|
5
|
-
gym_examples-2.0.151.dist-info/WHEEL,sha256=2wepM1nk4DS4eFpYrW1TTqPcoGNfHhhO_i5m4cOimbo,92
|
6
|
-
gym_examples-2.0.151.dist-info/top_level.txt,sha256=rJRksoAF32M6lTLBEwYzRdo4PgtejceaNnnZ3HeY_Rk,13
|
7
|
-
gym_examples-2.0.151.dist-info/RECORD,,
|
File without changes
|
File without changes
|