• No results found

Optimization of Quality in Home Care

N/A
N/A
Protected

Academic year: 2022

Share "Optimization of Quality in Home Care"

Copied!
62
0
0

Loading.... (view fulltext now)

Full text

(1)

Optimization of Quality in Home Care

CARL CRONSIOE

KTH ROYAL INSTITUTE OF TECHNOLOGY SCHOOL OF ENGINEERING SCIENCES

(2)
(3)

CARL CRONSIOE

Degree Projects in Optimization and Systems Theory (30 ECTS credits) Degree Programme in Applied and Computational Mathematics (120 credits) KTH Royal Institute of Technology year 2017

Supervisor at Lugn & Ro: Roger Svensson Supervisor at KTH: Per Enqvist

Examiner at KTH: Per Enqvist

(4)

TRITA-MAT-E 2017:41 ISRN-KTH/MAT/E--17/41--SE

Royal Institute of Technology School of Engineering Sciences KTH SCI

SE-100 44 Stockholm, Sweden URL: www.kth.se/sci

(5)

Abstract

Optimization of Quality in Home Care

As the older population grows larger there is a growing need to provide health care at home. This services are generally done without operational research. As more people will require home care there will be a need to increase the efficiency of the service while keeping the quality high. The purpose of this thesis is to investigate how we can use operation research in home care as well as define how we can model the quality and use those quality parameters in order to offer the best possible ser- vice.

The model uses VRP with Time windows in order to schedule the routes and in- corporates service requirements at the customers. A solution is obtained by first constructing an initial solution that fulfills the duration constraint. Then it uses a lo- cal search with a dynamic insertion heuristic to improve on the solution. Tabu search is used as a meta-heuristic to prevent the solution the get stuck in a local minima.

The solver is used in order to optimize the quality parameters. The result obtained can be used to help home care providers to determine the level of quality they can supply with a limited budget.

Keywords: Home Care, Vehicle Routing Problem, Time Windows, Insertion Heuris- tic, Tabu Search

(6)
(7)

När den äldre befolkningen blir större växer behovet av att tillhandahålla vård i hemmet. Denna tjänst använder i allmänhet inte systemteori. Eftersom fler män- niskor kommer att behöva hemtjänst kommer det att finnas behov av att öka ef- fektiviteten samtidigt som kvaliteten hålls hög. Syftet med denna avhandling är att undersöka hur vi kan använda systemteori och optimering inom hemtjänst samt definiera hur vi kan modellera kvaliteten och använda dessa kvalitetsparametrar för att erbjuda bästa möjliga service.

Modellen använder VRP med Time windows för att schemalägga rutterna och inko- rporerar servicebehov hos kunderna. En lösning erhålles genom att först bygga en initial lösning. Sedan använder den en lokal sökning med en dynamisk heuristisk för att förbättra lösningen. Tabu search används som en meta-heuristik för att förhin- dra att lösningen fastnar i lokala minima.

Algoritmen används för att optimera kvalitetsparametrarna. Resultatet kan använ- das för att hjälpa leverantörer av hemtjänst att bestämma vilken kvalitetsnivå de kan leverera med en begränsad budget.

(8)
(9)

ments during the work with this thesis.

I am also grateful for having Roger Svensson at Lugn & Ro as my supervisor. Thank you for great guidance and help through advice and discussions.

(10)
(11)

Contents

Abstract iii

1 Background 1

2 Description of the Problem 3

2.1 Customers . . . 3

2.2 Care giver . . . 4

3 Model and Optimization of Quality 7 3.1 Optimization of qt . . . 8

4 Vehicle Routing Problem with Time Windows 11 4.1 Problem formulation . . . 11

4.2 Customers . . . 11

4.3 Workers . . . 11

4.4 Time Window . . . 12

4.5 Visits . . . 12

4.6 Depot and Routes . . . 13

4.7 Service . . . 13

4.8 Working hours . . . 14

4.9 Objective . . . 14

4.10 Limitations . . . 15

4.11 Literature Review . . . 15

4.12 Mathematical formulation . . . 16

5 Heuristic Methods 19 5.1 Simple heuristics - initial solution . . . 19

5.2 Insertion procedure . . . 20

5.2.1 Cost Function . . . 20

5.2.2 Removal of a customer . . . 21

5.2.3 Insertion into new route . . . 21

5.2.4 Route Construction . . . 22

5.3 Tabu Search . . . 23

5.3.1 Diversification . . . 24

5.4 Moves . . . 24

6 Numerical results 27 6.1 Proof of concept . . . 27

6.2 Optimizing Time Windows . . . 31

6.3 Comparing scalability of the algorithms . . . 32

6.4 Parameter testing . . . 32

(12)

viii

7 Discussion 35

7.1 Improvement on the model . . . 35

7.2 Shared Visits . . . 35

7.3 Stochasticity . . . 35

7.4 Algorithm . . . 35

7.5 Testing Method . . . 36

8 Conclusion 37 A Appendix A 39 A.1 Data for Proof of Concept . . . 39

A.2 Result Parameter testing . . . 40

Bibliography 43

(13)

List of Figures

4.1 Example of routes . . . 13

5.1 Change of route . . . 22

5.2 2-opt moves . . . 25

5.3 Osmans λ-interchange . . . 26

6.1 The objective value in Proof of Concept . . . 30

6.2 Solution of Proof of Concept . . . 30

6.3 Cost with decrease in the length of the time window . . . 31

6.4 Computaion time with increasing number of iterations . . . 32

(14)
(15)

List of Symbols

QC Total quality for customers qE Quality for efficiency qt Quality for being on time qm Quality depending on mood qjs Quality for job satisfaction ql Quality for length of service QG Total quality for care giver qp Personnel cost

qd Transportation cost

ei Earliest time window for customer i minutes

li Latest time window for customer i minutes

pi Service time at customer i minutes

xi x-coordinate for customer i yi y-coordinate for customer i

di,j Distance between customer i and j meters

wi Waiting time at customer i before we it can start service minutes

ui Time late at customer i minutes

vk Average speed of worker k m h−1

tki Arrival time to customer i by worker k n Number of customers

m Number of routes/workers si Service type of customer i sk Skill or experience of worker k

hk Maximum working time of worker k minutes

xkij Binary decision variable indicating if worker k travels from customer i to j ξ A solution for the problem

C(ξ) Cost of the objective function F (ξ) Cost function for solution ξ W (ξ) Total cost for waiting in solution ξ U (ξ) Total cost for being late in solution ξ

H(ξ) Total cost for violating duration constraint in solution ξ fi cost function for customer i

hi penalty cost for violating duration constraint for customer i ri penalty cost for not supplying right skill at customer i α dynamic penalty for waiting

