top of page
  • Photo du rédacteurMichel-Henry Namy

BMN ou Entreprise Numérique

Examinons donc comment réaliser la modélisation numérique du fonctionnement d’une entreprise en l’appliquant pour l’instant uniquement aux processus industriels.


L’objectif du management de toute entreprise est d’optimiser son fonctionnement. La simulation sur base du BMN permet d’optimiser dans toutes ses dimensions de fonctionnement l’entreprise (ressources utilisées, matières premières, ressources humaines, financières, énergétiques, impact sur l’environnement, RSE, fonctionnement organisationnel, management, etc..).


Schéma 1



Ce processus reflète exactement le schéma décisionnel, qu’il soit effectué par un humain, un système ou un par une machine, et il est similaire au fonctionnement des neurones du cerveau humain (en première approche au moins !).



Le schéma général qui s’applique à l’entreprise, porte sur la transformation de ressources externes (matières premières, services, finance, etc..), en utilisant ses propres moyens (ressources humaines, règles, organisation, procédures, ressources techniques, matériels, machines, technologies, gestion, management, etc…), afin de produire un résultat (produit, service, niveau de service, satisfaction clientèle, etc..), répondant à des critères / contraintes (demande client, niveau de qualité, performance, cout de revient, finance, risque, RSE, etc…).



Ce processus consiste à intervenir en amont sur les inputs, en effectuant des ajustements de paramètres, ou encore à intervenir sur le processus lui-même en le régulant. Cette régulation consiste à adapter, corriger, ou modifier le processus de transformation.



Ce processus décisionnel (ou boucle de régulation, ou encore feed-back), met en œuvre des données, des activités humaines (saisies d’information, prise décision, contrôles, analyses, etc..) ou matérielles (machines, systèmes, traitements IT, etc..), ainsi que tout outil d’aide à la décision (par exemple Tableau de bord, contrôle de gestion, ou encore outils IT tels que l’IA ou le Machine Learning / Deep Learning).


Schéma 2



Prenons le cas de la fabrication d’un produit (mais cela reste vrai également pour une prestation de services). Cette fabrication est décomposable en procédures (ou nomenclatures de fabrication), faisant elles-mêmes l’objet de différentes activités (ou tâches), réalisées par du personnel qui occupe un poste de travail (ou une fonction) dans l’entreprise.


On peut représenter cette procédure de fabrication par un graphique de tâches, où figurent en lignes les activités (ou tâches) concernées et en colonnes les postes de travail (ou fonctions) qui s’y rapportent (c’est une vue partielle de la matrice précédente).



S'il est bien un élément basique en matière d'industrie, c'est le clou !

Il faut en moyenne entre 20.000 et 30.000 clous pour construire une maison aux USA, car la plupart des maisons sont à ossature bois et nécessitent beaucoup de clous pour leur construction.

Prenons le cas d’une entreprise qui produit des clous, en utilisant une ligne de production utilisant une machine simple et automatique qui permet de produire 450 clous à la minute, soit 27.000 clous par heure.

Cette entreprise est ainsi capable d'approvisionner en clous de différentes matières, longueurs et différents diamètres les quincailleries et artisans faisant partie de sa clientèle. Matières premières : Les clous sont produits à partir de fils d’acier et pour produire 450 clous, il est nécessaire d’utiliser 0,25 kg de fil d’acier du diamètre considéré.

Procédé de fabrication : Il suffit à l’opérateur d'introduire le fil d’acier dans la machine pour commencer la production, après réglage.

Caractéristiques techniques de la machine :

• Diamètre de clous : mm 0,9 - 1,6.

• Longueur du clou : mm 9 - 25.

• Capacité de production : pcs/min. 450.

• Puissance du moteur : KW. 1,5.

• Poids : kg. 1200.

• Dimension de la machine : mm 1440 * 1040 * 1270.

• Voltage : volt. 380.


En appliquant les éléments de la modélisation précédente à ce process de production, les éléments du Dataset sont constitués par les features et les targets associées, soit le Dataset (𝑿, Y) (deux matrices m x n, et m x 1) :

1) Les Features :

Il s’agit du vecteur ligne X1 avec ses composantes (x11, x12, x13, ...)

Ces données sont collectées toutes les 10 mn, elles se répartissent en 6 grandes familles : paramètres physiques, matière, énergie, réglages de la machine, ressources (temps homme, temps machine, finance, etc…), objectifs de performances (cf. ci-après le paragraphe explicatif sur le DPMO).

Soit en notation simplifiée :

· x1 Diamètre de clous 1,2 mm

· x2 Longueur de clous 15 mm

