Optimization methods for solving. transportation problems on networks

Size: px
Start display at page:

Download "Optimization methods for solving. transportation problems on networks"

Transcription

1 UNIVERSITY OF MARIBOR FACULTY OF NATURAL SCIENCES AND MATHEMATICS DOCTORAL DISSERTATION Optimization methods for solving transportation problems on networks May, 011 Katja Prnaver

2

3 UNIVERSITY OF MARIBOR FACULTY OF NATURAL SCIENCES AND MATHEMATICS DOCTORAL DISSERTATION Optimization methods for solving transportation problems on networks May, 011 Katja Prnaver Mentor: red. prof. dr. Blaž Zmazek Co-mentor: prof. dr. David Pisinger

4

5 Contents Povzetek Abstract Acknowledgments v xi xiii 1 Introduction 15 Basic terms and definitions 19.1 Optimization Dynamic programming Metaheuristics Oriented networks Warehouse graphs Warehouse operations Order picking Order batching Oriented network design The problem description Related problems Exact solutions Metaheuristic approach Neighborhood Triangle neighborhood Experimental analysis Experimental settings Post processing the results Experimental results i

6 4 Optimization of routing in warehouse graphs Problem Description Shortest pick tour algorithm States Transitions between states Construction of optimal tour Proof of optimality Scalability of the algorithm Experimental analysis Optimal results with significant time reduction Comparison with other algorithms The impact of warehouse layout Varying the number of pick items Conclusion and possible extensions of the algorithm Order batching optimization Introduction Problem description Integer Programming model Metaheuristic approach Evaluation function Candidate set of orders Restricted candidate list Local search Optimal tour length Upper bounds on number of pickers step optimization Evaluation and results Analysis of the impact of algorithm parameters Testing with random data Testing with real data Conclusion Conclusion 101 A Order picking algorithm in practice 105 A.1 Transition tables A. Constructing optimal path ii

7 Bibliography 11 List of Figures 118 List of Tables 11 List of Algorithms 13 Index 15 iii

8 iv

9 Povzetek Optimizacijske metode za reševanje transportnih problemov na omrežjih V doktorski disertaciji predstavljamo rešitve problemov vsakdanjega življenja, ki jih je mogoče prevesti na omrežja in jih reševati s pomočjo teorije grafov. Prikazani so primeri uporabe matematične teorije pri reševanju realnih problemov. Na začetku disertacije so predstavljeni osnovni pojmi in z njimi povezane teorije. Podana je predstavitev optimizacijskih metod s poudarkom na dinamičnem programiranju in metahevristikah, ki so kasneje uporabljeni v disertaciji. Razloženi so osnovni pojmi v povezavi s teorijo grafov in omrežji. Nato je vpeljan skladiščni graf in preslikava med postavitvijo enot vskladiščih in vozlišči skladiščnega grafa. Problem iskanja optimalne poti je predstavljen skupaj z opisom obstoječih intuitivnih hevristik iz literature. Na koncu poglavja je podan še opis problema komisioniranja in s problemom povezani pojmi. Disertacija se nadaljuje s podrobno analizo problema načrtovanja usmerjenih omrežij. Na začetku je podana povezava problema z odprtimi problemi iz prakse. S pomočjo vpeljave popolnega usmerjanja sta definirana iskalni prostor in stroškovna funkcija: COST(R) = Λ(i, j) α, kjer je Λ(i, j) = w(u, v) i,j p u,v R Za potrebe algoritma vpeljemo trikotniško soseščino in dokažemo naslednji izrek: Izrek. Naj bo G =(V,E) usmerjen graf z utežmi w(e) na povezavah e E in popolnim usmerjanjem z optimalno stroškovno funkcijo. S pomočjo trikotniških premikov je mogoče iz polnega grafa K n dobiti graf G. Predstavljeni so optimalni rezultati za n = 3inn = 4,kjerjen število vozlišč vomrežju, ter podan argument, zakaj se je za n = 5že potrebno lotiti reševanja s pomočjo hevrističnih metod. v

10 Rezultati so predstavljeni glede na opisan postopek algoritma in načina uporabe trikotniške neenakosti ter predstavitve postopkov procesiranja podatkov pred in po zagonu algoritma. Rezultati za omrežja na 5, 6in7vozliščih so podani tako tabelarično kot z grafi. V večini primerov se rezultati iskanja s predstavljenim algoritmom ujemajo s predpostavko, ki so jo podali Choplin in drugi [8]. Prvo neujemanje se pojavi šele pri n =7inše to le v dveh primerih. Za ta dva primera so prikazane tudi numerične vrednosti stroškovne funkcije in primerjava vrednosti med seboj. Vrednost optimalne rešitve je težko oceniti, še posebej pri večjih omrežjih. Zato podajamo grobo oceno vrednosti stroškovne funkcije z zgornjimi in spodnjimi mejami. Ta meja je: { (n 1) 1+α Optimal(n) min (n 1) 1+α,n ( n(n 1) ) α,n(n 1)}, ( ) α kjer so (n 1) 1+α,n n(n 1),n(n 1) zaporedoma zvezdasto omrežje, usmerjen cikel in polni usmerjen graf. Na koncu je podan še primer rezultata za omrežje z0vozlišči, kjer je stroškovna funkcija rezultantnega grafa boljša od zgornjih mej. Zato je za ta primer podana tudi računska analiza nekaterih drugih omrežij v obliki zvezde in primerjava med domnevo, hevristično rešitvijo in izračunanimi primeri omrežij. V poglavju 4 se lotevamo problema iskanja optimalne poti po skladiščnem grafu. Problem izhaja iz dejanske situacije, kjer prejme delavec v skladišču nalogo, da po skladišču pobere izdelke iz določenega seznama v najkrajšem možnem času. Obravnavan problem je variacija problema trgovskega potnika, kjer mora trgovski potnik v svojem obhodu obiskati vsa mesta na najkrajši način. Postopek razvijemo na skladiščnih grafih, ki so vpeljani v uvodnem poglavju in predstavljeni na sliki 1 na strani vii. Na začetku poglavja predstavimo dosedanje rezultate raziskav na skladiščnih grafih. Tako sta Ratliff in Rosenthal [4] leta 1983 razvila algoritem, ki je poiskal optimalno pot na skladiščnem grafu z enim blokom, nato pa sta Roodbergen in De Koster [45] nadgradila ta algoritem tako, da je dopuščal en vmesni prehod, torej za -blokovske strukture. Velika slabost obeh pristopov je bilo ročno izpisovanje in računanje tabele prehodov, katerih število se poveča za 1 z vsakim dodatnim blokom, njihove dimenzije pa rastejo superpotencialno glede na število blokov v strukturi. Celotni algoritem dinamičnega programiranja sloni na naslednjih izrekih in posledicah iz teorije grafov. Izrek. Podgraf T G je obhodni podgraf če in samo če (a) imajo vsa vozlišča v i, i =0, 1,...,m pozitivno stopnjo v T, vi

11 x 1 4 x 4 x 3 4 x 4 4 Block 10 5 v6 10 v7 5 8 Cross aisle x 1 3 x 3 x 3 3 x 4 3 v3 v v4 Aisle x 1 x 4 x 3 x 4 Sub aisle 10 v Depot Pick location x 1 1 x 1 x 3 1 v1 1 1 x 4 Figure 1: Skladišče in skladiščni graf (b) je T, razen vozlišč s stopnjo nič, povezan, (c) ima vsako vozlišče v T sodo stopnjo ali stopnjo nič. Posledica. V obhodnem podgrafu najkrajše dolžine med dvema vozliščema ni več kot dveh povezav. Posledica. Če sta (P 1,P ) particiji vozlišč v obhodnem podgrafu, potem obstaja sodo število povezav z enim krajiščem v P 1 in drugim v P. Izrek. Potrebni in zadostni pogoji za T j L j,dajel j -delni obhodni podgraf, so: (a) za vse v i L j je stopnja vozlišč v i pozitivna v T j, (b) vsako vozlišče v T j, razen morda vozlišč x k j, je sode stopnje ali stopnje nič, (c) izključujoč vozlišča s stopnjo nič imat j ali nič povezanih komponent, ali eno povezano komponento, ki vsebuje vsaj eno izmed vozlišč x k j, ali m povezanih komponent, m n 1, kjerjevvsakikomponentivsajeno izmed vozlišč x k j in je vsako vozlišče x k j vsebovano v največ eni povezani komponenti, ali n povezanih komponent, kjer so vsa vozlišča x k j vrazličnih povezanih komponentah. Izrek. Dva L j -delna obhodna grafa T j1 in T j sta ekvivalentna, če (i) ima vsako izmed vozlišč x k j enako parnost stopnje v T j1 in T j, (ii) imata T j1 in T j,izključujoč vozlišča stopnje nič, ali nič povezanih komponent, ali eno povezano komponento, ki vsebuje vsaj eno izmed vozlišč x k j, vii