β dynamic penalty for being late

γ dynamic penalty for exceeding working duration

(16)
(17)

Chapter 1

Background

People are living longer lives and the elderly population in Sweden and many other counties are increasing every year. Since year 2000 the average life expectancy of a 65 year old man has increased by 12% and for women by 5.4%. While the population of Sweden has increased by 21%, the number of 100 year olds are 15.4 times larger which is a considerably larger increase.

National Board of Health and Well Fare in Sweden estimates that by 2030 one fourth of the population will be 65 year or older and by 2050 the number of people 75 year and older will double. This would mean that the cost of elderly care would increase by 70%. In the last years the cost of home care have risen more than any other area in elderly care. From 2010 to 2014 the cost for just home care increased from 27.8 billion to 35.6 billion SEK which is a 27% increase and constitutes for almost 1%

of Sweden’s total GDP, (Socialstyrelsen,2016). The health care service of elderly are mainly financed by taxes but since the population of the tax payers does not increase as much elderly there will be a lack of resources that can be distributed. This means that there will probably be a need to increase the efficiency of the service in order to keep the quality high. The ideal situation for a would be to simultaneously increase the quality care and decrease cost.

Not only do the scheduling of home care need to be more efficient to save money but also to support health care companies to make schedule that are not stressful or difficult to follow. Media articles like (“Hemtjanstens schema – en omojlig ek- vation”) have been many and there is a general consensus that home care does not work well. This is not true everywhere but it is clear that there are room for im- provements that can be made in the home care sector to provide better service in a good and efficient way

Operational research in routing is a well studied field but have usually been fo- cused on transportation of goods. The scheduling and routing of home care have not utilize a mathematical method but instead done all the scheduling by hand. Due to the complexity of the problem there are a lot that can be improved by developing computational solvers instead that takes into account the quality aspects in home care.

(18)
(19)

Chapter 2

Description of the Problem

Home care is carried out by supplying care workers to elderly, or other patients, in their own home. The care workers visit the patient, usually a few times a day, and help them with different activities. Examples of services are assistance with taking medicine, help with cleaning, buying groceries etc. The problem is to increase the quality of the service for the customer while keeping the cost for the supplier at a minimum.

Part of the problem is to define quality service and how to supply it. This chapter discusses what some of these qualities are and what they look like as well as formu- lates a optimization problem which takes these into account. The perceived quality could be defined using a quality index Q. The quality index will be a function of many components that might influence the overall quality of the service provided such as Q = Q(q1, q2, ..., qn), where q1, ..., qnare preferable independent components.

Quality of the service will be a function, which involves both the quality as it is perceived by the customer as well as for the supplier of the service. Both parts need to be taken into account when we design an optimal service. The tricky part is that these two parts often have opposite needs. Great service cost a lot and the budget is limited. We will examine how this problem can be constructed in order to satisfy all needs as good at possible.

2.1 Customers

Quality can be hard to define. We are interested in optimizing the perceived quality of the service. The same service can be perceived differently for different customers.

It is important to try and take this into account in order to optimize the overall qual- ity for everyone. Another difficult aspect is that many of the quality measures are hard to put numbers on and they will change every day. They might also be corre- lated with each other and thus hard to predict.

We can construct our quality index regarding the customer as a function of indi- vidual quality parameters as

QC = QC(qE, qt, qjs, qm, ql) (2.1) The choice was made based on discussions with my supervisor Roger Svensson at Lugn & Ro. The quality parameters are explained below.

(20)

4 Chapter 2. Description of the Problem

Efficiency, qE

The perceived efficiency of the service, which we denote qE, is very important. The efficiency depends on the experience and competence of the provider. Someone that have been at a customer before knows how to perform the service better and with the right training the service will face less delays. If a customer perceives the service as too slow and inefficient it will reflect negative on the over all feel of the visit. This does not mean that the service should be rushed but that the time at the customer is efficient and that as much help as possible is provided with the limited time we can supply.

Service at the right time, qt

Being on time is very important in order to increase perceived quality. Being late can be very frustrating. However, this can depend on the customer. Some customer does not care if a visit is late or imprecise. This will depend on both the customers personality and the type of service that needs to be supplied. Help with cleaning might not need to be provided at an exact time while medicine or help with going to bed will. This is one of the most important aspects to consider when we construct our model. Being late just a few minutes can mean a great deal for some customer and we can not let that happen while it can be very beneficial to utilize that some customer are more soft on not arriving at exact times.

Job satisfaction, qjs

If a worker feels stressed that can impact how the customer perceives the quality of the service. This is why it is important, not only for the worker, to construct a model that will supply service without stress.

Mood of the customer, qm

The current mood of the customer is a vital part of the perceived quality. This can change everyday and hard to predict. We call this qm. The same service provided the same way can be perceived different for the same customer depending on the day and health condition.

Length of a service, ql

A longer service will most likely be perceived as better. The customer feels like a longer service is able to help more and that he or she received more attention. Even an inefficient service can be perceived as having high quality if the length of the service is sufficient.

2.2 Care giver

The satisfaction of the care giver is mainly dependent on two things. The cost of supplying home care and the working conditions of the staff. These are easier de- mands to measure than the perceived quality of the customer. The quality index for the care giver is

QG= QG(qp, qd, qjs) (2.2)

(21)

The cost of personnel stands for a great part of the over all cost of home care. A person have a salary which cost money but also needs a means of transportation.

Customers serviced in the city can be visited by a bike but in the country side a worker needs a car. The number of workers should not be higher than needed.

However, if the workers are understaffed it can result in a schedule that is very stressful and weak to small disturbances which can result in large delays.

Transportation Cost, qd

The cost of transporting a worker between customers is the cost of driving a car.

This cost involves both cost for gasoline as well as general maintenance cost for car usage. This is why we need to keep the distance that vehicles travel low.

(22)
(23)

Chapter 3

Model and Optimization of Quality

This chapter will discuss how the model will work in order to mimic the real world and all the parameters that are relevant in order to supply a quality service, as well as explain how some of these parameters can be optimized. The general optimiza- tion problem to be solved is to maximize the total quality for the customers while minimizing or maintaining the cost for the care giver.

Efficient service is supplied if the worker has the right experience and training. In my model every worker will have a competence and every customer will have a de- mand. Failing to supply the right service will come with a cost. This penalty cost will be minimized. This will be further discussed in Section 4.7.

Service at the right time will be achieved by implementing time windows when every customer can be served. The time windows are described by [ei, li], where ei

is the earliest time when we can arrive to a customer and liis the latest. The width of the time window will be unique for every customer in order to mimic the various preferences that customers have. Time windows are explained further in Section 4.4.

