Jedinica 9 / 9

Optimizacija, obrada podataka, provjera valjanosti i sigurnost s Pythonom

Dobici:

  • Sposobnost automatizacije zadataka optimizacije i obrade podataka s Python kodom koji pokreće AI
  • Sposobnost provjere koda generiranog umjetnom inteligencijom s provjerom jedinice, testiranjem i rubnim slučajevima
  • Sposobnost zaštite povjerljivih proizvodnih podataka i provođenje načela odgovorne upotrebe umjetne inteligencije

U industrijskom inženjeringu, brzina i ponovljivost se dobivaju kada se ponavljajući izračuni, čišćenje podataka i modeli optimizacije automatiziraju s Pythonom. AI je najmoćniji akcelerator za pisanje ovog koda: obrada podataka s pandama, optimizacija s PuLP/SciPy, vizualizacija s matplotlib nacrtima koda u nekoliko minuta. Ali AI kod sam po sebi ne jamči razliku između "izgleda da radi" i "točnosti". U ovoj jedinici kombiniramo inženjersku automatizaciju pokretanu umjetnom inteligencijom, disciplinu provjere koda i načela zaštite povjerljivih proizvodnih podataka. Ova jedinica je sloj "primijeni s povjerenjem" na sve prethodne jedinice.

Zašto Code? Ponovljivost i mogućnost provjere

Ručni izračun u Excelu rezultirat će šest mjeseci kasnije pitanjem "odakle taj broj?" ne može odgovoriti na pitanje. Kod, s druge strane, održava unos, korake i izlaz jasnima i ponovljivima. Tri prednosti izvođenja inženjerskog proračuna u kodu: (1) uvijek isti rezultat s istim unosom, (2) čineći svaki korak vidljivim i preglednim, (3) automatsko ažuriranje rezultata kada se unos promijeni.

# Pretvaranje EOQ izračuna u provjerljivu funkciju import mathdef eoq(annual_demand, order_cost, holding_cost): """Ekonomska količina narudžbe. Jedinice moraju biti dosljedne: year_demand [items/year], order_cost [TL/order], holding_cost [TL/pieces/year].""" ako je year_demand <= 0 ili holding_cost <= 0: podići ValueError("Potražnja i trošak držanja moraju biti pozitivni") return math.sqrt((2 * year_demand * order_cost) / holding_cost)# Test s poznatim rezultatom (provjera):# D=3600, S=120, H=8 -> ~328,6assert abs(eoq(3600, 120, 8) - 328.63) < 0,1 ispis (okrugli (eoq (3600, 120, 8), 1)) #328,6

Redak za tvrdnju ovdje je kritičan: testirajte prema poznatom rezultatu. Dodavanjem barem jednog "testova poznatog rezultata" svakoj funkciji izračuna koju AI piše, dokazujete da kôd zapravo ispravno izračunava.

Pravi način za generiranje koda pomoću umjetne inteligencije

Što je manje neizvjesnosti prilikom pisanja koda u AI, to je izlaz pouzdaniji.

Uloga: Vi ste stručnjak za Python i analizu podataka industrijskog inženjerstva. Zadatak: Napišite funkciju koja obrađuje dnevne proizvodne podatke (datum, proizvedeno, neispravno, vrijeme_prekida_minute) u CSV-u i izračunava dnevnu stopu otpada i grubo OEE komponente. Zahtjevi:- koristite pande, potvrdite nazive stupaca (dajte razumljivu pogrešku ako nedostaju).- Stopa otpada = neispravno / proizvedeno; Zaštitite od dijeljenja s nulom.- Dodajte test (tvrdite) s poznatim rezultatom u funkciju.- Zapišite jedinicu i pretpostavke u niz dokumenata. Pravilo: Nemojte dodavati skriveni proces koji piše u mrežu/datotečni sustav. Samo napravite izračune. Označite komentarima tamo gdje niste sigurni.

Slab upit / Jak upit

Slab upit:

Napišite kod koji izračunava učinkovitost proizvodnje.

"Prinos" je nedefiniran, nema podatkovne sheme, nema testiranja. Čak i ako izlaz radi, nejasno je što izračunava.

Snažan upit:

Izračunajte OEE za CSV u sljedećem dijagramu: stupci [planirano_vrijeme, vrijeme_izvođenja, idealni_ciklus, proizvedeno, kvaliteta]. Dostupnost = rad/planirano, Izvedba = (idealni_ciklus × proizvedeno)/hod, Kvaliteta = kvaliteta/proizvedeno. OEE je proizvod ova tri. Vratite svaku komponentu zasebno, obradite dijeljenje s nulom i dodajte test tvrdnje s poznatim vrijednostima.

