Passa al contenuto principale

Perishability GFM

Il Gap Filling Module Deperibilità determina la classificazione di deperibilità 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

ProprietàDescrizione
Eseguito suNodo radice del calcolo (livello ricetta)
DipendenzeAddClientNodesGFM, MatchProductNameGFM, IngredientSplitterGFM, NutrientSubdivisionGFM, LinkTermToActivityNodeGFM, AttachFoodTagsGFM, OriginGFM
Input ChiaveTag glossario prodotto alimentare, gerarchia ingredienti
OutputTag classificazione deperibilità, 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 deperibilità

Output Chiave

Il modulo aggiunge due tipi di tag glossario ai nodi prodotto alimentare:

  • Tag Deperibilità: Uno di tre livelli (stabile a scaffale, deperibile, altamente deperibile)
  • Tag Tipo Prodotto: Classificazione prodotto combinato o mono prodotto

Metodologia Scientifica

Classificazione della Deperibilità

I prodotti alimentari sono classificati in tre livelli di deperibilità 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 deperibilità 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 deperibilità dalle definizioni dei loro termini del glossario
  2. I prodotti combinati ereditano la deperibilità più alta dai loro sotto-ingredienti
  3. I prodotti senza deperibilità 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 è 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 profondità con elaborazione post-ordine per propagare la deperibilità 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 Deperibilità

I livelli di deperibilità sono ordinati dal più basso al più 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 deperibilità, utilizza la fonte eos_assumed per indicare che il valore è 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-deperibilità: [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-deperibilità: [altamente-deperibile, altamente-deperibile, deperibile]
  • Massimo: EOS_HIGH-PERISHABLE
  • Prodotto combinato: Si (combina molteplici prodotti e ha sotto-ingrediente prodotto combinato)

Output Finale

ProdottoTag DeperibilitàTag 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 deperibilità e utilizzata da diversi moduli a valle:

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

Regole di Conservazione

Il Conservation GFM usa la deperibilità 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 modalità di trasporto considera la deperibilità:

  • Altamente Deperibile: Potrebbe richiedere trasporto aereo per lunghe distanze
  • Deperibile: Può 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 deperibilità 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 deperibilità variabile a seconda del metodo di trasformazione

Interazione con la Conservazione

  • Il modello attuale non tiene conto dei metodi di conservazione che cambiano la deperibilità (ad esempio, essiccare erbe altamente deperibili)
  • I prodotti congelati sono gestiti separatamente dal Conservation GFM
  • L'interazione tra deperibilità e conservazione potrebbe essere più sofisticata

Rilevamento Prodotto Combinato

  • Il rilevamento del prodotto combinato è 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.