12 ali m povezanih komponent, m n 1, kjer je v vsaki komponenti vsaj eno izmed vozlišč x k j in je vsako vozlišče xk j vsebovano v največ eni povezani komponenti, ali n povezanih komponent, kjer so vsa vozlišča x k j vrazličnih povezanih komponentah. (iii) je porazdelitev vozlišč x k j po povezanih komponentah enaka v T j 1 in T j. Spomočjo zadnjega izreka dobimo ekvivalenčne razrede. Pokažemo, da je problem iskanja optimalne poti na skladiščnem grafu NP-težek, kar dokažemo s polinomsko redukcijo problema trgovskega potnika na mrežnih grafih na naš problem. Nadaljujemo s prikazom delovanja algoritma dinamičnega programiranja. Za pravilni opis postopka definiramo stanja in tranzicije, ki jih ločimo na blokovske tranzicije in tranzicije med prehodi. Vpeljemo novo strukturo za opis ekvivalenčnega razreda v obliki dveh vektorjev. Vsak ekvivalenčen razred zapišemo kot ([p 1,...,p n ], [d 1,...,d n ]), kjer je n število blokov v grafu, p i parnost i-tega vozlišča v opazovanem prehodu in d i razporeditev vozlišča i po komponentah, določena s pomočjo funkcije za opis particije. Spomočjo te strukture lahko opišemo tudi stanja in tranzicije ter določimo pravila za operacije med njimi. Opišemo še postopke poteka algoritma iskanja optimalne poti in to podkrepimo s primerom v prilogi. Dokažemo tudi optimalnost takšnega postopka. Rezultate nato primerjamo s primerljivimi rezultati v literaturi. Tako primerjamo dolžine optimalnih poti z rezultati, ki so jih Theys in drugi [5] dobili s pomočjo TSP hevristik na istih parametrih in tudi experimentalno potrdimo optimalnost rešitve. Algoritem tudi primerjamo z ostalimi, uvodoma predstavljenimi intuitivnimi hevristikami in pokažemo, da lahko z uporabo optimalnega algoritma dosežemo pomembne izboljšave. Na osnovi algoritma analiziramo vpliv vhodnih parametrov o dimenzijah skladiščnih grafov in številu notranjih vozlišč ter predstavimo rezultate. V poglavju 5 rezultate algoritma iskanja optimalne poti v skladiščnih grafih uporabimo pri iskanju rešitve problema komisioniranja s časovnimi okni. Problem komisioniranja išče optimalno rešitev razporejanja elementov množice naročil v skupine, tako da bo to narejeno čimbolj učinkovito. Pri tem je vsako naročilo sestavljeno iz več enot, ob vsakem obhodu pa je možno pobrati le določeno količino (število, teža, prostornina) enot. Pri variaciji problema komisioniranja s časovnimi okni je podana dodatna zahteva časovnega okna, ki omejuje čas v katerem je potrebno enote pobrat in jih dostaviti na končno pozicijo. Za problem komisioniranja s časovnimi okni v literaturi še nismo odkrili zapisa, zato viii

13 problem definiramo tudi s pomočjo matematičnega modela za celoštevilsko programiranje, ki je predstavljen v razdelku Nato predstavimo algoritem, ki s pomočjo GRASP hevristike in lokalnega iskanja z vzpenjanjem na hrib išče rešitve za dani problem. Predstavljen je tudi pristop k iskanju intuitivnih zgornjih mej za število potrebnih voznikov in nadgradnja algoritma, ki omogoča hitro izboljševanje obeh ciljev algoritma - iskanje minimalnega števila voznikov in minimalne skupne prevožene poti. Ker v literaturi ni obstoječih vzorcev, na katerih bi lahko primerjali rezultate našega algoritma, smo poskusili zgolj simulirati skupine podatkov iz literature. Pri tem smo uporabili konfiguracije podatkov raziskave Hsu in drugih [7] in naše rezultate primerjali z njihovimi. Zaradi nekaterih manjkajočih podatkov o strukturi naročil je bila primerjava otežena, hkrati pa podatki iz literature niso uporabljali časovnih oken. Poglavje zaključimo s preizkusom algoritma na realnem primeru dejanskega komisioniranja naročil v enem večjih skladišč v Sloveniji. Žal tudi v tem primerov podatki o časovnih oknih niso na voljo. Ob primerjavi rezultatov so opazne možne izboljšave, vendar hkrati opozarjamo na možne zunanje vplive, ki v teoretičnih rešitvah niso zajeti. Doktorsko nalogo zaključimo s povzetkom bistvenih dosežkov, ki so opisani v doktorski disertaciji. Podamo tudi nekaj izhodišč za nadaljne raziskovanje omenjenih problemov in možne razširitve, hkrati pa prikažemo nekaj možnosti uporabe rezultatov na drugih vsakdanjih problemih. Math. Subj. Class. (000): 05C85, 68R10, 90C7, 90C35, 94C15 UDK: :519.85(043.3) Ključne besede: teorija grafov, omrežja, optimizacija, iskanje najkrajše poti, problem trgovskega potnika, algoritmi, metahevristike, komisioniranje ix

14 x

15 Abstract In this thesis we study problems from real situations, which can be applied to network graphs and solved using mathematical graph theory. We start with the problem of oriented network design. The problem originates from networks, where the flow over the arcs is important and many times limited with the capacity of the networks. There are several techniques and results on the problem of assigning the flow through the network channels. In our problem, we try to find the optimal network structure, which could be used in the design phase of the network. With metaheuristics, we search for optimal network structures for a given number of nodes. We define triangle neighborhood and compare the results of the algorithm with the conjecture by Choplin et al. [8]. Further, we study the problem of order picking and order batching in block structured warehouses. For order picking problem, we present the extension of a dynamic programming algorithm by Ratliff and Rosenthal [4], which enables the development of an algorithm for an unlimited number of blocks. In order to achieve this, a new presentation of states and transitions of dynamic programming algorithm is given. We prove that the resulting path is optimal for the given structure. We compare the optimal path lengths to the results found in literature and also investigate the impact of warehouse layout parameters onto the routing. Closely related to the problem of order picking, we investigate the order batching problem. We discuss the variation of the order batching problem with time windows and present the algorithmic approach to solving the problem. The previously presented optimal path algorithm is applied in the algorithm to ensure even better quality of results. We introduce the evaluation function of a batch and compare the results of the algorithm with the test data from the literature as well as with data from the real warehouse. We conclude by summarizing the results and stating some possible extensions and further work. xi

16 Math. Subj. Class. (010): 05C85, 68R10, 90C7, 90C35, 94C15 UDK: :519.85(043.3) Key words: graph theory, networks, optimization, shortest path problem, traveling salesman problem, algorithms, metaheuristics, order batching xii

17 Acknowledgments I would not be who I am today and this dissertation would not be completed without the support of my family and all others who have shaped my life by their ideas or actions. Thank you all. Special thanks go to my mentor, prof. dr. Blaž Zmazek and co-mentor, prof. dr. David Pisinger, for their continuous support and guidance throughout my PhD studies. xiii

18 xiv

19 Chapter 1 Introduction Life challenges us everyday with new problems, where good solutions are hard to find. With the development of new technologies, the gap between the problems and their solutions are closing, but will never be closed completely. However technology itself does not lead to the solutions. It is interdisciplinary work of research in many areas that leads to the best solutions. Problems, for which exact solution cannot be found in a reasonable time, are so-called NP-hard problem. For such problems, approximate solutions can be found with systems, models and methods of operations research. Operations research deals with modeling deterministic and probability systems, in light of analysis of its characteristics and searching for optimal solutions using optimization methods. It brings together mathematical theory, computer science and economic knowledge to produce the best solutions for the hard problems. An example of such a problem is determining the capacity of oriented networks [1], where an oriented network is a directed weighted graph with integral weights on the arcs. The basic problem is the problem of minimizing the cost of a multi-commodity network flow with link cost functions. Multi-commodity network flows have been previously studied by Bienstock et al. [], Gabrel and Minoux [18] and Ouorou et al. [36]. The oriented network design problem is a variation of the problem where the communication has to be routed on a virtual network supported by the physical one. More practically the problem of oriented network design arises in the design of SDH loop networks [37]. Synchronous Digital Hierarchy (SDH) is a multiplexing protocol for transferring multiple digital bit streams using lasers or light-emitting diodes (LEDs) over the same optical fiber. While Choplin et al. [8] search for optimal networks, it is also of interest to find extremal cases for a given number of nodes and arcs. Recently, the problem was also used in relation to Wiener number of directed graphs [39]. Another set of problems, which can also be transfered on the problems of graph theory 15

20 and solved by the methods of operations research, are problems arising in maintenance of large scale warehouses. Recent trends show increasing occurrence of large scale warehouses, which are replacing smaller storage areas. In this way, warehouses and distribution centers are becoming an important link in each supply chain. According to Tompkin et al. [54], operations within warehouse present up to 60% of all operational costs. This is why many companies are looking for solutions to reduce the costs and increase the productivity in warehouses. Ratliff and Rosenthal [4] have developed an algorithm in 1983, which finds an optimal route for warehouse graphs with two horizontal aisles (1-block structure) in linear time, depending only on the number of aisles in such a graph. Transitions between the states are stored in two dimensional array and used for finding optimal solution for order picking problem in warehouse graphs. Roodbergen and De Koster [45] used this algorithm as a basis for their upgrade, which allows one middle horizontal aisle. For larger structures, only heuristic approaches have been used to date. For example, Roodbergen and De Koster [47] developed an algorithm named Combined+, which combines some of the characteristics of intuitive algorithms like S-shaped, Aisle-by-aisle, Largest-gap, etc. The rectilinear traveling salesman problem can be polynomially reduced into order picking problem on warehouse graphs, which makes this problem even more challenging. Another optimization problem, closely related with the traveling salesman problem on warehouse graphs, is order batching optimization. Order batching is a process of grouping orders and defining the collection of items in a warehouse. Each order can be defined as a set of vertices v i, which need to be visited in the same route. A union of such sets can be picked during one route in a warehouse. There are several variations of this problem. For example, Gademann [19] focuses on the basic order batching with no limitations, while together with De Velde [0] they develop a solution, which minimizes the total traveled length. Chen and Wu [6] use association criteria, while recently Hsu et al. [7] used genetic algorithms for finding solutions. Most research until today does not consider the time window criteria for the orders. Le Duc and De Koster [31], [3] have done analytical research with variable time window, where only the start time of the window is used. A first attempt to use time windows has been done by Elsayed and Lee [15] and Elsayed et al. [16], who penalize the delays in the end time in the evaluative function. However none of the research to our knowledge focuses on this very important problem of time windows exactly. Theoretically, each problem investigated and researched is important, however in real life, time windows are crucial for the warehouse management and solutions for such problems are highly sought after in the market. The results presented in this thesis have been written in 3 scientific papers. The results 16

