• Nie Znaleziono Wyników

Harmonogramowanie cykliczne w jednostkach opieki zdrowotnej

N/A
N/A
Protected

Academic year: 2021

Share "Harmonogramowanie cykliczne w jednostkach opieki zdrowotnej"

Copied!
11
0
0

Pełen tekst

(1)

HARMONOGRAMOWANIE CYKLICZNE W JEDNOSTKACH

OPIEKI ZDROWOTNEJ

Jarosław PEMPERA

Streszczenie: Praca poświęcona jest planowaniu wizyt lekarskich w dużych jednostkach opieki zdrowotnej realizującej kompleksowe badania i porady obejmujące wielu specjalistów. W pracy proponujemy unikalny sposób planowania oparty na strategii cyklicznej, którego głównym celem jest zwiększenie liczby porad lekarskich w ciągu zadanego okresu czasu. Wstępne wyniki badań eksperymentalnych dedykowanego algorytmu optymalizacyjnego pokazują, że zastosowanie tej strategii pozwala na realizację kompleksowych badań w dość krótkim czasie, zwiększenie liczby wizyt lekarskich oraz zmniejszenie liczby pacjentów przebywających jednocześnie w budynkach jednostki opieki zdrowotnej.

Słowa kluczowe: harmonogramowanie cykliczne, optymalizacja, algorytmy.

1. Wstęp

Podstawowym celem opieki zdrowotnej jest dbanie o kondycję zdrowotną społeczeństwa. Odbywa się ono na dwóch etapach: profilaktyka (zapobieganie chorobom) oraz leczenie. Z długoletniego doświadczenia różnych systemów opieki zdrowotnej w różnych krajach wynika, że profilaktyka jest znacznie tańsza od kosztów leczenia chorób. Oprócz wspomnianych oczywistych korzyści finansowych dla podmiotów finansujących opiekę zdrowotną, korzyści (z reguły trudne do zmierzenia) osiągane są na poziomie osobistym, zakładów pracy oraz budżetu państwa (finansującego między innymi opiekę zdrowotną).

Dobra kondycja zdrowotna kluczowych pracowników w przedsiębiorstwach jest istotnym elementem poprawnego ich funkcjonowania, w ekstremalnych przypadkach nawet istnienia. Z tego względu wiele firm finansuje lub wspiera różnego rodzaju zajęcia sportowe. Innym elementem profilaktyki finansowanym przez przedsiębiorstwa są kompleksowe badania okresowe.

Realizacja kompleksowych badań diagnostycznych jest atrakcyjną formą działalności dla zakładów opieki zdrowotnej. Wymaga stosunkowo niewielkich inwestycji w sprzęt diagnostyczny oraz w wyposażenie gabinetów specjalistycznych. Z tego względu wiele jednostek opieki zdrowotnej oferuje tego typu usługi. Duża podaż jednostek oferujących badania diagnostyczne powoduje ujednolicenie cen usług na stosunkowo niskim poziomie. Wobec braku możliwości obniżki cen zakłady konkurują jakością obsługi pacjentów poprzez minimalizację czasu przeprowadzenia badań oraz dostosowanie terminu badań do preferencji klientów. Niestety, przeprowadzenie kompleksowych badań lekarskich dla dużej liczby pacjentów generuje znaczne problemy dotyczące planowania konkretnych wizyt lekarskich. Pomocne w tym mogą być komputerowe systemy wspomagające planowanie.

W literaturze problemy harmonogramowania w systemach opieki zdrowotnej rozważane są od wielu lat [1-3]. Największa liczba publikacji poświęcona jest harmonogramowaniu pracy pielęgniarek. W pracy [1], do rozwiązania problemu harmonogramowania pracy pielęgniarek, wykorzystano algorytm oparty na metodzie przeszukiwania z zabronieniami.

(2)

Cykliczne harmonogramowanie pracy pielęgniarek było rozważane w pracy [2]. W literaturze rozważana są również wielokryterialna optymalizacja pracy personelu medycznego uwzględniająca ograniczenia miękkie (preferencje) i twarde (muszą być spełnione) [3]. Do najnowszych prac dotyczących harmonogramowaniu w systemach opieki zdrowotnej należy praca poświęcona zastosowaniu algorytmów genetycznych [4] oraz harmonogramowaniu uwzględniającemu preferencje pacjentów [5].

2. Planowanie cykliczne

