Constraint Programming for the Diameter Constrained Minimum Spanning Tree Problem Thiago F. Noronha Celso C. Ribeiro Andréa C. Santos.

Slides:



Advertisements
Similar presentations
The Primal-Dual Method: Steiner Forest TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A AA A A A AA A A.
Advertisements

DMOR Branch and bound. Integer programming Modelling logical constraints and making them linear: – Conjuction – Disjunction – Implication – Logical constraints.
Novembro 2003 Tabu search heuristic for partition coloring1/29 XXXV SBPO XXXV SBPO Natal, 4-7 de novembro de 2003 A Tabu Search Heuristic for Partition.
Optimization of thermal processes2007/2008 Optimization of thermal processes Maciej Marek Czestochowa University of Technology Institute of Thermal Machinery.
EE 553 Integer Programming
Progress in Linear Programming Based Branch-and-Bound Algorithms
Biointelligence Lab School of Computer Sci. & Eng. Seoul National University Artificial Intelligence Chapter 8 Uninformed Search.
Graduate Center/City University of New York University of Helsinki FINDING OPTIMAL BAYESIAN NETWORK STRUCTURES WITH CONSTRAINTS LEARNED FROM DATA Xiannian.
Constraint Logic Programming Ryan Kinworthy. Overview Introduction Logic Programming LP as a constraint programming language Constraint Logic Programming.
Branch and Bound Similar to backtracking in generating a search tree and looking for one or more solutions Different in that the “objective” is constrained.
Constraint Satisfaction Problems
Dynamic lot sizing and tool management in automated manufacturing systems M. Selim Aktürk, Siraceddin Önen presented by Zümbül Bulut.
2-Layer Crossing Minimisation Johan van Rooij. Overview Problem definitions NP-Hardness proof Heuristics & Performance Practical Computation One layer:
Job Scheduling Lecture 19: March 19. Job Scheduling: Unrelated Multiple Machines There are n jobs, each job has: a processing time p(i,j) (the time to.
Better Ants, Better Life? Hybridization of Constraint Programming and Ant Colony Optimization Supervisors: Dr. Bernd Meyer, Dr. Andreas Ernst Martin Held.
Branch and Bound Algorithm for Solving Integer Linear Programming
Approximation Algorithms Motivation and Definitions TSP Vertex Cover Scheduling.
1 Combinatorial Problems in Cooperative Control: Complexity and Scalability Carla Gomes and Bart Selman Cornell University Muri Meeting March 2002.
Distributed Constraint Optimization * some slides courtesy of P. Modi
Daniel Kroening and Ofer Strichman Decision Procedures An Algorithmic Point of View Deciding ILPs with Branch & Bound ILP References: ‘Integer Programming’
Decision Procedures An Algorithmic Point of View
Busby, Dodge, Fleming, and Negrusa. Backtracking Algorithm Is used to solve problems for which a sequence of objects is to be selected from a set such.
Analysis of Algorithms
Approximation Algorithms for Stochastic Combinatorial Optimization Part I: Multistage problems Anupam Gupta Carnegie Mellon University.
Primal-Dual Meets Local Search: Approximating MST’s with Non-uniform Degree Bounds Author: Jochen Könemann R. Ravi From CMU CS 3150 Presentation by Dan.
1.3 Modeling with exponentially many constr.  Some strong formulations (or even formulation itself) may involve exponentially many constraints (cutting.
Tree Searching Breadth First Search Dept First Search.
Clearing Algorithms for Barter Exchange Markets: Enabling Nationwide Kidney Exchanges Hyunggu Jung Computer Science University of Waterloo Oct 6, 2008.
Approximating Minimum Bounded Degree Spanning Tree (MBDST) Mohit Singh and Lap Chi Lau “Approximating Minimum Bounded DegreeApproximating Minimum Bounded.
Solving the Concave Cost Supply Scheduling Problem Xia Wang, Univ. of Maryland Bruce Golden, Univ. of Maryland Edward Wasil, American Univ. Presented at.
Introduction to Job Shop Scheduling Problem Qianjun Xu Oct. 30, 2001.
1 The Euclidean Non-uniform Steiner Tree Problem by Ian Frommer Bruce Golden Guruprasad Pundoor INFORMS Annual Meeting Denver, Colorado October 2004.
June 21, 2007 Minimum Interference Channel Assignment in Multi-Radio Wireless Mesh Networks Anand Prabhu Subramanian, Himanshu Gupta.
Graph Algorithms. Definitions and Representation An undirected graph G is a pair (V,E), where V is a finite set of points called vertices and E is a finite.
Lecture 2: General Problem-Solving Methods. Greedy Method Divide-and-Conquer Backtracking Dynamic Programming Graph Traversal Linear Programming Reduction.
MILP algorithms: branch-and-bound and branch-and-cut
An Efficient Algorithm for Enumerating Pseudo Cliques Dec/18/2007 ISAAC, Sendai Takeaki Uno National Institute of Informatics & The Graduate University.
CP Summer School Modelling for Constraint Programming Barbara Smith 2. Implied Constraints, Optimization, Dominance Rules.
Chap 10. Integer Prog. Formulations
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
1 Outline:  Optimization of Timed Systems  TA-Modeling of Scheduling Tasks  Transformation of TA into Mixed-Integer Programs  Tree Search for TA using.
Column Generation By Soumitra Pal Under the guidance of Prof. A. G. Ranade.
Two Discrete Optimization Problems Problem: The Transportation Problem.
Branch-and-Cut Valid inequality: an inequality satisfied by all feasible solutions Cut: a valid inequality that is not part of the current formulation.
Quality of LP-based Approximations for Highly Combinatorial Problems Lucian Leahu and Carla Gomes Computer Science Department Cornell University.
Problem Reduction So far we have considered search strategies for OR graph. In OR graph, several arcs indicate a variety of ways in which the original.
M Tech Project – First Stage Improving Branch-And-Price Algorithms For Solving 1D Cutting Stock Problem Soumitra Pal [ ]
Branch and Bound Algorithms Present by Tina Yang Qianmei Feng.
Chapter 2. Optimal Trees and Paths Combinatorial Optimization
Part 3. Linear Programming 3.2 Algorithm. General Formulation Convex function Convex region.
Chapter 13 Backtracking Introduction The 3-coloring problem
Approximation Algorithms based on linear programming.
Tuesday, March 19 The Network Simplex Method for Solving the Minimum Cost Flow Problem Handouts: Lecture Notes Warning: there is a lot to the network.
Biointelligence Lab School of Computer Sci. & Eng. Seoul National University Artificial Intelligence Chapter 8 Uninformed Search.
Discrete Optimization MA2827 Fondements de l’optimisation discrète Material from P. Van Hentenryck’s course.
Signal processing and Networking for Big Data Applications: Lecture 9 Mix Integer Programming: Benders decomposition And Branch & Bound NOTE: To change.
Greedy Technique.
The minimum cost flow problem
Courtsey & Copyright: DESIGN AND ANALYSIS OF ALGORITHMS Courtsey & Copyright:
1.3 Modeling with exponentially many constr.
Constraint Propagation
Part 3. Linear Programming
1.206J/16.77J/ESD.215J Airline Schedule Planning
1.3 Modeling with exponentially many constr.
Artificial Intelligence Chapter 8 Uninformed Search
Unit –VII Coping with limitations of algorithm power.
UNINFORMED SEARCH -BFS -DFS -DFIS - Bidirectional
Vehicle routing in Python
Branch-and-Bound Algorithm for Integer Program
Discrete Optimization
Presentation transcript:

Constraint Programming for the Diameter Constrained Minimum Spanning Tree Problem Thiago F. Noronha Celso C. Ribeiro Andréa C. Santos

2/27 Outline Diameter Constrained Minimum Spanning Tree Problem (DCMST) Literature review Constraint programming formulation Search procedure Computational experiments Concluding remarks

3/27 DCMST problem Cost = Cost = 19 G(V, E) Optimal solution (D=2) MST Diameter of a tree is equal to the longest path between any two of its nodes. NP-hard for D  4 (Garey and Johnson, 1979)

4/27 r r Even case (D/2) Handler (1978) Achuthan et al. (1992, 1994) Gouveia and Magnanti (2003) Gouveia, Magnanti, and Requejo (2004) Santos, Lucena and Ribeiro (2004) Gruber and Raidl (2005) Odd case (D-1)/2 Literature review Central vertex Central edge n = |V| m = |E| D: diameter L =  D/2  r: artificial node

5/ Formulations make use of a transformed directed graph: Considerations

6/27 Constraint Programming (CP) is a programming paradigm for formulating and solving combinatorial problems. CP formulations admit high-level constraints with: –variable multiplication –logic operations –indexation of arrays with variables –linear constraints –… Instead of using the linear relaxation for pruning the search tree, it uses a variety of bounding techniques based on constraint propagation. Constraint Programming

7/27 Constraint propagation consists in operating with constraints to generate new constraints that reduce the domain of some variables. Each value eliminated from the domain of a variable corresponds to a branch of the search tree that is pruned. New constraints are further propagated to reduce the domain of other variables. Procedure is repeated until no further constraint can be generated. Constraint Programming

8/27 Constraint Programming At the end of the propagation phase: –If a feasible solution with cost c was found, a new constraint is added enforcing the value of the objective function to be smaller than c. –If the subproblem was proven to be infeasible, the algorithm backtracks. –Otherwise, a branch is performed in the domain of some dynamically chosen variable. Constraint Programming is an exact approach and finds the optimal solution. CP approach motivated by the fact that some MIP formulations have weak lower bounds, while others require a huge amount of memory because of the large number of variables and constraints.

9/27 Constraint Programming formulation Variables Formulation in OPL language y i : parent of note i u i : number of arcs in the path from r to i (the depth of the node) a and b: central nodes (a=b in the even case)

10/27 Considerations For any rooted tree T=(y*,u*) satisfying equations (2)-(6) of the CP formulation, then T ’ = T \ {(k,j)}  {(i,j)} is also feasible, for every arc (k,j)  T and any node i   - (j) such that u* i ≤ u* k. r T r T’ j k i

11/27 A feasible rooted tree is u-optimal if it is not worse than any other tree with the same or smaller values u of the vertices depths. Optimal tree is u-optimal for the corresponding u values. Considerations r u-optimal tree with cost 13. Non u-optimal tree with cost r

12/27 A feasible rooted tree is u-optimal if it is not worse than any other tree with the same or smaller values u of the vertices depths. Optimal tree is u-optimal for the corresponding u values. Considerations Non u-optimal tree with cost 20. r Better tree with cost r

13/27 An u-optimal tree can be represented by the depths u of its vertices: –Parent of each vertex i  V is the closest vertex j with u j = u i -1. –When D is odd, we also need to connect the two nodes with depth 1. Considerations r r u-optimal tree with cost 15.

14/27 Solving a combinatorial optimization problem by constraint programming involves two steps: –generating the set of constraints, and –describing how to search for solutions. Search procedure implicitly enumerates all solutions in the search space: –It defines a search tree, in which each node introduces a new constraint that sets the value of one variable or eliminates one value from its domain. –New constraint is propagated at each node, attempting to reduce the domain of other variables. Search tree is explored by a depth first search strategy. Search procedure

15/27 Search procedure We search only for u-optimal trees. Constraint below cuts all non u-optimal trees: Branch exclusively only on variables u, significantly reducing the size of the search space for dense graphs and small diameters

16/27 Algorithm implemented in OPL language and run on OPL Studio Computational experiments performed on a 3.0 GHz Pentium IV machine with 1 Gb of RAM memory. Results compared with those in: –Gouveia and Magnanti (2003) 450 Mhz Pentium II –Gouveia, Magnanti and Requejo (2004) 450 Mhz Pentium II –Santos, Lucena and Ribeiro (2004) 2.8 Ghz Pentium IV machine with 2 Gb of RAM memory –Gruber and Raidl (2005) 2.8 Ghz Pentium IV machine with 2 Gb of RAM memory Computational experiments

17/27 Computational experiments Instances: –Set A: Santos, Lucena and Ribeiro (2004) 31 complete and sparse Euclidian instances with odd and even diameters –Set B: Gouveia, Magnanti and Requejo (2004) 12 sparse random and Euclidean instances with odd diameters –Set C: Gouveia and Magnanti (2003) 20 sparse random and Euclidean instances with odd and even diameters –Set D: OR-Library Ten unsolved complete Euclidean instances with diameter 4

18/27 Computational experiments Set A (even D instances): comparison with the fastest algorithm in Santos, Lucena and Ribeiro (2004) and Gruber and Raidl (2005) for each instance

19/27 Computational experiments Set A (odd D instances): comparison with the fastest algorithm in Santos, Lucena and Ribeiro (2004) and Gruber and Raidl (2005) for each instance

20/27 Computational experiments Set B: comparison with the fastest algorithm in Gouveia and Magnanti (2003) for each instance

21/27 Computational experiments Set B: comparison with the algorithm in Gouveia, Magnanti and Requejo (2004)

22/27 Computational experiments Set C: comparison with the fastest algorithm in Gruber and Raidl (2005) for each instance ILP*

23/27 Computational experiments Set C: comparison with the fastest algorithm in Gouveia and Magnanti (2003) for each instance

24/27 Computational experiments Set D (complete graphs): unsolved before this work

25/27 Concluding remarks New approach based on constraint programming (CP) to solve the Diameter Constrained Minimum Spanning Tree Problem. CP made it possible to develop an efficient algorithm: –by allowing concise formulations with a small number of variables and constraints, and –by using constraint propagation to prune the search space, instead of using the linear relaxation. CP requires less memory than branch-and-cut algorithms, because it is based on a backtracking procedure. Searching only u-optimal trees greatly reduces the size of the search space.

26/27 Concluding remarks One single algorithm was capable to handle both the odd and even diameter instances. CP obtained better results than MIP approaches for most of the test instances: –On the average, CP computation times were only 45% of those observed with the best MIP approach for each instance of Set A. –Advantage of CP was even stronger for instances in Set A with odd diameter and for those on dense graphs, for which the previous ratio was equal to 23% and 21%, respectively. –CP outperformed the best MIP approach in Gouveia and Magnanti (2003) and is competitive with those in Gouveia, Magnanti and Requejo (2004) for the instances with small diameters in Set B.

27/27 Concluding remarks CP obtained better results than MIP approaches for most of the test instances: (cont’d) –On the average, CP computation times were only 8% of those observed in Gruber and Raidl (2005) for Set C. –Results reported for CP are the first on instances defined by complete graphs with up to 40 nodes and 780 edges.