gym-examples 2.0.79__py3-none-any.whl → 2.0.81__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.79"
9
+ __version__ = "2.0.81"
@@ -57,7 +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
+ # self.rewards_individual = [0] * self.n_sensors
61
61
  # Initialize the position of the sensors randomly
62
62
  self.sensor_positions = np.random.rand(self.n_sensors, 2) * (upper_bound - lower_bound) + lower_bound
63
63
  self.distance_to_base = np.linalg.norm(self.sensor_positions - base_station_position, axis=1)
@@ -75,11 +75,11 @@ class WSNRoutingEnv(gym.Env):
75
75
  def reset(self):
76
76
  # print individual rewards
77
77
 
78
- if self.rewards_individual != []:
79
- print("\n=================================================")
80
- print(f"Episode: {self.episode_count}")
81
- print(f"Rewards: {self.rewards_individual}")
82
- print("=================================================\n")
78
+ # if self.rewards_individual != []:
79
+ # print("\n=================================================")
80
+ # print(f"Episode: {self.episode_count}")
81
+ # print(f"Rewards: {self.rewards_individual}")
82
+ # print("=================================================\n")
83
83
  # Initialize remaining energy of each sensor to initial_energy joule
84
84
  self.remaining_energy = np.ones(self.n_sensors) * initial_energy
85
85
  self.consumption_energy = np.zeros(self.n_sensors)
@@ -89,7 +89,7 @@ class WSNRoutingEnv(gym.Env):
89
89
 
90
90
  def step(self, actions):
91
91
  rewards = [0] * self.n_sensors
92
- self.rewards_individual = [0] * self.n_sensors
92
+ # self.rewards_individual = [0] * self.n_sensors
93
93
  dones = [False] * self.n_sensors
94
94
  for i, action in enumerate(actions):
95
95
 
@@ -106,6 +106,9 @@ class WSNRoutingEnv(gym.Env):
106
106
  continue # Skip if sensor tries to transmit data to itself
107
107
 
108
108
  if action == self.n_sensors:
109
+ if self.distance_to_base[i] > self.coverage_radius:
110
+ continue # Skip if the distance to the base station is greater than the coverage radius
111
+
109
112
  # Calculate the energy consumption and remaining for transmitting data to the base station
110
113
  transmission_energy = self.transmission_energy(self.number_of_packets[i], self.distance_to_base[i])
111
114
  self.update_sensor_energies(i, transmission_energy)
@@ -113,6 +116,9 @@ class WSNRoutingEnv(gym.Env):
113
116
  dones[i] = True
114
117
  else:
115
118
  distance = np.linalg.norm(self.sensor_positions[i] - self.sensor_positions[action])
119
+ if distance > self.coverage_radius:
120
+ continue # Skip if the distance to the next hop is greater than the coverage radius
121
+
116
122
  transmission_energy = self.transmission_energy(self.number_of_packets[i], distance)
117
123
  reception_energy = self.reception_energy(self.number_of_packets[i])
118
124
  self.update_sensor_energies(i, transmission_energy)
@@ -125,7 +131,7 @@ class WSNRoutingEnv(gym.Env):
125
131
  # Calculate final reward
126
132
  # rewards_individual = torch.tensor(rewards[i], dtype=torch.double)
127
133
  # final_reward = net(rewards_individual)
128
- self.rewards_individual[i] = rewards[i]
134
+ # self.rewards_individual[i] = rewards[i]
129
135
  final_reward = np.sum(rewards[i])
130
136
  rewards[i] = final_reward
131
137
 
@@ -133,7 +139,7 @@ class WSNRoutingEnv(gym.Env):
133
139
  # rewards = [0.5 * r + 0.5 * (self.network_reward_consumption_energy() + self.network_reward_dispersion_remaining_energy()) for r in rewards]
134
140
 
135
141
  # Only proceed if network consumption energy is not zero to avoid unnecessary list comprehension
136
- self.rewards_individual = [r for r in self.rewards_individual if ((r != 0) and (r[len(r) -1] < 1))]
142
+ # self.rewards_individual = [r for r in self.rewards_individual if ((r != 0) and (r[len(r) -1] < 1))]
137
143
 
138
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))]
139
145
  for i in range(self.n_sensors):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: gym-examples
3
- Version: 2.0.79
3
+ Version: 2.0.81
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=bowSmkeNAOZSe_xKiNCfFdMmeF7fyV4gyu5a13H9RZE,193
2
+ gym_examples/envs/__init__.py,sha256=lgMe4pyOuUTgTBUddM0iwMlETsYTwFShny6ifm8PGM8,53
3
+ gym_examples/envs/wsn_env.py,sha256=ePw-tBdSKYUR2G1l5VD0yTMqFSIRerTxBf49kLw5DGg,17066
4
+ gym_examples-2.0.81.dist-info/METADATA,sha256=mp1kGR4uMvgCxdrjfBjt0QPTyJqIKd8T-Fwi7YvgoZ0,411
5
+ gym_examples-2.0.81.dist-info/WHEEL,sha256=2wepM1nk4DS4eFpYrW1TTqPcoGNfHhhO_i5m4cOimbo,92
6
+ gym_examples-2.0.81.dist-info/top_level.txt,sha256=rJRksoAF32M6lTLBEwYzRdo4PgtejceaNnnZ3HeY_Rk,13
7
+ gym_examples-2.0.81.dist-info/RECORD,,
@@ -1,7 +0,0 @@
1
- gym_examples/__init__.py,sha256=60kE6HFM4-uZSatHGKbkRoOAaZQGRuOZAcrz7NDyiPI,193
2
- gym_examples/envs/__init__.py,sha256=lgMe4pyOuUTgTBUddM0iwMlETsYTwFShny6ifm8PGM8,53
3
- gym_examples/envs/wsn_env.py,sha256=SyD3DwXcsuSpLHxZhaVFnL3oe4KbdvQvP-bm8qIquhs,16706
4
- gym_examples-2.0.79.dist-info/METADATA,sha256=Yq5hVewL-_sXk8r7ATRsBENfobdaCx5qLp6jBvwNkn4,411
5
- gym_examples-2.0.79.dist-info/WHEEL,sha256=2wepM1nk4DS4eFpYrW1TTqPcoGNfHhhO_i5m4cOimbo,92
6
- gym_examples-2.0.79.dist-info/top_level.txt,sha256=rJRksoAF32M6lTLBEwYzRdo4PgtejceaNnnZ3HeY_Rk,13
7
- gym_examples-2.0.79.dist-info/RECORD,,