Unité 9 / 9

Optimisation, traitement des données, validation et sécurité avec Python

Gains :

  • Capacité à automatiser les tâches d'optimisation et de traitement des données avec du code Python basé sur l'IA
  • Capacité à vérifier le code généré par l'IA avec la vérification des unités, les tests et les cas extrêmes
  • Capacité à protéger les données de production confidentielles et à appliquer les principes d’utilisation responsable de l’IA

En génie industriel, la vitesse et la répétabilité sont gagnées lorsque les calculs répétitifs, le nettoyage des données et les modèles d'optimisation sont automatisés avec Python. L'IA est l'accélérateur le plus puissant pour écrire ce code : traitement des données avec pandas, optimisation avec PuLP/SciPy, visualisation avec matplotlib brouillons de code en quelques minutes. Mais le code de l’IA ne garantit pas en soi la différence entre « sembler fonctionner » et « être précis ». Dans cette unité, nous combinons l'automatisation de l'ingénierie basée sur l'IA, la discipline de validation du code et les principes de protection des données de production confidentielles. Cette unité est la couche « appliquer en toute confiance » à toutes les unités précédentes.

Pourquoi coder ? Répétabilité et auditabilité

Un calcul manuel dans Excel entraînera six mois plus tard la question « d'où vient ce chiffre ? » ne peut pas répondre à la question. Le code, en revanche, maintient l'entrée, les étapes et la sortie claires et reproductibles. Trois avantages d'effectuer un calcul technique dans le code : (1) toujours le même résultat avec la même entrée, (2) rendre chaque étape visible et révisable, (3) mettre à jour automatiquement le résultat lorsque l'entrée change.

# Transformer le calcul de l'EOQ en une fonction vérifiable import mathdef eoq(annual_demand, order_cost, holding_cost): """Quantité de commande économique. Les unités doivent être cohérentes : annual_demand [articles/année], order_cost [TL/order], holding_cost [TL/pieces/year].""" si annual_demand <= 0 ou holding_cost <= 0 : augmenter ValueError ("La demande et le coût de maintien doivent être positifs") return math.sqrt((2 * annual_demand * order_cost) / holding_cost)# Test avec résultat connu (vérification) :# D=3600, S=120, H=8 -> ~328,6assert abs(eoq(3600, 120, 8) - 328.63) < 0.1print(round(eoq(3600, 120, 8), 1)) #328.6

La ligne d'assertion ici est critique : tester par rapport à un résultat connu. En ajoutant au moins un « test de résultat connu » à chaque fonction de calcul écrite par l’IA, vous prouvez que le code calcule réellement correctement.

La bonne façon de générer du code avec l'IA

Moins il y a d’incertitude lors de l’écriture du code dans l’IA, plus la sortie est fiable.

Rôle : Vous êtes un expert en analyse de données Python et en génie industriel. Tâche : Écrivez une fonction qui traite les données de production quotidiennes (date, produit, défectueux, temps d'arrêt_minutes) dans un CSV et calcule le taux de gaspillage quotidien et approximativement les composants OEE. Exigences : - utiliser des pandas, valider les noms de colonnes (donner une erreur compréhensible en cas d'absence). - Taux de déchets = défectueux / produit ; Protéger contre la division par zéro.- Ajouter un test (assert) avec un résultat connu à la fonction.- Écrire l'unité et les hypothèses dans la docstring.Règle : Ne pas ajouter de processus caché qui écrit sur le réseau/système de fichiers. Faites simplement les calculs. Marquez avec des commentaires là où vous n'êtes pas sûr.

Invite faible/Invite forte

Invite faible :

Écrivez du code qui calcule l'efficacité de la production.

Le « rendement » n'est pas défini, pas de schéma de données, pas de test. Même si la sortie fonctionne, on ne sait pas exactement ce qu’elle calcule.

Invite puissante :

Calculez l'OEE pour CSV dans le diagramme suivant : colonnes [planned_time, run_time, ideal_cycle, produit, qualité]. Disponibilité = travail/planifié, Performance = (cycle_idéal × produit)/exécution, Qualité = qualité/produit. OEE est le produit de ces trois éléments. Renvoyez chaque composant séparément, gérez la division par zéro et ajoutez un test d'assertion avec des valeurs connues.

