Jednostka 9 / 9

Optymalizacja, przetwarzanie danych, walidacja i bezpieczeństwo w Pythonie

Zyski:

  • Możliwość automatyzacji zadań optymalizacji i przetwarzania danych za pomocą kodu Pythona opartego na sztucznej inteligencji
  • Możliwość weryfikacji kodu wygenerowanego przez sztuczną inteligencję za pomocą sprawdzania jednostek, testowania i przypadków brzegowych
  • Możliwość ochrony poufnych danych produkcyjnych i egzekwowania zasad odpowiedzialnego wykorzystania sztucznej inteligencji

W inżynierii przemysłowej zarówno szybkość, jak i powtarzalność uzyskuje się, gdy powtarzalne obliczenia, czyszczenie danych i modele optymalizacyjne są automatyzowane za pomocą języka Python. AI jest najpotężniejszym akceleratorem do pisania tego kodu: przetwarzanie danych za pomocą pand, optymalizacja za pomocą PuLP/SciPy, wizualizacja za pomocą Matplotlib tworzy wersję roboczą kodu w ciągu kilku minut. Jednak kod AI z natury nie gwarantuje różnicy między „pozorem działania” a „byciem dokładnym”. W tej jednostce łączymy automatyzację inżynieryjną opartą na sztucznej inteligencji, dyscyplinę walidacji kodu i zasady ochrony poufnych danych produkcyjnych. Ta jednostka jest warstwą „zastosuj z pewnością” do wszystkich poprzednich jednostek.

Dlaczego kod? Powtarzalność i audytowalność

Ręczne obliczenia w programie Excel spowodują, że po sześciu miesiącach pojawi się pytanie „skąd wzięła się ta liczba?” nie mogę odpowiedzieć na pytanie. Z drugiej strony kod zapewnia przejrzystość i powtarzalność danych wejściowych, kroków i wyników. Trzy korzyści wynikające z wykonywania obliczeń inżynierskich w kodzie: (1) zawsze ten sam wynik przy tych samych danych wejściowych, (2) widoczność każdego kroku i możliwość jego przeglądu, (3) automatyczne aktualizowanie wyniku po zmianie danych wejściowych.

# Przekształcenie obliczenia EOQ w sprawdzalną funkcję import mathdef eoq(annual_demand, Order_cost, holding_cost): """Ekonomiczna wielkość zamówienia. Jednostki muszą być spójne: roczne_popyt [szt./rok], koszt_zamówienia [TL/zamówienie], koszt_trzymania [TL/szt./rok].""" if Annual_demand <= 0 lub holding_cost <= 0: raise ValueError("Demand and koszt utrzymania musi być dodatni”) return math.sqrt((2 * roczne_zapotrzebowanie * koszt_zamówienia) / koszt_trzymania)# Test ze znanym wynikiem (weryfikacja):# 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

Linia potwierdzenia jest tutaj krytyczna: przetestuj na znanym wyniku. Dodając co najmniej jeden „test znanych wyników” do każdej funkcji obliczeniowej zapisywanej przez sztuczną inteligencję, udowadniasz, że kod faktycznie oblicza poprawnie.

Właściwy sposób generowania kodu za pomocą sztucznej inteligencji

Im mniej niepewności występuje podczas pisania kodu do AI, tym bardziej niezawodny jest wynik.

Rola: Jesteś ekspertem w Pythonie i analizie danych z inżynierii przemysłowej. Zadanie: Napisz funkcję, która przetwarza dzienne dane produkcyjne (data, produkcja, wady, minuty przestojów) w formacie CSV i oblicza dzienny poziom strat oraz w przybliżeniu komponenty OEE. Wymagania: - użyj pand, sprawdź poprawność nazw kolumn (w przypadku ich braku podaj zrozumiały błąd). - Poziom odpadów = wadliwy / wyprodukowany; Zabezpiecz przed dzieleniem przez zero.- Dodaj do funkcji test (assert) ze znanym wynikiem.- Zapisz jednostkę i założenia w dokumencie. Reguła: Nie dodawaj ukrytego procesu zapisującego do sieci/systemu plików. Po prostu wykonaj obliczenia. Zaznacz w komentarzach, gdzie nie jesteś pewien.