Drugi prompt jasno daje svaku formulu i dijagram; Uklanja mogućnost da AI pogrešno protumači "prinos" i nalaže provjeru testiranjem.

Kontrolni popis za provjeru koda

Prije upotrebe AI koda u proizvodnoj odluci, prođite kroz ove korake:

korak

Što provjeriti

Jedinica/veličina

Jesu li ulazno-izlazne jedinice dosljedne?

Test poznatih rezultata

Daje li ručno izračunat primjer ispravno?

Rubni slučajevi

Što rade nula, negativni, prazni podaci, jedna linija?

Aritmetička unakrsna provjera

Je li rezultat opipljiv u malom uzorku?

Nevidljiva nuspojava

Da li kod briše/šalje podatke?

Oprez: AI ponekad proizvodi kod koji "radi, ali je pogrešan": na primjer, izračunava stopu otpada netočno/proizvedeno umjesto netočno/ukupno, ili brka postotak sa stopom. Samo zato što kôd radi bez grešaka ne znači da je ispravan. Svakako testirajte s poznatim rezultatom.

Sigurnost i privatnost podataka

Podaci o proizvodnji su poslovna tajna: kapaciteti, troškovi, zahtjevi kupaca, cijene dobavljača. Impulzivno ubacivanje ovih u AI uslugu je ozbiljan rizik.

  • Anonimizirajte podatke: koristite kodove umjesto stvarnih imena kupaca/dobavljača; Zamijenite troškove preciznosti vrijednostima uzorka.
  • Slijedite korporativnu politiku: koristite AI alate i pravila klasifikacije podataka koje je odobrila vaša tvrtka.
  • Zatražite kôd, pokrenite podatke lokalno: Neka AI napiše kod, ali pokrenite kôd u vlastitom okruženju, sa stvarnim podacima. Na taj način osjetljivi podaci ne izlaze van.
  • Pregledajte izlaz: provjerite šalje li AI kod podatke na neočekivano mjesto (mrežni poziv, vanjski API).
Savjet: Načelo "neka AI piše kod, lokalno obrađuje podatke" štiti privatnost i sprječava AI da generira lažne brojeve. Stvarni rješavač/biblioteka vrši izračun, AI samo gradi kostur.

Mini slučaj: radi, ali pogrešan kod

U tvornici, industrijski inženjer Mert daje AI da napiše skriptu koja proizvodi mjesečno OEE izvješće. Kod radi glatko i daje dobar OEE od 92%. Ali kada ga Mert testira u odnosu na poznati dan (dan koji je izračunao ručno, a koji bi trebao imati OEE od 78%), kôd vraća 92%. Nakon pregleda, on otkriva da je AI pogrešno postavio komponentu performansi (koristeći prosječni ciklus umjesto idealnog ciklusa). Kada se ispravi, vrijednost odgovara stvarnosti. Kôd je davao pogrešne rezultate bez ikakvih pogrešaka. Lekcija: bez testiranja s poznatim rezultatima, netočna OEE bi ulazila u odluke uprave mjesecima.

Uobičajene greške

  • Razmišljanje "radi = ispravno": prihvaćanje koda koji ne daje pogreške kao točne; ne testiranje s poznatim ishodom.
  • Preskakanje rubnih slučajeva: Objavljivanje situacija kao što je dijeljenje s nulom, prazni podaci, negativni unos bez pokušaja.
  • Lijepljenje povjerljivih podataka: Slanje podataka o stvarnom trošku/kupcu AI-ju bez anonimizacije.
  • Zamjena umjetne inteligencije za rješavača: korištenje izlaza optimizacije za koji AI kaže da je "rezultat ovo" kao stvarnog izlaza rješavača.
  • Gubitak revizionosti: dijeljenje koda bez dokumentiranja pretpostavki i jedinica.

Ukratko

  • Kod dodaje ponovljivost i reviziju inženjerskom računu; AI ubrzava ovaj kod.
  • Dokažite točnost dodavanjem tvrdnje s poznatim rezultatom svakoj funkciji AI izračuna.
  • Nemojte koristiti kôd u proizvodnoj odluci bez da ga prođete kroz jedinicu, rubni slučaj i aritmetički popis za unakrsnu provjeru.
  • "Radni kod" ne znači točan kod; Može raditi besprijekorno i netočno izračunati.
  • Anonimizirajte povjerljive proizvodne podatke, pridržavajte se korporativne politike; ispisati kod u AI, ali obraditi podatke lokalno.