La deuxième invite donne clairement chaque formule et chaque diagramme ; Il élimine la possibilité que l’IA interprète mal le « rendement » et impose une vérification par des tests.

Liste de contrôle de vérification du code

Avant d'utiliser le code d'IA dans une décision de production, suivez ces étapes :

étape

Que vérifier

Unité/taille

Les unités d’entrée-sortie sont-elles cohérentes ?

Test de résultat connu

Est-ce que cela donne correctement un exemple calculé à la main ?

Cas extrêmes

À quoi servent des données nulles, négatives, vides, une seule ligne ?

Recoupement arithmétique

Le résultat est-il palpable sur un petit échantillon ?

Effet secondaire invisible

Le code supprime-t-il/envoie-t-il des données ?

Attention : l'IA produit parfois du code qui « fonctionne mais est faux » : par exemple, elle calcule le taux de gaspillage de manière incorrecte/produit au lieu de incorrectement/total, ou confond pourcentage et taux. Ce n’est pas parce que le code fonctionne sans erreurs qu’il est correct. Assurez-vous de tester avec un résultat connu.

Sécurité et confidentialité des données

Les données de production sont des secrets commerciaux : capacités, coûts, demandes des clients, prix des fournisseurs. Les intégrer impulsivement dans un service d’IA constitue un risque sérieux.

  • Anonymisez les données : utilisez des codes au lieu des noms réels des clients/fournisseurs ; Remplacez les coûts de précision par des exemples de valeurs.
  • Suivez la politique de l'entreprise : utilisez les outils d'IA et les règles de classification des données approuvées par votre entreprise.
  • Demandez le code, exécutez les données localement : demandez à l'IA d'écrire du code, mais exécutez le code dans votre propre environnement, avec des données réelles. De cette façon, les données sensibles ne sont pas divulguées.
  • Examinez le résultat : vérifiez si le code de l'IA envoie des données à un endroit inattendu (appel réseau, API externe).
Astuce : Le principe « faire en sorte que l’IA écrive du code, traite les données localement » protège la confidentialité et empêche l’IA de générer de faux numéros. Le solveur/bibliothèque actuel effectue le calcul, l'IA construit simplement le squelette.

Mini-cas : fonctionne mais mauvais code

Dans une usine, l'ingénieur industriel Mert demande à l'IA d'écrire un script qui produit un rapport mensuel OEE. Le code fonctionne correctement et donne un joli OEE de 92 %. Mais lorsque Mert le teste par rapport à un jour connu (un jour qu'il a calculé manuellement et qui devrait avoir un OEE de 78 %), le code renvoie 92 %. Après examen, il constate que l'IA a mal configuré le composant de performance (en utilisant le cycle moyen au lieu du cycle idéal). Une fois corrigée, la valeur correspond à la réalité. Le code produisait des résultats erronés sans aucune erreur. Leçon : sans tests avec des résultats connus, un OEE inexact aurait saisi des décisions de gestion pendant des mois.

Erreurs courantes

  • Penser « travailler = correct » : accepter le code qui ne donne pas d'erreurs comme correct ; pas de test avec un résultat connu.
  • Sauter les cas extrêmes : publier des situations telles que la division par zéro, les données vides, la saisie négative sans les essayer.
  • Coller des données confidentielles : envoyer des données de coût réel/client à l'IA sans les anonymiser.
  • Confondre l'IA avec un solveur : utiliser la sortie d'optimisation que l'IA dit "le résultat est ceci" comme sortie réelle du solveur.
  • Perte d'auditabilité : partage de code sans documenter les hypothèses et les unités.

En résumé

  • Le code ajoute de la répétabilité et de l'auditabilité au compte d'ingénierie ; L'IA accélère ce code.
  • Prouvez l'exactitude en ajoutant une assertion avec un résultat connu à chaque fonction de calcul de l'IA.
  • N'utilisez pas le code dans une décision de production sans le passer par une liste de contrôle croisé unitaire, un cas limite et une liste de contrôle arithmétique.
  • « Code de travail » ne signifie pas code correct ; Cela peut fonctionner parfaitement et calculer incorrectement.
  • Anonymiser les données de production confidentielles, se conformer à la politique de l'entreprise ; imprimez le code sur AI mais traitez les données localement.

Tâche de candidature

