LECTURE 13. Course: “Design of Systems: Structural Approach” Dept. “Communication Networks &Systems”, Faculty of Radioengineering & Cybernetics Moscow.

Slides:



Advertisements
Similar presentations
ECE 667 Synthesis and Verification of Digital Circuits
Advertisements

 Review: The Greedy Method
Dynamic Programming.
Lecture 12: Revision Lecture Dr John Levine Algorithms and Complexity March 27th 2006.
LECTURE 31. Course: “Design of Systems: Structural Approach” Dept. “Communication Networks &Systems”, Faculty of Radioengineering & Cybernetics Moscow.
S. J. Shyu Chap. 1 Introduction 1 The Design and Analysis of Algorithms Chapter 1 Introduction S. J. Shyu.
CS774. Markov Random Field : Theory and Application Lecture 17 Kyomin Jung KAIST Nov
Lecture 8 Jianjun Hu Department of Computer Science and Engineering University of South Carolina CSCE350 Algorithms and Data Structure.
Chapter 3 The Greedy Method 3.
Complexity 16-1 Complexity Andrei Bulatov Non-Approximability.
Approximation Algoirthms: Semidefinite Programming Lecture 19: Mar 22.
COURSE “SYSTEM DESIGN: STRUCTURAL APPROACH” DETC Inst. for Information Transmission Problems Russian Academy of Sciences, Moscow , Russia.
Semidefinite Programming
DAST, Spring © L. Joskowicz 1 Data Structures – LECTURE 1 Introduction Motivation: algorithms and abstract data types Easy problems, hard problems.
CSC401 – Analysis of Algorithms Lecture Notes 12 Dynamic Programming
Polynomial time approximation scheme Lecture 17: Mar 13.
Chapter 11: Limitations of Algorithmic Power
1 CSE 417: Algorithms and Computational Complexity Winter 2001 Lecture 6 Instructor: Paul Beame TA: Gidon Shavit.
NP and NP- Completeness Bryan Pearsaul. Outline Decision and Optimization Problems Decision and Optimization Problems P and NP P and NP Polynomial-Time.
The Design and Analysis of Algorithms
Ant Colony Optimization: an introduction
LECTURE 1. Course: “Design of Systems: Structural Approach” Dept. “Communication Networks &Systems”, Faculty of Radioengineering & Cybernetics Moscow Inst.
LECTURE 29. Course: “Design of Systems: Structural Approach” Dept. “Communication Networks &Systems”, Faculty of Radioengineering & Cybernetics Moscow.
1.1 Chapter 1: Introduction What is the course all about? Problems, instances and algorithms Running time v.s. computational complexity General description.
LECTURE 5-6. Course: “Design of Systems: Structural Approach” Dept. “Communication Networks &Systems”, Faculty of Radioengineering & Cybernetics Moscow.
Lecture 5 Dynamic Programming. Dynamic Programming Self-reducibility.
Bold Stroke January 13, 2003 Advanced Algorithms CS 539/441 OR In Search Of Efficient General Solutions Joe Hoffert
LECTURE 30 (compressed version). Course: “Design of Systems: Structural Approach” Dept. “Communication Networks &Systems”, Faculty of Radioengineering.
LECTURE 28. Course: “Design of Systems: Structural Approach” Dept. “Communication Networks &Systems”, Faculty of Radioengineering & Cybernetics Moscow.
MODULAR SYSTEMS & COMBINATORIAL OPTIMIZATION (based on course “System design”, 2004…2008, MIPT) Mark Sh. Levin Inst. for Inform. Transmission Problems,
LECTURE 8-9. Course: “Design of Systems: Structural Approach” Dept. “Communication Networks &Systems”, Faculty of Radioengineering & Cybernetics Moscow.
LECTURE (compressed version). Course: “Design of Systems: Structural Approach” Dept. “Communication Networks &Systems”, Faculty of Radioengineering.
TOWARDS HIERARCHICAL CLUSTERING
LECTURE 19. Course: “Design of Systems: Structural Approach” Dept. “Communication Networks &Systems”, Faculty of Radioengineering & Cybernetics Moscow.
Télécom 2A – Algo Complexity (1) Time Complexity and the divide and conquer strategy Or : how to measure algorithm run-time And : design efficient algorithms.
LECTURE Course: “Design of Systems: Structural Approach” Dept. “Communication Networks &Systems”, Faculty of Radioengineering & Cybernetics Moscow.
Major objective of this course is: Design and analysis of modern algorithms Different variants Accuracy Efficiency Comparing efficiencies Motivation thinking.
3 -1 Chapter 3 The Greedy Method 3 -2 A simple example Problem: Pick k numbers out of n numbers such that the sum of these k numbers is the largest.
LECTURE 26. Course: “Design of Systems: Structural Approach” Dept. “Communication Networks &Systems”, Faculty of Radioengineering & Cybernetics Moscow.
Towards Communication Network Development (structural systems issues, combinatorial models) Mark Sh. Levin Inst. for Inform. Transmission Problems, Russian.
1 Short Term Scheduling. 2  Planning horizon is short  Multiple unique jobs (tasks) with varying processing times and due dates  Multiple unique jobs.
Partitioning Graphs of Supply and Demand Generalization of Knapsack Problem Takao Nishizeki Tohoku University.
LECTURE 4. Course: “Design of Systems: Structural Approach” Dept. “Communication Networks &Systems”, Faculty of Radioengineering & Cybernetics Moscow Inst.
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
LECTURE 16. Course: “Design of Systems: Structural Approach” Dept. “Communication Networks &Systems”, Faculty of Radioengineering & Cybernetics Moscow.
STUDENT RESEARCH PROJECTS IN SYSTEM DESIGN Inst. for Information Transmission Problems Russian Academy of Sciences, Moscow , Russia
Traveling Salesman Problem IEOR 4405 Production Scheduling Professor Stein Sally Kim James Tsai April 30, 2009.
LECTURE Course: “Design of Systems: Structural Approach” Dept. “Communication Networks &Systems”, Faculty of Radioengineering & Cybernetics Moscow.
LECTURE 2-3. Course: “Design of Systems: Structural Approach” Dept. “Communication Networks &Systems”, Faculty of Radioengineering & Cybernetics Moscow.
Algorithmics - Lecture 121 LECTURE 11: Dynamic programming - II -
LECTURE 10. Course: “Design of Systems: Structural Approach” Dept. “Communication Networks &Systems”, Faculty of Radioengineering & Cybernetics Moscow.
1 BECO 2004 When can one develop an FPTAS for a sequential decision problem? with apologies to Gerhard Woeginger James B. Orlin MIT working jointly with.
LECTURE 27. Course: “Design of Systems: Structural Approach” Dept. “Communication Networks &Systems”, Faculty of Radioengineering & Cybernetics Moscow.
CS 3343: Analysis of Algorithms Lecture 19: Introduction to Greedy Algorithms.
LECTURE Course: “Design of Systems: Structural Approach” Dept. “Communication Networks &Systems”, Faculty of Radioengineering & Cybernetics Moscow.
1 Approximation algorithms Algorithms and Networks 2015/2016 Hans L. Bodlaender Johan M. M. van Rooij TexPoint fonts used in EMF. Read the TexPoint manual.
Algorithms for hard problems Introduction Juris Viksna, 2015.
LECTURE 7. Course: “Design of Systems: Structural Approach” Dept. “Communication Networks &Systems”, Faculty of Radioengineering & Cybernetics Moscow Inst.
Onlinedeeneislam.blogspot.com1 Design and Analysis of Algorithms Slide # 1 Download From
2016/3/13Page 1 Semester Review COMP3040 Dept. Computer Science and Technology United International College.
4.2 - Algorithms Sébastien Lemieux Elitra Canada Ltd.
TOWARDS FOUR-LAYER FRAMEWORK OF COMBINATORIAL PROBLEMS
Advanced Algorithms Analysis and Design
The Design and Analysis of Algorithms
Lecture 5 Dynamic Programming
Lecture 5 Dynamic Programming
Computability and Complexity
Objective of This Course
Chapter 11 Limitations of Algorithm Power
Major Design Strategies
Presentation transcript:

LECTURE 13. Course: “Design of Systems: Structural Approach” Dept. “Communication Networks &Systems”, Faculty of Radioengineering & Cybernetics Moscow Inst. of Physics and Technology (University) / Mark Sh. Levin Inst. for Information Transmission Problems, RAS Oct. 1, 2004 PLAN: 1.Basic combinatorial optimization problems: *knapsack problem, *solving schemes for multicriteria knapsack problem, *multiple choice problem. 2.Algorithms: *types of solutions (exact, approximate), *types of algorithms (polynomial and enumerative algorithms), 3.Complexity of problems. 4.Global approaches and local techniques

Knapsack problem max  m i=1 c i x i s.t.  m i=1 a i x i  b x i  {0, 1}, i = 1, …, m possible additional constraints  m i=1 a ik x i  b k, k = 1, …, l... 1 i m (index) a 1 a i a m (required resource) c 1 c i c m (utility / profit) x 1 x i x m (Boolean variable)

Algorithms for knapsack problem 1.Ordering by decreasing of c i / a i (algorithm by Danzig, heuristic) 2.Branch-And-Bound method 3.Dynamic programming (exact solution) 4.Dynamic programming (approximate solving scheme) 5.Probabilistic methods 6.Hybrid schemes

Simple versions of knapsack problem 1. c i = c o (equal utilities) 2. a i = a o (equal required resources) Polynomial algorithm: 1. ordering by non-decreasing of a i 2. ordering by non-increasing of c i

