Vienetas 9 / 9

Optimizavimas, duomenų apdorojimas, patvirtinimas ir saugumas naudojant Python

Pelnas:

  • Galimybė automatizuoti optimizavimo ir duomenų apdorojimo užduotis naudojant AI valdomą Python kodą
  • Galimybė patikrinti dirbtinio intelekto sukurtą kodą su vienetų tikrinimu, testavimu ir kraštutiniais atvejais
  • Gebėjimas apsaugoti konfidencialius gamybos duomenis ir įgyvendinti atsakingo AI naudojimo principus

Pramonės inžinerijoje greitis ir pakartojamumas įgyjamas, kai kartotiniai skaičiavimai, duomenų valymo ir optimizavimo modeliai automatizuojami naudojant Python. AI yra galingiausias šio kodo rašymo greitintuvas: duomenų apdorojimas su pandomis, optimizavimas su PuLP/SciPy, vizualizavimas su matplotlib juodraščių kodu per kelias minutes. Tačiau AI kodas iš esmės negarantuoja skirtumo tarp „atrodo, kad veikia“ ir „būti tikslus“. Šiame padalinyje deriname dirbtinio intelekto varomą inžinerinę automatiką, kodo patvirtinimo discipliną ir konfidencialių gamybos duomenų apsaugos principus. Šis vienetas yra „taikyti su pasitikėjimu“ sluoksnis visiems ankstesniems vienetams.

Kodėl kodas? Pakartojamumas ir tikrinamumas

Neautomatinis skaičiavimas programoje „Excel“ po šešių mėnesių sukels klausimą „iš kur atsirado šis skaičius? negali atsakyti į klausimą. Kita vertus, kodas užtikrina, kad įvestis, žingsniai ir išvestis būtų aiškūs ir pakartojami. Trys inžinerinio skaičiavimo kode privalumai: (1) visada tas pats rezultatas su ta pačia įvestimi, (2) kiekvienas veiksmas matomas ir peržiūrimas, (3) automatiškai atnaujinamas rezultatas, kai pasikeičia įvestis.

# EOQ skaičiavimo pavertimas patikrinama funkcija import mathdef eoq(metinis_paklausa, order_cost, holding_cost): """Ekonominis užsakymo kiekis. Vienetai turi būti nuoseklūs: metinis_paklausa [prekės/metai], užsakymo_kaina [TL/užsakymas], holdingo_kaina [TL/vnt./metai], holdingo_kaina [TL/vnt./metai] arba 0 st=st. ValueError("Paklausa ir išlaikymo sąnaudos turi būti teigiamos") return math.sqrt((2 * metinis_paklausa * order_cost) / holding_cost)# Testas su žinomu rezultatu (patikrinimas):# D=3600, S=120, H=8 -> ~328,6assert abs(eoq(3600,2, )6 -20,2, )1 0.1print(apvalus(eoq(3600, 120, 8), 1)) #328.6

Teigimo eilutė čia yra labai svarbi: patikrinkite, ar rezultatas yra žinomas. Pridėję bent vieną „žinomo rezultato testą“ prie kiekvienos skaičiavimo funkcijos, kurią rašo AI, įrodysite, kad kodas iš tikrųjų skaičiuoja teisingai.

Teisingas būdas sugeneruoti kodą naudojant AI

Kuo mažiau neapibrėžtumo rašant kodą į AI, tuo patikimesnė išvestis.

Vaidmuo: esate Python ir pramonės inžinerijos duomenų analizės ekspertas. Užduotis: Parašykite funkciją, kuri apdoroja kasdienius gamybos duomenis (data, pagaminimas, gedimas, prastovos_minutės) į CSV ir apskaičiuoja dienos atliekų normą bei apytiksliai OEE komponentus. Reikalavimai:- naudoti pandas, patvirtinti stulpelių pavadinimus (jei trūksta, pateikite suprantamą klaidą).- Atliekų norma = sugedusi / pagaminta; Apsaugokite nuo padalijimo iš nulio.- Prie funkcijos pridėkite testą (teigimą) su žinomu rezultatu.- Įrašykite vienetą ir prielaidas į dokumentų eilutę.Taisyklė: Nepridėkite paslėpto proceso, kuris rašo į tinklą/failų sistemą. Tiesiog atlikite skaičiavimus. Pažymėkite komentarais, kur nesate tikri.

Silpnas raginimas / stiprus raginimas

Silpnas raginimas:

Parašykite kodą, kuris apskaičiuoja gamybos efektyvumą.

„Ieiga“ neapibrėžta, nėra duomenų schemos, nėra testavimo. Net jei išvestis veikia, neaišku, ką ji apskaičiuoja.

Galingas raginimas:

Apskaičiuokite CSV OEE šioje diagramoje: stulpeliai [planned_time, run_time, ideal_cycle, production, quality]. Prieinamumas = darbas / suplanuotas, našumas = (idealus_ciklas × pagamintas) / vykdymas, kokybė = kokybė / pagaminta. OEE yra šių trijų produktas. Grąžinkite kiekvieną komponentą atskirai, padalykite iš nulio ir pridėkite tvirtinimo testą su žinomomis reikšmėmis.

Antrasis raginimas aiškiai pateikia kiekvieną formulę ir diagramą; Tai pašalina galimybę, kad AI neteisingai interpretuoja „derlingumą“ ir įpareigoja tikrinti testuojant.

Kodo tikrinimo kontrolinis sąrašas

Prieš naudodami AI kodą priimdami sprendimą dėl gamybos, atlikite šiuos veiksmus:

žingsnis

Ką patikrinti

Vienetas/dydis

Ar įvesties-išvesties vienetai yra nuoseklūs?

Žinomų rezultatų testas

Ar teisingai pateikiamas ranka apskaičiuotas pavyzdys?

Kraštiniai dėklai

Ką daro nulis, neigiamas, tušti duomenys, viena eilutė?

Aritmetinis kryžminis patikrinimas

Ar rezultatas apčiuopiamas mažame mėginyje?

Nematomas šalutinis poveikis

Ar kodas ištrina / siunčia duomenis?

Atsargiai: AI kartais sukuria kodą, kuris „veikia, bet yra neteisingas“: pavyzdžiui, jis neteisingai apskaičiuoja švaistymo rodiklį / pagamintą, o ne neteisingai / iš viso, arba painioja procentą su norma. Tai, kad kodas veikia be klaidų, nereiškia, kad jis teisingas. Būtinai išbandykite su žinomu rezultatu.

Saugumas ir duomenų privatumas

Gamybos duomenys yra komercinės paslaptys: pajėgumai, sąnaudos, klientų poreikiai, tiekėjų kainos. Impulsyvus jų įtraukimas į AI paslaugą yra rimta rizika.

  • Anonimizuoti duomenis: naudokite kodus vietoj faktinių klientų / tiekėjų vardų; Tikslumo išlaidas pakeiskite pavyzdinėmis vertėmis.
  • Laikykitės įmonės politikos: naudokite AI įrankius ir jūsų įmonės patvirtintas duomenų klasifikavimo taisykles.
  • Prašykite kodo, paleiskite duomenis vietoje: turėkite AI rašymo kodą, bet paleiskite kodą savo aplinkoje su tikrais duomenimis. Tokiu būdu jautrūs duomenys nepatenka.
  • Peržiūrėkite išvestį: patikrinkite, ar AI kodas siunčia duomenis į netikėtą vietą (tinklo skambutis, išorinė API).
Patarimas: principas „padaryti AI rašyti kodą, apdoroti duomenis vietoje“ apsaugo privatumą ir neleidžia AI generuoti netikrų skaičių. Tikrasis tirpiklis / biblioteka atlieka skaičiavimus, AI tiesiog sukuria skeletą.

Mini dėklas: veikia, bet neteisingas kodas

