MilkyRoutes es un proyecto desarrollado en Java que utiliza algoritmos avanzados y estructuras de datos para optimizar rutas en la distribución de productos lácteos. Utiliza un grafo para representar las conexiones y aplica algoritmos de caminos mínimos para encontrar las rutas óptimas.
El proyecto MilkyRoutes está diseñado para gestionar y optimizar la distribución de productos lácteos mediante el uso de algoritmos avanzados y estructuras de datos eficientes. El sistema permite registrar productores, tambos (establecimientos de ordeñe), ciudades y centros de pasteurización, así como definir tramos entre ellos utilizando un grafo.
- Registro de Productores: Permite registrar productores con su información personal y de contacto.
- Registro de Ciudades: Permite registrar ciudades con sus coordenadas geográficas.
- Registro de Tambos: Permite registrar tambos asociados a productores específicos, con su ubicación y capacidad.
- Registro de Centros de Pasteurización: Permite registrar centros de pasteurización con su ubicación y capacidad.
- Definición de Tramos: Permite definir tramos entre puntos en el mapa, especificando la distancia entre ellos.
- Optimización de Rutas: Utiliza el algoritmo de Dijkstra para encontrar la ruta más corta entre un tambo y el centro de pasteurización más cercano.
- Grafo: Representa las conexiones entre ciudades, tambos y centros de pasteurización.
- Árbol AVL: Utilizado para almacenar y gestionar la información de los productores de manera eficiente.
- Hashing: Empleado para la rápida búsqueda y almacenamiento de puntos en el mapa.
- Algoritmo de Dijkstra: Utilizado para encontrar el camino más corto en el grafo, optimizando las rutas de distribución.
- Java 11 o superior
- Maven
- Clona el repositorio:
git clone https://github.com/srodriguezamarillo/milkRoutes.git cd milkRoutes
- Compila el proyecto con Maven:
mvn clean install
- Para ejecutar las pruebas del proyecto, utiliza el siguiente comando:
mvn test
El proyecto está estructurado de la siguiente manera:
- src/main/java: Contiene el código fuente principal del proyecto.
- src/test/java: Contiene las pruebas unitarias del proyecto.
- pom.xml: Archivo de configuración de Maven.
Si deseas contribuir a este proyecto, por favor sigue los siguientes pasos:
-
Haz un fork del repositorio.
-
Crea una nueva rama para tus cambios:
git checkout -b feature-nueva-funcionalidad
-
Realiza tus cambios y haz commit de los mismos:
git commit -m 'Agregar nueva funcionalidad'
-
Sube tus cambios a tu repositorio fork:
git push origin feature-nueva-funcionalidad
-
Abre un Pull Request en el repositorio original.
Para más detalles, consulta el archivo LICENSE.
Si tienes alguna pregunta o sugerencia, no dudes en ponerte en contacto: