Le 34 famiglie di vincoli, una per una.
Un vincolo è un limite operativo che il piano deve rispettare. Un orario di consegna, la capacità di un mezzo, un turno, un cliente che vuole sempre lo stesso furgone. Sono i limiti a decidere se un giro più corto è anche utilizzabile: un percorso breve che viola un orario non è un percorso migliore.
In questa pagina capisci quali limiti il calcolo sa rappresentare. Sono raggruppati in 34 famiglie: il motore rifà insieme l'assegnazione dei mezzi e l'ordine delle fermate, verificando che i limiti dichiarati reggano. Il nome tecnico di questo perimetro è Universal Real-World Constrained VRP.
Il catalogo definisce il perimetro pubblico delle capacità dichiarate. Una famiglia presente nel motore non è automaticamente attiva nel tuo caso. E soprattutto: un limite che non dichiari non può essere verificato dal calcolo. Un requisito operativo non viene considerato supportato soltanto perché somiglia a una delle famiglie: deve essere qualificato, rappresentato nei dati e configurato.
Validazione tecnica interna e riproducibile; non certificazione esterna e non garanzia dell'ottimo globale per qualsiasi istanza.
Tutte le 34 famiglie sono presenti nel catalogo canonico e vengono attivate insieme, nello stesso problema, in una prova di carico che chiunque può rieseguire. Su ognuna il verificatore indipendente — un secondo programma che non usa il solutore — ha un controllo capace di emettere una violazione. Diciotto famiglie hanno in più un test che costruisce apposta il caso violato e verifica che la violazione venga effettivamente rilevata; le altre sedici no. Nella tabella qui sotto, ultima colonna, è scritto quale delle due vale per ciascuna riga: non ci sono righe dichiarate senza prova. Questo resta un controllo interno di coerenza: non è una certificazione.
Tre livelli da non confondere
- Stato del motorePresente nel catalogo canonico, attivata insieme a tutte le altre nella prova di carico, e controllata dal verificatore indipendente. Vale per tutte e 34 le famiglie. Diciotto hanno in più un test sul caso violato: l’ultima colonna della tabella dice quali.
- Uso nel casoApplicata soltanto se pertinente, configurata e supportata dai dati necessari, e se rientra nel perimetro concordato. Questa condizione vale per ogni famiglia, non per alcune.
- Dipendenze e limitiUna famiglia può dipendere da dati del cliente, dal provider di routing, da configurazioni avanzate o dalla disponibilità di un flusso prodotto. La presenza nel motore non implica interfaccia, workflow end-to-end, integrazione, servizio commerciale o inclusione nel pilota minimo.
La mappa
Nove categorie leggibili. Tutte le 34 dentro.
Le categorie servono soltanto a orientare la lettura; gli identificativi canonici restano quelli della tabella. Ogni riquadro indica quali famiglie contiene (per numero): la somma è esattamente 34, senza doppioni e senza omissioni.
Veicoli e flotta
Più mezzi, flotte eterogenee, capacità e domanda multidimensionali, competenze, compatibilità mezzo-ordine, requisiti dichiarati del mezzo.
Famiglie: 01 · 03 · 04 · 20 · 21 · 22
Depositi e viaggi
Multi-deposito, ricarico al deposito, più viaggi dello stesso mezzo.
Famiglie: 02 · 16 · 17
Tempo, turni e orario
Finestre orarie, tempi di servizio, turni, limiti di orario di lavoro, guida continuativa, pause, tempi di viaggio dipendenti dall'orario.
Famiglie: 06 · 07 · 08 · 09 · 10 · 11 · 28
Ritiri, consegne e sequenze
Propagazione del carico, accoppiamento ritiro-consegna, precedenze, split, evasione parziale, backhaul, logistica inversa.
Famiglie: 05 · 12 · 13 · 14 · 15 · 18 · 19
Accesso e territorio
Restrizioni di accesso territoriale e ZTL, quando fornite e validate.
Famiglie: 23 · 24
Limiti di giro
Distanza massima, durata massima, numero massimo di fermate per giro.
Famiglie: 25 · 26 · 27
Ordini
Opzionali, obbligatori, penalità esplicite per gli ordini non assegnati.
Famiglie: 29 · 30 · 31
Costi e confronto
Costi fissi e variabili nell'obiettivo, confronto baseline deterministico.
Famiglie: 32 · 34
Riottimizzazione
Ricalcolo dinamico limitato, con parti di giro congelate. Capacità tecnica del motore; non funzione commerciale end-to-end attualmente disponibile.
Famiglie: 33
L'elenco completo
Le 34 famiglie canoniche, una per una.
Ogni riga: numero, identificativo tecnico canonico (verbatim dal registro del motore), nome pubblico, descrizione, tipo, dati necessari e stato.
| № | Identificativo canonico | Famiglia e funzione | Ruolo nel modello | Dati o condizioni necessari | Uso nel caso e limiti | Stato della prova |
|---|---|---|---|---|---|---|
| 01 | multiple_vehicles | Più veicoli Assegnazione degli ordini a una flotta di più mezzi. | struttura del problema | Elenco dei mezzi disponibili. | Applicata quando esiste più di un mezzo e l'assegnazione rientra nel perimetro. | Verificata nel caricoAttiva nella prova con tutte e 34 insieme, con il verificatore indipendente che la controlla. Nessun test negativo dedicato. |
| 02 | multiple_depots | Multi-deposito Più punti di partenza e rientro per la flotta. | struttura del problema | Elenco depositi e relazione ordine-deposito. | Richiede dati sui depositi e un perimetro che li preveda. Il pilota essenziale riguarda un solo deposito. | Verificata nel caricoAttiva nella prova con tutte e 34 insieme, con il verificatore indipendente che la controlla. Nessun test negativo dedicato. |
| 03 | heterogeneous_fleet | Flotta eterogenea Mezzi con capacità, costi e caratteristiche diverse. | struttura del problema | Capacità, costi e caratteristiche per ciascun mezzo. | Applicata quando i mezzi sono descritti singolarmente nei dati. | Verificata nel caricoAttiva nella prova con tutte e 34 insieme, con il verificatore indipendente che la controlla. Nessun test negativo dedicato. |
| 04 | multidimensional_capacity_and_demand | Capacità e domanda multidimensionali Più dimensioni di carico rispettate lungo il giro. | vincolo rigido | Capacità dei mezzi e domanda per ordine, nelle dimensioni usate. | Entrano nel calcolo soltanto le dimensioni realmente fornite. Il dato mancante viene dichiarato, non assunto. | Verificata nel caricoAttiva nella prova con tutte e 34 insieme, con il verificatore indipendente che la controlla. Nessun test negativo dedicato. |
| 05 | delivery_and_pickup_load_propagation | Propagazione del carico Il carico a bordo varia lungo il giro e resta nei limiti. | vincolo rigido | Tipo ordine (consegna o ritiro) e quantità. | Richiede che consegne e ritiri siano distinti nei dati. | Provata in negativoUn test costruisce il caso in cui il vincolo è violato e verifica che la violazione venga rilevata. |
| 06 | time_windows | Finestre orarie Servizio entro la finestra dichiarata per ogni fermata. | vincolo rigido | Fasce orarie per fermata, con distinzione fra rigide e preferenze. | Le finestre devono essere fornite e validate: il sistema non conosce automaticamente gli orari dei clienti. | Provata in negativoUn test costruisce il caso in cui il vincolo è violato e verifica che la violazione venga rilevata. |
| 07 | service_times | Tempi di servizio Tempo di fermata incluso nella durata del giro. | vincolo rigido | Durata di servizio per fermata, categoria o regola. | Un valore assunto viene dichiarato come tale e non confuso con una misurazione. | Verificata nel caricoAttiva nella prova con tutte e 34 insieme, con il verificatore indipendente che la controlla. Nessun test negativo dedicato. |
| 08 | driver_shifts | Turni autista Il giro rientra nell'orario di turno dichiarato. | vincolo rigido | Inizio e fine turno. | Modellato secondo le regole dichiarate e configurate; non è una verifica di conformità contrattuale. | Provata in negativoUn test costruisce il caso in cui il vincolo è violato e verifica che la violazione venga rilevata. |
| 09 | working_time_limits | Limiti di orario di lavoro Tempo di lavoro complessivo entro i limiti dichiarati. | vincolo rigido | Limiti di orario di lavoro. | Modellato secondo le regole dichiarate; non è una verifica di conformità normativa. | Provata in negativoUn test costruisce il caso in cui il vincolo è violato e verifica che la violazione venga rilevata. |
| 10 | continuous_driving_limits | Limiti di guida continuativa Tempo massimo di guida senza pausa. | vincolo rigido | Limiti di guida continuativa. | Modellato secondo le regole dichiarate; non è una verifica di conformità normativa. | Provata in negativoUn test costruisce il caso in cui il vincolo è violato e verifica che la violazione venga rilevata. |
| 11 | mandatory_breaks | Pause obbligatorie Pause inserite e compatibili con il percorso. | vincolo rigido | Regole delle pause. | Modellate secondo le regole dichiarate e configurate. | Verificata nel caricoAttiva nella prova con tutte e 34 insieme, con il verificatore indipendente che la controlla. Nessun test negativo dedicato. |
| 12 | pickup_delivery_pairing | Accoppiamento ritiro-consegna Ritiro e consegna sullo stesso mezzo, con ritiro precedente. | vincolo rigido | Coppie ritiro-consegna identificate nei dati. | Richiede che le coppie siano complete e riconoscibili. | Provata in negativoUn test costruisce il caso in cui il vincolo è violato e verifica che la violazione venga rilevata. |
| 13 | precedence | Precedenze Ordine obbligato fra determinate fermate. | vincolo rigido | Regole di precedenza dichiarate. | È una regola di sequenza dichiarata: non dimostra la fattibilità fisica del carico. | Verificata nel caricoAttiva nella prova con tutte e 34 insieme, con il verificatore indipendente che la controlla. Nessun test negativo dedicato. |
| 14 | split_delivery | Consegna frazionata Un ordine servito in più parti o più viaggi. | regola opzionale | Frazionabilità ammessa e quantità. | Si applica soltanto se il frazionamento è ammesso e dichiarato. Non coincide con l'evasione parziale. | Verificata nel caricoAttiva nella prova con tutte e 34 insieme, con il verificatore indipendente che la controlla. Nessun test negativo dedicato. |
| 15 | partial_fulfilment | Evasione parziale Copertura parziale di un ordine, quando ammessa. | regola opzionale | Ammissibilità della copertura parziale. | Riguarda un ordine coperto solo in parte, non un ordine suddiviso fra più viaggi. Ammessa soltanto se dichiarata. | Verificata nel caricoAttiva nella prova con tutte e 34 insieme, con il verificatore indipendente che la controlla. Nessun test negativo dedicato. |
| 16 | reload | Ricarico Rientro al deposito per ricaricare e ripartire. | regola opzionale | Ammissibilità e regole di ricarico. | Configurazione avanzata: non è compresa d'ufficio nel perimetro essenziale. | Verificata nel caricoAttiva nella prova con tutte e 34 insieme, con il verificatore indipendente che la controlla. Nessun test negativo dedicato. |
| 17 | multi_trip | Multi-viaggio Più viaggi dello stesso mezzo nella giornata. | regola opzionale | Ammissibilità del multi-viaggio. | Configurazione avanzata: non è compresa d'ufficio nel perimetro essenziale. | Verificata nel caricoAttiva nella prova con tutte e 34 insieme, con il verificatore indipendente che la controlla. Nessun test negativo dedicato. |
| 18 | backhaul | Backhaul Ritiri dopo le consegne all'interno dello stesso giro. | regola opzionale | Ordini di ritiro e politica di backhaul. | Configurazione avanzata: richiede che i ritiri siano rappresentati esplicitamente. | Provata in negativoUn test costruisce il caso in cui il vincolo è violato e verifica che la violazione venga rilevata. |
| 19 | reverse_logistics | Logistica inversa Resi, vuoti e imballaggi raccolti nel giro. | regola opzionale | Quantità e punti di raccolta di resi e vuoti. | Non viene considerata automaticamente: va rappresentata con quantità, punto e regola. | Verificata nel caricoAttiva nella prova con tutte e 34 insieme, con il verificatore indipendente che la controlla. Nessun test negativo dedicato. |
| 20 | skills | Competenze Requisiti fra ordine e mezzo o autista. | vincolo rigido | Requisiti richiesti e disponibili. | Richiede che i requisiti siano dichiarati e validati. | Provata in negativoUn test costruisce il caso in cui il vincolo è violato e verifica che la violazione venga rilevata. |
| 21 | vehicle_compatibility | Compatibilità mezzo-ordine Alcuni ordini serviti soltanto da determinati mezzi. | vincolo rigido | Regole di compatibilità dichiarate. | Se configurata come rigida, una soluzione che la viola non è fattibile: l'esito può essere un ordine non servito o un'infeasibilità. | Provata in negativoUn test costruisce il caso in cui il vincolo è violato e verifica che la violazione venga rilevata. |
| 22 | truck_vehicle_restrictions | Restrizioni del mezzo e dell'accesso Requisiti dichiarati del mezzo o dell'accesso, come altezza, massa complessiva, zona o permesso, quando rappresentabili e configurati. | vincolo rigido | Caratteristiche dichiarate del mezzo e requisiti di accesso. | La massa complessiva non equivale al calcolo del peso per asse e l'altezza dichiarata non dimostra la percorribilità reale. Le funzioni di truck routing dipendono dal provider, dal profilo realmente utilizzato e dai dati disponibili. | Provata in negativoUn test costruisce il caso in cui il vincolo è violato e verifica che la violazione venga rilevata. |
| 23 | territorial_access | Accesso territoriale Regole territoriali dichiarate applicate al calcolo. | vincolo rigido | Restrizioni territoriali fornite e validate. | Nigin può applicare regole territoriali dichiarate e configurate; non verifica sul campo e non valida legalmente autorizzazioni. | Provata in negativoUn test costruisce il caso in cui il vincolo è violato e verifica che la violazione venga rilevata. |
| 24 | ztl_access_restrictions | Restrizioni ZTL Zone a traffico limitato dichiarate trattate come vincolo. | vincolo rigido | Dati ZTL forniti e validati. | Nigin può applicare ZTL e permessi dichiarati e configurati. Non dispone automaticamente di una banca dati completa e aggiornata di tutte le restrizioni italiane e non valida legalmente permessi o autorizzazioni. | Provata in negativoUn test costruisce il caso in cui il vincolo è violato e verifica che la violazione venga rilevata. |
| 25 | maximum_route_distance | Distanza massima per giro Tetto di distanza per singolo giro. | vincolo rigido | Distanza massima ammessa. | Applicata quando il limite è dichiarato. | Provata in negativoUn test costruisce il caso in cui il vincolo è violato e verifica che la violazione venga rilevata. |
| 26 | maximum_route_duration | Durata massima per giro Tetto di durata per singolo giro. | vincolo rigido | Durata massima ammessa. | La durata è una stima del provider più i tempi di servizio dichiarati. | Provata in negativoUn test costruisce il caso in cui il vincolo è violato e verifica che la violazione venga rilevata. |
| 27 | maximum_route_stops | Fermate massime per giro Numero massimo di fermate per mezzo. | vincolo rigido | Limite di fermate. | Applicata quando il limite è dichiarato. | Provata in negativoUn test costruisce il caso in cui il vincolo è violato e verifica che la violazione venga rilevata. |
| 28 | traffic_time_dependent_travel | Tempi di viaggio dipendenti dall'orario Tempi di viaggio che possono variare in funzione dell'orario o dei profili disponibili, quando configurati e supportati dai dati o dal provider. | capacità di routing | Profili orari o dati del provider. | La presenza della famiglia non garantisce traffico live, ETA live o dati correnti in ogni esecuzione. Profilo statico, profilo dipendente dall'orario e traffico live restano elementi distinti. | Verificata nel caricoAttiva nella prova con tutte e 34 insieme, con il verificatore indipendente che la controlla. Nessun test negativo dedicato. |
| 29 | optional_jobs | Ordini opzionali Ordini che possono non essere serviti, con la penalità dichiarata. | regola opzionale | Marcatura degli ordini opzionali. | Un ordine non servito non è di per sé un errore quando l'opzionalità è dichiarata. | Verificata nel caricoAttiva nella prova con tutte e 34 insieme, con il verificatore indipendente che la controlla. Nessun test negativo dedicato. |
| 30 | mandatory_jobs | Ordini obbligatori Ordini che devono essere serviti. | vincolo rigido | Marcatura degli ordini obbligatori. | Se un ordine obbligatorio non può essere servito, l'esito è un'infeasibilità dichiarata, non un'esclusione silenziosa. | Provata in negativoUn test costruisce il caso in cui il vincolo è violato e verifica che la violazione venga rilevata. |
| 31 | explicit_unassigned_penalties | Penalità per ordini non assegnati Costo esplicito associato agli ordini non serviti. | componente dell'obiettivo | Penalità dichiarate. | È un parametro matematico dell'obiettivo: non descrive la causa operativa della mancata assegnazione. | Verificata nel caricoAttiva nella prova con tutte e 34 insieme, con il verificatore indipendente che la controlla. Nessun test negativo dedicato. |
| 32 | fixed_and_variable_costs | Costi fissi e variabili I costi fissi e variabili possono partecipare all'obiettivo quando sono forniti e configurati. | componente dell'obiettivo | Costi fissi per mezzo e costi per unità, dichiarati. | Sono parametri matematici dell'obiettivo e non costituiscono la prova di un risparmio economico realizzato. Nigin non conosce automaticamente carburante, personale, pedaggi, ammortamento o contratti. | Verificata nel caricoAttiva nella prova con tutte e 34 insieme, con il verificatore indipendente che la controlla. Nessun test negativo dedicato. |
| 33 | bounded_dynamic_reoptimization | Riottimizzazione dinamica limitata Ricalcolo limitato con elementi dichiarati come congelati. | capacità tecnica del motore | Elementi da congelare e stato dichiarato. | Capacità tecnica presente ed enforced nel motore. Non risulta disponibile come flusso prodotto end-to-end di dispatching o ripianificazione live e non viene promessa come funzione commerciale del pilota. | Provata in negativoUn test costruisce il caso in cui il vincolo è violato e verifica che la violazione venga rilevata. |
| 34 | deterministic_baseline_comparison | Confronto con la baseline Confronto tra baseline ricostruita e scenario ricalcolato sotto criteri dichiarati. | confronto | Assegnazione e sequenza della baseline, con provenienza dichiarata. | La baseline può essere pianificata, osservata, fornita, ricostruita o derivata da routing: la provenienza va dichiarata. Quando distanza e durata sono ricalcolate, baseline e scenario devono usare lo stesso provider, lo stesso profilo, gli stessi endpoint e gli stessi criteri di misura. Il confronto distingue ordini sottoposti, serviti, non serviti, esclusi o non fattibili. | Provata in negativoUn test costruisce il caso in cui il vincolo è violato e verifica che la violazione venga rilevata. |
La colonna Ruolo nel modello è una lettura editoriale verificata riga per riga, non un campo del registro canonico: il catalogo tecnico elenca gli identificativi, non li classifica per tipo. La colonna Uso nel caso non descrive lo stato tecnico della famiglia, che è lo stesso per tutte e 34, ma le condizioni alle quali quella famiglia viene applicata a un calcolo concreto.
Riproduzione
I comandi, per controllare invece di crederci.
Le due colonne di stato corrispondono a due comandi. Si lanciano dalla radice del progetto e non richiedono rete: nessuna chiamata a OSRM, nessuna chiamata a HERE, matrici sintetiche deterministiche.
Provata in negativo — 18 famiglie. Esegue i test che costruiscono il caso violato e pretendono che la violazione venga rilevata.
node --test vrp_saas/lib/universal-constrained-vrp/canonical-state.test.js vrp_saas/lib/universal-constrained-vrp-verifier/verifier.test.js
Verificata nel carico — 16 famiglie. Esegue il problema con tutte e 34 le famiglie attive insieme e il verificatore indipendente sopra.
node universal_vrp_all34_stress_case.js '{"mode":"combined","cells":1,"solverSeed":20260813,"iterationLimit":120}'
Il caso di prova che questi comandi eseguono è scaricabile, con la sua impronta: dentro ci sono le righe che decidono quando una famiglia si dichiara attiva.
L’esito atteso del secondo è "activeFamilyCount":34, "missingFamilies":[], "verificationStatus":"PASS".
Che cosa vuol dire davvero «attiva», e come lo sappiamo. Un controllo di attivazione che si limitasse a dire «questa famiglia compare nei dati in ingresso» sarebbe vero sempre, e non proverebbe nulla. Per escluderlo i 34 controlli sono stati messi alla prova con ventidue manomissioni della soluzione — turno sforato, distanza gonfiata, ordine delle fermate invertito, pause rimosse, costi alterati, confronto col baseline falsato, e così via.
Ognuna delle 34 famiglie viene dichiarata mancante da almeno una di quelle manomissioni. Nessun controllo è compiacente: se il motore smettesse di applicare una famiglia, la prova lo direbbe.
Che cosa questa tabella non dice. «Provata in negativo» significa che esiste un caso costruito apposta in cui il vincolo viene violato e il sistema se ne accorge. Non significa che ogni ramo di quel vincolo sia coperto: per la compatibilità dei mezzi, per esempio, il caso provato riguarda i requisiti dichiarati sul mezzo, non il mezzo bloccato su un ordine.
E nessuna delle due colonne dice quanto sia buono il piano prodotto. Dicono che i vincoli dichiarati vengono rispettati e che il rispetto viene controllato da un programma diverso dal solutore. La distanza dall’ottimo è un’altra misura, e non è ancora stata fatta.
Validazione e fattibilità
Come viene dichiarata la fattibilità.
Una soluzione che viola un vincolo rigido attivo non viene classificata come fattibile.
Esiti possibili del calcolo
- Soluzione fattibile sotto i vincoli configurati
- Ordine non servito, secondo il comportamento configurato
- Soluzione parziale, quando la copertura parziale è ammessa
- Istanza non fattibile sotto i vincoli dichiarati
- Warning
- Dati insufficienti per una conclusione attendibile
Controlli previsti
- Distinzione dichiarata fra vincolo rigido, regola opzionale e componente dell'obiettivo
- Controllo interno di fattibilità separato dal ciclo di ricerca, quando applicabile alla configurazione eseguita
- Il catalogo è coperto dalla validazione tecnica interna prevista
- Un gate automatico interno segnala divergenze nel conteggio o nella copertura tecnica
Il report o l'allegato tecnico indica i vincoli configurati nei campi previsti dal formato e dal perimetro concordato. Report standard, export tecnico, allegati e record interno sono superfici distinte e non contengono necessariamente gli stessi campi.
Non dichiarato
Cosa non promettiamo
- Una banca dati ZTL italiana completa e automaticamente aggiornata
- Validazione legale di permessi o autorizzazioni, e rilascio di autorizzazioni
- Certificazione di conformità CCNL o normativa
- Garanzia dell'ottimo globale su qualsiasi istanza
- Packing, palletizzazione o disposizione fisica del carico
- Calcolo del peso per asse o della distribuzione dei pesi
- Pianificazione di gru, sollevamenti o stabilizzazione
- Certificazione della percorribilità reale di un itinerario
- Dispatching o ripianificazione live commercialmente disponibili
- Tracking GPS, ETA live o notifiche agli autisti
- Vincoli fuori da questo catalogo, promessi automaticamente
Turni, pause e limiti di orario vengono modellati secondo le regole dichiarate e configurate. Nigin non rilascia certificazioni di conformità giuridica o contrattuale.
Come si aggiorna il catalogo
- Una nuova famiglia entra nel catalogo pubblico soltanto dopo implementazione, enforcement, controllo tecnico e approvazione formale del relativo verdetto
- Il tuo vincolo non c'è? Viene verificato durante la qualificazione, prima dell'avvio del pilota
- L'assenza dal catalogo significa che il requisito non viene oggi promesso come capacità canonica pubblica; non dimostra automaticamente che sia impossibile
- Il report o l'allegato tecnico indica i vincoli configurati nei campi previsti dal formato concordato
Verifica di coerenza
Questa pagina è stata allineata al catalogo canonico del motore nella versione verificata. Il conteggio e la copertura sono controllati automaticamente:
- Esattamente 34 famiglie visualizzate, numerate 01–34.
- Nessun identificativo duplicato; ogni identificativo compare una volta sola.
- Le nove categorie partizionano tutte e 34 le famiglie: somma 34, senza doppioni e senza omissioni.
- Ogni voce pubblica corrisponde a una voce del registro canonico, nello stesso ordine.
- Un gate automatico interno segnala una divergenza se il catalogo non contiene esattamente le 34 famiglie previste o se una famiglia non risulta coperta dal controllo tecnico richiesto.
L'allineamento deve essere ricontrollato quando il catalogo tecnico cambia. Coerenza dichiarata tra catalogo pubblico, registro canonico e runtime verificato nel perimetro tecnico dell'intervento. Validazione interna e riproducibile; non certificazione esterna e non garanzia dell'ottimo globale.
Nessuna promessa fuori catalogo