21 of the research on the oriented network problem has been done in collaboration with Jerome Galtier, Igor Pesek and Janez Žerovnik, and a paper with the title Oriented Network Design Problem has been submitted and accepted in Journal of Information Science and Engineering [1]. The results of Order picking problem are result of joint work with David Pisinger and are summarized in a paper with the title An optimal algorithm for order picking in a multi-parallel-aisle warehouse, submitted to Operations Research [41]. The paper with the results of Order batching problem, as joint work with David Pisinger, is still a working paper and is to be submitted to scientific journal in the first months of year 011. The latter results have been presented at EURO XXIV, 4th European conference on Operations Research in Lisbon, Portugal, in July 010. This thesis is structured as follows. In Chapter an introduction to basic terms and definitions used through the thesis is given. In the following Chapter 3, the problem of Oriented Network Design is described as well as algorithmic approach to the problem, including the details on the neighborhood used in the algorithm. Based on the previous research, the results are compared to the conjecture given by Choplin et al. [8]. In Chapter 4, an approach to solving the Traveling Salesman Problem on warehouse graphs is described. A dynamic programming algorithm, which runs in a linear time for a fixed number of blocks, is described in details, including transitions and states. The optimality of the algorithm is proven with mathematical theorems for (warehouse) graphs. The generalization of the presentation of elements is introduced, which allows implementation of the algorithm in a programming language and hence execution of the algorithm for arbitrary number of blocks. The results are compared to the results from the literature. Varying parameters results in interesting observations related to the warehouse layout. Chapter 5 deals with the problem of order batching in warehouses. A variation of the traditional order batching problem, where the time windows of orders are additional component, is presented. The complex mathematical model confirms the need for use of a heuristic approach. An approach to the solution, which embeds previous results on order picking, is presented. The results are compared to the previous research from the literature and the discussion on different parameters is given. The thesis is concluded in Chapter 6 with the summary of the work done and some final thoughts. 17

22 18

23 Chapter Basic terms and definitions Throughout this thesis, we will use some common notations and terms from the graph theory as well as some specific to the problem discussed. This chapter introduces the terms used and some of their properties, relevant to our research. We start by presenting the basic terms in the field of optimization, the background and some of the local search algorithms used in this thesis. Further, we introduce the basic terms of a graph theory and those related to the oriented network design problem. We conclude with presentation of the Order picking and Order batching problems and introduce the warehouse graph and its characteristics..1 Optimization All optimization problems with explicit objectives can in general be expressed as nonlinearly constrained optimization problems in the following generic form: max / min f(x), x =(x 1,x,...,x n ) T R n subject to Φ j (x) =0, j =1,,...,M Ψ k (x) 0, k =1,,...,N where f(x), Φ j (x), Ψ k (x) are scalar functions of the real column vector x. Here the components x i of x =(x 1,..., x n ) T are called decision variables, and they can be either continuous, discrete or a mix of these two. The vector x is often called a decision vector which varies in a n-dimensional space R n. The function f(x) is called the objective function or cost function and can be either linear or non-linear. In addition, Ψ j (x) are constraints in terms of M equalities, and Ψ k (x) are constraints written as N inequalities. So there are M + N constraints in total. The optimization problem formulated here is a nonlinear constrained 19

24 problem. The space spanned by the decision variables is called the search space R n, while the space formed by the objective function values is called the solution space. If the constraints Φ j and Ψ k are all linear, the problem becomes a linearly constrained problem. Furthermore, if Φ j, Ψ k and the objective function f(x) are all linear, then it becomes a linear programming problem. If the objective is at most quadratic with linear constraints, then it is called quadratic programming. If all the values of the decision variables can be integers, then this type of linear programming is called integer programming or integer linear programming. On the other hand, if no constraints are specified so that x i can take any values in the real axis (or any integers), the optimization problem is referred to as the unconstrained optimization problem. In mathematical programming, there are many important concepts, but we will present only three related ones. A point x which satisfies all the constraints is called a feasible point and thus is a feasible solution to the problem. A point x is called a strong local maximum of the nonlinearly constrained optimization problem if f(x) is defined in a δ-neighborhood N(x, δ) and satisfies f(x) >f(u) for u N(x, δ) whereδ>0andu x. If x is not a strong local maximum, the inclusion of equality in the condition f(x) f(u)for u N(x, δ) defines the point x as a weak local maximum. An easy problem is a problem whose solution can be obtained by computer algorithms with a solution time (or number of steps) as a polynomial function of problem size n. Algorithms with polynomial solution time are considered efficient. A problem is called a P-problem or polynomial-time problem if the number of steps needed to find the solution is bounded by a polynomial in n. On the other hand, a hard problem requires solution time that is an exponential function of n, and thus exponential-time algorithms are considered inefficient. A problem is called nondeterministic polynomial (NP) if the yes -instances can be recognized in polynomial time by a non-deterministic turing machine. NP-hard problem (Non-deterministic polynomial-time hard) refers to the class of decision problems that contains all problems H such that for all decision problems L in NP, there is a polynomial-time many-one reduction to H. Informally this class can be described as containing the decision problems that are at least as hard as any problem in NP. This intuition is supported by the fact that if we can find an algorithm A that solves one of these problems H in polynomial time then we can construct a polynomial time algorithm for every problem in NP by first executing the reduction from this problem to H and then executing the algorithm A. There is a very famous open problem seeking for an answer to the question: Is P = NP? It is a shared opinion among most of researchers that this statement is false and that P NP. In fact, NP-hard problems can only be solved in exponential time and only approximate 0

25 solutions or heuristic solutions are possible to be obtained in reasonable time. Thus, heuristic and metaheuristic methods are very promising in obtaining approximate solutions or nearly optimal/suboptimal solutions. The relationship of the set of NP problems and the set of NP-hard problems is that both sets overlap, and neither set is a subset of the other set. The intersection between the two sets is precisely the set of NP-complete problems. A problem is called NP-complete, if it is an NP problem and all other problems in NP are reducible to it via polynomial reduction algorithms. An example of NP-hard problem is the Traveling Salesman Problem, and its objective is to find the shortest route or minimum traveling cost to visit all given n cities exactly once and then return to the starting city. Combinatorial optimization problems that are NP-hard, require use of approximate methods to be solved. In approximate solutions, one sacrifices the guarantee of finding optimal solution for the purpose of getting good solutions in a significantly reduced amount of time. Among the basic approximate methods, we usually distinguish between constructive and local search methods. Constructive algorithms generate solutions from scratch by adding components - to initially empty partial solution - until the solution is complete. Local search algorithms on the other hand, start from some initial solution and iteratively try to replace the current solution by a better solution in an appropriately defined neighborhood of the current solution..1.1 Dynamic programming Dynamic programming is both a mathematical optimization method and a computer programming method. In both contexts it refers to simplifying a complicated problem by breaking it down into simpler subproblems in a recursive manner. While some decision problems cannot be decomposed this way, decisions that span several points in time do often decompose recursively. If subproblems can be nested recursively inside larger problems, so that dynamic programming methods are applicable, then there is a relation between the value of the larger problem and the values of the subproblems. In the optimization literature this relationship is called the Bellman equation. There are two key attributes that a problem must have in order for the dynamic programming to be applicable: optimal substructure and overlapping subproblems which are only slightly smaller. When the overlapping problems are, say, half the size of the original problem, the strategy is called divide and conquer rather than dynamic programming. Optimal substructure means that the solution to a given optimization problem can be 1

26 obtained by the combination of optimal solutions to its subproblems. Consequently, the first step towards devising a dynamic programming solution is to check whether the problem exhibits such optimal substructure. Such optimal substructures are usually described by the means of recursion. For example, given a graph G =(V,E), the shortest path p from a vertex u to a vertex v exhibits optimal substructure: take any intermediate vertex w on this shortest path p. Ifp is truly the shortest path, then the path p 1 from u to w and p from w to v are indeed the shortest paths between the corresponding vertices. Hence, one can easily formulate the solution for finding shortest paths in a recursive manner. Overlapping subproblems means that the space of subproblems must be small, that is, any recursive algorithm solving the problem should solve the same subproblems over and over, rather than generating new subproblems. For example, consider the recursive formulation for generating the Fibonacci series: F (i) =F (i 1) + F (i ), with base case F (1) = F () = 1. Then F (13) = F (1) + F (11), and F (1) = F (11) + F (10). Now F (11) is being solved in the recursive subtrees of both F (13) as well as F (1). Even though the total number of subproblems is actually small (only 13 of them), we end up solving the same problems over and over if we adopt a naive recursive solution such as this. Dynamic programming takes account of this fact and solves each subproblem only once. Note that the subproblems must be only slightly smaller than the larger problem; when they are a multiplicative factor smaller the problem is no longer classified as dynamic programming. In terms of mathematical optimization, dynamic programming usually refers to a simplification of a decision by breaking it down into a sequence of decision steps (transitions) over time. This is done by defining a sequence of value functions V 1,V,...,V n,withan argument y representing the state of the system at times i from 1 to n. The definition of V n (y) is the value obtained in state y at the last time n. The values V i at earlier times i = n 1, n,...,, 1 can be found by working backwards, using a recursive relationship, the Bellman equation. For i =,..., n, V i 1 at any state y is calculated from V i by maximizing a simple function (usually the sum) of the gain from decision i 1 and the function V i at the new state of the system, if this decision is made. Since V i has already been calculated for the needed states, the above operation yields V i 1 for those states. Finally, V 1 at the initial state of the system is the value of the optimal solution. The optimal values of the decision variables can be recovered, one by one, by tracking back the calculations already performed [59]..1. Metaheuristics In the last 0 years, a new kind of approximate algorithms has emerged, which basically tries to combine basic heuristics methods in higher level framework aimed at efficiently