This is a quality parameter we will optimize. A narrow time window, which means a more precise arrival time, will always be strictly better than a wide one. With a narrow time window the customer will be able to plan their day better since it can expect the service to be performed more precise. The quality parameter qtwill thus be inversely proportional to the length of the time window. How the optimization will be done is explained in Section 3.1

The satisfaction, qjsof the worker can be hard to model. But it is important to con- struct a schedule that is not stressful.

The customers mood qm will not be taken into account in this model since it is hard to model and predict.

The service times could be optimized. That is, we try to have service times as long as possible. One could imagine that there would a linear increase of quality as the service time increased. This is however not a good way to construct the model. The duration of the service should be known before hand by the care givers since they know what type of service needs to be supplied. If a customer needs more time than what was first planned then the service time should be adjusted to that next time a schedule is made. The service should not be longer than required since most cus- tomer wants to go on with their day as soon as the service is completed. Extra time at a customer would be perceived unnecessary and even annoying.

(24)

8 Chapter 3. Model and Optimization of Quality

The quality parameter qdis inversely proportional to the total distance traveled by all of the workers which means we need to minimize this. This is achieved by construct- ing the model as a Vehicle Routing Problem. This is explained further in Section 4.

We will build on the Vehicle Routing Problem to suite the needs of the customer and health care provider.

Personnel cost well be kept as low as possibly by having a set number of workers.

However, if the number of workers are too low we might not get a feasible solution.

Solutions to the problem are denoted ω

3.1 Optimization of q

t

The quality parameter qtis inversely propositional to the width of the Time Window.

and is described as

qti = ηi 1

(li− ei) (3.1)

where ηiis a penalty parameter which represents the importance of the width of the time window for customer i. For example, a person that want to go to bed at exactly 22:00 will not be happy if we arrive at 22:30, but a customer that needs help with cleaning might not feel that the service needs to be performed that exact. The total quality of the solution will be

Qt(ω) =

n

X

i=1

= qit. (3.2)

The higher Qtis, the more narrow are the time windows and the higher is the per- ceived quality for the customers. When we decrease the length of the time windows we will reach a point where we can not find a feasible solution without bringing in a new vehicle. This will result in extra cost for the health care provider. The quality parameter, qtand the cost of the service is thus correlated, When we optimize Qtwe must do that in a way where we also pay attention to the rising costs. The absolute best Qtwill be provided by sending a unique worker to every customer. If we ignore potential disturbances in the traveling time we could theoretically be able to supply a infinitely high quality since (li− ei = 0). This is of course not possible in the real world. We must weight the cost with the increase in quality and find a good balance.

We will thus maximize

max Qt(ω) − λC(ω) (3.3)

where λ is a weight parameter relating to our value of cost versus quality and C(s) is the cost of supplying health care. This cost in defined as

C(ω) = λdD(ω) + λmm (3.4)

where D(ω) is the travel distance and m is the number of vehicles. The cost of driv- ing 1 m will be represented by λd, and the cost of using 1 worker is λm. The opti- mization will be executed by starting with arbitrary wide time windows. We will search for a solution and when one is found we will decrease them. This iteration

(25)

ity relating to time windows.

How to decrease Time Windows

How we decrease the width of time window are important. A easy way is to de- crease the time window for every customer the same, i.e. after every iteration every window has 1 minute added to eiand 1 minute subtracted from li. If the importance of the width for every customer was the same this would be good approach. How- ever, this is not the case due to the parameter ηi in equation (3.1). A decrease will have a different effect on the overall quality depending on the customer. To achieve optimal quality Qtthe time window would have different sizes.

However, this is complicated. It is hard to know which time window to decrease without getting infeasible solutions. Simply shortening the times with the highest ηmight not be optimal since it might lead to infeasibility while shortening another customer with lower η would not. Thus, the approach with lowering every time window the same will be used. Since the length of the customers’ time windows can be different, customer with higher η can have a shorter starting length to reflect the importance to be on time.

How to use the result

We can use the result we obtain when decreasing the time windows in two ways.

First we can get an idea of how much quality we can offer to the customers, i.e, how exact our time windows can be. Secondly, we can see how vulnerable we are to dis- turbances in the schedule. When we reach point where we need an extra vehicle to be able to find a feasible solution we get a big cost spike due to the extra worker. By observing when we get a jump we know our maximal quality we can offer for every number of vehicles. However, choosing the maximal quality might not be the best solution since it is very sensitive to disturbances. If the traveling distances are not correct or some services takes longer than expected we will not be able to follow the schedule. We need to have a buffer in the quality parameter, we do not want to be on the edge of what is theoretical possible. With a buffer we can be more confident that we can make the schedule.

We thus have two quality parameters regarding time windows. One is the high- est we are able to supply if everything is perfect and the other is what we say we can offer to the customer which is more relaxed and can handle disturbances better.

With enough statistical data one could even formulate a parameter called qt95, where 95means the we can make that schedule 95% of the times with that level of quality.

This is not investigated further in this thesis.

(26)
(27)

Chapter 4

Vehicle Routing Problem with Time Windows

4.1 Problem formulation

The vehicle routing problem (VRP) is an integer programming problem similar to the Traveling salesman problem (TSP). The difference is that we have multiple sales- man performing the deliveries. In VRP we also require that salesman has a specified delivery to every customer. If the problem is constructed such that, one salesman has the capacity to perform all of the deliveries, we have a general TSP. The most general form of VRP is the Capacitated Vehicle Routing problem (CVRP). Capacitated refers to the constraint that every vehicle has a limit on the number of goods that can be delivered. For every customer who is served, some of the goods are removed. When all of the goods are delivered the vehicle needs to be refilled at a depot. In our model we do not have this constraint since we do not transport any goods. However, our model will require that every customer is visited within a specified time frame which makes this a Vehicle routing problem with Time Window (VRPTW). The Time Win- dows are discussed in Section 4.4.

Since VRP is a modified m-TSP the problem is N P -hard (P, D, and (eds),2002) and so is the VRPWT (M,1985), which means that the computational power required to solve the problem increases exponentially with the size of the problem Because of this we can generally not find the absolute optimal solution to the problem. Instead we try to find an approximate solution with heuristic methods which is described in Section 5. These solutions can come very close to the optimal one but with less computational effort.

4.2 Customers

The customers are a set i, j ∈ C. There are n customer and their position are de- scribed by coordinates [xi, yi]. The distance between customer i and customer j is denoted di,j. For simplicity in this thesis the distances are calculated with Pythago- ras theorem. However, xi, yi could be interchanged with the geographical position and true routing between these points.

4.3 Workers

The workers are a set k ∈ K. They have an average speed vk.

(28)

