2016-04-14 2 views
0

J'utilise l'outil Optaplanner VRP pour résoudre certaines instances de VRP. Existe-t-il un moyen de voir le nombre de véhicules utilisés en temps réel? De plus, quel algorithme Optaplanner utilise-t-il pour résoudre le VRP?Nombre de véhicules en temps réel

Merci, Mayank

Répondre

0

Lorsque vous écoutez de nouveaux meilleurs événements de solutions en temps réel (Solver.addSolverListener), il est facile de déterminer le nombre de véhicules utilisés, par itérer tous Vehicle cas et vérifier si nextVisit ISN » t null.

Notez que si vous voulez réduire le nombre de véhicules d'occasion, vous aurez besoin d'ajouter une contrainte dure ou softt pour ce qui est simple: when Vehicle(nextVisit != null) then addHard(-1); end

En ce qui concerne l'algorithme utilisé pour résoudre VRP: vérification le solveur config XML. Nous supportons beaucoup d'algo, dans le XML de configuration vrp benchmark, nous les laissons se battre les uns contre les autres pour déterminer le meilleur algo pour la production.

+0

Merci beaucoup, Geoff. Je me demandais simplement si l'algorithme supporte également des capacités hétérogènes pour les véhicules, c'est-à-dire que le véhicule 1 a une capacité de 200 et le véhicule 2 a une capacité de 100 ... et ainsi de suite. Merci encore !! – user2876943

+0

Je suis très nouveau à Optaplanner. J'ai juste couru le runExampls.bat pour essayer quelques instances de VRP. Suite à votre suggestion, j'ai apporté des modifications au fichier "vehicleRoutingScoreRules.drl" situé à "optaplanner-distribution-6.3.0.Final \ examples \ sources \ src \ main \ ressources \ org \ optaplanner \ examples \ vehiclerouting \ solver". Est-ce exact? J'ai ajouté la contrainte: règle "minVehicles" \t quand \t \t véhicule $: Véhicule (! NextVisit = null) \t puis \t \t scoreHolder.addHardConstraintMatch (kcontext, -1); end Toutefois, je ne vois aucun effet lors de l'utilisation du fichier runExamples.bat. Y a-t-il un lien auquel je peux me référer? Merci – user2876943

+0

voir les documents "exécuter des exemples de la source" (le .bat et .sh les exécuter à partir des binaires jar) –