1 Introduction

Services have become one of the prevalent ways of delivering information technology solutions to customers [1]. Multi-tenancy is one of the key principles of service-orientation [2] and the same services are provided to a diverse group of customers experiencing their own unique operating circumstances. The Capability Driven Development (CDD) [3, 4] has been proposed as an approach for designing and delivering services able to provide expected performance in various contextual situations. This approach assumes that in order to achieve that a service provider must possess a service delivery capability. This capability explicitly defines service delivery goals, identifies contextual elements affecting service delivery and specifies service adaptation mechanisms dealing with contextual changes and non-performance.

This paper focuses on a vehicle routing problem [5] what is on the typical managerial problems faced by many companies, and the problem solving is significantly affected by context [6]. It deals with finding a set of routes served by multiple vehicles that jointly traverse a number of customers. The vehicle routing decision-making problem also must be addressed as a part of the overall fleet management information system [7, 8].

It is assumed that vehicle routing service is provided by a company and it is used by several logistics service providers who operate a fleet of vehicles and service their customers. The routing service is provided on the basis of the common vehicle routing capability possessed by the company. The capability supports customization of the service for the customers and enables knowledge sharing, especially, sharing of contextual information.

The objective of this paper is to develop the vehicle routing capability and to illustrate its application. The vehicle routing capability is developed and delivered following the CDD methodology. Particular attention is devoted to describing capability delivery adjustments, which allow tailoring the service for needs of individual service consumers and adaption of the service depending on its performance and changes in context.

The rest of the paper is organized as follows. Section 1 recaps main concepts of the CDD methodology. The routing problem from the service provider perspective is described in Sect. 3. The routing capability is developed in Sect. 4. That includes definition of routing adjustments. Capability delivery is discussed in Sect. 5. Section 6 concludes.

2 Background

Capabilities are designed on the basis of the capability meta-model [3] following guidelines of the CDD methodology. The CDD methodology also defines activities performed during capability delivery.

2.1 Capability Modeling

The capability model defines service provider’s ability and capacity to deliver an appropriate solution to clients facing specific circumstances. Figure 1 shows a simplified overview of the key elements used in capability modeling. Goals are business objectives the capability allows to achieve. They are measured by KPI. The capability is designed for delivery in a specific context as defined using context elements. The context elements name factors affecting the capability delivery while context situations refer to combinations of context element values. The process element specifies a capability delivery solution.

Fig. 1.
figure 1

Key concepts of capability modeling

In order to ensure that capability is delivered as expected in different contextual situations, adjustments are used to adapt capability delivery [9]. The adjustments take context data and KPI as input and evaluate potential changes in capability delivery. They are also used to implement complex context-dependent decision-making logics.

2.2 Capability Design and Delivery

The capability development is performed according to the CDD methodology. Its main features are:

  • Enterprise modelling phase, which defines information about the digital enterprise necessary to specify requirements for development of capable information systems. It allows involving business people in information system development;

  • Design phase, where the capable information systems is designed on the basis of the existing knowledge in a model-driven manner;

  • Delivery phase, where the capable information system is executed, monitored and adjusted to changes in the operating environment if necessary;

  • Feedback phase, where the system delivery experiences are accumulated and changes in the design are requested.

The capability model is developed during the design phases. The model is used to configure the capability delivery solution. The adjustments are also implemented during the design phase. The CDD methodology focuses on development of adaptable components of the overall capability deliverer solution. Problem area and case specific engineering methods can be used to develop other components. The delivery phase concerns run-time aspects. In the framework of this paper, the main aspect of capability delivery is execution of capability delivery adjustments. The adjustments are executed in separate container and interact with the other parts of the capability delivery solution through well-defined interfaces.

3 Problem Statement

Vehicle routing deals with finding a set of routes served by multiple vehicles that jointly traverse a number of customers [5]. This paper assumes that there are three parties involved in the vehicle routing problem: (1) vehicle routing service provider addressing data processing and planning needs; (2) logistics service provider operating the fleet of vehicles and servicing customers; and (3) customers requesting logistics services.

A company providing routing services develops and operates a vehicle routing solution for logistics service providers. That includes routing software as a service, accumulation of vehicle routing knowledge, data gathering and decision-making support. The services offered are configured for specific logistics service providers.

A company providing logistics services operates a fleet of vehicles. It receives customer service requests on the periodical basis. The customers should be visited within a specified time window. The vehicles should be routed to serve the customers at minimum cost where the cost can be expressed as a sum of multiple factors. The routes start and end at a depot. The main decision variables are vehicle allocation to customers and vehicle arrival time at the customer. The routing problem is formulated as a mathematical programming model and optimal routes are found by performing route optimization.