12 Chapter 4. Vehicle Routing Problem with Time Windows

4.4 Time Window

The route that we construct will be heavily influenced by the time in which the cus- tomers are to be served. The scheduled time of the service will not be an exact time but instead a time window. The earliest time customer i can be served is denoted ei

and the latest is li. The width of the time window can depend on the customer and the service that is supplied. Customers who need help with medicine might have a very narrow time window since medicine usually has to be taken at exact times while others time windows can be wider. The arrival of the worker must be within the time frame or the solution will not be feasible. The time window is only a con- cern for the arrival of a vehicle. If the service at the customer exceeds liit is allowed as long as the arrival was within the time frame [ei, li].

One could formulate a model with soft time window, meaning that we are allowed to deviate from the window [ei, li]but will be penalized for it. The penalization will work differently for earliness and tardiness. If a care worker would arrive at cus- tomer early, he or she must wait until service can begin. If tki is the time worker k arrives at customer i, the penalty for waiting would be

wi = αimax{ei− tki, 0}, (4.1) where αi is a parameter which can be different for every patient. It represents the cost for having to wait. The total wait time for a solution s is defined as

W (ω) =

n

X

i=1

wi. (4.2)

The same can be constructed for being late. When a care workers is late to a customer we will penalized this by a factor βi. This will also be unique for every customer.

Cost for being late is thus

ui = βimax{tki − li, 0}, (4.3) where the total time late of a solution s is

U (ω) =

n

X

i=1

ui. (4.4)

The use of soft time windows would open up the solution space. However, it is often not appropriate. The service provided needs to be as good as possible. The length of the time window is unique for every customer so if there are customers that would not mind if the service time were not very precise they could have a wider time window. But most people want to know when they can expect the service even if that time is not exact. During the search however, we will relax the time constraint and use soft time windows. This is described in Section 5.2

4.5 Visits

A visit is when a caregiver provides a worker to customer. The arrival to customer iby worker k is denoted tki and should be within a scheduled time window where ei is the earliest arrival time at customer i and liis the latest, see Section 4.4. Every patient is then served for pi minutes. When the service time is done the caregiver

(29)

4.6 Depot and Routes

The depot is the headquarter of the caregiver. In the beginning of the day, every vehicle starts and ends at the depot when all the patients are served. The depot is modeled as patient 0 and n + 1 and has 24 h time window but no service time. The time when worker k leaves the depot is denoted tk0 and arrives to the depot at the end of the day at tkn+1. Sometimes a caregiver needs to visit the depot in the middle of a route. This can happen if, for example, he or she needs to attend a meeting, eat lunch or pick up a key to a patient. When this is the case we model the depot visit as a regular patient with appropriate time window and necessary service time.

The route describes which customer each vehicle visits. The vehicles starts out at the depot and are required to end its route there as well. There are no other visits that are locked to a route. In Figure 4.1 we can see an example of routes. The depot and all the customers are on the y-axis while time is on the x-axis. In this example we have 19 customers, 1 depot and 5 vehicles. The depot is represented as customer 1in this Figure. Each vehicle is represented as colored lines and the time window for each customer is seen as gray boxes. When a vehicle visits a customer and start the service the box turns red until the vehicle leaves. The starting time does not nec- essarily need to be the same for each vehicle. Later starting times are seen as a visit at the depot.

FIGURE4.1: Example of routes

4.7 Service

Service is a set s ∈ S. Every customer has a demand on the type of service that he or she needs. This demand can be that a worker needs a certain skill or experience

(30)

14 Chapter 4. Vehicle Routing Problem with Time Windows

to help them. This also allows us to mimic continuity, which means that the same worker visits a customer, even though we only schedule for one day. If a worker performs service the penalty for that service is described by variable

aki=s if vehicle k can not perform the correct service at customer i

0 otherwise. (4.5)

Where s is the penalty for not supplying service s to a person that needs it. The total cost from not supplying the correct service is R(ω) and is the summation of all the penalties in solution ω

The reason why the skill requirement constraint is allowed to be violated is because a certain skill will often not be necessary but helpful. By penalizing this with a cost we will try to supply the right skill to each customer, but to an extent. If a customer absolutely must be supplied by a worker with a certain skill we can force this by penalize this violation with a very large s. This will force us to change the routing to get rid of this cost.

4.8 Working hours

The working hours of the staff workers needs to be limited. This is to respect labour laws as well as ensure fair work distribution. Otherwise we might get solution where one worker works much more than others since fewer workers would lower the distance needed to travel. The duration for staff worker k is defined as

hk= tkn+1− tk0, (4.6)

where tki is the arrival time at node i for vehicle k and 0 and n + 1 are the depot at the beginning and at the end of the day. The limit on working hours can be unique to each worker.

4.9 Objective

The objective is to minimize distance traveled and the penalty cost for when we do not provide a suitable care worker. The distance traveled between customer i and j is described as dij. The total distance traveled in solution s is D(s) and the objective function is

C(ω) = D(ω) + R(ω). (4.7)

Usually in VRP where the objective is to transport goods long distances the mini- mization of travel distance will be very important since it is a big part of the cost and by minimizing it with a few percentage will make a big difference. In Home Care however, this will not be as important since the distances are not very large.

What is important is that every customer is visited at the right time and the person that visits him or her have the right training. The core problem is to find a feasi- ble solution, the minimization of the objective function will only be a concern when comparing two feasible solutions.

(31)

model. Every service time is deterministic and known in before hand. Every vehicle has a constant speed when traveling between customers and there are no unforeseen events that can happen, for example an alarm which would need a service right way.

The time horizon spans for only one day which means that continuity can not be incorporated, i.e the same worker service the same customer every day.

4.11 Literature Review

Vehicle routing problem was first proposed in (GB and JH,1959) and have since been researched extensively. The method can be applied in many fields and on different problems. The most common application is in transportation of goods where there is a limit on load. A general formulation of the problem as well as some common applications can be found in (Labadie, Prins, and Prodhon,1997).

By adding a constraint on the time we get Vehicle routing problem with Time Win- dows (VRPTW). A description of the problem as well as exact algorithms can be read in (Kallehauge,2008). A lot of research has been done in VRPWT but not many have been specifically about home care. Examples of researchers who have done similar studies are (Mankowska et al.,2014) and (Eveborn, Flisberg, and Ronnqvist,2006).

In the first paper they use an Adaptive variable neighborhood search as meta-heuristic to find a solution. They use a heterogeneous fleet and are able to incorporate shared visit as well as interdependent visits. By introducing heterogeneous fleet they are able to set different requirements to the visits, i.e a vehicle needs to have special training to help a certain customer. The neighborhood search they use are more advanced. Instead of moving a single patient each iteration, they are able so swap patients between routs as well as within. The number of moves available are 8, 4 for single service and 4 for double service. An initial solution is found with parallel route building where the list of customer is sorted by earliest service time. To im- prove the initial solution with Adaptive variable neighborhood search they perform each available move in sequence until a better solution is found, in which case the sequence is reset.

