... | ... | @@ -59,6 +59,8 @@ Le reflex `testRestockNeeded` se contente de faire appeler la fonction `recursiv |
|
|
|
|
|
Cette fonction `recursiveTests` va vérifier l'état des stocks du SCE appelant. Si le niveau d'un stock est trop faible, alors, le SCE crée un objet `Order` correspondant à une commande de marchandise. Un stock est jugé trop faible si : `la quantité du stock < (sa quantité maximale * le seuil de réapprovisionnement du prestataire)`. Lorsqu'une commande est passée, le stock est marqué afin qu'on ne passe pas plusieurs commandes avant la réception du réapprovisionnement.
|
|
|
|
|
|
On précise néanmoins qu'il n'est pas possible de passer une commande dont la quantité est supérieur à la quantité maximale transportable par un camion. Cette quantité maximale est définie par la variable `maximalTransportedVolume` dans le fichier `Transporters.gaml` au sein du type agent `RoadTransporter`. Si un stock nécessite une quantité plus importante pour être réapprovisionné, alors on décompose la commande en créant plusieurs objets `Order`.
|
|
|
|
|
|
Le seuil de réapprovisionnement est une variable sous la forme d'un pourcentage que possède localement chaque prestataire. Néanmoins, l'utilisateur peut choisir si les prestataires doivent partager la même valeur de seuil via le booléen `localThreshold`. S'il est vrai, alors, à l'initialisation, chaque prestataire choisit une valeur comprise entre `minlocalThreshold` et `maxlocalThreshold` (en général valant respectivement 5% et 20%). S'il est faux, alors les prestataires choisissent tous la valeur définie par `globalThreshold`.
|
|
|
|
|
|
`localThreshold`, `minlocalThreshold`, `maxlocalThreshold` et `globalThreshold` sont tous des paramètres globaux définis dans `Parameters.gaml`.
|
... | ... | |