ALGORYTM OPTYMALNEGO WYRÓWNANIA WYKRESU ZATRUDNIENIA METODĄ GRAFICZNĄ

Podobne dokumenty
ALGORYTM OPTYMALNEGO WYRÓWNANIA WYKRESU ZATRUDNIENIA Z ZASTOSOWANIEM GRAFU

Poszukiwanie optymalnego wyrównania harmonogramu zatrudnienia metodą analityczną

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

BADANIA OPERACYJNE i teoria optymalizacji. Prowadzący: dr Tomasz Pisula Katedra Metod Ilościowych

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

9.9 Algorytmy przeglądu

Schemat programowania dynamicznego (ang. dynamic programming)

ZAGADNIENIE TRANSPORTOWE

Optymalizacja harmonogramów budowlanych - szeregowanie zadań. Mgr inż. Aleksandra Radziejowska AGH Akademia Górniczo-Hutnicza w Krakowie

1 Obliczanie modeli sieciowych w funkcji środków

Rys Wykres kosztów skrócenia pojedynczej czynności. k 2. Δk 2. k 1 pp. Δk 1 T M T B T A

Programowanie dynamiczne. Tadeusz Trzaskalik

Zagadnienie transportowe

Programowanie celowe #1

Optymalizacja harmonogramów budowlanych - problem szeregowania zadań

Rozdział 3 ZADANIE TRANSPORTOWE I PROBLEM KOMIWOJAŻERA

Opis przedmiotu. Karta przedmiotu - Badania operacyjne Katalog ECTS Politechniki Warszawskiej

Opis przedmiotu: Badania operacyjne

PROBLEM ROZMIESZCZENIA MASZYN LICZĄCYCH W DUŻYCH SYSTEMACH PRZEMYSŁOWYCH AUTOMATYCZNIE STEROWANYCH

WYZNACZANIE PRZEMIESZCZEŃ SOLDIS

Opis przedmiotu. Karta przedmiotu - Badania operacyjne Katalog ECTS Politechniki Warszawskiej

Analiza wielokryterialna wstęp do zagadnienia

Następnie przypominamy (dla części studentów wprowadzamy) podstawowe pojęcia opisujące funkcje na poziomie rysunków i objaśnień.

Rozdział 7 ZARZĄDZANIE PROJEKTAMI

Notatki do tematu Metody poszukiwania rozwiązań jednokryterialnych problemów decyzyjnych metody dla zagadnień liniowego programowania matematycznego

FUNKCJA LINIOWA - WYKRES

Zarządzanie projektami

Rodzaje wykresów i zasady ich budowy

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

