Enhed 9 / 9

Optimering, databehandling, validering og sikkerhed med Python

Gevinster:

  • Evne til at automatisere optimerings- og databehandlingsopgaver med AI-drevet Python-kode
  • Evne til at verificere AI-genereret kode med enhedskontrol, test og edge cases
  • Evne til at beskytte fortrolige produktionsdata og håndhæve principper for ansvarlig AI-brug

I industriteknik opnås både hastighed og repeterbarhed, når gentagne beregninger, datarensning og optimeringsmodeller automatiseres med Python. AI er den mest kraftfulde accelerator til at skrive denne kode: databehandling med pandaer, optimering med PuLP/SciPy, visualisering med matplotlib udkast kode på få minutter. Men AI-kode garanterer ikke i sagens natur forskellen mellem at "synes at virke" og "at være nøjagtig." I denne enhed kombinerer vi AI-drevet teknisk automatisering, disciplinen at validere kode og principperne for beskyttelse af fortrolige produktionsdata. Denne enhed er "anvend med tillid"-laget til alle tidligere enheder.

Hvorfor kode? Gentagelighed og auditerbarhed

En manuel beregning i Excel vil resultere i, at man seks måneder senere spørger "hvor kom det tal fra?" kan ikke svare på spørgsmålet. Kode holder på den anden side input, trin og output klare og gentagelige. Tre fordele ved at lave en ingeniørberegning i kode: (1) altid det samme resultat med det samme input, (2) gør hvert trin synligt og kan gennemgås, (3) automatisk opdatering af resultatet, når input ændres.

# Forvandling af EOQ-beregningen til en verificerbar funktion import mathdef eoq(årlig_efterspørgsel, ordre_omkostning, beholdningsomkostning): """Økonomisk ordremængde. Enhederne skal være konsistente: årlig_efterspørgsel [varer/år], ordre_omkostning [TL/ordre], beholdning_omkostning [TL/stykker/år]. 0: raise ValueError("Demand and holding cost must be positive") return math.sqrt((2 * annual_demand * order_cost) / holding_cost)# Test med kendt resultat (verifikation):# D=3600, S=120, H=8 -> ~328,6assert abs(eoq)(eoq)(3202,8,8) 0.1print(rund(eoq(3600, 120, 8), 1)) #328.6

Påstandslinjen her er kritisk: test mod et kendt resultat. Ved at tilføje mindst én "kendt resultattest" til hver beregningsfunktion, som AI'en skriver, beviser du, at koden faktisk beregner korrekt.

Den rigtige måde at generere kode med AI

Jo mindre usikkerhed der er, når man skriver kode til AI, jo mere pålideligt er output.

Rolle: Du er ekspert i Python og industriteknisk dataanalyse. Opgave: Skriv en funktion, der behandler de daglige produktionsdata (dato, produceret, defekt, nedetid_minutter) i en CSV og beregner den daglige spildrate og groft sagt OEE-komponenter. Krav:- brug pandaer, valider kolonnenavne (giv en forståelig fejl, hvis den mangler).- Spildprocent = defekt / produceret; Beskyt mod division med nul.- Tilføj en test (påstå) med et kendt resultat til funktionen.- Skriv enheden og forudsætninger til docstringen.Regel: Tilføj ikke skjult proces, der skriver til netværket/filsystemet. Bare lav beregningerne. Marker med kommentarer, hvor du ikke er sikker.

Svag prompt / stærk prompt

Svag prompt:

Skriv kode, der beregner produktionseffektivitet.

"Udbytte" er udefineret, intet dataskema, ingen test. Selvom output virker, er det uklart, hvad det beregner.

Kraftig prompt:

Beregn OEE for CSV i følgende diagram: kolonner [planlagt_tid, køretid, ideal_cyklus, produceret, kvalitet]. Tilgængelighed = arbejde/planlagt, Ydelse = (ideal_cyklus × produceret)/kørt, Kvalitet = kvalitet/produceret. OEE er produktet af disse tre. Returner hver komponent separat, håndter division med nul, og tilføj en assert-test med kendte værdier.

