# An Exact Algorithm for Steiner Tree Problem on Graphs

Save this PDF as:

Size: px
Start display at page:

## Transcription

1 International Journal of Computers, Communications & Control Vol. I (2006), No. 1, pp An Exact Algorithm for Steiner Tree Problem on Graphs Milan Stanojević, Mirko Vujošević Abstract: The paper presents a new original algorithm for solving Steiner tree problem on graph. The algorithm is simple and intended for solving problems with relatively low dimensions. It is based on use of existing open source software for solving integer linear programming problems. The algorithm is tested and shown very efficient for different randomly generated problems on graphs of up to 50 nodes, up to 10 terminals and average node degree 7. Keywords: Steiner tree problem on graph, branch and cut, algorithm, optimization 1 Introduction The Steiner tree problem (STP) is met in telecommunication and energetic systems, VLSI technologies and in other network planning tasks. The problem is to find a minimal length tree which connects all terminal nodes of a given graph, and contains arbitrary number of other nodes. The problem is similar to the well known shortest spanning tree problem (SSTP), but unlike that it doesn t necessary contain all nodes of given graph. Also, a very important difference is that STP is much harder problem than SSTP. The usual formulation of STP is the following: a connected undirected graph G = (N,E), where N = {1,...,n} is a set of nodes and E {{i, j} i N, j N,i < j} denotes a set of edges, is given. A positive value (length, weight, etc.) c e is associated to every edge e E. Also, a set T N of so called terminal (Steiner) nodes is given. Definition 1. Steiner tree for T in G is a subgraph St = (N,E ), N N, E E which satisfies one of the following statements: 1. T N and St is a tree; 2. s,t T in St exists exactly one path from s to t. The length of Steiner tree is the sum of lengths of all edges which it consists of. The Steiner tree problem is to find the shortest Steiner tree. This is a NP-hard problem and its decision problem variant belongs to NP-complete problem class [6]. The problem is presented in details in surveys: [4], [5], [9] and [11]. In papers [2], [8] and [7] the problem was solved to optimality using sophisticated branch and cut methods. In this paper an original exact algorithm, generally based on branch and cut procedure, for solving Steiner tree problems on graph is proposed. It uses code from an available open source project which develops software for solving linear and integer linear programming problems. An intention was to formulate an algorithm which can be implemented in relatively short time and which will be able to solve STP of reasonable dimensions in reasonable time. To be more precise, the implementation of proposed algorithm lasted about 3-4 days. The program could solve problems of dimensions which are larger of the most of real life problems in, at most, several minutes. In this paper, in the next section, a mathematical model of the Steiner tree problem and its explanation are given. In Section 3, the algorithm and the process of implementation are explained in details. In Section 4 the experiments are described and some conclusions about the algorithm behavior are made. In Section 5, the conclusion of the whole paper is given. 2 Mathematical model A Steiner tree can be represented by a vector of binary variables x = (x e ) E. Each element of the vector is assigned to one edge from the set E. The value of a variable x e indicates whether the corresponding edge e is in the Steiner tree (x e = 1) or not (x e = 0). A mathematical model of the STP on undirected graphs has the following Copyright c 2006 by CCC Publications

3 An Exact Algorithm for Steiner Tree Problem on Graphs 43 Algorithm 1 Simplified branch and cut algorithm for STP 1. Formulation of initial integer linear mathematical model: (a) Goal function formulation: one variable is introduced for each edge and corresponding edge length is associated as a parameter to each variable. (b) For each terminal node, one constraint of type (i) is formulated, so the terminal node is a single node on one side of the cut and the rest of the nodes are on the other side, i.e. x e 1 M {{t} t T }. The number of constraints after Step 1 will be T. 2. Solve the current mathematical model. e δ(m) 3. Check if the obtained solution is a Steiner tree, i.e. if there is a path between all pairs of terminal nodes. If so, the optimal solution was found in Step 2; the end of the procedure. Otherwise, next step. 4. If solution is not a Steiner tree, then it represents two or more unconnected subtrees. For every subtree add one type (i) constraint defined by cut δ(m) where the nodes of that subtree belong to set M. Go to Step 2. The proposed algorithm can be qualified as a simplified version of branch and cut method, i.e. a combination of branch and bound and cutting planes. The steps of the algorithm will be illustrated by an example. Suppose, we have to obtain the minimal Steiner tree for the given graph, illustrated in Figure 1, where four terminal nodes are marked with bigger circles. The mathematical model created in Step 1 and updated in Step 4 will have one column for every edge. The constraints added in the first step are necessary to provide that every terminal is connected to, at least, one edge. In the example, four constraints will be added in the first step one for every terminal. They will ensure that at least one edge is connected to each terminal. In Figure 2, the four cuts are marked as open curves surrounding each terminal node, and the edges marked by dashed lines are candidates to be in the first solution. Figure 1: Initial graph Figure 2: First step The possible solution after Step 2 could be like one in Figure 3. As mentioned above, if the obtained solution is not a Steiner tree, it will consist of several subtrees. The number of subtrees generally can be between 2 and T. For determining if the obtained solution is a Steiner tree (in Step 3), Dijkstra s shortest path algorithm was used. In Step 4 a new constraint for each subtree is added. In the example, three new constraints, corresponding to three subtrees shown in Figure 3, are added. On each image of Figure 4, one cut (represented by the curve surrounding the subtree) and edges (dashed lines) among which, at least one will be in the next solution are shown. After the next optimization, a possible solution could be like the one shown in Figure 5. The solution satisfies all added constraints and the graph structure is a Steiner tree. Without further checking, we can claim that it is an

