Zagadnienie harmonogramowania

0

Witam
Mam do wykonania na studia aplikację do harmonogramowania pracy pracowników w hurtowni. Pracownicy sami ustalają ilość godzin pracy w tygodniu, i na podstawie tych danych muszę stworzyć plan pracy, aby zachować jej ciągłość. Prosił bym o jakieś porady co do algorytmu jaki mogę wykorzystać do tego celu. Z góry dziękuję za odp.;)

Chciałem dodać że problem ma odzwierciedlenie w rzeczywistości. Ilość pracowników będzie określona i nie powinna przekroczyć 40. Czy wchodzi tutaj w grę przegląd zupełny czy lepiej wykorzystać jakiś algorytm heurystyczny. Zależy mi na uzyskaniu dokładnego planu, ale nie wiem czy przy przeglądzie zupełnym i takiej ilości pracowników nie będzie się to wykonywać zbyt długo (np. kilka minut)

1

Do kolejnego fragmentu (zadania/zmiany) wybierasz kolejne godziny u tego pracownika u którego zostało najwięcej nie wybranych.
Przegląd zupełny dla 40 pracowników nie skończy się w tym stuleciu.

0

Jeżeli robić to w sposób naiwny, to przegląd zupełny się faktycznie nie skończy w tym stuleciu. Ale 40 to nie jest znowu taka wielka liczba dla algorytmów opartych o branch&bound lub programowanie dynamiczne. Natomiast w zadaniu trochę mi brakuje szczegółów - tzn. mógłbyś konkretnie opisać co jest wejściem, wyjściem, jaka jest funkcja celu i jakie są ograniczenia? Kto wie, może to się da sformułować jako ILP, które jest powszechnie stosowane w harmonogramowaniu? A wtedy b&b z relaksacją Lagrange i bez problemu rozwalasz to dokładnie dla nawet dla n idącego w dziesiątki tysięcy, w rozsądnym czasie.

0

Jestem początkujący w temacie i prawdopodobnie dlatego napisałem za mało o problemie. Ogólny przepływ ma wyglądać tak że pracownik będzie wprowadzał do systemu informacje o tym w jakich dniach, ile godzin może przepracować. Na podstawie tych informacji wprowadzonych przez pracowników, system ma zaprezentować plan (tygodniowy) pracy na magazynie tak aby została zachowana ciągłość (bez pustych okienek). Magazyn działa w godzinach od 8.00 do 18.00. Magazyn jest podzielony na dwie sekcje każda po 7 osób (ilość może wzrosnąć), i przez cały dzień w każdej sekcji nie może być ich mniejsza liczba. Zatrudnieni o umowę o pracę muszą mieć zapewnione 40 godzin w tygodniu, pozostali pracujący na umowach dzieło/zlecenie maksimum tyle ile podali podczas wprowadzania danych do systemu.

1 użytkowników online, w tym zalogowanych: 0, gości: 1