W harmonogramowaniu cyklicznym okres planowania podzielony jest na jednakowe odcinki czasu zwane cyklami. W każdym cyklu wykonywane są identyczne czynności. Plan wykonywania czynności dla pojedynczego cyklu powielany jest na wszystkie cykle w okresie planowania.

Planowanie cykliczne jest jedną z najbardziej przyjaznych człowiekowi metod organizacji czasu pracy oraz nauki. W praktyce na wszystkich etapach edukacji stosowane jest planowanie cykliczne, w którym tygodniowy plan zajęć powielany jest na wszystkie tygodnie semestru. Strategię cykliczną w naturalny sposób stosuje się w organizacji czasu pracy nauczycieli, stosowana jest również powszechnie w organizacji pracy służb wymagających nadzoru całodobowego takich jak: straż pożarna, policja, służba zdrowia, pogotowie gazowe, wodociągowe, firmy ochroniarskie itp.

Harmonogramowanie cykliczne pozwala na znaczące poprawienie efektywności wykorzystania czasu zawodowego i osobistego, przez poszczególne osoby, ponieważ umożliwia łatwe zsynchronizowanie innych zajęć. Kolejną pozytywną cechą strategii cyklicznej jest możliwość ciągłej poprawy tj. błędy zauważone podczas realizacji czynności w pierwszym cyklu mogą być wyeliminowane w kolejnych cyklach.

Obserwując organizację zajęć szkolnych można zauważyć, że już dla nastolatków nauka organizacji czasu zajęć znacząco różniących się przedmiotów w ciągu jednego dnia nie stwarza najmniejszych problemów. Niestety, w rzeczywistości ta ogólnoludzka cecha jest rzadko wykorzystywana w procesie planowania czasu pracy ludzi. W zdecydowanej większości firm, w szczególności administracji, pracownicy wykonują zadnia z wąskiego zakresu swoich kompetencji. Oczywiście z biegiem czasu poprawiają efektywność ich wykonania, niestety w przypadku absencji pracownika, w firmie pojawiają się trudności ze znalezieniem zastępcy. Najlepszym sposobem na efektywne wykonywanie przez pracowników różnorodnych zadań wchodzących w zakres ich kompetencji jest planowanie cykliczne, w którym pracownicy co zadany okres czasu zamieniają się wykonywanymi zadaniami.

Harmonogramowanie cykliczne, jako strategia planowania, może być również wykorzystana w harmonogramowaniu kompleksowych badań diagnostycznych. W tym przypadku znacząco można uprościć obieg dokumentacji lekarskiej, zmniejszyć czas czekania przed gabinetami lekarskimi oraz liczbę pacjentów przebywających jednocześnie w budynkach zakładu opieki zdrowotnej.

3. Sformułowanie problemu optymalizacyjnego

W zakładzie opieki zdrowotnej w okresie planowania obejmującym jeden dzień należy wykonać określoną liczbę kompleksowych badań specjalistycznych. Kompleksowe badania ze względu na cel podzielone są na typy. Wszystkie badania należące do tego samego typu są identyczne tj. wymagają wizyt u tych samych lekarzy specjalistów oraz wykonania tych

(3)

samych badań laboratoryjnych. Dla każdego typu badań dana sekwencja określająca kolejność wizyt oraz dany jest czas każdej z wizyt. W dowolnej chwili lekarz może udzielać porady tylko jednemu pacjentowi oraz pacjent może być tylko u jednego lekarza.

W cyklicznej strategii planowania, ze zbioru wszystkich pacjentów w okresie planowania wyznacza się podzbiór MPS (ang. minimal part set). Zbiór MPS zawiera minimalną liczbę pacjentów taką, że dla każdego typu diagnostyki udział procentowy pacjentów w zbiorze MPS jest identyczny z udziałem procentowym w zbiorze wszystkich pacjentów objętych procesem planowania. Harmonogram wyznaczony dla pojedynczego zbioru MPS powielany jest w następnych cyklach aż do momentu obsługi wszystkich pacjentów. Celem optymalizacji jest wyznaczenie harmonogramu cyklicznego o najkrótszym czasie cyklu.

Oznaczmy przez = (1, … , ) zbiór badań kompleksowych realizowanych dla pacjentów ze zbioru MPS oraz przez = {1, … , } zbiór specjalistów oraz laboratoriów medycznych. Badanie pacjenta ∈ generuje ciąg składający się wizyt ze zbioru = ( , , … , , ), gdzie wizyta , ∈ , = 1, … , jednoznacznie opisana jest przez

gabinet lekarski lub laboratorium medyczne. W pojedynczym cyklu należy zaplanować = ∑ wizyt lekarskich.