Słaba podpowiedź/silna podpowiedź

Słaba zachęta:

Napisz kod obliczający efektywność produkcji.

„Wydajność” jest niezdefiniowana, brak schematu danych, brak testów. Nawet jeśli dane wyjściowe działają, nie jest jasne, co oblicza.

Potężny monit:

Oblicz OEE dla CSV na poniższym diagramie: kolumny [planowany_czas, czas_wykonania, idealny_cykl, wyprodukowany, jakość]. Dostępność = praca/planowana, Wydajność = (idealny cykl × wyprodukowany)/rund, Jakość = jakość/wyprodukowano. OEE jest produktem tych trzech. Zwróć każdy komponent osobno, zajmij się dzieleniem przez zero i dodaj test potwierdzenia ze znanymi wartościami.

Drugi monit wyraźnie podaje każdą formułę i diagram; Eliminuje możliwość błędnej interpretacji „wydajności” przez sztuczną inteligencję i wymaga weryfikacji poprzez testowanie.

Lista kontrolna weryfikacji kodu

Zanim użyjesz kodu AI do podjęcia decyzji produkcyjnej, wykonaj następujące kroki:

krok

Co sprawdzić

Jednostka/rozmiar

Czy jednostki wejścia-wyjścia są spójne?

Znany wynik testu

Czy poprawnie podaje ręcznie obliczony przykład?

Obudowy Edge

Co robi zero, ujemne, puste dane, pojedyncza linia?

Kontrola krzyżowa arytmetyczna

Czy wynik jest wyczuwalny w małej próbce?

Niewidoczny efekt uboczny

Czy kod usuwa/wysyła dane?

Uwaga: sztuczna inteligencja czasami tworzy kod, który „działa, ale jest błędny”: na przykład błędnie/wytwarza współczynnik marnotrawstwa zamiast niepoprawnie/całkowicie lub myli wartość procentową ze stawką. To, że kod działa bez błędów, nie znaczy, że jest poprawny. Pamiętaj, aby wykonać test ze znanym wynikiem.

Bezpieczeństwo i prywatność danych

Dane produkcyjne stanowią tajemnicę handlową: moce produkcyjne, koszty, wymagania klientów, ceny dostawców. Impulsywne umieszczanie ich w usłudze AI stanowi poważne ryzyko.

  • Anonimizuj dane: używaj kodów zamiast rzeczywistych nazw klientów/dostawców; Zastąp koszty precyzji przykładowymi wartościami.
  • Postępuj zgodnie z polityką firmy: korzystaj z narzędzi AI i zasad klasyfikacji danych zatwierdzonych przez Twoją firmę.
  • Poproś o kod, uruchom dane lokalnie: poproś sztuczną inteligencję o napisanie kodu, ale uruchomienie kodu w swoim własnym środowisku, z prawdziwymi danymi. W ten sposób wrażliwe dane nie wydostaną się na zewnątrz.
  • Przejrzyj dane wyjściowe: Sprawdź, czy kod AI wysyła dane do nieoczekiwanego miejsca (połączenie sieciowe, zewnętrzne API).
Wskazówka: zasada „zmuś AI do napisania kodu, przetwarzania danych lokalnie” chroni prywatność i zapobiega generowaniu przez sztuczną inteligencję fałszywych numerów. Rzeczywisty solwer/biblioteka wykonuje obliczenia, sztuczna inteligencja po prostu buduje szkielet.

Mini Case: Działa, ale zły kod