4 44 Milan Stanojević, Mirko Vujošević Figure 3: Possible solution after the first iteration Figure 4: Three new constraints optimal solution of the given Steiner tree problem. Figure 5: Final feasible and optimal solution The main criteria for determining data structures were access speed and simplicity of implementation. The amount of used memory was not considered because of relatively small graph dimensions of target instances. The logical choice were static structures (vectors and matrices). The realized structures enabled fast data access and mapping between graph structure (realized through neighborhood matrix) and vector of edges with all corresponding attributes. The algorithm was implemented in C language and it is compiled and tested on Linux operation system (with gcc - GNU C Compiler) on PC with Pentium R III processor on 600 MHz and 384 MB of RAM. The implemented program supports so called STP format [15] of Steiner tree problems, and it is compatible with the library of standard Steiner tree problems [14]. 4 Experimental results The developed program was tested on different problem instances. A characteristic of the Steiner tree problem is that the complexity of a procedure for its solving depends on three attributes: number of nodes (n), number of edges and number of terminal nodes (t). The largest dimensions of instances successfully solved by the program were [n/t]: 20/10, 32/8 and 50/5, with the average node degree 7. The solving procedures lasted between 2 seconds and 2 minutes for the most of the instances. These dimensions may look modest in comparison with those with several thousands nodes which were successfully solved as it was reported in papers [2] and [7]. However, comparing the procedure complexity, simplicity of implementation and the fact that in many real-life telecommunication planning processes, even smaller size problems may appear, the proposed implementation could be very useful. To get a more precise insight in the behavior of the algorithm, experiments were performed with instances where some parameters were varied. In the following table, results (mean values and standard deviation) obtained by experiments where every dimension was tested on 15 randomly generated instances are given. In the columns named No. of rows the number of constraints needed to obtain an optimal solution (the optimization in the last iteration) is given. The columns named No. of iterations represent a number of iterations of Algorithm 1 when

5 An Exact Algorithm for Steiner Tree Problem on Graphs 45 passing through Steps 2-4, i.e. the total number of solved binary subproblems (in Step 2). The columns Time represent CPU time spent to solve the problem. The column ANCAI shows the average number of constraints No.rows t added per iteration. It s obtained by formula: No.iterations where t represents the number of terminal nodes, i.e. the number of constraints added in initial mathematical model in Step 1. Table 1: The complexity analysis of the algorithm Instance dimensions No. of rows No. of iterations Time [sec.] AN- [n/t] x σ x σ x σ CAI / / / / / / On the basis of data given in Table 1, some conclusions can be made. The fact that complexity of STP grows with the number of nodes is obvious from the first three rows. Although the speed of the growth cannot be determined exactly on the basis of so small sample, it is obviously nonlinear probably exponential. The more interesting conclusion is that the growth of complexity is faster by changing the number of terminal nodes than the total number of nodes in graph. Comparing rows 1, 4 and 6, a kind of explosion of complexity can be seen: when the number of terminals was increased two times, execution time was increased 67 times. Similar conclusion can be made observing rows 2 and 5: addition of three terminals resulted in execution time increase of more than 11 times. The most important analysis here concerns the number of constraints needed to get an optimal solution. According the Column 2, that growth is almost linear in problem size. We cannot be certain if it is linear, but it is definitely not exponential. Finally, we can conclude that, although the number of constraints in model (1) grows exponentially, the number of constraints necessary to obtain an optimal solution grows much slowlier. The number of iterations grows even less. The parameter in Column 8 is also interesting. The average number of constraints added in each iteration also represents the average number of subtrees obtained in each sub solution. It seems that the relatively small values in Column 8 doesn t depend much on the number of terminal nodes. The explanation could be that the current solution of the solving procedure relatively quickly forms a structure which consists of a few subtrees each containing several terminals. This may contradict to the previous statement that complexity depends more on the number of terminals than on the total number of nodes, because, what influences the number of iterations is the number of unconnected subtrees, and not the number of terminals. One possible explanation is that the structure of subtrees changes, so subtrees contain different terminals in different iterations. It is also important to have in mind that every iteration lasts more than the previous one because every mathematical model has more rows (constraints) than the previous one. Yet another interesting thing from Table 1 is relatively big dispersion (represented by standard deviation) of data obtained by different randomly generated instances with same characteristics. This is a consequence of a nature of the algorithm (which is nondeterministic polynomial). It is impossible to predict the number of iterations necessary to obtain final solution. In the worst case it can be exponential. 5 Conclusion The first impressions and experiment conclusions indicate that the proposed algorithm can be efficiently used when there is a need for rapid development of an algorithm for solving smaller size Steiner tree problems. Although the worst case number of constraints needed to obtain a final solution remains exponential, the algorithm have shown a kind of good behavior in all solved examples the number stayed relatively low. Although the exponential complexity of the branch and bound method (Step 2 of the algorithm) remains, instances with acceptable dimensions can be solved in real time.

