Anticipation des flux monétaires et de produits
pour une gestion optimale des revenus
Nicolas LeBlanc

APN / Schivo• Compagnie manufacturière basée dans le parc technologique à Québec• Usinage de pièces métalliques complexes et de haute précision• Domaine aéronautique, médical et des technologies• Type de production :• Développement constant de nouvelles pièces• Petits lots de production• Niveau d’automatisation élevé mais nécessite tout de même des humains.

2Processus de fabrication (1/2)• Usinage des pièces à l’aide d’une machine à contrôle numérique (CNC) qui
fonctionne par un processus d’enlèvement de matière.
• La machine est sous la responsabilité d’un opérateur qui gère :• Remplacement des outils• Gestion des non-conformités• Ajout de matière première• Des robots sont utilisés afin d’automatiser le processus de contrôle qualité.

• Un lot d’un certain nombre de pièces identiques est appelé « job », elles ont unnombre de tâches qui ont un ordre prédéfini.

3

Exemple CNC

4

Processus de fabrication (2/2)• Des tâches ont aussi lieu sur divers centres de travail avant et après l’étape d’usinage.
• Avant l’usinage :• Préparation du matériel et des outils• Découpe• Après l’usinage :• Polissage• Contrôle qualité additionnel• Assemblage• Sous-traitance• Emballage• Actuellement les tâches sont effectuées selon une politique « FIFO » (First In First Out).

5

Problématique• La façon actuelle de déterminer les flux monétaires est en utilisant une règle dupouce qui exclus de nombreux facteurs.
• Impossible d’identifier les retards potentiels car on ne sait pas à quel moment
les tâches de chaque job seront complétées.

• Est-ce que la façon de faire actuelle est la meilleure ?
• Pas de façon de quantifier l’impact de certaines décisions• Réduction ou augmentation de la main d’œuvre
• Réduction du temps en sous-traitance6

Contexte• Un projet antérieur (Ménard, 2021) en collaboration avec le consortium a déjàété effectué pour l’ordonnancement des « jobs » sur les machines.
• Dans ce cas-ci, on s’intéresse donc uniquement à l’ordonnancement des tâches
en aval de celles réalisées sur les machines.

7

Objectifs• Déterminer les flux monétaires selon la politique FIFO actuelle et lesrègles d’affaire en place.
• Maximiser les flux monétaires en proposant un ordonnancement destâches qui ne suit pas la politique FIFO.

• Effectuer des analyses de scénarios en mode « what if? »• Qu’est-ce qui se passe si un opérateur est ajouté au centre de travail du polissage ?
• Quelle est l’opération la plus critique ?
• Quel est l’impact de …

8

Sources de données• Deux systèmes utilisés par l’entreprise qui seront des sources de données.
• Système de gestion de la production développé à l’interne nommé Liggo.
• Temps de fin estimé des tâches en cours• Non conformités• Logiciel ERP (Entreprise Ressource Planning) utilisé est Microsoft
Dynamics Business Central.
• Étapes de production• Inventaire• Ordre de ventes• Ordre d’achats• Etc.

9Défi du traitement des données• Représente une partie importante du projet.
• Multiples sources de données amènent une complexité additionnelle.
• Traitement des données en entier à partir des bases de donnéescontenant les données brutes des deux systèmes.
• Pas immunisé aux erreurs dans les données qui affectent grandement lerésultat des modèles.

10

Données utilisées dans les modèles• Pour chaque tâche :• Temps de libération• Temps de traitement• Temps d’attente• Temps de livraison• Précédence• Revenu• Centre de travail affecté• Pour les centres de travail :• Capacité• Transformation de données:• Calcul du revenu, date de livraison → ordres de vente, inventaire• Calcul de la date de libération → disponibilité de la matière première, ordre d’achats• Calcul de la précédence → sous-composantes nécessaires

11Pour y arriver1

Simulation déterministe à évènements discrets• À ne pas confondre avec un modèle de simulation continue comme leserait une modélisation d’un système météorologique (interactions
constantes entre les vents, la pression atmosphérique, température, etc.)• Temps divisé en intervalles discrets.
• Des évènements provoquent des changements d’état• Arrivée d’un client à une caisse rend la caisse occupée.

• Se déroule en avançant dans le temps en fonction des évènements• Arrivée d’un client au temps 1, arrivé d’un autre au temps 3, départ du premier autemps 4, etc.

• Déterministe car dans ce cas les temps ne sont pas stochastiques, lasimulation donnera toujours le même résultat.

13

Modèle de simulation déterministe• Réalisé avec la librairie de simulation SimPy.
• Suit la politique FIFO employée actuellement.

• Prend en entrée les données mentionnées précédemment, retourne ensortie les temps de début et de fin des tâches.
• Permet de prendre en compte la capacité des machines, les besoins desous-composantes, etc. il est donc plus complet que la règle du pouce
utilisée.
• Servira aussi de scénario de base afin de pouvoir quantifier le gain obtenu
grâce au modèle d’optimisation.

14

Programmation par contraintes• La programmation par contraintes (aussi appelée CP) est un paradigme deprogrammation dans lequel les problèmes sont formulés à l’aide devariables dont les valeurs sont restreintes par des contraintes.
• Permet de définir un ensemble de variables, leurs domaines de valeurspossibles, ainsi que des contraintes qui régissent les relations entre cesvariables.
• L'objectif est de trouver une solution qui satisfait toutes les contraintes etoptimise la fonction objectif, en utilisant des techniques de recherche(des solveurs) pour explorer efficacement l'espace de solutions.

15Formulation du modèle d’optimisation

16

Modèle d’optimisation• Modélisé dans Minizinc en utilisant le solveur Chuffed.
• Heuristique de recherche smallest sur les temps de début des tâches.
• Un modèle de Mixed Integer Programming (MIP) a aussi été testé maisn’était pas performant sur des tailles d’instances réelles.
• La programmation par contraintes permet d’utiliser des algorithmes de filtrage plus
efficaces qu’un MIP dans ce cas• Chuffed utilise les « no goods », ce qui permet d’apprendre à partir des recherches
infructueuses faites dans l’arbre de recherche et ainsi accélérer le filtrage.

17

Résultats

18

Module de scénario « what if? »• Permet de tester différents scénarios à l’aide des deux modèles.
• Fonctionne en modifiant les données d’entrées du modèle et en
exécutant le modèle une ou plusieurs fois.
• Une seul fois si l’objectif est de tester un scénario précis.
• Plusieurs fois si le but est de déterminer la tâche la plus critique.

• Efficacité dépend du temps de résolution du modèle :• Modèle de simulation déterministe : ≈ 10 secondes• Modèle d’optimisation : ≈ 10 minutes (solution pas nécessairement optimal)

19

Résultats• À quel poste assigner un nouvel opérateur ?

• Quelle est l’opération la plus critique ?

20

Conclusion• Le modèle de simulation déterministe est un outil efficace pour prévoir lesflux monétaires chez le partenaire industriel.
• Continuer de raffiner le modèle en implantant d’autres règles d’affaires ets’ajuster selon le retour de la production.
• Le modèle d’optimisation présente des gains intéressants ce qui suggère qu’ily aurait avantage à laisser tomber la politique FIFO au profit d’unordonnancement obtenu grâce au modèle• L’utilisation de l’ordonnancement proposé par le modèle d’optimisationprésente un défi d’adaptation.

21

Merci !

22