Tworzenie harmonogramu pracy jest zadaniem skomplikowanym. Przede wszystkim, poprawny harmonogram musi być zgodny z przepisami prawa pracy. Dla każdego pracownika należy zadbać, aby czas pracy w harmonogramie był zgodny z zapisami posiadanej umowy. Pracownik musi mieć zapewnioną odpowiednią liczbę godzin odpoczynku dobowego, odpoczynku tygodniowego, musi być zapewniona odpowiednia liczba dni wolnych od pracy. Często spotykane są także indywidualne prośby od pracowników dotyczące układanego harmonogramu. Spełnienie powyższych wymagań nakłada dużo ograniczeń na możliwe układy harmonogramu, oraz zobowiązuje osobę układającą harmonogram do weryfikacji każdej wersji harmonogramu. Weryfikacja harmonogramu jest dodatkowo utrudniona przez fakt, że zgodność z przepisami prawa musi zachodzić w zdefiniowanym okresie rozliczeniowym, który, w przypadku szpitali, rzadko wynosi jeden miesiąc.
Celem naszego projektu jest wsparcie przy układaniu harmonogramu pracy. Na podstawie wyników eksperymentalnych prac rozwojowych stworzymy narzędzie, które będzie kompleksowo wspierało proces tworzenia harmonogramów. W tym celu konieczne jest opracowanie dwóch algorytmów.
Algorytm do automatycznego generowania harmonogramu będzie miał otwarty model ograniczeń i będzie pozwalał na dodawanie do niego dowolnej ilości czynników wpływających na decyzję o obsadzeniu poszczególnych zmian wraz z ich wagą, lub wykluczenia dowolnych czynników. Harmonogram pracy, wygenerowany przez algorytm, powinien zapewnić skuteczną pracę na oddziale, przy zapewnieniu bezpieczeństwa pacjentom.
Algorytm do zmian w harmonogramie będzie miał za zadanie adaptację istniejącego harmonogramu do nowych warunków. Będzie on analizował harmonogramy w podobnym zakresie jak algorytm generujący harmonogramy, ale istotne będzie, aby zmieniony harmonogram nie różnił się w dużym stopniu od pierwotnego. Nowy harmonogram powinien w minimalnym stopniu zmieniać obsadę na poszczególnych zmianach.