W fabryce inżynier przemysłowy Mert każe sztucznej inteligencji napisać skrypt, który generuje miesięczny raport OEE. Kod działa płynnie i daje niezły OEE na poziomie 92%. Kiedy jednak Mert testuje to w oparciu o znany dzień (dzień, który obliczył ręcznie i który powinien mieć OEE na poziomie 78%), kod zwraca 92%. Podczas przeglądu stwierdza, że ​​sztuczna inteligencja nieprawidłowo skonfigurowała komponent wydajności (używając cyklu średniego zamiast cyklu idealnego). Po skorygowaniu wartość odpowiada rzeczywistości. Kod generował błędne wyniki bez żadnych błędów. Lekcja: bez testów ze znanymi wynikami niedokładne OEE powodowałoby podejmowanie decyzji zarządczych przez wiele miesięcy.

Typowe błędy

  • Myślenie „działa = poprawnie”: Akceptowanie kodu, który nie podaje błędów, jako poprawnego; nie testowanie ze znanym wynikiem.
  • Pomijanie przypadków skrajnych: publikowanie sytuacji, takich jak dzielenie przez zero, puste dane, negatywne dane wejściowe, bez wypróbowywania ich.
  • Wklejanie poufnych danych: wysyłanie rzeczywistych kosztów/danych klientów do AI bez ich anonimizacji.
  • Mylenie sztucznej inteligencji z solwerem: wykorzystanie wyniku optymalizacji, który według AI „jest taki wynik”, jako rzeczywistego wyniku solwera.
  • Utrata możliwości audytu: udostępnianie kodu bez dokumentowania założeń i jednostek.

Podsumowując

  • Kod dodaje powtarzalność i możliwość kontroli do konta inżynierskiego; AI przyspiesza ten kod.
  • Udowodnij poprawność, dodając asercję ze znanym wynikiem do każdej funkcji obliczeniowej AI.
  • Nie używaj kodu przy podejmowaniu decyzji produkcyjnych bez przejścia go przez jednostkę, przypadek brzegowy i arytmetyczną listę kontrolną.
  • „Kod działający” nie oznacza kodu prawidłowego; Może działać bezbłędnie i błędnie obliczać.
  • Anonimizuj poufne dane produkcyjne, przestrzegaj polityki korporacyjnej; wydrukuj kod do AI, ale przetwarzaj dane lokalnie.

Zadanie aplikacji

Wybierz obliczenia inżynieryjne (EOQ, zapasy bezpieczeństwa, OEE lub czas standardowy). Napisz funkcję Pythona do AI, która wykonuje te obliczenia; Wymuś jednostki w dokumentacji i znany wynik za pomocą testu potwierdzającego. Weryfikacja krytyczna: wypróbuj funkcję z co najmniej trzema przypadkami brzegowymi (zero, ujemna, null) i porównaj ją z ręcznie obliczonym przykładem; Za pomocą znanej wartości udowodnij, że wynik jest poprawny, nawet jeśli kod działa bez błędów. Następnie przeanalizuj kod z perspektywy „prywatności danych”: czy istnieje proces wysyłający dane? Na koniec dostosuj listę kontrolną weryfikacji tego urządzenia do własnego przepływu pracy i utwórz listę kontrolną.

Egzamin modułowy

1. W Lean Manufacturing wykorzystałeś sztuczną inteligencję do stworzenia mapy strumienia wartości (VSM). Jaki jest najlepszy krok przed wdrożeniem sugestii?

  • A) Zweryfikuj plan AI za pomocą obserwacji terenowych (gemba) i rzeczywistych czasów cyklu/przestoju ✔
  • B) Zawieszenie mapy bezpośrednio na tablicy, ponieważ sztuczna inteligencja jest aktualnym modelem
  • C) Po prostu popraw kolory i kształty pudełek na mapie
  • D) Zmiana kolejności rodzajów odpadów i ich publikacja

Wyjaśnienie: Sztuczna inteligencja generuje rozsądny szkic VSM na podstawie podanych informacji, ale nie może obserwować rzeczywistego czasu procesu i strat. Podstawową zasadą Lean jest „gemba”: strumień wartości należy zweryfikować poprzez obserwację i pomiar w terenie, a następnie wykorzystać jako podstawę do podejmowania decyzji usprawniających.

2. Który zestaw metryk służących do oceny dokładności modelu prognozy popytu bezpośrednio służy temu celowi?

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