Harmonogram realizacji wizyt lekarskich możemy opisać przy pomocy momentów ich rozpoczęcia i zakończenia. Niech , ( ,) oznacza moment rozpoczęcia (zakończenia)

realizacji wizyty -tej wizyty pacjenta ∈ . Sekwencja realizacji wizyt przypisana pacjentowi ∈ wymusza na planie wizyt następujące zależności :

, ≥ , = 2, … , , (1)

co oznacza, że kolejna wizyta może rozpocząć się dopiero po zakończeniu wizyty poprzedniej. Moment rozpoczęcia wizyty i jej zakończenia związany jest zależnością:

, = , + , ∈ , = 2, … , . (2)

W specjalistycznych gabinetach lekarskich oraz laboratoriach medycznych badania wykonywane są w zadanej kolejności. Niech permutacja = ( (1), … , ( )) oznacza kolejność wykonywania wizyt w gabinecie , ∈ . Elementami permutacji są pary ( ) = ( ( ), ( )), = 1, … , identyfikujące pacjenta ( ) oraz numer wizyty ( ) tego pacjenta. Wykonywanie wizyt zgodnie z zadaną kolejnością wymaga spełnienia następującego warunku:

( )≥ ( ) = 2, … , . (3)

Dodatkowo w harmonogramie cyklicznym wymaga się, aby momenty rozpoczęcia wykonywania odpowiadających sobie operacji w dwóch kolejnych cyklach były oddalone od siebie o stały interwał czasowy zwany czasem cyklu. Oznaczmy dodatkowym indeksem górnym identyfikator cyklu tj. niech , ( ,) oznacza moment rozpoczęcia (zakończenia) -tej wizyty -tego pacjenta w cyklu . Ostatecznie otrzymujemy następujące ograniczenie :

, = , +  , = 1, … , , = 2, …, (4)

gdzie jest czasem cyklu. Dla zadanej kolejności , minimalny okres dla którego spełnione są wymagania (1-4) będziemy oznaczali symbolem ( ).

(4)

Tabela 1. Czasy trwania wizyt lekarskich dla różnych typów badań [min]

Specjalista Typ 1 Typ 2 Typ 3

Okulista 14 14

Rentgen 10 10

Laryngolog 18 6

Orzecznik 18 18

Celem optymalizacji jest wyznaczenie kolejności realizacji wizyt w pojedynczym cyklu opisanej przez ∗ takiej, że ( ∗) jest najmniejsze z możliwych.

3.1. Przykład

Zakład opieki zdrowotnej realizuje w pewnym okresie planowania dwa typy złożonych badań diagnostycznych. Pierwszy typ badań obejmuje: (1) badania okulistyczne, (2) prześwietlenie klatki piersiowej, (3) badania laryngologiczne oraz (4) wizytę u orzecznika. Drugi typ badań nie zawiera prześwietlenia klatki piersiowej. Dodatkowo, na zlecenie innego podmiotu opieki zdrowotnej przeprowadzane są dodatkowe prześwietlenia rentgenowskie. W Tabeli 1 przedstawiono czasy trwania wizyt. Liczba pacjentów dla każdego typu badań jest jednakowa, zatem MPS składać się będzie z trzech pacjentów reprezentujących wszystkie typy badań.

Na początku rozważmy harmonogram wizyt generowany przez pacjentów obsługi-wanych według zasady ”kto pierwszy ten lepszy”. Załóżmy, że gabinety lekarskie rozpoczynają pracę o godzinie 800 oraz pierwszym pacjentem w zakładzie opieki zdrowotnej

jest pacjent wymagający pierwszego typu badań. Wizyta u okulisty rozpocznie się o godzinie 800, a zakończy o godzinie 814 . O godzinie 814 rozpocznie się wizyta w pracowni

rentgenowskiej oraz pierwsza wizyta pacjenta reprezentującego drugi typ badań u okulisty. Wizyty skończą się odpowiednio o godzinie 824 (pierwszy pacjent) oraz o godzinie 828 (drugi

pacjent). Pacjent reprezentujący trzeci typ badań rozpocznie swoją jedyną wizytę o godzinie 824 i zakończy o godzinie 834. Przed gabinetem laryngologa pierwszy będzie pacjent 1. Jego

wizyta rozpocznie się o godzinie 824, a zakończy o godzinie 842. Wizyta pacjenta 2

rozpocznie się niezwłocznie po zakończeniu wizyty pacjenta 1 i zakończy o godzinie 848 .

