AI-Based and Mobility-aware Energy Efficient Resource Allocation and Trajectory Design for NFV enabled Aerial Networks

Citation Author(s):
Mohsen
Pourghasemian
Mohammad Reza
Abedi
Shima
Salarhoseini
Mohammad Reza
Javan
Nader
Mokari
Eduard
A Jorswieck
Submitted by:
Mohsen Pourghasemian
Last updated:
Tue, 06/15/2021 - 02:54
DOI:
10.21227/4ma4-3z49
License:
5
1 rating - Please login to submit your rating.

Abstract 

This repository includes the DDPG, MADDPG, HHCDA, and MAHHCDA based on the paper "AI-Based and Mobility-aware Energy Efficient Resource Allocation and Trajectory Design for NFV enabled Aerial Networks".

Instructions: 

#  AI-Based and Mobility-aware Energy Efficient Resource Allocation and Trajectory Design for NFV enabled Aerial Networks

 

This repository includes the DDPG, MADDPG, HHCDA, and MAHHCDA deep reinforcement learning methods based on the paper.

## Special thanks to Dr. Phil Winder

 

## Dependencies

- Python 3.6+ (tested with 3.6 and 3.7)

- tensorflow 1.15+

- gym

- numpy

- networkx

- matplotlib

 

 

## System minimum requirements

 

-CPU: Intel Corei3 at 2.0 GHz.

-RAM: 16 GB.

 

 

## Preparing

 

The NFV enabled UAV network environment is written on top of gym environment. There are four different environments as "UAV_NFV_DDPG.py", "UAV_NFV_MADDPG.py", "UAV_NFV_HHCDA.py", and "UAV_NFV_MAHHCDA.py" in the repository.

You need to add these environments into the gym enviornment and register them. To create and register a custom gym environment, please visit the URL below:

https://towardsdatascience.com/creating-a-custom-openai-gym-environment-...

 

After adding those UAV_NFV environments, the code is prepared to be executed.

 

 

## Example Usage

 

For running each method, go to the relevant directory and simply type the following command:

 

For DDPG:

$ python main_DDPG.py 

 

For MADDPG:

$ python main_MADDPG.py

 

For HHCDA:

$ python main_HHCDA.py

 

For MAHHCDA:

$ python main_MAHHCDA.py

 

The code for each method, generates some text files related to the instantaneous and the cumulative reward in the "instant" and "cumulative" directories, respectively. You need to create these directories.

Finally, you can easily plot the results by importing the text files in to excel or MATLAB.