# Balancing Staff Finishing Times vs. Minimizing Total Travel Distance in Home Healthcare Scheduling
## 3 Mathematical Modeling  
As previously mentioned, the home healthcare routing and scheduling problem can be described as a vehicle routing problem with time windows and mixed integer programming. Caretakers have to start their route at the medical center and proceed to visit patient nodes. Only one caretaker can visit a patient node to provide healthcare services. Note that services can only begin after their earliest time window. If caretakers arrive early, they must wait until the specified time is reached. In addition, caregivers must begin before the end of the time window or the latest starting time, a restriction known as hard time windows. After completing their service at the final patient node, the caregiver must return to the medical center. There are two main objective functions in this case: minimizing the total finishing time difference and minimizing the total travel distance. Minimizing the total finishing time difference can help achieve a balanced workload among caretakers, as they will complete their work very close to each other. As a result, the number of tasks per caretaker is generally similar. Note that the total finishing time difference means the sum of the absolute value which is not in a linear form. The required parameters for our problem are listed below. Parameters:  
\(N=\{0,1,2,\ldots,\mathcal{N}\}\) a set of patient nodes where node 0 represents origin node (health center or depot);  
\(K=\{1,2,\ldots,\mathcal{K}\}\) a set of caretakers;  
\(e_{j}=\) the earliest starting time for patient node \(j\);  
\(l_{j}=\) the latest starting time for patient node \(j\);  
\(q_{j}=\) demand for patient node \(j\); \begin{table}
\begin{tabular}{c c c} \hline \hline
**Reference** & **Objective Function** & **Solution Method** \\ \hline [PERSON] and [PERSON] [21] & Multi-objective of minimizing total cost, carbon-emission minimization, and maximizing customer-satisfaction & Two-phase approach, the equivalent auxiliary crisp model and the efficient fuzzy multi-objective method \\ \hline [PERSON] et al. [18] & Minimize total travel cost and penalty cost for violating the time windows & Danzig-Wolfe decomposition and the branch and price algorithm \\ \hline [PERSON] et al. [7] & Minimizing weighted sum of non-preference and total traveling time & Greedy randomized heuristic \\ \hline [PERSON] et al. [20] & Bi-objectives of minimizing total cost including routing and overtime cost and minimizing inconvenience cost & Multi-directional local search \\ \hline [PERSON] et al. [22] & Bi-objectives for minimizing total cost and carbon emissions. & Simulated annealing algorithm and the salp swarm algorithm \\ \hline [PERSON] et al. [25] & Minimize total cost and total weighted completion time for multi-skill routing problems & Two-phase approach, first clusters and then improves using variable neighborhood search \\ \hline [PERSON] and [PERSON] [16] & Minimized the total completion time for each patient node & Particle swarm optimization \\ \hline [PERSON] et al. [19] & Minimize the weighted sum of total travel time and service time, working time, and penalty cost & Exact \\ \hline [PERSON] et al. [26] & Multi-objective for minimizing total cost, greenhouse gas releases, maximum time spent by each caretaker, and maximizing the matching level between nurses and patients & Variable neighborhood search \\ \hline [PERSON] et al. [27] & Minimizing cost function derived from the customer satisfaction & Adaptive genetic algorithm \\ \hline \hline \end{tabular}
\end{table} 
Table 1: _Cont._\(Q=\) maximum capacity for each caretaker;  
\(D=\big{[}d_{ij}\big{]}=\) traveled time matrix where \(d_{ij}\) is the traveled time from node \(i\) to \(j\);  
\(s_{j}=\) service time for service \(j\);  
\(r_{jk}=1\) if the vehicle \(k\) can visit patient \(j\);  
\(M=\) A large number. For variables, there is a binary variable \(x_{ij}^{k}\) representing the decision of vehicle (caretaker) \(k\) to travel on the route. The starting time variable \(t_{j}\) represents time that the caretaker starts the healthcare services.