gym-examples 2.0.31__py3-none-any.whl → 2.0.33__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 CHANGED
@@ -6,4 +6,4 @@ register(
6
6
  max_episode_steps=50,
7
7
  )
8
8
 
9
- __version__ = "2.0.31"
9
+ __version__ = "2.0.33"
@@ -115,9 +115,11 @@ class WSNRoutingEnv(gym.Env):
115
115
  # Calculate final reward
116
116
  # rewards_individual = torch.tensor(rewards[i], dtype=torch.double)
117
117
  # final_reward = net(rewards_individual)
118
- final_reward = np.sum(rewards[i])
118
+ final_reward = np.sum(rewards[i])
119
119
  rewards[i] = final_reward
120
120
 
121
+ rewards = [r * self.network_reward_consumption_energy() * self.network_reward_dispersion_remaining_energy() for r in rewards]
122
+
121
123
  for i in range(self.n_sensors):
122
124
  if (self.remaining_energy[i] <= 0) or (self.number_of_packets[i] <= 0):
123
125
  dones[i] = True
@@ -254,6 +256,29 @@ class WSNRoutingEnv(gym.Env):
254
256
 
255
257
  return [reward_angle, reward_distance, reward_consumption_energy, reward_dispersion_remaining_energy, reward_number_of_packets]
256
258
 
259
+ def network_reward_dispersion_remaining_energy(self):
260
+ '''
261
+ Compute the reward based on the standard deviation of the remaining energy at the network level
262
+ '''
263
+ dispersion_remaining_energy = np.std(self.remaining_energy)
264
+ # Normalize the standard deviation of the remaining energy
265
+ max_dispersion_remaining_energy = initial_energy / 2 # maximum standard deviation of the remaining energy if n_sensors is even
266
+ normalized_dispersion_remaining_energy = dispersion_remaining_energy / max_dispersion_remaining_energy
267
+
268
+ return np.clip(1 - normalized_dispersion_remaining_energy, 0, 1)
269
+
270
+ def network_reward_consumption_energy(self):
271
+ '''
272
+ Compute the reward based on the total energy consumption (transmission, reception) at the network level
273
+ '''
274
+ total_energy = np.sum(self.consumption_energy)
275
+ # Normalize the total energy consumption
276
+ max_transmission_energy = self.transmission_energy(self.n_sensors * initial_number_of_packets, self.coverage_radius)
277
+ max_reception_energy = self.reception_energy(self.n_sensors * initial_number_of_packets)
278
+ normalized_total_energy = total_energy / (max_transmission_energy + max_reception_energy)
279
+
280
+ return 1 - normalized_total_energy
281
+
257
282
  def integrate_mobility(self):
258
283
  '''
259
284
  Integrate the mobility of the sensors after each step
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: gym-examples
3
- Version: 2.0.31
3
+ Version: 2.0.33
4
4
  Summary: A custom environment for multi-agent reinforcement learning focused on WSN routing.
5
5
  Home-page: https://github.com/gedji/CODES.git
6
6
  Author: Georges Djimefo
@@ -0,0 +1,7 @@
1
+ gym_examples/__init__.py,sha256=TbbQUrHAZ6jdbW4uDeI4-EHJTElY9I7xpSmyJ6EFScQ,193
2
+ gym_examples/envs/__init__.py,sha256=lgMe4pyOuUTgTBUddM0iwMlETsYTwFShny6ifm8PGM8,53
3
+ gym_examples/envs/wsn_env.py,sha256=xULVyW1wLeyt2xHmwEUuGsHUAL1lM-0zTAgnCM816QI,14726
4
+ gym_examples-2.0.33.dist-info/METADATA,sha256=nLo7viKJw02WOBE1ItIEDTnn3RZLAK8fkOLywy5PfDs,411
5
+ gym_examples-2.0.33.dist-info/WHEEL,sha256=2wepM1nk4DS4eFpYrW1TTqPcoGNfHhhO_i5m4cOimbo,92
6
+ gym_examples-2.0.33.dist-info/top_level.txt,sha256=rJRksoAF32M6lTLBEwYzRdo4PgtejceaNnnZ3HeY_Rk,13
7
+ gym_examples-2.0.33.dist-info/RECORD,,
@@ -1,7 +0,0 @@
1
- gym_examples/__init__.py,sha256=-Zi6pjtuGP4mWLhMJ5XoRMBap3wEBnvbILvg_aozuTw,193
2
- gym_examples/envs/__init__.py,sha256=lgMe4pyOuUTgTBUddM0iwMlETsYTwFShny6ifm8PGM8,53
3
- gym_examples/envs/wsn_env.py,sha256=M2bo_-wLWkXTJajQc7OgkT7vsXlCyGBTkfXA3ipFSc0,13265
4
- gym_examples-2.0.31.dist-info/METADATA,sha256=XZzdSuDCJ2CXoAF6osyaCT0nKN9xRQoL5GksbJvxnq4,411
5
- gym_examples-2.0.31.dist-info/WHEEL,sha256=2wepM1nk4DS4eFpYrW1TTqPcoGNfHhhO_i5m4cOimbo,92
6
- gym_examples-2.0.31.dist-info/top_level.txt,sha256=rJRksoAF32M6lTLBEwYzRdo4PgtejceaNnnZ3HeY_Rk,13
7
- gym_examples-2.0.31.dist-info/RECORD,,