Wyjaśnienie: MAPE (średni bezwzględny błąd procentowy), MAE i RMSE to metryki mierzące błąd prognozy; Pozwala ocenić dokładność modelu poprzez porównanie prognozy z rzeczywistym popytem. Cp/Cpk to zdolność procesu, a OEE to miernik wydajności sprzętu.

3. Podczas obliczania punktu ponownego zamówienia (ROP) sztuczna inteligencja podała wartość. Co należy zrobić w pierwszej kolejności, aby bezpiecznie wykorzystać wynik?

  • A) Zaokrąglij wynik w górę i wprowadź go bezpośrednio do ERP
  • B) Zapytaj sztuczną inteligencję „czy jesteś pewien?” i zadowolić się odpowiedzią „tak”
  • C) Wydrukuj wzór, dane wejściowe i używane jednostki, a następnie odtwórz obliczenia ręcznie/za pomocą kodu ✔
  • D) Całkowicie zresetować zapas bezpieczeństwa

Wyjaśnienie: Działa to w oparciu o formułę ROP = średnie zapotrzebowanie × czas realizacji + zapasy bezpieczeństwa. Konieczne jest zweryfikowanie wyniku, jaki daje sztuczna inteligencja, poprzez wyraźne wydrukowanie używanej przez nią formuły i danych wejściowych (stopa popytu, czas realizacji, zapasy bezpieczeństwa) i ponowne przeliczenie go ręcznie/w kodzie; w przeciwnym razie błąd jednostkowy lub arytmetyczny nie zostanie zauważony.

4. Co zwykle poprawia zasada najkrótszego czasu przetwarzania (SPT) w planowaniu zadań?

  • A) Resetuje tylko czasy konfiguracji
  • B) Fizycznie zwiększa liczbę maszyn
  • C) Gwarantuje zmniejszenie zużycia energii o połowę
  • D) Ma tendencję do zmniejszania średniego czasu przepływu i średniego opóźnienia ✔

Opis: Reguła SPT (najkrótszy czas przetwarzania) ma tendencję do zmniejszania średniego czasu przepływu i średniego opóźnienia poprzez przesuwanie krótkich zadań do przodu. Może jednak stale odkładać długie zadania; Jeśli termin dostawy jest krytyczny, bardziej odpowiednie będą zasady takie jak EDD. Wybór reguły powinien być uzasadniony celem.

5. Co to znaczy, że wartość Cpk jest znacząco niższa niż Cp w SPC?

  • A) Średnia procesu przesunęła się ze środka tolerancji (problem centrowania) ✔
  • B) Wariancja procesu wynosi zero
  • C) Pokazuje, że liczba próbek jest duża
  • D) Wykazuje, że karta kontrolna jest niepotrzebna

Wyjaśnienie: Cp jest wskaźnikiem biegłości, który uwzględnia stosunek rozproszenia procesu do szerokości tolerancji, a Cpk jest wskaźnikiem adekwatności, który uwzględnia również przesunięcie średniej względem środka tolerancji. Jeśli Cpk jest niższe niż Cp, oznacza to, że proces jest niecentryczny (średnia jest oddalona od wartości docelowej); Mimo że rozpiętość jest taka sama, występuje problem z wycentrowaniem.

6. Korzystasz ze wzoru podanego przez sztuczną inteligencję przy obliczaniu standardowego czasu w badaniu czasu. Który z poniższych sposobów wyznacza poprawnie czas standardowy?

  • A) Czas standardowy = Obserwowany czas, margines i tempo nie są brane pod uwagę
  • B) Czas standardowy = czas normalny × (1 + współczynnik udziału); Czas normalny = czas obserwowany × tempo ✔
  • C) Czas standardowy = czas obserwowany ÷ liczba maszyn
  • D) Czas standardowy to zawsze czas najszybszego operatora

