A Cycle-Trade Heuristic for the Weighted k-chinese Postman Problem

Size: px
Start display at page:

Download "A Cycle-Trade Heuristic for the Weighted k-chinese Postman Problem"

Transcription

1 Linköping University Department of Computer Science Bachelor thesis, 16 ECTS Computer Science 2018 LIU-IDA/LITH-EX-G--18/073--SE A Cycle-Trade Heuristic for the Weighted k-chinese Postman Problem Anton Hölscher Supervisor : Kaj Holmberg Examiner : Fredrik Heintz Linköpings universitet SE Linköping ,

2 Upphovsrätt Detta dokument hålls tillgängligt på Internet eller dess framtida ersättare under 25 år från publiceringsdatum under förutsättning att inga extraordinära omständigheter uppstår. Tillgång till dokumentet innebär tillstånd för var och en att läsa, ladda ner, skriva ut enstaka kopior för enskilt bruk och att använda det oförändrat för ickekommersiell forskning och för undervisning. Överföring av upphovsrätten vid en senare tidpunkt kan inte upphäva detta tillstånd. All annan användning av dokumentet kräver upphovsmannens medgivande. För att garantera äktheten, säkerheten och tillgängligheten finns lösningar av teknisk och administrativ art. Upphovsmannens ideella rätt innefattar rätt att bli nämnd som upphovsman i den omfattning som god sed kräver vid användning av dokumentet på ovan beskrivna sätt samt skydd mot att dokumentet ändras eller presenteras i sådan form eller i sådant sammanhang som är kränkande för upphovsmannenslitterära eller konstnärliga anseende eller egenart. För ytterligare information om Linköping University Electronic Press se förlagets hemsida Copyright The publishers will keep this document online on the Internet or its possible replacement for a period of 25 years starting from the date of publication barring exceptional circumstances. The online availability of the document implies permanent permission for anyone to read, to download, or to print out single copies for his/hers own use and to use it unchanged for non-commercial research and educational purpose. Subsequent transfers of copyright cannot revoke this permission. All other uses of the document are conditional upon the consent of the copyright owner. The publisher has taken technical and administrative measures to assure authenticity, security and accessibility. According to intellectual property law the author has the right to be mentioned when his/her work is accessed as described above and to be protected against infringement. For additional information about the Linköping University Electronic Press and its procedures for publication and for assurance of document integrity, please refer to its www home page: c Anton Hölscher

3 Abstract This study aims to answer whether a heuristic that trades cycles between the tours in a solution would show good results when trying to solve the Weighted k-chinese Postman Problem for undirected graphs, of varying size, representing neighbourhoods in Sweden. A tabu search heuristic was implemented with each iteration consisting of giving a cycle from the most expensive tour to the cheapest. The heuristic performed increasingly well for graphs of increasing size, although the solution quality decreased when increasing the number of tours to be used in the solution. It is suspected that the cause for this behavior is due to the heuristic only giving cycles from the most expensive tour, not considering trading cycles from other tours in the solution. It is believed that a heuristic considering more than only the most expensive tour when trading cycles would produce even better solutions.

4 Contents Abstract Contents iii iv List of Figures 1 1 Introduction Motivation Aim Research Questions Delimitations Theory The Chinese Postman Problem The Rural Postman Problem The k-chinese Postman Problem The Min Max k-chinese Postman Problem The Weighted k-chinese Postman Problem Dynamic Programming Lower Bounds Lower Bounds for W k-cpp Lower Bounds for MM k-cpp Lower Bounds for k-cpp Metaheuristics Tabu Search Method Pre-Study Implementation Evaluation Results Implementation The Data Structures The Cycle Trade Heuristic Evaluation Åtvidaberg Colonia Skänninge Studentryd Vadstena Discussion 19 iv

5 5.1 Results Method The Work in a Wider Context Conclusion Answer to Research Questions Further Research Bibliography 22

6 List of Figures 4.1 Åtvidaberg 68 nodes, 95 edges Colonia 24 nodes, 36 edges Skänninge 62 nodes, 80 edges Studentryd 387 nodes, 519 edges Vadstena 581 nodes, 778 edges

7 1 Introduction This chapter introduces the problem and gives a motivation as to why research in this area is important. The motivation is followed by the aim of this thesis and the specification of the research questions to be examined in this study. The problem is then narrowed down into a specific type in order to keep the study of a feasible size. 1.1 Motivation To find the most efficient way of traversing an entire graph is a widely spread problem in today s society. For a snow truck to plow all snow on every street in a town in the minimal consumed time is only one of a vast amount of applications of this problem. This particular problem, to find the least expensive path in a graph such that all edges in a given graph has been traversed, is called the Chinese Postman Problem (CPP), which can often be solved in polynomial time. However, rarely is it the case that a single mailman delivers all of the mail in an entire city. And if we want to find the optimal tour for each mailman such that all mail is delivered, we have found a much more complicated problem than the CPP. When multiple vehicles can be utilized and the goal is to minimize both the combined cost for all vehicle s routes and minimize the cost of the most expensive route, e.g. minimizing both the total environmental inpact and the total time taken, we have encountered a problem defined by Holmberg as the Weighted k-chinese Postman Problem (W k-cpp)[8]. Along with the definition of the problem, Holmberg constructed an algorithm for generating solutions to this type of problems, albeit not optimal solutions. Finding a method that could further improve these solutions would lead to both a financial and an environmental improvement to companies and cities all over the world. 1.2 Aim According to Holmberg, solutions generated by using his heuristic could be improved significantly by manually altering the solution [8]. So a heuristic for the W k-cpp that mimics some of the methods used to manually improve a solution might perform well. This study aims to answer if a heuristic consisting of trading cycles between the tours would show good results on graphs resembling real life cities. 2

8 1.3. Research Questions 1.3 Research Questions It is imporant that the heuristic that is to be implemented, can generate solutions that are good enough in a reasonable amount of time. Therefore, this study aims to answer the following research questions: Can a heuristic, consisting of trading cycles between all tours in the graph, be implemented, such that: Q.1 The solution found by the heuristic is close to the optimum? Q.2 The solution can be computed in a reasonable amount of time? 1.4 Delimitations This thesis will only concern undirected connected graphs containing edges with postitive costs. The number of vehicles will alter between the range of This study will only consider graphs resembling the streets of a city. This means that the graphs will be sparse, i.e. each node is connected to relatively few edges. The starting solution will always be the CPP-solution to the problem for one of the vehicles along with nothing for the rest of the K 1 vehicles. 3