Wizyty w gabinecie orzecznika odbędą się w tej samej kolejności, niezwłocznie jedna po drugiej. Wizyta pierwszego pacjenta rozpocznie się o godzinie 842, zakończy się o godzinie

900, wizyta drugiego pacjenta zakończy się o godzinie 918. Harmonogram wizyt został

rozpisany w Tabeli 2 oraz zilustrowany na Rysunku 1.

Prześledźmy czas czekania pacjentów przed gabinetami lekarskimi. Pacjent 1 nie czeka przed żadnym gabinetem, natomiast pacjent 2 łącznie oczekuje 26 jednostek czasu tj. 14 przed gabinetem laryngologa oraz 12 przed gabinetem orzecznika. Realizacja wszystkich badań zakończy się po 78 minutach.

Tabela 2. Harmonogram wizyt lekarskich wariant 1

Specjalista Typ 1 Typ 2 Typ 3

Okulista 800-814 814-828

Rentgen 814-824 824-834

Laryngolog 824-842 842-848

(5)

Rys. 1. Harmonogram wizyt wariant 1

Rozpatrzmy teraz harmonogram realizacji wizyt, w którym w gabinecie laryngologa i orzecznika najpierw odbędzie się wizyta pacjenta 2 a potem pacjenta 1. Oczywiście kolejność ta w przypadku pacjenta 1 jest niekorzystana. Harmonogram wizyt został przedstawiony w Tabeli 3 oraz zilustrowany na Rysunku 2. W tym przypadku pacjent 2 nie czeka przed gabinetami lekarskimi, natomiast pacjent 1 tylko przed gabinetem laryngologa 10 minut. Biorąc pod uwagę ogół obsługiwanych pacjentów drugi harmonogram jest bardziej korzystny, ponieważ w sumie mniej oni czekają w kolejkach. Dodatkowo skrócony jest czas realizacji wszystkich wizyt, który wynosi 70 minut.

Tabela 3. Harmonogram wizyt lekarskich wariant 2

Specjalista Typ 1 Typ 2 Typ 3

Okulista 800-814 814-828

Rentgen 814-824 824-834

Laryngolog 834-852 828-834

Orzecznik 852-910 834-852

Cykliczny harmonogram realizacji wizyt lekarskich dla kolejności z wariantu 2 został przedstawiony na Rysunku 3. Harmonogram przedstawia dwa pełne cykle oraz fragment trzeciego. Czas cyklu wynosi 36 minut. Najbardziej obciążonym lekarzem jest orzecznik. W ośmiogodzinnym dniu pracy tego typu cykli można zrealizować 12 tj. przeprowadzić badania dla 36 pacjentów. W budynkach zakładu jednocześnie przebywa co najwyżej 4 pacjentów przy czym tylko jeden czeka przed gabinetem.

4. Algorytmy optymalizacyjne

Sformułowany w pracy problem optymalizacyjny jest rozważany od wielu lat przez badaczy zajmujących się szeregowaniem zadań produkcyjnych. W szczególności harmonogramowanie wizyt sprowadza się do harmonogramowania wykonywania operacji w gniazdowym systemie produkcyjnym. Harmonogramowanie cykliczne, jak do tej pory,

(6)

Rys. 2. Harmonogram wizyt wariant 2

Rys. 3. Harmonogram cykliczny realizacji wizyt

pomimo ewidentnych korzyści rzadko jest obiektem badań naukowców. Spowodowane jest to trudnościami w modelowaniu oraz konstruowaniu efektywnych algorytmów optymalizacyjnych dla tego typu funkcji kryterialnych.

Komputerowe systemy wspomagające planowanie wykorzystują uniwersalne moduły optymalizacyjne lub dedykowane moduły zawierające wyspecjalizowane algorytmy heurystyczne oparte na metodach sztucznej inteligencji. W przypadku systemów pierwszego typu należy zdefiniować model obliczeniowy, najczęściej w formie zdania programowania całkowito liczbowego lub mieszanego zadania całkowitoliczbowego. Dla zadań o niewielkich rozmiarach pakiety te generują rozwiązania dokładne w rozsądnym czasie obliczeń. Systemy należące do drugiej grupy używane są w przypadku instancji o dużych rozmiarach. W konstrukcji dedykowanych algorytmów optymalizacyjnych wykorzystywane są własności problemów w celu poprawienia ich efektywności.

(7)