In the other paper they use a set-partitioning model to solve the problem. Patients are divided into subgroups and a repeated matching heuristic is used where the order of visits is determined by nearest neighbor heuristic. As in the first paper they also use constraints on the qualifications of the caretakers. The constraints are allowed to be violated but will in turn yield a penalty in the cost function. They divide the district into sub-areas where each customer belongs to one sub-area and a staff member is able to cover several sub-areas. In their model they incorporate:

• Each visit require a set of skills which must be met by the staff member.

• Each client has one or more preferred staff members who make the visit.

• Certain visits require multiple staff members

(32)

16 Chapter 4. Vehicle Routing Problem with Time Windows

With this model they were able to reduce the total working time by 7% and total travel time by 20 %.

In (Braysy and Gendreau,2002) they investigate different meta-heuristic approaches for solving VRPTW. They conclude that one of the best meta-heuristics is Tabu search and specifically the one developed in (Cordeau, Laporte, and Mercier,2001) which will be used in this thesis.

4.12 Mathematical formulation

The customers and the health care center can be represented as a network of nodes G(C, A). The set C = {1, ..., n} is the nodes on the network and A = {(i, j) : i, j ∈ C, i 6= j} is the set of arcs. The care center is represented as node {0} while the others are customers. The customers and the depot at node 0 form the set C0 = C ∪ {0}. In this model we will force all the feasible routes to begin and end in node 0, i.e the staff begin and end their shift at the center. The path that the route takes is represented by binary variable xkij. The variable xkij = 1if staff k travel from node i to j, and 0 otherwise.

xkij =1 (i, j) ∈ C is used by vehicle k,

0 otherwise. (4.8)

All the arc connecting nodes on G has a cost to them. The cost for connecting arc iand j is the distance between them, dij. We have a set of patients C and a set of vehicles K. The total distance traveled by all vehicles in solution ω is thus

D(ω) =X

k∈K

X

i∈C0

X

j∈C0

dijxkij (4.9)

The penalty for not supplying a qualified worker is R(ω) =X

s∈S

X

k∈K

X

i∈C0

X

j∈C0

aksxkij (4.10)

The workers begin and end their shift at the depot which is represented as node 0.

This is guaranteed by

X

i∈C0

xk0i=X

i∈C0

xki0= 1, ∀k ∈ K (4.11)

The inflow-outflow condition ensures that a worker that visits a customer i will leave the customer after the service is completed

X

j∈C0

xkji =X

j∈C0

xkij ∀i ∈ C, ∀k ∈ K (4.12)

The arrival time of vehicle k at customer i, tki, must be within the time window.

tki ≥ ei ∀i ∈ C, k ∈ K (4.13)

tki ≤ li ∀i ∈ C, k ∈ K (4.14)

(33)

i∈C0j∈C0

where hkis the total workday for vehicle k. The constraint is thus that the total travel time and the total service time for vehicle k can not exceed hkminutes. A vehicle k can not arrive at j before we arrive to i if we drive from i to j.

xkij(tki +di,j vk

− tkj) ≤ 0 ∀(i, j) ∈ C ∀k ∈ K (4.16) This equation is quadratic but can be linearized using a trick called "big M".

tki +di,j

vk − tkj ≤ M (1 − xkij) ∀(i, j) ∈ C ∀k ∈ K (4.17) By replacing equation (4.16) with (4.17) we get a Mixed Integer Linear Program (MILP) which means a linear program with some variables that are constraint to be integral.

The decision variable xkij is a binary variable

xkij ∈ {0, 1} ∀(i, j) ∈ C0 ∀k ∈ K. (4.18)

(34)
(35)

Chapter 5

Heuristic Methods

5.1 Simple heuristics - initial solution

Simple heuristic procedures are used to find a single initial solution to the problem.

It is usually far from the optimal solution but can give a rough and quick estimate.

They are simple to use and can find feasible solutions even with difficult constraints such as time windows. By initializing a meta-heuristic procedure from a good initial solution we can strongly reduce the computation time.

The initial solution can be constructed in many ways. In general this is done by a Nearest neighbor algorithm. Nearest neighbor is the simplest heuristic procedure and works by simply adding the nearest customer to the next stop in the route.

When no more customers can be added, the vehicle returns to the depot, and we construct the route for the next vehicle. The number of vehicles used is thus not known in beforehand and the last vehicle usually has shorter route than the rest.

Since the number of vehicles used is usually limited and known, we can instead construct the route by parallel routing. In parallel routing we add the nearest cus- tomer to each vehicle until all routes have one stop. After that we add a second stop to each vehicle and so on until all the customers are served and the vehicles can re- turn to the depot. By doing it this way we can be sure that we utilize all k vehicles.

The nearest neighbor is very simple to use but does not work well with constraints such as time windows. This is because if the nearest customer that was added has a late time window we cannot add customers with an earlier time window unless we want to face a large delay penalty and thus we need to add a new vehicle. That will require that we use a lot of vehicles.

Instead we employ the procedure used in (Cordeau, Laporte, and Mercier, 2001) with a small alteration. We start by sorting all the customers from earliest ei. Then we select a random customer i ∈ {1, ..., n} from the sorted list. This customer is added to the first route, k. Next we add customers i + 1, i + 2, ...n, 1, ...i − 1 in se- quence. The customers after customer i is inserted in route k in a way to minimize the cost. The insertion procedure of the customers is described in Section 5.2. We relax the constraints regarding time windows and instead penalize discrepancies as described in Section 4.4. If an insertion of a route would result in a violation of the duration constraint hkwe send it back to the depot. We add a new vehicle, k + 1, and proceed with adding the customers to that one until we violate the duration constraint. This continues until we reach the last vehicle. The last vehicle is allowed to violate the duration constraint and hence will generally be longer than the others.

The insertion heuristic makes it possible to insert customer in any position within

(36)

20 Chapter 5. Heuristic Methods

a route and, unlike parallel routing, we are not constrained by having to add cus- tomers to every route in a sequence.

The routes that are constructed will, except for the last one, not violate hk. However, wi and li will most likely be. The insertion of customers will be done to minimize the penalty cost from being early/late but a feasible solution will generally not be found. This is allowed since the purpose is to find a initial solution which works as a good jumping off point. The outline of the algorithm can be seen in Algorithm 1.

Algorithm 1Inital Routing

1: procedureINITROUTING

