...
Issue: http://issues.qcadoo.org/browse/QCADOOMES-168
Initial discussion: http://forum.qcadoo.org/discussion/28/production-scheduling-problem
Wstęp
Stworzenie automatycznego harmonogramowania jest ciężkim zagadnieniem, szczególnie w sytuacji w której następuje rekurencja czynności na tym samym gnieździe produkcyjnym. Bardziej na początek potrzebne było by narzędzie które dbało by tylko o wykonalność zaplanowanych działań, tzn. tak naprawdę – czegoś w formie tego wykresu Gantta który w tej chwili jest stworzony dla każdej czynności ale z opcjami ręcznego „rozkładania klocków" będących czynnościami, a system powinien pilnować tylko aby czas początku operacji B nie był zapisany przed końcem operacji A i ustawił go w najwcześniejszym możliwym miejscu, przesuwając automatycznie wszystkie pozostałe operacje (z tego i innych zleceń) na osi czasu w prawo. To wymaga przeliczenia najwcześniejszych możliwych czasów rozpoczęcia wszystkich czynności znajdujących się na wykresie, Żeby harmonogram był czytelny poszczególne zlecenia musiały by mieć różne kolory. Z tego harmonogramu wynikał by czas realizacji zlecenia, jednak zadana musiała by być jeszcze wartość graniczna (tzn realny termin realizacji uzgodniony z klientem), którego przekroczenie kolorowało by dane zlecenie na czerwono (może być także zaznaczona pionowa linia na harmonogramie w kolorze danego zlecenia z numerem pisanym pionowo.
Założenia
- moduł powinien ręczne planowanie czasów wykonywania operacji w kontekście wielu zleceń produkcyjnych
- moduł powinien pilnować restrykcji dotyczących operacji w danym zleceniu produkcyjnym, czyli:
- normy czasowe,
- kolejność operacji,
- planowana data rozpoczęcia i zakończenia operacji.
- w firmie na raz w systemie może znajdować się do 100 zleceń, jednak budowanie harmonogramu na więcej niż 4-5 zmian produkcyjnych jest nierealne w naszym przypadku
- dobrze by było gdyby dało się dodać „pustą" czynność z możliwością dodania tytułu – przykładowo „wymiana oleju".
Koncepcje
- czy moduł powinien układać szczegółowy harmonogram na poziomie maszyn/stanowisk ?
- czy też tylko na poziomie poziomie operacji aby planista mógł rozeznać się czy dany plan jest wykonalny ?
...
Mockup | ||||||
---|---|---|---|---|---|---|
|
Podstawowy moduł z samymi zadaniamy
Jako że zadania co przydatnym bardzo ogólnym pojęciem dobrze by było posiadać oddzielny moduł do zadań jako podstawa modułu do planowania wykonywania operacji w zleceniach produkcyjnych.
Mockup | ||||||
---|---|---|---|---|---|---|
|
Podstawowy moduł do harmonogramowania produkcji
Celem tego harmonogramu jest zaplanowanie pracy na wszystkich gniazdach produkcyjnych w odniesieniu do wprowadzonych do systemu zleceń. Widok dla poszczególnych stanowisk jest pochodną tego widoku. Widząc jakie zlecenia mają być wykonane planista może podejmować decyzje o kolejności wykonywania zleceń na każdym ze stanowisk, jednocześnie widząc konsekwencje swoich decyzji w przyszłości. Należało by wprowadzić instancję "zadanie" czyli operacja w konkretnym zleceniu (Zadanie1231(Spawanie;Zlecenie85)). Idealnie by było gdyby system potrafił podzielić długie zadania na kawałki tak, żeby pasowały do zmian produkcyjnych (zadanie trwające 14 godzin to 8 godzin dnia pierwszego oraz 6 godzin dnia drugiego przy pracy jedno-zmianowej). Docelowo taka organizacja zleceń pozwoli rozpisywać je na wydruku zlecenia na konkretne operacje, lub wydruki planu pracy dla konkretnych stanowisk pracy (niezależnie od pracownika który obsługuje to stanowisko).
...