# Matheuristics and Column Generation for a Basic Technician Routing Problem
## 6 Computational Results
### Results with Constructive Matheuristics
#### 6.3.2 Constructive Matheuristics Iterating by Buckets of Jobs  
The constructive heuristics of Section 4.3 iterating with buckets of jobs are more efficient. The results of Table 4 illustrate that slight improvements are obtained using \(\mathcal{F}^{assign,\leqslant}\) rather than \(\mathcal{F}^{assign,=}\) and that considering the TW amplitude to possibly realize jobs is better than considering only the number of technicians able to realize the job. The reason is that rarity of jobs is a key element in the order of local optimizations. Increasing the number of jobs in the local optimizations tends to increase the quality of solutions, and some counter-examples are found where the 10 jobs optimization results in worse results than using the five jobs optimization. Indeed, even if the 10 jobs optimization contains twice the amount as five jobs optimization and would be seen as better local optimization, the optimality of local optimization in greedy algorithms is not a guarantee of the quality of the final solution. Local Branching insertions of Section 4.4 provides aggressive heuristics that are able to find much better solutions but also frequently resultsin solutions that do not allocate the maximal number of jobs, especially for the most constrained instances.  
\begin{table}
\begin{tabular}{l l l l l l l l l l l} \hline  & **Sort** & **Fix** & **Fail** & **BKS** & **Mean** & \(\sigma\) & **min** & **Q1** & **Med** & **Q3** & **Max** \\ \hline  
leqslant}\) & 10 & 0 & 54.32\% & 25.52\% & 25.59\% & 35.88\% & 49.45\% & 65.79\% & 116.51\% \\ \hline Best & Constr & & 1 & 0 & 13.17\% & 8.99\% & 1.84\% & 7.57\% & 11.97\% & 17.20\% & 38.70\% \\ \hline \end{tabular}
\end{table}
Table 4: Comparison of the statistical indicators presented in Section 6.1.2 using several constructive matheuristics for all the instances. \(n\)job denotes Algorithm 2 grouping in subsets of n jobs, and 1 tic denotes Algorithm 1. For job insertion, the initial sorting of jobs is based on the number of technicians that can realize the jobs (nbTec) or with the cumulated time considering TW constraints (timeJob). Variable fixing in MILP local optimization includes \(\mathcal{F}^{assign,\leqslant}\) or \(\mathcal{F}^{assign,\leqslant}\).  
\begin{table}
\begin{tabular}{l l l l l l l l l l} \hline  & **Fail** & **Mean** & \(\sigma\) & **min** & **Q1** & **Med** & **Q3** & **Max** \\ \hline LocalSolver 30 s & 2 & 6.05\% & 4.20\% & 0.85\% & 2.73\% & 5.06\% & 8.12\% & 16.04\% \\ LocalSolver 60 s & 2 & 4.50\% & 3.51\% & 0.64\% & 2.11\% & 3.58\% & 6.38\% & 14.41\% \\ LocalSolver 300 s & 2 & 1.96\% & 1.96\% & 0.00\% & 0.45\% & 1.29\% & 2.69\% & 7.14\% \\ LocalSolver 600 s & 2 & 1.03\% & 1.01\% & 0.00\% & 0.14\% & 0.90\% & 1.57\% & 3.51\% \\ LocalSolver 900 s & 1 & 0.94\% & 1.06\% & 0.00\% & 0.03\% & 0.40\% & 1.57\% & 3.51\% \\ \hline RMP\_INT\_HEUR & 0 & 1.07\% & 1.27\% & 0.00\% & 0.05\% & 0.63\% & 1.60\% & 3.90\% \\ LAG\_HEUR & 0 & 0.73\% & 1.01\% & 0.00\% & 0.01\% & 0.34\% & 1.06\% & 3.46\% \\ LAG\_RINS & 0 & 0.20\% & 0.34\% & 0.00\% & 0.00\% & 0.04\% & 0.25\% & 1.18\% \\ LAG\_RINS+VND & 0 & 0.10\% & 0.26\% & 0.00\% & 0.00\% & 0.00\% & 0.06\% & 0.97\% \\ \hline
5 job,nbTec+VND & 0 & 1.90\% & 2.29\% & 0.00\% & 0.23\% & 0.92\% & 2.80\% & 7.31\% \\
5 job,timeJob+VND & 0 & 2.03\% & 2.34\% & 0.00\% & 0.25\% & 1.09\% & 3.16\% & 8.38\% \\
10 job,nbTec+VND & 0 & 2.38\% & 2.67\% & 0.00\% & 0.51\% &