Den anden prompt giver tydeligt hver formel og diagram; Det eliminerer muligheden for, at AI fejlfortolker "udbytte" og kræver verifikation ved test.

Tjekliste til kodebekræftelse

Før du bruger AI-kode i en produktionsbeslutning, skal du gennemgå disse trin:

trin

Hvad skal man tjekke

Enhed/størrelse

Er input-output-enhederne konsistente?

Kendt resultattest

Giver det et håndberegnet eksempel korrekt?

Kantsager

Hvad gør nul, negative, tomme data, enkelt linje?

Aritmetisk krydstjek

Er resultatet håndgribeligt i en lille prøve?

Usynlig bivirkning

Sletter/sender koden data?

Forsigtig: AI producerer nogle gange kode, der "virker, men er forkert": for eksempel beregner den spildprocent forkert/produceret i stedet for forkert/total, eller forveksler procent med rate. Bare fordi koden fungerer uden fejl, betyder det ikke, at den er korrekt. Sørg for at teste med et kendt resultat.

Sikkerhed og databeskyttelse

Produktionsdata er forretningshemmeligheder: kapacitet, omkostninger, kundekrav, leverandørpriser. Impulsivt at stikke disse ind i en AI-tjeneste er en alvorlig risiko.

  • Anonymiser data: Brug koder i stedet for faktiske kunde-/leverandørnavne; Erstat præcisionsomkostninger med prøveværdier.
  • Følg virksomhedens politik: Brug AI-værktøjer og dataklassificeringsregler, der er godkendt af din virksomhed.
  • Anmod om koden, kør dataene lokalt: Få AI til at skrive kode, men kør koden i dit eget miljø med rigtige data. På denne måde kommer følsomme data ikke ud.
  • Gennemgå output: Tjek, om AI-koden sender data til et uventet sted (netværksopkald, ekstern API).
Tip: Princippet om "få AI til at skrive kode, behandle data lokalt" beskytter privatlivets fred og forhindrer AI i at generere falske numre. Den faktiske solver/bibliotek laver beregningen, AI'en bygger bare skelettet.

Mini-etui: Virker, men forkert kode

På en fabrik får industriingeniør Mert AI til at skrive et script, der producerer en månedlig OEE-rapport. Koden kører problemfrit og giver en flot OEE på 92%. Men når Mert tester det mod en kendt dag (en dag, som han beregnede manuelt, som skulle have en OEE på 78%), returnerer koden 92%. Ved gennemgang finder han ud af, at AI har sat ydeevnekomponenten forkert op (ved at bruge den gennemsnitlige cyklus i stedet for den ideelle cyklus). Når den korrigeres, svarer værdien til virkeligheden. Koden gav forkerte resultater uden fejl. Lektion: Uden test med kendte resultater ville en unøjagtig OEE have indgået ledelsesbeslutninger i flere måneder.

Almindelige fejl

  • Tænker "working = correct": Accepterer kode, der ikke giver fejl som korrekte; ikke tester med kendt resultat.
  • Spring over kantsager: Udgivelsessituationer såsom division med nul, tomme data, negativ input uden at prøve dem.
  • Indsættelse af fortrolige data: Sender faktiske omkostninger/kundedata til AI uden at anonymisere dem.
  • At tage fejl af AI for en solver: Brug af optimeringsoutput, som AI siger "resultatet er dette" som det rigtige solveroutput.
  • Mister auditabilitet: Deling af kode uden at dokumentere antagelser og enheder.

Sammenfattende

  • Koden tilføjer repeterbarhed og auditerbarhed til ingeniørregnskabet; AI fremskynder denne kode.
  • Bevis rigtigheden ved at tilføje en påstand med et kendt resultat til hver AI-beregningsfunktion.
  • Brug ikke koden i en produktionsbeslutning uden at sende den gennem en enhed, kantcase og aritmetisk krydstjekliste.
  • "Arbejdskode" betyder ikke korrekt kode; Det kan fungere fejlfrit og beregne forkert.
  • Anonymiser fortrolige produktionsdata, overhold virksomhedens politik; udskrive koden til AI, men behandle dataene lokalt.

Ansøgningsopgave