· x3 Resistance du métal (module d’élasticité de l’acier 200 Giga Pa)

· x4 Nombre de pièces par minutes (Pcs/mn) (= Capacite de production) 300

· x5 Temps de production 2 heures

· x6 Energie électrique consommée par le moteur 1,2*2 KWh = 2,4 KWh

· x7 Temps de suivi de production 10 mn (toutes les 10 mn une mesure est effectuée)

· x8 Temps de contrôle de production 1 mn (période pendant laquelle on vérifie si les pièces produites présentent ou non des défauts)

· x9 ‘ xσ ’ calculé (cf. paragraphe suivant) = 4

· x10 ‘ x% ’ calculé (cf. paragraphe suivant) = 99,37 %

· x11 Nombre de contrôles effectués pendant la période = 8

· x12 Nombre de défauts constatés pendant la période = 934


2) Les Targets :

Il s’agit du vecteur colonne Y avec ses composantes (y1, y2, y3, ...), chaque composante étant associée à chaque ligne constituée par les vecteurs Xj.

Comme indique au point suivant, le DPMO est une mesure permettant d’évaluer le niveau de qualité produit. En phase d’apprentissage on effectue toute une série d’essais sur la machine, et l’on mesure dans chaque cas l’ensemble des paramètres précédents (features x1, x2, x3, …). Le DPMO est calculé également dans chaque cas (le tableau ci-après ou une fonction similaire est utilisée).

Compte tenu du fait que l’on a défini à l’avance et par hypothèse le niveau qualité souhaité, c’est-à-dire dans ce cas le niveau 6 sigma, ainsi que le seuil d’incertitude qui lui est associé (par exemple 4 et 99,37), la valeur de la target (y) sera déterminée par l’expression :

Si 1000 < DPMO < 6000, alors y prend la valeur 1 (OK)

Sinon y prend la valeur 0 (NOK)


· y Valeur égale à 0 ou 1, suivant le nombre de clous présentant un défaut inférieur à 0,63 % (soit 1 – 99,37))


Graphique 6 sigma : Schéma 3



Le graphique précèdent matérialise le tableau ‘ 6 sigma ’, sous la forme de la courbe en rouge, ainsi le niveau de qualité augmente simultanément avec la diminution du seuil d’incertitude de la mesure. Dans notre exemple le point indique les valeurs ‘ σ ’ et ‘ % ’ (par exemple 4 et 99,37).

Les réglages optimaux de la machine seront obtenus pour un niveau de valeurs ‘σ’ et ‘%’ donné. La sous qualité correspond par exemple à des valeurs de ‘σ’ et ‘%’, inférieures à 4 et 99,37, de même que la surqualité pour des valeurs supérieures à 5 et 99,8 par exemple.

Le niveau de qualité doit être fixé dans des limites acceptables, par rapport au cahier des charges et aux besoins du client.



Le schéma d’apprentissage en Machine Learning proposé se déroule en boucles multiples de la façon suivante :

C’est au cours de cette phase que l’on va déterminer les paramètres du modèle. On va faire en sorte que le modèle apprenne pour un objectif de production donné, les « bons réglages » de la machine.

Cette phase d’essais se déroule ainsi :

1) Pour chaque essai on effectue un réglage de la machine

2) A chaque essai on mesure les variables de l’essai (le vecteur X)

3) Pour chaque essai on mesure les résultats obtenus (le vecteur Y), à savoir si le résultat est ou n’est pas dans la cible.

4) A la suite de quoi, et sur base de ces données, le programme IA détermine les paramètres du modèle


Au cours de cette phase, on utilise le modèle IA, avec les paramètres calculés dans l’étape d’apprentissage pour déterminer, les réglages satisfaisants pour un objectif de production donné, à savoir si pour un produit demandé, les réglages sont ou non dans la cible.

Cette phase de préproduction, qui est une phase de test se déroule ainsi :

1) On utilise les résultats de la phase précédente, et les réglages satisfaisant de la machine, c’est ainsi que l’on définit les variables de la préproduction (les vecteurs X)

2) On utilise le programme IA, sur base des paramètres appris en phase précédente pour calculer le résultat obtenu (les vecteurs Y), à savoir si le résultat est ou n’est pas dans la cible.


On règle la machine sur base des variables de la préproduction et des résultats obtenus en phase précédente (vecteur X) et l’on lance la production.

1) On règle la machine sur base des résultats de la préproduction (le vecteur X)

2) On lance la production, et l’on poursuit les mesures en fonction des besoins soit en cours de production soit en fin de production.

Ce qui peut être précisé à ce stade c’est que le processus de mesures peut être réalisé en cours de production, en suivant un séquençage déterminé.

