Badania operacyjne: Wykład Zastosowanie kolorowania grafów w planowaniu produkcji typu no-idle



Podobne dokumenty
BADANIA OPERACYJNE. Zastosowania kolorowania grafów w problemie układania rozkładów zajęć. Maciej Kupczak 1 i Paweł Szołtysek 2

Zofia Kruczkiewicz, Algorytmu i struktury danych, Wykład 14, 1

a) 7 b) 19 c) 21 d) 34

Algorytm Chaitin a. Problem kolorowania grafu. Krzysztof Lewandowski Mirosław Jedynak

Matematyka dyskretna

Znajdowanie skojarzeń na maszynie równoległej

AiSD zadanie trzecie

Działanie algorytmu oparte jest na minimalizacji funkcji celu jako suma funkcji kosztu ( ) oraz funkcji heurystycznej ( ).

WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA

Algorytmiczna teoria grafów

Drzewa rozpinajace, zbiory rozłaczne, czas zamortyzowany

Rozwiązywanie problemów metodą przeszukiwania

Algorytmy Równoległe i Rozproszone Część V - Model PRAM II

Struktury danych i złożoność obliczeniowa Wykład 5. Prof. dr hab. inż. Jan Magott

1. Algorytmy przeszukiwania. Przeszukiwanie wszerz i w głąb.

Matematyka dyskretna. Andrzej Łachwa, UJ, B/14

Kolorowanie wierzchołków

Kolorowanie wierzchołków Kolorowanie krawędzi Kolorowanie regionów i map. Wykład 8. Kolorowanie

Sprawozdanie do zadania numer 2

Algorytmiczna teoria grafów

Opracowanie prof. J. Domsta 1

Drzewa spinające MST dla grafów ważonych Maksymalne drzewo spinające Drzewo Steinera. Wykład 6. Drzewa cz. II

Matematyczne Podstawy Informatyki

Lista 4. Kamil Matuszewski 22 marca 2016

Algorytm Dijkstry znajdowania najkrótszej ścieżki w grafie

Wielokryteriowa optymalizacja liniowa cz.2

Kombinowanie o nieskończoności. 2. Wyspy, mosty, mapy i kredki materiały do ćwiczeń

wstęp do informatyki i programowania część testowa (25 pyt. / 60 min.)

EGZAMIN - Wersja A. ALGORYTMY I STRUKTURY DANYCH Lisek89 opracowanie kartki od Pani dr E. Koszelew

Wprowadzenie Podstawy Fundamentalne twierdzenie Kolorowanie. Grafy planarne. Przemysław Gordinowicz. Instytut Matematyki, Politechnika Łódzka

Programowanie sieciowe. Tadeusz Trzaskalik

Grafem nazywamy strukturę G = (V, E): V zbiór węzłów lub wierzchołków, Grafy dzielimy na grafy skierowane i nieskierowane:

Złożoność obliczeniowa klasycznych problemów grafowych

Problemy z ograniczeniami

MATEMATYKA DYSKRETNA - MATERIAŁY DO WYKŁADU GRAFY

ĆWICZENIE NR 1 WPROWADZENIE DO INFORMATYKI

Segmentacja obrazów cyfrowych z zastosowaniem teorii grafów - wstęp. autor: Łukasz Chlebda

Matematyka dyskretna. Andrzej Łachwa, UJ, A/14

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

Badania Operacyjne Ćwiczenia nr 5 (Materiały)

Matematyka dyskretna. Andrzej Łachwa, UJ, /15

Wybrane podstawowe rodzaje algorytmów

OSTASZEWSKI Paweł (55566) PAWLICKI Piotr (55567) Algorytmy i Struktury Danych PIŁA

operacje porównania, a jeśli jest to konieczne ze względu na złe uporządkowanie porównywanych liczb zmieniamy ich kolejność, czyli przestawiamy je.

Teoria obliczeń i złożoność obliczeniowa

Digraf. 13 maja 2017

Instrukcja. Laboratorium Metod i Systemów Sterowania Produkcją.

Ubogi kartograf Kolorowanie grafu

Matematyka dyskretna. Andrzej Łachwa, UJ, /14

Matematyczne Podstawy Informatyki

OPTYMALIZACJA HARMONOGRAMOWANIA MONTAŻU SAMOCHODÓW Z ZASTOSOWANIEM PROGRAMOWANIA W LOGICE Z OGRANICZENIAMI