Sélectionnez un calcul d'ingénierie (EOQ, stock de sécurité, OEE ou heure standard). Écrivez une fonction Python à l'IA qui effectue ce calcul ; Appliquez les unités dans la docstring et le résultat connu avec un test d'assertion. Vérification critique : essayez la fonction avec au moins trois cas extrêmes (zéro, négatif, nul) et comparez-la avec un exemple calculé manuellement ; Prouvez avec une valeur connue que le résultat est correct, même si le code s'exécute sans erreur. Examinez ensuite le code du point de vue de la « confidentialité des données » : existe-t-il un processus qui envoie des données ? Enfin, adaptez la liste de contrôle de vérification de cette unité à votre propre flux de travail et créez une liste de contrôle.

Examen de module

1. Dans le cadre du Lean Manufacturing, vous avez utilisé l’IA pour créer une cartographie de la chaîne de valeur (VSM). Quelle est la meilleure étape avant de mettre en œuvre la suggestion ?

  • A) Valider le plan d'IA avec l'observation sur le terrain (gemba) et les temps de cycle/d'arrêt réels ✔
  • B) Accrocher la carte directement sur le tableau car l'IA est un modèle actuel
  • C) Corrigez simplement les couleurs et les formes des cases de la carte
  • D) Changer l'ordre des types de déchets et les publier

Explication : L'IA génère une esquisse VSM raisonnable basée sur les informations que vous fournissez, mais ne peut pas observer les temps de processus et les gaspillages réels. Le principe de base du Lean est le « gemba » : la chaîne de valeur doit être vérifiée par l'observation et la mesure sur le terrain, puis être utilisée comme base pour les décisions d'amélioration.

2. Quel ensemble de mesures permettant d’évaluer l’exactitude d’un modèle de prévision de la demande répond directement à cet objectif ?

  • A) Cp et Cpk
  • B) MAPE, MAE et RMSE ✔
  • C) OEE et MTBF
  • D) Takt time et WIP

Explication : MAPE (pourcentage d'erreur absolu moyen), MAE et RMSE sont des mesures qui mesurent l'erreur de prévision ; Il vous permet d'évaluer la précision du modèle en comparant les prévisions avec la demande réelle. Cp/Cpk est la capacité du processus et OEE est la mesure de l'efficacité de l'équipement.

3. Dans le calcul du point de réapprovisionnement (ROP), l'IA vous a donné une valeur. Que devez-vous faire en premier pour utiliser le résultat en toute sécurité ?

  • A) Arrondissez le résultat et saisissez-le directement dans l'ERP
  • B) Demandez à l'IA « êtes-vous sûr ? » et soyez satisfait de la réponse "oui"
  • C) Imprimez la formule, les entrées et les unités utilisées et reproduisez le calcul manuellement/avec le code ✔
  • D) Réinitialiser complètement le stock de sécurité

Explication : Cela fonctionne avec la formule ROP = demande moyenne × délai + stock de sécurité. Il est nécessaire de vérifier le résultat que donne l'IA en imprimant explicitement la formule qu'elle utilise et les entrées (taux de demande, délai, stock de sécurité) et en le recalculant manuellement/en code ; sinon l’erreur d’unité ou d’arithmétique ne sera pas remarquée.

4. Qu'est-ce que la règle du délai de traitement le plus court (SPT) améliore généralement dans la planification des tâches ?

  • A) Il réinitialise uniquement les temps de configuration
  • B) Augmente physiquement le nombre de machines
  • C) Réduit de moitié la consommation d'énergie
  • D) A tendance à réduire le temps de flux moyen et la latence moyenne ✔

Description : La règle SPT (Shortest Processing Time) tend à réduire le temps de flux moyen et la latence moyenne en avançant les jobs courts. Cependant, il peut constamment reporter des tâches longues ; Si la date de livraison est critique, des règles telles que EDD sont plus appropriées. Le choix des règles doit être justifié par leur objectif.

5. Qu'est-ce que cela signifie si la valeur Cpk est nettement inférieure à Cp dans SPC ?

  • A) La moyenne du processus s'est éloignée du centre de tolérance (problème de centrage) ✔
  • B) La variance du processus est nulle
  • C) Cela montre que le nombre d'échantillons est grand
  • D) Prouve que la carte de contrôle est inutile