Extended versions of knapsack problem 1.Knapsack problem with objective function as min 2.Knapsack problem with several “knapsacks” 3.Knapsack problem with additional structural (logical) constraints over elements (e.g., some kinds of trees) 4.Multi-objective knapsack problem 5.Knapsack problem with fuzzy parameters

Heuristic solving scheme for multicriteria (multiple objective) versions of knapsack problem ALGORITM SCHEME (case of linear ranking): STEP 1.Multicriteria ranking of elements (to obtain linear ranking) STEP 2.Series selection of elements (the best element, the next element, etc.) After each selection: testing the resource constraint (  b ). If the constraint is not right it is necessary to delete the last selected element and to STOP. Else: to STEP 2. STOP. Linear ranking Selection & testing (Step 2)

Heuristic solving scheme for multicriteria (multiple objective) versions of knapsack problem ALGORITM SCHEME (case of group ranking): STEP 1.Multicriteria ranking of elements (to obtain group ranking) STEP 2.Series selection of elements (elements of the best group, elements of the next group, etc.) After each selection: testing the resource constraint (  b ). If the constraint is not right it is necessary to go to STEP 3. Else: to STEP 2. STEP 3. Solving for the last analyzed element group the special case of knapsack problem (with equal utilities) as series selection of elements from the list ( non-increasing by a i ). Here constraint is the following:  b -  (i  Q ) a i (where Q is a set of selected elements from the previous groups) STOP. Selection & testing (Step 2) Group ranking Selection & testing (Step 2) Constraint is not right, go to Step 3

Multiple choice problem max  m i=1  qi j=1 c ij x ij s.t.  m i=1  qi j=1 a ij x ij  b  qi j=1 x ij  1, i = 1, …, m x ij  {0, 1}, i = 1, …, m, j = 1, …, qi... J 1 J i J m...  i | J i | = qi, j = 1, …, qi

Algorithms for multiple choice problem (as for knapsack problem) 1.Ordering by decreasing of c ij / a ij (heuristic) 2.Branch-And-Bound method 3.Dynamic programming (exact solution) 4.Dynamic programming (approximate solving scheme) 5.Probabilistic methods 6.Hybrid schemes

Illustration for dynamic programming Search Space START point END point Series Design of a Solution: 1.From START point to END point 2.From END point to START point

Illustration for complexity of combinatorial optimization problems Polynomial solvable problems NP-hard problems Approximate polynomial solvable problems Knapsack problem Multiple choice problem Quadratic assignment problem Morphological clique problem Clique problem TSP

Classification of algorithms BY EXACTNES OF RESULT (solution): 1.Exact solution 2.Approximate solution (for worst case): *limited error (absolute error) *limited error (relative error) *other situations 3.Approximate solution (statistically) 4.Heurstic (without an estimate of exactness) BY COMPLEXITY OF SOLVING PROCESS (e.g., number of steps): 1.Polynomial algorithms (of length of input, for example: O(n log n)), O(n), O(1), O(n 2 ) 2.Polynomial approximate schemes (for a specified exactness / limited error, for example: O(n 2 /  ) where   [0,1] is a relative error for objective function) 3.Statistically good algorithms (statistically polynomial ones) 4.Enumerative algorithms... BASIC ALGORITHM RESOURCES: 1.Number of steps (computing operations) 2.Required volume of memory 3.Required number of interaction with specialists (oracle) (to get additional information) 4.Required communication between processors (for multi-processor algorithms)

Global approaches and local techniques GLOBAL APPROACHES: 1.Partitioning into subproblems 2.Decomposition (extension of an obtained “good” local solutions) (examples: dynamic programming, Branch-And-Bound) 3.Grid method with deletion of “bad points” 4.Approximation approach (i.e., approximation of initial problem or its part(s) by more simple construction(s)) LOCAL TECHNIQUES: 1.Local optimization as improvement of a solution or its part 2.Probabilsitic steps 3.Greedy approach (selection of the “simple” / “close” / etc. step) 4.Recursion

Illustration for improvement of a solution (local optimization) START point END point... LOCAL IMPROVEMENT INITIAL ROUTE