Outline DM63 HEURISTICS FOR 1. Course Introduction COMBINATORIAL OPTIMIZATION PROBLEMS 2. Combinatorial Problems Lecture 1 3. Computational Complexity Combinatorial Optimization Problems 4. Solution Methods 5. Construction Heuristics for the Traveling Salesman Problem Marco Chiarandini 6. Software Development DM63 – Heuristics for Combinatorial Optimization Problems 2 Outline Course Presentation ◮ Communication media 1. Course Introduction ◮ Web-site http://www.imada.sdu.dk/ ∼ marco/DM63/ (The Blackboard is redirected to this URL address) ◮ Course mailing list (please register!) 2. Combinatorial Problems ◮ Personal email ◮ Schedule: Monday 14.00, Wednesday 14.00 3. Computational Complexity (No lectures in week 41) Last lecture: Monday, November 5 4. Solution Methods ◮ Course content 5. Construction Heuristics for the Traveling Salesman Problem ◮ Evaluation: final project ◮ Implementation of metaheuristics and experimentation. 6. Software Development ◮ Individual work on a commonly posed problem, ◮ The final report will be evaluated by an external examiner. DM63 – Heuristics for Combinatorial Optimization Problems 3 DM63 – Heuristics for Combinatorial Optimization Problems 4
Course Presentation (2) Course Presentation (3) ◮ Literature Why participating to the implementation Contest? ◮ Text Book ◮ to prepare the work for the project ◮ Articles and Chapters available from the website ◮ ...but take notes in class! ◮ algorithmic framework ◮ experimental environment ◮ Assignments ◮ GCP Contest ◮ to address details that might be gone unsaid at the lecture ◮ Submit a program which accomplishes the required task (Computer Science is about implementation details!) ◮ Details on the Weekly Notes ◮ Class exercises ◮ to contribute to the part on experimental analysis ◮ Weekly notes and slides ◮ for the challenge ◮ Students’ notes on lecture content DM63 – Heuristics for Combinatorial Optimization Problems 5 DM63 – Heuristics for Combinatorial Optimization Problems 6 Outline Combinatorial Problems Combinatorial problems arise in many areas 1. Course Introduction of Computer Science, Artificial Intelligence and Operations Research: 2. Combinatorial Problems ◮ allocating register memory 3. Computational Complexity ◮ planning, scheduling, timetabling ◮ Internet data packet routing 4. Solution Methods ◮ protein structure prediction ◮ combinatorial auctions winner determination 5. Construction Heuristics for the Traveling Salesman Problem ◮ portfolio selection ◮ ... 6. Software Development DM63 – Heuristics for Combinatorial Optimization Problems 7 DM63 – Heuristics for Combinatorial Optimization Problems 8
Combinatorial Problems (2) Combinatorial Problems (3) Simplified models are often used to formalize real life problems Combinatorial problems are characterized by an input, i.e. , a general description of conditions and parameters and ◮ finding shortest/cheapest round trips (TSP) a question (or task, or objective) defining ◮ finding models of propositional formulae (SAT) the properties of a solution. ◮ coloring graphs (GCP) ◮ finding variable assignment which satisfy constraints (CSP) They involve finding a grouping, ordering, or assignment of a discrete, finite set of objects that satisfies given conditions. ◮ partitioning graphs or digraphs ◮ partitioning, packing, covering sets Candidate solutions are combinations of objects or solution components that ◮ finding the order of arcs with minimal backward cost need not satisfy all given conditions. ◮ ... Solutions are candidate solutions that satisfy all given conditions. DM63 – Heuristics for Combinatorial Optimization Problems 9 DM63 – Heuristics for Combinatorial Optimization Problems 10 Decision problems Combinatorial Problems (4) The Traveling Salesman Problem ◮ Given: Directed, edge-weighted graph G (complete and with triangle inequality). solutions = candidate solutions that satisfy given logical conditions ◮ Objective: Find a minimal-weight Hamiltonian cycle in G . Two variants: ◮ Search variant: Find a solution for given problem instance (or determine that no solution exists) Note: ◮ Existence variant: Determine whether solutions ◮ solution component: segment consisting of two points that are visited for given problem instance exists one directly after the other ◮ candidate solution: one of the ( n − 1)! possible sequences of points to visit one directly after the other. ◮ solution: Hamiltonian cycle of minimal length DM63 – Heuristics for Combinatorial Optimization Problems 11 DM63 – Heuristics for Combinatorial Optimization Problems 12
Optimization problems Remarks ◮ Every optimization problem has associated decision problems : Given a problem instance and a fixed solution quality bound b , find a solution with objective function value ≤ b (for minimization problems) or ◮ objective function f measures solution quality determine that no such solution exists. (often defined on all candidate solutions) ◮ find solution with optimal quality, i.e. , minimize/maximize f ◮ Many optimization problems have an objective function as well as logical conditions, constraints that solutions must satisfy. Variants of optimization problems: ◮ A candidate solution is called feasible (or valid) iff it satisfies ◮ Search variant: Find a solution with optimal the given logical conditions. objective function value for given problem instance ◮ Note: Logical conditions can always be captured by ◮ Evaluation variant: Determine optimal objective function an objective function such that feasible candidate solutions value for given problem instance correspond to solutions of an associated decision problem with a specific bound. DM63 – Heuristics for Combinatorial Optimization Problems 13 DM63 – Heuristics for Combinatorial Optimization Problems 14 The Traveling Salesman Problem Combinatorial Problems (5) General problem vs problem instance: Types of TSP instances: General problem Π : ◮ Symmetric: For all edges uv of the given graph G , vu is also in G , and ◮ Given any set of points X , find a Hamiltonian cycle w ( uv ) = w ( vu ) . ◮ Solution: Algorithm that finds shortest Hamiltonian cycle for any X Otherwise: asymmetric. ◮ Euclidean: Vertices = points in an Euclidean space, Problem instantiation π = Π( I ) : weight function = Euclidean distance metric. ◮ Given a specific set of points I , find a shortest Hamiltonian cycle ◮ Geographic: Vertices = points on a sphere, ◮ Solution: Shortest Hamiltonian cycle for I weight function = geographic (great circle) distance. Problems can be formalized on sets of problem instances I DM63 – Heuristics for Combinatorial Optimization Problems 15 DM63 – Heuristics for Combinatorial Optimization Problems 16
TSP: Benchmark Instances TSP: Benchmark Instances, Examples Instance classes ◮ Real-life applications (geographic, VLSI) ◮ Random Euclidean ◮ Random Clustered Euclidean ◮ Random Distance Available at the TSPLIB (more than 100 instances upto 85.900 cities) and at the 8th DIMACS challenge DM63 – Heuristics for Combinatorial Optimization Problems 17 DM63 – Heuristics for Combinatorial Optimization Problems 18 The SAT Problem The SAT Problem General SAT Problem (search variant): General SAT Problem (search variant): ◮ Given: Formula F in propositional logic ◮ Given: Formula F in propositional logic ◮ Objective: Find an assignment of truth values to variables in F that ◮ Objective: Find an assignment of truth values to variables in F that renders F true, or decide that no such assignment exists. renders F true, or decide that no such assignment exists. SAT: A simple example ◮ Given: Formula F := ( x 1 ∨ x 2 ) ∧ ( ¬ x 1 ∨ ¬ x 2 ) ◮ Objective: Find an assignment of truth values to variables x 1 , x 2 that renders F true, or decide that no such assignment exists. MAX-SAT Which is the maximal number of clauses satisfiable in a propositional logic formula F ? DM63 – Heuristics for Combinatorial Optimization Problems 19 DM63 – Heuristics for Combinatorial Optimization Problems 19
Recommend
More recommend