SlideShare a Scribd company logo
1 of 8
Download to read offline
UNIVERSITÀ DEGLI STUDI DI TRIESTE
Dipartimento di Ingegneria e Architettura
Corso di Studi in Ingegneria Elettronica e Informatica
SOME CONSIDERATIONS ABOUT:
PSNRP-TW
Patient Satisfaction-Oriented Nurse Routing Problem
with Time Window
Tesi di Laurea Triennale
Laureando:
Stefano SIMONETTO
Relatore:
prof. Lorenzo CASTELLI
_____________________________________
ANNO ACCADEMICO 2019-2020
INTRODUZIONE
Il principale argomento trattato dall'articolo scientifico che ho analizzato, riguarda la mobilità
di un infermiere durante la giornata lavorativa per fornire servizi di assistenza a pazienti
distribuiti su una determinata area geografica; a differenza di altri problemi di instradamento,
questo si concentra su due obiettivi particolari: cerca di portare al massimo appagamento del
paziente e consente che ogni servizio reso avvenga in una precisa finestra temporale.
Successivamente tratterò il problema dal punto di vista più ingegneristico che sanitario, dove
cercherò di massimizzare quanto detto con l'apposizione di specifici vincoli riconducendomi
ai noti problemi di programmazione lineare.
Infine confronterò i risultati computazionali ottenuti con due metodi risolutivi differenti ed
approfondirò gli aspetti fondamentali di uno di questi: il Kernel Search.
La trattazione di tali argomenti si fa sempre più importante, perché le strutture sanitarie sono
orientate alla riduzione delle tempistiche di ospedalizzazione, favorendo il miglioramento del
servizio di assistenza domiciliare. Oltretutto rafforzando questo settore si avranno meno
recidive dei pazienti in convalescenza, evitando così sovraccarichi di lavoro nelle strutture
ospedaliere.
É altresì vero che negli ultimi mesi tutto il mondo ha dovuto (e continua a) confrontarsi con
un nemico invisibile chiamato Covid-19. A sostegno della mia tesi intendo portare un'analisi
condotta dall'università di Harvard, in merito ai risultati ottenuti dalle due regioni del mondo
occidentale che per prime sono state colpite da questo nuovo coronavirus, attraverso uno
studio in cui vengono confrontati il loro modus operandi per contrastare la pandemia.
Lombardia e Veneto sono diventate le due apripista optando per scelte molto diverse nella
gestione del problema; i risultati stanno dando ragione al Veneto che ha puntato in maniera
decisa sull'assistenza domiciliare-territoriale per evitare, trattando i pazienti nelle loro dimore,
di trasformare gli ospedali in potenziali bombe biologiche.
Un'ulteriore motivazione che mi porta a confermare la bontà della scelta di investire e
migliorare l'assistenza domiciliare è il supporto indiretto alla famiglia del malato. In primo
luogo si evita che i familiari si rechino presso la struttura ospedaliera per le visite o per altri
motivi e, in secondo luogo i pazienti, spesso anziani, hanno la possibilità di permanere presso
le loro abitazioni e recuperare, per quanto possibile, le loro capacità residue vicino ai loro
cari.
Suddetta tipologia di assistenza rappresenta, però, un costo ancora marginale rispetto al totale
speso dalla sanità nel nostro Paese: l'ISTAT ha reso noto per la prima volta tre anni fa, le spese
della sanità in Italia riferite all'anno 2016 , documentando che l'assistenza domiciliare
impattava sul bilancio dello Stato per circa 2 miliardi l'anno a fronte dei 149 miliardi e mezzo
totali.
TRATTAZIONE DEL PROBLEMA
Il NRP (Nurse Routing Problem) fa parte della famiglia dei problemi di instradamento e
cerca il percorso migliore per gli infermieri che devono svolgere servizio di assistenza
domiciliare; data la complessità ha anche molte varianti. Alcune di queste si occupano
dell'ambito ambientale, con la minimizzazione della CO2 emessa dalle auto utilizzate dal
personale sanitario per recarsi al domicilio dei pazienti, altre si occupano di avere personale
adeguatamente competente per la patologia che ogni paziente presenta (es. esecuzione della
chemioterapia domiciliare che è un'operazione molto delicata, la quale può essere eseguita
solo da infermieri con determinate abilità). La variante approfondita dall'articolo è il PSNRP-
TW (Patient Satisfaction-oriented NRP with Time Window), che è il NRP con l'aggiunta di
due vincoli. Il primo porta alla soddisfazione del paziente che è massima se tutti i bisogni
dello stesso vengono soddisfatti nel corso della giornata; l'altro vincolo riguarda la finestra di
tempo all'interno della quale l'operatore deve iniziare a svolgere i servizi richiesti dall'utente.
Andando più nello specifico possiamo dire che il servizio offerto dal personale sanitario è
riservato ad un'élite di pazienti, nel senso che questi vengono selezionati al fine di soddisfare
tutte le loro esigenze.
Dopo questa breve introduzione, formulo il problema dal punto di vista matematico; definisco
con:
– M={1, 2, …, m} l'insieme dei pazienti;
– F={1, 2, …, f} l'insieme degli infermieri;
– K={1, 2, …, k} l'insieme dei tipi di servizio;
– N={1, 2, …, i} l'insieme di ogni possibile servizio richiesto da ogni singolo paziente;
L'insieme N è suddiviso in m sottoinsiemi disgiunti e non vuoti Nh, dove h={1, 2, …, m},
ciascuno associato ad un diverso paziente dove N è dato dall'unione per h che va da 1 a m di
Nh con Nh ∩ Nh' = per h∅ ≠h'.
L'ipotesi dell'articolo dove tutti gli infermieri possiedono le competenze necessarie per
svolgere tutti i servizi richiesti dai pazienti non è banale e questo ci darà lo spunto per una
futura riflessione.
Il secondo vincolo del problema, ovvero la finestra di tempo, deve sottostare ad un'ipotesi
molto precisa, ossia che da quando l'infermiere scende dall'auto a quando inizia ad erogare il
servizio, il tempo trascorso sia nullo.
Ogni servizio ha un tempo di esecuzione predefinito e una precisa finestra che rappresenta
l'intervallo di tempo entro il quale deve iniziare l'erogazione dello stesso.
Un profitto positivo Pi è assegnato a ogni servizio i∈N, in più una ricompensa Ah viene fornita
a ciascun sottoinsieme Nh, solo se TUTTI i nodi in Nh sono stati visitati.
Lo stesso paziente può essere visitato da più infermieri nell'arco della giornata, mentre un
servizio può essere eseguito esattamente da un solo infermiere.
Un'ulteriore definizione è il tempo impiegato per viaggiare dal nodo i al nodo j, questa
quantità che indichiamo con Tij è uno scalare non negativo. Si deve tenere conto inoltre che
l'infermiere deve partire all'inizio del turno di lavoro dal nodo 0 e terminare al tempo Tmax al
nodo N+1.
Prima di passare ad una trattazione puramente di programmazione lineare ho bisogno di
definire altre variabili, 3 binarie (Wi, Xij ,Yh) e una continua (Zij):
• Wi vale 1 solo se il nodo i∈N è stato visitato;
• Xij vale 1 solo se l'arco (i,j) è stato percorso;
• Yh vale 1 solo se tutti i nodi in Nh sono visitati;
• Zij indica il tempo di arrivo a j quando si arriva da i.
Dopo aver descritto accuratamente tutto ciò che è necessario per l'analisi dell'algoritmo,
proseguo con la definizione e la spiegazione della funzione obiettivo e dei relativi vincoli.
Funzione obiettivo: max Σi N∈ Pi Wi + Σh M∈ Ah Yh
come già detto in precedenza, il fine è quello di portare alla soddisfazione di tutti i servizi
sanitari richiesti dall'élite di pazienti; questo si ottiene massimizzando i premi ottenuti
dall'esecuzione di un servizio (Pi Wi) più un'ulteriore ricompensa che deriva dal
completamento degli stessi per ogni singolo paziente (Ah Yh).
L'ottimo lo si consegue se si sottostà ai seguenti vincoli:
• condizioni di parità (se un nodo è stato visitato, l'arco che porta ad esso è stato
percorso);
• creazione di un numero di itinerari minore o uguale al numero degli infermieri
disponibili;
• rendere impossibile la creazione di subtours e assicurare che, se il nodo j viene visitato
immediatamente dopo il nodo i, il tempo trascorso tra i tempi di arrivo nei due nodi
deve essere uguale al tempo di servizio nel nodo i più il tempo di di viaggio tra i e j;
• fissare un limite al tempo minimo per raggiungere il primo nodo dopo il deposito
(nodo 0);
• fissare un limite superiore e un limite inferiore al tempo di arrivo al nodo j partendo da
i. Il limite inferiore è dato dalla somma tra il tempo di viaggio tra 0 e i, il tempo di
viaggio tra i e j e il tempo di servizio al nodo i (tutto questo ovviamente se attraverso
l'arco (i,j)), mentre il limite superiore è dato dalla differenza tra:
Tmax, cioè il massimo delle ore a disposizione degli infermieri, il tempo di servizio al
nodo j e il tempo di viaggio tra il nodo j e il nodo N+1 (cioè dove deve arrivare
l'infermiere alla fine della giornata lavorativa);
• iniziare il servizio nella propria finestra di tempo;
• Yh vale 1 se e solo se è stato eseguito ogni servizio richiesto dal paziente;
• gli ultimi 4 vincoli riguardano le condizioni di non negatività sulla variabile Zij e le
condizioni binarie sulle variabili Wi, Xij e Yh.
Semplificando PSNRP-TW, supponendo cioè che ogni paziente richieda un solo servizio, il
risultato può essere ricondotto ad un altro algoritmo che fa parte dell'insieme di algoritmi
NP-hard. Quindi si conclude che la complessità di PSNRP-TW è NP-hard.
CONFRONTO DELLE SOLUZIONI
Dopo aver esposto il problema ed impostato la soluzione ora mi concentrerò sulla differenza
tra due tipologie di risoluzione, che seguendo strade diverse cercano di raggiungere sempre la
massimizzazione della funzione obiettivo.
Nella prima risoluzione, quella ordinaria, la metodologia rispetta tutti i vincoli e trova, con
tempi computazionali significativi, una soluzione che non porta sempre all'ottimo. Questa
utilizza il software Gurobi che è un optimization solver per la programmazione lineare,
quadratica...
L'altra soluzione, cioè quella verso cui verrà rivolta la maggior parte del nostro studio, è
costruita seguendo un metodo euristico utilizzato per risolvere problemi di tipo MILP (multi
integer linear problem) molto simile al cosiddetto Kernel Search, letteralmente “ricerca del
nocciolo”. Questa tecnica si basa sulla divisione del problema in molti sottoinsiemi detti
buckets (secchi) e in un ulteriore insieme di elementi promettenti detto appunto Kernel, il
quale costituisce il punto di partenza per sviluppare la soluzione. Iniziando dal “nocciolo” e
aggiungendo via via sempre più buckets si ottiene il miglioramento della soluzione, ma di
conseguenza aumenta anche il tempo per conseguirla.
I buckets vengono aggiunti in modo tale da considerare sempre il kernel e un solo bucket alla
volta; ovviamente se considerassimo tutti i buckets disponibili arriveremmo alla soluzione
ottima.
Nella nostra trattazione utilizzeremo una variante del Kernel Search (KS), detta IKS dove la I
iniziale sta per Iterative, in questa versione gli elementi dei buckets vengono ordinati 2 volte:
la prima volta si ordinano in maniera non crescente in base al valore ottenuto nella soluzione
del rilassamento del problema.
Il secondo ordinamento riguarda esclusivamente quegli elementi che avevano lo stesso valore
per il criterio precedente: questi ultimi sono ordinati in modo non decrescente secondo il loro
valore di costo ridotto.
I buckets sono iterati 2 volte: nella seconda casistica se ad un paziente manca un solo servizio
che non è stato eseguito nella miglior soluzione attuale, la variabile associata a tale servizio
viene spostata nel bucket superiore, aumentando così le probabilità di ottenere una soluzione
con premi di completamento più elevati.
Ora quindi per confrontare la soluzione di Gurobi con quella IKS, non ci resta altro che
simulare uno scenario di vita quotidiana, ossia:
• prendendo una superficie quadrata di 30 km per lato;
• generando al suo interno 40 istanze, cioè 40 pazienti;
• prendendo come velocità media per spostarsi tra due punti 60 Km/h;
• definendo con Tmax il tempo lavorativo di un infermiere, cioè 6 ore;
• tenendo conto che i primi 20 pazienti richiedono un numero di servizi che oscilla tra
tra 1 e K (può valere o 5 o 10) mentre l'altra metà ne richiede un numero che varia tra
1 e Ɵ (varia tra 2 e 5).
Tali servizi sono classificati in base al loro tempo di esecuzione:
• tra 5 e 15 minuti (durata breve); questi sono il 60% del totale e hanno una finestra
temporale espressa in secondi che varia tra [0,120];
• tra 15 e 45 minuti (durata media); questi sono il 40% del totale e hanno una finestra
temporale espressa in secondi che varia tra [120,240];
• tra 45 e 95 minuti (lunga durata); questi sono il 20% del totale e hanno una finestra
temporale espressa in secondi che varia tra [240,360];
il profitto Pi derivante da ogni servizio portato a termine è uno scalare tra [2,200] (dove 200
individua un'urgenza massima), mentre la ricompensa Ah, che deriva dal fatto che tutte le
richieste di un singolo siano portate a termine, è calcolata come la percentuale della somma
totale dei profitti dei servizi richiesti dal paziente stesso.
Per entrambi i programmi è stato utilizzato un calcolatore con sistema operativo Windows7,
processore i7 e 64 Gb di ram; usando questa macchina sono state fatte varie prove
modificando il fattore moltiplicativo che ci fornisce Ah e il valore K, cioè i tipi di servizio.
Tra tutti i confronti disponibili, quello che fa emergere l'effettivo valore di IKS è il seguente:
In questo esempio troviamo un fattore moltiplicativo di ricompensa di 0.5 e un numero di
servizi possibili per la prima metà dei pazienti di 5. Vengono inoltre definite:
obj come il valore della funzione obiettivo e sat(%) come la percentuale di pazienti totalmente
soddisfatti.
Ricordo anche che: M è l'insieme dei malati, F è l'insieme degli infermieri e Ɵ è il numero di
servizi da prestare alla seconda metà dei pazienti.
In questo esempio si decreta una vittoria schiacciante di IKS che in un sesto del tempo
rispetto all'algoritmo tradizionale (10 minuti anziché un'ora), ottiene risultati migliori sotto
quasi tutti i campi di interesse. Visto che la peculiarità di questo algoritmo è la gratificazione
del paziente, i programmatori si possono ritenere molto soddisfatti perché, sia in media sia nel
singolo, la sat(%) è migliore dell'altro algoritmo che utilizza Gurobi.
CONCLUSIONI
Considerando che l'84% di coloro che richiedono l'ADI (assistenza domiciliare integrata)
sono over 65 e che l'invecchiamento della popolazione europea è in rapida crescita, la
richiesta di prestazioni sanitarie a domicilio avrà un notevole incremento.
Come proposto anche dagli autori dell'articolo, in futuro si potrà migliorare l'algoritmo con
l'introduzione di nuovi vincoli come l'impostazione del problema su più giorni (multiperiodo),
oppure trasformando in incognite i parametri che erano stati solo stimati, come i tempi di
viaggio da paziente a paziente.
Secondo me per migliorare questo algoritmo è necessaria l'introduzione di una divisione
dell'insieme che qui è definito come N, ossia quello degli infermieri. Io lo dividerei,
introducendo le figure degli operatori socio-sanitari, cioè coloro che hanno le competenze per
l'assistenza di base dei pazienti e sarebbero adatti per la fascia di persone che necessitano di
un aiuto nei bisogni primari come può essere l'igiene personale e l'acquisto e
somministrazione degli alimenti.
Secondo me il difetto dell'algoritmo analizzato sta nel non considerare la variabile del tempo
che passa tra l'arrivo alla casa del paziente e l'effettivo inizio del servizio sanitario offertogli.
Questo perché le prestazioni sanitarie portano in sé la componente relazionale che necessita di
tempo per essere eseguita, a maggior ragione nella popolazione anziana.
BIBLIOGRAFIA e SITOGRAFIA
• Gobbi, D. Manerba, R. Mansini, R. Zanotti - A Kernel Search for a Patient
Satisfaction-oriented Nurse Routing Problem with Time-Windows – 2019
• Luca Cecchetto, Gianluigi Romeo – Oss manuale operatore socio-sanitario – 2019
• Ruth F. Craven,Constance J. Hirnle -Principi fondamentali dell'assistenza
infermieristica – 2013
• Brunner & Suddarth - Infermieristica medico-chirurgica vol.1 -2017
• www.istat.it ultimo accesso al 07-05-2020
• www.harvard.edu ultimo accesso al 07-05-2020
• www.salute.gov.it ultimo accesso al 07-05-2020

More Related Content

Featured

How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
ThinkNow
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
 

Featured (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

PSNRPTW_ts-inginf-fast-track

  • 1. UNIVERSITÀ DEGLI STUDI DI TRIESTE Dipartimento di Ingegneria e Architettura Corso di Studi in Ingegneria Elettronica e Informatica SOME CONSIDERATIONS ABOUT: PSNRP-TW Patient Satisfaction-Oriented Nurse Routing Problem with Time Window Tesi di Laurea Triennale Laureando: Stefano SIMONETTO Relatore: prof. Lorenzo CASTELLI _____________________________________ ANNO ACCADEMICO 2019-2020
  • 2. INTRODUZIONE Il principale argomento trattato dall'articolo scientifico che ho analizzato, riguarda la mobilità di un infermiere durante la giornata lavorativa per fornire servizi di assistenza a pazienti distribuiti su una determinata area geografica; a differenza di altri problemi di instradamento, questo si concentra su due obiettivi particolari: cerca di portare al massimo appagamento del paziente e consente che ogni servizio reso avvenga in una precisa finestra temporale. Successivamente tratterò il problema dal punto di vista più ingegneristico che sanitario, dove cercherò di massimizzare quanto detto con l'apposizione di specifici vincoli riconducendomi ai noti problemi di programmazione lineare. Infine confronterò i risultati computazionali ottenuti con due metodi risolutivi differenti ed approfondirò gli aspetti fondamentali di uno di questi: il Kernel Search. La trattazione di tali argomenti si fa sempre più importante, perché le strutture sanitarie sono orientate alla riduzione delle tempistiche di ospedalizzazione, favorendo il miglioramento del servizio di assistenza domiciliare. Oltretutto rafforzando questo settore si avranno meno recidive dei pazienti in convalescenza, evitando così sovraccarichi di lavoro nelle strutture ospedaliere. É altresì vero che negli ultimi mesi tutto il mondo ha dovuto (e continua a) confrontarsi con un nemico invisibile chiamato Covid-19. A sostegno della mia tesi intendo portare un'analisi condotta dall'università di Harvard, in merito ai risultati ottenuti dalle due regioni del mondo occidentale che per prime sono state colpite da questo nuovo coronavirus, attraverso uno studio in cui vengono confrontati il loro modus operandi per contrastare la pandemia. Lombardia e Veneto sono diventate le due apripista optando per scelte molto diverse nella gestione del problema; i risultati stanno dando ragione al Veneto che ha puntato in maniera decisa sull'assistenza domiciliare-territoriale per evitare, trattando i pazienti nelle loro dimore, di trasformare gli ospedali in potenziali bombe biologiche. Un'ulteriore motivazione che mi porta a confermare la bontà della scelta di investire e migliorare l'assistenza domiciliare è il supporto indiretto alla famiglia del malato. In primo luogo si evita che i familiari si rechino presso la struttura ospedaliera per le visite o per altri motivi e, in secondo luogo i pazienti, spesso anziani, hanno la possibilità di permanere presso le loro abitazioni e recuperare, per quanto possibile, le loro capacità residue vicino ai loro cari. Suddetta tipologia di assistenza rappresenta, però, un costo ancora marginale rispetto al totale speso dalla sanità nel nostro Paese: l'ISTAT ha reso noto per la prima volta tre anni fa, le spese
  • 3. della sanità in Italia riferite all'anno 2016 , documentando che l'assistenza domiciliare impattava sul bilancio dello Stato per circa 2 miliardi l'anno a fronte dei 149 miliardi e mezzo totali. TRATTAZIONE DEL PROBLEMA Il NRP (Nurse Routing Problem) fa parte della famiglia dei problemi di instradamento e cerca il percorso migliore per gli infermieri che devono svolgere servizio di assistenza domiciliare; data la complessità ha anche molte varianti. Alcune di queste si occupano dell'ambito ambientale, con la minimizzazione della CO2 emessa dalle auto utilizzate dal personale sanitario per recarsi al domicilio dei pazienti, altre si occupano di avere personale adeguatamente competente per la patologia che ogni paziente presenta (es. esecuzione della chemioterapia domiciliare che è un'operazione molto delicata, la quale può essere eseguita solo da infermieri con determinate abilità). La variante approfondita dall'articolo è il PSNRP- TW (Patient Satisfaction-oriented NRP with Time Window), che è il NRP con l'aggiunta di due vincoli. Il primo porta alla soddisfazione del paziente che è massima se tutti i bisogni dello stesso vengono soddisfatti nel corso della giornata; l'altro vincolo riguarda la finestra di tempo all'interno della quale l'operatore deve iniziare a svolgere i servizi richiesti dall'utente. Andando più nello specifico possiamo dire che il servizio offerto dal personale sanitario è riservato ad un'élite di pazienti, nel senso che questi vengono selezionati al fine di soddisfare tutte le loro esigenze. Dopo questa breve introduzione, formulo il problema dal punto di vista matematico; definisco con: – M={1, 2, …, m} l'insieme dei pazienti; – F={1, 2, …, f} l'insieme degli infermieri; – K={1, 2, …, k} l'insieme dei tipi di servizio; – N={1, 2, …, i} l'insieme di ogni possibile servizio richiesto da ogni singolo paziente; L'insieme N è suddiviso in m sottoinsiemi disgiunti e non vuoti Nh, dove h={1, 2, …, m}, ciascuno associato ad un diverso paziente dove N è dato dall'unione per h che va da 1 a m di Nh con Nh ∩ Nh' = per h∅ ≠h'. L'ipotesi dell'articolo dove tutti gli infermieri possiedono le competenze necessarie per svolgere tutti i servizi richiesti dai pazienti non è banale e questo ci darà lo spunto per una futura riflessione. Il secondo vincolo del problema, ovvero la finestra di tempo, deve sottostare ad un'ipotesi molto precisa, ossia che da quando l'infermiere scende dall'auto a quando inizia ad erogare il
  • 4. servizio, il tempo trascorso sia nullo. Ogni servizio ha un tempo di esecuzione predefinito e una precisa finestra che rappresenta l'intervallo di tempo entro il quale deve iniziare l'erogazione dello stesso. Un profitto positivo Pi è assegnato a ogni servizio i∈N, in più una ricompensa Ah viene fornita a ciascun sottoinsieme Nh, solo se TUTTI i nodi in Nh sono stati visitati. Lo stesso paziente può essere visitato da più infermieri nell'arco della giornata, mentre un servizio può essere eseguito esattamente da un solo infermiere. Un'ulteriore definizione è il tempo impiegato per viaggiare dal nodo i al nodo j, questa quantità che indichiamo con Tij è uno scalare non negativo. Si deve tenere conto inoltre che l'infermiere deve partire all'inizio del turno di lavoro dal nodo 0 e terminare al tempo Tmax al nodo N+1. Prima di passare ad una trattazione puramente di programmazione lineare ho bisogno di definire altre variabili, 3 binarie (Wi, Xij ,Yh) e una continua (Zij): • Wi vale 1 solo se il nodo i∈N è stato visitato; • Xij vale 1 solo se l'arco (i,j) è stato percorso; • Yh vale 1 solo se tutti i nodi in Nh sono visitati; • Zij indica il tempo di arrivo a j quando si arriva da i. Dopo aver descritto accuratamente tutto ciò che è necessario per l'analisi dell'algoritmo, proseguo con la definizione e la spiegazione della funzione obiettivo e dei relativi vincoli. Funzione obiettivo: max Σi N∈ Pi Wi + Σh M∈ Ah Yh come già detto in precedenza, il fine è quello di portare alla soddisfazione di tutti i servizi sanitari richiesti dall'élite di pazienti; questo si ottiene massimizzando i premi ottenuti dall'esecuzione di un servizio (Pi Wi) più un'ulteriore ricompensa che deriva dal completamento degli stessi per ogni singolo paziente (Ah Yh). L'ottimo lo si consegue se si sottostà ai seguenti vincoli: • condizioni di parità (se un nodo è stato visitato, l'arco che porta ad esso è stato percorso); • creazione di un numero di itinerari minore o uguale al numero degli infermieri disponibili; • rendere impossibile la creazione di subtours e assicurare che, se il nodo j viene visitato
  • 5. immediatamente dopo il nodo i, il tempo trascorso tra i tempi di arrivo nei due nodi deve essere uguale al tempo di servizio nel nodo i più il tempo di di viaggio tra i e j; • fissare un limite al tempo minimo per raggiungere il primo nodo dopo il deposito (nodo 0); • fissare un limite superiore e un limite inferiore al tempo di arrivo al nodo j partendo da i. Il limite inferiore è dato dalla somma tra il tempo di viaggio tra 0 e i, il tempo di viaggio tra i e j e il tempo di servizio al nodo i (tutto questo ovviamente se attraverso l'arco (i,j)), mentre il limite superiore è dato dalla differenza tra: Tmax, cioè il massimo delle ore a disposizione degli infermieri, il tempo di servizio al nodo j e il tempo di viaggio tra il nodo j e il nodo N+1 (cioè dove deve arrivare l'infermiere alla fine della giornata lavorativa); • iniziare il servizio nella propria finestra di tempo; • Yh vale 1 se e solo se è stato eseguito ogni servizio richiesto dal paziente; • gli ultimi 4 vincoli riguardano le condizioni di non negatività sulla variabile Zij e le condizioni binarie sulle variabili Wi, Xij e Yh. Semplificando PSNRP-TW, supponendo cioè che ogni paziente richieda un solo servizio, il risultato può essere ricondotto ad un altro algoritmo che fa parte dell'insieme di algoritmi NP-hard. Quindi si conclude che la complessità di PSNRP-TW è NP-hard. CONFRONTO DELLE SOLUZIONI Dopo aver esposto il problema ed impostato la soluzione ora mi concentrerò sulla differenza tra due tipologie di risoluzione, che seguendo strade diverse cercano di raggiungere sempre la massimizzazione della funzione obiettivo. Nella prima risoluzione, quella ordinaria, la metodologia rispetta tutti i vincoli e trova, con tempi computazionali significativi, una soluzione che non porta sempre all'ottimo. Questa utilizza il software Gurobi che è un optimization solver per la programmazione lineare, quadratica... L'altra soluzione, cioè quella verso cui verrà rivolta la maggior parte del nostro studio, è costruita seguendo un metodo euristico utilizzato per risolvere problemi di tipo MILP (multi integer linear problem) molto simile al cosiddetto Kernel Search, letteralmente “ricerca del nocciolo”. Questa tecnica si basa sulla divisione del problema in molti sottoinsiemi detti buckets (secchi) e in un ulteriore insieme di elementi promettenti detto appunto Kernel, il quale costituisce il punto di partenza per sviluppare la soluzione. Iniziando dal “nocciolo” e
  • 6. aggiungendo via via sempre più buckets si ottiene il miglioramento della soluzione, ma di conseguenza aumenta anche il tempo per conseguirla. I buckets vengono aggiunti in modo tale da considerare sempre il kernel e un solo bucket alla volta; ovviamente se considerassimo tutti i buckets disponibili arriveremmo alla soluzione ottima. Nella nostra trattazione utilizzeremo una variante del Kernel Search (KS), detta IKS dove la I iniziale sta per Iterative, in questa versione gli elementi dei buckets vengono ordinati 2 volte: la prima volta si ordinano in maniera non crescente in base al valore ottenuto nella soluzione del rilassamento del problema. Il secondo ordinamento riguarda esclusivamente quegli elementi che avevano lo stesso valore per il criterio precedente: questi ultimi sono ordinati in modo non decrescente secondo il loro valore di costo ridotto. I buckets sono iterati 2 volte: nella seconda casistica se ad un paziente manca un solo servizio che non è stato eseguito nella miglior soluzione attuale, la variabile associata a tale servizio viene spostata nel bucket superiore, aumentando così le probabilità di ottenere una soluzione con premi di completamento più elevati. Ora quindi per confrontare la soluzione di Gurobi con quella IKS, non ci resta altro che simulare uno scenario di vita quotidiana, ossia: • prendendo una superficie quadrata di 30 km per lato; • generando al suo interno 40 istanze, cioè 40 pazienti; • prendendo come velocità media per spostarsi tra due punti 60 Km/h; • definendo con Tmax il tempo lavorativo di un infermiere, cioè 6 ore; • tenendo conto che i primi 20 pazienti richiedono un numero di servizi che oscilla tra tra 1 e K (può valere o 5 o 10) mentre l'altra metà ne richiede un numero che varia tra 1 e Ɵ (varia tra 2 e 5). Tali servizi sono classificati in base al loro tempo di esecuzione: • tra 5 e 15 minuti (durata breve); questi sono il 60% del totale e hanno una finestra temporale espressa in secondi che varia tra [0,120]; • tra 15 e 45 minuti (durata media); questi sono il 40% del totale e hanno una finestra temporale espressa in secondi che varia tra [120,240]; • tra 45 e 95 minuti (lunga durata); questi sono il 20% del totale e hanno una finestra temporale espressa in secondi che varia tra [240,360]; il profitto Pi derivante da ogni servizio portato a termine è uno scalare tra [2,200] (dove 200
  • 7. individua un'urgenza massima), mentre la ricompensa Ah, che deriva dal fatto che tutte le richieste di un singolo siano portate a termine, è calcolata come la percentuale della somma totale dei profitti dei servizi richiesti dal paziente stesso. Per entrambi i programmi è stato utilizzato un calcolatore con sistema operativo Windows7, processore i7 e 64 Gb di ram; usando questa macchina sono state fatte varie prove modificando il fattore moltiplicativo che ci fornisce Ah e il valore K, cioè i tipi di servizio. Tra tutti i confronti disponibili, quello che fa emergere l'effettivo valore di IKS è il seguente: In questo esempio troviamo un fattore moltiplicativo di ricompensa di 0.5 e un numero di servizi possibili per la prima metà dei pazienti di 5. Vengono inoltre definite: obj come il valore della funzione obiettivo e sat(%) come la percentuale di pazienti totalmente soddisfatti. Ricordo anche che: M è l'insieme dei malati, F è l'insieme degli infermieri e Ɵ è il numero di servizi da prestare alla seconda metà dei pazienti. In questo esempio si decreta una vittoria schiacciante di IKS che in un sesto del tempo rispetto all'algoritmo tradizionale (10 minuti anziché un'ora), ottiene risultati migliori sotto quasi tutti i campi di interesse. Visto che la peculiarità di questo algoritmo è la gratificazione del paziente, i programmatori si possono ritenere molto soddisfatti perché, sia in media sia nel singolo, la sat(%) è migliore dell'altro algoritmo che utilizza Gurobi. CONCLUSIONI Considerando che l'84% di coloro che richiedono l'ADI (assistenza domiciliare integrata) sono over 65 e che l'invecchiamento della popolazione europea è in rapida crescita, la richiesta di prestazioni sanitarie a domicilio avrà un notevole incremento.
  • 8. Come proposto anche dagli autori dell'articolo, in futuro si potrà migliorare l'algoritmo con l'introduzione di nuovi vincoli come l'impostazione del problema su più giorni (multiperiodo), oppure trasformando in incognite i parametri che erano stati solo stimati, come i tempi di viaggio da paziente a paziente. Secondo me per migliorare questo algoritmo è necessaria l'introduzione di una divisione dell'insieme che qui è definito come N, ossia quello degli infermieri. Io lo dividerei, introducendo le figure degli operatori socio-sanitari, cioè coloro che hanno le competenze per l'assistenza di base dei pazienti e sarebbero adatti per la fascia di persone che necessitano di un aiuto nei bisogni primari come può essere l'igiene personale e l'acquisto e somministrazione degli alimenti. Secondo me il difetto dell'algoritmo analizzato sta nel non considerare la variabile del tempo che passa tra l'arrivo alla casa del paziente e l'effettivo inizio del servizio sanitario offertogli. Questo perché le prestazioni sanitarie portano in sé la componente relazionale che necessita di tempo per essere eseguita, a maggior ragione nella popolazione anziana. BIBLIOGRAFIA e SITOGRAFIA • Gobbi, D. Manerba, R. Mansini, R. Zanotti - A Kernel Search for a Patient Satisfaction-oriented Nurse Routing Problem with Time-Windows – 2019 • Luca Cecchetto, Gianluigi Romeo – Oss manuale operatore socio-sanitario – 2019 • Ruth F. Craven,Constance J. Hirnle -Principi fondamentali dell'assistenza infermieristica – 2013 • Brunner & Suddarth - Infermieristica medico-chirurgica vol.1 -2017 • www.istat.it ultimo accesso al 07-05-2020 • www.harvard.edu ultimo accesso al 07-05-2020 • www.salute.gov.it ultimo accesso al 07-05-2020