Passa al contenuto principale

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

ProprietaDescrizione
Eseguito suNodo radice del calcolo (livello ricetta)
DipendenzeAddClientNodesGFM, MatchProductNameGFM, IngredientSplitterGFM, NutrientSubdivisionGFM, LinkTermToActivityNodeGFM, AttachFoodTagsGFM, OriginGFM
Input ChiaveTag glossario prodotto alimentare, gerarchia ingredienti
OutputTag classificazione deperibilita, tag prodotto combinato/mono
TriggerViene eseguito su ogni calcolo a livello di nodo radice

Quando Viene Eseguito

Il modulo si attiva quando:

  1. L'elaborazione raggiunge il nodo radice di un calcolo
  2. Tutti i moduli dipendenti hanno completato la loro elaborazione
  3. 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:

LivelloID Esterno TermineDescrizioneProdotti Tipici
Stabile a ScaffaleEOS_STABLEProdotti conservabili a temperatura ambiente per periodi prolungatiProdotti secchi, in scatola, cereali, oli
DeperibileEOS_PERISHABLEProdotti che richiedono stoccaggio controllato con durata moderataLatticini, uova, carni trasformate
Altamente DeperibileEOS_HIGH-PERISHABLEProdotti che richiedono refrigerazione immediata con breve durataCarne 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:

  1. Gli ingredienti foglia ricevono la deperibilita dalle definizioni dei loro termini del glossario
  2. I prodotti combinati ereditano la deperibilita piu alta dai loro sotto-ingredienti
  3. 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):

ClassificazioneID Esterno TermineCriteri
Prodotto CombinatoEOS_COMBINED_PRODUCTIl prodotto combina molteplici ingredienti diversi di prodotti alimentari
Mono ProdottoEOS_MONO_PRODUCTIl 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

ProdottoTag DeperibilitaTag Tipo Prodotto
Insalata FrescaEOS_HIGH-PERISHABLEEOS_MONO_PRODUCT
Latte in PolvereEOS_STABLEEOS_MONO_PRODUCT
AcetoEOS_STABLEEOS_MONO_PRODUCT
OlioEOS_STABLEEOS_MONO_PRODUCT
Prezzemolo FrescoEOS_HIGH-PERISHABLEEOS_MONO_PRODUCT
TofuEOS_PERISHABLEEOS_MONO_PRODUCT
Salsa ProntaEOS_HIGH-PERISHABLE (assunto)EOS_COMBINED_PRODUCT
Ciotola InsalataEOS_HIGH-PERISHABLE (assunto)EOS_COMBINED_PRODUCT

Integrazione con Altri Moduli

Consumatori a Valle

La classificazione della deperibilita e utilizzata da diversi moduli a valle:

ModuloUtilizzo
Conservation GFMDetermina requisiti di stoccaggio (refrigerato, congelato, essiccato)
Transport GFMCalcola requisiti catena del freddo e fattibilita modalita trasporto
Food Loss GFMStima fattori di spreco basati sulla durata di conservazione

Regole di Conservazione

Il Conservation GFM usa la deperibilita per assegnare metodi di conservazione predefiniti:

  1. Altamente Deperibile + Nessun Tag Conservazione: Assegnata conservazione "refrigerato"
  2. Deperibile + Nessun Tag Conservazione: Assegnata conservazione "refrigerato"
  3. 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

  1. Documentazione Glossario EOS. Documentazione interna Eaternity per le definizioni dei termini del glossario.

  2. Linee Guida per la Conservazione degli Alimenti. Linee guida FDA ed EFSA sulla sicurezza alimentare per i requisiti di temperatura di stoccaggio.

  3. Logistica della Catena del Freddo. Standard del settore per il trasporto e lo stoccaggio di alimenti deperibili.