3) Les paramètres de production ainsi mesurés (vecteur X et Y) sont enregistrés, et utilisés pour effectuer un contrôle qualité en cours de production, mais également réutilisés comme essais pour affiner le processus d’apprentissage du modèle de production (cf. phase d’essais, 4.3.1 Apprentissage).


Il est inutile de détailler la formulation mathématique qui sous-tend ce modèle, mais toutes informations peuvent être obtenues auprès de https://www.reedx.org/ .

Saisie directe des valeurs pour chaque essai dans un tableau Excel (BMN_CSV_format _XLS).

Le tableau Excel calcule directement les valeurs ‘σ’ et ‘%’.

Le programme développé en langage Python, lit le tableau Excel au format CSV, et le transforme en un fichier MySQL, dans la base de données BMN.

Schéma 4



Cette table MySQL, reprend sur 19 lignes les mesures effectuées au titre d’essais (train_set). Les 12 premiers champs correspondent aux paramètres (features), le dernier champ indique si le réglage est OK (= 1), ou NOK (= 0).

La dernière ligne correspond au réglage pour lequel on souhaite tester le modèle.


Le programme développé en langage Python est paramétré pour un réseau de neurones comportant 12 features en entrées, avec 3 couches de 32 neurones, et un neurone en sortie de modèle, avec activations et biais à chaque niveau. Il est paramétrable à 100% : nombre de features, nombre de couches, nombre de neurones par couche, learning rate, et nombre d’itérations.

Un simple rappel sur les principes du modèle : on calcule à chaque niveau la fonction linéaire de l’entrée du train_set sur base des paramètres, et la valeur de la sigmoïde, puis en rétropropagation les nouveaux paramètres sont calculés, auxquels on applique un gradient (fonction tangente), afin de réajuster les paramètres, pour ensuite relancer le modèle avec une nouvelle itération. A chaque itération on calcule la fonction cout (ou écart quadratique, ou encore log_loss), ainsi que l’écart avec les valeurs cibles des données d’entrainement (target et train_set). La convergence des valeurs obtenues est indiquée sur un graphique pour en vérifier la conformité.

Le programme développé en langage Python 12 MySQL BMN Réseau de Neurones Paramétrable .py, lit les données MySQL.

Affiche à la demande les features du train_set 2 à 2, pour visualiser et analyser les données.

Schéma 5



Le programme normalise l’ensemble des données, afin de rendre homogènes les calculs.


Sur ce graphique portant sur 2 features uniquement, on peut observer les réglages conformes (en jaune), les réglages non conformes (en vert fonce), ainsi que le réglage (en vert pomme) pour lequel le modèle doit prédire si le réglage est correct ou non.

On verra que par la suite, basé sur l’ensemble des features, le modèle prédit que ce réglage est correct.

Schéma 6



Le programme sur la base du train_set va comme indiqué précédemment, calculer les paramètres du modèle.

Les étapes consistent en :

Forward propagation

Backward propagation

Calcul du gradient

Mise à jour des paramètres du modèle


La fonction Log_loss, terme un peu barbare qui permet de mesurer la convergence ou non du modèle (C’est l’équivalent de l’écart quadratique moyen pour une droite de régression).

On constate sur ce graphique qu’il y a convergence déjà à partir de 600 itérations (dans ce cas le programme était initialement paramétré sur 1000 itérations)

Schéma 7



L’accuracy permet de vérifier l’exactitude du modèle, en comparant la target calculée par le modèle et celle définie dans le train_set.

En d’autres termes si le modèle donne un réglage OK alors que le réglage du train_set est NOK le résultat est inexact, et réciproquement.

Schéma 8



La base de données contenant les mesures correspondant à des valeurs de target ayant une valeur 0 ou 1, déterminées aux cours des essais de réglage de la machine, a permis au modèle d’apprendre le fonctionnement du processus de production.

Le modèle a donc ainsi appris à reconnaitre les réglages OK ou NOK.

Pour le réglage proposé (cf. précédemment, le point vert pomme), le modèle donne la prédiction :


Schéma 9




Toutes les informations (ainsi que le code) peuvent être obtenues auprès de https://www.reedx.org/


Il est possible d’élargir le champ de ces travaux, en appliquant ce modèle à l’ensemble de l’entreprise, en prenant en compte les différentes composantes ou parties prenantes qui sont : Le personnel, les clients, les fournisseurs, et l’environnement ou acteurs externes.


Cette extension de la modélisation numérique de l’entreprise à son ensemble, suppose la prise en compte de tous les processus (activités fonctionnelles et productives).




bottom of page