6 46 Milan Stanojević, Mirko Vujošević The idea of successive adding violated constraints could be also applied to some other problems whose mathematical models have an exponential number of constraints. Concerning that, some new researches have been planed, where the idea would be applied to the traveling salesman problem (TSP). Namely, the so called DFJ formulation of TSP [3] also has exponential number of constraints, but it has shown a good behavior in relaxation based algorithms. References [1] M. Berkelaar, K. Eikland, P. Notebaert, Lp_solve, Files and Discussion Group, ftp://ftp.es.ele.tue.nl/pub/lp_solve, [2] S. Chopra, E. Gorres, M. R. Rao, Solving a Steiner tree problem on a graph using branch and cut, ORSA Journal on Computing, Vol. 4, pp , [3] G. B. Dantzig, D. R. Fulkerson, S. M. Johnson, Solution of a large-scale traveling-salesman problem, Operations Research, Vol. 2, pp , [4] F. K. Hwang, D. S. Richards, Steiner tree problems, Networks, Vol. 22, pp , [5] F. K. Hwang, D. S. Richards, P. Winter, The Steiner tree problem, North-Holland, Amsterdam, [6] R. M. Karp, Reducibility among combinatorial problems, R. E. Miller, J. W. Thatcher (Ed.), Complexity of Computer Computations, pp , Plenum Press, New York, [7] T. Koch, A. Martin, Solving Steiner tree problems in graphs to optimality, Networks, Vol. 32, pp , [8] A. Lucena, J.E. Beasley, A branch and cut algorithm for the Steiner problem in graphs, Networks, Vol. 31, pp , [9] N. Maculan, The Steiner tree problem in graphs, Surveys in Combinatorial Optimization, S. Martello, G. Laporte, M. Minoux, C. C. Ribeiro (Ed.), Annals of Discrete Mathematics, Vol. 31, pp , [10] M. Stanojević, M. Vujošević, A new algorithm for solving Steiner tree problem on graph (in Serbian), 12th Telecommunications Forum TELFOR 2004, Belgrade, ( [11] P. Winter, Steiner problem in networks: A survey, Networks, Vol. 17, pp , [12] GNU Lesser General Public License, [13] Lp_solve Reference Guide, [14] SteinLib TestSets The Library of Standard Steiner Problems, [15] STP Description of the STP Data Format, Milan Stanojević, Mirko Vujošević University of Belgrade Faculty of Organizational Sciences Address: Jove Ilića 154, Belgrade, Serbia and Montenegro

### Outline. NP-completeness. When is a problem easy? When is a problem hard? Today. Euler Circuits

Outline NP-completeness Examples of Easy vs. Hard problems Euler circuit vs. Hamiltonian circuit Shortest Path vs. Longest Path 2-pairs sum vs. general Subset Sum Reducing one problem to another Clique

### Chapter 6 TRAVELLING SALESMAN PROBLEM

98 hapter 6 TRVLLING SLSMN PROLM 6.1 Introduction The Traveling Salesman Problem (TSP) is a problem in combinatorial optimization studied in operations research and theoretical computer science. Given

### Why? A central concept in Computer Science. Algorithms are ubiquitous.