W przypadku rozważanego w pracy problemu optymalizacyjnego można zastosować modele zaproponowane w pracy [7]. Badania przeprowadzone przez autorów wskazują, że zastosowanie komercyjnych pakietów optymalizacyjnych może być zastosowane jedynie dla przykładów o małych instancjach. Algorytmy przeszukiwań lokalnych dla problemów cyklicznych po raz pierwszy zastosowano w pracy [8]. Praca poświęcona jest cyklicznemu problemowi gniazdowemu z ograniczeniem bez magazynowania do którego rozwiązania zaproponowano algorytm oparty na metodzie przeszukiwania z zabronieniami.

Algorytmy heurystyczne oparte na metodach sztucznej inteligencji należą w zdecydowanej większości do algorytmów przeszukiwań przestrzeni rozwiązań. Z tego względu wymagają zdefiniowania postaci rozwiązania oraz metody wyznaczenia wartości funkcji kryterialnej. W harmonogramowaniu wizyt lekarskich rozwiązanie reprezentowane jest w postaci zbioru permutacji. Permutacja określa kolejność wizyt w danym gabinecie lekarskim dla pojedynczego cyklu. Dla zadanej kolejności realizacji wizyt czas cyklu można oszacować (i\lub) wyznaczyć dokładnie wyznaczając najdłuższe drogi pomiędzy odpowiednimi węzłami w cylindrycznym grafie modelującym cykliczny problem gniazdowy zaproponowany w pracy [9]. W oparciu o najdłuższą ścieżkę wokół cylindra w tym grafie, którą będziemy nazywali ścieżką krytyczną, można wyznaczyć bloki wizyt (blok – ciąg wizyt realizowanych bez przerw) oraz wykorzystać tzw. Twierdzenie blokowe [10] w konstrukcji algorytmów optymalizacyjnych. Jednym z najefektywniejszych algorytmów dla problemu gniazdowego z kryterium minimalizacji czasu zakończenia wszystkich zadań jest algorytm przeszukiwania z zabronieniami TSAB zaproponowany w pracy [11,12].

Ogólnie mówiąc, w każdej iteracji algorytm TSAB generuje sąsiedztwo bieżącego rozwiązania. Z sąsiedztwa wybierane jest najlepsze niezabronione rozwiązanie. Staje się ono rozwiązaniem bieżącym w kolejnej iteracji algorytmu. Mechanizm zabronień realizowany przy pomocy pamięci krótkoterminowej zawierającej pewne informacje dotyczącej historii generowanych rozwiązań bazowych. Z pewnych zabronionych rozwiązań może być zdjęty status zabronienia, w szczególności są to rozwiązania lepsze od najlepszego dotychczas znalezionego. Pamięć historii przeszukiwań najczęściej implementowana jest w postaci listy o ograniczonej długości. Zawartość listy określa cechy rozwiązania zabronionego. Algorytm kończy działania po wykonaniu zadanej liczby iteracji.

W algorytmie TSAB rozwiązania sąsiednie dla danego rozwiązania bieżącego generowane są w następujący sposób:

 w cylindrycznym grafie wyznacza się ścieżkę krytyczną (ścieżkę wokół cylindra),  w ścieżce wyznaczane są bloki,

 w każdym bloku wyznaczana jest pierwsza i ostatnia wizyta.

Bazując na wszystkich wizytach wyznaczonych w trzecim kroku generowane są rozwiązania sąsiednie. W przypadku wizyty, która jest pierwsza w bloku przez zamianę z następną wizytą w bloku, natomiast w przypadku wizyty, która jest ostatnią w bloku przez zamianę z przedostatnią wizytą w bloku. Sposób generowania rozwiązań sąsiednich został zilustrowany na Rysunku 4. Pogrubioną linią oznaczono ścieżkę krytyczną.

W każdej iteracji algorytmu na podstawie zamiany wizyt oraz generującej najlepsze niezabronione rozwiązanie w sąsiedztwie rozwiązania bazowego, do listy zabronień dodawana jest para ( , ). Po wykonaniu iteracji algorytmu lista tabu jest pełna, w kolejnych iteracjach obsługiwana jest zgodnie z regułą FIFO. Wszystkie rozwiązania sąsiednie wygenerowane przez zamianę par wizyt znajdujących się na liście zabronień są zabronione.

(8)

Rys. 4. Generowanie rozwiązań sąsiednich 5. Badanie eksperymentalne

Głównym celem badań eksperymentalnych była ocena efektywności algorytmu TS. Ocenie poddane zostały dwie cechy: jakość generowanych rozwiązań oraz czas obliczeń. Algorytm został zaimplementowany w języku C++ w środowisku Visual Studio 2010. Badania przeprowadzono na komputerze osobistym zarządzanym przez system operacyjny Windows 7 wyposażonym w procesor Intel taktowany zegarem o częstotliwości 2GHz.