Gamykloje pramonės inžinierius Mertas leidžia dirbtiniam intelektui parašyti scenarijų, kuris parengia mėnesinę OEE ataskaitą. Kodas veikia sklandžiai ir suteikia puikų 92% OEE. Bet kai Mertas patikrina jį prieš žinomą dieną (dieną, kurią jis apskaičiavo rankiniu būdu ir kurios OEE turėtų būti 78 %), kodas grąžina 92%. Peržiūrėdamas jis nustato, kad AI netinkamai nustatė našumo komponentą (naudodamas vidutinį ciklą, o ne idealų ciklą). Ištaisius, vertė atitinka tikrovę. Kodas davė neteisingus rezultatus be jokių klaidų. Pamoka: be testavimo su žinomais rezultatais netikslus OEE būtų priėmęs valdymo sprendimus kelis mėnesius.

Dažnos klaidos

  • Mąstymas „darbas = teisingai“: priimamas kodas, kuris nepateikia klaidų kaip teisingų; neatliekamas bandymas su žinomu rezultatu.
  • Praleidžiami atvejai: skelbiamos situacijos, pvz., padalijimas iš nulio, tušti duomenys, neigiama įvestis jų nebandant.
  • Konfidencialių duomenų įklijavimas: faktinių išlaidų/kliento duomenų siuntimas į AI jų neanonimuojant.
  • AI klaidinimas su sprendėju: naudojant optimizavimo išvestį, kurią AI sako „rezultatas yra toks“, kaip tikrąją sprendėjo išvestį.
  • Audituojamumo praradimas: kodo bendrinimas nedokumentuojant prielaidų ir vienetų.

Apibendrinant

  • Kodas padidina inžinerinės sąskaitos pakartojamumą ir audituojamumą; AI pagreitina šį kodą.
  • Įrodykite teisingumą prie kiekvienos AI skaičiavimo funkcijos pridėdami tvirtinimą su žinomu rezultatu.
  • Nenaudokite kodo priimdami sprendimą dėl gamybos, nepateikę jo per vienetą, didžiąsias ir mažąsias raides ir aritmetinį kryžminį kontrolinį sąrašą.
  • „Darbo kodas“ nereiškia teisingo kodo; Jis gali veikti nepriekaištingai ir neteisingai apskaičiuoti.
  • Anonimizuoti konfidencialius gamybos duomenis, laikytis įmonės politikos; atspausdinkite kodą į AI, bet apdorokite duomenis vietoje.

Taikymo užduotis

Pasirinkite inžinerinį skaičiavimą (EOQ, saugos atsargos, OEE arba standartinis laikas). Parašykite Python funkciją į AI, kuri atlieka šį skaičiavimą; Įgyvendinkite vienetus dokumento eilutėje ir žinomą rezultatą naudodami tvirtinimo testą. Kritinis patikrinimas: išbandykite funkciją su bent trimis kraštiniais atvejais (nulis, neigiamas, nulinis) ir palyginkite ją su rankiniu būdu apskaičiuotu pavyzdžiu; Įrodykite žinoma reikšme, kad rezultatas teisingas, net jei kodas veikia be klaidų. Tada patikrinkite kodą iš „duomenų privatumo“ perspektyvos: ar yra duomenų siuntimo procesas? Galiausiai pritaikykite šio įrenginio patikros kontrolinį sąrašą prie savo darbo eigos ir sukurkite kontrolinį sąrašą.

Modulio egzaminas

1. Vykdydami taupią gamybą naudojote AI, kad sukurtumėte vertės srauto žemėlapį (VSM). Koks yra geriausias žingsnis prieš įgyvendinant pasiūlymą?

  • A) Patvirtinkite AI projektą su lauko (gemba) stebėjimu ir faktiniu ciklo / buvimo laiku ✔
  • B) Pakabinkite žemėlapį tiesiai ant lentos, nes AI yra dabartinis modelis
  • C) Tiesiog pataisykite žemėlapio spalvas ir langelių formas
  • D) Atliekų rūšių tvarkos keitimas ir jų paskelbimas

Paaiškinimas: AI sukuria pagrįstą VSM eskizą, pagrįstą jūsų pateikta informacija, bet negali stebėti faktinio proceso laiko ir atliekų. Pagrindinis „lean“ principas yra „gemba“: vertės srautas turi būti patikrintas stebint ir matuojant lauke, o vėliau naudojamas kaip tobulinimo sprendimų pagrindas.

