Projektowanie ergonomicznego rozmieszczenia obiektów z uyciem programu Links Jerzy Grobelny Politechnika Wrocławska 1. Zapoznaj si moliwie szeroko z problemem rozmieszczania obiektów (Facilities Layout Problem) - tak, aby wiedzie co to jest funkcja celu i jak si j oblicza. Dane dotyczce podstaw zadania rozmieszczania i podej algorytmicznych do tego zagadnienia mona znale na przykład w: a) ksice S. Lisa i K. Santarka Projektowanie rozmieszczenia stanowisk roboczych b) Internecie wprowadzi do wyszukiwarki (np. http://www.google.com) wyraenia facilities layout lub facility layout. 2. Zapoznanie si z programem Links Program Links dostpny w Laboratorium realizuje kilka rónych podej do zagadnienia rozmieszczania obiektów a właciwie wspomagania decyzji w tej dziedzinie. Jest zaopatrzony w zbiory Help, pozwalajce zorientowa si w sposobach pracy. Ogólna koncepcja programu polega na tym, e w oknie graficznym projektant operuje modelami rzeczywistych obiektów w formie ich prostoktnych obrysów. Zakładka Regular oferuje natomiast analizy na regularnej prostoktnej siatce modułowej, na której odległoci rodków ssiadujcych pól s równe jednoci (niezalenie od iloci kolumn i wierszy tej siatki). W trakcie wykonywanych operacji cały czas na górnym panelu wywietlane s wartoci wskaników oceniajcych jako rozwizania. Sugerowana kolejno zapoznania si z programem jest nastpujca: a) Wprowadzanie danych. Nowe obiekty wprowadza si na zakładce Edit. Sposób wprowadzenia i edytowania obiektów opisano w zbiorze Help, w rozdziale Funkcje programu -> definiowanie obiektów i powiza. Wprowad kilka obiektów na scen i poprzesuwaj je w róne miejsca za pomoc myszy. Wprowad powizanie pary obiektów. Wykasuj ostatni wprowadzony obiekt a nastpnie zaznacz obiekt i wykasuj za pomoc przycisku DelObj. b) Wprowadzanie powiza poprzez pokazanie sekwencji działa. Druga zakładka, Sequences, pozwala wprowadzi dane dotyczce powiza funkcjonalnych obiektów, poprzez pokazywanie sekwencji działa na obiektach. Wypróbuj ten sposób wprowadzania danych, wykorzystujc rozdział Help: Funkcje programu -> Definiowanie powiza poprzez sekwencje czynnoci. 1
c) Zapisywanie i wczytywanie projektów. Wprowadzone dane graficzne i powizania obiektów mona w kadej chwili zapisa do zbioru dyskowego za pomoc opcji File -> Save as... z menu. Na dysku powstaje zbiór tekstowy o rozszerzeniu lay. Zbiór taki zawiera parametry projektu i moe by wczytany za pomoc opcji File -> Open. Zapisz wprowadzone obiekty wybierajc File -> Save as... Wybierz New Project z menu File (spowoduje to wyczyszczenie systemu) a nastpnie wczytaj zapisany projekt wybierajc File -> Open. d) Ograniczenia. Kady obiekt moe mie przypisane preferowane połoenie na projektowanej scenie. Temat pomocy: Definiowanie preferencji połoenia obiektów (w rozdziale Funkcje programu) pozwoli zorientowa si w moliwoci przypisania preferencji połoenia. Preferencja ma znaczenie w działaniu algorytmów. Obiekt o przypisanych współrzdnych preferowanych jest rysowany na zielono i jest przycigany do miejsca preferowanego w algorytmie Links (na zakładce AlgorithmLinks) przy ustawieniu suwaka Preferences (grupa Forces) maksymalnie w prawo (na 1) obiekt zajmuje dokładnie połoenie preferowane i operacjom algorytmu podlegaj tylko obiekty bez przypisanych preferencji. Na zakładce RegularLayout obiekty z przypisanymi preferencjami nie podlegaj losowaniu (przycisk Rand). Pozostaj na swoim miejscu take po zastosowaniu algorytmu zamiany miejsc połoenia parami oraz algorytmu wyarzania (simulated annealing, SimAnn). Połoenie takiego obiektu mona zmieni tylko poprzez rczn zamian połoenia pary obiektów (przycisk PairChange). e) Algorytm Links. Na zakładce AlgorithmLinks mona prowadzi eksperymenty z zastosowaniem analogii fizycznej działania odpowiednio skierowanych sił na wprowadzony zespół obiektów. Temat pomocy: Realizacja algorytmu Links omawia sposób sterowania eksperymentami a take wskaniki oceniajce jako rozwiza. Inne parametry algorytmu mog by ustawiane w oknie wywoływanym z menu Parameters - omawianym w temacie pomocy Parametry. Z menu File wybierz NewProject. Wprowad przykładowe obiekty (kilka, lub kilkanacie) na zakładce Edit a nastpnie wprowad powizania pokazujc sekwencje czynnoci na zakładce Sequences. Sprawd efekty algorytmu Links przy rónych ustawieniach suwaka Scattering w grupie Forces. Zmie w oknie Parametry wartoci Virtual Force i Neutral zone. Zaobserwuj zachowanie obiektów poddanych działaniu algorytmu. Przejd na zakładk LayoutPreferences. Ustaw jeden z obiektów np. na rodku i wcinij przycisk Write as prefered. Zaobserwuj zachowanie obiektu w trakcie działania algorytmu Links przy połoeniu suwaka Preferences maksymalnie w prawo (na 1) i na rodku (0.5) zakresu. 2
Wejd na zakładk Preferences, kliknij na obiekt preferowany i kliknij przycisk DelPref. Po klikniciu na obiekt w polach Preferences powinny pojawi si zera. Ponownie sprawd zachowanie obiektu w trakcie działania algorytmu Links. f) Rozwizania na siatce regularnej. Zakładka Regular pozwala uzyskiwa rozwizania na siatce modułowej, zdefiniowanej poprzez podanie iloci wierszy w polu Rows. Dwa pola, Fsq i F, pokazuj odpowiednio w danym momencie warto funkcji celu dla danego układu, przy załoeniu odległoci jednostkowych midzy rodkami poszczególnych modułów, liczonych jako tzw. odległo miejska (Fsq) tzn po liniach prostopadłych do brzegów sceny i kartezjaska (F). Przechodzc na zakładk RegularLayout na przykład z zakładki AlgorytmLinks mona dla rozwizania rozproszonego uzyska odpowiadajce mu rozwizanie regularne, podajc ilo wierszy w polu Rows i wciskajc przycisk Regular. W takim przypadku uruchamiana jest prosta procedura analizujca (poczynajc od dolnego, lewego rogu) który obiekt jest najbliszy rodkowi danego pola siatki i przypisujca kolejno najblisze obiekty kolejnym, pozostałym polom. Dla wprowadzonych uprzednio danych po zakoczeniu algorytmu Links przejd na zakładk RegularLayout i wpisz w polu Rows liczb wierszy a nastpnie wcinij przycisk Regular. Sprawd warto funkcji Fsq i F. Przejd na zakładk AlgorithmLinks i ponownie uruchom algorytm przyciskiem Start. Wró na zakładk RegularLayout i ponownie wcinij Regular. Zmie liczb wierszy. Zaobserwuj funkcje a nastpnie porównaj ssiedztwa obiektów na stronie algorytmu Links i na siatce modułowej. Przycisk RegRot powtarza t procedur kolejno obracajc rozproszony układ (tylko analitycznie!) co 5 stopni. Po przejciu pełnego obrotu pozostawia takie rozmieszczenie na siatce, które ma najmniejszy wskanik Fsq. Wcinij przycisk RegRot dla ostatniego układu i sprawd wartoci funkcji. Przycisk Pairs uruchamia procedur zamiany obiektów miejscami. W literaturze ta procedura znana jest jako algorytm CRAFT. Procedura sprawdza, czy zamiana dwóch obiektów miejscami poprawia wskanik Fsq i jeli tak to dokonuje takiej zamiany. Sprawdzenie obejmuje wszystkie pary obiektów wystpujcych w danym układzie. Wcinij najpierw przycisk Regular i zaobserwuj warto funkcji a nastpnie Pairs i sprawd o ile poprawiła si warto Fsq. Powtórz kilka razy procedur: AlgorithmLinks - RegRot i zapisz (na kartce) uzyskane Fsq. Powtórz kilka razy procedur: AlgorithmLinks Pairs i zapisz uzyskane Fsq. Porównaj wyniki. Przycisk OnePair pozwala rcznie zamieni miejscami dowoln par obiektów. Odbywa si to poprzez kliknicie kolejno w pola, gdzie przypisane s oba obiekty. Wypróbuj procedur, klikajc najpierw w przycisk a nastpnie w par obiektów. Obserwuj zmian funkcji. 3
Przycisk SimAnn uruchamia algorytm symulowanego wyarzania (simulated annealing). Działanie algorytmu koczy si, kiedy w pasku pokazujcym temperatur po pierwotnym spadku temperatura podniesie si do wartoci maksymalnej. Parametry procesu wyarzania ustala si w oknie wywoływanym z menu Parameters. Kliknij ponownie Regular na zakładce RegularLayout. Uruchom proces wyarzania (klikajc przycisk) dla domylnych wartoci. Powtórz te czynnoci kilka razy i zanotuj wartoci funkcji. Porównaj z uzyskiwanymi poprzednio. Sprawd jak zmieni si wyniki, jeli znacznie podniesiesz/obniysz temperatur wyarzania w oknie dialogowym Parameters. Przycisk Rand uruchamia procedur losowego rozmieszczenia obiektów w polach siatki w oparciu o generator liczb losowych. Losowaniu nie podlegaj obiekty, którym przypisano preferowane połoenia w zakładce Preferences. Takie obiekty take nie s zamieniane w procedurach wyarzania i zamiany miejscami. Kliknij ponownie Regular. Kliknij Rand i zaobserwuj efekt graficzny oraz warto funkcji. Zapisz wartoci funkcji z kilku losowa. Porównaj z uzyskanymi wczeniej. Sprawd działanie procedury Pairs w połczeniu z Rand, powtarzajc kilkakrotnie Rand + Pairs i zapisujc wyniki. Podobnie spróbuj połczy Rand + SimAnn. Zapisz rezultaty. Przejd na zakładk LayoutPreferences i dla dowolnego obiektu ustal dowolne miejsce jako preferowane (przyciskiem Write as preffered). Wró na zakładk RegularLayout i zaobserwuj wyniki losowania tzn. głównie sprawd czy obiekt z przypisanym połoeniem preferowanym pozostaje w miejscu. Zamie miejscami obiekt z preferencj z innym obiektem (przycisk OnePair) i ponownie wykonaj losowania oraz algorytm zamiany miejscami. Wyniki działania algorytmów, czyli wartoci funkcji Fsq i F mog by zapisywane do pamici, do specjalnego wektora o pojemnoci 1000 elementów (dwuwartociowych). Zapis jest dokonywany po kadej operacji zmieniajcej warto funkcji jeli zaznaczone jest pole WriteR. Przycisk ClearR czyci cały wektor wpisujc 0 do wszystkich pól. Wektor mona zapisa do pliku tekstowego wybierajc z menu File -> SaveResults. Zaznacz pole WriteR i wykonaj 20 losowa. Z menu File wybierz opcj SaveResults i zapisz wyniki w dowolnym pliku w swojej katalogu. Zwi okno programu do paska i obejrzyj plik z wynikami np. w Notatniku. Zadanie domowe: 1) Zapozna si z ide problemu i algorytmów rozmieszczania, np. na podstawie dokumentu "Ergonomiczne rozmieszczanie obiektów - teoria", który jest umieszczony na serwerze. 2) Pobra z serwera program Links (demo). Przygotowa w domu zadanie testowe do bada właciwoci algorytmów. Zadanie to powinno by tak skonstruowane, aby znane było rozwizanie optymalne. Mona to zrobi w ten sposób, e dla danego układu geometrycznego, powizania funkcjonalne przypiszemy tylko obiektom ssiadujcym. Poniej przykład takiego układu. Łatwo zauway, e kada zmiana w tym układzie moe tylko pogorszy funkcje celu (dowolnie liczone). 4
Przykładowe okno programu Links; widoczne wprowadzone obiekty oraz powizania midzy nimi. 5