The company has multiple vehicles routing objectives including customer services level satisfaction, environmental impact reduction and ensuring a safe working environment. The objectives are measured by a set of KPI. Every KPI has a target value specified by management. The route optimization should be performed to take into account these specific KPI and their deviation from the target value. Actual values of KPI depend upon routing decisions made. The route execution is affected by several case specific context factors such as weather, traffic accidents and calendar events. The context factors are beyond company’s control.

Route planning and execution occurs on regular basis. For example, a set of customer requests is received at the beginning of each day, optimal routes are found and customers are visited during the day following these routes. Performance data are accumulated and context data are observed during the route execution. These data are compared with the planned values and deviations are observed. In particular, the actual KPI values are evaluated and compared with those estimated during the route optimization. One of the reasons of potential deviations is that different KPI are mutually contradicting and the right trade-off among the objectives has not been achieved. That can be remedied by changing relative importance of KPI represented by appropriate parameters in the optimization models. The change is performed in an adaptive manner because the right balance is not known in advance.

Similarly, context values are observed and these observations can be used to evaluate relationships among them, decisions-made and performance achieved. This way one can estimate impact of context on performance and this information can be incorporated in the optimization model in an adaptive manner.

4 Routing Capability

The routing capability is designed as a part of collaborative industrial research project with a consulting company. The model is developed to provide a comprehensive view of the vehicle routing problem and it attempts to incorporate all relevant concepts identified by means of literature review and interviews with logistics service providers.

4.1 Capability Model

The capability model developed is shown in Fig. 2. According to the CDD methodology, it consists of three main parts: (1) goal; (2) context; and (3) service delivery solution. These parts of the model were developed in sequence. The vehicle routing problem is a multi-objective problem [10] as manifested by several goals identified as driving routing decisions (the goals are represented by a shaded box with rounded corners and are identified and name and suffix “Gl”). Achievement of the goals is measured by KPI and every KPI also has its target value. The figure shows only a sub-set of goals and their KPI. Sixteen goals were identified in total. All goals area included in the model though only the relevant goals are activated for individual logistics service providers during the capability delivery.

Fig. 2.
figure 2

Vehicle routing capability.

Context elements affecting capability delivery are also identified. The figure shows only a few exemplary context elements and nineteen context elements are identified in total (referenced with suffix “Ctx”). Each context element is measured by one or several measurable properties. Combination of measurable properties used to evaluate a context element can be modified if more suitable data have become available. Different data sources for a measurable property can be used for individual service consumers depending on local data availability.

The context-dependent adaptable part of the vehicle routing solution is represented by three processes: (1) route planning process; (2) route execution process; and (3) performance evaluation process. The route planning process is executed periodically to find travel routes for a given set of customer requests. The route execution concerns actual customer service along the route planned and gathering of feedback information about actual contextual situations experienced and performance achieved. The performance evaluation process uses the feedback information to update parameters of the route planning process.

The capability delivery adaption and decision-making logics is defined in adjustments (identified by suffix “Adj”). The main adjustment is the Route optimization adjustment, which calculates routes to be traversed by vehicles. It takes KPI and context elements as input parameters. It encapsulates the vehicle routing decision-making logics. The routing model implemented in this adjustment is described in Sect. 4.2. This model depends among others upon two sets of parameters, namely, KPI weights and context weights (see Sect. 4.2). Values of these parameters are periodically adapted to steer capability delivery. This adaptive behavior is implemented using KPIAdj and CtxAdj, respectively. CtxAdj takes the context elements as an input while KPIAdj takes KPI as an input.

4.2 Adjustments

Vehicle routing is a complex decision-making problem, which can be expressed mathematically and solved using appropriate methods. A mathematical formulation of the vehicle routing problem in a matrix form is given in Table 1. Its core part is a typical formulation [11] used in many investigations and practical applications. It optimizes routing cost and its main decision-making variable is a binary variable indicating whether a vehicle travels from one client to another. This matrix of decision variables is denoted by X. The main constraints are that each client is visited exactly once, vehicles have finite capacity, customer service time windows, routes start and finish at a depot, if vehicle arrives at a client it also must leave and departure, transit and arrival time dependences.

Table 1. Generic and customizable parts of the routing model.

The vector c represents expense of taking a particular path between two clients. In the generic formulation this expense equals to d, which represents travel distance. Vectors a and b are parameters used to specify constraints.

The generic model is augmented by a part representing individual requirements of specific logistics service providers. These specific requirements concern goals and context. The objective function is augmented by adding a term v’P, where P is a vector of penalties for not meeting company’s specific goals and v is a vector of weights indicating a relative importance of each goal. A corresponding set of constraints (Eq. 4) is also added to the model. These constraints represent relationships among target values of KPI and values estimated by the model. kpi T are target values set by decision-makers and KPI C is a KPI value estimated using the routing model. This estimated value depends on the decision variable X. The constraint implies that if the target KPI value is not achieved then a positive penalty is added to the objective function. The penalty term in the objective function and the KPI constraint are added according to the goals and their measurements specified in the goal model.