2. Kuris metrikų rinkinys, skirtas paklausos prognozės modelio tikslumui įvertinti, tiesiogiai atitinka šį tikslą?

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

Paaiškinimas: MAPE (vidutinė absoliuti procentinė paklaida), MAE ir RMSE yra metrikos, matuojančios prognozės paklaidą; Tai leidžia įvertinti modelio tikslumą lyginant prognozes su faktine paklausa. Cp / Cpk yra proceso galimybė, o OEE yra įrangos efektyvumo metrika.

3. Skaičiuojant pertvarkymo tašką (ROP), AI suteikė jums reikšmę. Ką pirmiausia reikia padaryti, kad rezultatas būtų naudojamas saugiai?

  • A) Suapvalinkite rezultatą ir įveskite jį tiesiai į ERP
  • B) Paklauskite AI „ar tu tikras?“ ir patenkinti atsakymu "taip"
  • C) Išspausdinkite formulę, įvestis ir naudojamus vienetus ir atkurkite skaičiavimą rankiniu būdu / su kodu ✔
  • D) Visiškai iš naujo nustatykite saugos atsargas

Paaiškinimas: veikia pagal formulę ROP = vidutinė paklausa × pristatymo laikas + saugos atsargos. Būtina patikrinti AI pateiktą rezultatą, aiškiai išspausdinant jo naudojamą formulę ir įvestis (paklausos norma, pristatymo laikas, saugos atsargos) ir perskaičiuojant jį rankiniu būdu / į kodą; kitu atveju vienetas arba aritmetinė klaida nebus pastebėta.

4. Ką paprastai pagerina trumpiausio apdorojimo laiko (SPT) taisyklė planuojant užduotis?

  • A) Tai tik iš naujo nustato sąrankos laiką
  • B) Fiziškai padidina mašinų skaičių
  • C) garantuotai sumažina energijos sąnaudas per pusę
  • D) linkęs sumažinti vidutinį srauto laiką ir vidutinę delsą ✔

Aprašymas: SPT (trumpiausias apdorojimo laikas) taisyklė linkusi sumažinti vidutinį srauto laiką ir vidutinę delsą, paankstindama trumpas užduotis. Tačiau jis gali nuolat atidėti ilgas užduotis; Jei pristatymo data yra kritinė, tinkamesnės yra tokios taisyklės kaip EDD. Taisyklės pasirinkimas turėtų būti pagrįstas tikslu.

5. Ką reiškia, jei Cpk reikšmė yra žymiai mažesnė nei Cp SPC?

  • A) Proceso vidurkis pasislinko nuo tolerancijos centro (centravimo problema) ✔
  • B) Proceso dispersija lygi nuliui
  • C) Tai rodo, kad mėginių skaičius yra didelis
  • D) Įrodo, kad valdymo diagrama nereikalinga

Paaiškinimas: Cp yra kvalifikacijos indeksas, kuriame atsižvelgiama į proceso sklaidos ir tolerancijos pločio santykį, o Cpk yra adekvatumo indeksas, kuriame taip pat atsižvelgiama į vidurkio poslinkį tolerancijos centro atžvilgiu. Jei Cpk yra mažesnis nei Cp, tai rodo, kad procesas yra ne centre (vidurkis yra toli nuo tikslo); Nors sklaida yra tokia pati, yra centravimo problema.

6. Skaičiuodami standartinį laiko tyrimo laiką, naudojate AI pateiktą formulę. Kuriuo iš šių dalykų teisingai gaunamas standartinis laikas?

  • A) Standartinis laikas = Stebėtas laikas, marža ir tempas neatsižvelgiama
  • B) Standartinis laikas = normalus laikas × (1 + dalies santykis); Normalus laikas = stebėtas laikas × tempas ✔
  • C) Standartinis laikas = stebėtas laikas ÷ mašinų skaičius
  • D) Standartinis laikas visada yra greičiausio operatoriaus laikas

