This environment is a mixed cooperative-competitive game, which focuses on the coordination of the agents involved. Agents navigate a world and offload computing tasks to the edge computing-enabled CPU via user-centric wireless transmission.
Install using pip
pip install UCMEC
Or to ensure that you have the latest version:
git clone https://github.com/qlt315/UCMEC_env.git
cd UCMEC_env
pip install -e .
Create environments with the gym framework. First import
import UCMEC
Then create an environment:
env = gym.make("MA_UCMEC_env") # for multi-agent
or
env = gym.make("SA_UCMEC_env") # for single-agent
Similarly to Gym, step() function in multi-agent environment is defined as
obs, reward, done, info = env.step(actions)
Where obs, rewards, done and info are LISTS of N items (where N is the number of agents). The i'th element of each list should be assigned to the i'th agent. action space is a LIST of N*M numbers that should be executed in that step.(M is the number of actions for each agent, like offloading decision, power allocation, etc.)
- The paper that first uses this implementation of single-agent UCMEC environment:
@ARTICLE{9952196,
author={Qin, Langtian and Lu, Hancheng and Wu, Feng},
journal={IEEE Communications Magazine},
title={When the User-Centric Network Meets Mobile Edge Computing: Challenges and Optimization},
year={2023},
volume={61},
number={1},
pages={114-120},
doi={10.1109/MCOM.006.2200283}}
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Langtian Qin - qlt315@mail.ustc.edu.cn
Project Link: https://github.com/qlt315/UCMEC_env