27 and effectively exploring the search space. These methods are nowadays commonly called metaheuristics. The search strategies of different metaheuristics are highly dependent on the philosophy of the metaheuristic itself. There are several different philosophies apparent in the existing metaheuristics. Some of them can be seen as extensions of local search algorithms. The goal of this kind of metaheuristic is to escape from a local minima in order to proceed in the exploration of the search space and to move on to find other, hopefully better local minima. This is for example the case in Tabu Search, Iterated Local Search, Variable Neighborhood Search, GRASP and Simulated Annealing. These metaheuristics (also called trajectory methods) work on one or several neighborhood structure(s) imposed on the members (the solutions) of the search space. Another philosophy can be found in algorithms like Ant Colony Optimization and Evolutionary Computation. They incorporate a learning component in the sense that they implicitly or explicitly try to learn correlations between decision variables to identify high quality areas in the search space. We will give a brief introduction to the four widely used trajectory methods. Hill-climbing Hill-climbing is a simple metaheuristic algorithm. It exploits a heuristic belief about the space of candidate solutions that similar solutions tend to behave similarly (and tend to have similar quality), so small modifications will generally result in small, well-behaved changes in quality, allowing us to climb the hill of quality up to good solutions. This technique is related to gradient ascent, but it does not require to know the strength of the gradient or even its direction: a new candidate solution is tested iteratively in the region of the current candidate, and is adapted if it is better. This enables to climb up the hill until the local optima is reached. Simulated Annealing Simulated Annealing (SA) is commonly said to be the oldest among the metaheuristics and surely one of the first algorithms that had an explicit strategy to avoid local minima. The basic idea is to allow moves resulting in solutions of worse quality than the current solution (uphill moves) in order to escape from a local minima. The probability of doing such a move is decreased during the search. The algorithm starts by generating an initial solution (either randomly or heuristically constructed) and by initializing the so-called temperature parameter T. Then, at each iteration a solution s N(s) is randomly sampled and it is accepted as a new current solution depending on the value of evaluative function f(s),f(s )andt.solutions replaces 3

28 s if f(s ) <f(s)orincasef(s ) f(s), with a probability which is a function of T and f(s ) f(s). The probability is computed following the Boltzmann distribution exp( f(s ) f(s) ). T The temperature T decreases during the search process, thus at the beginning of the search the probability of accepting uphill moves is high and it gradually decreases, converging to a simple iterative improvement algorithm. This process is analogous to the annealing process of metals and glass, which reach a low energy configuration when cooled with an appropriate cooling schedule. The algorithm is the result of two combined strategies: random walk and iterative improvement. In the first phase of the search, the tendency toward improvements is high and it permits the exploration of the search space; this component is slowly decreased and leads the search to converge to a (local) minimum. Tabu search Tabu Search (TS) is among the most cited and used metaheuristics for combinatorial optimization problems. The basic ideas of tabu search were first introduced in 1980 s. Tabu search explicitly uses the history of the search, both to escape from local minima and to implement an explorative strategy. The simple Tabu search algorithm applies a best improvement local search as basic ingredient and uses a short term memory to escape from local minima and to avoid cycles. The short term memory is implemented as a tabu list that keeps track of the most recently visited solutions and forbids moves toward them. The neighborhood of the current solution is thus restricted to the solutions that do not belong to the tabu list. This is often referred to as allowed set. At each iteration the best solution from the allowed set is chosen as the new current solution. Additionally, this solution is added to the tabu list and one of the solutions that were already in the tabu list is removed (usually in a first-in-first-out order). The algorithm stops when a termination condition is met. It might also terminate if the allowed set is empty, that is, if all the solutions in N (s) are forbidden by the tabu list. The use of a tabu list prevents from returning to recently visited solutions, therefore it prevents from cycling and forces the search to accept uphill moves. The tabu list length can be varied during the search, leading to more robust algorithms. Often managing a list of solutions is highly inefficient. Therefore, instead of the solutions themselves, solution attributes are stored. Attributes are usually components of solutions, moves, or differences between two solutions. Tabu lists are only one of the possible ways of taking advantage of the history of the search. They are usually identified with the usage of short term memory. Information collected during the whole search process can also be very useful, especially for a strategic 4

29 guidance of the algorithm. More information on the Tabu search algorithm and its variants can be found in [3]. GRASP The Greedy Randomized Adaptive Search Procedure (GRASP) is a simple metaheuristic that combines constructive heuristics and local search. GRASP is an iterative procedure, composed of two phases: solution construction and solution improvement. The best found solution is returned upon termination of the search process. The solution is constructed by two main mechanisms: a dynamic constructive heuristic and randomization. Assuming that a solution s consists of a subset of a set of elements, the solution is constructed step-by-step by adding one new element at a time. The choice of the next element is done by picking it random from a candidate list. The elements are ranked by means of a heuristic criterion that gives them a score as a function of the benefit if inserted in the current partial solution. The candidate list, called restricted candidate list (RCL), is composed of the best α elements. The heuristic values are updated at each step, thus the scores of elements change during the construction phase, depending on the possible choices. The length α of the restricted candidate list determines the strength of the heuristic. In the extreme case of α = 1 the best element is added, thus the construction is equivalent to a Greedy Heuristic. On the opposite, if α = n the construction is completely random. Therefore, α is a critical parameter which influences the sampling of the search space. The second phase of the algorithm is a local search process, which may be a basic local search algorithm such as iterative improvement, or a more advanced technique, such as simulated annealing or tabu search. GRASP can be effective only if the solution construction mechanism samples the most promising regions of the search space and the solutions constructed by the constructive heuristic belong to basins of attraction of different locally minimal solutions.. Oriented networks The oriented network problem, as the name reveals, constructs solutions on the networks. This section gives a brief introduction to the basic terms of graph theory and continues with problem specific definitions. A simple graph can be thought of as an ordered pair G =(V,E), where V is the set of vertices and therefore called vertex set and E, theedge set, is a set of unordered pairs of distinct vertices, called edges. An example of a simple graph is shown on Figure.1. 5

30 A E B D C Figure.1: Simple graph on 5 nodes with a walk The degree, d(v), of a vertex v is the number of edges with which it is incident. Two vertices are adjacent if they are incident to a common edge. The set of neighbors, N(v), of a vertex v is the set of vertices which are adjacent to v. The degree of a vertex is also the cardinality of its neighbor set. A walk is an alternating sequence of vertices and edges, with each edge being incident to the vertices immediately preceding and succeeding it in the sequence. A trail is a walk with no repeated edges. A path is a walk with no repeated vertices. A walk is closed if the initial vertex is also the terminal vertex. A cycle is a closed trail with at least one edge and with no repeated vertices except that the initial vertex is the terminal vertex. An example of walk between vertices E and B is marked with thicker lines on Figure.1. The length of a walk is the number of edges in the sequence defining the walk. Thus, the length of a path or cycle is also the number of edges in the path or cycle. If u and v are vertices, the distance from u to v, written d(u, v), is the minimum length of any path from u to v. In an undirected graph, this is obviously a metric. The radius of the graph G, rad(g), is the minimum value of d(u, v), where v is allowed to range over all of the vertices of the graph, for any vertex u, andthediameter, diam(g), is the corresponding maximum value. It is obvious that diam(g) rad(g). A directed graph (or digraph) consists of a set V of vertices, and a set A of ordered pairs from V, called the arcs. We denote the directed graph by Γ = (V,A). A network can be represented by connected and weighted directed graph, denoted by G(V,A,Λ), where Λ is a function, which assigns integral weights to the arcs. An example of a network on 5 nodes can be seen on Figure.. Some of the special network graphs are: the ring, star-like graphs and the clique. Fora number of nodes n, there exist one ring graph, one clique graph but many star-like graphs as represented on Figure.3. 6

31 A E B D C Figure.: Network graph on 5 nodes Ring Star of 4-cycles Star of 3-cycles Star (of -cycles) Clique Figure.3: Some network graphs for n =7.3 Warehouse graphs Warehouses appear in various shapes and layouts. However, block structured warehouses are the most common within general-purpose warehouses. Such a structure allows a generally simple description of warehouse with terms from graph theory. In 1983, Ratliff and Rosenthal [4] defined a warehouse graph G =(V X, E, c) in the following way: V : vertices v i denote picking item locations in the warehouse. X: vertices x j denote intersections between an aisle and horizontal (cross) aisle in warehouse. E: edges connecting vertices, which are adjacent in the warehouse. c: length of edges e E, which can be either metric distance or any other function evaluating the distance between two adjacent vertices. An example of the description of a block structured warehouse with a graph is shown on figure.4. On such graphs, a set of problems can be described, such as solving the traveling salesman problem on networks and optimization of order batching with respect to minimize the costs. 7

