gym-examples 3.0.218__py3-none-any.whl → 3.0.220__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 +7 -5
- {gym_examples-3.0.218.dist-info → gym_examples-3.0.220.dist-info}/METADATA +1 -1
- gym_examples-3.0.220.dist-info/RECORD +7 -0
- gym_examples-3.0.218.dist-info/RECORD +0 -7
- {gym_examples-3.0.218.dist-info → gym_examples-3.0.220.dist-info}/WHEEL +0 -0
- {gym_examples-3.0.218.dist-info → gym_examples-3.0.220.dist-info}/top_level.txt +0 -0
gym_examples/__init__.py
CHANGED
gym_examples/envs/wsn_env.py
CHANGED
@@ -28,6 +28,7 @@ coef_network_throughput = 2.6 # coefficient for the network throughput reward
|
|
28
28
|
coef_packet_delivery_ratio = 1.6 # coefficient for the packet delivery ratio reward
|
29
29
|
|
30
30
|
base_back_up_dir = "results/data/"
|
31
|
+
max_reward = 5 # maximum reward value when the sensors sent data to the base station. The opposite value is when the sensors perform an unauthorized action
|
31
32
|
|
32
33
|
# Define the final reward function using an attention mechanism
|
33
34
|
class Attention(nn.Module):
|
@@ -132,7 +133,7 @@ class WSNRoutingEnv(gym.Env):
|
|
132
133
|
def step(self, actions):
|
133
134
|
actions = [actions[i] for i in range(self.n_agents)] # We want to go back from the MultiDiscrete action space to a tuple of tuple of Discrete action spaces
|
134
135
|
self.steps += 1
|
135
|
-
rewards = [-
|
136
|
+
rewards = [-max_reward] * self.n_sensors
|
136
137
|
dones = [False] * self.n_sensors
|
137
138
|
for i, action in enumerate(actions):
|
138
139
|
if action not in range(self.n_sensors + 1):
|
@@ -166,7 +167,7 @@ class WSNRoutingEnv(gym.Env):
|
|
166
167
|
self.packet_latency[i] = 0
|
167
168
|
|
168
169
|
# rewards[i] = self.compute_individual_rewards(i, action)
|
169
|
-
rewards[i] = np.ones(input_dim) *
|
170
|
+
rewards[i] = np.ones(input_dim) * max_reward # Reward for transmitting data to the base station
|
170
171
|
dones[i] = True
|
171
172
|
else:
|
172
173
|
distance = np.linalg.norm(self.sensor_positions[i] - self.sensor_positions[action])
|
@@ -212,8 +213,8 @@ class WSNRoutingEnv(gym.Env):
|
|
212
213
|
|
213
214
|
rewards = [r.item() if isinstance(r, torch.Tensor) else r for r in rewards] # Convert the rewards to a list of floats
|
214
215
|
# rewards = np.sum(rewards) # Sum the rewards of all agents
|
215
|
-
rewards = np.mean(rewards) # Average the rewards of all agents
|
216
|
-
|
216
|
+
# rewards = np.mean(rewards) # Average the rewards of all agents
|
217
|
+
rewards = np.mean(self.compute_network_rewards()) # Average the rewards of all agents
|
217
218
|
# print(f"Step: {self.steps}, Rewards: {rewards}, Done: {dones}")
|
218
219
|
dones = all(dones) # Done if all agents are done
|
219
220
|
|
@@ -400,7 +401,8 @@ class WSNRoutingEnv(gym.Env):
|
|
400
401
|
rewards_performance = np.array([reward_latency, reward_network_throughput, reward_packet_delivery_ratio])
|
401
402
|
|
402
403
|
# return np.concatenate((rewards_energy, rewards_performance))
|
403
|
-
return rewards_energy
|
404
|
+
# return rewards_energy
|
405
|
+
return np.array([reward_consumption_energy])
|
404
406
|
|
405
407
|
def network_reward_dispersion_remaining_energy(self):
|
406
408
|
'''
|
@@ -0,0 +1,7 @@
|
|
1
|
+
gym_examples/__init__.py,sha256=MEYnbGONT9nEeGjf_5eFPpnFuoYOFSHCwbl4ZhogWlo,194
|
2
|
+
gym_examples/envs/__init__.py,sha256=lgMe4pyOuUTgTBUddM0iwMlETsYTwFShny6ifm8PGM8,53
|
3
|
+
gym_examples/envs/wsn_env.py,sha256=KaqAWRQ9hG_Q46r60GwUu0p92D9lWcRwOerHHRP9CXo,26322
|
4
|
+
gym_examples-3.0.220.dist-info/METADATA,sha256=iM7DTB1bT5TB-MkxbZcm9wf_8hFrLgrOVRgzTmYRENU,412
|
5
|
+
gym_examples-3.0.220.dist-info/WHEEL,sha256=2wepM1nk4DS4eFpYrW1TTqPcoGNfHhhO_i5m4cOimbo,92
|
6
|
+
gym_examples-3.0.220.dist-info/top_level.txt,sha256=rJRksoAF32M6lTLBEwYzRdo4PgtejceaNnnZ3HeY_Rk,13
|
7
|
+
gym_examples-3.0.220.dist-info/RECORD,,
|
@@ -1,7 +0,0 @@
|
|
1
|
-
gym_examples/__init__.py,sha256=LfROr28P60dg0WufgFiYkprAeE7-TOVCimLDa8DuDxw,194
|
2
|
-
gym_examples/envs/__init__.py,sha256=lgMe4pyOuUTgTBUddM0iwMlETsYTwFShny6ifm8PGM8,53
|
3
|
-
gym_examples/envs/wsn_env.py,sha256=jAinwY1niJzuF5xysMuOuDEcemjUWz2Gj0FqwOrszUA,26095
|
4
|
-
gym_examples-3.0.218.dist-info/METADATA,sha256=f9LFujFcQw9vkMHSgELx1ktpvGafwhvVh6OBrMSlNcc,412
|
5
|
-
gym_examples-3.0.218.dist-info/WHEEL,sha256=2wepM1nk4DS4eFpYrW1TTqPcoGNfHhhO_i5m4cOimbo,92
|
6
|
-
gym_examples-3.0.218.dist-info/top_level.txt,sha256=rJRksoAF32M6lTLBEwYzRdo4PgtejceaNnnZ3HeY_Rk,13
|
7
|
-
gym_examples-3.0.218.dist-info/RECORD,,
|
File without changes
|
File without changes
|