Paaiškinimas: apskaičiuojamas kaip standartinis laikas = normalus laikas × (1 + akcijų santykis); Normalus laikas randamas pagal Stebimo laiką × Tempo (reitingas). Privaloma pridėti akcijų (poilsio, asmeninės, vėlavimo). AI gali pateikti formulę, tačiau tempas ir akcijų vertės turi būti patikrintos remiantis faktiniu stebėjimu ir įmonės politika.

7. AI teigė, kad jis yra „geriausias“ transporto priemonės maršruto nustatymo (VRP) problemos sprendimas. Kuris yra tiksliausias įvertinimas?

  • A) Maršruto siuntimas tiesiai vairuotojams, nes AI sako „geriausias“
  • B) Patvirtinkite sprendimą pagal pajėgumų, laiko lango ir sąnaudų apribojimus ✔
  • C) Tiesiog sumažinkite sustojimų skaičių ir paskelbkite
  • D) vizualizuoti žemėlapį ir nepaisyti apribojimų

Paaiškinimas: AI gali neteisingai modeliuoti apribojimus (transporto priemonės talpą, laiko langus, vairavimo trukmę) arba pateikti neoptimalų sprendimą kaip „geriausią“. Sprendimas; Jis turėtų būti patikrintas pagal pajėgumą, laiko langą ir bendro atstumo / sąnaudų apribojimus ir, jei įmanoma, atkuriamas ir palyginamas su sprendikliu.

8. Kurių trijų komponentų produktas yra OEE (angl. Overall Equipment Effectiveness)?

  • A) Paklausa, atsargos ir kaina
  • B) Cp, Cpk ir sigma
  • C) Naudojimas, našumas ir kokybė ✔
  • D) Takt, ciklas ir pristatymo laikas

Paaiškinimas: OEE = prieinamumas × našumas × kokybė. Prieinamumas atspindi prastovą, našumas – greičio praradimą, o kokybė – sugedusius gaminius. Jei AI suteikia OEE reikšmę, būtina užtikrinti, kad šie trys komponentai būtų apskaičiuojami ir padauginami atskirai.

9. Koks yra svarbiausias tikrinimo žingsnis interpretuojant diskrečiųjų įvykių modeliavimo išvestį?

  • A) Įvesties skirstinių ir prielaidų patvirtinimas realiais duomenimis ✔
  • B) Sutrumpinkite darbo laiką ir priimkite sprendimą viena sąlyga
  • C) Grafikos spalvų paletės tobulinimas
  • D) Paslėpti atsitiktinę sėklą ir padaryti rezultatą nepakartojamu

Paaiškinimas: Modeliavimo išvestis yra tokia pat gera, kaip ir įvesties prielaidos. Paskirstymai, atvykimo laikas, aptarnavimo laikas ir scenarijaus parametrai turėtų būti lyginami ir patvirtinami su tikrais duomenimis; Be to, reikia patikrinti, ar modelis buvo sukurtas teisingai (patikrinimas). Kitu atveju „šiukšlės į, šiukšlės išvežamos“.

10. Kuris yra privalomas prieš naudojant dirbtinio intelekto sukurtą Python optimizavimo scenarijų priimant sprendimą dėl gamybos?

  • A) Rezultato taikymas tiesiogiai, nes kodas veikia be klaidų
  • B) Testavimas su žinomais rezultatais, patvirtinimas naudojant vienetų patikrinimą ir kraštutinius atvejus bei duomenų konfidencialumo apsauga ✔
  • C) Sutrumpinkite kintamųjų pavadinimus ir ištrinkite komentarus
  • D) Scenarijaus su visais gamybos duomenimis įkėlimas į viešąją paslaugą

Aprašymas: AI kode gali būti neteisingas vienetų konvertavimas, neteisingas apribojimas arba neteisingas rezultatas kraštutiniais atvejais. Kodas; Mažos bandymo įvesties su žinomais rezultatais turėtų būti patikrintos vieneto/dydžio kontrolės ir kraštinių atvejų, o konfidencialūs gamybos duomenys neturėtų būti siunčiami išorinėms tarnyboms be leidimo. Rezultatą patvirtina inžinerinis sprendimas.