Logika działania algorytmu w qcadoo opiera się o schemat drzewa technologii. Podstawą algorytmu jest struktura drzewa, surowce i półprodukty wchodzące w skład każdej operacji oraz zaplanowana ilość towaru do wykonania.
Algorytm skupia się na wyliczaniu:
- ilości surowców potrzebnych do wykonania zaplanowanej ilości towaru
- ile razy dana operacja musi być wykonana, by zwróciła wystarczającą liczbę półproduktów potrzebnych do wykonania zaplanowanej ilości towaru
W Qcadoo każda operacja i każdy surowiec mają przypisane normy kosztowe (operacje - również normy czasowe), które, w zależności od naszych potrzeb uwzględniane są w obliczeniach.
Najlepiej działanie algorytmu przedstawi poniższy przykład drzewa technologii:
Zaprezentowany przykład pokazuje technologię produkcji stołu. Każda operacja ma przypisane produkty wejściowe i wyjściowe, wraz z ich liczbą.
Ta technologia pokazuje, że z jednej (1) deski, wykonując następujące po sobie operacje Heblowania i Piłowania powstaje jeden (1) blat stołu. W operacji Pakowanie blat ten, wraz z innymi produktami zostaje zapakowany i tak powstaje paczka z elementami do samodzielnego montażu stołu.
Algorytm, wędrując po drzewie technologii od ostatniej operacji do pierwszej i wyliczy zapotrzebowanie na surowce dla danej operacji. Patrząc na poniższy przykład: gdyby operacja "Pakowanie" potrzebowała więcej blatów (przykładowo 3), to algorytm przejdzie do operacji niżej, czyli Heblowanie i "widząc", że daje ona 1 sztukę blatu policzy wykonanie tej operacji x3. Ale operacja Heblowanie, by wykonać 3 blaty, potrzebuje również 3 blatów nie-heblowanych, zatem algorytm zejdzie poziom niżej i policzy wykonanie operacji Piłowanie x3. Ta operacja skonsumuje w tym celu 3 deski.
Algorytm zatem da wynik następujący dla zamówienia na 3 stoły:
Zapotrzebowanie materiałowe na surowce:
- 3 deski,
- 3 pudła kartonowe,
- 12 nóg stołowych,
- 24 śruby.
Opcjonalnie poda także półprodukty, czyli: 3 blaty nie-heblowane, 3 blaty (po heblowaniu).
Algorytm liczy także ile razy dana operacja została wykonana. W tym wypadku mając zamówienie na 3 blaty operacje zostają wykonane w ilościach:
- 3x pakowanie
- 3x heblowanie
- 3x piłowanie
Na podstawie ilości i rodzajach użytych komponentów oraz ilości wykonanych operacji algorytm wykonuje kalkulację kosztów produkcji. Uwzględnia przy tym dodatkowe parametry ujęte w kalkulacjach odpowiednich dla danych funkcjonalności. O tym więcej poniżej.
W przypadku bardziej zaawansowanych technologii algorytm zachowuje się w sposób następujący:
- Algorytm ZAWSZE "schodzi" po drzewie technologii od OSTATNIEJ operacji do PIERWSZEJ
- W przypadku, gdy operacja podrzędna wytwarza więcej produktów końcowych (np. piłowanie na raz produkowałoby 3 blaty nie-heblowane), to algorytm liczy koszt całej operacji, dla 3 blatów
- Jeśli operacja produkuje 3 produkty, a operacja wyżej potrzebuje 5, to niższa operacja liczona jest dwa razy (daje 6 produktów). Przy czym nadwyżka uznawana jest za odpad. Koszt wytworzenia odpadu jest wliczany do rachunku danej operacji (zlecenia)
- Nie ma możliwości podzielenia operacji ze względu na ilość produktów w zleceniu. Inaczej mówiąc - jeśli operacja wytwarza 10 produktów jednocześnie, to pomimo iż zlecenie potrzebuje jedynie 5 produktów, będzie ona policzona jak za wykonanie całej operacji (wyprodukowanie 10 produktów).
- Operacja posiada jeden produkt wejściowy i jeden wyjściowy. Reszta produktów operacji traktowana jest jako odpady
Drzewo technologii może składać się z pod-technologii.
(schemat)