Dodatek Solver Teoria Dodatek Solver jest częścią zestawu poleceń czasami zwaną narzędziami analizy typu co-jśli (analiza typu co, jeśli?

Instytut Politechniczny Państwowa Wyższa Szkoła Zawodowa. Diagnostyka i niezawodność robotów

SCENARIUSZ LEKCJI. Streszczenie. Czas realizacji. Podstawa programowa

Microsoft EXCEL SOLVER

EGZAMIN MATURALNY W ROKU SZKOLNYM 2017/2018 INFORMATYKA

1 Układy równań liniowych

5c. Sieci i przepływy

WYDZIAŁ ELEKTRYCZNY POLITECHNIKI WARSZAWSKIEJ INSTYTUT ELEKTROENERGETYKI ZAKŁAD ELEKTROWNI I GOSPODARKI ELEKTROENERGETYCZNEJ

Efektywność algorytmów

Czytanie wykresów to ważna umiejętność, jeden wykres zawiera więcej informacji, niż strona tekstu. Dlatego musisz umieć to robić.

Przykładowe rozwiązania

Algorytm. a programowanie -

Narysować wykresy momentów i sił tnących w belce jak na rysunku. 3ql

t i L i T i

Funkcja liniowa - podsumowanie

9. BADANIE PRZEBIEGU ZMIENNOŚCI FUNKCJI

Rachunek wektorowy - wprowadzenie. dr inż. Romuald Kędzierski

Zagadnienia programowania liniowego dotyczą modelowania i optymalizacji wielu problemów decyzyjnych, na przykład:

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

Szukanie rozwiązań funkcji uwikłanych (równań nieliniowych)

FUNKCJA LINIOWA - WYKRES. y = ax + b. a i b to współczynniki funkcji, które mają wartości liczbowe

Zadanie transportowe i problem komiwojażera. Tadeusz Trzaskalik

Ćwiczenie Stany nieustalone w obwodach liniowych pierwszego rzędu symulacja komputerowa

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

PRZEWODNIK PO PRZEDMIOCIE

WYMAGANIE EDUKACYJNE Z MATEMATYKI W KLASIE II GIMNAZJUM. dopuszczającą dostateczną dobrą bardzo dobrą celującą

Wokół Problemu Steinhausa z teorii liczb

Spacery losowe generowanie realizacji procesu losowego

SCENARIUSZ LEKCJI. Dzielenie wielomianów z wykorzystaniem schematu Hornera

Optymalizacja. Algorytmy dokładne

A. Kasperski, M. Kulej, Badania operacyjne, Wykład 4, Zagadnienie transportowe1

Document: Exercise*02*-*manual /11/ :31---page1of8 INSTRUKCJA DO ĆWICZENIA NR 2

Rozwiązywanie problemów z użyciem Solvera programu Excel

Z1/7. ANALIZA RAM PŁASKICH ZADANIE 3

Obliczenia iteracyjne

Funkcje wymierne. Jerzy Rutkowski. Działania dodawania i mnożenia funkcji wymiernych określa się wzorami: g h + k l g h k.

Wykład z modelowania matematycznego. Zagadnienie transportowe.

Otrzymaliśmy w ten sposób ograniczenie na wartości parametru m.

KARTA PRZEDMIOTU. Język polski. Badania operacyjne Nazwa przedmiotu Język angielski operational research USYTUOWANIE PRZEDMIOTU W SYSTEMIE STUDIÓW

doc. dr Beata Pułska-Turyna Zarządzanie B506 mail: mgr Piotr J. Gadecki Zakład Badań Operacyjnych Zarządzania B 505.

ROZWIĄZYWANIE UKŁADÓW RÓWNAŃ NIELINIOWYCH PRZY POMOCY DODATKU SOLVER PROGRAMU MICROSOFT EXCEL. sin x2 (1)

1 Programowanie całkowitoliczbowe PLC

Maciej Piotr Jankowski

Metoda Karnaugh. B A BC A

BADANIA OPERACYJNE. dr Adam Sojda Pokój A405

Poziom przedmiotu: II stopnia. Liczba godzin/tydzień: 2W, 2L, 1C PRZEWODNIK PO PRZEDMIOCIE

PROCES TWORZENIA DOKUMENTU

Notacja Denavita-Hartenberga

Optymalizacja konstrukcji

Analiza stanu przemieszczenia oraz wymiarowanie grupy pali

INSTRUKCJA DO ĆWICZENIA NR 1

FUNKCJE I RÓWNANIA KWADRATOWE. Lekcja 78. Pojęcie i wykres funkcji kwadratowej str

Złożoność obliczeniowa zadania, zestaw 2

Zadanie 1. Oblicz prawdopodobieństwo, że rzucając dwiema kostkami do gry otrzymamy:

Wyszukiwanie binarne

Wykorzystanie nowoczesnych technik prognozowania popytu i zarządzania zapasami do optymalizacji łańcucha dostaw na przykładzie dystrybucji paliw cz.

Rozdział 1 PROGRAMOWANIE LINIOWE

Ćwiczenia nr 4. Arkusz kalkulacyjny i programy do obliczeń statystycznych

PRZEWODNIK PO PRZEDMIOCIE. stacjonarne. II stopnia. ogólnoakademicki. podstawowy WYKŁAD ĆWICZENIA LABORATORIUM PROJEKT SEMINARIUM

Metody numeryczne Wykład 4

Z-ZIP2-303z Zagadnienia optymalizacji Problems of optimization

Wykład z Technologii Informacyjnych. Piotr Mika

Ćwiczenia laboratoryjne - 7. Zagadnienie transportowoprodukcyjne. programowanie liniowe

INFORMATYKA POZIOM ROZSZERZONY

OPROGRAMOWANIE WSPOMAGAJĄCE ZARZĄDZANIE PROJEKTAMI. PLANOWANIE ZADAŃ I HARMONOGRAMÓW. WYKRESY GANTTA

Analiza sieciowa projektów- metody: CPM, PERT. A. Kasperski, M. Kulej 1

Dopasowywanie modelu do danych

Ćw. nr 31. Wahadło fizyczne o regulowanej płaszczyźnie drgań - w.2

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

WYBRANE ZAGADNIENIA OPTYMALIZACJI PRZEGLĄDÓW OKRESOWYCH URZĄDZEŃ ELEKTRONICZNYCH

Aproksymacja funkcji a regresja symboliczna

Transkrypt:

ALGORYTM OPTYMALNEGO WYRÓWNANIA WYKRESU ZATRUDNIENIA METODĄ GRAFICZNĄ Mieczysław POŁOŃSKI Wydział Budownictwa i Inżynierii Środowiska, Szkoła Główna Gospodarstwa Wiejskiego, Warszawa, ul. Nowoursynowska 19 e-mail: mieczyslaw_polonski@sggw.pl Streszczenie: Artykuł opisuje nowy, zaproponowany przez autora algorytm wyznaczenia optymalnego wyrównania wykresu zatrudnienia ze względu na kryterium kosztowe, gdy ponoszony jest równocześnie koszt przekroczenia wymaganego zapotrzebowania na analizowany zasób oraz koszt zmiany poziomu zatrudnienia. Założono, że obie funkcje zmiany kosztów nie muszą być liniowe, zatrudnienie musi być zawsze zaspokojone i nie może być magazynowane. Algorytm wyznacza pożądane zatrudnienie każdego analizowanego dnia, poszukując rozwiązania ze względu na minimalny łączny koszt przekroczenia wymaganego zapotrzebowania i zmiany poziomu zatrudnienia. W algorytmie zastosowano rozwiązanie oparte na programowaniu sieciowym. Słowa kluczowe: optymalizacja, wyrównanie zatrudnienia, minimalizacja kosztu zatrudnienia, programowanie dynamiczne. 1. Wprowadzenie Problem optymalnego wyrównywania wykresu zatrudnienia w harmonogramach budowlanych jest zagadnieniem stale aktualnym. W swojej ostatniej książce prof. K. M. Jaworski (2) proponuje, aby to zagadnienie rozwiązywać ze względu na kryterium kosztowe, przy czym brać pod uwagę dwa różne koszty: w sytuacji, gdy zatrudnienie na budowie przekracza wymagane zapotrzebowanie koszt związany z niewykorzystaniem danego środka produkcji, określony funkcją Θ zależną od stopnia przekroczenia wymaganego zapotrzebowania oraz koszt Ψ wyrażający nakłady ponoszone na zmianę poziomu zatrudnienia analizowanego zasobu, również uzależniony od wielkości zmiany zatrudnienia w kolejnych okresach czasu. Poszukiwane rozwiązanie powinno minimalizować sumę obu rozpatrywanych kosztów Θ i Ψ w całym horyzoncie planowania. Tak sformułowane 1

zagadnienie zmienia dotychczasowe podejście do wyrównywania wykresów zatrudnienia, które skupiało się głownie na wyrównywaniu wykresu sprawdzającego. Rozwiązanie takiego zagadnienia wymaga jeszcze jego uściślenia. Zakłada się, że horyzont czasowy harmonogramu został podzielony na N skończonych etapów a w każdym z tych etapów (np. dni, miesięcy) określone jest niezbędne do zrealizowania odpowiednich procesów technologicznych zapotrzebowanie jednego odnawialnego zasobu. Ze względu na fakt, że do obliczeń przyjmowany jest zasób odnawialny przyjmuje się, że nie może być on magazynowany. Ponad to zakłada się, że wyznaczone w procesie obliczeń zatrudnienie każdego dnia nie może być mniejsze niż wymagane zapotrzebowanie, natomiast maksymalne zatrudnienie, jakie może wystąpić na budowie równe jest maksymalnemu zapotrzebowaniu występującemu w analizowanym okresie. Jeżeli chodzi o koszty przekroczenia zapotrzebowania Θ oraz koszty zmiany poziomu zatrudnienia Ψ, to są one wyrażone w postaci związku funkcyjnego, przy czym nie musi to być funkcja liniowa. Przy wyznaczaniu kosztów zmiany zatrudnienia Ψ można również przyjąć różne stawki w zależności do tego, czy zatrudnienie w kolejnych jednostkach rośnie czy też maleje. Należy również zdefiniować, czy w obliczeniach uwzględnia się stan zatrudnienia przed rozpoczęciem robót a tym samym ewentualny koszt zmiany tego zatrudnienia w stosunku do pierwszego dnia robót. Metoda Dokładny opis modelu matematycznego rozpatrywanego zagadnienia można znaleźć w książce Jaworskiego (2). Jak zauważa autor, tak sformułowane zagadnienie można traktować jako wieloetapowy, dynamiczny proces wyrównywania (Siudym 19) a do jego rozwiązania zastosować algorytm programowania dynamicznego, oparty na zasadzie optymalności Bellmana (Benjamin i Cornell 19) mówiącej, że polityka optymalna ma tę własność, że niezależnie od początkowego stanu i początkowej decyzji pozostałe decyzje muszą stosować politykę optymalną ze względu na stan wynikający z pierwszej decyzji. Korzystając z tej własności algorytm programowania dynamicznego rozkłada cały analizowany proces na etapy i poszukuje rozwiązania optymalnego przechodząc przez kolejne wyróżnione etapy, rozpoczynając od ostatniego i cofając się aż do pierwszego. Taki sposób rozwiązania narzuca określony sposób notacji prowadzonych obliczeń, który nie zawsze jest czytelny, szczególnie dla osób słabiej obeznanych z badaniami operacyjnymi. W swojej książce Jaworski zamieszcza przykład obliczeniowy, który ilustruje omawiane zagadnienie i sposób jego rozwiązania oparty właśnie na programowaniu dynamicznym. 2

Zamieszczone obliczenia nie zawierają wszystkich niezbędnych kroków obliczeniowych, a jedynie ilustrują przyjęty metodykę prowadzenia obliczeń, sposób zapisu wyników pośrednich oraz ostateczne rozwiązanie. Dobre zrozumienie zamieszczonego przykładu wymaga uważnego przeanalizowania podanych wyników oraz wykonania obliczeń dodatkowych, nie koniecznie oczywistych dla każdego czytelnika. Ponieważ podniesione przez autora przykładu zagadnienie jest ważne i może mieć również duże znaczenie praktyczne, wydaje się, że warto poszukać rozwiązania tego zagadnienia, które by w prostszy sposób prowadziło do wyznaczenia poszukiwanych wartości zatrudnienia. Autor artykułu proponuje zastosować algorytm oparty na grafach (Korzan 19), który w jego przekonaniu pozwala czytelniej wyznaczyć optymalne zatrudnienie. Poniżej podano opis użytych w algorytmie oznaczeń oraz opisano sam algorytm. W dalszej części artykułu zamieszczono dwa przykłady ilustrujące zastosowanie zaproponowanego algorytmu. Oznaczenia: N liczba dni, dla których wykonywane są obliczenia, j numer kolejnego dnia, r j zapotrzebowanie na robotników w dniu j, c poziom zatrudnienia przed rozpoczęciem prac (w dniu j=), R- maksymalne zatrudnienie, jakie może wystąpić na budowie; R = max(r j ) dla j=1..n, u j,u rozpatrywany poziom zatrudnienia w dniu j o wielkości u; u <1;R> x j poszukiwane zatrudnienie w dniu j, Θ j,u koszt przekroczenia wymaganego zapotrzebowania w dniu j przy poziomie zatrudnienia u, Ψ u1,u2 koszt zmiany poziomu zatrudnienia z poziomu u1 na poziom u2, k Θ,Ψ łączny koszt przekroczenia wymaganego zapotrzebowania Θ i zmiany poziomu zatrudnienia Ψ, K1 j,u sumaryczny koszt zatrudnienia od początku do dnia j, przy poziomie zatrudnienia u w dniu j, K2 j,u sumaryczny fikcyjny koszt zatrudnienia podczas liczenia od końca do dnia j, przy poziomie zatrudnienia u w dniu j (może być ujemny). Wszystkie przyjęte oznaczenia nawiązują do oznaczeń użytych przez Jaworskiego (2) oprócz nowo wprowadzonych, niezbędnych ze względu na zastosowany algorytm. 3

Opis algorytmu Poniżej zamieszczony opis algorytmu został tak skonstruowany, aby nawet mało wprawny czytelnik mógł go łatwo zastosować. Świadomie zrezygnowano z formalnego zapisu formuł matematycznych i schematu blokowego, mając nadzieję, że taki sposób jego prezentacji jest dostatecznie precyzyjny a równocześnie prosty w zastosowaniu. Proponuje się, aby opis algorytmu śledzić równocześnie z wynikami obliczeń, zamieszczonych na rysunku 2 na str., co powinno znacznie ułatwić jego zrozumienie. 1. Narysuj tyle kolumn ile dni obejmuje zadanie (1..N). Na górze każdej kolumny wpisz kolejny numer dnia (j), zaczynając od pierwszej kolumny z lewej strony. 2. Dodaj na początku i na końcu po jednej dodatkowej kolumnie ( j= i j=n+1) 3. Wpisz na górze każdej kolumny wymagane zapotrzebowanie r j. Jeżeli chcesz uwzględnić w obliczeniach koszt zmiany poziomu zatrudnienia c sprzed rozpoczęcia (dzień zerowy) i pierwszego dnia, zdefiniuj też zapotrzebowanie przed rozpoczęciem zadania c (np.).. Określ maksymalne zatrudnienie (R) na budowie równe maksymalnemu zapotrzebowaniu w okresie obliczeń; R = max(r j ) dla j=1..n.. W każdej kolumnie odpowiadającej kolejnym dniom j narysuj w pionie tyle kółek (nazywanych dalej węzłami), ile może wystąpić poziomów zatrudnienia danego dnia czyli R r j +1. W zerowej i ostatniej kolumnie wstaw tylko po jednym węźle. Nad każdym węzłem postaw krótką pionową kreskę.. Każdy węzeł podziel poziomą kreską. W górnej części każdego węzła wpisz rozpatrywane poziomy zatrudnienia danego dnia u j,u. Zacznij w każdym dniu od góry, wpisując R, niżej R-1, R-2 itd. aż do r j.. W dolnej części każdego węzła wpisz koszt przekroczenia zapotrzebowania Θ j,u odpowiadający założonemu zatrudnieniu u j,u i faktycznemu zapotrzebowaniu danego dnia r j. W zerowej i ostatniej kolumnie wstaw koszt przekroczenia zapotrzebowania Θ j,u = (dla j= i j=n+1). Połącz w sąsiednich kolumnach każdy węzeł z każdym, kierując zwrot strzałki w prawo. 9. Na każdym połączeniu oblicz i wpisz koszt zmiany poziomu zatrudnienia (Ψ u1,u2 ) biorąc pod uwagę poziomy zatrudnienia wpisane w górnej części łączonych węzłów (u1 i u2). Zwróć uwagę na kolejność łączonych węzłów, czyli czy poziom zatrudnienia rośnie czy maleje. Jeżeli nie został określony poziom zatrudnienia przed

rozpoczęciem prac c, na połączeniach między dniem j= i j=1 koszty Ψ u1,u2 przyjmij zero. Na połączeniach między dniem N i N+1 również przyjmij koszty Ψ u1,u2 równe zero. 1. Przy węźle w zerowej kolumnie z lewej strony pionowej kreski wpisz zero. 11. Oblicz tak zbudowany graf od lewej strony do prawej wpisując obliczone wartości K1 j,u z lewej strony pionowej kreski przy każdym węźle. Na każdym połączeniu oblicz k Θ,Ψ będący sumą kosztów Θ j,u (wpisanych w dolnej części węzła, do którego dochodzi połączenie) i Ψ u1,u2 (wpisanych na połączeniu). Obliczona wartość K1 j+1,u to minimum z wszystkich wartości (k Θ,Ψ + wartość K1 j,u czyli z węzła, z którego wychodzi połączenie) występujących na połączeniach dochodzących do danego węzła (dla danego u j+1 ). 12. W ostatnim węźle z prawej strony (w kolumnie z dnia N+1) z prawej strony pionowej kreski węzła wpisz wartość obliczoną z lewej strony (K2 N+1,u = K1 N+1,u ) 13. Oblicz graf od prawej strony do lewej wpisując obliczone wartości K2 j,u z prawej strony pionowej kreski przy każdym węźle. Na każdym połączeniu oblicz sumę kosztów k Θ, Ψ będący sumą kosztów Θ j,u (wpisanych w dolnej części węzła, do którego dochodzi połączenie) i Ψ u1,u2 (wpisanych na połączeniu). Obliczona wartość K2 j,u to maksimum z wszystkich wartości: (K2 j+1,u czyli z węzła, do którego dochodzi połączenie, - k Θ, Ψ ) występujących na połączeniach wychodzących z danego węzła (dla danego u j ). 1. Wyróżnij w każdym dniu węzeł w którym K1 j,u = K2 j,u oraz połączenia łączące wyróżnione węzły. 1. Wartości u j,u z wyróżnionych węzłów wskazują optymalne poziomy zatrudnienia każdego rozpatrywanego dnia x j. Wartość K1 N+1,u = K2 N+1,u wpisana nad skrajnym prawym węzłem wyznacza minimalny koszt zatrudnienia (funkcji celu) przy przyjętych do obliczeń założeniach. Poniżej na rys.1 przedstawiono używane oznaczenia a dalej wzory do wyznaczenia wartości K1 i K2.

j; r j j+1; r j+1 K1 j,u K2 j,u K1 j+1,u K2 j+1,u u j,u Θ j,u Ψ uj,uj+1 u j+1,u Θ j+1,u Rys. 1 Oznaczenia używane na grafie podczas obliczeń K1 j+1,u = min( K1 j,u + Θ j+1,u + Ψ uj,uj+1 ) = min (K1 j,u + k Θ, Ψ ) dla wszystkich u j K2 j,u = max( K2 j+1,u - Θ j+1,u - Ψ uj,uj+1 ) = max (K2 j+1,u - k Θ, Ψ ) dla wszystkich u j+1 Przykłady obliczeniowe Opracowany algorytm został przedstawiony na dwóch przykładach. Pierwszy dotyczy rozwiązania zadania zaczerpniętego ze wspomnianej wcześniej książki Jaworskiego (2). W przykładzie wyróżniono cztery okresy obliczeniowe (N=) oraz w każdym z nich podano wymagane zapotrzebowanie na określony rodzaj środka produkcji wynoszące odpowiednio: r 1 =, r 2 =3, r 3 =, r =2. Koszt przekroczenia wymaganego zapotrzebowania Θ j,u został określony na jednostek nakładów finansowych za przekroczenie każdej jednostki zapotrzebowania (niezależnie od wielkości przekroczenia czyli w postaci funkcji prostoliniowej). Zmiana wielkości limitu zatrudnienia w dwóch kolejnych przedziałach czasu powoduje koszt, którego wielkość można wyrazić formułą : Ψ u1,u2 = + (u2 u1) dla u 2 > u 1 Ψ u1,u2 = dla u 2 < u 1 Ψ u1,u2 = dla u 2 = u 1 Widać, że w tym wypadku funkcja nie jest prostoliniowa i zależy od wielkości różnicy w zatrudnieniu. Jeżeli zatrudnienie obniża poziom, strata wynosi jednostek finansowych niezależnie od wielkości obniżki, jeżeli zatrudnienie wzrasta, wielkość straty finansowej zależy od wzrostu zatrudnienia. Ponadto przyjęto, że poziom zatrudnienia przed rozpoczęciem prac nie wpływa na wynik obliczeń.

Po wyznaczeniu R= jako wartości maksymalnej z wymaganego zatrudnienia w rozpatrywanym okresie czterech dni, narysowano graf (rys.2) zawierający odpowiednią liczbę węzłów w każdym dniu (odpowiadającą rozpatrywanym poziom zatrudnienia w każdym dniu) i zgrupowanych w sześciu kolumnach (cztery dni obliczeniowe plus po jednej kolumnie na początku i na końcu). Na górze każdej kolumny oznaczono numer kolejnego dnia j i wymagane zapotrzebowanie w danym dniu r j. Następnie w każdym węźle opisano w górnej części rozpatrywany poziom zatrudnienia u j,u oraz w dolnej części koszt nadmiernego zatrudnienia Θ j,u. Po połączeniu strzałkami wszystkich sąsiadujących węzłów, obliczono na każdym połączeniu koszt zmiany poziomu zatrudnienia Ψ uj,uj+1. Następnie nadano wartość parametrowi K1,- na pierwszym z lewej strony węźle (j=) i policzono wszystkie wartości K1 j,u zaczynając od lewej strony i przechodząc do prawej. Przykładowo, poniżej podano sposób obliczenia wartości K1 3, (dla j=3 przy poziomie zatrudnienia równym ) : K1 3, = min[(1++); (++) ;(++)] = 12 Znając wartość parametru K1,- = 1 na ostatnim węźle z prawej strony (j=), zainicjowano wartość parametru K2,- = 1 na tym samym węźle. W dalszej części obliczeń wyznaczono wszystkie pozostałe parametry K2 j,u, prowadząc obliczenia od prawej strony do lewej. Przykładowo, poniżej podano sposób obliczenia wartości K2 3, : K2 3, = max[(1-1-); (1-1-); (1--) ;(1--)] = 12 Sprawdzeniem poprawności wykonanych obliczeń może być uzyskanie na węźle dla j= parametru K2,- równego. Znając oba parametry K1 j,u i K2 j,u dla wszystkich węzłów wyróżniono grubą linią wszystkie węzły, w których parametr K1 j,u równy jest K2 j,u i na podstawie wartości u j,u z tych węzłów wyznaczono poszukiwane zatrudnienie każdego dnia. Obliczone wartości zatrudnienia x j zostały wypisane na dole każdej kolumny. Wartość funkcji celu, a więc całkowity koszt przekroczenia zatrudnienia i zmiany poziomów zatrudnienia, równy 1 odczytano jako parametr K1 j,u = K2 j,u dla dnia N+1, czyli w tym wypadku j=. Drugi przykład wykonano dla innych poziomów zatrudnienia i zakładając, że poziom zatrudnienia przed rozpoczęciem robót jest narzucony i wynosi a w obliczeniach należy uwzględnić koszt zmiany zatrudnienia wynikający z pierwszego naboru pracowników. Koszty przekroczenia zapotrzebowania i zmiany poziomu zatrudnienia przyjęto takie same jak w przykładzie nr. 1. Wszystkie obliczenia i ich wyniki zostały zaprezentowane na rys. 3.

K1 j+1,u = min( K1 j,u + Θ j+1,u + Ψ uj,uj+1 ) = min (K1 j,u + k Θ, Ψ ) dla wszystkich u j Rysunek 2. Przykład obliczeniowy nr 1. K2 j,u = max( K2 j+1,u - Θ j+1,u - Ψ uj,uj+1 ) = max (K2 j+1,u - k Θ, Ψ ) dla wszystkich u j+1 j=; j=1; j=2; j=3; j=; j=; r = - r 1 = r 2 =3 r 3 = r =2 r = - 2 1 12 1 12 12 2 1 1 2 1 1 23 1 1 1 - - 3 3 1 1 2 x 1 = x 2 = x 3 = x =2

K1 j+1,u = min( K1 j,u + Θ j+1,u + Ψ uj,uj+1 ) = min (K1 j,u + k Θ, Ψ ) dla wszystkich u j Rysunek 3. Przykład obliczeniowy nr 2. K2 j,u = max( K2 j+1,u - Θ j+1,u - Ψ uj,uj+1 ) = max (K2 j+1,u - k Θ, Ψ ) dla wszystkich u j+1 j=; r = j=1; r1=1 j=2; r2= j=3; r3=2 j=; r= j=; r= - - 11 1 9 31 1 2 2 1 1 19 9 3 1 13 2 9 1 1 1 32 2 1 33 31 1 2 2 3 23 23 2 9 3 31 31 31 31 31-1 x 1 =1 x 2 = x 3 =2 x = 9

Podsumowanie Zaproponowany w artykule algorytm dotyczy optymalnego wyrównania wykresu sprawdzającego zatrudnienia ze względu na kryterium kosztowe składające się z sumy dwóch elementów: kosztu przekroczenia wymaganego zapotrzebowania oraz kosztu zmiany poziomu zatrudnienia na budowie w kolejnych okresach czasu. Takie kryterium rozwiązania zostało zaproponowane przez Jaworskiego (2), rozszerzając tym samym tradycyjne ujęcie polegające na poszukiwaniu równomiernego zatrudnienia nie rozpatrując tego w funkcji kosztów. Zaproponowany sposób wykonania obliczeń zawiera metodykę budowy odpowiedniego grafu, przyjęcia właściwych parametrów obliczeniowych jego poszczególnych elementów, sposób wykonania obliczeń oraz wyznaczenia na ich podstawie poszukiwanych wartości optymalnych i wartości funkcji celu. Proponowany algorytm pozwala wykonać wszystkie niezbędne obliczenia na jednym rysunku, bez potrzeby rozpisywania kolejnych kroków algorytmu dynamicznego w oddzielnych tabelach dla każdego okresu obliczeniowego. Oczywiście, w przypadku konieczności stosowania obliczeń dla większego przykładu wskazane jest opracowanie specjalnego programu komputerowego, jednak przed jego użyciem warto dobrze zrozumieć mechanizm poszukiwania rozwiązania optymalnego, a do tego celu zaproponowany algorytm dobrze się nadaje. Literatura Benjamin J.R., Cornell C.A. (19). Rachunek prawdopodobieństwa statystyka matematyczna i teoria decyzji dla inżynierów. Wydawnictwa Naukowo Techniczne. Warszawa. Jaworski K.M. (2). Podstawy organizacji budowy. Wydawnictwo Naukowe PWN, Warszawa, -1. Korzan B. (19). Elementy teorii grafów i sieci. Metody i zastosowania. Wydawnictwa Naukowo Techniczne. Warszawa. Siudak M. (19). Badania operacyjne. Wydawnictwa Politechniki Warszawskiej, Warszawa. 1