Matematyka dyskretna. Andrzej Łachwa, UJ, /14

Jacek Skorupski pok. 251 tel konsultacje: poniedziałek , sobota zjazdowa

Wykłady z Matematyki Dyskretnej

Porównanie algorytmów wyszukiwania najkrótszych ścieżek międz. grafu. Daniel Golubiewski. 22 listopada Instytut Informatyki

Algorytmy grafowe. Wykład 1 Podstawy teorii grafów Reprezentacje grafów. Tomasz Tyksiński CDV

Minimalne drzewa rozpinające

Rozdział 9 PROGRAMOWANIE DYNAMICZNE

Szeregowanie zada« Wykªad nr 6. dr Hanna Furma«czyk. 11 kwietnia 2013

Matematyczne podstawy informatyki Mathematical Foundations of Computational Sciences. Matematyka Poziom kwalifikacji: II stopnia

Wstęp do sieci neuronowych, wykład 12 Wykorzystanie sieci rekurencyjnych w optymalizacji grafowej

MATEMATYKA DYSKRETNA - KOLOKWIUM 2

Zadania laboratoryjne i projektowe - wersja β

Plan wykładu. Przykład. Przykład 3/19/2011. Przykład zagadnienia transportowego. Optymalizacja w procesach biznesowych Wykład 2 DECYZJA?

TEORETYCZNE PODSTAWY INFORMATYKI

Matematyczne Podstawy Informatyki

Dynamiczne drzewa. Marian M. Kędzierski. 26 listopada Wstęp Euler-Tour Trees Dynamiczna spójność Algorytm Dinica Link-Cut Trees

Struktury danych i złożoność obliczeniowa Wykład 7. Prof. dr hab. inż. Jan Magott

Podstawowe własności grafów. Wykład 3. Własności grafów

Rachunek podziałów i elementy teorii grafów będą stosowane w procedurach redukcji argumentów i dekompozycji funkcji boolowskich.

Uniwersytet Zielonogórski Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Sterowania i Systemów Informatycznych

Przykłady grafów. Graf prosty, to graf bez pętli i bez krawędzi wielokrotnych.

znalezienia elementu w zbiorze, gdy w nim jest; dołączenia nowego elementu w odpowiednie miejsce, aby zbiór pozostał nadal uporządkowany.

Programowanie dynamiczne i algorytmy zachłanne

Graf. Definicja marca / 1

Matematyka dyskretna. Andrzej Łachwa, UJ, /15

Przykład planowania sieci publicznego transportu zbiorowego

Materiały dla finalistów

Systemy wbudowane. Uproszczone metody kosyntezy. Wykład 11: Metody kosyntezy systemów wbudowanych

Heurystyczne metody przeszukiwania

Wstęp do programowania

Kolorowanie wierzchołków grafu

Algorytmy Równoległe i Rozproszone Część III - Układy kombinacyjne i P-zupełność

Algorytmy dynamiczne. Piotr Sankowski. - p. 1/14

E ' E G nazywamy krawędziowym zbiorem

Wstęp do programowania

Metody optymalizacji dyskretnej

Algorytmy grafowe. Wykład 2 Przeszukiwanie grafów. Tomasz Tyksiński CDV

Algorytm DIC. Dynamic Itemset Counting. Magdalena Przygórzewska Karolina Stanisławska Aleksander Wieczorek

Wykład 8. Drzewo rozpinające (minimum spanning tree)

Grafy i sieci w informatyce - opis przedmiotu

Języki formalne i automaty Ćwiczenia 8

Zad. 1 Zad. 2 Zad. 3 Zad. 4 Zad. 5 SUMA

Matematyka dyskretna. Andrzej Łachwa, UJ, /15

Algorytmy sztucznej inteligencji

Suma dwóch grafów. Zespolenie dwóch grafów

Reprezentacje grafów nieskierowanych Reprezentacje grafów skierowanych. Wykład 2. Reprezentacja komputerowa grafów

Algorytmy mrówkowe. H. Bednarz. Wydział Informatyki Zachodniopomorski Uniwersytet Technologiczny w Szczecinie Inteligentne systemy informatyczne

Modele i narzędzia optymalizacji w systemach informatycznych zarządzania

Transkrypt:

Badania operacyjne: Wykład Zastosowanie kolorowania grafów w planowaniu produkcji typu no-idle Paweł Szołtysek 12 czerwca 2008 Streszczenie Planowanie produkcji jest jednym z problemów optymalizacji dyskretnej, należącym do dziedziny badań operacyjnych. Ta praca formułuje problem dla produkcji typu no-idle, gdzie niedopuszczalne są przestoje, przedstawia go w formie sformalizowanej, prezentuje autorskie podejście do problemu, które poszerza zastosowanie kolorowania grafów w planowaniu, oraz na podstawie implementacji na prostym przypadku przedstawia działanie tego algorytmu. Wyniki uzyskane dla omównionego przypadku okazały się być rozwiązaniem optymalnym. 1 Sformułowanie problemu Weźmy pod uwagę zakład produkcyjny, który wytwarza pewne produkty za pomocą różnych maszyn. O produktach tych będziemy zakładać, że: na ich wytworzenie składa się szereg niezależnych operacji, wykonywanych przez różne maszyny; wszystkie te operacje trwają tyle samo (lub mogą być podzielone na takie niezależne operacje, które będą trwały tyle samo); tak maszyny jak i produkty są systemami typu no-idle, ich wyłączenie lub spowodowanie przestoju jest niemożliwe (nieopłacalne). Dopuszczamy więc fakt, że przedmioty będą się różniły między sobą w zakresie potrzebnych do ich wytworzenia maszyn. 1