32 x 1 4 x 4 x 3 4 x 4 4 Block 10 5 v6 10 v7 5 8 Cross aisle x 1 3 x 3 x 3 3 x 4 3 v3 v v4 Aisle x 1 x 4 x 3 x 4 Sub aisle 10 v Depot Pick location x 1 1 x 1 x 3 1 v1 1 1 x 4 Figure.4: Block structured warehouse and a corresponding warehouse graph..4 Warehouse operations Warehouses form an important link in the supply chain. However, warehousing generally requires a considerable amount of product handling, which is time consuming. This can be reduced if proper planning is used before the warehouse is built, with operations contributing to the investigation of proper warehouse layout, storage assignment and zoning. Otherwise, it is possible to decrease handling time by various methods such as changing the operational procedures. These procedures include order picking, order batching and order accumulation and sorting. The first problem is related to the Traveling Salesman Problem, while the second one can be successfully optimized with a proper operations research approach..4.1 Order picking The order picking process is the process of retrieving products from specified storage locations on the basis of customer orders. The order picking process is in general one of the most time consuming processes in warehouses and contributes for a large extent to warehousing costs [54]. Order picking productivity can be improved by reducing handling time, i.e. reducing the time needed for picking an order. Total picking time can be roughly divided in time for driving or walking to locations (travel time), time for picking the products and time for remaining activities (such as obtaining a picklist and an empty pick carrier). In this thesis, we will consider manual picking in a parallel aisle warehouses. In such warehouses order pickers walk or drive along the aisles to pick products from storage. They can change aisles at a number of cross aisles. These cross aisles are usually located at the front and the back of the warehouse, but there can also be one or more cross aisles at 8

33 positions in between. The following heuristics are commonly used to-date in routing algorithms (see Figure.5): S-shaped Any aisle containing at least one item is traversed through the entire length. Aisles where nothing has to be picked are skipped. The order picking route starts at the depot. It goes to the front of the main aisle closest to the depot, that contains at least one item. This main aisle is traversed up to and including the block farthest from the depot, that contains at least one item. The picking continues in the S-shaped route block by block. The route ends with returning to the depot. Largest-gap Similar to the S-shape heuristic, the order picking route starts at the depot; it goes to the front of the main aisle closest to the depot, that contains at least one item; traverses this main aisle up to and including the block farthest from the depot that contains at least one item. A gap represents the distance between any two adjacent items, or between a cross aisle and the nearest item. Thus, each aisle is traversed in such a way that the largest gap is not traversed. Aisle-by-aisle In this heuristic every main aisle is visited once. The order pickers starts at the depot and goes to the left most aisle containing items. All items in this main aisle are picked and a cross aisle is chosen to proceed to the next main aisle. Again, all items in this main aisle are picked and the order pickers proceeds to the next main aisle. The aisle-by-aisle heuristic determines which cross aisles to use to go from one aisle to the next in such a way that the distances traveled are minimized. Combined This heuristic creates order picking routes that visit every aisle containing items to be picked, exactly once. The aisles of each block are visited sequentially, either from left to right or from right to left. For each block a small dynamic programming algorithm is performed. This algorithm creates a routing between the aisles in each block, in order to minimize the time to travel. If the block closest to the depot has been evaluated, the order picker returns to the depot. Combined+ This is an improvement of the Combined algorithm. It changes the traversing direction in the last block before returning to the depot, such that aisles are visited from the right to the left. Secondly, the order picker picks items from the left x pick aisles on his way to the farthest block and picks items from the right n x pick aisles when returning to the front. The location of the x aisle can be optimized, providing better results..4. Order batching When orders are fairly large, each order can be picked individually (i.e. one order per picking tour). This way of picking is often referred as a single order picking policy. However, when 9

Module 6 NP-Complete Problems and Heuristics

Module 6 NP-Complete Problems and Heuristics Module 6 NP-Complete Problems and Heuristics Dr. Natarajan Meghanathan Professor of Computer Science Jackson State University Jackson, MS 39217 E-mail: natarajan.meghanathan@jsums.edu P, NP-Problems Class

More information

Module 6 P, NP, NP-Complete Problems and Approximation Algorithms

Module 6 P, NP, NP-Complete Problems and Approximation Algorithms Module 6 P, NP, NP-Complete Problems and Approximation Algorithms Dr. Natarajan Meghanathan Associate Professor of Computer Science Jackson State University Jackson, MS 39217 E-mail: natarajan.meghanathan@jsums.edu

More information

Module 6 NP-Complete Problems and Heuristics

Module 6 NP-Complete Problems and Heuristics Module 6 NP-Complete Problems and Heuristics Dr. Natarajan Meghanathan Professor of Computer Science Jackson State University Jackson, MS 97 E-mail: natarajan.meghanathan@jsums.edu Optimization vs. Decision

More information

Non-deterministic Search techniques. Emma Hart

Non-deterministic Search techniques. Emma Hart Non-deterministic Search techniques Emma Hart Why do local search? Many real problems are too hard to solve with exact (deterministic) techniques Modern, non-deterministic techniques offer ways of getting

More information

Theorem 2.9: nearest addition algorithm

Theorem 2.9: nearest addition algorithm There are severe limits on our ability to compute near-optimal tours It is NP-complete to decide whether a given undirected =(,)has a Hamiltonian cycle An approximation algorithm for the TSP can be used

More information

Module 6 NP-Complete Problems and Heuristics

Module 6 NP-Complete Problems and Heuristics Module 6 NP-Complete Problems and Heuristics Dr. Natarajan Meghanathan Professor of Computer Science Jackson State University Jackson, MS 397 E-mail: natarajan.meghanathan@jsums.edu Optimization vs. Decision

More information

ACO and other (meta)heuristics for CO

ACO and other (meta)heuristics for CO ACO and other (meta)heuristics for CO 32 33 Outline Notes on combinatorial optimization and algorithmic complexity Construction and modification metaheuristics: two complementary ways of searching a solution

More information

Computational problems. Lecture 2: Combinatorial search and optimisation problems. Computational problems. Examples. Example

Computational problems. Lecture 2: Combinatorial search and optimisation problems. Computational problems. Examples. Example Lecture 2: Combinatorial search and optimisation problems Different types of computational problems Examples of computational problems Relationships between problems Computational properties of different

More information

Algorithms for Integer Programming

Algorithms for Integer Programming Algorithms for Integer Programming Laura Galli November 9, 2016 Unlike linear programming problems, integer programming problems are very difficult to solve. In fact, no efficient general algorithm is

More information

Characterizing Graphs (3) Characterizing Graphs (1) Characterizing Graphs (2) Characterizing Graphs (4)

Characterizing Graphs (3) Characterizing Graphs (1) Characterizing Graphs (2) Characterizing Graphs (4) S-72.2420/T-79.5203 Basic Concepts 1 S-72.2420/T-79.5203 Basic Concepts 3 Characterizing Graphs (1) Characterizing Graphs (3) Characterizing a class G by a condition P means proving the equivalence G G

More information

Optimization Techniques for Design Space Exploration

Optimization Techniques for Design Space Exploration 0-0-7 Optimization Techniques for Design Space Exploration Zebo Peng Embedded Systems Laboratory (ESLAB) Linköping University Outline Optimization problems in ERT system design Heuristic techniques Simulated

More information

Notes for Lecture 24

Notes for Lecture 24 U.C. Berkeley CS170: Intro to CS Theory Handout N24 Professor Luca Trevisan December 4, 2001 Notes for Lecture 24 1 Some NP-complete Numerical Problems 1.1 Subset Sum The Subset Sum problem is defined

More information

Introduction to Graph Theory

Introduction to Graph Theory Introduction to Graph Theory Tandy Warnow January 20, 2017 Graphs Tandy Warnow Graphs A graph G = (V, E) is an object that contains a vertex set V and an edge set E. We also write V (G) to denote the vertex

More information

of optimization problems. In this chapter, it is explained that what network design

of optimization problems. In this chapter, it is explained that what network design CHAPTER 2 Network Design Network design is one of the most important and most frequently encountered classes of optimization problems. In this chapter, it is explained that what network design is? The

More information

Advanced Algorithms Class Notes for Monday, October 23, 2012 Min Ye, Mingfu Shao, and Bernard Moret

Advanced Algorithms Class Notes for Monday, October 23, 2012 Min Ye, Mingfu Shao, and Bernard Moret Advanced Algorithms Class Notes for Monday, October 23, 2012 Min Ye, Mingfu Shao, and Bernard Moret Greedy Algorithms (continued) The best known application where the greedy algorithm is optimal is surely

More information

Computational Complexity CSC Professor: Tom Altman. Capacitated Problem

Computational Complexity CSC Professor: Tom Altman. Capacitated Problem Computational Complexity CSC 5802 Professor: Tom Altman Capacitated Problem Agenda: Definition Example Solution Techniques Implementation Capacitated VRP (CPRV) CVRP is a Vehicle Routing Problem (VRP)

More information

Unit 8: Coping with NP-Completeness. Complexity classes Reducibility and NP-completeness proofs Coping with NP-complete problems. Y.-W.

Unit 8: Coping with NP-Completeness. Complexity classes Reducibility and NP-completeness proofs Coping with NP-complete problems. Y.-W. : Coping with NP-Completeness Course contents: Complexity classes Reducibility and NP-completeness proofs Coping with NP-complete problems Reading: Chapter 34 Chapter 35.1, 35.2 Y.-W. Chang 1 Complexity

More information

Approximation Algorithms

Approximation Algorithms Approximation Algorithms Prof. Tapio Elomaa tapio.elomaa@tut.fi Course Basics A 4 credit unit course Part of Theoretical Computer Science courses at the Laboratory of Mathematics There will be 4 hours

More information

Monotone Paths in Geometric Triangulations

