Jedinica 9 / 9

Optimizacija, obrada podataka, validacija i sigurnost uz Python

Dobici:

  • Sposobnost automatizacije zadataka optimizacije i obrade podataka pomoću Python koda koji pokreće AI
  • Mogućnost provjere koda generiranog umjetnom inteligencijom pomoću provjere jedinica, testiranja i rubnih slučajeva
  • Sposobnost zaštite povjerljivih produkcijskih podataka i primjene principa odgovorne upotrebe umjetne inteligencije

U industrijskom inženjeringu, brzina i ponovljivost se dobijaju kada se ponavljajući proračuni, čišćenje podataka i modeli optimizacije automatizuju sa Pythonom. AI je najmoćniji akcelerator za pisanje ovog koda: obrada podataka sa pandama, optimizacija sa PuLP/SciPy, vizualizacija sa matplotlib nacrtima koda za nekoliko minuta. Ali kod AI sam po sebi ne garantuje razliku između „izgleda da radi“ i „biti tačan“. U ovoj jedinici kombinujemo inženjersku automatizaciju zasnovanu na veštačkoj inteligenciji, disciplinu validacije koda i principe zaštite poverljivih proizvodnih podataka. Ova jedinica je sloj "primijeni s povjerenjem" na sve prethodne jedinice.

Zašto kod? Ponovljivost i mogućnost revizije

Ručno izračunavanje u Excel-u rezultirat će šest mjeseci kasnije pitanjem "odakle taj broj?" ne mogu odgovoriti na pitanje. Kod, s druge strane, čini unos, korake i izlaz jasnim i ponovljivim. Tri prednosti izrade inženjerskog proračuna u kodu: (1) uvijek isti rezultat sa istim ulazom, (2) čineći svaki korak vidljivim i preglednim, (3) automatsko ažuriranje rezultata kada se unos promijeni.

# Pretvaranje izračuna EOQ u provjerljivu funkciju import mathdef eoq(annual_demand, order_cost, holding_cost): """Ekonomska količina narudžbe. Jedinice moraju biti konzistentne: godišnja_potražnja [stavke/godina], cijena_porudžbine [TL/narudžba], holding_cost [TL/komada_c godišnji_de"] 0: povisi ValueError("Potražnja i trošak zadržavanja moraju biti pozitivni") return math.sqrt((2 * godišnji_potražnja * order_cost) / holding_cost)# Test sa poznatim rezultatom (verifikacija):# D=3600, S=120, H=8 -> ~328,6tvrditi abs(eoq(360) <eoq(360) 0.1print(okrugla(eoq(3600, 120, 8), 1)) #328.6

Linija assert ovdje je kritična: testirajte prema poznatom rezultatu. Dodavanjem najmanje jednog “test poznatog rezultata” svakoj funkciji izračuna koju AI zapiše, dokazujete da kod zapravo izračunava ispravno.

Pravi način za generiranje koda pomoću AI

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

Uloga: Vi ste stručnjak za Python i analizu podataka industrijskog inženjeringa. Zadatak: Napišite funkciju koja obrađuje dnevne podatke o proizvodnji (datum, proizvedeno, neispravan, downtime_minutes) u CSV-u i izračunava dnevnu stopu gubitka i otprilike OEE komponente. Zahtjevi:- koristiti pande, potvrditi nazive stupaca (dati razumljivu grešku ako nedostaje).- Stopa otpada = neispravan/proizveden; Zaštitite od dijeljenja sa nulom.- Dodajte test (assert) sa poznatim rezultatom u funkciju.- Upišite jedinicu i pretpostavke u docstring.Pravilo: Nemojte dodavati skriveni proces koji upisuje u mrežu/sistem datoteka. Samo uradi proračune. Označite komentarima gdje niste sigurni.

Slaba prompt / jaka prompt

Slab upit:

Napišite kod koji izračunava efikasnost proizvodnje.

"Prinos" je nedefinisan, nema šeme podataka, nema testiranja. Čak i ako izlaz radi, nejasno je šta izračunava.

Snažan upit:

Izračunajte OEE za CSV na sljedećem dijagramu: kolone [planirano_vrijeme, vrijeme_izvođenja, idealan_ciklus, proizvedeno, kvalitet]. Dostupnost = rad/planirano, učinak = (idealan_ciklus × proizvedeno)/provođenje, kvalitet = kvalitet/proizvedeno. OEE je proizvod ova tri. Vratite svaku komponentu zasebno, upravljajte podjelom nulom i dodajte test potvrđivanja s poznatim vrijednostima.

Drugi prompt jasno daje svaku formulu i dijagram; To eliminiše mogućnost da AI pogrešno protumači „prinos“ i nalaže verifikaciju testiranjem.

Kontrolna lista za provjeru koda

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

korak

Šta provjeriti

Jedinica/veličina

Da li su ulazno-izlazne jedinice konzistentne?

Test poznatih rezultata

Da li daje primjer koji je pravilno izračunao rukom?

Edge case

Šta radi nula, negativni, prazni podaci, jedan red?

Aritmetička unakrsna provjera

Da li je rezultat opipljiv na 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 gubitka pogrešno/proizvedeno umjesto netačno/ukupno, ili brka procenat sa stopom. Samo zato što kod radi bez grešaka ne znači da je ispravan. Obavezno testirajte s poznatim rezultatom.

Sigurnost i privatnost podataka

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

  • Anonimizirajte podatke: koristite kodove umjesto stvarnih imena kupaca/dobavljača; Zamijenite precizne troškove vrijednostima uzorka.
  • Slijedite korporativnu politiku: koristite alate AI i pravila klasifikacije podataka koje je odobrila vaša kompanija.
  • Zatražite kod, pokrenite podatke lokalno: neka AI napiše kod, ali pokrenite kod u svom okruženju, sa stvarnim podacima. Na ovaj način, osjetljivi podaci ne izlaze.
  • Pregledajte izlaz: Provjerite da li AI kod šalje podatke na neočekivano mjesto (mrežni poziv, vanjski API).
Savjet: Princip „napravi AI da napiše kod, obradi podatke lokalno“ štiti privatnost i sprječava AI da generiše lažne brojeve. Stvarni rješavač/biblioteka vrši proračun, AI samo gradi kostur.

Mini kućište: radi, ali pogrešan kod

U fabrici, industrijski inženjer Mert daje AI da napiše skriptu koja proizvodi mjesečni OEE izvještaj. 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%), kod vraća 92%. Prilikom pregleda, otkriva da je AI pogrešno podesio komponentu performansi (koristeći prosječni ciklus umjesto idealnog ciklusa). Kada se ispravi, vrijednost odgovara stvarnosti. Kod je davao pogrešne rezultate bez ikakvih grešaka. Pouka: bez testiranja sa poznatim rezultatima, netačan OEE bi mjesecima ulazio u odluke menadžmenta.

Uobičajene greške

  • Razmišljanje "radno = ispravno": prihvatanje koda koji ne daje greške kao tačne; ne testiranje sa poznatim ishodom.
  • Preskakanje rubnih slučajeva: objavljivanje situacija kao što su dijeljenje nulom, prazni podaci, negativan unos bez pokušaja.
  • Lijepljenje povjerljivih podataka: slanje stvarnih podataka o troškovima/korisnicima AI bez njihove anonimizacije.
  • Zamijeniti AI za rješavača: korištenje izlaza optimizacije za koji AI kaže "rezultat je ovo" kao pravi izlaz rješavača.
  • Gubitak mogućnosti revizije: Dijeljenje koda bez dokumentiranja pretpostavki i jedinica.

Ukratko

  • Kod dodaje ponovljivost i mogućnost revizije inžinjerskom računu; AI ubrzava ovaj kod.
  • Dokažite ispravnost dodavanjem tvrdnje sa poznatim rezultatom svakoj funkciji AI proračuna.
  • Nemojte koristiti kod u proizvodnoj odluci bez prolaska kroz jedinicu, rubni slučaj i aritmetičku unakrsnu kontrolnu listu.
  • "Radni kod" ne znači ispravan kod; Može raditi besprijekorno i pogrešno izračunati.
  • Anonimizirati povjerljive proizvodne podatke, pridržavati se korporativne politike; ispisati kod na AI, ali obraditi podatke lokalno.