2 Opis formalny problemu Dany mamy pewien zbiór maszyn M i zbiór produktów P, które chcemy wytworzyć. Daną mamy także relację α : P M N pomiędzy tymi zbiorami, określającą ile razy maszyna M będzie używana do wytworzenia produktu P. Naszym zadaniem jest zaproponowanie takiej organizacji pracy, która pozwoli na przeprowadzenie procesu produkcji zgodnie z ograniczeniami danymi w sekcji 1. Funkcją celu będzie więc funkcja zliczająca pojawienie się przestojów w produkcji. F = min V Cmax v=0 Cmin { 0 jesli kolor jest wykorzystany 1 wpp (1) gdzie V = M P reprezentuje sumę produktów i maszyn, Cmin oraz Cmax to odpowiednio oznaczony minimalny i maksymalny kolor danego obiektu. Poza tym, będziemy dążyli też do minimalizacji ilości użytych kolorów podczas całego procesu. Problem należy do klasy NP-trudnych. 3 Proponowane algorytmy rozwiązania 3.1 Przegląd zupełny Metodą, która z pewnością zwraca optymalne rozwiązanie takiego problemu, jest przegląd zupełny. Polega on na skonstruowaniu wszystkich możliwych uszeregowań, wyliczeniu dla nich funkcji celu i wybraniu najlepszej. Jest to jednak algorytm bardzo złożony obliczeniowo. Wyznaczenie ogromnej ilości rozwiązań i wyliczenie i porównanie funkcji celu jest czasochłonne. Może on być wykorzystywany tylko do planowania produkcji przy niewielkiej ilości maszyn i produktów (rzędu kilka). 3.2 Zwarte kolorowanie krawędziowe grafu Problem można przedstawić w postaci grafu, gdzie wierzchołkami będą odpowiednio produkty i maszyny, a krawędzie (może być ich wiele) będą zgodne z funkcją α. Taki graf będzie dwudzielny, nieincydentymi ze sobą wierzchołkami będą odpowiednio te reprezentujące produkty i maszyny. Postawione zadanie wymaga nadania etykiet na krawędzie, które będą odpowiednio określały kiedy dane zadanie ma być wykonane, tj. kiedy pewna operacja na maszynie i produkcie ma zostać wykonana. 2

Rysunek 1: Grafowa reprezentacja zadania planowania produkcji. Przez wzgląd na funkcję celu, naturalnym zastosowaniem wydaje się być pomysł dokonania tego kolorowania w taki sposób, aby zachować zwartość, czyli ciągłość kolorów przy jednym wierzchołku w danym zakresie. Należy jednak pamiętać, że nie wszystkie sytuacje można pokolorować w ten sposób. 3.2.1 Algorytm zwartego kolorowania grafu Algorytm przedstawiony poniżej jest autorską interpretacją i rozszerzeniem algorytmu kolorowania zwartego drzew przedstawionego w [1]. Różnica polega na zastosowaniu omówionego tam podejścia do zwartego kolorowania struktur drzewowych z cyklami. Ponadto poniższy algorytm akceptuje i rozwiązuje też problem dla wielokrotnych wystąpień połączeń między wierzchołkami. 1. Utwórz tymczasowy graf G (V, E ) = G(V, E). 2. Jeśli jest cokolwiek w kolejce, dodaj to do G, chyba, że było wrzucone na stos w ostatniej iteracji. 3. Usuń z grafu G wolne krawędzie. 4. Jeśli E jest pusty, to sprowadziliśmy zadanie do kolorowania drzewa. Wystarczy pokolorować kolejne ścieżki w dowolnej kolejności przy zachowaniu odpowiednich ograniczeń nałożonych przez zwartość. Jeśli E jest niepusty, to w grafie są cykle. Znajdź cykl. 5. Dokonaj analizy już pokolorowanych krawędzi i zaproponuj zwarte pokolorowanie do obecnie już istniejącego. 3

Jeśli ograniczenie jest na conajwyżej jednym wierzchołku, koloruj z uwzględnieniem istniejącego koloru tego wierzchołka. Jeśli ograniczenie jest na większej ilości wierzchołków, podziel cykl na ścieżki pomiędzy nimi i koloruj je zwarcie z istniejącym pokolorowaniem. Jeśli jest to niemożliwe, przekaż ścieżkę do kolejki. 6. Usuń z grafu G krawędzie które zostały pokolorowane (do innej struktury, wynikowej) lub przekazane do kolejki. 7. Wróć do kroku 2. Jeśli przez kilka kolejnych iteracji nie będzie dokonywane przyporządkowanie, oznaczać to będzie, że nie znaleziono rozwiązania optymalnego - co jednak nie oznacza, że takiego rozwiązania nie ma. Jest to bowiem algorytm heurystyczny. Znalezione rozwiązanie można polepszać zmieniając kolejność kolorowania grafów, lub, jeśli jest to akceptowalne, dodać pozostałe krawędzie kolorując je optymalnie, ale nie zwarcie. 4 Przykład Przedstawione podejście przeanalizujemy na przykładzie. Załóżmy, że mamy sześć maszyn (M = 6), cztery produkty do wytworzenia (P = 4), a zapotrzebowanie maszyn na poszczególne produkty (α) przedstawia się następująco: α 0 1 2 3 0 1 0 0 1 1 0 0 1 0 2 1 1 0 0 3 1 0 0 1 4 0 0 1 0 5 0 0 0 1 W celu rozwiązania tego problemu zaimplementowany w języku C++ został algorytm przedstawiony w sekcji 3.2.1. Kolorowanie według niego przebiega następująco. 4

0 1 2 3 1 X X NA X 2 NA NA X X 4 X X NA X 5 X X X NA 0 1 2 3 1 X X 4 X 2 NA NA X X 4 X X 5 X 5 X X X NA 0 1 2 3 1 X X 4 X 2 NA NA X X 4 X X 5 X 5 X X X 6 I w ostatniej iteracji otrzymujemy ostateczne pokolorowanie: 0 1 2 3 1 X X 4 X 2 6 5 X X 4 X X 5 X 5 X X X 6 Otrzymany wynik spełnia założenia i ograniczenia, które zostały postawione na początku pracy. Funkcja celu wynosi 0. Ponadto wykorzystaliśmy optymalną liczbę kolorów (trzy). 5 Podsumowanie Przedstawiony został prosty przykład w celu zobrazowania procesu działania autorskiego algorytmu. Wprawdzie znalezienie rozwiązania zadania wyżej 5

przedstawionego nie jest większym problemem nawet na kartce, to w rzeczywistości przy nieco większym rozmiarze algorytm radzi sobie bez większego problemu, podczas gdy powyższa metoda znacznie ten proces strukturalizuje i upraszcza, dzięki swoim logicznym podstawom. W znacznej większości przypadków algorytm znajduje rozwiązanie bliskie optymalnemu. Przedstawiony powyżej algorytm można rozwinąć o elementy bardziej trafnego wybierania cykli czy ścieżek które pozostały do pokolorowania. Przełoży się to bezpośrednio na jakość wyniku zwracanego przez algorytm. Literatura [1] Marek Kubale: Optymalizacja dyskretna: modele i metody kolorowania grafów. Zwarte kolorowanie grafów, Wydawnictwa Naukowo-Techniczne, Warszawa 2002, 167-179 6