Ze względu na brak literaturowych przykładów testowych, zostały one wygenerowane w sposób losowy. Zbiór przykładów testowych składa się z dwóch zestawów, każdy zestaw składa się z 20 grup różniących się liczbą specjalistów , ∈ { 2,3,5,10} oraz liczbą typów

, ∈ {2, 3, 5, 10, 20}. W każdej grupie znajduje się 10 instancji testowych.

Każdy typ reprezentowany jest przez jednego pacjenta, każdy pacjent odwiedza wszystkich specjalistów. Sekwencja wizyt oraz czas wizyt dla każdego pacjenta została wygenerowana losowo, przy czym czas trwania wizyt w przypadku pierwszego zestawu generowany był z dokładnością jednego kwadransu w zakresie od 1 do 4, natomiast w drugim zestawie z dokładnością do 5 minut z zakresu od 5 minut do 1 godziny.

Początkową kolejność realizacji wizyt wyznaczono algorytmem konstrukcyjnym opartym na metodzie wstawień [11].

5.1. Ocena jakości generowanych rozwiązań

Proponowany w pracy algorytm TS jest algorytmem heurystycznym, zatem nie gwarantuje on znalezienia rozwiązania optymalnego. Najlepszym sposobem na ocenę jakości generowanych rozwiązań przez algorytmy heurystyczne jest porównanie wartości funkcji celu wyznaczoną dla tych rozwiązań z wartością funkcji celu rozwiązań optymalnych. Ze względu na duży czas działania algorytmu dokładnego w przypadku instancji o dużych rozmiarach wyznaczenie rozwiązania optymalnego w większości przypadków nie jest możliwe. Innym sposobem jest porównanie wartości funkcji celu wygenerowanego rozwiązania z dolnym oszacowaniem na wartość optymalną.

Z oczywistych względów czas cyklu nie może być krótszy od sumy czasów wizyt realizowanych przez specjalistę. Zatem naturalnym dolnym oszacowaniem optymalnej wartości czasu cyklu jest maksymalna taka suma. Oznaczmy przez

(9)

 ( ) – dolne oszacowania czasu cyklu dla instancji wyznaczone wyżej opisaną metodą,

 ( ) – długość czasu cyklu najlepszego rozwiązania znalezionego przez algorytm TS.

Jakość rozwiązania wygenerowanego przez algorytm TS dla instancji definiujemy w następujący sposób:

( ) = ( ) − ( )

( ) ∙ 100%.

Oczywiście dla wszystkich instancji, dla których ( ) = 0 algorytm TS znalazł rozwiązanie dokładne, natomiast dla ( ) > 0 rozwiązanie znalezione przez TS może być optymalne.

5.2. Wyniki badań eksperymentalnych

Algorytm TS uruchomiono na 10000 iteracji z długością listy zabronień 9. Algorytm kończył działanie po wykonaniu zadanej liczby iteracji lub po znalezieniu rozwiązania o długości czasu cyklu równej dolnemu oszacowaniu. Dla każdej instancji oprócz najlepszego rozwiązania (długości czasu cyklu) zapamiętano:

 ( ) - czas działania algorytmu do znalezienia najlepszego rozwiązania,  ( ) - czas działania algorytmu.

W oparciu o wyniki zebrane podczas badań eksperymentalnych dla każdej grupy instancji wyznaczono: – wartość średnią współczynnika , średni udział procentowy rozwiązań optymalnych (w sensie porównania z ), – średni czas znalezienia rozwiązania najlepszego, – maksymalny czas działania algorytmu wyznaczony dla wszystkich instancji w grupie.

Wyniki badań komputerowych zostały zebrane w Tabeli 4. Z analizy rezultatów badań wnioskujemy, że w zdecydowanej większości instancji znaleziono rozwiązania o długości czasu cyklu równej dolnemu ograniczeniu. Wszystkie instancje należące do grup, w których liczba specjalistów równa się 2 znaleziono rozwiązania optymalne. Podobna sytuacja ma miejsce w przypadku instancji (grup instancji), w których liczba pacjentów jest większa od liczby specjalistów. Dla instancji, w których liczba specjalistów jest większa od liczby pacjentów współczynnik osiąga wartość średnio bliską 200%. Spowodowane jest to przede wszystkim słabą jakością dolnego oszacowania.