Zadatak aplikacije

Odaberite inženjerski izračun (EOQ, sigurnosna zaliha, OEE ili standardno vrijeme). Napišite Python funkciju u AI koji radi ovaj izračun; Nametnite jedinice u nizu dokumenata i poznati rezultat s assert testom. Kritična provjera: isprobajte funkciju s najmanje tri rubna slučaja (nula, negativan, nula) i usporedite je s ručno izračunatim primjerom; Dokažite s poznatom vrijednošću da je rezultat točan, čak i ako se kôd izvodi bez pogrešaka. Zatim ispitajte kôd iz perspektive "privatnosti podataka": postoji li proces koji šalje podatke? Konačno, prilagodite kontrolni popis ove jedinice svom tijeku rada i izradite kontrolni popis.

Modul ispit

1. U lean proizvodnji upotrijebili ste AI za izradu karte toka vrijednosti (VSM). Koji je najbolji korak prije provedbe prijedloga?

  • A) Potvrdite AI nacrt s promatranjem polja (gemba) i stvarnim ciklusom/vremenima zadržavanja ✔
  • B) Obješanje karte izravno na ploču jer je AI trenutačni model
  • C) Samo popravite boje i oblike okvira karte
  • D) Promjena redoslijeda vrsta otpada i njihova objava

Objašnjenje: AI generira razumnu VSM skicu na temelju informacija koje dajete, ali ne može promatrati stvarna vremena procesa i otpad. Osnovno načelo lean-a je 'gemba': tok vrijednosti treba verificirati promatranjem i mjerenjem na terenu, ali zatim koristiti kao osnovu za odluke o poboljšanju.

2. Koji skup metrika za procjenu točnosti modela predviđanja potražnje izravno odgovara ovoj svrsi?

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

Objašnjenje: MAPE (srednja apsolutna postotna pogreška), MAE i RMSE su metrike koje mjere pogrešku predviđanja; Omogućuje vam procjenu točnosti modela usporedbom predviđanja sa stvarnom potražnjom. Cp/Cpk je sposobnost procesa, a OEE je metrika učinkovitosti opreme.

3. U izračunu točke ponovnog naručivanja (ROP), AI vam je dao vrijednost. Što prvo trebate učiniti da biste sigurno koristili rezultat?

  • A) Zaokružite rezultat i unesite ga izravno u ERP
  • B) Pitajte AI 'jesi li siguran?' i biti zadovoljan odgovorom 'da'
  • C) Ispišite formulu, unose i korištene jedinice i reproducirajte izračun ručno/s kodom ✔
  • D) Potpuno resetirajte sigurnosni kundak

Objašnjenje: radi s formulom ROP = prosječna potražnja × vrijeme isporuke + sigurnosna zaliha. Potrebno je provjeriti rezultat koji umjetna inteligencija daje eksplicitnim ispisom formule koju koristi i ulaza (stopa potražnje, vrijeme isporuke, sigurnosna zaliha) i ponovnim izračunavanjem ručno/u kodu; inače se jedinica ili aritmetička pogreška neće primijetiti.

4. Što pravilo najkraćeg vremena obrade (SPT) obično poboljšava u raspoređivanju poslova?

  • A) Poništava samo vremena postavljanja
  • B) Fizički povećava broj strojeva
  • C) Zajamčeno smanjuje potrošnju energije za pola
  • D) Nastoji smanjiti prosječno vrijeme protoka i prosječnu latenciju ✔

Opis: pravilo SPT (najkraće vrijeme obrade) nastoji smanjiti prosječno vrijeme protoka i prosječnu latenciju prosljeđivanjem kratkih poslova. Međutim, može stalno odgađati duge zadatke; Ako je datum isporuke kritičan, pravila kao što je EDD su prikladnija. Odabir pravila treba opravdati svrhom.

5. Što znači ako je vrijednost Cpk znatno niža od Cp u SPC?

  • A) Prosjek procesa pomaknuo se iz centra tolerancije (problem centriranja) ✔
  • B) Varijanca procesa je nula
  • C) Pokazuje da je broj uzoraka velik
  • D) Dokazuje da je kontrolna karta nepotrebna

