gym-examples 2.0.50__py3-none-any.whl → 2.0.52__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.50"
9
+ __version__ = "2.0.52"
@@ -115,10 +115,10 @@ 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.mean(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]
121
+ rewards = [0.5 * r + 0.5 * (1/self.n_sensors) * (self.network_reward_consumption_energy() + self.network_reward_dispersion_remaining_energy()) for r in rewards]
122
122
 
123
123
  for i in range(self.n_sensors):
124
124
  if (self.remaining_energy[i] <= 0) or (self.number_of_packets[i] <= 0):
@@ -185,7 +185,7 @@ class WSNRoutingEnv(gym.Env):
185
185
  # Normalize the angle
186
186
  normalized_angle = abs(angle) / np.pi
187
187
 
188
- return 1 - normalized_angle
188
+ return np.clip(1 - normalized_angle, 0, 1)
189
189
 
190
190
  def compute_reward_distance(self, i, action):
191
191
  '''
@@ -198,7 +198,7 @@ class WSNRoutingEnv(gym.Env):
198
198
  # Normalize the distance to the next hop
199
199
  normalized_distance_to_next_hop = distance / self.coverage_radius
200
200
 
201
- return 1 - normalized_distance_to_next_hop
201
+ return np.clip(1 - normalized_distance_to_next_hop, 0, 1)
202
202
 
203
203
  def compute_reward_consumption_energy(self, i, action):
204
204
  '''
@@ -219,7 +219,7 @@ class WSNRoutingEnv(gym.Env):
219
219
  max_total_energy = max_transmission_energy + max_reception_energy
220
220
  normalized_total_energy = total_energy / max_total_energy
221
221
 
222
- return 1 - normalized_total_energy
222
+ return np.clip(1 - normalized_total_energy, 0, 1)
223
223
 
224
224
  def compute_reward_dispersion_remaining_energy(self):
225
225
  '''
@@ -242,7 +242,7 @@ class WSNRoutingEnv(gym.Env):
242
242
  else:
243
243
  normalized_number_of_packets = self.number_of_packets[action] / max_number_of_packets
244
244
 
245
- return 1 - normalized_number_of_packets
245
+ return np.clip(1 - normalized_number_of_packets, 0, 1)
246
246
 
247
247
  def compute_individual_rewards(self, i, action):
248
248
  '''
@@ -251,10 +251,11 @@ class WSNRoutingEnv(gym.Env):
251
251
  reward_angle = self.compute_reward_angle(i, action)
252
252
  reward_distance = self.compute_reward_distance(i, action)
253
253
  reward_consumption_energy = self.compute_reward_consumption_energy(i, action)
254
- reward_dispersion_remaining_energy = self.compute_reward_dispersion_remaining_energy()
254
+ # reward_dispersion_remaining_energy = self.compute_reward_dispersion_remaining_energy()
255
255
  reward_number_of_packets = self.compute_reward_number_of_packets(action)
256
256
 
257
- return [reward_angle, reward_distance, reward_consumption_energy, reward_dispersion_remaining_energy, reward_number_of_packets]
257
+ # return [reward_angle, reward_distance, reward_consumption_energy, reward_dispersion_remaining_energy, reward_number_of_packets]
258
+ return [reward_angle, reward_distance, reward_consumption_energy, reward_number_of_packets]
258
259
 
259
260
  def network_reward_dispersion_remaining_energy(self):
260
261
  '''
@@ -277,7 +278,7 @@ class WSNRoutingEnv(gym.Env):
277
278
  max_reception_energy = self.reception_energy(self.n_sensors * initial_number_of_packets)
278
279
  normalized_total_energy = total_energy / (max_transmission_energy + max_reception_energy)
279
280
 
280
- return 1 - normalized_total_energy
281
+ return np.clip(1 - normalized_total_energy, 0, 1)
281
282
 
282
283
  def integrate_mobility(self):
283
284
  '''
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: gym-examples
3
- Version: 2.0.50
3
+ Version: 2.0.52
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=6aaeH8rkfL_LI7cvWeIw12KjsNXo-mMyDfYWUedc1AU,193
2
+ gym_examples/envs/__init__.py,sha256=lgMe4pyOuUTgTBUddM0iwMlETsYTwFShny6ifm8PGM8,53
3
+ gym_examples/envs/wsn_env.py,sha256=0B3NR4ovrgafYv1oIm-EG_tnReB965W5QICY7rQnKVk,14999
4
+ gym_examples-2.0.52.dist-info/METADATA,sha256=kZ8UE_UTc9Qyoo82ZMIyZWBMCRLtBvRcup6mKDBSbcE,411
5
+ gym_examples-2.0.52.dist-info/WHEEL,sha256=2wepM1nk4DS4eFpYrW1TTqPcoGNfHhhO_i5m4cOimbo,92
6
+ gym_examples-2.0.52.dist-info/top_level.txt,sha256=rJRksoAF32M6lTLBEwYzRdo4PgtejceaNnnZ3HeY_Rk,13
7
+ gym_examples-2.0.52.dist-info/RECORD,,
@@ -1,7 +0,0 @@
1
- gym_examples/__init__.py,sha256=vQ37pkZ5W5E2Poo_7k2_PSIW-D1ekmFKIbmjgp4quqg,193
2
- gym_examples/envs/__init__.py,sha256=lgMe4pyOuUTgTBUddM0iwMlETsYTwFShny6ifm8PGM8,53
3
- gym_examples/envs/wsn_env.py,sha256=I9UO0beru5MhLxxb8JRMCCLqm6ZvKZ24blYD0cFuUtg,14785
4
- gym_examples-2.0.50.dist-info/METADATA,sha256=Nd4YwzGfy1O3zWqQ-AmE3WmpUIMEd2vL122tLuVkUyI,411
5
- gym_examples-2.0.50.dist-info/WHEEL,sha256=2wepM1nk4DS4eFpYrW1TTqPcoGNfHhhO_i5m4cOimbo,92
6
- gym_examples-2.0.50.dist-info/top_level.txt,sha256=rJRksoAF32M6lTLBEwYzRdo4PgtejceaNnnZ3HeY_Rk,13
7
- gym_examples-2.0.50.dist-info/RECORD,,