Vælg en teknisk beregning (EOQ, sikkerhedslager, OEE eller standardtid). Skriv en Python-funktion til den AI, der udfører denne beregning; Håndhæv enheder i docstringen og det kendte resultat med en assert-test. Kritisk verifikation: prøv funktionen med mindst tre kanttilfælde (nul, negativ, null) og sammenlign den med et håndberegnet eksempel; Bevis med en kendt værdi, at resultatet er korrekt, selvom koden kører uden fejl. Undersøg derefter koden fra et "databeskyttelsesperspektiv": er der en proces, der sender data ud? Tilpas endelig denne enheds verifikationstjekliste til din egen arbejdsgang og lav en tjekliste.

Modul eksamen

1. I lean manufacturing brugte du AI til at skabe et værdistrømskort (VSM). Hvad er det bedste skridt, før forslaget implementeres?

  • A) Valider AI-planen med feltobservation (gemba) og faktiske cyklus-/dvæletider ✔
  • B) At hænge kortet direkte på tavlen som AI er en aktuel model
  • C) Bare fix farverne og kasseformerne på kortet
  • D) Ændring af rækkefølgen af affaldstyper og offentliggørelse af dem

Forklaring: AI genererer en rimelig VSM-skitse baseret på de oplysninger, du giver, men kan ikke observere faktiske procestider og spild. Det grundlæggende princip for lean er 'gemba': værdistrømmen skal verificeres ved at observere og måle i felten, men derefter bruges som grundlag for forbedringsbeslutninger.

2. Hvilket sæt af målinger til evaluering af nøjagtigheden af ​​en efterspørgselsprognosemodel adresserer direkte dette formål?

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

Forklaring: MAPE (gennemsnitlig absolut procent fejl), MAE og RMSE er metrikker, der måler prognosefejl; Det giver dig mulighed for at evaluere nøjagtigheden af ​​modellen ved at sammenligne prognosen med den faktiske efterspørgsel. Cp/Cpk er proceskapaciteten, og OEE er udstyrseffektivitetsmetrikken.

3. I beregningen af ​​genbestillingspunkt (ROP) gav AI dig en værdi. Hvad skal du gøre først for at bruge resultatet sikkert?

  • A) Rund resultatet op og indtast det direkte i ERP
  • B) Spørg AI 'er du sikker?' og være tilfreds med svaret 'ja'
  • C) Udskriv formlen, input og anvendte enheder og gengiv beregningen manuelt/med kode ✔
  • D) Nulstil sikkerhedslageret fuldstændigt

Forklaring: Det fungerer med formlen ROP = gennemsnitlig efterspørgsel × leveringstid + sikkerhedslager. Det er nødvendigt at verificere resultatet, som AI giver ved eksplicit at udskrive den formel, den bruger, og input (efterspørgselsrate, leveringstid, sikkerhedslager) og genberegne det manuelt/i kode; ellers vil enheden eller regnefejlen ikke blive bemærket.

4. Hvad forbedrer reglen om korteste behandlingstid (SPT) typisk i jobplanlægning?

  • A) Den nulstiller kun opsætningstiderne
  • B) Øger fysisk antallet af maskiner
  • C) Reducerer garanteret energiforbruget med det halve
  • D) Har tendens til at reducere den gennemsnitlige flowtid og den gennemsnitlige latens ✔

Beskrivelse: SPT-reglen (Shortest Processing Time) har en tendens til at reducere den gennemsnitlige flowtid og den gennemsnitlige latens ved at bringe korte job frem. Han kan dog hele tiden udskyde lange opgaver; Hvis leveringsdatoen er kritisk, er regler som EDD mere passende. Regelvalg bør begrundes med formål.

5. Hvad betyder det, hvis Cpk-værdien er væsentligt lavere end Cp i SPC?

  • A) Procesgennemsnittet er flyttet fra tolerancecentret (centreringsproblem) ✔
  • B) Processens varians er nul
  • C) Det viser, at antallet af prøver er stort
  • D) Beviser, at kontrolskemaet er unødvendigt

