lecture 1 course introduction combinatorial …marco/teaching/ay2011-2012/dm811/...course...
TRANSCRIPT
![Page 1: Lecture 1 Course Introduction Combinatorial …marco/Teaching/AY2011-2012/DM811/...Course Introduction Combinatorial Optimization Exercise Problem Solving Modelling and Search Outline](https://reader033.vdocuments.us/reader033/viewer/2022052800/5f0fc3eb7e708231d445c616/html5/thumbnails/1.jpg)
DM811 – Autumn 2011
Heuristics for Combinatorial Optimization
Lecture 1Course Introduction
Combinatorial Optimization and Modeling
Marco Chiarandini
Department of Mathematics & Computer ScienceUniversity of Southern Denmark
![Page 2: Lecture 1 Course Introduction Combinatorial …marco/Teaching/AY2011-2012/DM811/...Course Introduction Combinatorial Optimization Exercise Problem Solving Modelling and Search Outline](https://reader033.vdocuments.us/reader033/viewer/2022052800/5f0fc3eb7e708231d445c616/html5/thumbnails/2.jpg)
Course IntroductionCombinatorial OptimizationExerciseProblem SolvingModelling and SearchSummaryOutline
1. Course Introduction
2. Combinatorial OptimizationCombinatorial ProblemsSolution Methods
3. Exercise
4. Problem Solving
5. Modelling and SearchIP-modelsCP-modelsModeling for HeuristicsSearch
6. Summary
2
![Page 3: Lecture 1 Course Introduction Combinatorial …marco/Teaching/AY2011-2012/DM811/...Course Introduction Combinatorial Optimization Exercise Problem Solving Modelling and Search Outline](https://reader033.vdocuments.us/reader033/viewer/2022052800/5f0fc3eb7e708231d445c616/html5/thumbnails/3.jpg)
Course IntroductionCombinatorial OptimizationExerciseProblem SolvingModelling and SearchSummaryOutline
1. Course Introduction
2. Combinatorial OptimizationCombinatorial ProblemsSolution Methods
3. Exercise
4. Problem Solving
5. Modelling and SearchIP-modelsCP-modelsModeling for HeuristicsSearch
6. Summary
3
![Page 4: Lecture 1 Course Introduction Combinatorial …marco/Teaching/AY2011-2012/DM811/...Course Introduction Combinatorial Optimization Exercise Problem Solving Modelling and Search Outline](https://reader033.vdocuments.us/reader033/viewer/2022052800/5f0fc3eb7e708231d445c616/html5/thumbnails/4.jpg)
Course IntroductionCombinatorial OptimizationExerciseProblem SolvingModelling and SearchSummarySchedule and Material
Schedule (28 lecture hours):Monday 12:15-14:00Tuesday 10:15-12:00Thursday 12.15-14:00Last lecture: Thursday, October 13, 2011
Communication toolsCourse Public Webpage (Wp) ⇔ BlackBoard (BB)(link from http://www.imada.sdu.dk/~marco/DM811/)Announcements in BlackBoardCourse Documents (Photocopies) in (BB)Discussion Board in (BB)Assignment Hand in in (BB)Personal email
4
![Page 5: Lecture 1 Course Introduction Combinatorial …marco/Teaching/AY2011-2012/DM811/...Course Introduction Combinatorial Optimization Exercise Problem Solving Modelling and Search Outline](https://reader033.vdocuments.us/reader033/viewer/2022052800/5f0fc3eb7e708231d445c616/html5/thumbnails/5.jpg)
Course IntroductionCombinatorial OptimizationExerciseProblem SolvingModelling and SearchSummarySchedule and Material
Schedule (28 lecture hours):Monday 12:15-14:00Tuesday 10:15-12:00Thursday 12.15-14:00Last lecture: Thursday, October 13, 2011
Communication toolsCourse Public Webpage (Wp) ⇔ BlackBoard (BB)(link from http://www.imada.sdu.dk/~marco/DM811/)Announcements in BlackBoardCourse Documents (Photocopies) in (BB)Discussion Board in (BB)Assignment Hand in in (BB)Personal email
4
![Page 6: Lecture 1 Course Introduction Combinatorial …marco/Teaching/AY2011-2012/DM811/...Course Introduction Combinatorial Optimization Exercise Problem Solving Modelling and Search Outline](https://reader033.vdocuments.us/reader033/viewer/2022052800/5f0fc3eb7e708231d445c616/html5/thumbnails/6.jpg)
Course IntroductionCombinatorial OptimizationExerciseProblem SolvingModelling and SearchSummaryContents
Heuristic algorithms: compute, efficiently, good solutions to a problem withno guarantee of optimality.
5
![Page 7: Lecture 1 Course Introduction Combinatorial …marco/Teaching/AY2011-2012/DM811/...Course Introduction Combinatorial Optimization Exercise Problem Solving Modelling and Search Outline](https://reader033.vdocuments.us/reader033/viewer/2022052800/5f0fc3eb7e708231d445c616/html5/thumbnails/7.jpg)
Course IntroductionCombinatorial OptimizationExerciseProblem SolvingModelling and SearchSummaryEvaluation
Obligatory Assignments, pass/fail, evaluation by teacher (≈ 4 hand ins)
Evaluation: final individual project, 7-grade scale, external examiner)Algorithm designImplementation (deliverable and checkable source code)(Analytical) and experimental analysisWritten descriptionPerformance counts
6
![Page 8: Lecture 1 Course Introduction Combinatorial …marco/Teaching/AY2011-2012/DM811/...Course Introduction Combinatorial Optimization Exercise Problem Solving Modelling and Search Outline](https://reader033.vdocuments.us/reader033/viewer/2022052800/5f0fc3eb7e708231d445c616/html5/thumbnails/8.jpg)
Course IntroductionCombinatorial OptimizationExerciseProblem SolvingModelling and SearchSummaryReferences
Main References:
B1 W. Michiels, E. Aarts and J. Korst. Theoretical Aspects of Local Search.Springer Berlin Heidelberg, 2007
B2 S. Russell and P. Norvig. Artificial Intelligence: A Modern Approach.(Part II) Prentice Hall, 2003.
B3 Comet Tutorial (see doc in Comet Application)B4 P.V. Hentenryck and L. Michel. Constraint-Based Local Search. The
MIT Press, Cambridge, USA, 2005.B5 H. Hoos and T. Stuetzle, Stochastic Local Search: Foundations and
Applications, 2005, Morgan KaufmannB6 E.K. Burke, G. Kendal, Search methodologies: introductory tutorials in
optimization and decision support techniques 2005, Springer, New York
Photocopies (from Course Documents left menu of BlackBoard)Articles from the WebpageR notes from the WebpageLecture slidesAssignments and Exercises
...but take notes in class! 7
![Page 9: Lecture 1 Course Introduction Combinatorial …marco/Teaching/AY2011-2012/DM811/...Course Introduction Combinatorial Optimization Exercise Problem Solving Modelling and Search Outline](https://reader033.vdocuments.us/reader033/viewer/2022052800/5f0fc3eb7e708231d445c616/html5/thumbnails/9.jpg)
Course IntroductionCombinatorial OptimizationExerciseProblem SolvingModelling and SearchSummaryActive participation
Practical experience is important to learn to develop heuristicsImplementation details play an important role.
Be prepared for:
Problem solving in class
Assignment Sheets for hands on experience programming
Experimental analysis of performance
Group discussions
Exercise Sheets
Require home preparation!Worthwhile in preparation of the project!
8
![Page 10: Lecture 1 Course Introduction Combinatorial …marco/Teaching/AY2011-2012/DM811/...Course Introduction Combinatorial Optimization Exercise Problem Solving Modelling and Search Outline](https://reader033.vdocuments.us/reader033/viewer/2022052800/5f0fc3eb7e708231d445c616/html5/thumbnails/10.jpg)
Course IntroductionCombinatorial OptimizationExerciseProblem SolvingModelling and SearchSummaryFormer students’ feedback (1/2)
On the course:
the course bulids on a lot of knowledge from previous courses
programming
practical drive
taught on examples
no sharp rules are given and hence more space left to creativity
unexpected heavy workload
10
![Page 11: Lecture 1 Course Introduction Combinatorial …marco/Teaching/AY2011-2012/DM811/...Course Introduction Combinatorial Optimization Exercise Problem Solving Modelling and Search Outline](https://reader033.vdocuments.us/reader033/viewer/2022052800/5f0fc3eb7e708231d445c616/html5/thumbnails/11.jpg)
Course IntroductionCombinatorial OptimizationExerciseProblem SolvingModelling and SearchSummaryWord cloud
11
![Page 12: Lecture 1 Course Introduction Combinatorial …marco/Teaching/AY2011-2012/DM811/...Course Introduction Combinatorial Optimization Exercise Problem Solving Modelling and Search Outline](https://reader033.vdocuments.us/reader033/viewer/2022052800/5f0fc3eb7e708231d445c616/html5/thumbnails/12.jpg)
Course IntroductionCombinatorial OptimizationExerciseProblem SolvingModelling and SearchSummaryFormer students’ feedback (2/2)
On the exam:
hardest part is the design of the heuristicsthe content of the course is vast many possibilities without clue onwhat will work best.
In general:
Hands-on examples are relevant, would be nice closer look at sourcecode.
From my side, mistakes I would like to see avoided:
non competitive local search procedures and mistaken data aggregationin instance set analysis.
12
![Page 13: Lecture 1 Course Introduction Combinatorial …marco/Teaching/AY2011-2012/DM811/...Course Introduction Combinatorial Optimization Exercise Problem Solving Modelling and Search Outline](https://reader033.vdocuments.us/reader033/viewer/2022052800/5f0fc3eb7e708231d445c616/html5/thumbnails/13.jpg)
Course IntroductionCombinatorial OptimizationExerciseProblem SolvingModelling and SearchSummaryOutline
1. Course Introduction
2. Combinatorial OptimizationCombinatorial ProblemsSolution Methods
3. Exercise
4. Problem Solving
5. Modelling and SearchIP-modelsCP-modelsModeling for HeuristicsSearch
6. Summary
13
![Page 14: Lecture 1 Course Introduction Combinatorial …marco/Teaching/AY2011-2012/DM811/...Course Introduction Combinatorial Optimization Exercise Problem Solving Modelling and Search Outline](https://reader033.vdocuments.us/reader033/viewer/2022052800/5f0fc3eb7e708231d445c616/html5/thumbnails/14.jpg)
Course IntroductionCombinatorial OptimizationExerciseProblem SolvingModelling and SearchSummaryOutline
1. Course Introduction
2. Combinatorial OptimizationCombinatorial ProblemsSolution Methods
3. Exercise
4. Problem Solving
5. Modelling and SearchIP-modelsCP-modelsModeling for HeuristicsSearch
6. Summary
14
![Page 15: Lecture 1 Course Introduction Combinatorial …marco/Teaching/AY2011-2012/DM811/...Course Introduction Combinatorial Optimization Exercise Problem Solving Modelling and Search Outline](https://reader033.vdocuments.us/reader033/viewer/2022052800/5f0fc3eb7e708231d445c616/html5/thumbnails/15.jpg)
Course IntroductionCombinatorial OptimizationExerciseProblem SolvingModelling and SearchSummaryCombinatorial Problems (1/5)
Combinatorial problems
They arise in many areasof Computer Science, Artificial Intelligence and Operations Research:
allocating register memoryplanning, scheduling, timetablingInternet data packet routingprotein structure predictioncombinatorial auctions winner determinationportfolio selection...
15
![Page 16: Lecture 1 Course Introduction Combinatorial …marco/Teaching/AY2011-2012/DM811/...Course Introduction Combinatorial Optimization Exercise Problem Solving Modelling and Search Outline](https://reader033.vdocuments.us/reader033/viewer/2022052800/5f0fc3eb7e708231d445c616/html5/thumbnails/16.jpg)
Course IntroductionCombinatorial OptimizationExerciseProblem SolvingModelling and SearchSummaryCombinatorial Problems (2/5)
Simplified models are often used to formalize real life problems
finding models of propositional formulae (SAT)finding variable assignment which satisfy constraints (CSP)coloring graphs (GCP)finding shortest/cheapest round trips (TSP)partitioning graphs or digraphspartitioning, packing, covering setsfinding the order of arcs with minimal backward cost...
16
![Page 17: Lecture 1 Course Introduction Combinatorial …marco/Teaching/AY2011-2012/DM811/...Course Introduction Combinatorial Optimization Exercise Problem Solving Modelling and Search Outline](https://reader033.vdocuments.us/reader033/viewer/2022052800/5f0fc3eb7e708231d445c616/html5/thumbnails/17.jpg)
Course IntroductionCombinatorial OptimizationExerciseProblem SolvingModelling and SearchSummaryExample Problems
They are chosen because conceptually concise, intended to illustrate thedevelopment, analysis and presentation of algorithms
Although real-world problems tend to have much more complexformulations, these problems capture their essence
17
![Page 18: Lecture 1 Course Introduction Combinatorial …marco/Teaching/AY2011-2012/DM811/...Course Introduction Combinatorial Optimization Exercise Problem Solving Modelling and Search Outline](https://reader033.vdocuments.us/reader033/viewer/2022052800/5f0fc3eb7e708231d445c616/html5/thumbnails/18.jpg)
Course IntroductionCombinatorial OptimizationExerciseProblem SolvingModelling and SearchSummaryCombinatorial Problems (3/5)
Combinatorial problems are characterized by an input,i.e., a general description of conditions (or constraints) and parameters anda question (or task, or objective) definingthe properties of a solution.
They involve finding a grouping, ordering, or assignmentof a discrete, finite set of objects that satisfies given conditions.
Warning, in this course,
(Candidate) solutions are combinations of objects or solution componentsthat need not satisfy all given conditions.
Solutions are candidate solutions that satisfy all given conditions.
18
![Page 19: Lecture 1 Course Introduction Combinatorial …marco/Teaching/AY2011-2012/DM811/...Course Introduction Combinatorial Optimization Exercise Problem Solving Modelling and Search Outline](https://reader033.vdocuments.us/reader033/viewer/2022052800/5f0fc3eb7e708231d445c616/html5/thumbnails/19.jpg)
Course IntroductionCombinatorial OptimizationExerciseProblem SolvingModelling and SearchSummaryCombinatorial Problems (3/5)
Combinatorial problems are characterized by an input,i.e., a general description of conditions (or constraints) and parameters anda question (or task, or objective) definingthe properties of a solution.
They involve finding a grouping, ordering, or assignmentof a discrete, finite set of objects that satisfies given conditions.
Warning, in this course,
(Candidate) solutions are combinations of objects or solution componentsthat need not satisfy all given conditions.
Solutions are candidate solutions that satisfy all given conditions.
18
![Page 20: Lecture 1 Course Introduction Combinatorial …marco/Teaching/AY2011-2012/DM811/...Course Introduction Combinatorial Optimization Exercise Problem Solving Modelling and Search Outline](https://reader033.vdocuments.us/reader033/viewer/2022052800/5f0fc3eb7e708231d445c616/html5/thumbnails/20.jpg)
Course IntroductionCombinatorial OptimizationExerciseProblem SolvingModelling and SearchSummaryCombinatorial Problems (3/5)
Combinatorial problems are characterized by an input,i.e., a general description of conditions (or constraints) and parameters anda question (or task, or objective) definingthe properties of a solution.
They involve finding a grouping, ordering, or assignmentof a discrete, finite set of objects that satisfies given conditions.
Warning, in this course,
(Candidate) solutions are combinations of objects or solution componentsthat need not satisfy all given conditions.
Solutions are candidate solutions that satisfy all given conditions.
18
![Page 21: Lecture 1 Course Introduction Combinatorial …marco/Teaching/AY2011-2012/DM811/...Course Introduction Combinatorial Optimization Exercise Problem Solving Modelling and Search Outline](https://reader033.vdocuments.us/reader033/viewer/2022052800/5f0fc3eb7e708231d445c616/html5/thumbnails/21.jpg)
Course IntroductionCombinatorial OptimizationExerciseProblem SolvingModelling and SearchSummaryCombinatorial Problems (3/5)
Combinatorial problems are characterized by an input,i.e., a general description of conditions (or constraints) and parameters anda question (or task, or objective) definingthe properties of a solution.
They involve finding a grouping, ordering, or assignmentof a discrete, finite set of objects that satisfies given conditions.
Warning, in this course,
(Candidate) solutions are combinations of objects or solution componentsthat need not satisfy all given conditions.
Solutions are candidate solutions that satisfy all given conditions.
18
![Page 22: Lecture 1 Course Introduction Combinatorial …marco/Teaching/AY2011-2012/DM811/...Course Introduction Combinatorial Optimization Exercise Problem Solving Modelling and Search Outline](https://reader033.vdocuments.us/reader033/viewer/2022052800/5f0fc3eb7e708231d445c616/html5/thumbnails/22.jpg)
Course IntroductionCombinatorial OptimizationExerciseProblem SolvingModelling and SearchSummaryCombinatorial Problems (4/5)
Classical Example
Traveling Salesman Problem
Given: edge-weighted, undirected complete graph GTask: find a minimum-weight Hamiltonian cycle in G .
Note:
candidate solution: one of the (n − 1)! possible sequences of points tovisit one directly after the other.solution: Hamiltonian cycle of minimal length
19
![Page 23: Lecture 1 Course Introduction Combinatorial …marco/Teaching/AY2011-2012/DM811/...Course Introduction Combinatorial Optimization Exercise Problem Solving Modelling and Search Outline](https://reader033.vdocuments.us/reader033/viewer/2022052800/5f0fc3eb7e708231d445c616/html5/thumbnails/23.jpg)
Course IntroductionCombinatorial OptimizationExerciseProblem SolvingModelling and SearchSummaryCombinatorial Problems (4/5)
Classical Example
Traveling Salesman Problem
Given: edge-weighted, undirected complete graph GTask: find a minimum-weight Hamiltonian cycle in G .
Note:
candidate solution: one of the (n − 1)! possible sequences of points tovisit one directly after the other.solution: Hamiltonian cycle of minimal length
19
![Page 24: Lecture 1 Course Introduction Combinatorial …marco/Teaching/AY2011-2012/DM811/...Course Introduction Combinatorial Optimization Exercise Problem Solving Modelling and Search Outline](https://reader033.vdocuments.us/reader033/viewer/2022052800/5f0fc3eb7e708231d445c616/html5/thumbnails/24.jpg)
Course IntroductionCombinatorial OptimizationExerciseProblem SolvingModelling and SearchSummaryDecision problems
Hamiltonian cycle problem
Given: undirected graph GQuestion: does G contain a Hamiltonian cycle?
solutions = candidate solutions that satisfy given logical conditions
Two variants:Existence variant: Determine whether solutionsfor given problem instance existsSearch variant: Find a solution for given problem instance(or determine that no solution exists)
20
![Page 25: Lecture 1 Course Introduction Combinatorial …marco/Teaching/AY2011-2012/DM811/...Course Introduction Combinatorial Optimization Exercise Problem Solving Modelling and Search Outline](https://reader033.vdocuments.us/reader033/viewer/2022052800/5f0fc3eb7e708231d445c616/html5/thumbnails/25.jpg)
Course IntroductionCombinatorial OptimizationExerciseProblem SolvingModelling and SearchSummaryDecision problems
Hamiltonian cycle problem
Given: undirected graph GQuestion: does G contain a Hamiltonian cycle?
solutions = candidate solutions that satisfy given logical conditions
Two variants:Existence variant: Determine whether solutionsfor given problem instance existsSearch variant: Find a solution for given problem instance(or determine that no solution exists)
20
![Page 26: Lecture 1 Course Introduction Combinatorial …marco/Teaching/AY2011-2012/DM811/...Course Introduction Combinatorial Optimization Exercise Problem Solving Modelling and Search Outline](https://reader033.vdocuments.us/reader033/viewer/2022052800/5f0fc3eb7e708231d445c616/html5/thumbnails/26.jpg)
Course IntroductionCombinatorial OptimizationExerciseProblem SolvingModelling and SearchSummaryOptimization problems
Traveling Salesman Problem
Given: edge-weighted, undirected complete graph GTask: find a minimum-weight Hamiltonian cycle in G .
objective function measures solution quality(often defined on all candidate solutions)find solution with optimal quality, i.e., minimize/maximize obj. func.
Variants of optimization problems:
Evaluation variant: Determine optimal objective functionvalue for given problem instanceSearch variant: Find a solution with optimalobjective function value for given problem instance
21
![Page 27: Lecture 1 Course Introduction Combinatorial …marco/Teaching/AY2011-2012/DM811/...Course Introduction Combinatorial Optimization Exercise Problem Solving Modelling and Search Outline](https://reader033.vdocuments.us/reader033/viewer/2022052800/5f0fc3eb7e708231d445c616/html5/thumbnails/27.jpg)
Course IntroductionCombinatorial OptimizationExerciseProblem SolvingModelling and SearchSummaryOptimization problems
Traveling Salesman Problem
Given: edge-weighted, undirected complete graph GTask: find a minimum-weight Hamiltonian cycle in G .
objective function measures solution quality(often defined on all candidate solutions)find solution with optimal quality, i.e., minimize/maximize obj. func.
Variants of optimization problems:
Evaluation variant: Determine optimal objective functionvalue for given problem instanceSearch variant: Find a solution with optimalobjective function value for given problem instance
21
![Page 28: Lecture 1 Course Introduction Combinatorial …marco/Teaching/AY2011-2012/DM811/...Course Introduction Combinatorial Optimization Exercise Problem Solving Modelling and Search Outline](https://reader033.vdocuments.us/reader033/viewer/2022052800/5f0fc3eb7e708231d445c616/html5/thumbnails/28.jpg)
Course IntroductionCombinatorial OptimizationExerciseProblem SolvingModelling and SearchSummaryOptimization problems
Traveling Salesman Problem
Given: edge-weighted, undirected complete graph GTask: find a minimum-weight Hamiltonian cycle in G .
objective function measures solution quality(often defined on all candidate solutions)find solution with optimal quality, i.e., minimize/maximize obj. func.
Variants of optimization problems:
Evaluation variant: Determine optimal objective functionvalue for given problem instanceSearch variant: Find a solution with optimalobjective function value for given problem instance
21
![Page 29: Lecture 1 Course Introduction Combinatorial …marco/Teaching/AY2011-2012/DM811/...Course Introduction Combinatorial Optimization Exercise Problem Solving Modelling and Search Outline](https://reader033.vdocuments.us/reader033/viewer/2022052800/5f0fc3eb7e708231d445c616/html5/thumbnails/29.jpg)
Course IntroductionCombinatorial OptimizationExerciseProblem SolvingModelling and SearchSummary
RemarksEvery optimization problem has an associated decision problem:Given a problem instance and a fixed solution quality bound b,find a solution with objective function value ≤ b (for minimizationproblems) or determine that no such solution exists.
Many optimization problems have an objective functionas well as constraints (= logical conditions) that solutions must satisfy.
A candidate solution is called feasible (or valid) iff it satisfiesthe given constraints.
Approximate solutions are feasible candidate solutions that are notoptimal.
Note: Logical conditions can always be captured byan objective function such that feasible candidate solutionscorrespond to solutions of an associated decision problemwith a specific bound.
22
![Page 30: Lecture 1 Course Introduction Combinatorial …marco/Teaching/AY2011-2012/DM811/...Course Introduction Combinatorial Optimization Exercise Problem Solving Modelling and Search Outline](https://reader033.vdocuments.us/reader033/viewer/2022052800/5f0fc3eb7e708231d445c616/html5/thumbnails/30.jpg)
Course IntroductionCombinatorial OptimizationExerciseProblem SolvingModelling and SearchSummary
RemarksEvery optimization problem has an associated decision problem:Given a problem instance and a fixed solution quality bound b,find a solution with objective function value ≤ b (for minimizationproblems) or determine that no such solution exists.
Many optimization problems have an objective functionas well as constraints (= logical conditions) that solutions must satisfy.
A candidate solution is called feasible (or valid) iff it satisfiesthe given constraints.
Approximate solutions are feasible candidate solutions that are notoptimal.
Note: Logical conditions can always be captured byan objective function such that feasible candidate solutionscorrespond to solutions of an associated decision problemwith a specific bound.
22
![Page 31: Lecture 1 Course Introduction Combinatorial …marco/Teaching/AY2011-2012/DM811/...Course Introduction Combinatorial Optimization Exercise Problem Solving Modelling and Search Outline](https://reader033.vdocuments.us/reader033/viewer/2022052800/5f0fc3eb7e708231d445c616/html5/thumbnails/31.jpg)
Course IntroductionCombinatorial OptimizationExerciseProblem SolvingModelling and SearchSummary
RemarksEvery optimization problem has an associated decision problem:Given a problem instance and a fixed solution quality bound b,find a solution with objective function value ≤ b (for minimizationproblems) or determine that no such solution exists.
Many optimization problems have an objective functionas well as constraints (= logical conditions) that solutions must satisfy.
A candidate solution is called feasible (or valid) iff it satisfiesthe given constraints.
Approximate solutions are feasible candidate solutions that are notoptimal.
Note: Logical conditions can always be captured byan objective function such that feasible candidate solutionscorrespond to solutions of an associated decision problemwith a specific bound.
22
![Page 32: Lecture 1 Course Introduction Combinatorial …marco/Teaching/AY2011-2012/DM811/...Course Introduction Combinatorial Optimization Exercise Problem Solving Modelling and Search Outline](https://reader033.vdocuments.us/reader033/viewer/2022052800/5f0fc3eb7e708231d445c616/html5/thumbnails/32.jpg)
Course IntroductionCombinatorial OptimizationExerciseProblem SolvingModelling and SearchSummary
RemarksEvery optimization problem has an associated decision problem:Given a problem instance and a fixed solution quality bound b,find a solution with objective function value ≤ b (for minimizationproblems) or determine that no such solution exists.
Many optimization problems have an objective functionas well as constraints (= logical conditions) that solutions must satisfy.
A candidate solution is called feasible (or valid) iff it satisfiesthe given constraints.
Approximate solutions are feasible candidate solutions that are notoptimal.
Note: Logical conditions can always be captured byan objective function such that feasible candidate solutionscorrespond to solutions of an associated decision problemwith a specific bound.
22
![Page 33: Lecture 1 Course Introduction Combinatorial …marco/Teaching/AY2011-2012/DM811/...Course Introduction Combinatorial Optimization Exercise Problem Solving Modelling and Search Outline](https://reader033.vdocuments.us/reader033/viewer/2022052800/5f0fc3eb7e708231d445c616/html5/thumbnails/33.jpg)
Course IntroductionCombinatorial OptimizationExerciseProblem SolvingModelling and SearchSummary
RemarksEvery optimization problem has an associated decision problem:Given a problem instance and a fixed solution quality bound b,find a solution with objective function value ≤ b (for minimizationproblems) or determine that no such solution exists.
Many optimization problems have an objective functionas well as constraints (= logical conditions) that solutions must satisfy.
A candidate solution is called feasible (or valid) iff it satisfiesthe given constraints.
Approximate solutions are feasible candidate solutions that are notoptimal.
Note: Logical conditions can always be captured byan objective function such that feasible candidate solutionscorrespond to solutions of an associated decision problemwith a specific bound.
22
![Page 34: Lecture 1 Course Introduction Combinatorial …marco/Teaching/AY2011-2012/DM811/...Course Introduction Combinatorial Optimization Exercise Problem Solving Modelling and Search Outline](https://reader033.vdocuments.us/reader033/viewer/2022052800/5f0fc3eb7e708231d445c616/html5/thumbnails/34.jpg)
Course IntroductionCombinatorial OptimizationExerciseProblem SolvingModelling and SearchSummaryCombinatorial Problems (5/5)
General problem vs problem instance:
General problem Π:Given any set of points X in a square, find a shortest Hamiltonian cycleSolution: Algorithm that finds shortest Hamiltonian cycle for any X
Problem instantiation π = Π(I ):Given a specific set of points I in the square, find a shortest HamiltoniancycleSolution: Shortest Hamiltonian cycle for I
Problems can be formalized on sets of problem instances I (instance classes)
23
![Page 35: Lecture 1 Course Introduction Combinatorial …marco/Teaching/AY2011-2012/DM811/...Course Introduction Combinatorial Optimization Exercise Problem Solving Modelling and Search Outline](https://reader033.vdocuments.us/reader033/viewer/2022052800/5f0fc3eb7e708231d445c616/html5/thumbnails/35.jpg)
Course IntroductionCombinatorial OptimizationExerciseProblem SolvingModelling and SearchSummaryTraveling Salesman Problem
Types of TSP instances:
Symmetric: For all edges uv of the given graph G , vu is also in G , andw(uv) = w(vu).Otherwise: asymmetric.Euclidean: Vertices = points in an Euclidean space,weight function = Euclidean distance metric.Geographic: Vertices = points on a sphere,weight function = geographic (great circle) distance.
24
![Page 36: Lecture 1 Course Introduction Combinatorial …marco/Teaching/AY2011-2012/DM811/...Course Introduction Combinatorial Optimization Exercise Problem Solving Modelling and Search Outline](https://reader033.vdocuments.us/reader033/viewer/2022052800/5f0fc3eb7e708231d445c616/html5/thumbnails/36.jpg)
Course IntroductionCombinatorial OptimizationExerciseProblem SolvingModelling and SearchSummaryTSP: Benchmark Instances
Instance classesReal-life applications (geographic, VLSI)Random EuclideanRandom Clustered EuclideanRandom Distance
Available at the TSPLIB (more than 100 instances upto 85.900 cities)and at the 8th DIMACS challenge
25
![Page 37: Lecture 1 Course Introduction Combinatorial …marco/Teaching/AY2011-2012/DM811/...Course Introduction Combinatorial Optimization Exercise Problem Solving Modelling and Search Outline](https://reader033.vdocuments.us/reader033/viewer/2022052800/5f0fc3eb7e708231d445c616/html5/thumbnails/37.jpg)
Course IntroductionCombinatorial OptimizationExerciseProblem SolvingModelling and SearchSummaryTSP: Instance Examples
26
![Page 38: Lecture 1 Course Introduction Combinatorial …marco/Teaching/AY2011-2012/DM811/...Course Introduction Combinatorial Optimization Exercise Problem Solving Modelling and Search Outline](https://reader033.vdocuments.us/reader033/viewer/2022052800/5f0fc3eb7e708231d445c616/html5/thumbnails/38.jpg)
Course IntroductionCombinatorial OptimizationExerciseProblem SolvingModelling and SearchSummaryOutline
1. Course Introduction
2. Combinatorial OptimizationCombinatorial ProblemsSolution Methods
3. Exercise
4. Problem Solving
5. Modelling and SearchIP-modelsCP-modelsModeling for HeuristicsSearch
6. Summary
27
![Page 39: Lecture 1 Course Introduction Combinatorial …marco/Teaching/AY2011-2012/DM811/...Course Introduction Combinatorial Optimization Exercise Problem Solving Modelling and Search Outline](https://reader033.vdocuments.us/reader033/viewer/2022052800/5f0fc3eb7e708231d445c616/html5/thumbnails/39.jpg)
Course IntroductionCombinatorial OptimizationExerciseProblem SolvingModelling and SearchSummaryMethods and Algorithms
A Method is a general framework for the development of a solutionalgorithm. It is not problem-specific.
An Algorithm (or algorithmic model) is a problem-specific template thatleaves only some practical details unspecified.The level of detail may vary:
minimally instantiated (few details, algorithm template)lowly instantiated (which data structure to use)highly instantiated (programming tricks that give speedups)maximally instantiated (details specific of a programming language andcomputer architecture)
A Program is the formulation of an algorithm in a programming language.
An algorithm can thus be regarded as a class of computer programs(its implementations)
28
![Page 40: Lecture 1 Course Introduction Combinatorial …marco/Teaching/AY2011-2012/DM811/...Course Introduction Combinatorial Optimization Exercise Problem Solving Modelling and Search Outline](https://reader033.vdocuments.us/reader033/viewer/2022052800/5f0fc3eb7e708231d445c616/html5/thumbnails/40.jpg)
Course IntroductionCombinatorial OptimizationExerciseProblem SolvingModelling and SearchSummaryMethods and Algorithms
A Method is a general framework for the development of a solutionalgorithm. It is not problem-specific.
An Algorithm (or algorithmic model) is a problem-specific template thatleaves only some practical details unspecified.
The level of detail may vary:minimally instantiated (few details, algorithm template)lowly instantiated (which data structure to use)highly instantiated (programming tricks that give speedups)maximally instantiated (details specific of a programming language andcomputer architecture)
A Program is the formulation of an algorithm in a programming language.
An algorithm can thus be regarded as a class of computer programs(its implementations)
28
![Page 41: Lecture 1 Course Introduction Combinatorial …marco/Teaching/AY2011-2012/DM811/...Course Introduction Combinatorial Optimization Exercise Problem Solving Modelling and Search Outline](https://reader033.vdocuments.us/reader033/viewer/2022052800/5f0fc3eb7e708231d445c616/html5/thumbnails/41.jpg)
Course IntroductionCombinatorial OptimizationExerciseProblem SolvingModelling and SearchSummaryMethods and Algorithms
A Method is a general framework for the development of a solutionalgorithm. It is not problem-specific.
An Algorithm (or algorithmic model) is a problem-specific template thatleaves only some practical details unspecified.The level of detail may vary:
minimally instantiated (few details, algorithm template)lowly instantiated (which data structure to use)highly instantiated (programming tricks that give speedups)maximally instantiated (details specific of a programming language andcomputer architecture)
A Program is the formulation of an algorithm in a programming language.
An algorithm can thus be regarded as a class of computer programs(its implementations)
28
![Page 42: Lecture 1 Course Introduction Combinatorial …marco/Teaching/AY2011-2012/DM811/...Course Introduction Combinatorial Optimization Exercise Problem Solving Modelling and Search Outline](https://reader033.vdocuments.us/reader033/viewer/2022052800/5f0fc3eb7e708231d445c616/html5/thumbnails/42.jpg)
Course IntroductionCombinatorial OptimizationExerciseProblem SolvingModelling and SearchSummaryMethods and Algorithms
A Method is a general framework for the development of a solutionalgorithm. It is not problem-specific.
An Algorithm (or algorithmic model) is a problem-specific template thatleaves only some practical details unspecified.The level of detail may vary:
minimally instantiated (few details, algorithm template)lowly instantiated (which data structure to use)highly instantiated (programming tricks that give speedups)maximally instantiated (details specific of a programming language andcomputer architecture)
A Program is the formulation of an algorithm in a programming language.
An algorithm can thus be regarded as a class of computer programs(its implementations)
28
![Page 43: Lecture 1 Course Introduction Combinatorial …marco/Teaching/AY2011-2012/DM811/...Course Introduction Combinatorial Optimization Exercise Problem Solving Modelling and Search Outline](https://reader033.vdocuments.us/reader033/viewer/2022052800/5f0fc3eb7e708231d445c616/html5/thumbnails/43.jpg)
Course IntroductionCombinatorial OptimizationExerciseProblem SolvingModelling and SearchSummarySolution Methods
Exact methods (complete)guaranteed to eventually find (optimal) solution,or to determine that no solution exists (eg, systematic enumeration)
Search algorithms (backtracking, branch and bound)Dynamic programmingConstraint programmingInteger programmingDedicated Algorithms
Approximation methodsworst-case solution guaranteehttp://www.nada.kth.se/~viggo/problemlist/compendium.html
Heuristic (Approximate) methods (incomplete)not guaranteed to find (optimal) solution,and unable to prove that no solution exists
29
![Page 44: Lecture 1 Course Introduction Combinatorial …marco/Teaching/AY2011-2012/DM811/...Course Introduction Combinatorial Optimization Exercise Problem Solving Modelling and Search Outline](https://reader033.vdocuments.us/reader033/viewer/2022052800/5f0fc3eb7e708231d445c616/html5/thumbnails/44.jpg)
Course IntroductionCombinatorial OptimizationExerciseProblem SolvingModelling and SearchSummarySolution Methods
Exact methods (complete)guaranteed to eventually find (optimal) solution,or to determine that no solution exists (eg, systematic enumeration)
Search algorithms (backtracking, branch and bound)Dynamic programmingConstraint programmingInteger programmingDedicated Algorithms
Approximation methodsworst-case solution guaranteehttp://www.nada.kth.se/~viggo/problemlist/compendium.html
Heuristic (Approximate) methods (incomplete)not guaranteed to find (optimal) solution,and unable to prove that no solution exists
29
![Page 45: Lecture 1 Course Introduction Combinatorial …marco/Teaching/AY2011-2012/DM811/...Course Introduction Combinatorial Optimization Exercise Problem Solving Modelling and Search Outline](https://reader033.vdocuments.us/reader033/viewer/2022052800/5f0fc3eb7e708231d445c616/html5/thumbnails/45.jpg)
Course IntroductionCombinatorial OptimizationExerciseProblem SolvingModelling and SearchSummarySolution Methods
Exact methods (complete)guaranteed to eventually find (optimal) solution,or to determine that no solution exists (eg, systematic enumeration)
Search algorithms (backtracking, branch and bound)Dynamic programmingConstraint programmingInteger programmingDedicated Algorithms
Approximation methodsworst-case solution guaranteehttp://www.nada.kth.se/~viggo/problemlist/compendium.html
Heuristic (Approximate) methods (incomplete)not guaranteed to find (optimal) solution,and unable to prove that no solution exists
29
![Page 46: Lecture 1 Course Introduction Combinatorial …marco/Teaching/AY2011-2012/DM811/...Course Introduction Combinatorial Optimization Exercise Problem Solving Modelling and Search Outline](https://reader033.vdocuments.us/reader033/viewer/2022052800/5f0fc3eb7e708231d445c616/html5/thumbnails/46.jpg)
Course IntroductionCombinatorial OptimizationExerciseProblem SolvingModelling and SearchSummary
Problem specific methods:
Dynamic programming (knapsack)
Dedicated algorithms (shortest path)
General methods:
Integer Programming
Constraint Programming
Generic methods:U Allow to save development timeD Do not achieve same performance as specific algorithms
30
![Page 47: Lecture 1 Course Introduction Combinatorial …marco/Teaching/AY2011-2012/DM811/...Course Introduction Combinatorial Optimization Exercise Problem Solving Modelling and Search Outline](https://reader033.vdocuments.us/reader033/viewer/2022052800/5f0fc3eb7e708231d445c616/html5/thumbnails/47.jpg)
Course IntroductionCombinatorial OptimizationExerciseProblem SolvingModelling and SearchSummary
Problem specific methods:
Dynamic programming (knapsack)
Dedicated algorithms (shortest path)
General methods:
Integer Programming
Constraint Programming
Generic methods:U Allow to save development timeD Do not achieve same performance as specific algorithms
30
![Page 48: Lecture 1 Course Introduction Combinatorial …marco/Teaching/AY2011-2012/DM811/...Course Introduction Combinatorial Optimization Exercise Problem Solving Modelling and Search Outline](https://reader033.vdocuments.us/reader033/viewer/2022052800/5f0fc3eb7e708231d445c616/html5/thumbnails/48.jpg)
Course IntroductionCombinatorial OptimizationExerciseProblem SolvingModelling and SearchSummaryOutline
1. Course Introduction
2. Combinatorial OptimizationCombinatorial ProblemsSolution Methods
3. Exercise
4. Problem Solving
5. Modelling and SearchIP-modelsCP-modelsModeling for HeuristicsSearch
6. Summary
31
![Page 49: Lecture 1 Course Introduction Combinatorial …marco/Teaching/AY2011-2012/DM811/...Course Introduction Combinatorial Optimization Exercise Problem Solving Modelling and Search Outline](https://reader033.vdocuments.us/reader033/viewer/2022052800/5f0fc3eb7e708231d445c616/html5/thumbnails/49.jpg)
Course IntroductionCombinatorial OptimizationExerciseProblem SolvingModelling and SearchSummaryThe Vertex Coloring Problem
Given: A graph G and a set of colors Γ.A proper coloring is an assignment of one color to each vertex of the graphsuch that adjacent vertices receive different colors.
Decision version (k-coloring)Task: Find a proper coloring of G that uses at mostk colors.Optimization version (chromatic number)Task: Find a proper coloring of G that uses theminimal number of colors.
Design an algorithm for solving general instances of the graph coloringproblem.
33
![Page 50: Lecture 1 Course Introduction Combinatorial …marco/Teaching/AY2011-2012/DM811/...Course Introduction Combinatorial Optimization Exercise Problem Solving Modelling and Search Outline](https://reader033.vdocuments.us/reader033/viewer/2022052800/5f0fc3eb7e708231d445c616/html5/thumbnails/50.jpg)
Course IntroductionCombinatorial OptimizationExerciseProblem SolvingModelling and SearchSummaryThe Vertex Coloring Problem
Given: A graph G and a set of colors Γ.A proper coloring is an assignment of one color to each vertex of the graphsuch that adjacent vertices receive different colors.
Decision version (k-coloring)Task: Find a proper coloring of G that uses at mostk colors.Optimization version (chromatic number)Task: Find a proper coloring of G that uses theminimal number of colors.
Design an algorithm for solving general instances of the graph coloringproblem.
33
![Page 51: Lecture 1 Course Introduction Combinatorial …marco/Teaching/AY2011-2012/DM811/...Course Introduction Combinatorial Optimization Exercise Problem Solving Modelling and Search Outline](https://reader033.vdocuments.us/reader033/viewer/2022052800/5f0fc3eb7e708231d445c616/html5/thumbnails/51.jpg)
Course IntroductionCombinatorial OptimizationExerciseProblem SolvingModelling and SearchSummaryThe Vertex Coloring Problem
Given: A graph G and a set of colors Γ.A proper coloring is an assignment of one color to each vertex of the graphsuch that adjacent vertices receive different colors.
Decision version (k-coloring)Task: Find a proper coloring of G that uses at mostk colors.Optimization version (chromatic number)Task: Find a proper coloring of G that uses theminimal number of colors.
Design an algorithm for solving general instances of the graph coloringproblem.
33
![Page 52: Lecture 1 Course Introduction Combinatorial …marco/Teaching/AY2011-2012/DM811/...Course Introduction Combinatorial Optimization Exercise Problem Solving Modelling and Search Outline](https://reader033.vdocuments.us/reader033/viewer/2022052800/5f0fc3eb7e708231d445c616/html5/thumbnails/52.jpg)
Course IntroductionCombinatorial OptimizationExerciseProblem SolvingModelling and SearchSummaryThe Vertex Coloring Problem
Given: A graph G and a set of colors Γ.A proper coloring is an assignment of one color to each vertex of the graphsuch that adjacent vertices receive different colors.
Decision version (k-coloring)Task: Find a proper coloring of G that uses at mostk colors.Optimization version (chromatic number)Task: Find a proper coloring of G that uses theminimal number of colors.
Design an algorithm for solving general instances of the graph coloringproblem.
33
![Page 53: Lecture 1 Course Introduction Combinatorial …marco/Teaching/AY2011-2012/DM811/...Course Introduction Combinatorial Optimization Exercise Problem Solving Modelling and Search Outline](https://reader033.vdocuments.us/reader033/viewer/2022052800/5f0fc3eb7e708231d445c616/html5/thumbnails/53.jpg)
Course IntroductionCombinatorial OptimizationExerciseProblem SolvingModelling and SearchSummaryHome Assignment
N-Queens problem
Input: A chessboard of size N × N
Task: Find a placement of n queenson the board such that no two queensare on the same row, column, ordiagonal.
34
![Page 54: Lecture 1 Course Introduction Combinatorial …marco/Teaching/AY2011-2012/DM811/...Course Introduction Combinatorial Optimization Exercise Problem Solving Modelling and Search Outline](https://reader033.vdocuments.us/reader033/viewer/2022052800/5f0fc3eb7e708231d445c616/html5/thumbnails/54.jpg)
Course IntroductionCombinatorial OptimizationExerciseProblem SolvingModelling and SearchSummaryHome Assignment
N2 QueensInput: A chessboard of size N × N
Question: Given such a chessboard, isit possible to place N sets of N queenson the board so that no two queens ofthe same set are in the same row,column, or diagonal?
The answer is yes ⇐⇒ an opportune conflict graph admits a coloring with Ncolors
35
![Page 55: Lecture 1 Course Introduction Combinatorial …marco/Teaching/AY2011-2012/DM811/...Course Introduction Combinatorial Optimization Exercise Problem Solving Modelling and Search Outline](https://reader033.vdocuments.us/reader033/viewer/2022052800/5f0fc3eb7e708231d445c616/html5/thumbnails/55.jpg)
Course IntroductionCombinatorial OptimizationExerciseProblem SolvingModelling and SearchSummaryHome Assignment
N2 QueensInput: A chessboard of size N × N
Question: Given such a chessboard, isit possible to place N sets of N queenson the board so that no two queens ofthe same set are in the same row,column, or diagonal?
The answer is yes ⇐⇒ an opportune conflict graph admits a coloring with Ncolors
35
![Page 56: Lecture 1 Course Introduction Combinatorial …marco/Teaching/AY2011-2012/DM811/...Course Introduction Combinatorial Optimization Exercise Problem Solving Modelling and Search Outline](https://reader033.vdocuments.us/reader033/viewer/2022052800/5f0fc3eb7e708231d445c616/html5/thumbnails/56.jpg)
Course IntroductionCombinatorial OptimizationExerciseProblem SolvingModelling and SearchSummaryHeuristics
Get inspired by approach to problem solving in human mind[Newell and Simon, 1976]
effective rules
trial and error
Applications:Optimization, Timetabling, Routing, SchedulingBut also in Psychology, Economics, Management
Side aspects: basis on empirical evidence rather than mathematical logic.Getting things done in the given time. Good having creativity in problemsolving and criticism.
37
![Page 57: Lecture 1 Course Introduction Combinatorial …marco/Teaching/AY2011-2012/DM811/...Course Introduction Combinatorial Optimization Exercise Problem Solving Modelling and Search Outline](https://reader033.vdocuments.us/reader033/viewer/2022052800/5f0fc3eb7e708231d445c616/html5/thumbnails/57.jpg)
Course IntroductionCombinatorial OptimizationExerciseProblem SolvingModelling and SearchSummaryHeuristics
Get inspired by approach to problem solving in human mind[Newell and Simon, 1976]
effective rules
trial and error
Applications:Optimization, Timetabling, Routing, SchedulingBut also in Psychology, Economics, Management
Side aspects: basis on empirical evidence rather than mathematical logic.Getting things done in the given time. Good having creativity in problemsolving and criticism.
37
![Page 58: Lecture 1 Course Introduction Combinatorial …marco/Teaching/AY2011-2012/DM811/...Course Introduction Combinatorial Optimization Exercise Problem Solving Modelling and Search Outline](https://reader033.vdocuments.us/reader033/viewer/2022052800/5f0fc3eb7e708231d445c616/html5/thumbnails/58.jpg)
Course IntroductionCombinatorial OptimizationExerciseProblem SolvingModelling and SearchSummaryOutline
1. Course Introduction
2. Combinatorial OptimizationCombinatorial ProblemsSolution Methods
3. Exercise
4. Problem Solving
5. Modelling and SearchIP-modelsCP-modelsModeling for HeuristicsSearch
6. Summary
38
![Page 59: Lecture 1 Course Introduction Combinatorial …marco/Teaching/AY2011-2012/DM811/...Course Introduction Combinatorial Optimization Exercise Problem Solving Modelling and Search Outline](https://reader033.vdocuments.us/reader033/viewer/2022052800/5f0fc3eb7e708231d445c616/html5/thumbnails/59.jpg)
Course IntroductionCombinatorial OptimizationExerciseProblem SolvingModelling and SearchSummaryThe Mathematical Perspective
Beside psychologists, also mathematicians reflected upon problem solvingprocesses:
George Pólya, How to Solve it, 1945
J. Hadamard, The Mathematician’s Mind - The Psychology of Inventionin the Mathematical Field, 1945
39
![Page 60: Lecture 1 Course Introduction Combinatorial …marco/Teaching/AY2011-2012/DM811/...Course Introduction Combinatorial Optimization Exercise Problem Solving Modelling and Search Outline](https://reader033.vdocuments.us/reader033/viewer/2022052800/5f0fc3eb7e708231d445c616/html5/thumbnails/60.jpg)
Course IntroductionCombinatorial OptimizationExerciseProblem SolvingModelling and SearchSummaryMathematical Problem Solving
George Pólya
George Pólya’s 1945 book How to Solve It:
1. Understand the problem.2. Make a plan.3. Carry out the plan.4. Look back on your work. How could it be better?
http://en.wikipedia.org/wiki/How_to_Solve_It
40
![Page 61: Lecture 1 Course Introduction Combinatorial …marco/Teaching/AY2011-2012/DM811/...Course Introduction Combinatorial Optimization Exercise Problem Solving Modelling and Search Outline](https://reader033.vdocuments.us/reader033/viewer/2022052800/5f0fc3eb7e708231d445c616/html5/thumbnails/61.jpg)
Course IntroductionCombinatorial OptimizationExerciseProblem SolvingModelling and SearchSummary
Pólya’s First Principle: Understand the Problem
Do you understand all the words used in stating the problem?What are you asked to find or show?Is there enough information to enable you to find a solution?Can you restate the problem in your own words?Can you think of a picture or a diagram that might help you tounderstand the problem?
41
![Page 62: Lecture 1 Course Introduction Combinatorial …marco/Teaching/AY2011-2012/DM811/...Course Introduction Combinatorial Optimization Exercise Problem Solving Modelling and Search Outline](https://reader033.vdocuments.us/reader033/viewer/2022052800/5f0fc3eb7e708231d445c616/html5/thumbnails/62.jpg)
Course IntroductionCombinatorial OptimizationExerciseProblem SolvingModelling and SearchSummary
Pólya’s Second Principle: Devise a plan
There are many reasonable ways to solve problems.
Guess and checkMake an orderly listEliminate possibilitiesUse symmetryConsider special casesUse direct reasoning
Also suggested:
Look for a patternDraw a pictureSolve a simpler problemUse a modelWork backward
Choosing an appropriate strategy is best learned by solving many problems.
42
![Page 63: Lecture 1 Course Introduction Combinatorial …marco/Teaching/AY2011-2012/DM811/...Course Introduction Combinatorial Optimization Exercise Problem Solving Modelling and Search Outline](https://reader033.vdocuments.us/reader033/viewer/2022052800/5f0fc3eb7e708231d445c616/html5/thumbnails/63.jpg)
Course IntroductionCombinatorial OptimizationExerciseProblem SolvingModelling and SearchSummary
Pólya’s Second Principle: Devise a plan
There are many reasonable ways to solve problems.
Guess and checkMake an orderly listEliminate possibilitiesUse symmetryConsider special casesUse direct reasoning
Also suggested:
Look for a patternDraw a pictureSolve a simpler problemUse a modelWork backward
Choosing an appropriate strategy is best learned by solving many problems.
42
![Page 64: Lecture 1 Course Introduction Combinatorial …marco/Teaching/AY2011-2012/DM811/...Course Introduction Combinatorial Optimization Exercise Problem Solving Modelling and Search Outline](https://reader033.vdocuments.us/reader033/viewer/2022052800/5f0fc3eb7e708231d445c616/html5/thumbnails/64.jpg)
Course IntroductionCombinatorial OptimizationExerciseProblem SolvingModelling and SearchSummary
Pólya’s Third Principle: Carry out the plan
“Needed is care and patience, given that you have the necessaryskills. Persist with the plan that you have chosen. If it continuesnot to work discard it and choose another. Don’t be misled, this ishow mathematics is done, even by professionals.”
Pólya’s Fourth Principle: Review/Extend
“Much can be gained by taking the time to reflect and look back atwhat you have done, what worked and what didn’t. Doing this willenable you to predict what strategy to use to solve future problems.”
43
![Page 65: Lecture 1 Course Introduction Combinatorial …marco/Teaching/AY2011-2012/DM811/...Course Introduction Combinatorial Optimization Exercise Problem Solving Modelling and Search Outline](https://reader033.vdocuments.us/reader033/viewer/2022052800/5f0fc3eb7e708231d445c616/html5/thumbnails/65.jpg)
Course IntroductionCombinatorial OptimizationExerciseProblem SolvingModelling and SearchSummary
Pólya’s Third Principle: Carry out the plan
“Needed is care and patience, given that you have the necessaryskills. Persist with the plan that you have chosen. If it continuesnot to work discard it and choose another. Don’t be misled, this ishow mathematics is done, even by professionals.”
Pólya’s Fourth Principle: Review/Extend
“Much can be gained by taking the time to reflect and look back atwhat you have done, what worked and what didn’t. Doing this willenable you to predict what strategy to use to solve future problems.”
43
![Page 66: Lecture 1 Course Introduction Combinatorial …marco/Teaching/AY2011-2012/DM811/...Course Introduction Combinatorial Optimization Exercise Problem Solving Modelling and Search Outline](https://reader033.vdocuments.us/reader033/viewer/2022052800/5f0fc3eb7e708231d445c616/html5/thumbnails/66.jpg)
![Page 67: Lecture 1 Course Introduction Combinatorial …marco/Teaching/AY2011-2012/DM811/...Course Introduction Combinatorial Optimization Exercise Problem Solving Modelling and Search Outline](https://reader033.vdocuments.us/reader033/viewer/2022052800/5f0fc3eb7e708231d445c616/html5/thumbnails/67.jpg)
Course IntroductionCombinatorial OptimizationExerciseProblem SolvingModelling and SearchSummary
Inspiration can strike anytime, particularly after an individualhad worked hard on a problem for days and then turned theattention to another activity.
The Mathematician’s Mind - The Psychology of Invention in theMathematical Field, J. Hadamard, 1945
45
![Page 68: Lecture 1 Course Introduction Combinatorial …marco/Teaching/AY2011-2012/DM811/...Course Introduction Combinatorial Optimization Exercise Problem Solving Modelling and Search Outline](https://reader033.vdocuments.us/reader033/viewer/2022052800/5f0fc3eb7e708231d445c616/html5/thumbnails/68.jpg)
Course IntroductionCombinatorial OptimizationExerciseProblem SolvingModelling and SearchSummaryOutline
1. Course Introduction
2. Combinatorial OptimizationCombinatorial ProblemsSolution Methods
3. Exercise
4. Problem Solving
5. Modelling and SearchIP-modelsCP-modelsModeling for HeuristicsSearch
6. Summary
46
![Page 69: Lecture 1 Course Introduction Combinatorial …marco/Teaching/AY2011-2012/DM811/...Course Introduction Combinatorial Optimization Exercise Problem Solving Modelling and Search Outline](https://reader033.vdocuments.us/reader033/viewer/2022052800/5f0fc3eb7e708231d445c616/html5/thumbnails/69.jpg)
Course IntroductionCombinatorial OptimizationExerciseProblem SolvingModelling and SearchSummary
solution algorithm = model + search
47
![Page 70: Lecture 1 Course Introduction Combinatorial …marco/Teaching/AY2011-2012/DM811/...Course Introduction Combinatorial Optimization Exercise Problem Solving Modelling and Search Outline](https://reader033.vdocuments.us/reader033/viewer/2022052800/5f0fc3eb7e708231d445c616/html5/thumbnails/70.jpg)
Course IntroductionCombinatorial OptimizationExerciseProblem SolvingModelling and SearchSummaryOutline
1. Course Introduction
2. Combinatorial OptimizationCombinatorial ProblemsSolution Methods
3. Exercise
4. Problem Solving
5. Modelling and SearchIP-modelsCP-modelsModeling for HeuristicsSearch
6. Summary
48
![Page 71: Lecture 1 Course Introduction Combinatorial …marco/Teaching/AY2011-2012/DM811/...Course Introduction Combinatorial Optimization Exercise Problem Solving Modelling and Search Outline](https://reader033.vdocuments.us/reader033/viewer/2022052800/5f0fc3eb7e708231d445c616/html5/thumbnails/71.jpg)
Course IntroductionCombinatorial OptimizationExerciseProblem SolvingModelling and SearchSummaryIP-models
Standard IP formulation: Let xvk be a 0–1 variable equal to 1 whenever thevertex v takes the color kand yk be 1 if color k is used and 0 otherwise
min∑k∈K
yk
s.t.∑k∈K
xvk = 1, ∀v ∈ V ,
xvk + xuk ≤ yk , ∀(u, v) ∈ E (G ),∀k ∈ K ,xvk ∈ {0, 1}, ∀v ∈ V ,∀k ∈ Kyk ∈ {0, 1}, ∀k ∈ K .
49
![Page 72: Lecture 1 Course Introduction Combinatorial …marco/Teaching/AY2011-2012/DM811/...Course Introduction Combinatorial Optimization Exercise Problem Solving Modelling and Search Outline](https://reader033.vdocuments.us/reader033/viewer/2022052800/5f0fc3eb7e708231d445c616/html5/thumbnails/72.jpg)
Course IntroductionCombinatorial OptimizationExerciseProblem SolvingModelling and SearchSummaryColumn generation formulation
NotationIndependent set s, with cardinality csS : Collection of every maximal independent set of GSv : subset of S that contains vλs : 0-1 variable equal to 1 if independent set s is used
min∑s∈S
λs
s.t.∑s∈Sv
λs ≥ 1, ∀v ∈ V ,
λs ∈ {0, 1}, ∀s ∈ S.
50
![Page 73: Lecture 1 Course Introduction Combinatorial …marco/Teaching/AY2011-2012/DM811/...Course Introduction Combinatorial Optimization Exercise Problem Solving Modelling and Search Outline](https://reader033.vdocuments.us/reader033/viewer/2022052800/5f0fc3eb7e708231d445c616/html5/thumbnails/73.jpg)
Course IntroductionCombinatorial OptimizationExerciseProblem SolvingModelling and SearchSummaryColumn generation formulation
NotationIndependent set s, with cardinality csS : Collection of every maximal independent set of GSv : subset of S that contains vλs : 0-1 variable equal to 1 if independent set s is used
min∑s∈S
λs
s.t.∑s∈Sv
λs ≥ 1, ∀v ∈ V ,
λs ∈ {0, 1}, ∀s ∈ S.
50
![Page 74: Lecture 1 Course Introduction Combinatorial …marco/Teaching/AY2011-2012/DM811/...Course Introduction Combinatorial Optimization Exercise Problem Solving Modelling and Search Outline](https://reader033.vdocuments.us/reader033/viewer/2022052800/5f0fc3eb7e708231d445c616/html5/thumbnails/74.jpg)
Course IntroductionCombinatorial OptimizationExerciseProblem SolvingModelling and SearchSummaryOutline
1. Course Introduction
2. Combinatorial OptimizationCombinatorial ProblemsSolution Methods
3. Exercise
4. Problem Solving
5. Modelling and SearchIP-modelsCP-modelsModeling for HeuristicsSearch
6. Summary
51
![Page 75: Lecture 1 Course Introduction Combinatorial …marco/Teaching/AY2011-2012/DM811/...Course Introduction Combinatorial Optimization Exercise Problem Solving Modelling and Search Outline](https://reader033.vdocuments.us/reader033/viewer/2022052800/5f0fc3eb7e708231d445c616/html5/thumbnails/75.jpg)
Course IntroductionCombinatorial OptimizationExerciseProblem SolvingModelling and SearchSummaryConstraint Programming
The domain of a variable x , denoted D(x), is a finite set of elements thatcan be assigned to x .
A constraint C on X is a subset of the Cartesian product of the domains ofthe variables in X, i.e., C ⊆ D(x1)× · · · ×D(xk). A tuple (d1, . . . , dk) ∈ C iscalled a solution to C .Equivalently, we say that a solution (d1, ..., dk) ∈ C is an assignment of thevalue di to the variable xi ,∀1 ≤ i ≤ k, and that this assignment satisfies C .If C = ∅, we say that it is inconsistent.
52
![Page 76: Lecture 1 Course Introduction Combinatorial …marco/Teaching/AY2011-2012/DM811/...Course Introduction Combinatorial Optimization Exercise Problem Solving Modelling and Search Outline](https://reader033.vdocuments.us/reader033/viewer/2022052800/5f0fc3eb7e708231d445c616/html5/thumbnails/76.jpg)
Course IntroductionCombinatorial OptimizationExerciseProblem SolvingModelling and SearchSummaryConstraint Programming
The domain of a variable x , denoted D(x), is a finite set of elements thatcan be assigned to x .
A constraint C on X is a subset of the Cartesian product of the domains ofthe variables in X, i.e., C ⊆ D(x1)× · · · ×D(xk). A tuple (d1, . . . , dk) ∈ C iscalled a solution to C .
Equivalently, we say that a solution (d1, ..., dk) ∈ C is an assignment of thevalue di to the variable xi ,∀1 ≤ i ≤ k, and that this assignment satisfies C .If C = ∅, we say that it is inconsistent.
52
![Page 77: Lecture 1 Course Introduction Combinatorial …marco/Teaching/AY2011-2012/DM811/...Course Introduction Combinatorial Optimization Exercise Problem Solving Modelling and Search Outline](https://reader033.vdocuments.us/reader033/viewer/2022052800/5f0fc3eb7e708231d445c616/html5/thumbnails/77.jpg)
Course IntroductionCombinatorial OptimizationExerciseProblem SolvingModelling and SearchSummaryConstraint Programming
The domain of a variable x , denoted D(x), is a finite set of elements thatcan be assigned to x .
A constraint C on X is a subset of the Cartesian product of the domains ofthe variables in X, i.e., C ⊆ D(x1)× · · · ×D(xk). A tuple (d1, . . . , dk) ∈ C iscalled a solution to C .Equivalently, we say that a solution (d1, ..., dk) ∈ C is an assignment of thevalue di to the variable xi ,∀1 ≤ i ≤ k, and that this assignment satisfies C .
If C = ∅, we say that it is inconsistent.
52
![Page 78: Lecture 1 Course Introduction Combinatorial …marco/Teaching/AY2011-2012/DM811/...Course Introduction Combinatorial Optimization Exercise Problem Solving Modelling and Search Outline](https://reader033.vdocuments.us/reader033/viewer/2022052800/5f0fc3eb7e708231d445c616/html5/thumbnails/78.jpg)
Course IntroductionCombinatorial OptimizationExerciseProblem SolvingModelling and SearchSummaryConstraint Programming
The domain of a variable x , denoted D(x), is a finite set of elements thatcan be assigned to x .
A constraint C on X is a subset of the Cartesian product of the domains ofthe variables in X, i.e., C ⊆ D(x1)× · · · ×D(xk). A tuple (d1, . . . , dk) ∈ C iscalled a solution to C .Equivalently, we say that a solution (d1, ..., dk) ∈ C is an assignment of thevalue di to the variable xi ,∀1 ≤ i ≤ k, and that this assignment satisfies C .If C = ∅, we say that it is inconsistent.
52
![Page 79: Lecture 1 Course Introduction Combinatorial …marco/Teaching/AY2011-2012/DM811/...Course Introduction Combinatorial Optimization Exercise Problem Solving Modelling and Search Outline](https://reader033.vdocuments.us/reader033/viewer/2022052800/5f0fc3eb7e708231d445c616/html5/thumbnails/79.jpg)
Course IntroductionCombinatorial OptimizationExerciseProblem SolvingModelling and SearchSummaryConstraint Programming
Constraint Satisfaction Problem (CSP)
A CSP is a finite set of variables X , together with a finite set of constraintsC , each on a subset of X . A solution to a CSP is an assignment of a valued ∈ D(x) to each x ∈ X , such that all constraints are satisfied simultaneously.
Constraint Optimization Problem (COP)
A COP is a CSP P defined on the variables x1, . . . , xn, together with anobjective function f : D(x1)× · · · × D(xn)→ Q that assigns a value to eachassignment of values to the variables. An optimal solution to a minimization(maximization) COP is a solution d to P that minimizes (maximizes) thevalue of f (d).
53
![Page 80: Lecture 1 Course Introduction Combinatorial …marco/Teaching/AY2011-2012/DM811/...Course Introduction Combinatorial Optimization Exercise Problem Solving Modelling and Search Outline](https://reader033.vdocuments.us/reader033/viewer/2022052800/5f0fc3eb7e708231d445c616/html5/thumbnails/80.jpg)
Course IntroductionCombinatorial OptimizationExerciseProblem SolvingModelling and SearchSummaryConstraint Programming
Constraint Satisfaction Problem (CSP)
A CSP is a finite set of variables X , together with a finite set of constraintsC , each on a subset of X . A solution to a CSP is an assignment of a valued ∈ D(x) to each x ∈ X , such that all constraints are satisfied simultaneously.
Constraint Optimization Problem (COP)
A COP is a CSP P defined on the variables x1, . . . , xn, together with anobjective function f : D(x1)× · · · × D(xn)→ Q that assigns a value to eachassignment of values to the variables. An optimal solution to a minimization(maximization) COP is a solution d to P that minimizes (maximizes) thevalue of f (d).
53
![Page 81: Lecture 1 Course Introduction Combinatorial …marco/Teaching/AY2011-2012/DM811/...Course Introduction Combinatorial Optimization Exercise Problem Solving Modelling and Search Outline](https://reader033.vdocuments.us/reader033/viewer/2022052800/5f0fc3eb7e708231d445c616/html5/thumbnails/81.jpg)
Course IntroductionCombinatorial OptimizationExerciseProblem SolvingModelling and SearchSummaryCP-model
CP formulation:
variables : domain(yi) = {1, . . . ,K} ∀i ∈ V
constraints : yi 6= yj ∀ij ∈ E(G)
alldifferent({yi | i ∈ C}) ∀C ∈ C
54
![Page 82: Lecture 1 Course Introduction Combinatorial …marco/Teaching/AY2011-2012/DM811/...Course Introduction Combinatorial Optimization Exercise Problem Solving Modelling and Search Outline](https://reader033.vdocuments.us/reader033/viewer/2022052800/5f0fc3eb7e708231d445c616/html5/thumbnails/82.jpg)
Course IntroductionCombinatorial OptimizationExerciseProblem SolvingModelling and SearchSummaryPropagation: An Example
55
![Page 83: Lecture 1 Course Introduction Combinatorial …marco/Teaching/AY2011-2012/DM811/...Course Introduction Combinatorial Optimization Exercise Problem Solving Modelling and Search Outline](https://reader033.vdocuments.us/reader033/viewer/2022052800/5f0fc3eb7e708231d445c616/html5/thumbnails/83.jpg)
Course IntroductionCombinatorial OptimizationExerciseProblem SolvingModelling and SearchSummaryOutline
1. Course Introduction
2. Combinatorial OptimizationCombinatorial ProblemsSolution Methods
3. Exercise
4. Problem Solving
5. Modelling and SearchIP-modelsCP-modelsModeling for HeuristicsSearch
6. Summary
56
![Page 84: Lecture 1 Course Introduction Combinatorial …marco/Teaching/AY2011-2012/DM811/...Course Introduction Combinatorial Optimization Exercise Problem Solving Modelling and Search Outline](https://reader033.vdocuments.us/reader033/viewer/2022052800/5f0fc3eb7e708231d445c616/html5/thumbnails/84.jpg)
Course IntroductionCombinatorial OptimizationExerciseProblem SolvingModelling and SearchSummaryConstraint based Modelling
Can be done within the same framework of Constraint Programming.See Constraint Based Local-Search (Hentenryck and Michel) [B4].
Decide the variables.An assignment of these variables should identify a candidate solutionor a candidate solution must be retrievable efficientlyMust be linked to some Abstract Data Type (arrays, sets, permutations).
Express the constraints on these variables
No restrictions are posed on the language in which the above two elementsare expressed.
57
![Page 85: Lecture 1 Course Introduction Combinatorial …marco/Teaching/AY2011-2012/DM811/...Course Introduction Combinatorial Optimization Exercise Problem Solving Modelling and Search Outline](https://reader033.vdocuments.us/reader033/viewer/2022052800/5f0fc3eb7e708231d445c616/html5/thumbnails/85.jpg)
Course IntroductionCombinatorial OptimizationExerciseProblem SolvingModelling and SearchSummaryOutline
1. Course Introduction
2. Combinatorial OptimizationCombinatorial ProblemsSolution Methods
3. Exercise
4. Problem Solving
5. Modelling and SearchIP-modelsCP-modelsModeling for HeuristicsSearch
6. Summary
58
![Page 86: Lecture 1 Course Introduction Combinatorial …marco/Teaching/AY2011-2012/DM811/...Course Introduction Combinatorial Optimization Exercise Problem Solving Modelling and Search Outline](https://reader033.vdocuments.us/reader033/viewer/2022052800/5f0fc3eb7e708231d445c616/html5/thumbnails/86.jpg)
Course IntroductionCombinatorial OptimizationExerciseProblem SolvingModelling and SearchSummarySearch
Backtracking (complete)
Branch and Bound (complete)
Local search (incomplete)
59
![Page 87: Lecture 1 Course Introduction Combinatorial …marco/Teaching/AY2011-2012/DM811/...Course Introduction Combinatorial Optimization Exercise Problem Solving Modelling and Search Outline](https://reader033.vdocuments.us/reader033/viewer/2022052800/5f0fc3eb7e708231d445c616/html5/thumbnails/87.jpg)
Course IntroductionCombinatorial OptimizationExerciseProblem SolvingModelling and SearchSummaryOutline
1. Course Introduction
2. Combinatorial OptimizationCombinatorial ProblemsSolution Methods
3. Exercise
4. Problem Solving
5. Modelling and SearchIP-modelsCP-modelsModeling for HeuristicsSearch
6. Summary
60
![Page 88: Lecture 1 Course Introduction Combinatorial …marco/Teaching/AY2011-2012/DM811/...Course Introduction Combinatorial Optimization Exercise Problem Solving Modelling and Search Outline](https://reader033.vdocuments.us/reader033/viewer/2022052800/5f0fc3eb7e708231d445c616/html5/thumbnails/88.jpg)
Course IntroductionCombinatorial OptimizationExerciseProblem SolvingModelling and SearchSummarySummary
1. Course Introduction
2. Combinatorial Optimization
Combinatorial Problems, TerminologySolution Methods, OverviewTravelling Salesman Problem
3. Problem Solving
Example: Graph Coloring ProblemModel + SearchPolya’s view about Problem Solving
4. Basic Concepts from Algorithmics
61
![Page 89: Lecture 1 Course Introduction Combinatorial …marco/Teaching/AY2011-2012/DM811/...Course Introduction Combinatorial Optimization Exercise Problem Solving Modelling and Search Outline](https://reader033.vdocuments.us/reader033/viewer/2022052800/5f0fc3eb7e708231d445c616/html5/thumbnails/89.jpg)
Course IntroductionCombinatorial OptimizationExerciseProblem SolvingModelling and SearchSummaryOutlook
Next Time:
Construction Heuristics
High level description of Local Search
Solver Systems
Setting up the Working Environment
In preparation:
Lecture notes
Revise basic concepts in algorithmics (see slides available at the webpage and complement them with Cormen, Leiserson, Rivest and Stein.Introduction to algorithms. 2001)
Reading material
Obligatory assignment 1 launched62