Zadatak aplikacije

Odaberite inženjerski proračun (EOQ, sigurnosna zaliha, OEE ili standardno vrijeme). Napišite Python funkciju u AI koja vrši ovaj proračun; Nametnite jedinice u docstringu i poznati rezultat testom assert. Kritična provjera: isprobajte funkciju s najmanje tri rubna slučaja (nula, negativna, null) i usporedite je s ručno izračunatim primjerom; Dokažite poznatom vrijednošću da je rezultat ispravan, čak i ako kod radi bez grešaka. Zatim ispitajte kod iz perspektive "privatnosti podataka": postoji li proces koji šalje podatke? Konačno, prilagodite kontrolnu listu ove jedinice svom vlastitom toku rada i kreirajte kontrolnu listu.

Modul Exam

1. U lean proizvodnji, koristili ste AI za kreiranje mape toka vrijednosti (VSM). Koji je najbolji korak prije implementacije prijedloga?

  • A) Potvrdite AI plan sa posmatranjem polja (gemba) i stvarnim vremenom ciklusa/zadržavanja ✔
  • B) Okačiti mapu direktno na ploču jer je AI trenutni model
  • C) Samo popravite boje i oblike kutije karte
  • D) Promjena redoslijeda vrsta otpada i njihovo objavljivanje

Objašnjenje: AI generira razumnu VSM skicu na osnovu informacija koje date, ali ne može promatrati stvarna vremena procesa i gubitak. Osnovni princip lean-a je 'gemba': tok vrijednosti treba verificirati posmatranjem i mjerenjem na terenu, a zatim se koristiti kao osnova za odluke o poboljšanju.

2. Koji skup metrika za procjenu tačnosti modela predviđanja potražnje direktno se odnosi na ovu svrhu?

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

Objašnjenje: MAPE (srednja apsolutna postotna greška), MAE i RMSE su metrike koje mjere grešku prognoze; Omogućava vam da ocijenite tačnost modela upoređujući prognozu sa stvarnom potražnjom. Cp/Cpk je sposobnost procesa, a OEE je metrika efikasnosti opreme.

3. U izračunavanju tačke ponovnog naručivanja (ROP), AI vam je dao vrijednost. Šta prvo trebate učiniti da biste bezbedno iskoristili rezultat?

  • A) Zaokružite rezultat i unesite ga direktno u ERP
  • B) Pitajte AI 'jeste li sigurni?' i budi zadovoljan odgovorom 'da'
  • C) Odštampajte formulu, ulaze i korišćene jedinice i reprodukujte proračun ručno/sa kodom ✔
  • D) Potpuno resetirajte sigurnosnu zalihu

Objašnjenje: Radi s formulom ROP = prosječna potražnja × vrijeme isporuke + sigurnosna zaliha. Potrebno je provjeriti rezultat koji AI daje eksplicitnim ispisom formule koju koristi i ulaza (stopa potražnje, vrijeme isporuke, sigurnosna zaliha) i ponovnog izračunavanja ručno/u kodu; u suprotnom jedinica ili aritmetička greška neće biti uočene.

4. Šta pravilo najkraćeg vremena obrade (SPT) obično poboljšava u rasporedu poslova?

  • A) Samo resetuje vremena podešavanja
  • B) Fizički povećava broj mašina
  • C) Garantovano smanjuje potrošnju energije za polovinu
  • D) Ima tendenciju smanjenja prosječnog vremena protoka i prosječne latencije ✔

Opis: Pravilo SPT (najkraće vrijeme obrade) ima tendenciju da smanji prosječno vrijeme protoka i prosječnu latenciju tako što prebacuje kratke poslove naprijed. Međutim, on može stalno odlagati duge zadatke; Ako je datum isporuke kritičan, pravila kao što je EDD su prikladnija. Izbor pravila treba da bude opravdan svrhom.

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

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