Additionally, constraint Eq. 3 is also modified. The cost of the route is now calculated as a sum of the distance and the weighted impact of context factors (the weight vector w). This modification implies that the cost parameters characterize different aspects of the route. For instance, there is a short route where accidents frequently occur; the aggregated cost parameter captures these characteristics. The aggregated cost parameter is defined as c ijk implying that there are k different routes leading from i to j. These different routes are obtained by finding the best path from i to j using different sets of w. For instance, one set of w favours the shortest path while another set of w favours the safest path.

The routing model depends on a number of weighting parameters. The initial values of these parameters are specified in a judgmental manner. Subsequently, they are continuously updated to improve routing performance. The adaption is performed periodically once information about route execution is accumulated in the transportation planning application. Adaptation is also one of the mechanisms used to customize the solution.

5 Sample Routing Results

The vehicle routing solution is implemented on the basis of the capability model and can be used by various logistics service providers. The capability delivery solution is implemented as a web based geographical information system, which includes modules for vehicle routing setup, demand data management, context data management, route planning, route execution and performance evaluation. Some of these models are configured according to the capability model. The vehicle routing setup uses the list of goals, KPI and context elements. The context data management module uses information about measurable properties and establishes binding with case specific data sources. Route planning and performance evaluation modules besides their other functions use route optimization, KPI weights and context weights adaption adjustments to implement the context-aware performance driven logics. The adjustments specified in the capability model are packaged as web services. The respective modules invoke these web services for decision-making purposes.

The routing solution is set-up for two logistics services providers, namely, LSP1 and LSP2. The providers receive client requests on the daily bases and must visit these clients during specified time windows. Both providers have identified that their primary KPI are KPI1) customer service measured as a percentage of the clients served during the specified time windows; KPI2) travel cost calculated as time spent on deliveries times hourly rate; KPI3) vehicle operating cost incurred for every vehicle used on a given day regardless of distance travelled; and KPI4) safety aimed at avoiding traversal of accident prone routes measured by an index characterizing frequency of the accidents. LSP1 also indicates that two major context elements affecting its operations are: CTX1) route variability measured as variation of driving time from day to day; and CTX2) route safety measured as a number of accidents observed for the given route. LSP2 does not consider these context factors significant and does not include them in the model.

Routing is performed for 20 clientrequests received for a single day. The travel distance and time data are retrieved from OpenStreetMap (https://www.openstreetmap.org). The accident data are gathered from a web mapping service. The same client data set is used for LSP1 and LSP2.

Figure 3 illustrates differences between routing results for LSP1 and LSP2. It can be observed that different paths are selected on several occasions. In the case of LSP2, the traveling distance is the only factor used to evaluate cost associated with traveling from one customer to another. LSP1 also took into account other contextual factors resulting leading to a different set of routes what indicates context-dependency in path selection.

Fig. 3.
figure 3

Routing results for LSP2 (upper panel), LSP2 including traffic jams data (middle panel) and LSP2 (bottom panel). Notable differences are marked with green dots (lower panel) and traffic jams avoided by LSP1 are marker with blue boxes (middle panel). (Color figure online)

The adaption is performed to alter balance among KPI in the objective function. This adaption is invoked periodically using the KPIAdj adjustment as performance data have been accumulated. Five adaption cycles are performed for LSP1. The same set of customer requests is used in all five cycles though different customer requests would be expected in real life situations. Table 2 shows the adaption results. KPI values are reported relative to the target values. Values above one indicate that the KPI target value has been achieved. In the first cycle the set of weights v has values (0.25,0.25,0.25,0.25). Given these parameters, the target values are not achieved for KPI1 and KPI2. Adaption allows to reach the target value for KPI2 already after the third cycle with v = (0.32, 0.16, 0.36, 0.16). The value of KPI1 changes from 0.65 to 0.75 though the target value cannot be achieved. The final set of weights is (0.277, 0.102, 0.518, 0.103).

Table 2. KPI weights and values depending on the adaption cycle

6 Conclusion

The paper investigates applicability of the CDD methodology for solving the vehicle routing problem. It shows that this methodology can be used to design the vehicle routing capability, which serves as a basis of providing customized services to various logistics service providers. The key concepts used are KPI, context and adjustments. KPI describe vehicle routing objectives, context defines routing circumstances and adjustments encapsulate routing decision-making logics and adapt capability delivery depending on context situation and performance observed. The adjustments are implemented as context-dependent algorithms optimizing attainment of specified objectives.

The vehicle routing capability is design and adjustments for route optimization and adaptation of routing parameters are implemented. These are used in an illustrative example showing that routing results are indeed context dependent and adaption allows to improve routing performance by balancing multiple-criteria.