Monotone Paths in Geometric Triangulations Monotone Paths in Geometric Triangulations Adrian Dumitrescu Ritankar Mandal Csaba D. Tóth November 19, 2017 Abstract (I) We prove that the (maximum) number of monotone paths in a geometric triangulation

More information

Faster parameterized algorithms for Minimum Fill-In

Faster parameterized algorithms for Minimum Fill-In Faster parameterized algorithms for Minimum Fill-In Hans L. Bodlaender Pinar Heggernes Yngve Villanger Abstract We present two parameterized algorithms for the Minimum Fill-In problem, also known as Chordal

More information

Last topic: Summary; Heuristics and Approximation Algorithms Topics we studied so far:

Last topic: Summary; Heuristics and Approximation Algorithms Topics we studied so far: Last topic: Summary; Heuristics and Approximation Algorithms Topics we studied so far: I Strength of formulations; improving formulations by adding valid inequalities I Relaxations and dual problems; obtaining

More information

Rollout Algorithms for Discrete Optimization: A Survey

Rollout Algorithms for Discrete Optimization: A Survey Rollout Algorithms for Discrete Optimization: A Survey by Dimitri P. Bertsekas Massachusetts Institute of Technology Cambridge, MA 02139 dimitrib@mit.edu August 2010 Abstract This chapter discusses rollout

More information

Ant Colony Optimization

Ant Colony Optimization Ant Colony Optimization CompSci 760 Patricia J Riddle 1 Natural Inspiration The name Ant Colony Optimization was chosen to reflect its original inspiration: the foraging behavior of some ant species. It

More information

METAHEURISTICS. Introduction. Introduction. Nature of metaheuristics. Local improvement procedure. Example: objective function

METAHEURISTICS. Introduction. Introduction. Nature of metaheuristics. Local improvement procedure. Example: objective function Introduction METAHEURISTICS Some problems are so complicated that are not possible to solve for an optimal solution. In these problems, it is still important to find a good feasible solution close to the

More information

Module 1 Lecture Notes 2. Optimization Problem and Model Formulation

Module 1 Lecture Notes 2. Optimization Problem and Model Formulation Optimization Methods: Introduction and Basic concepts 1 Module 1 Lecture Notes 2 Optimization Problem and Model Formulation Introduction In the previous lecture we studied the evolution of optimization

More information

Applied Lagrange Duality for Constrained Optimization

Applied Lagrange Duality for Constrained Optimization Applied Lagrange Duality for Constrained Optimization Robert M. Freund February 10, 2004 c 2004 Massachusetts Institute of Technology. 1 1 Overview The Practical Importance of Duality Review of Convexity

More information

On the Max Coloring Problem

On the Max Coloring Problem On the Max Coloring Problem Leah Epstein Asaf Levin May 22, 2010 Abstract We consider max coloring on hereditary graph classes. The problem is defined as follows. Given a graph G = (V, E) and positive

More information

Stanford University CS261: Optimization Handout 1 Luca Trevisan January 4, 2011

Stanford University CS261: Optimization Handout 1 Luca Trevisan January 4, 2011 Stanford University CS261: Optimization Handout 1 Luca Trevisan January 4, 2011 Lecture 1 In which we describe what this course is about and give two simple examples of approximation algorithms 1 Overview

More information

1 The Traveling Salesperson Problem (TSP)

1 The Traveling Salesperson Problem (TSP) CS 598CSC: Approximation Algorithms Lecture date: January 23, 2009 Instructor: Chandra Chekuri Scribe: Sungjin Im In the previous lecture, we had a quick overview of several basic aspects of approximation

More information

NP-Hardness. We start by defining types of problem, and then move on to defining the polynomial-time reductions.

NP-Hardness. We start by defining types of problem, and then move on to defining the polynomial-time reductions. CS 787: Advanced Algorithms NP-Hardness Instructor: Dieter van Melkebeek We review the concept of polynomial-time reductions, define various classes of problems including NP-complete, and show that 3-SAT

More information

1 Variations of the Traveling Salesman Problem

1 Variations of the Traveling Salesman Problem Stanford University CS26: Optimization Handout 3 Luca Trevisan January, 20 Lecture 3 In which we prove the equivalence of three versions of the Traveling Salesman Problem, we provide a 2-approximate algorithm,

More information

Reducing Directed Max Flow to Undirected Max Flow and Bipartite Matching

Reducing Directed Max Flow to Undirected Max Flow and Bipartite Matching Reducing Directed Max Flow to Undirected Max Flow and Bipartite Matching Henry Lin Division of Computer Science University of California, Berkeley Berkeley, CA 94720 Email: henrylin@eecs.berkeley.edu Abstract

More information

The Structure and Properties of Clique Graphs of Regular Graphs

The Structure and Properties of Clique Graphs of Regular Graphs The University of Southern Mississippi The Aquila Digital Community Master's Theses 1-014 The Structure and Properties of Clique Graphs of Regular Graphs Jan Burmeister University of Southern Mississippi

More information

CS270 Combinatorial Algorithms & Data Structures Spring Lecture 19:

CS270 Combinatorial Algorithms & Data Structures Spring Lecture 19: CS270 Combinatorial Algorithms & Data Structures Spring 2003 Lecture 19: 4.1.03 Lecturer: Satish Rao Scribes: Kevin Lacker and Bill Kramer Disclaimer: These notes have not been subjected to the usual scrutiny

More information

Parallel Computing in Combinatorial Optimization

Parallel Computing in Combinatorial Optimization Parallel Computing in Combinatorial Optimization Bernard Gendron Université de Montréal gendron@iro.umontreal.ca Course Outline Objective: provide an overview of the current research on the design of parallel

More information

Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science Algorithms For Inference Fall 2014

Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science Algorithms For Inference Fall 2014 Suggested Reading: Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science 6.438 Algorithms For Inference Fall 2014 Probabilistic Modelling and Reasoning: The Junction

More information

Comparison of TSP Algorithms

Comparison of TSP Algorithms Comparison of TSP Algorithms Project for Models in Facilities Planning and Materials Handling December 1998 Participants: Byung-In Kim Jae-Ik Shim Min Zhang Executive Summary Our purpose in this term project

More information

CSE 548: Analysis of Algorithms. Lecture 13 ( Approximation Algorithms )

CSE 548: Analysis of Algorithms. Lecture 13 ( Approximation Algorithms ) CSE 548: Analysis of Algorithms Lecture 13 ( Approximation Algorithms ) Rezaul A. Chowdhury Department of Computer Science SUNY Stony Brook Fall 2017 Approximation Ratio Consider an optimization problem

More information

Evolutionary Computation Algorithms for Cryptanalysis: A Study

Evolutionary Computation Algorithms for Cryptanalysis: A Study Evolutionary Computation Algorithms for Cryptanalysis: A Study Poonam Garg Information Technology and Management Dept. Institute of Management Technology Ghaziabad, India pgarg@imt.edu Abstract The cryptanalysis

More information

Polynomial-Time Approximation Algorithms

Polynomial-Time Approximation Algorithms 6.854 Advanced Algorithms Lecture 20: 10/27/2006 Lecturer: David Karger Scribes: Matt Doherty, John Nham, Sergiy Sidenko, David Schultz Polynomial-Time Approximation Algorithms NP-hard problems are a vast

More information

(Refer Slide Time: 01:00)

(Refer Slide Time: 01:00) Advanced Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras Lecture minus 26 Heuristics for TSP In this lecture, we continue our discussion

More information

Integer Programming Theory

Integer Programming Theory Integer Programming Theory Laura Galli October 24, 2016 In the following we assume all functions are linear, hence we often drop the term linear. In discrete optimization, we seek to find a solution x

More information

On Covering a Graph Optimally with Induced Subgraphs

On Covering a Graph Optimally with Induced Subgraphs On Covering a Graph Optimally with Induced Subgraphs Shripad Thite April 1, 006 Abstract We consider the problem of covering a graph with a given number of induced subgraphs so that the maximum number

More information

Dynamic programming. Trivial problems are solved first More complex solutions are composed from the simpler solutions already computed

Dynamic programming. Trivial problems are solved first More complex solutions are composed from the simpler solutions already computed Dynamic programming Solves a complex problem by breaking it down into subproblems Each subproblem is broken down recursively until a trivial problem is reached Computation itself is not recursive: problems

More information

Faster parameterized algorithms for Minimum Fill-In

Faster parameterized algorithms for Minimum Fill-In Faster parameterized algorithms for Minimum Fill-In Hans L. Bodlaender Pinar Heggernes Yngve Villanger Technical Report UU-CS-2008-042 December 2008 Department of Information and Computing Sciences Utrecht

More information

Chapter 15 Introduction to Linear Programming

Chapter 15 Introduction to Linear Programming Chapter 15 Introduction to Linear Programming An Introduction to Optimization Spring, 2015 Wei-Ta Chu 1 Brief History of Linear Programming The goal of linear programming is to determine the values of

More information

3 No-Wait Job Shops with Variable Processing Times

3 No-Wait Job Shops with Variable Processing Times 3 No-Wait Job Shops with Variable Processing Times In this chapter we assume that, on top of the classical no-wait job shop setting, we are given a set of processing times for each operation. We may select

More information

val(y, I) α (9.0.2) α (9.0.3)

val(y, I) α (9.0.2) α (9.0.3) CS787: Advanced Algorithms Lecture 9: Approximation Algorithms In this lecture we will discuss some NP-complete optimization problems and give algorithms for solving them that produce a nearly optimal,

More information

Maximal Monochromatic Geodesics in an Antipodal Coloring of Hypercube