Forklaring: Cp er færdighedsindekset, der tager højde for forholdet mellem processpredningen og tolerancebredden, og Cpk er tilstrækkelighedsindekset, der også tager højde for forskydningen af gennemsnittet i forhold til tolerancecentret. Hvis Cpk er lavere end Cp, indikerer det, at processen er off-center (gennemsnittet er væk fra målet); Selvom spredningen er den samme, er der et centreringsproblem.

6. Du bruger formlen givet af AI, når du beregner standardtid i tidsstudie. Standardtid opnås korrekt ved hvilket af følgende?

  • A) Standardtid = Observeret tid, margin og tempo tages ikke i betragtning
  • B) Standardtid = Normaltid × (1 + andelsforhold); Normal tid = Observeret tid × tempo ✔
  • C) Standardtid = Observeret tid ÷ antal maskiner
  • D) Standardtid er altid tiden for den hurtigste operatør

Forklaring: Beregnet som standardtid = normal tid × (1 + andelsforhold); Normal tid findes ved Observeret tid × Tempo (rating). Det er obligatorisk at tilføje aktier (hvile, personligt, forsinkelse). AI kan give formlen, men tempo og aktieværdier skal verificeres af faktisk observation og virksomhedspolitik.

7. AI sagde, at det gav den 'bedste' løsning på et køretøjs routing-problem (VRP). Hvilken er den mest præcise vurdering?

  • A) Sender ruten direkte til chaufførerne, fordi AI siger 'bedst'
  • B) Valider løsningen i forhold til kapacitet, tidsvindue og omkostningsbegrænsninger ✔
  • C) Bare reducer antallet af stop og publicer
  • D) Visualisering af kortet og ignorering af begrænsningerne

Forklaring: AI kan forkert modellere begrænsninger (køretøjskapacitet, tidsvinduer, køretid) eller præsentere en suboptimal løsning som 'bedst'. Løsning; Det skal kontrolleres i forhold til kapacitet, tidsvindue og samlede afstands-/omkostningsbegrænsninger og om muligt gengives og sammenlignes med en solver.

8. Hvilke tre komponenter er OEE (Overall Equipment Effectiveness) produktet af?

  • A) Efterspørgsel, lager og omkostninger
  • B) Cp, Cpk og sigma
  • C) Brugervenlighed, ydeevne og kvalitet ✔
  • D) Takt, cyklus og leveringstid

Forklaring: OEE = Tilgængelighed × Ydelse × Kvalitet. Tilgængelighed afspejler nedetid, ydeevne afspejler hastighedstab, og kvalitet afspejler defekte produkter. Hvis AI giver en OEE-værdi, er det nødvendigt at sikre, at disse tre komponenter beregnes og multipliceres separat.

9. Hvad er det mest kritiske verifikationstrin ved fortolkning af output fra en diskret hændelsessimulering?

  • A) Validering af inputfordelinger og antagelser med reelle data ✔
  • B) Forkort arbejdstiden og tag en beslutning i en enkelt tilstand
  • C) Forbedring af farvepaletten af grafik
  • D) Skjuler det tilfældige frø og gør resultatet ugentligt

Forklaring: Simuleringsoutput er kun så godt som inputantagelserne. Fordelinger, inter-ankomsttid, servicetider og scenarieparametre bør sammenlignes og valideres med reelle data; Derudover skal det kontrolleres, at modellen er etableret korrekt (verifikation). Ellers 'skrald ind, skrald ud'.

10. Hvilket er obligatorisk før brug af et AI-genereret Python-optimeringsscript i en produktionsbeslutning?

  • A) Anvendelse af resultatet direkte, da koden fungerer uden fejl
  • B) Test med kendte resultater, validering med enhedskontrol og kanttilfælde og beskyttelse af datafortrolighed ✔
  • C) Forkort variabelnavne og slet kommentarer
  • D) Upload af scriptet med alle produktionsdata til en offentlig tjeneste

Beskrivelse: AI-kode kan indeholde forkert enhedskonvertering, forkert begrænsning eller forkert resultat i kanttilfælde. Kode; Små testinput med kendte resultater bør verificeres af enhed/størrelseskontrol og kanttilfælde, og fortrolige produktionsdata bør ikke sendes til eksterne tjenester uden tilladelse. Resultatet bekræftes af en ingeniørdom.