Szukam optymalnego rozwiązania następującego problemu.
Mam 3 młodszych oficerów medycznych (MO) i tylko 1konsultant. Klinika rozpoczyna się o godzinie 08:00; w sumie do zobaczenia jest 12 pacjentów; a ostatni pacjent powinien idealnie rozpocząć wizytę o godzinie 11.00. Ponadto wszystkie 3 MO muszą zacząć widzieć 1 pacjenta o godzinie 08:00.
Każdy pacjent musi być widziany w następującej kolejności: najpierw przez oficera medycznego (MO), a następnie przez konsultanta. Pacjent może odczuwać czas oczekiwania (T) między pojawieniem się oficera medycznego a konsultantem.
Celem jest skrócenie średniego czasu oczekiwania (T). Jak zatem powinniśmy zaplanować klinikę? Ten problem jest również zilustrowany w załączonej tabeli.
Podejrzewam, że ten scenariusz można potraktować jako problem z planowaniem przepływu w sklepie - wszystkie sugerowane rozwiązania będą bardzo mile widziane. wprowadź opis obrazu tutaj
Dziękuję bardzo!
Odpowiedzi:
1 dla odpowiedzi № 1To wygląda na formę Planowanie sklepu pracy (więc optymalizacja będzie trudna podczas skalowaniaponieważ jest to NP-zupełny / trudny. Zasadniczo przypisujesz każde zadanie (= 1 spotkanie 1 pacjenta) do maszyny (= 1 oficer medyczny). Ponadto masz zależności od pracy (ponieważ 2 wizyty pacjenta tego samego dnia muszą odbywać się w określonej kolejności).
Typowym podejściem jest heurystyka budowlanaa następnie wyszukiwanie lokalne (takie jak wyszukiwanie Tabu). Istnieje wiele rozwiązań, które mogą pomóc rozwiązać ten problem za pomocą takich algorytmów. Na przykład w Javie jest OptaPlanner zawiera 2 przykłady podobne do tego: Planowanie zadań projektu i Pielęgniarka Rostering.