Maximal Monochromatic Geodesics in an Antipodal Coloring of Hypercube Maximal Monochromatic Geodesics in an Antipodal Coloring of Hypercube Kavish Gandhi April 4, 2015 Abstract A geodesic in the hypercube is the shortest possible path between two vertices. Leader and Long

More information

An Evolutionary Algorithm for the Multi-objective Shortest Path Problem

An Evolutionary Algorithm for the Multi-objective Shortest Path Problem An Evolutionary Algorithm for the Multi-objective Shortest Path Problem Fangguo He Huan Qi Qiong Fan Institute of Systems Engineering, Huazhong University of Science & Technology, Wuhan 430074, P. R. China

More information

A GRAPH FROM THE VIEWPOINT OF ALGEBRAIC TOPOLOGY

A GRAPH FROM THE VIEWPOINT OF ALGEBRAIC TOPOLOGY A GRAPH FROM THE VIEWPOINT OF ALGEBRAIC TOPOLOGY KARL L. STRATOS Abstract. The conventional method of describing a graph as a pair (V, E), where V and E repectively denote the sets of vertices and edges,

More information

CS6702 GRAPH THEORY AND APPLICATIONS 2 MARKS QUESTIONS AND ANSWERS

CS6702 GRAPH THEORY AND APPLICATIONS 2 MARKS QUESTIONS AND ANSWERS CS6702 GRAPH THEORY AND APPLICATIONS 2 MARKS QUESTIONS AND ANSWERS 1 UNIT I INTRODUCTION CS6702 GRAPH THEORY AND APPLICATIONS 2 MARKS QUESTIONS AND ANSWERS 1. Define Graph. A graph G = (V, E) consists

More information

Hardness of Subgraph and Supergraph Problems in c-tournaments

Hardness of Subgraph and Supergraph Problems in c-tournaments Hardness of Subgraph and Supergraph Problems in c-tournaments Kanthi K Sarpatwar 1 and N.S. Narayanaswamy 1 Department of Computer Science and Engineering, IIT madras, Chennai 600036, India kanthik@gmail.com,swamy@cse.iitm.ac.in

More information

GRASP. Greedy Randomized Adaptive. Search Procedure

GRASP. Greedy Randomized Adaptive. Search Procedure GRASP Greedy Randomized Adaptive Search Procedure Type of problems Combinatorial optimization problem: Finite ensemble E = {1,2,... n } Subset of feasible solutions F 2 Objective function f : 2 Minimisation

More information

Approximation Algorithms

Approximation Algorithms Approximation Algorithms Prof. Tapio Elomaa tapio.elomaa@tut.fi Course Basics A new 4 credit unit course Part of Theoretical Computer Science courses at the Department of Mathematics There will be 4 hours

More information

Outline. No Free Lunch Theorems SMTWTP. Outline DM812 METAHEURISTICS

Outline. No Free Lunch Theorems SMTWTP. Outline DM812 METAHEURISTICS DM812 METAHEURISTICS Outline Lecture 9 Marco Chiarandini 1. Department of Mathematics and Computer Science University of Southern Denmark, Odense, Denmark 2. Outline 1. 2. Linear permutations

More information

Decision Problems. Observation: Many polynomial algorithms. Questions: Can we solve all problems in polynomial time? Answer: No, absolutely not.

Decision Problems. Observation: Many polynomial algorithms. Questions: Can we solve all problems in polynomial time? Answer: No, absolutely not. Decision Problems Observation: Many polynomial algorithms. Questions: Can we solve all problems in polynomial time? Answer: No, absolutely not. Definition: The class of problems that can be solved by polynomial-time

More information

CS261: A Second Course in Algorithms Lecture #16: The Traveling Salesman Problem

CS261: A Second Course in Algorithms Lecture #16: The Traveling Salesman Problem CS61: A Second Course in Algorithms Lecture #16: The Traveling Salesman Problem Tim Roughgarden February 5, 016 1 The Traveling Salesman Problem (TSP) In this lecture we study a famous computational problem,

More information

On Universal Cycles of Labeled Graphs

On Universal Cycles of Labeled Graphs On Universal Cycles of Labeled Graphs Greg Brockman Harvard University Cambridge, MA 02138 United States brockman@hcs.harvard.edu Bill Kay University of South Carolina Columbia, SC 29208 United States

More information

Treewidth and graph minors

Treewidth and graph minors Treewidth and graph minors Lectures 9 and 10, December 29, 2011, January 5, 2012 We shall touch upon the theory of Graph Minors by Robertson and Seymour. This theory gives a very general condition under

More information

Parallel Simulated Annealing for VLSI Cell Placement Problem

Parallel Simulated Annealing for VLSI Cell Placement Problem Parallel Simulated Annealing for VLSI Cell Placement Problem Atanu Roy Karthik Ganesan Pillai Department Computer Science Montana State University Bozeman {atanu.roy, k.ganeshanpillai}@cs.montana.edu VLSI

More information

Graphs and Network Flows IE411. Lecture 21. Dr. Ted Ralphs

Graphs and Network Flows IE411. Lecture 21. Dr. Ted Ralphs Graphs and Network Flows IE411 Lecture 21 Dr. Ted Ralphs IE411 Lecture 21 1 Combinatorial Optimization and Network Flows In general, most combinatorial optimization and integer programming problems are

More information

V1.0: Seth Gilbert, V1.1: Steven Halim August 30, Abstract. d(e), and we assume that the distance function is non-negative (i.e., d(x, y) 0).

V1.0: Seth Gilbert, V1.1: Steven Halim August 30, Abstract. d(e), and we assume that the distance function is non-negative (i.e., d(x, y) 0). CS4234: Optimisation Algorithms Lecture 4 TRAVELLING-SALESMAN-PROBLEM (4 variants) V1.0: Seth Gilbert, V1.1: Steven Halim August 30, 2016 Abstract The goal of the TRAVELLING-SALESMAN-PROBLEM is to find

More information

Material handling and Transportation in Logistics. Paolo Detti Dipartimento di Ingegneria dell Informazione e Scienze Matematiche Università di Siena

Material handling and Transportation in Logistics. Paolo Detti Dipartimento di Ingegneria dell Informazione e Scienze Matematiche Università di Siena Material handling and Transportation in Logistics Paolo Detti Dipartimento di Ingegneria dell Informazione e Scienze Matematiche Università di Siena Introduction to Graph Theory Graph Theory As Mathematical

More information

Complexity Results on Graphs with Few Cliques

Complexity Results on Graphs with Few Cliques Discrete Mathematics and Theoretical Computer Science DMTCS vol. 9, 2007, 127 136 Complexity Results on Graphs with Few Cliques Bill Rosgen 1 and Lorna Stewart 2 1 Institute for Quantum Computing and School

More information

HEURISTIC ALGORITHMS FOR THE GENERALIZED MINIMUM SPANNING TREE PROBLEM

HEURISTIC ALGORITHMS FOR THE GENERALIZED MINIMUM SPANNING TREE PROBLEM Proceedings of the International Conference on Theory and Applications of Mathematics and Informatics - ICTAMI 24, Thessaloniki, Greece HEURISTIC ALGORITHMS FOR THE GENERALIZED MINIMUM SPANNING TREE PROBLEM

More information

Fast algorithms for max independent set

Fast algorithms for max independent set Fast algorithms for max independent set N. Bourgeois 1 B. Escoffier 1 V. Th. Paschos 1 J.M.M. van Rooij 2 1 LAMSADE, CNRS and Université Paris-Dauphine, France {bourgeois,escoffier,paschos}@lamsade.dauphine.fr

More information

The strong chromatic number of a graph

The strong chromatic number of a graph The strong chromatic number of a graph Noga Alon Abstract It is shown that there is an absolute constant c with the following property: For any two graphs G 1 = (V, E 1 ) and G 2 = (V, E 2 ) on the same

More information

Introduction to Approximation Algorithms

Introduction to Approximation Algorithms Introduction to Approximation Algorithms Dr. Gautam K. Das Departmet of Mathematics Indian Institute of Technology Guwahati, India gkd@iitg.ernet.in February 19, 2016 Outline of the lecture Background

More information

Methods and Models for Combinatorial Optimization Exact methods for the Traveling Salesman Problem

Methods and Models for Combinatorial Optimization Exact methods for the Traveling Salesman Problem Methods and Models for Combinatorial Optimization Exact methods for the Traveling Salesman Problem L. De Giovanni M. Di Summa The Traveling Salesman Problem (TSP) is an optimization problem on a directed

More information

A Reduction of Conway s Thrackle Conjecture

A Reduction of Conway s Thrackle Conjecture A Reduction of Conway s Thrackle Conjecture Wei Li, Karen Daniels, and Konstantin Rybnikov Department of Computer Science and Department of Mathematical Sciences University of Massachusetts, Lowell 01854

More information

6. Lecture notes on matroid intersection

6. Lecture notes on matroid intersection Massachusetts Institute of Technology 18.453: Combinatorial Optimization Michel X. Goemans May 2, 2017 6. Lecture notes on matroid intersection One nice feature about matroids is that a simple greedy algorithm

More information

COMP 355 Advanced Algorithms Approximation Algorithms: VC and TSP Chapter 11 (KT) Section (CLRS)

COMP 355 Advanced Algorithms Approximation Algorithms: VC and TSP Chapter 11 (KT) Section (CLRS) COMP 355 Advanced Algorithms Approximation Algorithms: VC and TSP Chapter 11 (KT) Section 35.1-35.2(CLRS) 1 Coping with NP-Completeness Brute-force search: This is usually only a viable option for small

More information

Framework for Design of Dynamic Programming Algorithms