2: Sort Customers from from earliest to latest earliest time window ei 3: Randomly choose a customer j ∈ {1, ..., n}

4: Set k := 1

5: for i = {j, j + 1, j + 2, ...n, 1, ...j − 1} do

6: Insert i into route k such that cost is minimized

7: ifInsertion of i violated duration then

8: k = min{k + 1, m}

9: Insert i into route k such that cost is minimized

5.2 Insertion procedure

How we insert the customers into routes is the most important part of the prob- lem. Both the quality of the solution and the computation time is dependent on it.

This section describes how a customer is inserted into a route and in which posi- tion within that route. We will also see how a customer to be moved is chosen. The insertion of customer will be done in order to minimize the cost.

5.2.1 Cost Function

The route that is constructed needs to be feasible in regards to the time windows and duration. We need every customer to be served within the specified time window and we can not allow the routes to be longer than the working hours of the worker.

The route also needs to minimize the distance traveled and the penalization when we do not supply a correct service. However, it is a good idea to be able to explore infeasible solution during the search. We will thus allow our vehicles to be late/early and the routes to be longer than the allowed working time. This will come with a dynamic penalty cost developed in (Cordeau, Laporte, and Mercier, 2001). If the vehicle is early to a customer it has to wait before starting the service. The total waiting time for all vehicles in solution ω are W (ω), total delay time is U (ω), total violation to duration is H(ω) and the objective function is C(ω). The cost function is thus

F (ω) = αW (ω) + βU (ω) + γQ(ω) + C(ω). (5.1) The penalty parameters α, β and γ will change depending on the number of times that constraint has been violated. For every iteration the penalty parameters will be adjusted depending on if they are violated or not. If the total waiting time across all route are W (ω) > 0 we multiply α with (1 + δ), where δ > 0. If W (ω) = 0 we instead divide by (1 + δ). The same procedure is done for U (ω) and H(ω). By doing this

(37)

parameter will decrease and the priority will change to another constraint.

5.2.2 Removal of a customer

In every iteration we will remove a customer from a route and insert it into another.

Which customer we choose will depend on the current values of α, β and γ. In the beginning of the iteration we go trough every route and calculate the cost for every customer. The cost for customer i is calculated as

fi= αwi+ βui+ γqi+ ci. (5.2) If we are early to customer i and have to wait wiminutes the cost for that customer is thus αwi. The same is done if the customer is served late. The cost for violating the duration constraint is also taken into account. This will only affect customers at the end of a route. The penalty cost of customer i for violating the duration constraint is qi = γ max{(ti+1− t0) − qmax, 0} (5.3) i.e. we penalize the customer which causes the arrival at the next node to violate duration. If customer i is the last customer in the route, which is usually the case, then i + 1 represents the depot. The cost ciis defined as

ci = di−1,i+ ri (5.4)

where riis the cost if we do not provide the right service. The distance part means that we punish a customer that is far from the previous customer in the route.

When the cost of every customer is calculated we select the one with the highest cost and remove it from the route. We reconnect the preceding and succeeding cus- tomer with each other. If none of the constraints are violated for any customer in any route the cost will be zero for every customer and we will have a feasible solution.

A customer is then selected in order of minimize the objective function C(ω) Algorithm 2Removal of Customer

1: procedureREMOVALOFCUSTOMER 2: for v = 1, ...k do

3: for i = 1 : length(v) do

4: Calculate cost of customer i using equation 5.2

5: Choose customer with highest cost

6: Remove chosen customer from route

5.2.3 Insertion into new route

When a customer has been chosen to be moved we have to decide where to insert him or her. We do not allow a customer to be inserted back into the same route that he or she was removed from, the reason for this is explained in Section 5.4. We look at each remaining route, v ∈ V = K\k, and insert it into each available position within that route. If a route v contains ξ number of customer there are ξ + 1 possible

(38)

22 Chapter 5. Heuristic Methods

positions that we can insert our new customer. We calculate the cost for every route v for each possible position within that route using equation (5.1) and (5.9). Note that we calculate the cost for the whole solution, i.e we will choose to insert a customer in a route and position such that the cost for the whole solution is minimized and not just for that route. When we have calculated the cost for each available position we choose the solution that yields the lowest cost.

Algorithm 3Insertion of Customer

1: procedureINSERTIONOFCUSTOMER 2: Customer i is to be inserted in a route.

3: for v = 1, ..., k − 1 do

4: for p = 1 : length(v) + 1 do

5: insert customer i into position p

6: calculate cost of solution Choose solution with lowest cost

5.2.4 Route Construction

A route consists of a number of customers and a depot. The depot is always at the beginning and at the end of the route. To visualize all the routes with customers we can construct them as a matrix. If the depot is represented as customer 1, a solution with 9 customer and 3 vehicles can look like:

1 4 6 2 1

1 7 10 3 1

1 9 8 5 1

When a customer is removed from a route and inserted into another route the matrix changes. In Figure 5.1 we see a removal of customer 7 from route 2 and insertion into route 1. The corresponding matrix becomes

1 4 6 2 1

1 7 10 3 1

1 9 8 5 1

→

1 7 4 6 2 1

1 10 3 0 0 1

1 9 8 5 0 1

A customer can be inserted at any position within an existing route. Depending on

FIGURE5.1: Removal and insertion of a customer

where the insertion is made, we must do some calculations. We have three types of positions in a route

• First customer in a route

• Within a route

(39)

have a set starting time. The starting time for vehicle k is calculated as

tk0 = max{ei− d0,i/vk, 0} (5.5) Note that the starting time is calculated in such a way that the first customer is served as early as possible. This might not always be the optimal way. This is due to the duration constraint. It might be favorable to wait before serving the first customer in order to prevent the last customer to violate the duration constraint. This option is not available in this model. However, most of the customers generally wants to have help in the morning around roughly the same time so it is most likely the best to start the first service as early as possible.

The arrival to the first customer is calculated as

tki = max{ei, d0,i/vk} (5.6) If a customer i is inserted within a route, between customer j and j + 1 then the service time for that customer begins at

tki = max{tkj + pj+ dj,i/vk} (5.7) The arrival time of succeeding customers will be calculated the same way. If a cus- tomer i is inserted last in a route we must calculate the time of arrival to the depot.

tkdepot= tki + pi+ di,depot/vk (5.8)

5.3 Tabu Search

Tabu search is a meta-heuristic procedure that helps preventing our search method to get stuck in a local optimal. It was first proposed by (Glover, 1989) and have been used successfully for many different VRP including VRPTW (K.C.Tank et al., 2001). In fact, according to (Braysy and Gendreau,2002), Tabu search is one of the best techniques for solving these kind of problems. They also conclude that the best variant of Tabu search for VRPTW is the procedure developed in (Cordeau, Laporte, and Mercier,2001). Tabu search is an extension on simple heuristic methods called Local search.

