OPTYMALIZACJA DYSKRETNA W INFORMATYCE, AUTOMATYCE I ROBOTYCE Pod redakcja Wojciecha Bozejki i Jaroslawa Pempery B Oficyna Wydawnicza Politechniki Wroclawskiej Wroclaw 2012
Spis tresci Wstep 11 I Metody optymalizacji dyskretnej 13 1. Charakterystyka dziedziny 15 1.1. Klopoty optymalizacji 17 1.1.1. Mnogosc ekstremów lokalnych 17 1.1.2. Rozklad ekstremów w przestrzeni 18 1.1.3. Ekstrema zwodnicze 18 1.1.4. Przeklenstwo wymiarowosci 19 1.1.5. NP-trudnosc 21 1.1.6. Koszt obliczen 21 1.2. Krajobraz przestrzeni 21 1.2.1. Odleglosc 21 1.2.2. Rozklady 22 1.2.3. Duza dolina 23 1.2.4. Szorstkosc 23 2. Metody dokladne 27 2.1. Efektywne algorytmy dedykowane 28 2.2. Schemat podzialu i ograniczen 28 2.2.1. Podstawy schematu 28 2.2.2. Warianty specjalizowane 31 2.3. Schemat programowania dynamicznego 31 2.3.1. Podstawy schematu 32 2.3.2. Warianty specjalizowane 33 2.4. Programowanie liniowe calkowitoliczbowe 33 2.4.1. Programowanie liniowe 33 2.4.2. Schemat odciec. Algorytm Gomory'ego 41 2.4.3. Algorytm Land-Doiga 42
4 2.5. Programowanie liniowe binarne 43 2.5.1. Algorytm Balasa 43 2.6. Metody subgradientowe 44 2.6.1. Metoda ogólna 45 2.6.2. Metoda warunkowego subgradientu 45 2.6.3. Metoda rzutowanego subgradientu 46 3. Metody przyblizone 49 3.1. Blad przyblizenia 49 3.2. Analiza zachowania sie bledu przyblizenia 50 3.2.1. Analiza eksperymentalna 50 3.2.2. Analiza najgorszego przypadku 51 3.2.3. Analiza probabilistyczna 51 3.3. Schematy aproksymacyjne 52 3.4. Metody korzystne eksperymentalnie 52 3.4.1. Metody konstrukcyjne 53 3.4.2. Reguly priorytetowe 54 3.4.3. Obciete B&B 54 3.4.4. Poszukiwanie adaptacyjne 55 3.4.5. Poszukiwania lokalne 55 3.4.6. Metody popraw 55 3.4.7. Krajobraz i doliny 56 3.4.8. Intensyfikacja i rozproszenie 57 3.4.9. Poszukiwanie zstepujace 57 3.4.10. Poszukiwanie losowe 58 3.4.11. Poszukiwanie snopowe 58 3.4.12. Poszukiwanie progowe 58 3.4.13. Poszukiwania ewolucyjne 59 3.4.14. Ewolucja róznicowa 61 3.4.15. Podejscie immunologiczne 62 3.4.16. Poszukiwania biochemiczne 63 3.4.17. Metody sztucznej inteligencji 63 3.4.18. Metody ekspertowe 64 3.4.19. Metody wieloagentowe 65 3.4.20. Metody ulosowione 65 3.4.21. Sciezki przejsciowe 65 3.4.22. Celowe sciezki sledzace 66 3.4.23. Sterowane poszukiwania lokalne 66 3.4.24. Symulowane wyzarzanie 66 3.4.25. Symulowane wstrzasanie 69 3.4.26. Tunelowanie stochastyczne 69
5 3.4.27. Poszukiwanie z zakazami 70 3.4.28. Poszukiwanie z pamiecia adaptacyjna 71 3.4.29. Metoda geometryczna 71 3.4.30. Poszukiwanie mrówkowe 71 3.4.31. Poszukiwania rozproszone 72 3.4.32. Zlepianie 73 3.4.33. Spelnienie ograniczen 73 3.4.34. Poszukiwania sciezkowe 74 3.4.35. Algorytmy memetyczne 74 3.4.36. Algorytmy kulturowe 75 3.4.37. Sieci neuronowe 75 3.4.38. Poszukiwanie rojem czastek 76 3.4.39. Poszukiwanie nietoperza 77 3.4.40. Poszukiwanie ze zmiennym sasiedztwem 77 3.4.41. Chciwe poszukiwanie losowe 78 3.4.42. Poszukiwanie rojem pszczól 78 3.4.43. Metody hybrydowe 78 4. Metody równolegle 79 4.1. Architektury systemów obliczeniowych 82 4.2. Architektury pamieci 83 4.3. Model komputera równoleglego 84 4.4. Jezyki programowania równoleglego 87 4.5. Typy wspólbieznosci 88 4.6. Metody wielowatkowe 88 4.7. Równolegle metody dokladne 89 4.8. Równolegle poszukiwania lokalne 90 4.9. Równolegle metaheurystyki 91 4.10. Najnowsze trendy 94 5. Wnioski i uwagi 97 II Optymalizacja dyskretna w informatyce 99 6. Projektowanie ukladów VLSI 101 6.1. Problem 103 6.2. Taksonomia 106 6.2.1. Rodzaje rozmieszczen 106 6.2.2. Ksztalt i rozmiar bloków 107 6.2.3. Reguly projektowe 108
6 6.3. Reprezentacje rozwiazan 109 6.3.1. Charakterystyka ogólna 110 6.3.2. Drzewa binarne 111 6.3.3. Znormalizowana odwrotna notacja polska 112 6.3.4. Lista bloków naroznych 113 6.3.5. Q-ciag 115 6.3.6. Para ciagów 116 6.3.7. Siatka ograniczonych ciec 116 6.3.8. Graf przechodni domkniety 118 6.3.9. O-drzewo 119 6.3.10. B*-drzewo 121 6.4. Metody rozwiazywania 122 6.5. Badania numeryczne 124 6.6. Podsumowanie 125 7. Algorytmy szeregowania online 127 7.1. Wprowadzenie 127 7.2. Podstawowe pojecia z dziedziny szeregowania zadan online... 129 7.2.1. Notacja Grahama 130 7.2.2. Modele problemów szeregowania zadan online 131 7.2.3. Miary jakosci algorytmów szeregowania zadan online... 133 7.3. Problemy szeregowania zadan online na maszynach 138 7.3.1. Wybrane problemy szeregowania zadan online na m maszy nach 138 7.3.2. Przyklady problemów szeregowania zadan online 138 7.4. Aplikacje w istniejacych systemach 144 7.5. Podsumowanie 145 III Optymalizacja dyskretna w automatyce 147 8. Wytwarzanie cykliczne 149 8.1. Wprowadzenie 149 8.2. Problem 151 8.3. Model matematyczny 152 8.4. Czas cyklu dla kolejnosci 153 8.5. Czas cyklu dla fazy ustalonej 155 8.5.1. Metoda Howarda 158 8.5.2. Programowanie liniowe 158 8.5.3. Poszukiwanie binarne po T 158 8.5.4. Nowa metoda 161
1} IH PA 7 8.6. Dekompozycja 163 8.7. Problem górnego poziomu 163 8.8. Wnioski i uwagi 165 9. Problemy marszrutyzacji pojazdów 167 9.1. Klasyfikacja 167 9.1.1. Zagadnienie CVRP 9.1.2. Przyklady problemów marszrutyzacji 169 9.1.3. Zaawansowane modele problemów marszrutyzacji 170 9.1.4. Próba usystematyzowania 170 9.2. Problem komiwojazera 171 9.3. Funkcje kryterialne 171 9.4. Optymalizacja 174 9.4.1. Metody sekwencyjne 174 9.4.2. Algorytmy równolegle 175 9.5. Studium przypadku 177 9.5.1. Generowanie danych testowych 177 9.5.2. Metoda rozwiazania 177 9.5.3. Eksperymenty obliczeniowe 178 9.6. Podsumowanie 180 167 10. Wielokryterialne szeregowanie zadan 181 10.1. Problemy szeregowania 183 10.1.1. Pojecia podstawowe 183 10.1.2. Taksonomia 185 10.1.3. Kryteria szeregowania 189 10.2. Metody optymalizacji wielokryterialnej 193 10.2.1. Skalaryzacja 194 10.2.2. Podejscie leksykograficzne 194 10.2.3. Kryterium dominujace 194 10.2.4. Metoda punktu docelowego 195 10.2.5. Diagram Hasego 196 10.2.6. Techniki Pareto 196 10.2.7. Algorytmy ewolucyjne 197 10.3. Metody oceny algorytmów wielokryterialnych 200 10.3.1. Liczba rozwiazan Pareto - optymalnych 200-10.3.2. Wskaznik Epsilon 200-10.3.3. Wskaznik Hiper Objetosci 200 10.4. Szeregowanie wielokryterialne 201 10.5. Zlozonosc obliczeniowa 203 10.6. Wielokryterialne wspomaganie decyzji 205
- JIT 8 10.7. Wyniki badan numerycznych 206 10.8. Wnioski i uwagi 209 11. Harmonogramowanie robót budowlanych 211 11.1. Logistyka przedsiewziec budowlanych 212 11.2. Obsluga logistyczna przedsiewziec budowlanych 213 11.3. System dokladnie na czas 214 11.4. Zarzadzanie lancuchem dostaw w budownictwie 215 11.5. Outsourcing w logistyce budowlanej 220 11.6. Koncepcja centrum logistycznego 220 11.7. Transport w systemie JIT 223 11.7.1. Problem transportu dzwigarów z oknami czasowymi... 224 11.7.2. Transport jednym pojazdem 226 11.7.3. Transport wieloma pojazdami 227 11.8. Algorytmy rozwiazania problemu transportu 228 11.9. Podsumowanie 234 12. Elastyczne systemy produkcyjne 235 12.1. Sformulowanie problemu 236 12.1.1. Reprezentacja grafowa rozwiazania 240 12.2. Metoda rozwiazania 243 12.2.1. Ruchy typu transfer 244 12.2.2. Ruchy typu wstaw 246 12.2.3. Otoczenie golfowe 246 12.2.4. Wyznaczanie otoczenia 247 12.2.5. Metody szacowania wartosci funkcji celu 254 12.2.6. Algorytm wyznaczania przydzialu operacji do maszyn.. 260 12.2.7. Równolegly algorytm wyznaczania przydzialu operacji do maszyn 262 12.3. Algorytm rozwiazywania elastycznego problemu produkcyjnego. 263 12.3.1. Równolegly algorytm oparty na meta2heurystyce 264 12.4. Eksperymenty komputerowe 265 12.5. Podsumowanie 267 13. Problemy kolekcjonowania 269 13.1. Magazyny 269 13.2. Problemy magazynowania 270 13.3. Taksonomia 271 13.4. Aktualny stan wiedzy 273 13.4.1. Srodki techniczne 274 13.4.2. Podzial systemów 275
9 13.4.3. Kryteria optymalizacyjne 275 13.4.4. Projektowanie magazynu 276 13.4.5. Rozmieszczenie 276 13.5. System reczny 279 13.5.1. Model matematyczny 280 13.5.2. Algorytmy 281 13.5.3. Badania testowe 283 13.5.4. Wnioski i uwagi 284 13.6. Alternatywny system reczny 284 13.6.1. Model matematyczny 285 13.6.2. Uogólnienia 287 13.6.3. Algorytmy 288 13.6.4. Badania numeryczne 288 13.6.5. Wnioski i uwagi 290 13.7. System pólautomatyczny 290 13.7.1. Model matematyczny 291 13.7.2. Algorytmy 294 13.7.3. Wyniki obliczen 295 13.7.4. Szeregowanie z przezbrojeniami 296 13.7.5. Uogólnienia 297 13.7.6. Wnioski i uwagi 298 IV Optymalizacja dyskretna w robotyce 301 14.Zagadnienia dyskretne w robotyce 303 15. Zrobotyzowane centra obróbcze 309 15.1. Opis problemu 310 15.2. Model w postaci grafu dysjunktywnego 311 15.3. Algorytm oparty na metodzie tabu search 314 15.4. Podsumowanie 316 16.Systemy transportowe oparte o wózki AGV 317 16.1. Projektowanie systemów AGV 318 16.2. Projektowanie ukladu sciezek transportowych 319 16.3. Rozmieszczenie punktów odbioru i dostaw 322 16.4. Wyznaczenie optymalnej liczby pojazdów 322 16.5. Sterowanie praca wózków AGV 323 16.6. Podsumowanie 331
10 17.Wyznaczanie trasy robota mobilnego 333 17.1. Algorytm D*Lite 334 17.2. Procedury pomocnicze 336 17.3. Procedura glówna 338 17.4. Postac mapy terenu 339 17.5. Demonstracja dzialania algorytmu 342 17.6. Podsumowanie 343 Uwagi koncowe 345 Bibliografia 347 Skorowidz 367 Glosariusz 371