OptiSlots
System Optymalizacji Ewolucyjnej Harmonogramów
Głównym celem biznesowym jest dostarczenie systemu, który zwiększa efektywność procesu tworzenia harmonogramu oraz zwiększa satysfakcję klientów. Cel zostanie osiągnięty poprzez dostarczenie platformy umożliwiającej prowadzenie asynchronicznej rejestracji opartej na preferencjach partycypantów. Sukces projektu będzie mierzony dwiema głównymi metrykami: wzrostem ogólnej satysfakcji użytkowników (weryfikowanym za pomocą ankiet) oraz redukcją liczby zgłoszeń wymagających ręcznych poprawek w gotowych harmonogramach. System powinien być responsywny (czas odpowiedzi <1 sekunda) a dane powinny być poprawne (liczba błędnych wpisów w bazie danych < 2%).
Obecne procesy tworzenia harmonogramów w organizacjach, takich jak uczelnie wyższe czy duże firmy, często opierają się na nieefektywnych i niesprawiedliwych metodach, jak np. model "kto pierwszy, ten lepszy". Powoduje to frustrację użytkowników, którzy muszą konkurować o miejsca w sztywno wyznaczonych oknach rejestracyjnych, generując przy tym ekstremalne obciążenia serwerów. Dla administratorów, np. dziekanatów, proces ten wiąże się z ogromnym nakładem pracy ręcznej, zarówno przy konfiguracji, jak i późniejszym korygowaniu licznych konfliktów i niespójności. Istniejące rozwiązania nie radzą sobie ze złożonością godzenia indywidualnych preferencji tysięcy użytkowników z twardymi ograniczeniami zasobów (np. dostępnością sal), co skutkuje niską satysfakcją wszystkich stron i planami, które często nie odpowiadają niczyim realnym potrzebom.
Końcowym produktem będzie system informatyczny dostarczany w modelu SaaS, hostowany w środowisku chmurowym (np. AWS) i oferowany klientom w formie subskrypcji. Architektura systemu będzie rozproszona i składać się będzie z kilku kluczowych komponentów: dwóch aplikacji webowych front-end (napisanych w Next.js/React), odpowiednio dla użytkowników końcowych (składanie preferencji) i administratorów (konfiguracja procesu), centralnego backendu (API) napisanego w Django (Python) i korzystającego z bazy danych PostgreSQL oraz rdzenia systemu, czyli modułu optymalizatora (w C++). Moduł ten implementuje algorytm genetyczny i komunikuje się asynchronicznie z backendem poprzez broker wiadomości (Redis), aby iteracyjnie obliczać jak najlepsze rozwiązanie harmonogramowe.
Projekt przyniesie korzyści trzem głównym grupom. Przede wszystkim użytkownikom końcowym – studentom, prowadzącym zajęcia na uczelniach oraz pracownikom lub prelegentom w firmach prywatnych, którzy zamiast stresującej rejestracji zyskają sprawiedliwy proces oparty na zgłaszanych preferencjach. Drugą grupą są jednostki administracyjne (np. dziekanaty, działy HR), dla których system radykalnie zmniejszy obciążenie pracą, automatyzując żmudny proces układania planu i minimalizując liczbę ręcznych korekt. Pośrednim, ale kluczowym beneficjentem, są również działy IT organizacji klienckich. Dzięki dostarczeniu systemu w modelu SaaS (Software as a Service), cała odpowiedzialność za utrzymanie infrastruktury serwerowej, hosting i aktualizacje spoczywa na dostawcy usługi, zwalniając wewnętrzne zasoby IT klienta.