Analysis of Algorithms: A Brief Introduction Why? A central concept in Computer Science. Algorithms are ubiquitous. Using the Internet (sending email, transferring files, use of search engines, online

### Integer programming solution methods - introduction

Integer programming solution methods - introduction J E Beasley Capital budgeting There are four possible projects, which each run for 3 years and have the following characteristics. Capital requirements

### Approximation Algorithms

Approximation Algorithms or: How I Learned to Stop Worrying and Deal with NP-Completeness Ong Jit Sheng, Jonathan (A0073924B) March, 2012 Overview Key Results (I) General techniques: Greedy algorithms

### Bicolored Shortest Paths in Graphs with Applications to Network Overlay Design

Bicolored Shortest Paths in Graphs with Applications to Network Overlay Design Hongsik Choi and Hyeong-Ah Choi Department of Electrical Engineering and Computer Science George Washington University Washington,

### Good luck, veel succes!

Final exam Advanced Linear Programming, May 7, 13.00-16.00 Switch off your mobile phone, PDA and any other mobile device and put it far away. No books or other reading materials are allowed. This exam

### Applying AI and Incomplete Solution Principles to Solve NP-hard Problems in the Real-Time Systems

Applying AI and Incomplete Solution Principles to Solve NP-hard Problems in the Real-Time Systems DENISS KUMLANDER Department of Informatics Tallinn University of Technology Raja St.15, 12617 Tallinn ESTONIA

### Lecture 6: Approximation via LP Rounding

Lecture 6: Approximation via LP Rounding Let G = (V, E) be an (undirected) graph. A subset C V is called a vertex cover for G if for every edge (v i, v j ) E we have v i C or v j C (or both). In other

### Branch and Bound Method for Discrete Tomography Reconstruction of hv-convex Binary Matrices

Branch and Bound Method for Discrete Tomography Reconstruction of hv-convex Binary Matrices Miklós Póth Polytechnical Engineering College, Subotica Marka Oreškovića 6, 24 Subotica, Serbia, email: pmiki@vts.su.ac.yu

### Solving the Travelling Salesman Problem Using the Ant Colony Optimization

Ivan Brezina Jr. Zuzana Čičková Solving the Travelling Salesman Problem Using the Ant Colony Optimization Article Info:, Vol. 6 (2011), No. 4, pp. 010-014 Received 12 July 2010 Accepted 23 September 2011

### ON THE COMPLEXITY OF THE GAME OF SET. {kamalika,pbg,dratajcz,hoeteck}@cs.berkeley.edu

ON THE COMPLEXITY OF THE GAME OF SET KAMALIKA CHAUDHURI, BRIGHTEN GODFREY, DAVID RATAJCZAK, AND HOETECK WEE {kamalika,pbg,dratajcz,hoeteck}@cs.berkeley.edu ABSTRACT. Set R is a card game played with a

### The fastclime Package for Linear Programming and Large-Scale Precision Matrix Estimation in R

Journal of Machine Learning Research 15 (2014) 489-493 Submitted 3/13; Revised 8/13; Published 2/14 The fastclime Package for Linear Programming and Large-Scale Precision Matrix Estimation in R Haotian

### Using the Simplex Method in Mixed Integer Linear Programming

Integer Using the Simplex Method in Mixed Integer UTFSM Nancy, 17 december 2015 Using the Simplex Method in Mixed Integer Outline Mathematical Programming Integer 1 Mathematical Programming Optimisation

### GRAPH THEORY and APPLICATIONS. Trees

GRAPH THEORY and APPLICATIONS Trees Properties Tree: a connected graph with no cycle (acyclic) Forest: a graph with no cycle Paths are trees. Star: A tree consisting of one vertex adjacent to all the others.

### 5.1 Bipartite Matching

CS787: Advanced Algorithms Lecture 5: Applications of Network Flow In the last lecture, we looked at the problem of finding the maximum flow in a graph, and how it can be efficiently solved using the Ford-Fulkerson

Approximation Algorithms Chapter Approximation Algorithms Q. Suppose I need to solve an NP-hard problem. What should I do? A. Theory says you're unlikely to find a poly-time algorithm. Must sacrifice one

### 24. The Branch and Bound Method

24. The Branch and Bound Method It has serious practical consequences if it is known that a combinatorial problem is NP-complete. Then one can conclude according to the present state of science that no

### ! Solve problem to optimality. ! Solve problem in poly-time. ! Solve arbitrary instances of the problem. !-approximation algorithm.

Approximation Algorithms Chapter Approximation Algorithms Q Suppose I need to solve an NP-hard problem What should I do? A Theory says you're unlikely to find a poly-time algorithm Must sacrifice one of

### Measuring Rationality with the Minimum Cost of Revealed Preference Violations. Mark Dean and Daniel Martin. Online Appendices - Not for Publication

Measuring Rationality with the Minimum Cost of Revealed Preference Violations Mark Dean and Daniel Martin Online Appendices - Not for Publication 1 1 Algorithm for Solving the MASP In this online appendix

### Markov chains and Markov Random Fields (MRFs)

Markov chains and Markov Random Fields (MRFs) 1 Why Markov Models We discuss Markov models now. This is the simplest statistical model in which we don t assume that all variables are independent; we assume

### 2. (a) Explain the strassen s matrix multiplication. (b) Write deletion algorithm, of Binary search tree. [8+8]

Code No: R05220502 Set No. 1 1. (a) Describe the performance analysis in detail. (b) Show that f 1 (n)+f 2 (n) = 0(max(g 1 (n), g 2 (n)) where f 1 (n) = 0(g 1 (n)) and f 2 (n) = 0(g 2 (n)). [8+8] 2. (a)

### INTEGER PROGRAMMING. Integer Programming. Prototype example. BIP model. BIP models

Integer Programming INTEGER PROGRAMMING In many problems the decision variables must have integer values. Example: assign people, machines, and vehicles to activities in integer quantities. If this is

### A Constraint Programming based Column Generation Approach to Nurse Rostering Problems

Abstract A Constraint Programming based Column Generation Approach to Nurse Rostering Problems Fang He and Rong Qu The Automated Scheduling, Optimisation and Planning (ASAP) Group School of Computer Science,

### NP-Completeness. CptS 223 Advanced Data Structures. Larry Holder School of Electrical Engineering and Computer Science Washington State University

NP-Completeness CptS 223 Advanced Data Structures Larry Holder School of Electrical Engineering and Computer Science Washington State University 1 Hard Graph Problems Hard means no known solutions with

### 2.3 Scheduling jobs on identical parallel machines

2.3 Scheduling jobs on identical parallel machines There are jobs to be processed, and there are identical machines (running in parallel) to which each job may be assigned Each job = 1,,, must be processed

### The multi-integer set cover and the facility terminal cover problem

The multi-integer set cover and the facility teral cover problem Dorit S. Hochbaum Asaf Levin December 5, 2007 Abstract The facility teral cover problem is a generalization of the vertex cover problem.

### Research Paper Business Analytics. Applications for the Vehicle Routing Problem. Jelmer Blok

Research Paper Business Analytics Applications for the Vehicle Routing Problem Jelmer Blok Applications for the Vehicle Routing Problem Jelmer Blok Research Paper Vrije Universiteit Amsterdam Faculteit

### High-performance local search for planning maintenance of EDF nuclear park

High-performance local search for planning maintenance of EDF nuclear park Frédéric Gardi Karim Nouioua Bouygues e-lab, Paris fgardi@bouygues.com Laboratoire d'informatique Fondamentale - CNRS UMR 6166,

### Scheduling Home Health Care with Separating Benders Cuts in Decision Diagrams

Scheduling Home Health Care with Separating Benders Cuts in Decision Diagrams André Ciré University of Toronto John Hooker Carnegie Mellon University INFORMS 2014 Home Health Care Home health care delivery

### CAD Algorithms. P and NP

CAD Algorithms The Classes P and NP Mohammad Tehranipoor ECE Department 6 September 2010 1 P and NP P and NP are two families of problems. P is a class which contains all of the problems we solve using

### Two General Methods to Reduce Delay and Change of Enumeration Algorithms

ISSN 1346-5597 NII Technical Report Two General Methods to Reduce Delay and Change of Enumeration Algorithms Takeaki Uno NII-2003-004E Apr.2003 Two General Methods to Reduce Delay and Change of Enumeration

### Solution of a Large-Scale Traveling-Salesman Problem

Chapter 1 Solution of a Large-Scale Traveling-Salesman Problem George B. Dantzig, Delbert R. Fulkerson, and Selmer M. Johnson Introduction by Vašek Chvátal and William Cook The birth of the cutting-plane

### 5 INTEGER LINEAR PROGRAMMING (ILP) E. Amaldi Fondamenti di R.O. Politecnico di Milano 1

5 INTEGER LINEAR PROGRAMMING (ILP) E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 General Integer Linear Program: (ILP) min c T x Ax b x 0 integer Assumption: A, b integer The integrality condition

### ! Solve problem to optimality. ! Solve problem in poly-time. ! Solve arbitrary instances of the problem. #-approximation algorithm.

Approximation Algorithms 11 Approximation Algorithms Q Suppose I need to solve an NP-hard problem What should I do? A Theory says you're unlikely to find a poly-time algorithm Must sacrifice one of three

### Solving Mixed Integer Linear Programs Using Branch and Cut Algorithm

1 Solving Mixed Integer Linear Programs Using Branch and Cut Algorithm by Shon Albert A Project Submitted to the Graduate Faculty of North Carolina State University in Partial Fulfillment of the Requirements

### Assignment Problems. Guoming Tang

Assignment Problems Guoming Tang A Practical Problem Workers: A, B, C, D Jobs: P, Q, R, S. Cost matrix: Job P Job Q Job R Job S Worker A 1 2 3 4 Worker B 2 4 6 8 Worker C 3 6 9 12 Worker D 4 8 12 16 Given:

### Discrete (and Continuous) Optimization Solutions of Exercises 1 WI4 131

Discrete (and Continuous) Optimization Solutions of Exercises 1 WI4 131 Kees Roos Technische Universiteit Delft Faculteit Informatietechnologie en Systemen Afdeling Informatie, Systemen en Algoritmiek

### Optimization Modeling for Mining Engineers

Optimization Modeling for Mining Engineers Alexandra M. Newman Division of Economics and Business Slide 1 Colorado School of Mines Seminar Outline Linear Programming Integer Linear Programming Slide 2

### Lecture 3: Linear Programming Relaxations and Rounding

Lecture 3: Linear Programming Relaxations and Rounding 1 Approximation Algorithms and Linear Relaxations For the time being, suppose we have a minimization problem. Many times, the problem at hand can

### How to speed-up hard problem resolution using GLPK?

How to speed-up hard problem resolution using GLPK? Onfroy B. & Cohen N. September 27, 2010 Contents 1 Introduction 2 1.1 What is GLPK?.......................................... 2 1.2 GLPK, the best one?.......................................

### A fast heuristic approach for train timetabling in a railway node

A fast heuristic approach for train timetabling in a railway node Fabio Furini 1 LIPN, Université Paris 13 99 avenue Jean-Baptiste Clément, 93430 Villetaneuse, France Martin Philip Kidd 2 DEI, Università

### Minimum Caterpillar Trees and Ring-Stars: a branch-and-cut algorithm

Minimum Caterpillar Trees and Ring-Stars: a branch-and-cut algorithm Luidi G. Simonetti Yuri A. M. Frota Cid C. de Souza Institute of Computing University of Campinas Brazil Aussois, January 2010 Cid de

Adaptive Linear Programming Decoding Mohammad H. Taghavi and Paul H. Siegel ECE Department, University of California, San Diego Email: (mtaghavi, psiegel)@ucsd.edu ISIT 2006, Seattle, USA, July 9 14, 2006

### Integrating Benders decomposition within Constraint Programming

Integrating Benders decomposition within Constraint Programming Hadrien Cambazard, Narendra Jussien email: {hcambaza,jussien}@emn.fr École des Mines de Nantes, LINA CNRS FRE 2729 4 rue Alfred Kastler BP

### Load balancing in a heterogeneous computer system by self-organizing Kohonen network

Bull. Nov. Comp. Center, Comp. Science, 25 (2006), 69 74 c 2006 NCC Publisher Load balancing in a heterogeneous computer system by self-organizing Kohonen network Mikhail S. Tarkov, Yakov S. Bezrukov Abstract.

### Memoization/Dynamic Programming. The String reconstruction problem. CS125 Lecture 5 Fall 2016

CS125 Lecture 5 Fall 2016 Memoization/Dynamic Programming Today s lecture discusses memoization, which is a method for speeding up algorithms based on recursion, by using additional memory to remember

### Introduction to Logic in Computer Science: Autumn 2006

Introduction to Logic in Computer Science: Autumn 2006 Ulle Endriss Institute for Logic, Language and Computation University of Amsterdam Ulle Endriss 1 Plan for Today Now that we have a basic understanding

### High Performance Computing for Operation Research

High Performance Computing for Operation Research IEF - Paris Sud University claude.tadonki@u-psud.fr INRIA-Alchemy seminar, Thursday March 17 Research topics Fundamental Aspects of Algorithms and Complexity

### Applied Algorithm Design Lecture 5

Applied Algorithm Design Lecture 5 Pietro Michiardi Eurecom Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 5 1 / 86 Approximation Algorithms Pietro Michiardi (Eurecom) Applied Algorithm Design

### A simpler and better derandomization of an approximation algorithm for Single Source Rent-or-Buy

A simpler and better derandomization of an approximation algorithm for Single Source Rent-or-Buy David P. Williamson Anke van Zuylen School of Operations Research and Industrial Engineering, Cornell University,

### Security-Aware Beacon Based Network Monitoring

Security-Aware Beacon Based Network Monitoring Masahiro Sasaki, Liang Zhao, Hiroshi Nagamochi Graduate School of Informatics, Kyoto University, Kyoto, Japan Email: {sasaki, liang, nag}@amp.i.kyoto-u.ac.jp

### Minimum Spanning Trees

Minimum Spanning Trees Algorithms and 18.304 Presentation Outline 1 Graph Terminology Minimum Spanning Trees 2 3 Outline Graph Terminology Minimum Spanning Trees 1 Graph Terminology Minimum Spanning Trees

### Solving Single-digit Sudoku Subproblems

Solving Single-digit Sudoku Subproblems David Eppstein Int. Conf. Fun with Algorithms, June 2012 Sudoku An ab ab array of cells, partitioned into a b blocks, partially filled in with numbers from 1 to

### The number of marks is given in brackets [ ] at the end of each question or part question. The total number of marks for this paper is 72.

ADVANCED SUBSIDIARY GCE UNIT 4736/01 MATHEMATICS Decision Mathematics 1 THURSDAY 14 JUNE 2007 Afternoon Additional Materials: Answer Booklet (8 pages) List of Formulae (MF1) Time: 1 hour 30 minutes INSTRUCTIONS

### Lecture 3. Linear Programming. 3B1B Optimization Michaelmas 2015 A. Zisserman. Extreme solutions. Simplex method. Interior point method

Lecture 3 3B1B Optimization Michaelmas 2015 A. Zisserman Linear Programming Extreme solutions Simplex method Interior point method Integer programming and relaxation The Optimization Tree Linear Programming

### Department of Industrial Engineering

Department of Industrial Engineering Master of Engineering Program in Industrial Engineering (International Program) M.Eng. (Industrial Engineering) Plan A Option 2: Total credits required: minimum 39

### Chapter 15 Introduction to Linear Programming

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

### Can linear programs solve NP-hard problems?

Can linear programs solve NP-hard problems? p. 1/9 Can linear programs solve NP-hard problems? Ronald de Wolf Linear programs Can linear programs solve NP-hard problems? p. 2/9 Can linear programs solve

### A Robust Formulation of the Uncertain Set Covering Problem

A Robust Formulation of the Uncertain Set Covering Problem Dirk Degel Pascal Lutter Chair of Management, especially Operations Research Ruhr-University Bochum Universitaetsstrasse 150, 44801 Bochum, Germany

### Discuss the size of the instance for the minimum spanning tree problem.

3.1 Algorithm complexity The algorithms A, B are given. The former has complexity O(n 2 ), the latter O(2 n ), where n is the size of the instance. Let n A 0 be the size of the largest instance that can

### Solving the ILP using branch-and-cut

Solving the ILP using branch-and-cut Solving ILPs is a main topic in combinatorial optimization. We will take a brief look at the branch-and-cut approach. Branch-and-cut makes use of two techniques: Cutting

### Chapter 13: Binary and Mixed-Integer Programming

Chapter 3: Binary and Mixed-Integer Programming The general branch and bound approach described in the previous chapter can be customized for special situations. This chapter addresses two special situations:

### , each of which contains a unique key value, say k i , R 2. such that k i equals K (or to determine that no such record exists in the collection).

The Search Problem 1 Suppose we have a collection of records, say R 1, R 2,, R N, each of which contains a unique key value, say k i. Given a particular key value, K, the search problem is to locate the

### A Heuristic Algorithm for the Network Design Problem

A Heuristic Algorithm for the Network Design Problem MILAN TUBA Megatrend University Belgrade Faculty of Computer Science Bulevar umetnosti 29, 11070 Novi Beograd SERBIA tuba@ieee.org Abstract: The network

### A Working Knowledge of Computational Complexity for an Optimizer

A Working Knowledge of Computational Complexity for an Optimizer ORF 363/COS 323 Instructor: Amir Ali Ahmadi TAs: Y. Chen, G. Hall, J. Ye Fall 2014 1 Why computational complexity? What is computational

### JUST-IN-TIME SCHEDULING WITH PERIODIC TIME SLOTS. Received December May 12, 2003; revised February 5, 2004

Scientiae Mathematicae Japonicae Online, Vol. 10, (2004), 431 437 431 JUST-IN-TIME SCHEDULING WITH PERIODIC TIME SLOTS Ondřej Čepeka and Shao Chin Sung b Received December May 12, 2003; revised February

### Load Balancing of Telecommunication Networks based on Multiple Spanning Trees

Load Balancing of Telecommunication Networks based on Multiple Spanning Trees Dorabella Santos Amaro de Sousa Filipe Alvelos Instituto de Telecomunicações 3810-193 Aveiro, Portugal dorabella@av.it.pt Instituto

### Permutation Betting Markets: Singleton Betting with Extra Information

Permutation Betting Markets: Singleton Betting with Extra Information Mohammad Ghodsi Sharif University of Technology ghodsi@sharif.edu Hamid Mahini Sharif University of Technology mahini@ce.sharif.edu

### Dynamic Programming.S1 Sequencing Problems

Dynamic Programming.S1 Sequencing Problems Operations Research Models and Methods Paul A. Jensen and Jonathan F. Bard Many operational problems in manufacturing, service and distribution require the sequencing

### GMP implementation on CUDA - A Backward Compatible Design With Performance Tuning

1 GMP implementation on CUDA - A Backward Compatible Design With Performance Tuning Hao Jun Liu, Chu Tong Edward S. Rogers Sr. Department of Electrical and Computer Engineering University of Toronto haojun.liu@utoronto.ca,

### A short OPL tutorial

A short OPL tutorial Truls Flatberg January 17, 2009 1 Introduction This note is a short tutorial to the modeling language OPL. The tutorial is by no means complete with regard to all features of OPL.

### Week 5 Integral Polyhedra

Week 5 Integral Polyhedra We have seen some examples 1 of linear programming formulation that are integral, meaning that every basic feasible solution is an integral vector. This week we develop a theory

### NP-Completeness I. Lecture 19. 19.1 Overview. 19.2 Introduction: Reduction and Expressiveness

Lecture 19 NP-Completeness I 19.1 Overview In the past few lectures we have looked at increasingly more expressive problems that we were able to solve using efficient algorithms. In this lecture we introduce

### Page 1. CSCE 310J Data Structures & Algorithms. CSCE 310J Data Structures & Algorithms. P, NP, and NP-Complete. Polynomial-Time Algorithms

CSCE 310J Data Structures & Algorithms P, NP, and NP-Complete Dr. Steve Goddard goddard@cse.unl.edu CSCE 310J Data Structures & Algorithms Giving credit where credit is due:» Most of the lecture notes

### max cx s.t. Ax c where the matrix A, cost vector c and right hand side b are given and x is a vector of variables. For this example we have x

Linear Programming Linear programming refers to problems stated as maximization or minimization of a linear function subject to constraints that are linear equalities and inequalities. Although the study

### Algorithmic Thinking: The Key for Understanding Computer Science

Algorithmic Thinking: The Key for Understanding Computer Science Gerald Futschek Vienna University of Technology Institute of Software Technology and Interactive Systems Favoritenstrasse 9, 1040 Vienna,

### A Performance Comparison of Five Algorithms for Graph Isomorphism

A Performance Comparison of Five Algorithms for Graph Isomorphism P. Foggia, C.Sansone, M. Vento Dipartimento di Informatica e Sistemistica Via Claudio, 21 - I 80125 - Napoli, Italy {foggiapa, carlosan,

### Solving the Two-Stage Robust FTTH network design Problem under Demand Uncertainty

Solving the Two-Stage Robust FTTH network design Problem under Demand Uncertainty Cedric Hervet 1 Orange Labs, ENSTA-CEDRIC, France Alain Faye,Marie-Christine Costa 2 ENSIIE/ESNTA-CEDRIC, France Matthieu

### The Time Window Assignment Vehicle Routing Problem

The Time Window Assignment Vehicle Routing Problem Remy Spliet, Adriana F. Gabor Econometric Institute Erasumus University Rotterdam P.O. Box 1738, 3000 DR Rotterdam, The Netherlands EI2012 07 April 20,

### Min-cost flow problems and network simplex algorithm

Min-cost flow problems and network simplex algorithm The particular structure of some LP problems can be sometimes used for the design of solution techniques more efficient than the simplex algorithm.

### / Approximation Algorithms Lecturer: Michael Dinitz Topic: Steiner Tree and TSP Date: 01/29/15 Scribe: Katie Henry

600.469 / 600.669 Approximation Algorithms Lecturer: Michael Dinitz Topic: Steiner Tree and TSP Date: 01/29/15 Scribe: Katie Henry 2.1 Steiner Tree Definition 2.1.1 In the Steiner Tree problem the input

### Scheduling. Open shop, job shop, flow shop scheduling. Related problems. Open shop, job shop, flow shop scheduling

Scheduling Basic scheduling problems: open shop, job shop, flow job The disjunctive graph representation Algorithms for solving the job shop problem Computational complexity of the job shop problem Open

### 6. Mixed Integer Linear Programming

6. Mixed Integer Linear Programming Javier Larrosa Albert Oliveras Enric Rodríguez-Carbonell Problem Solving and Constraint Programming (RPAR) Session 6 p.1/40 Mixed Integer Linear Programming A mixed

### Deterministic Problems

Chapter 2 Deterministic Problems 1 In this chapter, we focus on deterministic control problems (with perfect information), i.e, there is no disturbance w k in the dynamics equation. For such problems there

### Comparison of Optimization Techniques in Large Scale Transportation Problems

Journal of Undergraduate Research at Minnesota State University, Mankato Volume 4 Article 10 2004 Comparison of Optimization Techniques in Large Scale Transportation Problems Tapojit Kumar Minnesota State

### Linear Programming: Introduction

Linear Programming: Introduction Frédéric Giroire F. Giroire LP - Introduction 1/28 Course Schedule Session 1: Introduction to optimization. Modelling and Solving simple problems. Modelling combinatorial

### Resource Allocation and Scheduling

Lesson 3: Resource Allocation and Scheduling DEIS, University of Bologna Outline Main Objective: joint resource allocation and scheduling problems In particular, an overview of: Part 1: Introduction and

### Linear Programming for Optimization. Mark A. Schulze, Ph.D. Perceptive Scientific Instruments, Inc.

1. Introduction Linear Programming for Optimization Mark A. Schulze, Ph.D. Perceptive Scientific Instruments, Inc. 1.1 Definition Linear programming is the name of a branch of applied mathematics that

### Scheduling Shop Scheduling. Tim Nieberg

Scheduling Shop Scheduling Tim Nieberg Shop models: General Introduction Remark: Consider non preemptive problems with regular objectives Notation Shop Problems: m machines, n jobs 1,..., n operations

### princeton univ. F 13 cos 521: Advanced Algorithm Design Lecture 6: Provable Approximation via Linear Programming Lecturer: Sanjeev Arora

princeton univ. F 13 cos 521: Advanced Algorithm Design Lecture 6: Provable Approximation via Linear Programming Lecturer: Sanjeev Arora Scribe: One of the running themes in this course is the notion of

### Beyond the Stars: Revisiting Virtual Cluster Embeddings

Beyond the Stars: Revisiting Virtual Cluster Embeddings Matthias Rost Technische Universität Berlin September 7th, 2015, Télécom-ParisTech Joint work with Carlo Fuerst, Stefan Schmid Published in ACM SIGCOMM

### Lecture 7: Approximation via Randomized Rounding

Lecture 7: Approximation via Randomized Rounding Often LPs return a fractional solution where the solution x, which is supposed to be in {0, } n, is in [0, ] n instead. There is a generic way of obtaining

### Steiner Tree Approximation via IRR. Randomized Rounding

Steiner Tree Approximation via Iterative Randomized Rounding Graduate Program in Logic, Algorithms and Computation μπλ Network Algorithms and Complexity June 18, 2013 Overview 1 Introduction Scope Related

### IE 680 Special Topics in Production Systems: Networks, Routing and Logistics*

IE 680 Special Topics in Production Systems: Networks, Routing and Logistics* Rakesh Nagi Department of Industrial Engineering University at Buffalo (SUNY) *Lecture notes from Network Flows by Ahuja, Magnanti

### Influence of Load Balancing on Quality of Real Time Data Transmission*

SERBIAN JOURNAL OF ELECTRICAL ENGINEERING Vol. 6, No. 3, December 2009, 515-524 UDK: 004.738.2 Influence of Load Balancing on Quality of Real Time Data Transmission* Nataša Maksić 1,a, Petar Knežević 2,

### Graphs and Network Flows IE411 Lecture 1

Graphs and Network Flows IE411 Lecture 1 Dr. Ted Ralphs IE411 Lecture 1 1 References for Today s Lecture Required reading Sections 17.1, 19.1 References AMO Chapter 1 and Section 2.1 and 2.2 IE411 Lecture

### Minimize subject to. x S R

Chapter 12 Lagrangian Relaxation This chapter is mostly inspired by Chapter 16 of [1]. In the previous chapters, we have succeeded to find efficient algorithms to solve several important problems such