2016-12-14 4 views
1

Je veux mettre à jour le calendrier de l'itinéraire (arrivée) avec le trafic actuel dans la ville.Alors j'ai récupéré plusieurs matrices de temps à partir de Google API.Now lors du routage de l'arrivée l'heure doit être calculée à partir de la matrice récupérée pour cet intervalle de temps. Par exemple: J'ai récupéré 3 Time Matrix. 10:00 {N * N} 12:00 {N * N} et 14:00 {N * N} Si l'heure d'arrivée de client précédent est 11:00 alors pour le client suivant, l'heure doit être récupérée à partir de Matrix 12:00 {} .Comment passer plusieurs matrices de temps (N * N) à optaplanner

Alors Comment est-ce que je pourrais faire ceci en utilisant Optaplanner? Dites-moi si quelqu'un a besoin de plus d'explications. Merci

Répondre

1

L'utilisation de cette matrice d'OptaPlanner n'est pas difficile. Il suffit de refactoriser RoadLocation.getDistanceTo(RoadLocation) à quelque chose comme RoadLocation.getDistanceTo(RoadLocation, LocalDateTime startingTime) et ajuster vos règles de score en conséquence.

Le gros problème est la mémoire lors de la mise à l'échelle. Si vous avez 10k emplacements, alors seulement 1 intervalle de temps coûte déjà presque 2GB de mémoire RAM ...