Explication : Cp est l'indice de compétence qui prend en compte le rapport entre l'étendue du processus et la largeur de tolérance, et Cpk est l'indice d'adéquation qui prend également en compte le décalage de la moyenne par rapport au centre de tolérance. Si Cpk est inférieur à Cp, cela indique que le processus est décentré (la moyenne est éloignée de la cible) ; Même si l'écartement est le même, il y a un problème de centrage.

6. Vous utilisez la formule donnée par l'IA pour calculer l'heure standard dans l'étude du temps. L’heure standard est obtenue correctement par lequel des éléments suivants ?

  • A) Temps standard = Le temps observé, la marge et le tempo ne sont pas pris en compte
  • B) Heure normale = Heure normale × (1 + ratio de partage) ; Temps normal = Temps observé × rythme ✔
  • C) Temps standard = Temps observé ÷ nombre de machines
  • D) L'heure standard est toujours l'heure de l'opérateur le plus rapide

Explication : Calculé comme suit : Heure standard = Heure normale × (1 + Ratio de partage) ; Le temps normal est trouvé par Temps observé × Tempo (évaluation). Il est obligatoire d'ajouter des partages (repos, personnels, retard). L'IA peut donner la formule, mais le rythme et les valeurs de partage doivent être vérifiés par l'observation réelle et la politique de l'entreprise.

7. AI a déclaré qu'elle offrait la « meilleure » solution à un problème de tournée de véhicules (VRP). Quelle est l’évaluation la plus précise ?

  • A) Envoyer l'itinéraire directement aux conducteurs parce que l'IA dit « meilleur »
  • B) Valider la solution par rapport aux contraintes de capacité, de délai et de coût ✔
  • C) Réduisez simplement le nombre d’arrêts et publiez
  • D) Visualiser la carte et ignorer les contraintes

Explication : L'IA peut modéliser de manière incorrecte les contraintes (capacité du véhicule, fenêtres horaires, temps de conduite) ou présenter une solution sous-optimale comme « la meilleure ». Solution; Il doit être vérifié par rapport aux contraintes de capacité, de fenêtre de temps et de distance totale/coût, et si possible, reproduit et comparé avec un solveur.

8. L'OEE (Efficacité Globale de l'Équipement) est le produit de quelles trois composantes ?

  • A) Demande, stock et coût
  • B) Cp, Cpk et sigma
  • C) Convivialité, performances et qualité ✔
  • D) Takt, cycle et délai de livraison

Explication : OEE = Disponibilité × Performance × Qualité. La disponibilité reflète les temps d'arrêt, les performances reflètent les pertes de vitesse et la qualité reflète les produits défectueux. Si l’IA donne une valeur OEE, il faut s’assurer que ces trois composantes sont calculées et multipliées séparément.

9. Quelle est l’étape de vérification la plus critique lors de l’interprétation du résultat d’une simulation à événements discrets ?

  • A) Valider les distributions d'entrée et les hypothèses avec des données réelles ✔
  • B) Raccourcir le temps de travail et prendre une décision dans une seule condition
  • C) Améliorer la palette de couleurs des graphiques
  • D) Cacher la graine aléatoire et rendre le résultat irremplaçable

Explication : la qualité des résultats de la simulation dépend de celle des hypothèses d'entrée. Les distributions, les temps entre les arrivées, les temps de service et les paramètres de scénario doivent être comparés et validés avec des données réelles ; De plus, il convient de vérifier que le modèle a été correctement établi (vérification). Sinon, « les déchets rentrent, les déchets sortent ».

10. Qu'est-ce qui est obligatoire avant d'utiliser un script d'optimisation Python généré par l'IA dans une décision de production ?

  • A) Appliquer le résultat directement puisque le code fonctionne sans erreur
  • B) Tests avec des résultats connus, validation avec vérification unitaire et cas limites, et protection de la confidentialité des données ✔
  • C) Raccourcissez les noms de variables et supprimez les commentaires
  • D) Téléchargement du script avec toutes les données de production vers un service public

Description : le code AI peut contenir une conversion d'unité incorrecte, une contrainte incorrecte ou un résultat incorrect dans les cas extrêmes. Code; Les petites entrées de test avec des résultats connus doivent être vérifiées par un contrôle d'unité/taille et des cas limites, et les données de production confidentielles ne doivent pas être envoyées à des services externes sans autorisation. Le résultat est confirmé par le jugement technique.