Wyjaśnienie: Obliczono jako czas standardowy = czas normalny × (1 + współczynnik udziału); Czas normalny wyznacza się na podstawie czasu obserwowanego × tempa (ocena). Obowiązkowe jest dodanie udziałów (odpoczynek, osobiste, opóźnienie). Sztuczna inteligencja może podać formułę, ale wartości tempa i udziału muszą zostać zweryfikowane na podstawie rzeczywistych obserwacji i polityki firmy.

7. AI stwierdziła, że ​​zapewnia „najlepsze” rozwiązanie problemu wyznaczania tras pojazdów (VRP). Która ocena jest najtrafniejsza?

  • A) Wysyłanie trasy bezpośrednio do kierowców, ponieważ sztuczna inteligencja mówi „najlepsza”
  • B) Zweryfikuj rozwiązanie pod kątem ograniczeń związanych z wydajnością, oknem czasowym i kosztami ✔
  • C) Po prostu zmniejsz liczbę przystanków i opublikuj
  • D) Wizualizacja mapy i ignorowanie ograniczeń

Wyjaśnienie: sztuczna inteligencja może błędnie modelować ograniczenia (pojemność pojazdu, okna czasowe, czas jazdy) lub przedstawiać nieoptymalne rozwiązanie jako „najlepsze”. Rozwiązanie; Należy sprawdzić pod kątem wydajności, okna czasowego i ograniczeń dotyczących całkowitej odległości/kosztu, a jeśli to możliwe, odtworzyć i porównać z solwerem.

8. OEE (ogólna efektywność sprzętu) to iloczyn jakich trzech elementów?

  • A) Popyt, zapasy i koszty
  • B) Cp, Cpk i sigma
  • C) Użyteczność, wydajność i jakość ✔
  • D) Takt, cykl i czas dostawy

Wyjaśnienie: OEE = dostępność × wydajność × jakość. Dostępność odzwierciedla przestoje, wydajność odzwierciedla utratę prędkości, a jakość odzwierciedla wadliwe produkty. Jeżeli AI podaje wartość OEE, należy zadbać o to, aby te trzy składniki zostały obliczone i pomnożone oddzielnie.

9. Jaki jest najważniejszy etap weryfikacji podczas interpretacji wyników symulacji zdarzenia dyskretnego?

  • A) Walidacja rozkładów wejściowych i założeń z rzeczywistymi danymi ✔
  • B) Skróć czas pracy i podejmij decyzję w jednym warunku
  • C) Poprawa palety kolorystycznej grafiki
  • D) Ukrycie losowego ziarna i spowodowanie, że wynik będzie niepowtarzalny

Objaśnienie: Dane wyjściowe symulacji są tak dobre, jak założenia wejściowe. Rozkłady, czas między przyjazdami, czasy obsługi i parametry scenariusza należy porównać i zweryfikować z rzeczywistymi danymi; Dodatkowo należy sprawdzić poprawność założenia modelu (weryfikacja). W przeciwnym razie „śmieci wchodzą, śmieci wychodzą”.

10. Co jest obowiązkowe przed użyciem skryptu optymalizacyjnego Pythona wygenerowanego przez sztuczną inteligencję przy podejmowaniu decyzji produkcyjnej?

  • A) Bezpośrednie zastosowanie wyniku, ponieważ kod działa bez błędów
  • B) Testowanie ze znanymi wynikami, walidacja za pomocą sprawdzania jednostkowego i przypadków brzegowych oraz ochrona poufności danych ✔
  • C) Skróć nazwy zmiennych i usuń komentarze
  • D) Wgranie skryptu ze wszystkimi danymi produkcyjnymi do usługi publicznej

Opis: kod AI może zawierać niepoprawną konwersję jednostek, nieprawidłowe ograniczenie lub nieprawidłowy wynik w przypadkach brzegowych. Kod; Małe dane wejściowe testowe ze znanymi wynikami powinny być weryfikowane za pomocą kontroli jednostek/rozmiarów i przypadków brzegowych, a poufne dane produkcyjne nie powinny być wysyłane do usług zewnętrznych bez pozwolenia. Wynik został potwierdzony oceną inżynierską.