Local search uses an initial solution ω and improves it by modify the route to so- lutions in the neighborhood, ω0 ∈ N (ω). The initial solution ω is constructed with the algorithm in Section 5.1. We then search locally after improvements to ω by mak- ing different moves. A discussion on moves can be seen in Section 5.4.

For every iteration we search through the customers and choose the one that yields the highest cost and insert it into another route in order to minimize cost. This proce- dure is described in Section 5.2.2 and 5.2.3. Each move generates a new solution ω0. If the new solution is feasible with respect to the constraints and and have lower ob- jective function than the previous best solution we set ω0to be the best solution. This is then iterated until we meet a stopping criterion. This can be a set computation

(40)

24 Chapter 5. Heuristic Methods

time or when we reach a certain cost but we use a maximum number of iterations.

Tabu search works by keeping a list of moves and solutions that have been tried and preventing the search to try those moves again. They become tabu, hence the name. The reason for doing this is that the current solution can deteriorate between iterations. If our local search ends up in a local minima, we will keep cycle back to that solution after each iteration. By putting tabu on recent moves we prevent the procedure to cycle back to previous solutions. The number of recent moves that are on the tabu list is called tabu tenure. By having a large tabu tenure we force the pro- cess to explore larger areas of the solution space. However, their can exists criterion that allows a tabu move to be made. An obvious criterion is for example if the move yields a solution that is better than any solution found. An outline of the algorithm can be seen in Algorithm 4

Algorithm 4Tabu Search

1: procedureTABUSEARCH

2: Set α := 1, β := 1 and γ := 1. If ω is feasible, set ω := ω and c(ω) := c(ω);

otherwise, set c(ω) := ∞.

3: for i = 1, ...η do

4: Choose a neighboring solution to ω, ¯ω ∈ N (ω)that minimizes f (¯ω) + p(¯ω) is not tabu or satisfies its aspiration criteria.

5: If solution ¯ωis feasible and c(¯ω) < c(ω), set ω := ¯ωand c(ω) := c(¯ω)

6: Compute W (¯ω), L(¯ω)and H(¯ω)and update α, β and γ.

7: Set ω := ¯ω

5.3.1 Diversification

To increase the solution space we will help the algorithm by punishing frequent moves. We apply the procedure used in (Cordeau, Laporte, and Mercier, 2001).

They diversify by keeping track of moves made and penalize moves that are used frequently. A move is made by inserting customer i into route k. This move is saved as {i, k}. The number of times a certain move has been made is denoted ρi,k. If the procedure gets stuck in a local optima this will help by driving the search toward less explored areas. The penalization for frequent moves are defined as

p(ω) = λc(ω)√ nmX

i,k

ρi,k (5.9)

where c(ω)√

nm is a scaling factor which adjust the penalties with respect to the objective value c(ω) as well as the size of the problem, nm. The parameter λ can be changed depending on how large the penalty of frequent moves should be. This penalization factor is added to the overall cost. If the current solution ω0has a lower cost function 5.1 than the previous solution ω then the diversification factor is set be

p(ω0) = 0if f (ω0) < f (ω)

5.4 Moves

In order to explore the solution space we need to perform moves. A move is an ac- tion, which changes the solution by moving customers between routes or within a

(41)

tomers are swapped between routes.

Then there are more efficient moves. The first one are the k-ops moves introduced in (Lin and Kernighan, 1973). The k-opt moves remove k edges from a route and reconnects that sequence with k other edges. An example of a 2-opt move can be seen in Figure 5.2. The k-opt moves are tested in O(nk)for n customers. Due to the increase in complexity, k is usually limited to 3.

FIGURE5.2: 2-opt moves

Secondly, we have OR-opt (Ilhan,1976.) and λ-interchange (Osman,1993). In Or-opt we can move a string of customers. The length of the string is 1 to λ long. In λ- exchange we instead exchange two string of customers in two route. The strings can be of different sizes from 0 to λ long and have their order reversed before insertion.

An example of a λ-interchange can be seen in Figure 5.3. The OR-opt neighborhood can be searched in O(λn2)and λ-exchange can be searched in O(λ2n2). Usually λ is set to 3 to limit running time.

These moves are good for regular VRP but can cause problems in VRPTW. By mov- ing long strings of customer around the delay of the succeeding customer might become very large. By moving only one customer at the time we can still cause de- lay problems for the succeeding customer. However, they will not be as large and since we are allowed to explore infeasible solutions during the search we can allow a vehicle to miss the time window, albeit they are penalized. Relocation of customer have been shown in (Braysy and Gendreau,2002) to perform very well in VRPTW.

A customer can not be moved within a route. This is due to the time window con- straint. Unless we are working with very large time windows there will rarely arise a situation where a customer is better served before another within the same route.

(42)

26 Chapter 5. Heuristic Methods

FIGURE5.3: Osmans λ-interchange

(43)

Chapter 6

Numerical results

6.1 Proof of concept

In this section I will demonstrate the algorithm by providing 4 workers to 10 cus- tomers, where two customer are in fact one but with two different service times. The time horizon is one morning from 8:00 to 13:00. The data for the customers are seen in Table A.1, data for the workers in Table A.2 and the cost for not supplying the right service in Table A.3. The parameter values are

λ = 5, δ = 2, θ = 10

We start the algorithm by sorting all the customers in increasing order of earliest time window, ei. We then construct the initial route with Algorithm 1. This yields the route:

1 6 2 5 3 4 7 8 9 10 11

This route only utilized one vehicle to service the customers. This is because we are only scheduling a morning route and thus the Work hours constraint hkwill not be violated. We are however violating the other constraint. This is allowed in the initial routing algorithm, but it is not a feasible solution.

In the first iteration we search for the customer which has the highest cost. The cost of a customer is calculated using equation (5.2). In Table 6.1 we see the cost of every customer and which route it is in. We can see that customer 4 has the highest cost. This is because we are late by 58 minutes, the worker does not have the right

Customer Wait Late Duration Competence Distance Total Cost Route

6 0 0 0 10 15.1 25.1 1

2 0 77.0 0 0 4.2 81.3 1

5 0 1.1 0 0 3.0 4.1 1

3 0 72.2 0 10 3.6 85.8 1

4 0 58.3 0 30 5.0 93.3 1

7 0 0 0 10 3.6 13.6 1

8 0 0 0 30 3.0 33.0 1

9 0 0 0 0 2.8 2.8 1

10 1.5 0 0 10 2.0 13.5 1

11 14.9 0 0 30 5.7 50.5 1

