This project is about minimizing costs in garbage collection in Montevideo (city and state), Uruguay, using Evolutionary Algorithms techniques. This was presented as a project in 2014 in the course Algoritmos Evolutivos (Evolutionary Algorithms) of the Facultad de Ingeniería (Faculty of Engineering), Universidad de la República (University of the Republic). Is based in real and open data (as of 2014), but also makes some assumptions. Read this file for information. For more information take a look at the final report or see the initial proposal, which are both in Spanish. The authors are Santiago Castro and Matías Mansilla, and the supervisor is Sergio Nesmachnow.
The code is written in C++ and uses Malva framework.
Example of distribution of containers in La Comercial neighborhood, Montevideo:
Histogram of the quantity of people assigned to containers:
Performance of the algorithm varying some parameters:
Fitness of the algorithm in different runs in CH04 zone:
Route of the solution for Thursdays for CH04 zone:
- Get the coordinates of each city block using MMQGIS plugin.
- Calculate the centroid of each one.
- Convert them from EPSG:32721 - WGS 84 / UTM zone 21S (WGS 84 / UTM zone 21S (SRID=32721)) to WGS 84 (SRID=4326).
yum install mpich mpich-devel
Download from MPICH the RPM mpich and mpich-devel files. Then convert to cpio format and extract them. Merge them in the same folder. Then link to this folder from Malva. In order to find the MPICH headers when compiling, use environment variables and/or pass arguments (changing the Makefile).
To use the code, copy the src
folder to the malva/rep folder.
Useful resources, ordered by the phase of the project:
- Map of Municipalities of Montevideo
- Map of Community Centers by Municipality
- Map of Montevideo's garbage containers
- File with containers and its positions in Montevideo
- Map of recyclable materials containers of Montevideo (not used in this work)
- Cleaning circuits of Montevideo
- CEMPRE, Uruguay - FAQ
- CEPIS/OPS-HDT 17: Simple method of analysis of solid waste
- Population and information of Montevideo by block
- Density of population of Montevideo state by neighborhood
- MMQGIS
- Get list of coordinates for points in a layer?
- Polygon Centroid Point Calculator
- Coordinates transformation on-line
- Google Maps Directions API
- Scrapy | A Fast and Powerful Scraping and Web Crawling Framework
- MPICH
- Malva framework
- Google Maps JavaScript API v3 example: directions waypoints
- How can I trigger a notification when a job/process ends?
- Linux - Find out CPU architecture information
- R: Histograms
- Lilliefors test for normality
- Mann-Whitney test
@misc{trsh,
author = {Santiago Castro and Mat{\'{i}}as Mansilla},
title = {Resoluci{\'{o}}n del problema de recolecci{\'{o}}n de residuos utilizando algoritmos gen{\'{e}}ticos},
year = {2014},
publisher = {GitHub},
journal = {GitHub repository},
howpublished = {\url{https://github.com/bryant1410/trsh}}
}