# Evolving Dispatching Rules for Dynamic Vehicle Routing with Genetic Programming
## 8 Conclusions and Future Work
### Future Work  
There are a lot of possibilities for the improvement of this approach; for instance, in our experiments we used only single-objective optimisation algorithms. Some problems naturally lend themselves to multiobjective optimisation, which is also the case with VRPvariants. Separate objectives that can be individually observed include the number of vehicles, travel time and/or duration, customer response time and deviation, quality and tardiness of service etc. Previous studies show that it is possible to obtain high quality solutions that successfully optimize separate objective criteria and let the operator select the most appropriate heuristic [57; 58; 59]. What is more important, multiobjective heuristics can still manage to obtain solutions whose performance regarding a single criteria does not deteriorate compared to the ones evolved with single criteria optimisation.  
Another research direction is the incorporation of rollout approach with the evolved constructive heuristics [60; 61]. In this scenario, the meta-algorithm tests all possible decisions at the current moment in time (e.g., all valid customers are considered), and all subsequent decisions (later customers) are made using the priority function, creating the schedule up to the planning horizon. After such multiple simulations, the immediate decision that led to the best performance up to the planning horizon is made. Rollout can significantly improve the performance of constructive heuristics, with relatively simple modifications when creating a schedule. However, this is only possible under two conditions: firstly, if information about future service requests is available, and secondly, if there is additional time to spend on improving the initial solution. Still, this may prove to be one of the most effective ways of improving the quality of automatically created heuristics.  
The hyper-heuristic approach is also amenable to other representations of priority functions: apart from the tree-based GP we used, other GP variants could be used to encode the priority function, such as Cartesian Genetic Programming [62], Gene Expression Programming [63], geometric semantic GP [64], dimensionally aware GP [65], and others [66]. Furthermore, different regression methods may be used instead of the GP representation, such as neural networks or Support Vector Regression (SVR).  
Moreover, since the evolution produces not one, but a set of potential candidates for priority function, an ensemble approach can be utilised to try and improve the decision-making process [67]. Here, instead of a single priority function that can misjudge a situation, several functions combine their votes into a single decision for the next customer to service.  
Conceptualization, D.J., T.C. and D.D.; methodology, D.J. and D.D.; software, D.J., M.D. and K.B.; validation, D.J.; formalism analysis, D.J.; investigators, D.J.; acouration, D.J. and J.F.; writing--original draft preparation, D.J. and M.D.; visualization, D.J.; supervision, D.J. and T.C.; project administration, K.B.; funding acquisition, D.J. and J.F. All authors have read and agreed to the published version of the manuscript.  
This work has been supported in part by Croatian Science Foundation under the project IP-2019-04-4333 and by the European Regional Development Fund under the project KK.01.2.1.01.0120.  
The data presented in this study are available on request from the corresponding author.  
The authors declare no conflict of interest.