Algorytm harmonogramujący

0

Witam, zastanawiam się nad tym jak zaplanować algorytm. Nie chodzi mi tu o przykłady kodu ale same metody rozwiązania:

W dniu występują zadania o określonych typach (np A,B,C), każde zadanie ma określoną długość trwania i ilość osób potrzebnych do jego zakończenia. Z drugiej strony istnieje lista pracowników o określonych uprawnieniach (np A,B lub C). W jaki sposób najefektywniej przyporządkować pracowników do konkretnych zadań. Pracownik nie może przerywać rozpoczętego zadania, ponadto każdy może posiadać kilka uprawnień, pracuje 8 godzin dziennie i mamy pełną dowolność ustalania godzin rozpoczęcia pracy.

0

Ja bym zaczął od tego do czego się nadaje pracownik. A dokładniej wyznaczyłbym przedział czasowy jaki byłby w pracy gdyby był pracoholikiem. W ten sposób stwierdziłbym, którzy pracownicy są najbardziej niezastąpieni, bo ci co przekroczyli by 8 godzin nie mogli by pójść do następnego zadania, a być może tylko oni mogli by je wykonać.
Na tej podstawie posortowałbym pracowników najpierw w porządku rozpoczynającym się od tych, którzy jako pracoholicy siedzieli by najkrócej, następnym kryterium sortowania była by uniwersalność pracownika (licząc tylko te zadania, które występują w danym dniu) pracownika zaczynając od najmniej uniwersalnego.
Względnie można pomieszać te kryteria z pewnymi wagami. Można też uwzględnić ile jest potrzebnych roboczogodzin do zadań danego typu, a ile jest dostępnych pracowników do tego zadania i na tej podstawie dodać ograniczenia/priorytety.
Korzystając z tego sortowania rozdałbym zadania na głupa zaczynając od nieroba a kończąc na mistrzu zmiany.
Ta metoda dobra by była na początek, potem należałoby zacząć myśleć nad innymi metodami (algorytm genetyczny?).

Biorąc pod uwagę algorytmiczną skalę problemu, to najważniejsze żebyś zaczął od napisania programu testującego, który w tym wypadku byłby naprawdę prosty.

0

Ja bym zaczal od poczytania na temat dziedziny 'Badania Operacyjne'

0

@johny_bravo, dokładnie to. Nakieruję że trzeba przyjrzeć się zagadnieniom podstawowym z zakresu organizacji produkcji i równoważenia obciążenia maszyn.

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