Travail pratique: flux de matériel

But du travail

Expérimenter avec la simulation d'un système dynamique discret. Se familiariser avec la méthode d'IA appelée behavior tree.

Ce travail peut être fait en équipe de 2 personnes.

Quoi?

Nous allons utiliser les behavior tree pour simuler le comportement dynamique d'un système discret. L'intégration temporelle sera en pas continu et nous allons représenter les effets aléatoires via une approche Monte-Carlo.

Représentation schématique du système à l'étude

Le système est une mine de fer et nous allons considéré les éléments apparaissant sur le schéma ci-dessous.

But de l'étude par simulation

Le but est d'utiliser le simulateur pour prédire la fréquence d'approvisionnement par train, la fréquence d'expédition par bateau et la capacité des aires remisages: citernes, pits.

Détails du système

Le minerai de fer brut est extrait au rythme moyen de 30 tonnes par jour. Cependant, l'extraction fluctue beaucoup et on veut en tenir compte dans l'étude. La production quotidienne est bien représenté par une loi de probabilité triangulaire avec une production minimale de 10 tonnes par jour et un mode de 20 tonnes par jour.

Après leur réception par train, les 2 produits chimiques liquides (base et solvant) sont mélangés et placés dans une citerne. Le mélange contient 2 fois plus de solvant que de base.

Le traitement du minerai brut par lavement ne démarre que s'il y a au moins 50 tonnes de minerai brut dans le pit no 1. Le traitement se fait au rythme moyen de 10 tonnes par heures et il faut 1000 litres du mélange chimique pour laver une tonne de minerai. Évidemment, le traitement ne commence que s'il y suffisamment de mélange dans la citerne.

L'approvisionnement par train est au besoin, mais un train doit avoir au minimum 10 wagons. Les produits chimiques sont dans des wagons séparés contenant chacun 30000 litres.

L'expédition par bateau est au besoin. Un bateau contient 2000 tonnes et on commence le chargement que s'il y a suffisamment de minerai dans le pit no 2. Le chargement est au rythme de 100 tonnes par heures.

L'extraction est en continu et on suppose que les autres éléments sont opérés au besoin. C'est-à-dire qu'il y a toujours des opérateurs disponible pour le faire.

Comment?

Étape 1: connaissances de base sur les behavior tree

Lire l'article behavior tree. Une bibliothèque est disponible avec quelques exemples de feuilles (actions et conditions) pour un problème similaire.

Étape 2: mise en oeuvre du simulateur

On vous demande de mettre en oeuvre le simulateur dynamique et stochastique en Python avec un rendering graphique. La simulation peut être à l'échelle de temps d'une minute. Les caractéristiques tel la fréquence d'affichage et les paramètres variables du systèmes doivent être dans un fichier nommé "config.py".

Étape 3: validation

Valider le modèle en surface via un rendering graphique.

Étape 4: étude par simulation

Proposer des réponses aux questions de l'étude.

Quoi remettre?

Un rapport en pdf, avec le code Python annexé. Tout ça dans un fichier zip envoyé électroniquement au professeur (voir date de remise dans le plan de cours). Assurez-vous de bien identifier votre courriel.