gym-examples 2.0.55__py3-none-any.whl → 2.0.57__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.55"
9
+ __version__ = "2.0.57"
@@ -57,6 +57,7 @@ class WSNRoutingEnv(gym.Env):
57
57
  self.episode_count = 0
58
58
  self.scale_displacement = 0.01 * (upper_bound - lower_bound) # scale of the random displacement of the sensors
59
59
  self.epsilon = 1e-10 # small value to avoid division by zero
60
+ self.rewards_individual = [0] * self.n_sensors
60
61
 
61
62
  # Define observation space
62
63
  self.observation_space = Tuple(
@@ -67,7 +68,10 @@ class WSNRoutingEnv(gym.Env):
67
68
  self.reset()
68
69
 
69
70
  def reset(self):
70
-
71
+ # print individual rewards
72
+ print("\n=================================================")
73
+ print(f"Rewards: {[[self.rewards_individual[i], self.network_reward_consumption_energy(), self.network_reward_dispersion_remaining_energy()] for i in range(self.n_sensors)]}")
74
+ print("==================================================\n")
71
75
  # Initialize the position of the sensors randomly
72
76
  self.sensor_positions = np.random.rand(self.n_sensors, 2) * (upper_bound - lower_bound) + lower_bound
73
77
  self.distance_to_base = np.linalg.norm(self.sensor_positions - base_station_position, axis=1)
@@ -80,6 +84,7 @@ class WSNRoutingEnv(gym.Env):
80
84
 
81
85
  def step(self, actions):
82
86
  rewards = [0] * self.n_sensors
87
+ self.rewards_individual = [0] * self.n_sensors
83
88
  dones = [False] * self.n_sensors
84
89
  for i, action in enumerate(actions):
85
90
 
@@ -115,12 +120,13 @@ class WSNRoutingEnv(gym.Env):
115
120
  # Calculate final reward
116
121
  # rewards_individual = torch.tensor(rewards[i], dtype=torch.double)
117
122
  # final_reward = net(rewards_individual)
123
+ self.rewards_individual[i] = rewards[i]
118
124
  final_reward = np.sum(rewards[i])
119
125
  rewards[i] = final_reward
120
- print("\n=================================================")
121
- print(f"Rewards: {[[rewards[i], self.network_reward_consumption_energy(), self.network_reward_dispersion_remaining_energy()] for i in range(self.n_sensors)]}")
122
- 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]
123
- print("==================================================\n")
126
+
127
+ # 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]
128
+ rewards = [0.5 * r + 0.5 * (self.network_reward_consumption_energy() + self.network_reward_dispersion_remaining_energy()) for r in rewards]
129
+ self.rewards_individual = [[r, self.network_reward_consumption_energy(), self.network_reward_dispersion_remaining_energy()] for r in self.rewards_individual]
124
130
  for i in range(self.n_sensors):
125
131
  if (self.remaining_energy[i] <= 0) or (self.number_of_packets[i] <= 0):
126
132
  dones[i] = True
@@ -212,14 +218,14 @@ class WSNRoutingEnv(gym.Env):
212
218
  distance = np.linalg.norm(self.sensor_positions[i] - self.sensor_positions[action])
213
219
  transmission_energy = self.transmission_energy(self.number_of_packets[i], distance)
214
220
  reception_energy = self.reception_energy(self.number_of_packets[i])
215
- # total_energy = transmission_energy + reception_energy
216
- total_energy = transmission_energy
221
+ total_energy = transmission_energy + reception_energy
222
+ # total_energy = transmission_energy
217
223
 
218
224
  # Normalize the total energy consumption
219
225
  max_transmission_energy = self.transmission_energy(self.n_sensors * initial_number_of_packets, self.coverage_radius)
220
226
  max_reception_energy = self.reception_energy(self.n_sensors * initial_number_of_packets)
221
- # max_total_energy = max_transmission_energy + max_reception_energy
222
- max_total_energy = max_transmission_energy
227
+ max_total_energy = max_transmission_energy + max_reception_energy
228
+ # max_total_energy = max_transmission_energy
223
229
  normalized_total_energy = total_energy / max_total_energy
224
230
 
225
231
  return np.clip(1 - normalized_total_energy, 0, 1)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: gym-examples
3
- Version: 2.0.55
3
+ Version: 2.0.57
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=01VDdzN_SbYr_5dKx66uCyvGnM5ZLNPARRNolC5y5io,193
2
+ gym_examples/envs/__init__.py,sha256=lgMe4pyOuUTgTBUddM0iwMlETsYTwFShny6ifm8PGM8,53
3
+ gym_examples/envs/wsn_env.py,sha256=GWO7toTzhMb8_knk9IqylWYmKdMGIu-_vjUDaOy93wE,15946
4
+ gym_examples-2.0.57.dist-info/METADATA,sha256=xx2bmn5KT-dwZioEANxTHjglopFVesbUevoM6RPHzKk,411
5
+ gym_examples-2.0.57.dist-info/WHEEL,sha256=2wepM1nk4DS4eFpYrW1TTqPcoGNfHhhO_i5m4cOimbo,92
6
+ gym_examples-2.0.57.dist-info/top_level.txt,sha256=rJRksoAF32M6lTLBEwYzRdo4PgtejceaNnnZ3HeY_Rk,13
7
+ gym_examples-2.0.57.dist-info/RECORD,,
@@ -1,7 +0,0 @@
1
- gym_examples/__init__.py,sha256=vnWhhwCczJ-SFYD9e9tkVw0v8gya25yTvJHPjBeSm-U,193
2
- gym_examples/envs/__init__.py,sha256=lgMe4pyOuUTgTBUddM0iwMlETsYTwFShny6ifm8PGM8,53
3
- gym_examples/envs/wsn_env.py,sha256=aoL7il1bOsPoyBp7HchTRRpumVMIiBAD7kDD53jIck0,15411
4
- gym_examples-2.0.55.dist-info/METADATA,sha256=BAqN3wGi55dKSDpBVPjBbSXbCMccK7M8jIO2Ry1AnXY,411
5
- gym_examples-2.0.55.dist-info/WHEEL,sha256=2wepM1nk4DS4eFpYrW1TTqPcoGNfHhhO_i5m4cOimbo,92
6
- gym_examples-2.0.55.dist-info/top_level.txt,sha256=rJRksoAF32M6lTLBEwYzRdo4PgtejceaNnnZ3HeY_Rk,13
7
- gym_examples-2.0.55.dist-info/RECORD,,