Code and data for the article "An Artificial Bee Colony Algorithm for Optimizing the Design of Sensor Networks"
DOI: 10.1007/978-3-030-03496-2_35
@inproceedings{panizo2018artificial,
title={An Artificial Bee Colony algorithm for optimizing the design of sensor networks},
author={Panizo, {\'A}ngel and Bello-Orgaz, Gema and Carnero, Mercedes and Hern{\'a}ndez, Jos{\'e} and S{\'a}nchez, Mabel and Camacho, David},
booktitle={International Conference on Intelligent Data Engineering and Automated Learning},
pages={316--324},
year={2018},
organization={Springer}
}
Having installed docker (https://www.docker.com/) and docker-compose (https://docs.docker.com/compose/install/).
- clone the repository.
- go to folder with the repository and run "docker-compose up".
- In the terminal find the line "Copy/paste this URL into your browser when you connect for the first time,to login with a token:" copy the url and paste it un your broswer.
- open host_data->notebooks->*.ipynb" to run the different experiments.
Inside jupyter home is the proyect structure:
├── historic_evolution
├── Hive
├── notebooks
│ ├── Case1_evolution.ipynb
│ ├── Case_1_experiments.ipynb
│ ├── Case2_evolution.ipynb
│ ├── Case_2_experiments.ipynb
│ ├── Case3_evolution.ipynb
│ └── Case_3_experiments.ipynb
├── sources
│ ├── mongo_connection
│ ├── plotting
│ ├── problem_formulation
│ ├── parallel_executions.py
│ ├── SensorNetworkDesignABC.py
│ └── settings.py
└── test
- sources: contains the code of the proyect.
- Hive: Custom Hive library for the ABC optimization.
- historic_evolution: contains the output pictures of the an execution evolution.
- notebooks: this folder stores the notebooks that allows to run the different experiments. The ones called evolution generates pictures with the fitness of the ABC for each iteration.
- test: this folder stores python unittest files.
- mongo_connection: contains all the code related to experiment execution/storage/loading
- plotting: code related to plot different metrics.
- problem_formulation: code for the three different SNDP that are tested, includes the feasibility tests.
- parallel_executions.py: code for loading several experiments in different threads.
- SensorNetworkDesignABC.py: code for the ABC for solving the SNDP.
- settings.py: python class for configuring the ABC for solving the SNDP