Framework for Design of Dynamic Programming Algorithms CSE 441T/541T Advanced Algorithms September 22, 2010 Framework for Design of Dynamic Programming Algorithms Dynamic programming algorithms for combinatorial optimization generalize the strategy we studied

More information

The complement of PATH is in NL

The complement of PATH is in NL 340 The complement of PATH is in NL Let c be the number of nodes in graph G that are reachable from s We assume that c is provided as an input to M Given G, s, t, and c the machine M operates as follows:

More information

Metaheuristic Development Methodology. Fall 2009 Instructor: Dr. Masoud Yaghini

Metaheuristic Development Methodology. Fall 2009 Instructor: Dr. Masoud Yaghini Metaheuristic Development Methodology Fall 2009 Instructor: Dr. Masoud Yaghini Phases and Steps Phases and Steps Phase 1: Understanding Problem Step 1: State the Problem Step 2: Review of Existing Solution

More information

INF Biologically inspired computing Lecture 1: Marsland chapter 9.1, Optimization and Search Jim Tørresen

INF Biologically inspired computing Lecture 1: Marsland chapter 9.1, Optimization and Search Jim Tørresen INF3490 - Biologically inspired computing Lecture 1: Marsland chapter 9.1, 9.4-9.6 2017 Optimization and Search Jim Tørresen Optimization and Search 2 Optimization and Search Methods (selection) 1. Exhaustive

More information

Algorithm Design (4) Metaheuristics

Algorithm Design (4) Metaheuristics Algorithm Design (4) Metaheuristics Takashi Chikayama School of Engineering The University of Tokyo Formalization of Constraint Optimization Minimize (or maximize) the objective function f(x 0,, x n )

More information

CS599: Convex and Combinatorial Optimization Fall 2013 Lecture 14: Combinatorial Problems as Linear Programs I. Instructor: Shaddin Dughmi

CS599: Convex and Combinatorial Optimization Fall 2013 Lecture 14: Combinatorial Problems as Linear Programs I. Instructor: Shaddin Dughmi CS599: Convex and Combinatorial Optimization Fall 2013 Lecture 14: Combinatorial Problems as Linear Programs I Instructor: Shaddin Dughmi Announcements Posted solutions to HW1 Today: Combinatorial problems

More information

CMSC 451: Lecture 22 Approximation Algorithms: Vertex Cover and TSP Tuesday, Dec 5, 2017

CMSC 451: Lecture 22 Approximation Algorithms: Vertex Cover and TSP Tuesday, Dec 5, 2017 CMSC 451: Lecture 22 Approximation Algorithms: Vertex Cover and TSP Tuesday, Dec 5, 2017 Reading: Section 9.2 of DPV. Section 11.3 of KT presents a different approximation algorithm for Vertex Cover. Coping

More information

P and NP (Millenium problem)

P and NP (Millenium problem) CMPS 2200 Fall 2017 P and NP (Millenium problem) Carola Wenk Slides courtesy of Piotr Indyk with additions by Carola Wenk CMPS 2200 Introduction to Algorithms 1 We have seen so far Algorithms for various

More information

MVE165/MMG630, Applied Optimization Lecture 8 Integer linear programming algorithms. Ann-Brith Strömberg

MVE165/MMG630, Applied Optimization Lecture 8 Integer linear programming algorithms. Ann-Brith Strömberg MVE165/MMG630, Integer linear programming algorithms Ann-Brith Strömberg 2009 04 15 Methods for ILP: Overview (Ch. 14.1) Enumeration Implicit enumeration: Branch and bound Relaxations Decomposition methods:

More information

Combinatorial Optimization

Combinatorial Optimization Combinatorial Optimization Frank de Zeeuw EPFL 2012 Today Introduction Graph problems - What combinatorial things will we be optimizing? Algorithms - What kind of solution are we looking for? Linear Programming

More information

Introduction to Optimization Using Metaheuristics. Thomas J. K. Stidsen

Introduction to Optimization Using Metaheuristics. Thomas J. K. Stidsen Introduction to Optimization Using Metaheuristics Thomas J. K. Stidsen Outline General course information Motivation, modelling and solving Hill climbers Simulated Annealing 1 Large-Scale Optimization

More information

Notes for Recitation 9

Notes for Recitation 9 6.042/18.062J Mathematics for Computer Science October 8, 2010 Tom Leighton and Marten van Dijk Notes for Recitation 9 1 Traveling Salesperson Problem Now we re going to talk about a famous optimization

More information

Approximability Results for the p-center Problem

Approximability Results for the p-center Problem Approximability Results for the p-center Problem Stefan Buettcher Course Project Algorithm Design and Analysis Prof. Timothy Chan University of Waterloo, Spring 2004 The p-center

More information

Parameterized Complexity of Independence and Domination on Geometric Graphs

Parameterized Complexity of Independence and Domination on Geometric Graphs Parameterized Complexity of Independence and Domination on Geometric Graphs Dániel Marx Institut für Informatik, Humboldt-Universität zu Berlin, Unter den Linden 6, 10099 Berlin, Germany. dmarx@informatik.hu-berlin.de

More information

A New Combinatorial Design of Coded Distributed Computing

A New Combinatorial Design of Coded Distributed Computing A New Combinatorial Design of Coded Distributed Computing Nicholas Woolsey, Rong-Rong Chen, and Mingyue Ji Department of Electrical and Computer Engineering, University of Utah Salt Lake City, UT, USA

More information

Fuzzy Inspired Hybrid Genetic Approach to Optimize Travelling Salesman Problem

Fuzzy Inspired Hybrid Genetic Approach to Optimize Travelling Salesman Problem Fuzzy Inspired Hybrid Genetic Approach to Optimize Travelling Salesman Problem Bindu Student, JMIT Radaur binduaahuja@gmail.com Mrs. Pinki Tanwar Asstt. Prof, CSE, JMIT Radaur pinki.tanwar@gmail.com Abstract

More information

Parameterized graph separation problems

Parameterized graph separation problems Parameterized graph separation problems Dániel Marx Department of Computer Science and Information Theory, Budapest University of Technology and Economics Budapest, H-1521, Hungary, dmarx@cs.bme.hu Abstract.

More information

12.1 Formulation of General Perfect Matching

12.1 Formulation of General Perfect Matching CSC5160: Combinatorial Optimization and Approximation Algorithms Topic: Perfect Matching Polytope Date: 22/02/2008 Lecturer: Lap Chi Lau Scribe: Yuk Hei Chan, Ling Ding and Xiaobing Wu In this lecture,

More information

A two-level metaheuristic for the All Colors Shortest Path Problem

A two-level metaheuristic for the All Colors Shortest Path Problem Noname manuscript No (will be inserted by the editor) A two-level metaheuristic for the All Colors Shortest Path Problem F Carrabs R Cerulli R Pentangelo A Raiconi Received: date / Accepted: date Abstract

More information

x n+1 = x n f(x n) f (x n ), (1)

x n+1 = x n f(x n) f (x n ), (1) 1 Optimization The field of optimization is large and vastly important, with a deep history in computer science (among other places). Generally, an optimization problem is defined by having a score function

More information

Artificial Intelligence p.1/49. n-queens. Artificial Intelligence p.2/49. Initial state: the empty board or a board with n random

Artificial Intelligence p.1/49. n-queens. Artificial Intelligence p.2/49. Initial state: the empty board or a board with n random Example: n-queens Put n queens on an n n board with no two queens on the same row, column, or diagonal A search problem! State space: the board with 0 to n queens Initial state: the empty board or a board

More information

Approximation Algorithms

Approximation Algorithms Chapter 8 Approximation Algorithms Algorithm Theory WS 2016/17 Fabian Kuhn Approximation Algorithms Optimization appears everywhere in computer science We have seen many examples, e.g.: scheduling jobs

More information

Fast and Simple Algorithms for Weighted Perfect Matching

Fast and Simple Algorithms for Weighted Perfect Matching Fast and Simple Algorithms for Weighted Perfect Matching Mirjam Wattenhofer, Roger Wattenhofer {mirjam.wattenhofer,wattenhofer}@inf.ethz.ch, Department of Computer Science, ETH Zurich, Switzerland Abstract

More information

A Development of Hybrid Cross Entropy-Tabu Search Algorithm for Travelling Repairman Problem

A Development of Hybrid Cross Entropy-Tabu Search Algorithm for Travelling Repairman Problem Proceedings of the 2012 International Conference on Industrial Engineering and Operations Management Istanbul, Turkey, July 3 6, 2012 A Development of Hybrid Cross Entropy-Tabu Search Algorithm for Travelling

More information

DESIGN AND ANALYSIS OF ALGORITHMS

DESIGN AND ANALYSIS OF ALGORITHMS DESIGN AND ANALYSIS OF ALGORITHMS QUESTION BANK Module 1 OBJECTIVE: Algorithms play the central role in both the science and the practice of computing. There are compelling reasons to study algorithms.

More information

REDUCING GRAPH COLORING TO CLIQUE SEARCH

REDUCING GRAPH COLORING TO CLIQUE SEARCH Asia Pacific Journal of Mathematics, Vol. 3, No. 1 (2016), 64-85 ISSN 2357-2205 REDUCING GRAPH COLORING TO CLIQUE SEARCH SÁNDOR SZABÓ AND BOGDÁN ZAVÁLNIJ Institute of Mathematics and Informatics, University

More information

Recitation 4: Elimination algorithm, reconstituted graph, triangulation

Recitation 4: Elimination algorithm, reconstituted graph, triangulation Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science 6.438 Algorithms For Inference Fall 2014 Recitation 4: Elimination algorithm, reconstituted graph, triangulation

More information