Perishability GFM
Il Gap Filling Module Deperibilita determina la classificazione di deperibilita dei prodotti alimentari e identifica i prodotti combinati (prodotti di convenienza versus mono prodotti). Questa classificazione e essenziale per i moduli a valle che calcolano i requisiti di stoccaggio, le condizioni di trasporto e i fattori di perdita alimentare.
Riferimento Rapido
| Proprieta | Descrizione |
|---|---|
| Eseguito su | Nodo radice del calcolo (livello ricetta) |
| Dipendenze | AddClientNodesGFM, MatchProductNameGFM, IngredientSplitterGFM, NutrientSubdivisionGFM, LinkTermToActivityNodeGFM, AttachFoodTagsGFM, OriginGFM |
| Input Chiave | Tag glossario prodotto alimentare, gerarchia ingredienti |
| Output | Tag classificazione deperibilita, tag prodotto combinato/mono |
| Trigger | Viene eseguito su ogni calcolo a livello di nodo radice |
Quando Viene Eseguito
Il modulo si attiva quando:
- L'elaborazione raggiunge il nodo radice di un calcolo
- Tutti i moduli dipendenti hanno completato la loro elaborazione
- I prodotti alimentari nel grafo necessitano classificazione di deperibilita
Output Chiave
Il modulo aggiunge due tipi di tag glossario ai nodi prodotto alimentare:
- Tag Deperibilita: Uno di tre livelli (stabile a scaffale, deperibile, altamente deperibile)
- Tag Tipo Prodotto: Classificazione prodotto combinato o mono prodotto
Metodologia Scientifica
Classificazione della Deperibilita
I prodotti alimentari sono classificati in tre livelli di deperibilita basati sulla loro durata di conservazione e requisiti di stoccaggio:
| Livello | ID Esterno Termine | Descrizione | Prodotti Tipici |
|---|---|---|---|
| Stabile a Scaffale | EOS_STABLE | Prodotti conservabili a temperatura ambiente per periodi prolungati | Prodotti secchi, in scatola, cereali, oli |
| Deperibile | EOS_PERISHABLE | Prodotti che richiedono stoccaggio controllato con durata moderata | Latticini, uova, carni trasformate |
| Altamente Deperibile | EOS_HIGH-PERISHABLE | Prodotti che richiedono refrigerazione immediata con breve durata | Carne fresca, frutti di mare, prodotti tagliati |
Regole di Propagazione
La classificazione della deperibilita segue un modello di propagazione dal basso verso l'alto attraverso la gerarchia degli ingredienti:
Deperibilita Prodotto = max(Deperibilita Ingredienti)
Logica di Propagazione:
- Gli ingredienti foglia ricevono la deperibilita dalle definizioni dei loro termini del glossario
- I prodotti combinati ereditano la deperibilita piu alta dai loro sotto-ingredienti
- I prodotti senza deperibilita esplicita sono predefiniti come stabili a scaffale
Esempio: Una ciotola di insalata contenente:
- Lattuga (altamente deperibile)
- Formaggio (deperibile)
- Crostini (stabile a scaffale)
Risultato: La ciotola di insalata e classificata come altamente deperibile.
Classificazione Prodotto Combinato
Il modulo determina anche se un prodotto e un prodotto combinato (prodotto di convenienza) o un mono prodotto (singolo ingrediente):
| Classificazione | ID Esterno Termine | Criteri |
|---|---|---|
| Prodotto Combinato | EOS_COMBINED_PRODUCT | Il prodotto combina molteplici ingredienti diversi di prodotti alimentari |
| Mono Prodotto | EOS_MONO_PRODUCT | Il prodotto e un singolo ingrediente o non combina molteplici prodotti |
Logica Prodotto Combinato:
- Un prodotto e marcato come combinato se combina direttamente molteplici ingredienti di prodotti alimentari
- Il tag prodotto combinato si propaga verso l'alto attraverso la gerarchia
- Una volta che qualsiasi sotto-ingrediente e marcato come prodotto combinato, i prodotti genitori ricevono anch'essi il tag prodotto combinato
Dettagli di Implementazione
Panoramica dell'Algoritmo
Il modulo utilizza un attraversamento in profondita con elaborazione post-ordine per propagare la deperibilita dai nodi foglia alla radice:
# Pseudocodice per propagazione deperibilita
def propagate_perishability(node):
if node has explicit perishability tag:
return node.perishability
sub_perishabilities = []
for sub_node in node.sub_nodes:
sub_perishabilities.append(propagate_perishability(sub_node))
if sub_perishabilities:
return max(sub_perishabilities, key=perishability_order)
else:
return SHELF_STABLE # Predefinito
Ordine di Deperibilita
I livelli di deperibilita sono ordinati dal piu basso al piu alto:
perishability_order = {
"EOS_STABLE": 0, # Deperibilita piu bassa
"EOS_PERISHABLE": 1, # Deperibilita media
"EOS_HIGH-PERISHABLE": 2 # Deperibilita piu alta
}
Attribuzione della Fonte
Quando il modulo assegna un tag di deperibilita, utilizza la fonte eos_assumed per indicare che il valore e stato inferito piuttosto che esplicitamente fornito:
GlossaryTermProp(
term_uid=perishability_term.uid,
source=SourceEnum.eos_assumed
)
Esempio di Calcolo
Scenario: Una ciotola di insalata di convenienza con la seguente struttura:
Ciotola Insalata (nessuna deperibilita esplicita)
|-- Insalata Fresca (altamente deperibile)
|-- Salsa Pronta (nessuna deperibilita esplicita)
| |-- Latte in Polvere (stabile a scaffale)
| |-- Aceto (stabile a scaffale)
| |-- Olio (stabile a scaffale)
| +-- Prezzemolo Fresco (altamente deperibile)
+-- Tofu (deperibile)
Passo 1: Attraversare i Nodi Foglia
L'algoritmo visita prima tutti i nodi foglia:
- Insalata Fresca:
EOS_HIGH-PERISHABLE(dal glossario) - Latte in Polvere:
EOS_STABLE(dal glossario) - Aceto:
EOS_STABLE(dal glossario) - Olio:
EOS_STABLE(dal glossario) - Prezzemolo Fresco:
EOS_HIGH-PERISHABLE(dal glossario) - Tofu:
EOS_PERISHABLE(dal glossario)
Passo 2: Propagare ai Nodi Genitori
Salsa Pronta:
- Sotto-deperibilita: [stabile, stabile, stabile, altamente-deperibile]
- Massimo:
EOS_HIGH-PERISHABLE - Prodotto combinato: Si (molteplici ingredienti di prodotti alimentari)
Passo 3: Propagare alla Radice
Ciotola Insalata:
- Sotto-deperibilita: [altamente-deperibile, altamente-deperibile, deperibile]
- Massimo:
EOS_HIGH-PERISHABLE - Prodotto combinato: Si (combina molteplici prodotti e ha sotto-ingrediente prodotto combinato)
Output Finale
| Prodotto | Tag Deperibilita | Tag Tipo Prodotto |
|---|---|---|
| Insalata Fresca | EOS_HIGH-PERISHABLE | EOS_MONO_PRODUCT |
| Latte in Polvere | EOS_STABLE | EOS_MONO_PRODUCT |
| Aceto | EOS_STABLE | EOS_MONO_PRODUCT |
| Olio | EOS_STABLE | EOS_MONO_PRODUCT |
| Prezzemolo Fresco | EOS_HIGH-PERISHABLE | EOS_MONO_PRODUCT |
| Tofu | EOS_PERISHABLE | EOS_MONO_PRODUCT |
| Salsa Pronta | EOS_HIGH-PERISHABLE (assunto) | EOS_COMBINED_PRODUCT |
| Ciotola Insalata | EOS_HIGH-PERISHABLE (assunto) | EOS_COMBINED_PRODUCT |
Integrazione con Altri Moduli
Consumatori a Valle
La classificazione della deperibilita e utilizzata da diversi moduli a valle:
| Modulo | Utilizzo |
|---|---|
| Conservation GFM | Determina requisiti di stoccaggio (refrigerato, congelato, essiccato) |
| Transport GFM | Calcola requisiti catena del freddo e fattibilita modalita trasporto |
| Food Loss GFM | Stima fattori di spreco basati sulla durata di conservazione |
Regole di Conservazione
Il Conservation GFM usa la deperibilita per assegnare metodi di conservazione predefiniti:
- Altamente Deperibile + Nessun Tag Conservazione: Assegnata conservazione "refrigerato"
- Deperibile + Nessun Tag Conservazione: Assegnata conservazione "refrigerato"
- Stabile a Scaffale: Nessuna conservazione richiesta (temperatura ambiente)
Implicazioni per il Trasporto
La selezione della modalita di trasporto considera la deperibilita:
- Altamente Deperibile: Potrebbe richiedere trasporto aereo per lunghe distanze
- Deperibile: Puo usare trasporto camion/nave refrigerato
- Stabile a Scaffale: Nessun requisito catena del freddo
Limitazioni Note
Copertura della Classificazione
- Non tutti i prodotti alimentari nel glossario hanno classificazioni di deperibilita esplicite
- I prodotti senza classificazione sono predefiniti come stabili a scaffale, il che potrebbe sottostimare i requisiti della catena del freddo
- Alcuni prodotti trasformati possono avere deperibilita variabile a seconda del metodo di trasformazione
Interazione con la Conservazione
- Il modello attuale non tiene conto dei metodi di conservazione che cambiano la deperibilita (ad esempio, essiccare erbe altamente deperibili)
- I prodotti congelati sono gestiti separatamente dal Conservation GFM
- L'interazione tra deperibilita e conservazione potrebbe essere piu sofisticata
Rilevamento Prodotto Combinato
- Il rilevamento del prodotto combinato e basato esclusivamente sulla struttura degli ingredienti
- Non considera le differenze di posizione di produzione (prodotti di convenienza prodotti in stabilimenti diversi)
- I codici EAN/GTIN non sono ancora utilizzati per identificare prodotti di convenienza industrialmente prodotti
Riferimenti
-
Documentazione Glossario EOS. Documentazione interna Eaternity per le definizioni dei termini del glossario.
-
Linee Guida per la Conservazione degli Alimenti. Linee guida FDA ed EFSA sulla sicurezza alimentare per i requisiti di temperatura di stoccaggio.
-
Logistica della Catena del Freddo. Standard del settore per il trasporto e lo stoccaggio di alimenti deperibili.