Należy jednak podkreślić, że w rzeczywistych systemach opieki zdrowotnej liczba pacjentów w zbiorze MPS jest znacznie większa od liczby specjalistów, zatem w tym przypadku spodziewane jest generowanie rozwiązań optymalnych przez algorytm TS. Co więcej, harmonogramy generowane w ten sposób pozwolą na szybką identyfikację specjalisty najbardziej obciążonego pracą. Porównując rezultaty badań można zauważyć, że w przypadku zestawu 2 błędy algorytmu TS są mniejsze.

Czas znalezienia rozwiązania najlepszego przez algorytm TS dla instancji o rozmiarach występujących w rzeczywistości ( ≤ 5), średnio nie przekracza 0,1 sekundy, natomiast w najgorszym przypadku nie jest większy od jednej sekundy. Algorytm TS najdłużej działał dla danych z grup: { 2 × 10, 3 × 10, 5 × 10, 10 × 10}. Dla wymienionych grup algorytm nie znalazł rozwiązań o wartości równej dolnemu ograniczeniu, zatem w każdym przypadku wykonał 10000 iteracji. Analizując maksymalny czas działania algorytmu możemy zauważyć, że rośnie on wraz ze wzrostem liczby pacjentów. Wartość średnia czasu znalezienia rozwiązania najlepszego, poza grupą 10 × 10, podobnie jak poprzednio nie

(10)

Tabela 4. Względny błąd oraz czas działania algorytmu TS × Zestaw 1 Zestaw 2 2 × 2 0,0 100 0,0 0,0 0,0 100 0,0 0,0 3 × 2 0,0 100 0,0 0,0 0,0 100 0,0 0,0 5 × 2 0,0 100 0,0 0,0 0,0 100 0,0 0,0 10 × 2 0,0 100 0,0 0,0 0,0 100 0,0 0,0 20 × 2 0,0 100 0,0 0,0 0,0 100 0,0 0,0 2 × 3 4,9 70 0,0 0,1 5,4 60 0,0 0,0 3 × 3 13,7 50 0,0 0,1 5,2 70 0,0 0,1 5 × 3 0,0 100 0,0 0,0 0,7 90 0,0 0,1 10 × 3 0,0 100 0,0 0,0 0,0 100 0,0 0,0 20 × 3 0,0 100 0,0 0,0 0,0 100 0,0 0,0 2 × 5 50,6 20 0,0 0,2 43,3 20 0,0 0,1 3 × 5 36,0 10 0,0 0,2 32,7 0 0,0 0,2 5 × 5 9,5 30 0,0 0,3 6,0 40 0,0 0,3 10 × 5 0,0 100 0,0 0,0 0,0 100 0,0 0,0 20 × 5 0,0 100 0,0 0,0 0,0 100 0,0 0,0 2 × 10 151,7 0 0,0 1,1 194,8 0 0,0 1,1 3 × 10 134,3 0 0,0 1,3 111,8 0 0,0 1,3 5 × 10 69,5 0 0,0 1,8 67,9 0 0,0 2,0 10 × 10 18,6 0 1,2 3,2 15,7 0 0,9 3,3 20 × 10 0,0 100 0,8 3,2 0,0 100 0,2 0,4

przekracza 0.1 sekundy. Oznacza to, że najlepsze rozwiązania znajdywane były przez TS stosunkowo niedużej liczbie iteracji. Krótki czas działania algorytmu w pełni predysponuje jego użycie w komputerowych systemach wspomagających planowanie wizyt lekarskich w zakładach opieki zdrowotnej oferujących kompleksowe badania lekarskie.

6. Podsumowanie

W pracy zaproponowano nowe podejście do planowania wizyt lekarski realizowanych w ramach kompleksowych badań. Podejście to opiera się na strategii harmonogramowania cyklicznego. Sformułowano problem optymalizacyjny oraz pokazano sposób adaptacji znanego algorytmu opartego na przeszukiwaniu z zabronieniami. Wyniki badań eksperymentalnych przeprowadzonych na instancjach składających się z wielu typów badań kompleksowych potwierdzają wysoką skuteczność algorytmu.

Dla większości wygenerowanych przykładów testowych znaleziono rozwiązania optymalne. Czas działania algorytmu nawet dla danych testowych o największych rozmiarach (najprawdopodobniej nie występujących w rzeczywistości) nie przekraczał kilkudziesięciu sekund, zatem może być wykorzystany w implementacji systemów informatycznych wspomagających harmonogramowanie kompleksowych badań.