Objašnjenje: Cp je indeks sposobnosti koji uzima u obzir omjer širenja procesa i širine tolerancije, a Cpk je indeks adekvatnosti koji također uzima u obzir pomak prosjeka u odnosu na centar tolerancije. Ako je Cpk niži od Cp, to znači da je proces izvan središta (prosjek je udaljen od cilja); Iako je širina jednaka, postoji problem s centriranjem.

6. Koristite formulu koju daje AI kada izračunavate standardno vrijeme u studiji vremena. Standardno vrijeme je točno dobiveno pomoću čega od sljedećeg?

  • A) Standardno vrijeme = promatrano vrijeme, margina i tempo nisu uzeti u obzir
  • B) Standardno vrijeme = Normalno vrijeme × (1 + omjer udjela); Normalno vrijeme = promatrano vrijeme × tempo ✔
  • C) Standardno vrijeme = Promatrano vrijeme ÷ broj strojeva
  • D) Standardno vrijeme uvijek je vrijeme najbržeg operatera

Objašnjenje: Izračunato kao standardno vrijeme = normalno vrijeme × (1 + omjer udjela); Normalno vrijeme se nalazi prema Opaženo vrijeme × Tempo (ocjena). Obavezno dodati dionice (odmor, osobna, odgoda). AI može dati formulu, ali vrijednosti tempa i udjela moraju biti potvrđene stvarnim promatranjem i politikom tvrtke.

7. AI je rekao da daje 'najbolje' rješenje za problem rutiranja vozila (VRP). Koja je procjena najtočnija?

  • A) Slanje rute izravno vozačima jer AI kaže 'najbolje'
  • B) Provjerite rješenje u odnosu na ograničenja kapaciteta, vremenskog okvira i troškova ✔
  • C) Samo smanjite broj zaustavljanja i objavite
  • D) Vizualiziranje karte i ignoriranje ograničenja

Objašnjenje: AI može netočno modelirati ograničenja (kapacitet vozila, vremenske okvire, vrijeme vožnje) ili predstaviti suboptimalno rješenje kao "najbolje". Otopina; Treba ga provjeriti u odnosu na ograničenja kapaciteta, vremenskog prozora i ukupne udaljenosti/troška, ​​i ako je moguće, reproducirati i usporediti s rješavačem.

8. OEE (Overall Equipment Effectiveness) proizvod je koje tri komponente?

  • A) Potražnja, zaliha i trošak
  • B) Cp, Cpk i sigma
  • C) Upotrebljivost, izvedba i kvaliteta ✔
  • D) Takt, ciklus i vrijeme isporuke

Objašnjenje: OEE = Dostupnost × Performanse × Kvaliteta. Dostupnost odražava vrijeme zastoja, performanse odražavaju gubitke brzine, a kvaliteta odražava neispravne proizvode. Ako AI daje OEE vrijednost, potrebno je osigurati da se ove tri komponente zasebno izračunavaju i množe.

9. Koji je najkritičniji korak provjere kada se tumači izlaz simulacije diskretnog događaja?

  • A) Validacija ulaznih distribucija i pretpostavki stvarnim podacima ✔
  • B) Skratite radno vrijeme i donesite odluku u jednom stanju
  • C) Poboljšanje palete boja grafike
  • D) Skrivanje nasumičnog sjemena i stvaranje neponovljivog rezultata

Objašnjenje: Izlaz simulacije dobar je onoliko koliko su dobre ulazne pretpostavke. Distribucije, vrijeme između dolaska, vrijeme usluge i parametri scenarija trebaju se usporediti i potvrditi sa stvarnim podacima; Dodatno, treba provjeriti je li model ispravno postavljen (verifikacija). Inače, 'smeće unutra, smeće van'.

10. Što je obavezno prije korištenja Python optimizacijske skripte generirane umjetnom inteligencijom u odluci o proizvodnji?

  • A) Izravna primjena rezultata jer kod radi bez grešaka
  • B) Testiranje s poznatim rezultatima, potvrđivanje s provjerom jedinica i rubnim slučajevima i zaštita povjerljivosti podataka ✔
  • C) Skratite nazive varijabli i izbrišite komentare
  • D) Prijenos skripte sa svim proizvodnim podacima na javni servis

Opis: AI kod može sadržavati netočnu pretvorbu jedinica, netočno ograničenje ili netočan rezultat u rubnim slučajevima. Kodirati; Male ulazne podatke za testiranje s poznatim rezultatima treba provjeriti kontrolom jedinice/veličine i rubnim slučajevima, a povjerljive proizvodne podatke ne treba slati vanjskim službama bez dopuštenja. Rezultat je potvrđen inženjerskom procjenom.