Opracowanie wspomagania obliczeń, symulacji i koncypowania inżynierii mechanicznej młyna wielotarczowego z wykorzystaniem transmisji danych" (PB 622/T08/2002) Część III: Instrukcja obsługi programu TELE-TEST-10GRAN Załącznik l: IE-TEST-07BIO - aktualizacja, gromadzenie i wyszukiwanie danych z symulacji genetycznej (GA) Załącznik 2: Płyta CD zawierająca zmodyfikowany program IE-TEST-07Bio (aktualizacja) oraz program TELE-TEST-1OGRAN Bydgoszcz 20.09.2004
2
Spis treści 1. Wstęp... 4 2. Charakterystyka aplikacji... 5 Narzędzia programistyczne i uruchomieniowe... 5 3. Instalacja... 6 Dostarczanie over-the-air... 6 4. Implementacja... 7 Hierarchia klas... 7 Algorytm genetyczny... 8 5. Interfejs użytkownika... 9 6. Wprowadzanie danych... 11 Konfiguracja materiału... 12 Konfiguracja zespołu roboczego maszyny... 14 Konfiguracja procesu... 17 7. Wykonywanie obliczeń... 20 8. Wspomaganie konstrukcji rozdrabniacza... 23 Konfiguracja algorytmu genetycznego... 24 Przestrzeń poszukiwań... 26 Wpływ ustawień GA na czas symulacji... 27 Rozpoczęcie wspomagania... 27 9. Przykładowe wyniki... 32 3
1. Wstęp Program TELE-TEST-10GRAN wykorzystuje algorytmy genetyczne oraz idee procedury IE-TEST-07BIO do inteligentnego wspomagania konstrukcji wielotarczowych rozdrabniaczy ziaren zbóż. Użytkownik ma możliwość wprowadzenia danych o: materiale (cechy mechaniczne, wytrzymałościowe i energetyczne), maszynie (cechy konstrukcyjne, sposób napędu), procesie (czas analizy, opory ruchu jałowego, skrawania, zwyżki dynamicznej i cechy użytkowe), parametrach algorytmu genetycznego (populacja, liczba pokoleń, funkcja przystosowania, kierunek koncypowania genetycznego, jakość liczenia). Po wprowadzeniu danych realizowane jest wspomaganie dla wybranej liczby populacji i pokoleń algorytmu genetycznego, w zakresie: koncepcji początkowej, symulacji procesu i inżynierii rozdrabniania oraz wyboru rozwiązania optymalnego. Jako wynik otrzymuje się konfiguracje konstrukcji zespołu roboczego wielotarczowego rozdrabniacza ziaren zbóż, wizualizację przekrojów oporów i charakterystyk użytkowych rozdrabniania. W programie wykorzystano autorską implementację algorytmu genetycznego dedykowaną dla potrzeb niniejszej aplikacji. Poprawność implementacji algorytmu została zweryfikowana na etapie wstępnym tworzenia oprogramowania, poprzez wykonanie zestawu obliczeń dla klasy problemów związanych ze znajdywaniem optimów funkcji kwadratowych. Należy podkreślić, że dzięki wykorzystaniu technologii JAVA program jest niezależny od systemu operacyjnego. Pomimo iż program jest dedykowany dla urządzeń przenośnych możliwe jest jego uruchomienie na emulatorze 1 telefonu komórkowego zarówno pod systemem Linux, jak i MS Windows. 1 Oprogramowanie naśladujące telefon komórkowy i jego funkcje 4
2. Charakterystyka aplikacji Aplikacja TELE-TEST-10GRAN (tzw. MIDlet 2 ) została napisana w języku JAVA w środowisku J2ME (ang. Java 2 Micro Edition) przeznaczonym do tworzenia i uruchomiania aplikacji dla urządzeń przenośnych, takich jak np. telefony komórkowe. Możliwe jest także uruchomienie programu za pomocą specjalnego oprogramowania - emulatora środowiska mobilnego - instalowanego na komputerze klasy PC. Komputer PC, na którym instalowane jest oprogramowanie do symulacji środowiska powinien spełniać następujące minimalne wymagania: system operacyjny Windows 9x lub nowszy; konfiguracja komputera: procesor klasy Pentium 200, karta graficzna VGA, około 30 MB wolnego miejsca na dysku (w zależności od emulatora telefonu komórkowego); środowisko programistyczne (ang. Java Development Kit - JDK), zawierające zarówno wszystkie standardowe pakiety składające się na J2SE, jak i standardową wirtualną maszynę JAVA. Środowisko uruchomieniowe, czyli tzw. emulator, stanowi zarówno narzędzie do wizualizacji poprawnego działania aplikacji, a jednocześnie dostarcza funkcji maszyny wirtualnej - tzw. KVM. Różnorakie wersje firmowych emulatorów telefonów komórkowych można pobrać ze stron ich producentów, ale dla celów uruchomieniowych zaleca się podstawową implementację firmy Sun. Oprogramowanie służące jako środowisko uruchomieniowe - "J2ME Wireless Toolkit" oferuje oprócz możliwości emulacji środowiska telefonu przenośnego, również weryfikację oraz tworzenie archiwów tzw. JAR. Archiwa te stanowią finalną postać aplikacji, która może być bezpośrednio załadowana do pamięci telefonu komórkowego, posiadającego funkcję ładowania aplikacji JAVA. Narzędzia programistyczne i uruchomieniowe W pracy nad aplikacją na etapie tworzenia i testowania MIDletu, wykorzystywano następujące narzędzia programistyczne (przeznaczone dla środowiska J2ME): edytor tekstowy Sun ONE Studio 4 update 1, Mobile Edition - darmowe narzędzie do tworzenia oprogramowania firmy SUN, 2 MIDlet - aplikacja napisana zgodnie ze standardem MIDP (ang. Mobile Information Device Profile) definiującym zbiór instrukcji określających sposób współdziałania aplikacji z telefonem komórkowym 5
środowisko programistyczne - JDK w wersji 1.4.2 dla systemu Windows (zawiera standardowe pakiety składające się na standardową dystrybucję środowiska programistycznego J2SE, jak i standardową maszynę JAVA), środowisko uruchomieniowe, czyli tzw. emulator firmy Sun - J2ME Wireless Toolkit (początkowo w wersji 2.0, a później w wersji 2.1). 3. Instalacja Instalowanie MIDletów wiąże się z terminem AMS (Application Management Software). Jest to oprogramowanie do zarządzania aplikacjami i jest używane w celu opisania składników oprogramowania. Używane w trakcie realizacji projektu oprogramowanie Wireless Toolkit posiada swoją własną implementację AMS pozwalającą na instalację oprogramowania z dwóch źródeł: 1) Z lokalnego komputera przez dedykowane, szybkie połączenie - ten tryb pracy jest odpowiedni zwłaszcza dla notatników elektronicznych, które normalnie są połączone z komputerem lub laptopem, z którymi okresowo są synchronizowane. Jednak z uwagi, iż nasz projekt dotyczy oprogramowania telefonów komórkowych, nie będziemy opisywać tutaj szerzej tej metody. 2) Poprzez sieć, do której podłączone jest urządzenie - jest to najbardziej popularny sposób ładowania MIDletów do telefonów komórkowych i podobnych urządzeń bezprzewodowych, aczkolwiek można tę metodę zastosować również dla notatników elektronicznych przyłączonych do sieci. Proces udostępniania zestawów MIDletów w sieci jest nazywany dostarczaniem OTA (ang. over-the-air). Dostarczanie OTA nie jest częścią specyfikacji MIDP, ale ponieważ jest to zdecydowanie dominująca forma dystrybucji MIDletów, niewątpliwe zostanie ono dołączone do oficjalnej specyfikacji w bliskiej przyszłości. Oprogramowanie AMS umożliwiające instalację MIDletów z serwera HTTP jest dołączone do Wireless Toolkit. Ponadto oprogramowanie może być załadowane do pamięci telefonu komórkowego za pomocą dedykowanego adaptera (kabel + oprogramowanie) lub za pomocą interfejsu Bluetooth stanowiącego standard dla komunikacji urządzeń przenośnych. Dostarczanie over-the-air Przy dostarczaniu OTA, dostawcy instalują swoje zestawy MIDletów na serwerach WWW i udostępniają do nich łącza. Użytkownik aktywuje łącze i w ten sposób ściąga MIDlety do telefonu komórkowego poprzez WAP lub mikro przeglądarkę internetową. Poniżej 6
zaprezentowano podstawowe czynności umożliwiające pobranie do telefonu przykładowego MIDletu umieszczonego na serwerze: 1) użytkownik przegląda stronę internetową ACME 2) użytkownik klika łącze, żeby pobrać Suite.jad 3) serwer wysyła plik Suite.jad. Typ MIME = text/vnd.sun.j2me.app-descriptor 4) użytkownik wysyła żądanie instalacji MIDletów ACM 5) serwer dostarcza Zestaw.jar. 4. Implementacja Hierarchia klas Hierarchia klas składających się na aplikację TELE-TEST-10GRAN została przedstawiona na diagramie zależności przedstawionym poniżej (Rysunek l). Rysunek 1 Hierarchia klas aplikacji Poniżej scharakteryzowano klasy składowe, przedstawione na powyższym diagramie: Moja.java główny plik projektu, dziedziczący po klasie MIDlet; zawiera klasy związane z interfejsem użytkownika; DaneKonfiguracjaGA.java - zawiera klasę obsługującą dane konfiguracyjne algorytmu genetycznego; DaneMaszyna.java - zawiera klasę obsługującą dane dotyczące konfiguracji maszyny; 7
DaneMaterial.java - zawiera klasę obsługującą dane dotyczące konfiguracji materiału; DaneMaszynaPrzyrost.java - zawiera klasę obsługującą dane dotyczące konfiguracji przyrostów cech konstrukcyjnych maszyny rozdrabniającej; DaneProces.java - zawiera klasę obsługującą dane dotyczące konfiguracji procesu rozdrabniania; DaneProcesTworzywo.java - zawiera klasę obsługującą dane dotyczące cech zboża w procesie rozdrabniania; Obraz.java - zawiera klasę obsługującą interfejs API niskiego poziomu, tworzy obraz pojawiający się na ekranie emulatora na początku startu MIDletu; Pomoc.java - zawiera klasę wyświetlającą tekst z informacją o programie; Wykres.java - klasa odpowiedzialna za rysowanie wykresu z przebiegiem chwilowych wartości estymatorów konstrukcji w funkcji czasu; Symulacja.java - klasa realizująca symulację pracy rozdrabniacza dla wybranych parametrów materiału, maszyny i procesu; Genetico.java -klasa implementująca algorytm genetyczny; GATlo.java - zawiera klasę, która tworzy wątek stanowiący równoległe środowisko funkcjonowania algorytmu genetycznego oraz nadzoruje jego funkcjonowanie. Algorytm genetyczny Algorytmy genetyczne są to algorytmy poszukiwania oparte na mechanizmach doboru naturalnego oraz dziedziczności. Łącząc w sobie ewolucyjną zasadę przeżycia najlepiej przystosowanych z systematyczną, choć zrandomizowaną wymianą informacji, tworzą metodę poszukiwania obdarzoną dozą pomysłowości właściwej ludzkiemu umysłowi. W każdym pokoleniu powstaje nowy zespół sztucznych organizmów (cech konstrukcyjnych), utworzonych z połączenia fragmentów najlepiej przystosowanych przedstawicieli poprzedniego pokolenia. Pomimo elementu losowości algorytmy genetyczne efektywnie wykorzystują przeszłe doświadczenie do określania nowego obszaru poszukiwań o spodziewanej podwyższonej wydajności (tu: poprawa efektywności procesu konstrukcyjnego). Algorytm genetyczny użyty w programie TELE-TEST-10GRAN stanowi rozwiązanie autorskie. Składa się z następujących bloków funkcjonalnych: tworzenie populacji początkowej, ocena i sortowanie populacji, 8
krzyżowanie populacji wraz z oceną i sortowaniem. Tworzenie populacji początkowej (liczba osobników zadana przez użytkownika, liczba genów równa 11 dla każdego osobnika) jest realizowane jednorazowo na początku funkcjonowania algorytmu. Geny reprezentują cechy maszyny rozdrabniacza, które są wykorzystywane na etapie symulacji pracy maszyny. Po wylosowaniu populacji początkowej, z założeniem ustalonych zakresów zmienności dla poszczególnych genów, populacja jest oceniana i sortowana w odpowiednich tablicach. Kolejnym krokiem jest krzyżowanie populacji x razy, gdzie x jest wartością ustalana przez użytkownika. Krzyżowanie jest realizowane poprzez wybór dwóch osobników z populacji oraz wylosowanie liczby z zakresu od l do 11. Wylosowana liczba wskazuje nam miejsce ucięcia" genu i sklejenia go z drugą uciętą" częścią drugiego osobnika. Tak powstały nowy osobnik jest wpisywany do tablicy tymczasowej, a następnie oceniany za pomocą funkcji przystosowania, wyznaczającej dobroć rozwiązania (konstrukcji). Ocena, czyli sposób dostosowania jest składowana również w tablicy tymczasowej. Po wykonaniu wszystkich założonych krzyżowań tablice tymczasowe z nowo powstałymi osobnikami oraz tablice z ich rodzicami łączone są w jedną dużą tablicę. Tablica ta jest poddawana sortowaniu a następnie wybierane są tylko najlepiej dostosowane osobniki w liczbie równej liczbie osobników w populacji (ustalana przez użytkownika). Liczba powtórzeń operacji krzyżowania populacji jest konfigurowana przez użytkownika (opcja w menu Wspomaganie). Zwiększanie liczby powtórzeń operacji krzyżowania wpływa wprost proporcjonalnie na jakość rezultatu końcowego oraz na czas wykonywania obliczeń, a odwrotnie proporcjonalnie na poziom zużycia baterii telefonu, na którym wykonywany jest program. Warto zaznaczyć, iż autorski algorytm genetyczny, w celu sprawdzenia poprawności działania, został przetestowany dla klasy problemów znajdywania optimum funkcji kwadratowych. Wyniki testu zgadzały się z obliczeniami analitycznymi. 5. Interfejs użytkownika Nawigacja po elementach menu emulatora, pozwalających na realizację funkcji programu jest identyczna ze sposobem poruszania się po opcjach aplikacji załadowanej do pamięci telefonu komórkowego. Wybór opcji odbywa się za pomocą przycisków umieszczonych w oknie emulatora (Rysunek 2). 9
Rysunek 2 Okno główne emulatora Obsługa programu odbywa się za pomocą następujących klawiszy emulatora: SELECT, Bach, Ok, Menu, CLEAR oraz strzałek góra/dół na panelu telefonu. Poniżej zamieszczono krótki opis funkcji realizowanych przez poszczególne klawisze: SELECT - potwierdzanie wyboru funkcji w menu podręcznym, BACK -powrót z aktualnego podmenu do poprzedniego (np. do listy wyboru funkcji), OK -potwierdzanie danych wprowadzonych z klawiatury w pola tekstowe oraz zatwierdzanie wyboru funkcji z listy wyboru, Menu -otwieranie menu podręcznego z możliwością wyboru dodatkowych funkcji, np. ustawień domyślnych, strzałki góra/dół - znajdują się na panelu telefonu komórkowego; służą do poruszania" się po opcjach w menu głównym, jak i w menu podręcznym, a także do poruszania" się pomiędzy polach danych; CLEAR -anulowanie wprowadzanych danych tekstowych. 10
W niniejszym dokumencie przy prezentacji poszczególnych menu aplikacji wykorzystano uproszczony diagram klawiszy funkcyjnych (Rysunek 3). Rysunek 3 Uproszczony diagram klawiszy funkcyjnych emulatora Za pomocą diagramu sygnalizowane są akcje (określone klawisze), za pomocą których powinna być realizowana nawigacja, w celu realizacji określonych funkcji programu. Po wyborze opcji START PROGRAMU (Rysunek 2), na ekranie pojawia się menu z możliwością wyboru czterech opcji: O Programie, Wspomaganie, Dane, Wykres. Poniżej znajduje się krótka charakterystyka funkcji realizowanych w ramach poszczególnych menu niższego poziomu: O Programie - wyświetlanie informacji dotyczących programu, Wspomaganie -możliwość konfiguracji danych związanych z algorytmem genetycznym i aktywacji procesu wspomagania obliczeń, Dane - opcja ta udostępnia podmenu pozwalające na wybór jednej z trzech opcji (Materiał, Maszyna i Proces) wprowadzania danych, wśród opcji menu podręcznego znajduje się możliwość wyboru ustawień domyślnych; Wykres - opcja ta zawiera menu niższego rzędu Pokaż, po wyborze której pojawia się ekran z wykresem prezentującym dane wpisane przez użytkownika w opcji Dane ; możliwa jest prezentacja kilku parametrów dostępnych w menu podręcznym; ponadto możliwa jest prezentacja wartości liczbowych z wynikami obliczeń. 6. Wprowadzanie danych Aplikacja została wyposażona w menu wprowadzania danych (Rysunek 4) w zakresie: materiału stanowiącego przedmiot rozdrabniania, maszyny realizującej ten proces oraz ustawień związanych z przebiegiem symulacji. W przypadku nie wykorzystania tej opcji do obliczeń zostaną wykorzystane ustawienia domyślne, zdefiniowane dla wymienionych zakresów danych. 11
Wykres Wspomaganie O Programie Rysunek 4 Menu główne (po lewej) oraz podmenu Materiał wprowadzanie danych (po prawej) Konfiguracja materiału Zdefiniowanie elementów, poddawanego rozdrabnianiu, zbioru materiałów biologicznych - wsadu stanowi pierwszy krok przygotowania danych. Użytkownik może zdefiniować jednocześnie do pięciu zbóż i określić ich nazwy wykorzystywane dalej w programie oraz cechy, które te zboża identyfikują. Zbiór możliwych do ustawienia cech materiału został przedstawiony w tabeli Tabela l. Tabela 1 Cechy materiału wartość naprężeń własnych (sigma) [MPa] energia zawarta w przetwarzanych ziarnach (E brutto ) [kj/kg -1 ] średni wymiar ziaren (d śr ) [mm] strawność całych, nie rozdrobnionych nasion, ziaren in vitro [] współczynnik twardości narzędzia do twardości ziaren { 1.5, 3.0, 10.0} Każda z wymienionych cech materiału jest konfigurowalna w założonym przedziale wartości dopuszczanych a jednocześnie program posiada opcję przywrócenia wartości domyślnych. Na rysunkach poniżej przedstawione zostały kolejno elementy formatki wprowadzania danych wykorzystywanej podczas definiowania materiałów stanowiących wsad do rozdrabniania. 12
Rysunek 5 Podstawowa formatka definiowania cech wsadu rozdrabniania: wybór materiałów (po lewej), konfigurowalne cechy wsadu (po prawej) Za pomocą przycisku Menu można wybrać z listy menu podręcznego wsad (zboże), dla którego w następnej kolejności zostaną określone cechy charakterystyczne. Wartości liczbowe dla wszystkich cech za wyjątkiem współczynnik twardości narzędzia do twardości ziaren są wpisywane za pomocą klawiatury. Współczynnik KHB jest wybierany z listy rozwijanej po uprzednim wybraniu go za pomocą strzałek góra/dół i wciśnięciu klawisza SELECT (Rysunek 6). Rysunek 6 Wybór wartości KHB za pomocą listy rozwijanej Jeśli obliczenia mają zostać przeprowadzone dla wartości predefiniowanych użytkownik ma możliwość ustawienia takiej opcji za pomocą menu podręcznego (Rysunek 7). 13
Rysunek 7 Wybór ustawień domyślnych cech wsadu Z formatką wprowadzania danych dotyczących cech materiału powiązane są dane dotyczące przyrostu powierzchni możliwe do skonfigurowania w oknie konfiguracyjnym cech procesu. Konfiguracja zespołu roboczego maszyny Cechy konstrukcyjne maszyny charakteryzują zarówno zależności geometryczne jak i mechaniczne. Do grupy możliwych do zdefiniowania cech geometrycznych zaliczyć można parametry przedstawione w tabeli Tabela 2. Tabela 2 Parametry geometryczne maszyny wraz z zakresem modyfikacji liczba tarcz (rodzaj elementu rozdrabniającego - tarcze z otworami) 1..10 liczba rzędów otworów w tarczy 2..20 liczba otworów w pierwszym rzędzie pierwszej tarczy 1..20 promień rozmieszczenia otworów w pierwszym rzędzie pierwszej tarczy 0.01..0.5 przyrost liczby otworów pomiędzy tarczami 1..10 przyrost liczby otworów pomiędzy rzędami 1..10 przyrost promienia rozmieszczenia otworów między tarczami 0.001..0.01 przyrost promienia rozmieszczenia otworów między rzędami 0.001..0.09 średnica tarcz 0.20..2.00 grubość tarcz 0.001..0.01 kąt krawędzi tnącej otworów 0..90 szerokość szczeliny pomiędzy tarczami w pakiecie roboczym 0.001...0.009 Parametry mechaniczne możliwe do skonfigurowania zostały umieszczone w tabeli Tabela 3. Tabela 3 Parametry mechaniczne maszyny wraz z zakresem modyfikacji moc silnika 100...5000 sprawność silnika 0.1...0.99 sprawność przekładni 0.1...0.99 rodzaj przekładni pasowa Każda z wymienionych cech jest konfigurowalna w założonym przedziale wartości dopuszczanych, a jednocześnie zawsze możliwe jest przywrócenie wartości domyślnych. 14
Raz skonfigurowane parametry maszyny mogą być wykorzystywane jako wartości ustalone podczas późniejszego wspomagania konstrukcji. Mianowicie kiedy użytkownik po skonfigurowaniu parametrów maszyny zechce znaleźć optimum w zależności od przyjętego kryterium dla POJEDYNCZEGO parametru lub grupy parametrów, wszystkie cechy nie będące przedmiotem optymalizacji są odczytywane z przygotowanej wcześniej przez użytkownika (lub wartości domyślne jeśli nie skonfigurowano inaczej) konfiguracji. Wynik optymalizacji nie zmienia automatycznie ustawień maszyny. Użytkownik decyduje o modyfikacji bieżącej konfiguracji na podstawie propozycji modułu wspomagającego konstrukcję. Na rysunku poniżej (Rysunek 8) przedstawione zostało menu wprowadzania danych wykorzystywanych podczas modyfikacji cech maszyny. Rysunek 8 Menu główne (po lewej) oraz podmenu wprowadzanie danych Maszyny (po prawej) Za pomocą przycisku Menu, po wybraniu opcji Maszyna można wybrać z listy menu podręcznego zbiór cech podstawowych zespołu roboczego maszyny lub konfigurację przyrostów liczby i promienia otworów. 15
Rysunek 9 Menu podręczne - konfiguracja cech podstawowych zespołu roboczego (1) lub konfiguracja przyrostów liczby otworów i ich promienia (2) Wartości liczbowe dla wszystkich cech są wpisywane za pomocą klawiatury. Elementy menu wprowadzania danych dotyczących maszyny zostały przedstawione na czterech kolejnych zrzutach ekranowych (Rysunek 10). Opcje dostępne w odniesieniu do konfiguracji liczby otworów i promienia ich rozmieszczenia w tarczach są widoczne na rysunku Rysunek 11. Rysunek 10 Kolejne odsłony menu konfiguracji cech zespołu roboczego 16
Rysunek 11 Kolejne odsłony menu konfiguracji przyrostów liczby otworów i promienia ich rozmieszczenia dla danego zespołu roboczego Jeśli obliczenia mają zostać przeprowadzone dla predefiniowanych ustawień cech zespołu roboczego użytkownik ma możliwość ustawienia takiej opcji za pomocą menu podręcznego (Rysunek 12). Konfiguracja procesu Rysunek 12 Wybór ustawień domyślnych cech zespołu roboczego Symulacje procesu rozdrabniania przeprowadzane są zgodnie z ustawieniami określanymi każdorazowo przez użytkownika programu lub odczytanymi z ustawień domyślnych (jeśli nie zdefiniowano inaczej). Ponieważ każda symulacja powinna odbywać się w skończonym czasie należy ustawić czas początkowy, krok i czas końcowy symulacji (w sekundach). Ponadto, proces charakteryzowany jest zgodnie z konfigurowalnymi elementami które zostały zamieszczone w tabeli Tabela 4. Tabela 4 Parametry procesu rozdrabniania prędkość kątowa L...300 [rad/s] gradient prędkości kątowej L...20 [rad/s] współczynnik ruchu jałowego [Ns/m] prędkość liniowa krawędzi rozdrabniających 0.129...150[m/s] współczynnik oporów dynamicznych 0.1.. 10 [Ns 2 /m 4 ] współczynnik wtórnych oddziaływań 0.1...10 Przyrost powierzchni (Delta Fr) 10.15..1.9 [m 2 /kg] 17
Każda z wymienionych cech procesu jest konfigurowalna w założonym przedziale wartości dopuszczalnych a jednocześnie zawsze możliwe jest przywrócenie wartości domyślnych. Na rysunku poniżej (Rysunek 13) przedstawione zostało menu umożliwiające wprowadzanie danych opisujących przebieg procesu rozdrabniania. Rysunek 13 Menu główne (po lewej) oraz podmenu wprowadzanie danych Procesu (po prawej) Parametry procesu rozdrabniania przedstawione w tabeli Tabela 4 są dostępne z poziomu menu Procesy. Wszystkie te parametry, za wyjątkiem współczynnika wypełnienia przekroju, mogą zostać wprowadzone za pomocą klawiatury alfanumerycznej (Rysunek 14). Aby wybrać wartość współczynnika wypełnienia przekroju należy za pomocą przycisku SELECT, po uprzednim najechaniu strzałkami góra/dół na tę opcję, aktywować listę rozwijalną a następnie za pomocą tego samego klawisza (SELECT) zatwierdzić swój wybór (Rysunek 15). 18
Rysunek 14 Kolejne odsłony menu konfiguracji ustawień procesu rozdrabniania Rysunek 15 Wybór wartości współczynnika wypełnienia przekroju z listy rozwijanej Jak zostało to zasygnalizowane w sekcji opisującej konfigurację wsadu - z formatką wprowadzania danych dotyczących cech materiału powiązane są dane dotyczące przyrostu powierzchni. Aby skonfigurować cechy wsadu (zboża) w procesie rozdrabniania należy za pomocą przycisku Menu aktywować menu podręczne, a następnie wybrać (strzałki góra/dół) i zatwierdzić klawiszem SELECT opcję Cechy zb. w proc. rozdrabniania" (Rysunek 16). W tym momencie na ekranie zostaną załadowane bieżące ustawienia przyrostu powierzchni dla zdefiniowanych zbóż. Rysunek 16 Konfiguracja przyrostu powierzchni dla danego rodzaju wsadu 19
Jeśli obliczenia mają zostać przeprowadzone dla predefiniowanych ustawień przyrostów powierzchni rozdrabnianych zbóż, użytkownik ma możliwość ustawienia takiej opcji za pomocą menu podręcznego (Rysunek 17). Rysunek 17 Wybór ustawień domyślnych przyrostu powierzchni dla poszczególnych zbóż 7. Wykonywanie obliczeń Aplikacja TELE-TEST-10GRAN udostępnia możliwość wykonywania symulacji procesu rozdrabniania w wielotarczowym rozdrabniaczu zgodnie z matematycznym modelem zaimplementowanym w programie. Aby realizowane było rozdrabnianie, w każdej iteracji algorytmu badane są warunki rozdrabniania, dla wszystkich par rzędów z sąsiednich tarcz w pakiecie roboczym. Gdy podczas kolejnej iteracji procesu symulacji rozdrabniacza wielotarczowego spełniona jest zależność geometryczna na odległość środków otworów dla pary tarcz, wsad jest cięty przez ostrze krawędzi ścinającej. Szczegółowy opis funkcjonowania algorytmu został przedstawiony w ramach opracowania pt. Opis merytoryczny'' zrealizowanego w ramach pracy projekt implementacji inteligentnego systemu wspomagania konstrukcji młynów szczególnie wielotarczowych" (PB 622/T08/2002). Po uprzednim wprowadzeniu danych, obejmujących następujące cechy: materiał (cechy mechaniczne, wytrzymałościowe i energetyczne), maszyna (cechy konstrukcyjne, sposób napędu), proces (czas analizy, opory ruchu jałowego, skrawania, zwyżki dynamicznej i cechy użytkowe), za pomocą opcji Wykres można uruchomić algorytm symulujący przebieg procesu rozdrabniania dla zadanych wartości wymienionych powyżej parametrów (Rysunek 18). W przypadku gdyby dane określające postać konstrukcyjną wprowadzone przez użytkownika nie pozwalały na wykonanie przeliczeń ze względu na ograniczenia fizyczne, użytkownik zostanie poinformowany o przyczynie problemu. System posiada algorytm sprawdzania 20
konstrukcji pod kątem jej fizycznej wykonalności przed każdorazowym wykonaniem obliczeń. W zależności od przedziału wyznaczonego wartościami czas początkowy - czas końcowy symulacji, wyniki obliczeń mogą pojawić się z minimalnym opóźnieniem związanym z obrabianiem wykresów w pamięci komputera jeśli przerabiana jest duża liczba próbek czasowych. Rysunek 18 Menu główne z zaznaczoną opcją prezentacji obliczeń - Wykres Po wybraniu opcji Wykres ładowane jest menu opcją Pokaż. Aktywacja tego elementu menu powoduje uruchomienie algorytmu symulującego proces rozdrabniania. W wyniku wykonania obliczeń wyznaczane są wartości chwilowe estymatorów procesu rozdrabniania: er - funkcja efektywności energetycznej, FR -zmiana przekroju rozdrabniania. Pr- siły rozdrabniania maszynowego. Przebieg charakterystyk estymatorów może być analizowany na trzech wykresach dostępnych Rysunek 19 Menu wyboru charakterystyk estymatorów konstrukcji z poziomu menu podręcznego po wybraniu opcji Pokaż (Rysunek 19). 21
Poniżej na rysunku przedstawiono wykres zmiany przekroju rozdrabniania (Fr). Jednostka estymatora oraz wartość maksymalna z przebiegu zostały przedstawione żółtą czcionką powyżej obszaru wykresu. Rysunek 20 Menu wyboru charakterystyk estymatorów oraz wykres zmiany przekroju Fr w czasie Poniżej na rysunku (Rysunek 21) przedstawiono wykres obrazujący przebieg chwilowych wartości sił rozdrabniania (Pr) w czasie symulacji. Rysunek 21 Menu wyboru charakterystyk estymatorów oraz wykres zmiany siły rozdrabniania Pr w czasie Poniżej na rysunku (Rysunek 22) przedstawiono wykres obrazujący przebieg chwilowych wartości efektywności energetycznej rozdrabniania (er) w czasie symulacji. Rysunek 22 Menu wyboru charakterystyk estymatorów oraz wykres efektywności energetycznej er 22
8. Wspomaganie konstrukcji rozdrabniacza Głównym celem aplikacji TELE-TEST-1OGRAN jest inteligentne wspomaganie konstrukcji wielotarczowych rozdrabniaczy ziaren zbóż. Po uprzednim wprowadzeniu danych, obejmujących następujące cechy: materiał (cechy mechaniczne, wytrzymałościowe i energetyczne), maszyna (cechy konstrukcyjne, sposób napędu), proces (czas analizy, opory ruchu jałowego, skrawania, zwyżki dynamicznej i cechy użytkowe), parametrach algorytmu genetycznego (populacja, liczba pokoleń, funkcja przystosowania, kierunek koncypowania genetycznego, jakość liczenia). za pomocą opcji Wspomaganie można przejść do menu niższego rzędu, umożliwiającego konfigurację i uruchomienie algorytmu genetycznego (Rysunek 23). Rysunek 23 Menu główne -Wspomaganie Symulacja genetyczna realizuje wspomaganie konstrukcji dla wybranej liczby populacji i pokoleń algorytmu genetycznego, w zakresie: koncepcji początkowej, symulacji procesu i inżynierii rozdrabniania oraz wyboru rozwiązania optymalnego. Jako wynik optymalizacji otrzymuje się konfiguracje konstrukcji zespołu roboczego wielotarczowego rozdrabniacza ziaren zbóż, wizualizację przekrojów oporów i charakterystyk użytkowych rozdrabniania. 23
Konfiguracja algorytmu genetycznego Trzonem programu jest możliwość inteligentnego wspomagania procesu modelowania konstrukcji zespołu rozdrabniającego rozdrabniacza wielotarczowego. Ponieważ wspomaganie odbywa się z wykorzystaniem algorytmów genetycznych zaimplementowanych w kodzie programu, należy wstępnie skonfigurować ustawienia algorytmu genetycznego wybierając z menu opcję Konfiguracja GA (Rysunek 24). Rysunek 24 Konfiguracja ustawień algorytmu genetycznego Algorytm genetyczny charakteryzują dwie podstawowe informacje konfigurowalne z poziomu programu: wielkość populacji, liczba generacji (tur). Pierwsza z nich określa stopień zróżnicowania losowo wygenerowanych osobników (rozdrabniaczy o cechach wylosowanych z ze zbioru predefiniowanych zakresów każdego parametru). Im większe zróżnicowanie tym większa szansa na rozwiązania innowacyjne. Natomiast liczba generacji (pokoleń) wpływa na jakość potencjalnych rozwiązań. Kolejne iteracje pozwalają budować coraz lepiej dostosowane populacje (większa liczba operacji genetycznych). Domyślne ustawienia algorytmu to 500 osobników w populacji oraz 10 generacji algorytmu. Nie należy jednak traktować tych ustawień jako optymalnych. Program nie nakłada ograniczeń na ustawienia opisywanych parametrów algorytmu. Do użytkownika 24
należy próbkowanie ustawień tak, by dawały one zadowalające wyniki w procesie innowacji w stosunkowo krótkim czasie. Rysunek 25 Konfiguracja sposobu liczenia delta (po lewej) oraz funkcji przystosowania (po prawej) Aplikacja umożliwia konfigurowanie sposobu wyznaczania wartości funkcji, wykorzystywanych podczas oceny jakości rozwiązania pośredniego dostępnych w oknie wspomagania konstrukcji. Alternatywne podejścia uwzględniają liczenie średniej z przebiegów chwilowych wartości określonej charakterystyki (estymatora) po czasie obserwacji (opcja Śred. aryt ). Innym sposobem jest wyznaczanie odchylenia t standardowego dla obserwowanej liczby próbek k t 0 opcja Odchyl. Stand.". W t zależności od dokonanego wyboru różna będzie jakość otrzymywanych wyników, ponieważ średnia arytmetyczna może nie być wystarczająco miarodajna na etapie wyboru lepiej przystosowanych osobników (lepszych rozwiązań konstrukcyjnych). Większe znaczenie ma równomierność i sprawność procesu rozdrabniania wyrażona statystycznymi właściwościami przebiegów chwilowych estymatora (np. odchylenie standardowe). Zastosowanie odchylenia standardowego pozwala odczytać przydatność konstrukcji w kategoriach stabilnej pracy pakietu a jednocześnie małe odchylenia od średniej gwarantują małą zmienność zapotrzebowania na energię. Zadanie minimalizacji odchylenia standardowego wartości przekroju rozdrabniania dla grupy pomiarów można w prosty sposób przekształcić w zadanie maksymalizacji - jest to zgodne z założonym sposobem wykorzystania/interpretowania funkcji przystosowania: im większa jej wartość tym lepsze rozwiązanie. Z tego powodu rozwiązania gorsze (charakteryzujące się większym odchyleniem standardowym czyli mniejszą wartością funkcji przystosowania) będą powoli usuwane z populacji (naturalna selekcja) a osobniki, które pozostaną powinny charakteryzować się pożądanymi (z punktu widzenia kryteriów) cechami konstrukcji. 25
Użytkownik programu TELE-TEST-10GRAN ma dodatkową możliwość wpływania na jakość potencjalnych rozwiązań poprzez określenie sposobu liczenia funkcji przystosowania. Funkcja ta pozwala ocenić osobnika i na tej podstawie wybrać osobniki najlepiej przystosowane - zgodnie z ewolucyjną zasadą selekcji naturalnej. W programie istnieją dwa podejścia pozwalające oceniać poszczególne osobniki. Pierwszy z nich zakłada istnienie pewnej stałej. STAŁA ta stanowi próg dobroci" rozwiązania. Jeśli wyliczona dla danych cech konstrukcyjnych rozwiązania delta FR jest na tyle mała że po znormalizowaniu i odjęciu od stałej daje w rezultacie tę stałą lub liczbę do niej bardzo zbliżoną, mówimy że rozwiązanie jest zbliżone do optimum. Ten sposób wyznaczania funkcji przystosowania osobnika (konstrukcji) wybiera się poprzez opcję z menu Sposób liczenia delta (Rysunek 25). Drugi sposób wyznaczania funkcji przystosowania osobnika zakłada, że problem minimalizacji delta FR transponowany jest na problem maksymalizacji ilorazu 1/ F R. To rozwiązanie nie narzuca progu", po przekroczeniu którego rozwiązanie jest uważane za zadowalające. Przeciwnie zakłada, że tak określony iloraz może przyjmować bardzo duże wartości. To z kolei pozwala znaleźć rozwiązania reprezentujące OPTIMUM globalne. Przestrzeń poszukiwań W ramach konfigurowania algorytmu genetycznego możliwe jest określenie tych cech, które mają być poddawane ewolucji przy założeniu, że pozostałe cechy nie są modyfikowane przez algorytm genetyczny. Takie rozwiązanie daje użytkownikowi programu bardzo duży poziom swobody przy określaniu zakresu innowacji. Zaznaczenie wszystkich elementów (cech konstrukcyjnych) z listy w menu Konfiguracja GA inicjuje poszukiwanie rozwiązań innowacyjnych w najszerszym zakresie (pełna przestrzeń poszukiwań). Natomiast jeśli celem badania jest określenie wpływu np. pary cech na przydatność konstrukcji w kategoriach stabilnej pracy pakietu, użytkownik powinien odznaczyć wszystkie cechy z wyjątkiem badanych (Rysunek 26). Zakres modyfikacji poszczególnych jest zgodny z wartościami granicznymi podanymi w sekcji Wprowadzanie danych niniejszego dokumentu. 26
Rysunek 26 Wybór optymalizowanych cech Wpływ ustawień GA na czas symulacji Ze względu na możliwość ładowania i wykonywania obliczeń genetycznych na urządzeniach przenośnych należy zdawać sobie sprawę z pewnych ograniczeń wynikających z architektury takich urządzeń. Telefony komórkowe pomimo ogromnej liczby opcji oraz stosunkowo silnych procesorów posiadają bardzo poważne ograniczenie w postaci stosunkowo krótkiego czasu życia baterii. W przypadku aplikacji wykonującej ogromną liczbę operacji genetycznych, dla dużej liczby osobników, dobór ustawień (wielkości populacji oraz liczby pokoleń) ma zasadniczy wpływ na możliwość zakończenia symulacji w czasie nie przekraczającym czasu życia baterii. O ile telefony posiadają czasy czuwania rzędu kilkuset godzin to realizacja obliczeń w trybie ciągłym w znacznie wyższym stopniu obciąża procesor a co za tym idzie pochłania większą ilość energii elektrycznej. Przed przystąpieniem do realizacji obliczeń genetycznych dla dużej liczby parametrów konstrukcyjnych jednocześnie poddawanych ewolucji, użytkownik powinien wykonać serię wstępnych obliczeń, sukcesywnie zwiększając liczbę generacji (iteracji algorytmu). Trudno jest podać maksymalne czasy życia baterii w zależności od ustawień GA ze względu na duże zróżnicowanie typów telefonów i ich indywidualnych ograniczeń. Rozpoczęcie wspomagania Menu wspomagania konstrukcji umożliwia przeprowadzanie wspomaganych algorytmami genetycznymi analiz, pozwalających na obserwację relacji pomiędzy parametrami konstrukcji a jakością rozwiązania (wyrażoną w formie przekrojów rozdrabniania bądź efektywności energetycznej) konstrukcyjnego. Dzięki możliwości wybierania (maskowania) cech poddawanych optymalizacji, to użytkownik decyduje o trybie wspomagania w zależności od maski ustawionej dla 27
optymalizowanych cech, w przeciwieństwie do programu IE_TEST-07_BIO, gdzie zdefiniowano akcje, jakie użytkownik może wykorzystać w procesie wspomagania. Po skonfigurowaniu algorytmu genetycznego użytkownik może za pomocą opcji Rozpocznij w menu Wspomaganie uruchomić proces obliczeń (Rysunek 27). Rysunek 27 Menu główne - Wspomaganie - opcja Rozpocznij Rozpoczęcie procesu wspomagania wiąże się z uruchomieniem specjalnego wątku programu, który jest odpowiedzialny za wykonywanie i nadzór nad operacjami genetycznymi. Wątek ten jest wykonywany równolegle z głównym procesem zarządzającym aplikacją, dlatego też może być w każdej chwili przerwany lub wstrzymany. Dzięki takiemu rozwiązaniu użytkownik nie musi oczekiwać na zakończenie obliczeń, które w zależności od skonfigurowanej wielkości populacji oraz liczby generacji, mogą trwać bardzo długo. W pierwszym etapie obliczeń budowana jest populacja początkowa (losowanie cech wszystkich osobników), a po zakończeniu tego etapu zaczyna się wykonywanie operacji genetycznych. Postęp procesu poszukiwania rozwiązań optymalnych jest na bieżąco prezentowany na ekranie w postaci paska wypełnionego żółtym tłem w zależności od faktycznego stanu obliczeń (Rysunek 28). 28
Rysunek 28 Rozpoczęcie optymalizacji Bardzo przydatną funkcją zaimplementowaną w programie TELE-TEST-1OGRAN jest dostęp do rozwiązań quasi-optymalnych (optymalnych w sensie lokalnym) w dowolnym momencie realizacji obliczeń. Aby uzyskać dostęp do najlepszego znalezionego do tej pory rozwiązania należy za pomocą menu podręcznego wybrać opcję Pokaż (Rysunek 29). Rysunek 29 Opcja prezentacji rozwiązania quasi-optymalnego Aktywacja tej opcji powoduje wstrzymanie obliczeń i wyświetlenie cech osobnika najlepiej przystosowanego w postaci listy. Jakość rozwiązania może być oceniona na podstawie wykresów estymatorów, które są także dostępne na tym etapie obliczeń (Rysunek 30). Rysunek 30 Rozwiązanie optymalne w sensie lokalnym - wynik 29
Po wybraniu z menu podręcznego opcji Pokaż wykres, prezentowana jest pierwsza z trzech dostępnych charakterystyk przebiegu estymatorów (Fr). Wykres przedstawia chwilowe wartości estymatora w funkcji czasu (Rysunek 31). Nad obszarem wykresu, za pomocą żółtej czcionki, zamieszczono jego nazwę, jednostkę osi Y oraz wartość maksymalną za czas pomiaru. Aby przejść do kolejnych przebiegów należy za pomocą menu podręcznego wybrać kolejny element z listy (Rysunek 32, Rysunek 33). Rysunek 31 Rozwiązanie optymalne w sensie lokalnym - wykres Fr Rysunek 32 Rozwiązanie optymalne w sensie lokalnym - wykres Er Rysunek 33 Rozwiązanie optymalne w sensie lokalnym - wykres Pr 30
Jeśli aktualne rozwiązanie nie jest rozwiązaniem satysfakcjonującym, można powrócić do wstrzymanego procesu obliczeń i kontynuować jego wykonywanie (Rysunek 34). Jeśli użytkownik zechce zakończyć proces w dowolnym momencie może za pomocą menu podręcznego skorzystać z opcji Zakończ. Spowoduje to zakończenie wątku i powrót do menu głównego Wspomagania. Rysunek 34 Powrót do wątku wykonywania obliczeń genetycznych Proces optymalizacji kończy się automatycznie jeśli wykonano operacje genetyczne dla wszystkich skonfigurowanych w sekcji Wspomaganie generacji. Zakończenie procesu jest sygnalizowane przez całkowite wypełnienie paska postępu kolorem żółtym. W takim przypadku rozwiązanie konstrukcyjne jest najlepsze w sensie globalnym. Należy jednak pamiętać, iż w zasadę funkcjonowania algorytmu genetycznego wpisana jest losowość. Dlatego też kolejne sekwencje optymalizacyjne wykonywane jedna po drugiej mogą dawać różne rozwiązania konstrukcyjne (różne postaci najlepiej przystosowanego osobnika z populacji). Aby podejrzeć cechy najlepiej przystosowanego osobnika a tym samym najlepszą postać zespołu roboczego rozdrabniacza należy za pomocą menu podręcznego wybrać opcję Pokaż (Rysunek 35). Dla uzyskanego rozwiązania są także dostępne wykresy przedstawiające przebiegi charakterystyk estymatorów konstrukcji (Rysunek 30). Rysunek 35 Zakończenie procesu wspomagania 31
9. Przykładowe wyniki Poniżej przedstawiono kilka wyników uzyskanych podczas pracy z programem TELE-TEST- 10GRAN uruchomionym na emulatorze na komputerze klasy PC. Dla porównania zestawiono wyniki uzyskane w procesie optymalizacji z wynikami uzyskanymi przy pomocy programu IE_TEST-07_BIO przy realizacji poprzedniego projektu. Konfiguracja komputera PC, na którym uruchomiono proces wspomagania przedstawia się następująco: Procesor - l x Intel Celeron 2.4GHz, Pamięć RAM - 522MB, System: Windows 2000, SP4. Konfiguracja algorytmu genetycznego jest przedstawiona na rysunku (Rysunek 36). Celem optymalizacji są wszystkie parametry pakietu roboczego, dlatego w menu Parametry alg. gen." wszystkie elementy zostały zaznaczone. Rysunek 36 Identyczne ustawienia algorytmu genetycznego w programie TELE-TEST-10GRAN (po lewej) oraz IE_TEST-07_BIO (po prawej) Obliczenia zostały wykonane w czasie 55 minut. Należy jednak mieć na uwadze, iż moc obliczeniowa procesorów montowanych w telefonach komórkowych jest co najmniej kilkanaście razy mniejsza, dlatego czas uzyskania wyniku końcowego może być o wiele dłuższy. Na rysunkach poniżej (od Rysunek 37 do Rysunek 41)przedstawiono rosnącą dobroć rozwiązań w miarę upływu czasu optymalizacji (zbliżania się do rozwiązania optymalnego w sensie globalnym). Można zaobserwować umacniającą się stabilność estymatora (Fr) oraz rosnącą wartość maksymalną przekroju dla kolejnych pokoleń. Tendencja ta ukazuje zasadę przeżycia najlepiej przystosowanych osobników o spodziewanej podwyższonej wydajności. 32
CZAS: 20 minut Rysunek 37 Rozwiązanie pośrednie po 50% czasu obliczeń (quasi-optymalne) CZAS: 25 minut Rysunek 38 Rozwiązanie pośrednie po 60% czasu obliczeń (quasi-optymalne) CZAS: 30 minut Rysunek 39 Rozwiązanie pośrednie po 70% czasu obliczeń (quasi-optymalne) 33
CZAS: 45 minut Rysunek 40 Rozwiązanie pośrednie po 90% z czasu obliczeń (quasi-optymalne) CZAS: 55 minut Rysunek 41 Rozwiązanie optymalne po 100% czasu obliczeń (optymalne globalnie) Poniżej, zostały przedstawione cechy zespołu roboczego dla kolejnych osobników (uzyskanych po 80 i 90 procent czasu obliczeń), stanowiących rozwiązania pośrednie (quasioptymalne) i optymalne. Rysunek 42 Cechy zespołu roboczego po 80% obliczeń (Czas uzyskania rozwiązania: 40 minut) 34
Rysunek 43 Cechy zespołu roboczego po 90% obliczeń (Czas uzyskania rozwiązania: 45 minut) Rysunek 44 Cechy zespołu roboczego po zakończeniu obliczeń (Czas uzyskania rozwiązania: 55 minut) Przedstawione wyniki pokazują, że rozwiązania uzyskane za pomocą wspomagania algorytmem genetycznym charakteryzują się dużą stabilnością przekroju rozdrabniania, co było celem wykorzystania tego typu algorytmów. Dokładna analiza skuteczności algorytmów genetycznych zastosowanych w procesie wspomagania (klasyfikacja wyniku) wymaga przeprowadzenia systematycznych badań pod okiem eksperta z dziedziny konstrukcji rozdrabniaczy. 35
Literatura 1. Kim Topley: J2ME almanach". Helion 2003 2. David E. Goldberg: Algorytmy genetyczne i ich zastosowania". WNT 2003 3. Geroge Reese: Java. Aplikacje bazodanowe. Najlepsze rozwiązania". Helion 2003 4. Network Media Group: Projekt implementacji inteligentnego systemu (programu) wspomagania konstrukcji młynów szczególnie wielotarczowych. Część H". Bydgoszcz 2003 5. Network Media Group: Projekt implementacji inteligentnego systemu (programu) wspomagania konstrukcji młynów szczególnie wielotarczowych. Część I". Bydgoszcz 2003 36