(11)

W pracy pokazano, że zastosowanie cyklicznego harmonogramowania pozwala, w przypadku kompleksowych badań lekarskich realizowanych przez wielu lekarzy i/lub laboratoriów, na zmniejszenie czasu oczekiwania przed gabinetami lekarskimi, skrócenie czasu przebywania pacjentów w placówce, zmniejszenie liczby pacjentów w pomieszczeniach zakładu opieki zdrowotnej, w szczególności czekających przed gabinetami oraz zwiększenie liczby wizyt realizowanych w ciągu jednego dnia.

Praca została częściowo sfinansowana ze środków Narodowego Centrum Nauki przyznanych na podstawie decyzji numer DEC-2012/05/B/ST7/00102.

Literatura

1. Dowsland K. A.: Nurse scheduling with tabu search and strategic oscillation. European Journal of Operational Research, 106, 2–3, 1998, 393–407.

2. Rosenbloom E.S., Goertzen N.F.: Cyclic nurse scheduling. European Journal of Operational Research, 31, 1, 1987, 19–23.

3. Berrada I., Ferland J.A., Michelon P.: A multi-objective approach to nurse scheduling with both hard and soft constraints. Socio-Economic Planning Sciences, 30, 3, 1996, 183–193.

4. Aickelin U., Dowsland K. A.: An indirect Genetic Algorithm for a nurse-scheduling problem. Computers & Operations Research, 31, 5, 2004, 761–778.

5. Holte M., Mannino C.: The implementor/adversary algorithm for the cyclic and robust scheduling problem in health-care. European Journal of Operational Research, 226, 3, 1 2013, 551-559

6. Samorani M., LaGanga L.R.: Outpatient appointment scheduling given individual day-dependent no-show predictions. European Journal of Operational Research, 240, 1, 1, 2015, 245-257.

7. Kampmeyer T., Cyclic Scheduling Problems, Ph. D. Thesis, University Osnabruck, 2006.

8. Brucker P., Kampmeyer T., Cyclic job shop scheduling problems with blocking. Annals of Operations Research, 2008, 159, 161–181.

9. Smutnicki C. Wytwarzanie cykliczne. Optymalizacja dyskretna w informatyce, automatyce i robotyce. Oficyna Wydawnicza Politechniki Wrocławskiej, Wrocław 2012.

10. Grabowski J., Nowicki E., Smutnicki C. Metoda blokowa w zagadnieniach szeregowania zadań. Akademicka Oficyna Wydawnicza EXIT, Warszawa 2003. 11. Nowicki E., Smutnicki C., A Fast Taboo Search Algorithm for the Job Shop Problem,

Management Science 1996, 42, 6, 797 – 813.

12. Nowicki E., Smutnicki C.: An Advanced Tabu Search Algorithm for the Job Shop Problem. Journal of Scheduling, 2005, 8/ 2, 145–159.

Dr inż. Jarosław PEMPERA

Katedra Automatyki, Mechatroniki i Systemów Sterowania Politechnika Wrocławska

Wybrzeże Wyspiańskiego 27 50-370, Wrocław

Cytaty

Powiązane dokumenty

CHALMERS UNIVERSITY OF TECHNOLOGY DEPARTMENT OF NAVAL ARCHITECTURE.. AND MARINE ENGINEERING GOTHENBURG

resistance force depends on the constitutive behaviour of the cover material, the radius of the idler roll, the vertical force due to the weight of the belt and the bulk

D³ugo zastanawia³em siê, jaka jest myœl przewodnia tego albumu, co decyduje o piêknie minera³ów oraz dlaczego te z P³óczek Górnych s¹ tak uwielbiane.. Doszed³em do wniosku,

Poz.. Opis bibliograficzny tego czasopism a je st pow tórzeniem poz. ukazało się 10 num erów tego miesięcznika. Zw iastun Obecności C hrystusa. Chicago,

Thermal and differential analysis (TDA) is often used as a tool for qu- antitative estimation of solidification parameters of alloys (e.g. tempe- ratures corresponding to the

Biorąc pod uwagę cele, jakie ma spełniać podstawo- wa opieka zdrowotna w systemie ochrony zdrowia, ważną i znaczącą funkcją dla poprawy zdrowia społeczeństwa wydaje

Inżyniersko-geologiczne środowisko zapory zbiornika wodnego oddziela od środowiska geolo-.. gicznego powierzchnia 2

The minerails were encountered In the quartz ~ chlorite veins with sphalerite - chalco- pyrite mineralization.. Results of the