TABLE6.1: Cost for customers after the initial routing

(44)

28 Chapter 6. Numerical results

Customer Late Wait Duration Competence Distance Total Cost Route

6 0 0 0 10 15.1 25.1 1

2 0 77.1 0 0 4.2 158.4 1

5 0 1.1 0 0 3.0 5.3 1

3 0 72.2 0 10 3.6 158.0 1

7 0 0 0 10 5.1 15.1 1

8 0 0 0 30 3.0 33.0 1

9 1.6 0 0 0 2.8 5.9 1

10 16.9 0 0 10 2.0 45.9 1

11 14.9 0 0 30 5.7 65.4 1

4 0 0 0 0 16.1 16.1 4

TABLE6.2: Cost for customers after the first iteration

training to serve the customer so we get a penalty of 30 and distance from the previ- ous customer is 5 km. We remove this customer from route 1 and connect customers 3and 7 instead. Now we search for a place to insert customer 4 that minimizes the total cost. We do not allow a customer to be reinserted into the same route. Route 2and 3 do not have the right skill to serve customer 4 but route 4 do. We have not made any move previous so p in Equation (5.9) is 0 so the only difference on route are the skill component which means that we insert the customer in route 4.

The move we did in the first iteration was to take customer 4 from route 1 and in- serted it into route 4. That move is described as (4, 1) and will be on tabu for the next θ iterations. We also need to save this move in order to calculate the penaliza- tion factor in Equation (5.9). If we would want to make the same move again we would be penalized for that. The current route is now:

1 6 2 5 3 7 8 9 10 11 4 4

After we inserted customer 4 in route 4 the total cost is calculate again. We see that we are still late to some customers and we have to wait at some. The working hours are not violated. Because W and U are violated we increase α and β by multiplying it with (1 + δ), and decrease γ by dividing it by (1 + δ). The value on the penalty parameters are now

α = 2

β = 2

γ = 0.5

This solution is not feasible so we do not save it as a BEST.Solution but update it so it is the Current.Solution.

We now start the second iteration. We calculate the new cost for th customers with the updated parameters α, β and γ. The cost for the customer can be seen in Table 6.2. We choose customer 2 since it has the highest cost. We now start to look were we can insert this customer. Since this customer were in route 1 we can only insert it into route 2 − 4. Route 4 has two available positions, before and after customer 4. The other routes are empty so they have only one position, between the depot in the beginning and the end of the day. The lowest cost in each route is seen in Table

(45)

4 112.9

TABLE6.3: Cost of route 2 − 4 if we insert customer 2

Route Distance Comp Total

1 36.2 10 46.2

2 42.3 50 92.3

3 41.9 30 71.9

4 39.3 30 69,3

Total 159.8 120 279.8

TABLE6.4: Cost for routes in the final solution

6.3. None of these moves have been made before and therefore the diversification penalty p will be 0. Lowest cost is obtained by inserting customer 2 into route 4. This move is allowed since it is not on the tabu list. We update the tabu list, which now has two attributes.

(4, 1) (2, 1)



(6.1) We calculate the cost for this new solution. We are still having to wait in the first route but we are now late in the fourth route. We update the penalty parameters, which are now

α = 4

β = 4

γ = 0.25

This continues until we no longer violate the constraints which occurs in iteration 11. The routes for this solution are

1 6 5

2 3 2 4

3 11 9 10

4 8 7

The penalty parameters are

α = 32

β = 8

γ = 0

The total cost for this solution as well as for each route can be seen in Table 6.4. Note that we do not violate any constraints and the cost only comes from the total travel distance and the penalty for not supplying the right skill to customers. This is the first feasible solution that is found but after 100 iteration we cannot find a better solution. In Figure 6.1 we see the objective value of the first 100 iterations which shows how the cost pendulate between iterations.

(46)

30 Chapter 6. Numerical results

0 10 20 30 40 50 60 70 80 90 100

Iteration 250

300 350 400 450 500 550 600 650 700 750

Cost

FIGURE6.1: The objective value for 100 iterations In Figure 6.2 we can see how the routes looks like.

35 40 45 50

45 50 55 60 65 70

75 route 1

route 2 route 3 route 4

FIGURE6.2: The routes of the solution

(47)

the approach described in Section 3.1. When trying to optimize the quality with a limited budget it is important to know the cost of the service. If the costs in equation (3.4) are not correct then we might try to offer a quality that we cannot afford. The cost of a worker will be the most expensive part. This cost will vary in order to high- light the different solution we get depending on the cost. The calculations are done on a data with 30 customer where everyone has 30 minutes of service time. First, ever customer has a 50 minutes time window. This is decreased by 1 minute every iteration until every customer has a 5 minute time window. In Figure 6.3 we can see how the cost is increasing as we decrease the length of every time window. We start off with only needing 2 workers to perform the schedule. As the time window shortens more and more workers are required. At the end we require 13 workers.

5 10

15 20

25 30

35 40

45 50

Length of Time Window 0

2 4 6 8 10 12

Cost

×104

λm = 1000 λm = 5000 λ

m = 10 000

Q2 Q1

FIGURE6.3: Cost with decrease in the length of the time window

A home care company has to decide what level of quality they can supply. For example, if the cost of a worker can be represented as λm = 10000but they have a limit at 4500 they can only use 4 workers. Technically they can supply Q2 in quality, which is located at the edge of needing a new worker. But just a small disturbance would make the schedule infeasible. Instead they could offer Q1which has a buffer in case something happens.

References

Related documents

Ämnet bör ses som en utgrening i den filmdidaktiska forskningen, som fokuserar på att utforska och konkretisera värdet i att använda den här sortens film för att undervisa om

The role of entrepreneurship support is seen as helping individuals to go over ignorance threshold, thus, enhancing relatedness of a venture idea and dimensions necessary for

Actor: Umeå Municipality Values: Lake Nydala. Users: Elderly people, some suffering from

The overarching goal with the present thesis is to expand the knowledge about the genetic overlap between ADHD and other psychiatric disorder symptoms, and to increase the

We present examples of graphs of bounded maximum degree with arbitrarily large cyclic deficiency, and graphs whose cyclic deficiency approaches the number of vertices... determine

To evaluate the affect of a dry sump system, the total losses which are induced by the system, power consumption for the two pumps and the heat exchanger, were calculated with

”Om morgonen klockan 4 gick Hans Maj:ts armé över Diina- strömmen och blev brukat 195 farkoster, nämligen 74 stora över­ sättarebåtar, 89 små båtar, 20 stora strusor och

Det stod högt upp på skolsköterskans agenda att arbeta hälsofrämjande bland skolbarn, men dessvärre var det inte skolledningens prioritet, vilket ofta gjorde att