Branch and Bound Algorithm: Scheduling Problem Input of the problem:  A number of tasks  A number of resources 1 2 3 4 ABC Output of the problem:  A.

Slides:



Advertisements
Similar presentations
Algorithm Design Methods (I) Fall 2003 CSE, POSTECH.
Advertisements

Algorithm Design Methods Spring 2007 CSE, POSTECH.
The Build-up of the Red Sequence at z
 Review: The Greedy Method
Traveling Salesperson Problem
The Greedy Method1. 2 Outline and Reading The Greedy Method Technique (§5.1) Fractional Knapsack Problem (§5.1.1) Task Scheduling (§5.1.2) Minimum Spanning.
Chapter 5 Fundamental Algorithm Design Techniques.
Greedy Algorithms Clayton Andrews 2/26/08. What is an algorithm? “An algorithm is any well-defined computational procedure that takes some value, or set.
Lecture 24 Coping with NPC and Unsolvable problems. When a problem is unsolvable, that's generally very bad news: it means there is no general algorithm.
How Machines Do Work Outline Notes Pages
Algorithms + L. Grewe.
Merge Sort 4/15/2017 6:09 PM The Greedy Method The Greedy Method.
Branch and bound Pasi Fränti Explore all alternatives Solution constructed by stepwise choices Decision tree Guarantees optimal solution Exponential.
8 February How Computers Work: Algorithms The Internet.
1. The Role of the Algorithms in Computer Hsu, Lih-Hsing
Minimum Spanning Network: Brute Force Solution
ASC Program Example Part 3 of Associative Computing Examining the MST code in ASC Primer.
Lecture 10 Matroid. Independent System Consider a finite set S and a collection C of subsets of S. (S,C) is called an independent system if i.e., it is.
1 The Greedy Method CSC401 – Analysis of Algorithms Lecture Notes 10 The Greedy Method Objectives Introduce the Greedy Method Use the greedy method to.
The digital scholar’s workbench Ian Barnes ELPUB 2007 Vienna — 13th to 15th June 2007.
More Chapter 7: Greedy Algorithms Kruskal’s Minimum Spanning Tree Algorithm.
Approximation Algorithms
Algorithm & Flowchart.
CSE 373 Data Structures Lecture 15
Integer programming Branch & bound algorithm ( B&B )
Bold Stroke January 13, 2003 Advanced Algorithms CS 539/441 OR In Search Of Efficient General Solutions Joe Hoffert
Chapter 3: Formatting MuPAD Documents MATLAB for Scientist and Engineers Using Symbolic Toolbox.
Approximation Algorithms Pages ADVANCED TOPICS IN COMPLEXITY THEORY.
Analysis of Algorithms
CS 345: Chapter 10 Parallelism, Concurrency, and Alternative Models Or, Getting Lots of Stuff Done at Once.
Online Algorithms By: Sean Keith. An online algorithm is an algorithm that receives its input over time, where knowledge of the entire input is not available.
Branch and bound branch and bound methods economize the search for the best trees by backing out of dead alleys.
Backtracking and Games Eric Roberts CS 106B January 28, 2013.
CSE373: Data Structures & Algorithms Lecture 22: The P vs. NP question, NP-Completeness Lauren Milne Summer 2015.
Faculty Coach: Professor Martinez  Justin Mahar  Chris Baum  Greg Schmitz  Adam Abdelhamed.
 Software Development Life Cycle  Software Development Tools  High Level Programming:  Structures  Algorithms  Iteration  Pseudocode  Order of.
Chapter 1. The Role of the Algorithms in Computer.
Support Vector Machines Reading: Ben-Hur and Weston, “A User’s Guide to Support Vector Machines” (linked from class web page)
Flowcharts C++ Lab. Algorithm An informal definition of an algorithm is: a step-by-step method for solving a problem or doing a task. Input data A step-by-step.
Spring 2008The Greedy Method1. Spring 2008The Greedy Method2 Outline and Reading The Greedy Method Technique (§5.1) Fractional Knapsack Problem (§5.1.1)
Text INTERNAL Project Presentation (Processes Followed) Infinity DTH Services-Module 1 HYD12/HJA54-Group-1 gokul(842007) Aakanksha(835620) Preetham(843274)
Software. Introduction n A computer can’t do anything without a program of instructions. n A program is a set of instructions a computer carries out.
Flow Shop Scheduling.
Advanced Algorithms Analysis and Design
Traveling Salesperson Problem
Unit 1. Sorting and Divide and Conquer
Merge Sort 7/29/ :21 PM The Greedy Method The Greedy Method.
Artificial Intelligence and Society
Pictures and cars.
Greedy Algorithms / Interval Scheduling Yin Tat Lee
ECE 477 Digital Systems Senior Design Project  Fall 2009 Blinkers++
Heuristics Definition – a heuristic is an inexact algorithm that is based on intuitive and plausible arguments which are “likely” to lead to reasonable.
Merge Sort 11/28/2018 2:18 AM The Greedy Method The Greedy Method.
Merge Sort 11/28/2018 2:21 AM The Greedy Method The Greedy Method.
Merge Sort 11/28/2018 8:16 AM The Greedy Method The Greedy Method.
Exam 2 LZW not on syllabus. 73% / 75%.
Kevin Mason Michael Suggs
Dynamic Programming Dynamic Programming 1/15/ :41 PM
Merge Sort 1/17/2019 3:11 AM The Greedy Method The Greedy Method.
Learning Intention I will learn about programming using selection (making choices) with one condition.
Planning and Scheduling
Trevor Brown DC 2338, Office hour M3-4pm
Start or end of algorithm: Action/process step:
Algorithm Design Methods
Branch and Bound Example
Algorithm Design Techniques Greedy Approach vs Dynamic Programming
Work and Mechanical Advantage
CS639: Data Management for Data Science
Merge Sort 5/2/2019 7:53 PM The Greedy Method The Greedy Method.
Approximation Algorithms
Presentation transcript:

Branch and Bound Algorithm: Scheduling Problem Input of the problem:  A number of tasks  A number of resources ABC Output of the problem:  A sequence of feeding the tasks to resources to minimize the required processing time

Different tasks take different time to be processed in each resource ABC

Tasks can be done in any order N! Possible different sequences NP

Application 1 Digital processing: Each resource is a processor. All tasks need to pass trough all processors in the fix sequence A,B,C but depending on the task it takes different time for each processor to process them. For example : Processor A:Scanning Processor B:Making a PDF Processor C:Exporting a PDF Task 1:A one page plain text document Task 2:A 10 page document with pictures Task 3:A 5 page html document. Task 4:…

Production line: Each product (task) need to pass trough all machines (resources) in the production line but, the time depends on what kind of customization the customer has ordered for that production. For example: Machine A:Solding Machine B:Painting Machine C:Packaging Task 1:A black car with airbag Task 2:A red car without airbag with CD player Task 3:A white car with leather seats Task 4:… Application 2

For part 1 and 2 Start For part 3 and 4 Decision tree (Brute force)

Greedy Algorithm A possible greedy algorithm might start with selecting the fastest tasks for processor A ABC A :

Greedy solution T(4,2,3,1) = ABC

ABC B&B solution T(4,1,2,3) = 26

Branch and bound Algorithm Define a bounding criteria for a minimum time required by each branch of the decision tree For level 1: For level 2:

ABC b(1)= 7+( )+1=27 b(2)= 5+( )+1=25 b(3)= 6+( )+2=27 b(4)= 3+( )+1=23 Level 1 Start 1234 T ≥ 23T ≥27 T ≥ 25 Bounds: Minimum This next

b(4,1)= (3+7)+(6+5+4)+1=26 b(4,2)= (3+5)+(6+5+4)+1=24 b(4,3)= (3+6)+(6+5+4)+2= ABC Bounds: Level 2 T ≥26T ≥24T ≥26 Minimum This next

ABC Actual T(4,2,1,3) = 29 Actual T(4,2,3,1) = 34 Start Because the actual time T(4,2,1,3) > b(4,1) and T(4,2,1,3) > b(4,3,…), we must solve these branches, too. T(min)= 29Actual Time: Solve the branch 4-2-x-x T ≥26T ≥24T ≥26

ABC Actual T(4,1,2,3) = 26 Actual T(4,1,3,2) = 28 Actual T(4,3,1,2) = 29 Actual T(4,3,2,1) = 34 Start T(min)= 29 Bounds: Actual Times:T(min)= 29 T(min)= 26 T ≥26T ≥24T ≥26

ABC Start 1234 Actual Time: T = 26 The actual T(4,…)=26 is greater than the bound 25 so we must calculate branch T(2,…) Bounds:T ≥27T ≥25T ≥23T ≥27 Must be solved

b(2,1)= (5+7)+(6+4+4)+1=27 b(2,3)= (5+6)+(6+4+4)+3=28 b(2,4)= (5+3)+(6+4+4)+1= ABC The only candidate that can outperform T(4,1,2,3) is T(2,4,…) so we calculate it: Actual T(2,4,1,3) = 29 Actual T(2,4,3,1) = 34

ABC Start 1234 Actual Time: So the best time is T(4,1,2,3) and we don’t need to solve the problem for any other branch because we now their minimum time, already. Bounds: T = 26T = 29 T ≥27T ≥25T ≥23T ≥27 Bounds greater than 26!

Using only the first level criteria we reduce the problem by 50% (omitting 2 main branches). Using the second level criteria we can reduce even more. Summary