Objašnjenje: Cp je indeks stručnosti 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 ukazuje da je proces izvan centra (prosjek je udaljen od cilja); Iako je širina ista, postoji problem centriranja.

6. Koristite formulu koju daje AI kada izračunavate standardno vrijeme u proučavanju vremena. Standardno vrijeme je dobijeno ispravno na osnovu čega od sljedećeg?

  • A) Standardno vrijeme = Uočeno vrijeme, margina i tempo se ne uzimaju u obzir
  • B) Standardno vrijeme = Normalno vrijeme × (1 + omjer udjela); Normalno vrijeme = Uočeno vrijeme × tempo ✔
  • C) Standardno vrijeme = Uočeno vrijeme ÷ broj mašina
  • D) Standardno vrijeme je uvijek vrijeme najbržeg operatera

Objašnjenje: Izračunato kao Standardno vrijeme = Normalno vrijeme × (1 + Omjer udjela); Normalno vrijeme se nalazi prema Posmatrano vrijeme × Tempo (ocjena). Obavezno je dodati dionice (odmor, lične, odgode). AI može dati formulu, ali tempo i vrijednosti udjela moraju biti potvrđene stvarnim zapažanjem i politikom kompanije.

7. AI je rekao da je dao 'najbolje' rješenje za problem usmjeravanja vozila (VRP). Koja je najtačnija procjena?

  • A) Slanje rute direktno vozačima jer AI kaže 'najbolje'
  • B) Validirajte rješenje u odnosu na kapacitet, vremenski okvir i ograničenja troškova ✔
  • C) Samo smanjite broj zaustavljanja i objavite
  • D) Vizualiziranje karte i ignoriranje ograničenja

Objašnjenje: AI može pogrešno modelirati ograničenja (kapacitet vozila, vremenski okviri, vrijeme vožnje) ili predstaviti suboptimalno rješenje kao 'najbolje'. Rješenje; Treba ga provjeriti u odnosu na kapacitet, vremenski okvir i ograničenja ukupne udaljenosti/cijena, i ako je moguće, reproducirati i uporediti sa rješavačem.

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

  • A) Potražnja, zalihe i troškovi
  • B) Cp, Cpk i sigma
  • C) Upotrebljivost, performanse i kvalitet ✔
  • D) Takt, ciklus i vrijeme isporuke

Objašnjenje: OEE = Dostupnost × Performanse × Kvaliteta. Dostupnost odražava zastoje, performanse odražavaju gubitke u brzini, a kvalitet odražava neispravne proizvode. Ako AI daje OEE vrijednost, potrebno je osigurati da se ove tri komponente izračunaju i pomnože odvojeno.

9. Koji je najkritičniji korak verifikacije prilikom tumačenja rezultata simulacije diskretnih događaja?

  • A) Validacija ulaznih distribucija i pretpostavki sa stvarnim podacima ✔
  • B) Skratiti radno vrijeme i donijeti odluku u jednom jedinom stanju
  • C) Poboljšanje palete boja grafike
  • D) Skrivanje nasumične osnove i stvaranje rezultata neponovljivim

Objašnjenje: Izlaz simulacije je samo onoliko dobar koliko su i ulazne pretpostavke. Raspodjele, vrijeme između dolazaka, vremena servisa i parametre scenarija treba uporediti i potvrditi sa stvarnim podacima; Dodatno, treba provjeriti da li je model ispravno uspostavljen (verifikacija). Inače, 'đubre unutra, smeće van'.

10. Šta je obavezno prije upotrebe Python optimizacijske skripte generirane umjetnom inteligencijom u odluci o proizvodnji?

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

Opis: AI kod može sadržavati netačnu konverziju jedinica, netačno ograničenje ili netačan rezultat u rubnim slučajevima. Code; Male testne unose sa poznatim rezultatima treba verificirati kontrolom jedinice/veličine i rubnim slučajevima, a povjerljivi proizvodni podaci ne bi trebali biti slani vanjskim službama bez dozvole. Rezultat je potvrđen inženjerskom prosudbom.