9 2 Theory In this chapter, all terms and concepts relevant to this study are explained. The first sections describe the problem which the heuristic will try to solve, starting at the founding problem (the CPP), then building upon it until the W k-cpp is obtained. This is followed by explaning the concepts used to implement the heuristic. Since all CPP problems only applies to connected graphs, for the rest of this report, any mention of a graph refers to a connected graph. 2.1 The Chinese Postman Problem The Chinese Postman Problem (CPP) is defined by Edmond and Johnson as finding the shortest tour in a graph such that each edge in the graph has been traversed at least once [6]. The problem was first discovered by Kwan Mei-Ko who described it, according to Grötschel and Yuan, as walking the shortest possible distance when delivering mail through all the streets in the neighborhood, starting and ending in the post office [7]. In a graph G, consisting of a set of vertices V = tv 1, v 2,..., v n u, a set of edges E V 2 and a function c : E Ñ R determining the cost of an edge, we want to find a mapping function f : E :Ñ N 0 that indicates the flow in each edge, such that the total cost of that flow is minimized and the flow form an Euler tour. Given these definitions the problem can be modelled as in formula 2.1. minimize z = ( f (e) c(e)) subject to epe f (e) P E, ( w:(w,v)pe f ((w, v)) ) + ( w:(v,w)pe f ((v, w)) ) 0 (mod P V This problem is N P-Complete meaning that it takes non-polynomial time to generate a CPP solution, but verifying the correctness of the solution can be performed in polynomial time. However, with proper constraints the CPP can be both solvable and verifiable in polynomial time. If it is required that the graph is undirected, a chinese postman tour can be retrieved by adding the cheapest set of edges required to make the graph Eulerian, i.e. adding 4 (2.1)

10 2.2. The Rural Postman Problem edges until all vertices in the graph has an even degree, followed by finding a Euler cycle in that graph [7]. Since we have restricted this study to only consider undirected graphs, the CPP will be considered as a polynomial problem for the rest of this report. 2.2 The Rural Postman Problem The Rural Postman Problem (RPP) is closely related to the CPP. According to the definition by Orloff, the only alteration to the problem is that only some of the edges in the graph are required to be traversed [11]. This problem can be viewed upon as a mailman delivering mail in some villages, where each road in each village has to be served, but the mailman has no required route to travel between the villages. In order to formalize this problem another set E R E is included, containing all edges in E that requires traversal. A requirement is added that the tour starts and ends in the starting vertex v s P V, since it might be the case that no edges connected to v s exists in E R. The problem can then be defined as in formula 2.2. minimize z = ( f (e) c(e)) subject to epe f (e) P E R, ( w:(w,v)pe f ((w, v)) ) + ( w:(v,w)pe te P E : f (e) 1u composes a connected graph, f ((v s, w)) 1 f ((v, w)) ) 0 (mod P V, Dw P V The RPP has been proved by Orloff to be N P-Hard, meaning that finding a solution to the RPP requires non-polynomial time, and verifying that solution also requires non-polynomial time, given P N P[11]. 2.3 The k-chinese Postman Problem The k-chinese Postman Problem (k-cpp) is related to both the RPP and the CPP. The problem is described by Osterhues and Mariak as finding k tours such that each edge of the graph has been traversed by at least one vehicle and the combined cost of all tours is minimal [12]. This problem can be viewed upon as having multiple mailmen delivering mail to all streets in a city. It is sufficient that only one mailman visits a street but all streets has to be handled by at least one mailman, and the combined distance traveled should be minimal. To formalize the k-cpp, instead of finding f, we need to find a set T = tt 1, t 2,..., t k u of size k, where each element t P T is a function t : E Ñ N 0 denoting how many times each edge in the graph has been traversed by that specific tour, such that every edge is traversed (2.2) 5

11 2.4. The Min Max k-chinese Postman Problem by at least one of the tours and each tour starts and stops in the starting point of the graph v s P V. Using this set, T, the k-cpp can be formalized as in 2.3. minimize z = ( c(e) t(e) ) subject to tpt ( tpt epe t(e) P E, w:(w,v)pe t((w, v)) ) + ( w:(v,w)pe t((v, w)) ) 0 (mod P P T, te P E : t(e) 1u composes a connected P T, t((v s, w)) 1 Dw P P T Finding one of the tours of a solution for the k-cpp is identical to finding a solution to the RPP. This implies that the k-cpp cannot be easier than the RPP and is therefore N P-Hard [12]. 2.4 The Min Max k-chinese Postman Problem The Min Max k-chinese Postman Problem (MM k-cpp) formulates the problem of minimizing the most expensive tour rather than the total sum of all tours [2, 12]. This problem could be viewed upon as minimizing the total time taken for the last mailman to return to the post office. The formalization of this problem is a lot similar to formula 2.3 except that the objective function minimizes the maximum rather than the sum. It can be formalized as in 2.4. ( minimize z = max c(e) t(e)) tpt epe subject to tpt ( t(e) P E, w:(w,v)pe t((w, v)) ) + ( w:(v,w)pe t((v, w)) ) 0 (mod P P T, te P E : t(e) 1u composes a connected P T, t((v s, w)) 1 Dw P P T Using the same reasoning as for the k-cpp, the MM k-cpp is also N P-Hard[11]. (2.3) (2.4) 2.5 The Weighted k-chinese Postman Problem The Weighted k-chinese Postman Problem (W k-cpp) is defined by Holmberg as the weighted sum of the k-cpp and the MM k-cpp [8]. This problem can be viewed upon as delivering all mail in a city, using multiple mailmen, and taking into consideration both the total completion time and the combined environmental impact of the entire team. 6

12 2.6. Dynamic Programming To formalize this problem a constant is required λ P [0, 1] representing to what degree each of the sums affect the objective function value. The problem can be formalized as in formula 2.5. ( minimize z = λ ( max c(e) t(e)) ) + (1 λ) ( c(e) t(e) ) tpt epe tpt epe subject to tpt ( t(e) P E, w:(w,v)pe t((w, v)) ) + ( w:(v,w)pe t((v, w)) ) 0 (mod P P T, te P E : t(e) 1u composes a connected P T, t((v s, w)) 1 Dw P P T Inspecting formula 2.5 reveals that setting λ = 1 would turn the W k-cpp into the MM k-cpp. Setting λ = 0 would turn it into the k-cpp. This means that the W k-cpp must be N P-Hard. 2.6 Dynamic Programming According to Bellman, Dynamic Programming is a method for solving complex problems by dividing the problem into sub-problems, solving the sub-problems individually, storing these problems in memory and then using the stored solutions to solve the complex problem [3]. Each problem solved by a dynamic programming algorithm is stored in memory for usage in later problems. This means that dynamic programming is only advised to use when a problem domain contains overlapping sub-problems. Dynamic programming is not to be confused with the Divide and Conquer method since the Divide and Conquer method does not store any previous solutions in memory. (2.5) 2.7 Lower Bounds A lower bound to a problem is a value which is guaranteed to always be lower or equal to the value of the global optimum. Lower bounds are often used in order to evaluate the performance of a heuristic since it is not possible to calculate the actual optimal value of an N P-Hard problem in reasonable time Lower Bounds for W k-cpp According to Holmberg, the lower bound for the W k-cpp can be calculated using formula 2.6 [8]. LB WkCPP = λ(lb MMkCPP ) + (1 λ)(lb kcpp ) (2.6) Lower Bounds for MM k-cpp The lower bounds for the MM k-cpp can be calculated as described by Holmberg and by Ahr and Reinelt [2, 8]. It is calculated as in formula 2.7. LB MMkCPP = cost(cpp) k (2.7) 7

13 2.8. Metaheuristics Lower Bounds for k-cpp The cost of the CPP solution can serve as a lower bound to the k-cpp. This is proven using a proof of contradiction. 1. Suppose that c is the optimal solution to the CPP. 2. Suppose that there exists a solution T = tt 1, t 2,..., t k u to the k-cpp such that cost(t) cost(c ). tpt 3. Then there exists another tour c 2 = t 1 t 2... t n. 4. The cost of c 2 = cost(t) ùñ cost(c 2 ) cost(c ) ùñ K tpt 2.8 Metaheuristics According to C. Blum and A. Roli, several attempts of defining metaheuristics has been made [5]. They describe metaheuristics in short as high level strategies for exploring search spaces using different methods. Rather than finding all the neighbours of a given solution, the metaheuristics consists of algorithms for choosing which neighbouring solution to be used in the next iteration. They often depend on other heuristics to find all the neighbouring solutions in the current search-space. They are, in a sense, heuristics of a higher abstraction level Tabu Search Tabu Search is essentially an improved version of the Hill Climbing local search algorithm. The Hill Climbing algorithm works as follows: 1. Find all neighbors of the current solution. 2. Choose the best solution of all those neighbors. 3. If the objective function value of the best neighbor is worse than the current solution, return the current solution as the final answer. Otherwise, replace the current solution with the best neighbor and return to step 1. This algorithm performs quite poorly in practice since it will most often get stuck in a local optimum. According to Bianchi, Dorgio, Gambardella and Gutjahr, local optima are often much worse than the global optimum in combinatorial problems [4]. Getting stuck in local optima is avoided in the Tabu Search heuristic by utilizing the following concepts: best improvement, tabu lists and aspiration criteria. The best improvement concept means that the best neighbor always will be chosen, regardless if the current solution is better. This means that Tabu Search will never get stuck in a local optimum. While this solves local optimum problem, it produces another problem: If the best neighbor always replaces the current solution, we will enter a cycle as soon as we find a local optimum since we will alternate between the local optimum and the best neighbor to that local optimum. That problem is solved by remembering the chosen solutions and forbidding them in the next iteration. They are remembered by getting stored in tabu lists. Most often, the transition is stored in the tabu list rather than the actual solution in order to consume less memory. The heuristic still lacks one final component. Currently, the tabu search contains no stopping criteria. This is why we need the aspiration criteria. These criteria contains conditions as to when the tabu search has finished its search and can consist of conditions regarding both the objective function value as well as the transition options. The algorithm in Algorithm 2.1 8

14 2.8. Metaheuristics is an implementation of the Tabu Search Heuristic where f is a function calculating the objective function value of a solution, x is the initial solution, and δ is a function calculating the transition between two solutions. 1 function tabu( f, x, δ) 2 T Ð [ ] 3 while criteria_not_passed(x) : 4 N Ð generate_neighborhood(x) 5 b Ð min nptepn : δ(e,x)rtu f (n) 6 T.push(δ(x, b)) 7 x Ð b 8 r e t u r n x Algorithm 2.1: Tabu Search Implementation 9

15 3 Method The study started with a planning phase where the decision was made to split the study into three phases: a Pre-Study Phase, an Implementation Phase and an Evaluation Phase. After the planning phase, some prior research was made in order to gain a brief understanding of the problem at hand, the terminology, and the basic concepts required to perform this study. The majority of this information was found in the book Optimering: metoder, modeller och teori för linjära, olinjära och kombinatoriska problem by Holmberg [10]. 3.1 Pre-Study After the initial knowledge was aquired, several articles regarding the CPP and some of its variations were read. It was noted how other authors constructed the lower bounds and how they chose to evaluate their heuristics. The graphs used to evaluate the W k-cpp heuristic in the study by Holmberg, representing different neigborhoods in Sweden, were gathered to be used in this study (see Figure Figure 4.5). Studies regaring meta heuristics were read in order to make an informed decision as to which meta heuristic to be used along with the heuristic to be implemented. 3.2 Implementation Before any heuristic could be implemented, data structures for both the graphs and the tours were required. Once the data structures were created, the Cycle Trade heuristic was implemented. The idea behind the heuristic was that by swapping cycles between the most expensive and the cheapest tour in the solution, the cost of all tours would eventually "even out". If the trades between the tours could be done in the cheapest possible manner it would also have a minimal impact on the combined cost. This would, in theory, result in a low W k-cpp cost. After the swapping algorithm was implemented, the tabu search was constructed to choose the most promising cycle swap. In order to decrease the execution-time of each iteration by the heuristic, instead of creating one solution for each cycle trade, a candidate data structure was implemented, only containing the gain of the trade and which cycle that was to be traded between which two tours. This immensively improved the execution time of an iteration. 10

16 3.3. Evaluation 3.3 Evaluation The evaluation of this heuristic was performed similarly to the evaluation made by Ahr and Reinelt on their tabu search heuristic for the MM k-cpp [2]. In their evaluation they made computational tests on the heuristic using several different graph instances. For each graph, one test was performed for each integer k P [2, 10]. For each test, the tabu search was terminated if either the best solution was not improved in a set amount of iterations or the search had been active for a set amount of time. In this evaluation a similar method of evaluation will be used, albeit different graphs. The weight λ will be set to k+1 k, where k represents the number of vehicles, so that, for all tests, the maximal traveling distance and the combined traveling distance will be of equal importance. The graphs used in this study includes 5 graphs representing neighbourhoods in Sweden fetched by Holmberg from OpenStreetMaps [9, 1]. 11

17 4 Results This chapter presents the results obtained using the method described in the Method chapter. First, the implementation of the heuristic is described, followed by a description of how the results are formatted. Finally the data obtained by running the tests is presented. 4.1 Implementation This section describes how the heuristic was implemented as well as how the data structures were modelled The Data Structures The different data structures used in the program were implemented as described below. The Graph Abstraction The graph was implemented as a class containing two members: the total number of vertices, V, and the edges in the graph, E. It was implemented so that V = 10 ùñ V = t0, 1, 2, 3,..., 9u. E was a implemented as a map containing a cost for each edge in the graph. Since this study only considered undirected graphs, E was constructed such that E x,y = E y) P V 2. The Tour Abstraction A tour was implemented as a class containing two members: the total cost of the tour, c, and an ordered list, t, representing the tour taken, where the index of the list determined the order in which the edges were traversed. So a tour with the member t = [1, 2, 3, 4, 2, 1] would represent the tour 1 Ñ 2 Ñ 3 Ñ 4 Ñ 2 Ñ 1. This means that the edges were traversed in the following order: t1, 2u, t2, 3u, t3, 4u, t4, 2u, t2, 1u The Cycle Trade Heuristic The Cycle Trade Heuristic generates all neighbouring solutions by, for all cycles in the most expensive tour, giving a cycle to the cheapest tour. The heuristic of generating new solutions 12

18 4.2. Evaluation can be described by the function in Algorihtm 4.1 where T is a set of tours representing a solution to the W k-cpp. Choosing which of the neighboring solutions that is to be used in the next iteration is handled by the tabu search. 1 function cycle_trade(t) : 2 Neighbours Ð H 3 t 1 Ð max tpt tcost(t)u 4 t 2 Ð min tpt tcost(t)u 5 foreach c P get_all_cycles(t 1 ) : 6 t 3 Ð with_cycle_excluded(c, t 1 ) 7 t 4 Ð with_cycle_included(c, t 2 ) 8 n Ð (Tztt 1, t 2 u) Y tt 3, t 4 u 9 Neighbours Ð Neighbours Y n 10 r e t u r n Neighbours Algorithm 4.1: The Cycle Trade Heuristic. In order to add a cycle, the shortest paths from all vertices in the cycle to all vertices in the receiving tour are calculated. The shortest path of these paths is chosen as the connecting path between the tour and the cycle and will be added immediately before traversing the cycle and the reversed path will be added immediately after traversing the cycle. The cycle is placed in the tour where the connecting vertex is visited for the first time. The cycle is rotated to connect with the path added. Calculating the shortest paths from each vertex in the tour to each vertex in the cycle is an expensive operation. To enhance the computation speed, dynamic programming was applied. For each path found by the program in a given graph, that path, and all subpaths, are stored in memory to be used in later calculations. This means that calculating the shortest path becomes increasingly faster as more paths have been calculated. 4.2 Evaluation For each problem, there is a Graph illustrating the problem (Figure Figure 4.5), a chart and a table. The chart represents the value of the objective function during each iteration of the heuristic, and for each value K. For all the tests, the size of the tabu list was set to 10. Note that even though the objective function in a specific iteration may be higher than a previous answer, the best solution is always kept in memory. For some tests, the heuristic was unable to complete 100 iterations due to all neighbours being blocked by the tabu list. Then the current best solution was returned. 13

19 4.2. Evaluation Åtvidaberg Figure 4.1: Åtvidaberg 68 nodes, 95 edges Current Solution Cost 2,500 2,100 1,700 1,300 Current solution cost at each iteration K=2 K=3 K=4 K=5 K=6 K=7 K=8 K=9 K= Iteration K Weight Obj. Func. Val LowerBound Rel. Error Execution Time (s) % % % % % % % % %

20 4.2. Evaluation Colonia Figure 4.2: Colonia 24 nodes, 36 edges Current Solution Cost Current solution cost at each iteration K=2 K=3 K=4 K=5 K=6 K=7 K=8 K=9 K= Iteration K Weight Obj. Func. Val LowerBound Rel. Error Execution Time (s) % % % % % % % % %

21 4.2. Evaluation Skänninge Figure 4.3: Skänninge 62 nodes, 80 edges Current Solution Cost 1,300 1, Current solution cost at each iteration K=2 K=3 K=4 K=5 K=6 K=7 K=8 K=9 K= Iteration K Weight Obj. Func. Val LowerBound Rel. Error Execution Time (s) % % % % % % % % %

22 4.2. Evaluation Studentryd Figure 4.4: Studentryd 387 nodes, 519 edges Current Solution Cost 4,000 3,250 2,500 1,750 Current solution cost at each iteration K=2 K=3 K=4 K=5 K=6 K=7 K=8 K=9 K=10 1, Iteration K Weight Obj. Func. Val LowerBound Rel. Error Execution Time (s) % % % % % % % % %

23 4.2. Evaluation Vadstena Figure 4.5: Vadstena 581 nodes, 778 edges Current Solution Cost Current solution cost at each iteration K=2 K=3 K=4 K=5 K=6 K=7 K=8 K=9 K= Iteration K Weight Obj. Func. Val LowerBound Rel. Error Execution Time (s) % % % % % % % % %

24 5 Discussion This chapter contains the analysis of the results and method used in this study. Thoughts regarding the ethical and societal aspects of this area are also presented. 5.1 Results First of all, it should be noted that the results of the smaller graphs are of less importance than the larger ones, since heuristics are mainly used on problems too large for an optimal search algorithm to handle. The purpose of these graphs are to show tendencies found when increasing the size, rather than to evaluate the performance of the heuristic. The Cycle Trade heuristic tends to be solving the problem increasingly faster when the number of vehicles in the problem increase. This is probably due to the heuristic only giving cycles from the most expensive tour to the least expensive. An increasing number of vehicles would result in all cycles being distributed on more vehicles, which, in turn, would lead to a lot fewer cycles to calculate the trading cost of. The heuristic seems to be closest to the lower bound for the problems with the fewest number of vehices. One of the reasons may be that the heuristic only gives cycles from the most expensive tour to the cheapest. It results in a lot of cycle-trades not being considered since they are not in the most expensive tour. Another reason may be that the lower bound formula does not scale well for increasing number of vehicles. The formula is calculated by dividing CPP cost by k which may not be an accurate estimation for increasing number of k. A lot of the tests seems to have repeating patterns in the later iterations. This may be an indicator that the tabu list size was too small, allowing the search to loop between already discovered solutions. The heuristic results in solutions relatively closer to the lower bound for graphs of greater size. It is suspected that this is due to the larger graphs containing more tradeable cycles and cycles of more varied sizes, which results in a more even disitribution of workload for all vehicles. This behaviour is especially promising, since heuristics are mainly used on problems too large to solve using brute force methods. A surprising trend in the results is the starting improvement speed of each iteration. For the majority of the tests, the best solution was found in the first 20 iterations. The cause for this might also be due to tours being considered in the trade. The most expensive solution might 19

25 5.2. Method not have any profitable trades available, but trading a tour from the second most expensive tour might lower the solution cost even further. 5.2 Method Since the W k-cpp is a relatively new problem, theory and heuristics regarding the subject is scarse. To better evaluate the performance of this heuristic, other heuristics to be used for comparison would have been immensely helpful. In the tests, the attribute time was used to evaluate the effort required to perform all iterations. Measuring the effort of a procedure using time is not an accurate method, since it depends on the currently available processing power which may heavily fluctuate during the test. In order to get a better estimate of the effort, either the mean time over several executions of the same test, or the required CPU-time, could have been used. As noted in the discussion of the results, it was suspected that the tabu search got stuck in loops in the later iterations of the heuristics. If that is the case, then the size of the tabu list was too small. And for some of the smaller problems, the test was aborted due to all neighbours being blocked by the tabu list. Using a tabu list of increasing size for increasing problem sizes would probably remove these isues, given that the tabu size was the cause. In this study, the lower bound for the MM k-cpp part was calculated using formula 2.7. This formula seems to be too simple for higher values of K, since it assumes that the graph can be perfectly divided into K tours. And for an increasing number of tours this estimaton gets increasingly worse. A proposal for a new lower bounds estimaton would be to simply find all cycles in the graph and divide them as evenly as possible, ignoring the fact that the path for each of the vehicles has to be a tour. 5.3 The Work in a Wider Context As with all optimizations, there are some inevitable consequences. Optimizing the plowing of a city might result in fewer snow plowers being required. This may, in term, result in some of the workers loosing their employment. And since snow plowing is not the only area where this problem is applicable, the magnitude of this problem increases. That being said, optimizing these types of problems results in solving them with less required resources, which leads to a lower environmental impact of the performed task. In the case of snow plowing, it also results in faster snow removal time, which means that there will be less people stuck in traffic. 20

26 6 Conclusion 6.1 Answer to Research Questions In this study, a heuristic consisting of trading cycles between all tours in the solution has been implemented. The results shows that the heuristic performs suprisingly well on larger graphs with a low number of tours. For the smaller graphs, there exists to few cycles to be able to divide the graph into an equitable distribution between the tours. When using too many vehicles, the heuristic considers too few alternatives in each step, since it only considers trading cycles from the most expensive tour to the cheapest. Regarding question Q.1, the solution found by the heuristic is close to the optimum for large problems having low values of k. For higher values of k, the solution quality becomes increasingly worse, though for larger problems the heuristic handles higher values of k better. Regarding question Q.2, the time required depends heavily on the number of vehicles, more vehicles leads to faster computation time. The size of the graph is also a significant factor to the execution time. However, in real life applications it will most often be the case that a larger problem is handled by several vehicles, meaning that the computation time will remain within feasible bounds. 6.2 Further Research In order to further improve the solution, a heuristic considering more tours in the trade, is proposed. It is believed that enabling more tours to trade cycles between would, by sacrificing the computation time of the iterations, yield much higher quality for all problems when the number of vehicles in the problem increases. Since this heuristic shows promise for the W k-cpp, it might also be a good heuristic for the composing problems, namely the MM k-cpp and the k-cpp. Evaluating the performance of this heuristic in these sub-problems might prove valuable. 21

27 Bibliography [1] c OpenStreetMap contributors. Graph data retrieved from [2] Dino Ahr and Gerhard Reinelt. A tabu search algorithm for the min max k-chinese postman problem. In: Computers & Operations Research (2006). Part Special Issue: Recent Algorithmic Advances for Arc Routing Problems, pp ISSN: DOI: URL: http: // [3] Richard Bellman. The theory of dynamic programming. Tech. rep. RAND CORP SANTA MONICA CA, [4] L. ( 1 ) Bianchi, L.M. ( 1 ) Gambardella, M. ( 2 ) Dorigo, and W.J. ( 3 ) Gutjahr. A survey on metaheuristics for stochastic combinatorial optimization. In: Natural Computing 8.2 (2009), pp ISSN: URL: se/login?url= aspx?direct=true&authtype=ip, uid&db=edselc&an=edselc &lang=sv&site=eds-live&scope=site. [5] Christian Blum and Andrea Roli. Metaheuristics in Combinatorial Optimization: Overview and Conceptual Comparison. In: ACM Computing Surveys 35.3 (2003), pp ISSN: URL: ebscohost- com.e.bibl.liu.se/login.aspx?direct= true&authtype=ip,uid&db=buh&an= &lang=sv&site=eds- live& scope=site. [6] Jack Edmonds and Ellis Johnson. Matching, Euler tours and the Chinese postman. In: Mathematical Programming 5.1 (1973), p. 88. ISSN: URL: bibl.liu.se/login?url= direct=true& AuthType=ip, uid& db=edb& AN= & lang=sv& site= eds-live&scope=site. [7] Martin Grötschel and Ya-xiang Yuan. Euler, mei-ko kwan, königsberg, and a chinese postman. In: Optimization Stories (2012), p. 43. [8] Kaj Holmberg. Heuristics for the weighted k-chinese/rural postman problem with a hint of fixed costs with applications to urban snow removal. In: (2015). URL: https: //login.e.bibl.liu.se/login?url= 22

28 Bibliography login. aspx? direct = true & AuthType = ip, uid & db = edsbas & AN = edsbas. ftlinkoepinguniv.oai.diva.org.liu &lang=sv&site=eds-live& scope=site. [9] Kaj Holmberg. On Using OpenStreetMap and GPS for Optimization. Tech. rep. 2015:15. Linköping University, Faculty of Science & Engineering, 2015, p. 35. [10] Kaj Holmberg. Optimering : metoder, modeller och teori för linjära, olinjära och kombinatoriska problem. Stockholm : Liber, 2010, ISBN: URL: https : / / login.e.bibl.liu.se/login?url= login. aspx? direct = true & AuthType = ip, uid & db = cat00115a & AN = lkp &lang=sv&site=eds-live&scope=site. [11] C. S. Orloff. A fundamental problem in vehicle routing. In: Networks 4.1 (1974), pp ISSN: DOI: /net URL: doi.org/ /net [12] André Osterhues and Frank Mariak. On variants of the k-chinese Postman Problem. In: Operations Research and Wirtschaftsinformatik, University Dortmund 30 (2005). 23

HTTP Based Adap ve Bitrate Streaming Protocols in Live Surveillance Systems

HTTP Based Adap ve Bitrate Streaming Protocols in Live Surveillance Systems HTTP Based Adapve Bitrate Streaming Protocols in Live Surveillance Systems Daniel Dzabic Jacob Mårtensson Supervisor : Adrian Horga Examiner : Ahmed Rezine External supervisor : Emil Wilock Linköpings

More information

Design and evaluation of a system that coordinate clients to use the same server

Design and evaluation of a system that coordinate clients to use the same server Linköpings universitet/linköping University IDA Department of Computer and Information Science Bachelor Thesis Information Technology Spring term 2017 LIU-IDA/LITH-EX-G--17/067--SE Design and evaluation

More information

Institutionen för datavetenskap Department of Computer and Information Science

Institutionen för datavetenskap Department of Computer and Information Science Institutionen för datavetenskap Department of Computer and Information Science Final Thesis Network usage profiling for applications on the Android smart phone by Jakob Egnell LIU-IDA/LITH-EX-G 12/004

More information

Institutionen för datavetenskap Department of Computer and Information Science

Institutionen för datavetenskap Department of Computer and Information Science Institutionen för datavetenskap Department of Computer and Information Science Final thesis Case Study of Development of a Web Community with ASP.NET MVC 5 by Haci Dogan LIU-IDA/LITH-EX-A--14/060--SE 2014-11-28

More information

Design, Implementation, and Performance Evaluation of HLA in Unity

Design, Implementation, and Performance Evaluation of HLA in Unity Linköping University IDA Bachelor Thesis Computer Science Spring 2017 LIU-IDA/LITH-EX-G-17/007--SE Design, Implementation, and Performance Evaluation of HLA in Unity Author: Karl Söderbäck 2017-06-09 Supervisor:

More information

Institutionen för datavetenskap

Institutionen för datavetenskap Institutionen för datavetenskap Department of Computer and Information Science Institutionen för datavetenskap Department of Computer Final thesis and Information Science Minimizing memory requirements

More information

Object Migration in a Distributed, Heterogeneous SQL Database Network

Object Migration in a Distributed, Heterogeneous SQL Database Network Linköping University Department of Computer and Information Science Master s thesis, 30 ECTS Computer Engineering (Datateknik) 2018 LIU-IDA/LITH-EX-A--18/008--SE Object Migration in a Distributed, Heterogeneous

More information

Evaluation of BizTalk360 From a business value perspective

Evaluation of BizTalk360 From a business value perspective Linköpings universitet Institutionen för IDA Kandidatuppsats, 16 hp Högskoleingenjör - Datateknik Vårterminen 2018 LIU-IDA/LITH-EX-G--18/069--SE Evaluation of BizTalk360 From a business value perspective

More information

Evaluation of a synchronous leader-based group membership

Evaluation of a synchronous leader-based group membership Linköping University Department of Computer Science Bachelor thesis, 16 ECTS Information Technology Spring 2017 LIU-IDA/LITH-EX-G--17/084--SE Evaluation of a synchronous leader-based group membership protocol

More information

Slow rate denial of service attacks on dedicated- versus cloud based server solutions

Slow rate denial of service attacks on dedicated- versus cloud based server solutions Linköping University Department of Computer and Information Science Bachelor thesis, 16 ECTS Information technology 2018 LIU-IDA/LITH-EX-G--18/031--SE Slow rate denial of service attacks on dedicated-

More information

Institutionen för datavetenskap Department of Computer and Information Science

Institutionen för datavetenskap Department of Computer and Information Science Institutionen för datavetenskap Department of Computer and Information Science Final thesis Introducing Mock framework for Unit Test in a modeling environment by Joakim Braaf LIU-IDA/LITH-EX-G--14/004--SE

More information

Creating a Framework for Consumer-Driven Contract Testing of Java APIs

Creating a Framework for Consumer-Driven Contract Testing of Java APIs Linköping University IDA Bachelor s Degree, 16 ECTS Computer Science Spring term 2018 LIU-IDA/LITH-EX-G--18/022--SE Creating a Framework for Consumer-Driven Contract Testing of Java APIs Fredrik Selleby

More information

Institutionen för datavetenskap Department of Computer and Information Science

Institutionen för datavetenskap Department of Computer and Information Science Institutionen för datavetenskap Department of Computer and Information Science Final thesis A systematic literature Review of Usability Inspection Methods by Ali Ahmed LIU-IDA/LITH-EX-A--13/060--SE 2013-11-01

More information

Functional and Security testing of a Mobile Application

Functional and Security testing of a Mobile Application Linköping University Department of Computer Science Bachelor thesis, 16 ECTS Information Technology 2017 LIU-IDA/LITH-EX-G--17/066--SE Functional and Security testing of a Mobile Application Funktionell

More information

HTTP/2, Server Push and Branched Video

HTTP/2, Server Push and Branched Video Linköping University Department of Computer Science Bachelor thesis, 16 ECTS Datateknik 2017 LIU-IDA/LITH-EX-G--17/073--SE HTTP/2, Server Push and Branched Video Evaluation of using HTTP/2 Server Push

More information

Storage and Transformation for Data Analysis Using NoSQL

Storage and Transformation for Data Analysis Using NoSQL Linköping University Department of Computer Science Master thesis, 30 ECTS Information Technology 2017 LIU-IDA/LITH-EX-A--17/049--SE Storage and Transformation for Data Analysis Using NoSQL Lagring och

More information

Multi-Video Streaming with DASH

Multi-Video Streaming with DASH Linköping University Department of Computer Science Bachelor thesis, 16 ECTS Datateknik 217 LIU-IDA/LITH-EX-G--17/71--SE Multi-Video Streaming with DASH Multi-video streaming med DASH Sebastian Andersson

More information

Semi-automatic code-to-code transformer for Java

Semi-automatic code-to-code transformer for Java Linköping University Department of Computer Science Master thesis, 30 ECTS Datateknik 2016 LIU-IDA/LITH-EX-A--16/031--SE Semi-automatic code-to-code transformer for Java Transformation of library calls

More information

Institutionen för datavetenskap Department of Computer and Information Science

Institutionen för datavetenskap Department of Computer and Information Science Institutionen för datavetenskap Department of Computer and Information Science Final thesis Migration process evaluation and design by Henrik Bylin LIU-IDA/LITH-EX-A--13/025--SE 2013-06-10 Linköpings universitet

More information

Optimizing a software build system through multi-core processing

Optimizing a software build system through multi-core processing Linköping University Department of Computer Science Master thesis, 30 ECTS Datateknik 2019 LIU-IDA/LITH-EX-A--19/004--SE Optimizing a software build system through multi-core processing Robin Dahlberg

More information

Comparing Costs of Browser Automation Test Tools with Manual Testing

Comparing Costs of Browser Automation Test Tools with Manual Testing Linköpings universitet The Institution of Computer Science (IDA) Master Theses 30 ECTS Informationsteknologi Autumn 2016 LIU-IDA/LITH-EX-A--16/057--SE Comparing Costs of Browser Automation Test Tools with

More information

An Approach to Achieve DBMS Vendor Independence for Ides AB s Platform

An Approach to Achieve DBMS Vendor Independence for Ides AB s Platform Linköping University Department of Computer Science Bachelor thesis, 16 ECTS Datateknik 2017 LIU-IDA/LITH-EX-G--17/008--SE An Approach to Achieve DBMS Vendor Independence for Ides AB s Platform Niklas

More information

Design and Proof-of-Concept Implementation of Interactive Video Streaming with DASH.js

Design and Proof-of-Concept Implementation of Interactive Video Streaming with DASH.js Linköping University Department of Computer and Information Science Bachelor thesis, 16 ECTS Datateknik 2017 LIU-IDA/LITH-EX-G--17/081--SE Design and Proof-of-Concept Implementation of Interactive Video

More information

Personlig visualisering av bloggstatistik

Personlig visualisering av bloggstatistik LiU-ITN-TEK-G-13/005-SE Personlig visualisering av bloggstatistik Tina Durmén Blunt 2013-03-22 Department of Science and Technology Linköping University SE-601 74 Norrköping, Sweden Institutionen för teknik

More information

Institutionen för datavetenskap Department of Computer and Information Science

Institutionen för datavetenskap Department of Computer and Information Science Institutionen för datavetenskap Department of Computer and Information Science Final thesis Towards efficient legacy test evaluations at Ericsson AB, Linköping by Karl Gustav Sterneberg LIU-IDA/LITH-EX-A--08/056--SE

More information

Creating User Interfaces Using Web-based Technologies to Support Rapid Prototyping in a Desktop Astrovisualization Software

Creating User Interfaces Using Web-based Technologies to Support Rapid Prototyping in a Desktop Astrovisualization Software LiU-ITN-TEK-A--17/062--SE Creating User Interfaces Using Web-based Technologies to Support Rapid Prototyping in a Desktop Astrovisualization Software Klas Eskilson 2017-11-28 Department of Science and

More information

Department of Electrical Engineering. Division of Information Coding. Master Thesis. Free Viewpoint TV. Mudassar Hussain.

Department of Electrical Engineering. Division of Information Coding. Master Thesis. Free Viewpoint TV. Mudassar Hussain. Department of Electrical Engineering Division of Information Coding Master Thesis Free Viewpoint TV Master thesis performed in Division of Information Coding by Mudassar Hussain LiTH-ISY-EX--10/4437--SE

More information

A Back-End for the SkePU Skeleton Programming Library targeting the Low- Power Multicore Vision Processor

A Back-End for the SkePU Skeleton Programming Library targeting the Low- Power Multicore Vision Processor Linköping University Department of Computer Science Master thesis, 30 ECTS Datateknik 2016 LIU-IDA/LITH-EX-A--16/055--SE A Back-End for the SkePU Skeleton Programming Library targeting the Low- Power Multicore

More information

Analysis of GPU accelerated OpenCL applications on the Intel HD 4600 GPU

Analysis of GPU accelerated OpenCL applications on the Intel HD 4600 GPU Linköping University Department of Computer Science Master thesis, 30 ECTS Computer Science Spring term 2017 LIU-IDA/LITH-EX-A--17/019--SE Analysis of GPU accelerated OpenCL applications on the Intel HD

More information

Design of video players for branched videos

Design of video players for branched videos Linköping University Department of Computer and Information Science Bachelor thesis, 16 ECTS Computer Science 2018 LIU-IDA/LITH-EX-G--18/053--SE Design of video players for branched videos Design av videospelare

More information

Intelligent boundary extraction for area and volume measurement

Intelligent boundary extraction for area and volume measurement Linköping University Department of Computer Science Master thesis, 30 ECTS Datateknik 2017 LIU-IDA/LITH-EX-A--17/009--SE Intelligent boundary extraction for area and volume measurement Using LiveWire for

More information

Adapting network interactions of a rescue service mobile application for improved battery life

Adapting network interactions of a rescue service mobile application for improved battery life Linköping University Department of Computer and Information Science Bachelor thesis, 16 ECTS Information Technology Spring term 2017 LIU-IDA/LITH-EX-G--2017/068--SE Adapting network interactions of a rescue

More information

Design Optimization of Soft Real-Time Applications on FlexRay Platforms

Design Optimization of Soft Real-Time Applications on FlexRay Platforms Institutionen för Datavetenskap Department of Computer and Information Science Master s thesis Design Optimization of Soft Real-Time Applications on FlexRay Platforms by Mahnaz Malekzadeh LIU-IDA/LITH-EX-A

More information

Calibration of traffic models in SIDRA

Calibration of traffic models in SIDRA LIU-ITN-TEK-A-13/006-SE Calibration of traffic models in SIDRA Anna-Karin Ekman 2013-03-20 Department of Science and Technology Linköping University SE-601 74 Norrköping, Sweden Institutionen för teknik

More information

Institutionen för datavetenskap Department of Computer and Information Science

Institutionen för datavetenskap Department of Computer and Information Science Institutionen för datavetenskap Department of Computer and Information Science Final thesis A database solution for scientific data from driving simulator studies By Yasser Rasheed LIU-IDA/LITH-EX-A--11/017

More information

Automatic Test Suite for Physics Simulation System

Automatic Test Suite for Physics Simulation System Examensarbete LITH-ITN-MT-EX--06/042--SE Automatic Test Suite for Physics Simulation System Anders-Petter Mannerfelt Alexander Schrab 2006-09-08 Department of Science and Technology Linköpings Universitet

More information

Implementation and Evaluation of Bluetooth Low Energy as a communication technology for wireless sensor networks

Implementation and Evaluation of Bluetooth Low Energy as a communication technology for wireless sensor networks Linköpings universitet/linköping University IDA HCS Bachelor 16hp Innovative programming Vårterminen/Spring term 2017 ISRN: LIU-IDA/LITH-EX-G--17/015--SE Implementation and Evaluation of Bluetooth Low

More information

Automatic LOD selection

Automatic LOD selection LiU-ITN-TEK-A--17/054--SE Automatic LOD selection Isabelle Forsman 2017-10-20 Department of Science and Technology Linköping University SE-601 74 Norrköping, Sweden Institutionen för teknik och naturvetenskap

More information

Institutionen för datavetenskap Department of Computer and Information Science

Institutionen för datavetenskap Department of Computer and Information Science Institutionen för datavetenskap Department of Computer and Information Science Master s Thesis An Approach on Learning Multivariate Regression Chain Graphs from Data by Babak Moghadasin LIU-IDA/LITH-EX-A--13/026

More information

Information visualization of consulting services statistics

Information visualization of consulting services statistics LiU-ITN-TEK-A--16/051--SE Information visualization of consulting services statistics Johan Sylvan 2016-11-09 Department of Science and Technology Linköping University SE-601 74 Norrköping, Sweden Institutionen

More information

Tablet-based interaction methods for VR.

Tablet-based interaction methods for VR. Examensarbete LITH-ITN-MT-EX--06/026--SE Tablet-based interaction methods for VR. Lisa Lönroth 2006-06-16 Department of Science and Technology Linköpings Universitet SE-601 74 Norrköping, Sweden Institutionen

More information

Context-based algorithm for face detection

Context-based algorithm for face detection Examensarbete LITH-ITN-MT-EX--05/052--SE Context-based algorithm for face detection Helene Wall 2005-09-07 Department of Science and Technology Linköpings Universitet SE-601 74 Norrköping, Sweden Institutionen

More information

Debug Interface for Clone of DSP. Examensarbete utfört i Elektroniksystem av. Andreas Nilsson

Debug Interface for Clone of DSP. Examensarbete utfört i Elektroniksystem av. Andreas Nilsson Debug Interface for Clone of 56000 DSP Examensarbete utfört i Elektroniksystem av Andreas Nilsson LITH-ISY-EX-ET--07/0319--SE Linköping 2007 Debug Interface for Clone of 56000 DSP Examensarbete utfört

More information

Permissioned Blockchains and Distributed Databases: A Performance Study

Permissioned Blockchains and Distributed Databases: A Performance Study Linköping University Department of Computer and Information Science Master thesis, 30 ECTS Datateknik 2018 LIU-IDA/LITH-EX-A--2018/043--SE Permissioned Blockchains and Distributed Databases: A Performance

More information

Network optimisation and topology control of Free Space Optics

Network optimisation and topology control of Free Space Optics LiU-ITN-TEK-A-15/064--SE Network optimisation and topology control of Free Space Optics Emil Hammarström 2015-11-25 Department of Science and Technology Linköping University SE-601 74 Norrköping, Sweden

More information

Distributed Client Driven Certificate Transparency Log

Distributed Client Driven Certificate Transparency Log Linköping University Department of Computer and Information Science Bachelor thesis, 16 ECTS Information Technology 2018 LIU-IDA/LITH-EX-G--18/055--SE Distributed Client Driven Transparency Log Distribuerad

More information

Institutionen för datavetenskap Department of Computer and Information Science

Institutionen för datavetenskap Department of Computer and Information Science Institutionen för datavetenskap Department of Computer and Information Science Bachelor thesis A TDMA Module for Waterborne Communication with Focus on Clock Synchronization by Anders Persson LIU-IDA-SAS

More information

Computer-assisted fracture reduction in an orthopaedic pre-operative planning workflow

Computer-assisted fracture reduction in an orthopaedic pre-operative planning workflow LiU-ITN-TEK-A--17/003--SE Computer-assisted fracture reduction in an orthopaedic pre-operative planning workflow Ludvig Mangs 2017-01-09 Department of Science and Technology Linköping University SE-601

More information

Extending the Stream Reasoning in DyKnow with Spatial Reasoning in RCC-8

Extending the Stream Reasoning in DyKnow with Spatial Reasoning in RCC-8 Institutionen för Datavetenskap Department of Computer and Information Science Master s thesis Extending the Stream Reasoning in DyKnow with Spatial Reasoning in RCC-8 by Daniel Lazarovski LIU-IDA/LITH-EX-A

More information

Development of a Game Portal for Web-based Motion Games

Development of a Game Portal for Web-based Motion Games Linköping University Department of Computer Science Master thesis, 30 ECTS Datateknik 2017 LIU-IDA/LITH-EX-A--17/013--SE Development of a Game Portal for Web-based Motion Games Ozgur F. Kofali Supervisor

More information

Visualisation of data from IoT systems

Visualisation of data from IoT systems Linköping University Department of Computer Science Master thesis, 30 ECTS Datateknik 2017 LIU-IDA/LITH-EX-A--17/027--SE Visualisation of data from IoT systems A case study of a prototyping tool for data

More information

Semi-automated annotation of histology images

Semi-automated annotation of histology images Linköping University Department of Computer science Master thesis, 30 ECTS Computer science 2016 LIU-IDA/LITH-EX-A--16/030--SE Semi-automated annotation of histology images Development and evaluation of

More information

Ad-hoc Routing in Low Bandwidth Environments

Ad-hoc Routing in Low Bandwidth Environments Master of Science in Computer Science Department of Computer and Information Science, Linköping University, 2016 Ad-hoc Routing in Low Bandwidth Environments Emil Berg Master of Science in Computer Science

More information

Institutionen för datavetenskap. Study of the Time Triggered Ethernet Dataflow

Institutionen för datavetenskap. Study of the Time Triggered Ethernet Dataflow Institutionen för datavetenskap Department of Computer and Information Science Final thesis Study of the Time Triggered Ethernet Dataflow by Niclas Rosenvik LIU-IDA/LITH-EX-G 15/011 SE 2015-07-08 Linköpings

More information

Optimal Coherent Reconstruction of Unstructured Mesh Sequences with Evolving Topology

Optimal Coherent Reconstruction of Unstructured Mesh Sequences with Evolving Topology LiU-ITN-TEK-A-14/040-SE Optimal Coherent Reconstruction of Unstructured Mesh Sequences with Evolving Topology Christopher Birger 2014-09-22 Department of Science and Technology Linköping University SE-601

More information

OMSI Test Suite verifier development

OMSI Test Suite verifier development Examensarbete LITH-ITN-ED-EX--07/010--SE OMSI Test Suite verifier development Razvan Bujila Johan Kuru 2007-05-04 Department of Science and Technology Linköpings Universitet SE-601 74 Norrköping, Sweden

More information

Hybrid Particle-Grid Water Simulation using Multigrid Pressure Solver

Hybrid Particle-Grid Water Simulation using Multigrid Pressure Solver LiU-ITN-TEK-G--14/006-SE Hybrid Particle-Grid Water Simulation using Multigrid Pressure Solver Per Karlsson 2014-03-13 Department of Science and Technology Linköping University SE-601 74 Norrköping, Sweden

More information

Development of water leakage detectors

Development of water leakage detectors LiU-ITN-TEK-A--08/068--SE Development of water leakage detectors Anders Pettersson 2008-06-04 Department of Science and Technology Linköping University SE-601 74 Norrköping, Sweden Institutionen för teknik

More information

Progressive Web Applications and Code Complexity

Progressive Web Applications and Code Complexity Linköping University Department of Computer and Information Science Master thesis, 30 ECTS Datateknik 2018 LIU-IDA/LITH-EX-A--18/037--SE Progressive Web Applications and Code Complexity An analysis of

More information

Statistical flow data applied to geovisual analytics

Statistical flow data applied to geovisual analytics LiU-ITN-TEK-A--11/051--SE Statistical flow data applied to geovisual analytics Phong Hai Nguyen 2011-08-31 Department of Science and Technology Linköping University SE-601 74 Norrköping, Sweden Institutionen

More information

Efficient implementation of the Particle Level Set method

Efficient implementation of the Particle Level Set method LiU-ITN-TEK-A--10/050--SE Efficient implementation of the Particle Level Set method John Johansson 2010-09-02 Department of Science and Technology Linköping University SE-601 74 Norrköping, Sweden Institutionen

More information

Visual Data Analysis using Tracked Statistical Measures within Parallel Coordinate Representations

Visual Data Analysis using Tracked Statistical Measures within Parallel Coordinate Representations Examensarbete LITH-ITN-MT-EX--05/030--SE Visual Data Analysis using Tracked Statistical Measures within Parallel Coordinate Representations Daniel Ericson 2005-04-08 Department of Science and Technology

More information

Advanced Visualization Techniques for Laparoscopic Liver Surgery

Advanced Visualization Techniques for Laparoscopic Liver Surgery LiU-ITN-TEK-A-15/002-SE Advanced Visualization Techniques for Laparoscopic Liver Surgery Dimitrios Felekidis 2015-01-22 Department of Science and Technology Linköping University SE-601 74 Norrköping, Sweden

More information

Developing a database and a user interface for storing test data for radar equipment

Developing a database and a user interface for storing test data for radar equipment Linköping University IDA- Department of Computer and information Science Bachelor thesis 16hp Educational program: Högskoleingenjör i Datateknik Spring term 2017 ISRN: LIU-IDA/LITH-EX-G--17/006 SE Developing

More information

Large fused GPU volume rendering

Large fused GPU volume rendering LiU-ITN-TEK-A--08/108--SE Large fused GPU volume rendering Stefan Lindholm 2008-10-07 Department of Science and Technology Linköping University SE-601 74 Norrköping, Sweden Institutionen för teknik och

More information

Towards automatic asset management for real-time visualization of urban environments

Towards automatic asset management for real-time visualization of urban environments LiU-ITN-TEK-A--17/049--SE Towards automatic asset management for real-time visualization of urban environments Erik Olsson 2017-09-08 Department of Science and Technology Linköping University SE-601 74

More information

Multi-Resolution Volume Rendering of Large Medical Data Sets on the GPU

Multi-Resolution Volume Rendering of Large Medical Data Sets on the GPU LITH-ITN-MT-EX--07/056--SE Multi-Resolution Volume Rendering of Large Medical Data Sets on the GPU Ajden Towfeek 2007-12-20 Department of Science and Technology Linköping University SE-601 74 Norrköping,

More information

Machine Learning of Crystal Formation Energies with Novel Structural Descriptors

Machine Learning of Crystal Formation Energies with Novel Structural Descriptors Linköping University The Department of Physics, Chemistry, and Biology Master thesis, 30 ECTS Applied Physics and Electrical Engineering - Theory, Modelling, Visualization 2017 LIU-IFM/LITH-EX-A--17/3427--SE

More information

Study of Local Binary Patterns

Study of Local Binary Patterns Examensarbete LITH-ITN-MT-EX--07/040--SE Study of Local Binary Patterns Tobias Lindahl 2007-06- Department of Science and Technology Linköpings universitet SE-60 74 Norrköping, Sweden Institutionen för

More information

Audial Support for Visual Dense Data Display

Audial Support for Visual Dense Data Display LiU-ITN-TEK-A--17/004--SE Audial Support for Visual Dense Data Display Tobias Erlandsson Gustav Hallström 2017-01-27 Department of Science and Technology Linköping University SE-601 74 Norrköping, Sweden

More information

Utilize OCR text to extract receipt data and classify receipts with common Machine Learning

Utilize OCR text to extract receipt data and classify receipts with common Machine Learning Linköping University Department of Computer and Information Science Bachelor thesis, 16 ECTS Programming 2018 LIU-IDA/LITH-EX-G--18/043--SE Utilize OCR text to extract receipt data and classify receipts

More information

Evaluating Deep Learning Algorithms

Evaluating Deep Learning Algorithms Linköping University Department of Computer and Information Science Master thesis, 30 ECTS Datateknik 202018 LIU-IDA/LITH-EX-A--2018/034--SE Evaluating Deep Learning Algorithms for Steering an Autonomous

More information

Network Intrusion and Detection

Network Intrusion and Detection Linköping University Department of Computer and Information Science Bachelor thesis, 16 ECTS Datateknik 202017 LIU-IDA/LITH-EX-G--2017/085--SE Network Intrusion and Detection An evaluation of SNORT Nätverksintrång

More information

Design and evaluation of a user interface for a WebVR TV platform developed with A-Frame

Design and evaluation of a user interface for a WebVR TV platform developed with A-Frame Linköping University Department of Computer Science Master thesis, 30 ECTS Information Technology 2017 LIU-IDA/LITH-EX-A--17/006--SE Design and evaluation of a user interface for a WebVR TV platform developed

More information

Institutionen för datavetenskap

Institutionen för datavetenskap Institutionen för datavetenskap Department of Computer and Information Science Final thesis Implementation of a Profibus agent for the Proview process control system by Ferdinand Hauck LIU-IDA/LITH-EX-G--09/004--SE

More information

Face detection for selective polygon reduction of humanoid meshes

Face detection for selective polygon reduction of humanoid meshes LIU-ITN-TEK-A--15/038--SE Face detection for selective polygon reduction of humanoid meshes Johan Henriksson 2015-06-15 Department of Science and Technology Linköping University SE-601 74 Norrköping, Sweden

More information

Real-Time Magnetohydrodynamic Space Weather Visualization

Real-Time Magnetohydrodynamic Space Weather Visualization LiU-ITN-TEK-A--17/048--SE Real-Time Magnetohydrodynamic Space Weather Visualization Oskar Carlbaum Michael Novén 2017-08-30 Department of Science and Technology Linköping University SE-601 74 Norrköping,

More information

Illustrative Visualization of Anatomical Structures

Illustrative Visualization of Anatomical Structures LiU-ITN-TEK-A--11/045--SE Illustrative Visualization of Anatomical Structures Erik Jonsson 2011-08-19 Department of Science and Technology Linköping University SE-601 74 Norrköping, Sweden Institutionen

More information

Institutionen för datavetenskap

Institutionen för datavetenskap Institutionen för datavetenskap Department of Computer and Information Science Final thesis Developing a new 2D-plotting package for OpenModelica by Haris Kapidzic LIU-IDA/LITH-EX-G 11/007 SE 2011-04-28

More information

Automatic analysis of eye tracker data from a driving simulator

Automatic analysis of eye tracker data from a driving simulator LiU-ITN-TEK-A--08/033--SE Automatic analysis of eye tracker data from a driving simulator Martin Bergstrand 2008-02-29 Department of Science and Technology Linköping University SE-601 74 Norrköping, Sweden

More information

LunchHero - a student s everyday hero

LunchHero - a student s everyday hero Linköping University Department of Computer Science Bachelor thesis 18 ECTS Industrial Engineering and Management Spring 2018 LIU-IDA/LITH-EX-G--18/034--SE LunchHero - a student s everyday hero - A case

More information

Automatic Clustering of 3D Objects for Hierarchical Level-of-Detail

Automatic Clustering of 3D Objects for Hierarchical Level-of-Detail LiU-ITN-TEK-A--18/033--SE Automatic Clustering of 3D Objects for Hierarchical Level-of-Detail Benjamin Wiberg 2018-06-14 Department of Science and Technology Linköping University SE-601 74 Norrköping,

More information

Institutionen för datavetenskap Department of Computer and Information Science

Institutionen för datavetenskap Department of Computer and Information Science Institutionen för datavetenskap Department of Computer and Information Science Final thesis Implementation of a Report Template Editing Tool in Java and JSP by Jacob Matiasson LIU-IDA/LITH-EX-G--14/059--SE

More information

A latency comparison of IoT protocols in MES

A latency comparison of IoT protocols in MES Linköping University Department of Computer and Information Science Master thesis Software and Systems Division Spring 2017 LIU-IDA/LITH-EX-A--17/010--SE A latency comparison of IoT protocols in MES Erik

More information

Development and piloting of a fully automated, push based, extended session alcohol intervention on university students a feasibility study

Development and piloting of a fully automated, push based, extended session alcohol intervention on university students a feasibility study Department of Computer and Information Science Informationsteknologi LIU-IDA/LITH-EX-A--13/001--SE Development and piloting of a fully automated, push based, extended session alcohol intervention on university

More information

Automating the process of dividing a map image into sections using Tesseract OCR and pixel traversing

Automating the process of dividing a map image into sections using Tesseract OCR and pixel traversing Linköping University Department of Computer and Information Science Bachelor thesis, 16 ECTS Innovative programming 2018 LIU-IDA/LITH-EX-G--18/041--SE Automating the process of dividing a map image into

More information

Motion Capture to the People: A high quality, low budget approach to real time Motion Capture

Motion Capture to the People: A high quality, low budget approach to real time Motion Capture Examensarbete LITH-ITN-MT-EX--05/013--SE Motion Capture to the People: A high quality, low budget approach to real time Motion Capture Daniel Saidi Magnus Åsard 2005-03-07 Department of Science and Technology

More information

Design and evaluation of an educational tool for understanding functionality in flight simulators

Design and evaluation of an educational tool for understanding functionality in flight simulators Linköping University Department of Computer Science Master thesis, 30 ECTS Computer and Information Science 2017 LIU-IDA/LITH-EX-A--17/007--SE Design and evaluation of an educational tool for understanding

More information

Implementing a scalable recommender system for social networks

Implementing a scalable recommender system for social networks LiU-ITN-TEK-A--17/031--SE Implementing a scalable recommender system for social networks Alexander Cederblad 2017-06-08 Department of Science and Technology Linköping University SE-601 74 Norrköping, Sweden

More information

Markörlös Augmented Reality för visualisering av 3D-objekt i verkliga världen

Markörlös Augmented Reality för visualisering av 3D-objekt i verkliga världen LiU-ITN-TEK-A-14/019-SE Markörlös Augmented Reality för visualisering av 3D-objekt i verkliga världen Semone Kallin Clarke 2014-06-11 Department of Science and Technology Linköping University SE-601 74

More information

Raspberry pi to backplane through SGMII

Raspberry pi to backplane through SGMII LiU-ITN-TEK-A--18/019--SE Raspberry pi to backplane through SGMII Petter Lundström Josef Toma 2018-06-01 Department of Science and Technology Linköping University SE-601 74 Norrköping, Sweden Institutionen

More information

Clustered Importance Sampling for Fast Reflectance Rendering

Clustered Importance Sampling for Fast Reflectance Rendering LiU-ITN-TEK-A--08/082--SE Clustered Importance Sampling for Fast Reflectance Rendering Oskar Åkerlund 2008-06-11 Department of Science and Technology Linköping University SE-601 74 Norrköping, Sweden Institutionen

More information

Multi-Volume Rendering in OpenSpace Using A-Buffers for Space Weather Visualizations

Multi-Volume Rendering in OpenSpace Using A-Buffers for Space Weather Visualizations LiU-ITN-TEK-A--17/006--SE Multi-Volume Rendering in OpenSpace Using A-Buffers for Space Weather Visualizations Jonas Strandstedt 2017-02-24 Department of Science and Technology Linköping University SE-601

More information

React Native application development

React Native application development Linköpings universitet Institutionen för datavetenskap Examensarbete på avancerad nivå, 30hp Datateknik 2016 LIU-IDA/LITH-EX-A--16/050--SE React Native application development A comparison between native

More information

Applying Machine Learning to LTE/5G Performance Trend Analysis

Applying Machine Learning to LTE/5G Performance Trend Analysis Master Thesis in Statistics and Data Mining Applying Machine Learning to LTE/5G Performance Trend Analysis Araya Eamrurksiri Division of Statistics Department of Computer and Information Science Linköping

More information

Evaluation of cloud-based infrastructures for scalable applications

Evaluation of cloud-based infrastructures for scalable applications LiU-ITN-TEK-A--17/022--SE Evaluation of cloud-based infrastructures for scalable applications Carl Englund 2017-06-20 Department of Science and Technology Linköping University SE-601 74 Norrköping, Sweden

More information

A collision framework for rigid and deformable body simulation

A collision framework for rigid and deformable body simulation LiU-ITN-TEK-A--16/049--SE A collision framework for rigid and deformable body simulation Rasmus Haapaoja 2016-11-02 Department of Science and Technology Linköping University SE-601 74 Norrköping, Sweden

More information

Implementation and testing of an FPT-algorithm for computing the h + -heuristic

Implementation and testing of an FPT-algorithm for computing the h + -heuristic Linköping University Department of Computer and Information Science Bachelor thesis, 16 ECTS Datateknik 2017 LIU-IDA/LITH-EX-G 17/077 SE Implementation and testing of an FPT-algorithm for computing the

More information

Implementation of a Program Address Generator in a DSP processor

Implementation of a Program Address Generator in a DSP processor Implementation of a Program Address Generator in a DSP processor Roland Waltersson Reg nr: LiTH-ISY-EX-ET-0257-2003 2003-05-26 Implementation of a Program Address Generator in a DSP processor Departement

More information

Design and Implementation of a Compiler for an XMLbased Hardware Description Language to Support Energy Optimization

Design and Implementation of a Compiler for an XMLbased Hardware Description Language to Support Energy Optimization Linköping University Department of Computer Science Master thesis, 30 ECTS Datateknik 202017 LIU-IDA/LITH-EX-A--2017/045--SE Design and Implementation of a Compiler for an XMLbased Hardware Description

More information