Scheduling Algorithm for Delivery and Collection System

Size: px
Start display at page:

Download "Scheduling Algorithm for Delivery and Collection System"

Transcription

1 Scheduling Algorithm for Delivery and Collection System Kanwal Prakash Singh Data Scientist, DSL, Housing.com

2 Abstract Extreme teams, large-scale agents teams operating in dynamic environments are quite frequent these days. The task allocation forms a crucial part of the operations team. Housing.com faces a particularly challenging task with regards to optimizing the routes of its data collectors, who are required to collect and verify data for each of the company s listings. We discuss an approach for optimal allocation of timed tasks (Listing Requests) to the work force (Data Collectors) and also discuss the handling of real time tasks and their distribution. We use Hungarian Algorithm for finding minimum cost maximum matching in a graph to achieve this. Keywords: Scheduling, bipartite graphs, matching, Hungarian algorithm, operations research, decision science 2

3 Introduction Route optimization poses a logistical challenge to organizations with large on-ground footprints. The objective of route optimization is to maximize the number of visits per agent, while also minimizing the distance to be travelled by said agent. Housing.com faces a particularly challenging task with regards to optimizing the routes of its data collectors, who are required to collect and verify data for each of the company s listings. With over a 1000 new listings added to the website daily, each containing 90 associated data points for collection and verification, the company was likely to benefit significantly from the optimization of this process. The process of data collection starts with an owner or broker raising a listing request (LR). The LR acts as an expression of interest from the owner/broker to list their property on the portal. Once the LR is raised, a data collector (DC) is allotted with the responsibility of verifying the data submitted for the listing at a time that is convenient for both the DC and the listee. Once the DC has collected the data, the data is transferred to the Data Quality team, who are entrusted with the responsibility of verifying the listing. Once the listing is thoroughly verified, it is uploaded on the portal. The challenge is to allot DCs LRs such that their travelling time is minimized. There are several direct and indirect benefits of route optimization. Firstly, DCs are enabled to process a large number of requests daily, minimizing the lag time between an LR and posting of a request. An optimal scenario also prevents DCs from having to travel to locations that are far away from each other. Additionally, this will save the fuel and associated costs. The solution outlined in this document has the potential to have far-reaching consequences not only for data collection optimization in real estate, but also for similar optimization problems in other industries such as the logistics sector. 3

4 Methodology Background Task assignment problem (Carpaneto et al, 1980) can be optimized through the creation of a bipartite graph (Appendix 6) of persons and tasks and then finding out minimum cost maximum matching (Appendix 7,8,9). Hungarian Algorithm (Appendix 8) is usually used to find the solution to problems of this kind. An optimal task assignment would be one in which tasks can be completed with minimum cost, measured either as time or monetary cost. For solving such problems a graph is constructed with one partition of nodes as persons and other partition as jobs, the weights of the edges between the persons and tasks can be treated as the cost incurred by a person to perform a particular task. Note that a person cannot perform two different jobs, i.e. a node in one partition can be connected to at most one node in the other partition and vice versa. An edges set needs to be found such that no two edges have a common vertex. Out of the many possible edges the one, which has minimum value for sum of edge-weights in the edge set, is found. This is the same as finding the minimum cost maximum matching in the bipartite graph. There are two possible cases that are outlined in this report. In case 1, some owners/brokers ask for a specific time allotment on a day other than the current day. After checking if such requests can be entertained, they are allocated to DCs in a way that leads to minimum deviation from their allocated path. At the end of the day, the Hungarian algorithm is run and it makes fresh allocations of DC s to the LRs, keeping the start time of LRs fixed. This is discussed in section In case 2, each LR has a slot number, and LR is scheduled such that it is visited in the order of increasing slot number. When LRs arrive in the system, a check is made in the system to find out whether it can be serviced in the requested time slot. If DCs are available nearby, the LR is added to one of their computed paths such that it leads to minimum cost. Insertion of Real Time LRs in the previously calculated optimal paths of DCs causes deviations from the optimal. If appearances of LRs can be predicted, an optimal solution for assignments can be reached. But since that isn t possible here, the Hungarian Algorithm is run repeatedly at different intervals during the day to fix the deviations caused by real time incoming requests. This has been further discussed in Case 2. 4

5 Model Implementation Case 1: DC allotment when start time of LRs is known Before the start of each day, a list of LRs scheduled for the next day is available. Based on heuristics and limited knowledge of future, LRs need to be optimally reassigned. This can be viewed as a task allotment problem where the start time of tasks is known. Each task has a weight (cost) of being performed by a particular person. A graph is constructed in the following way. LRs are numbered as ki, where k is the slot number and i is the LR number, so LR 13 and 14 have to be served in parallel (i.e. they lie in the same time slot). The number of LRs in a slot can never be greater than the number of DC s that can reach the serve the LRs in that slot, otherwise we won t be able to schedule the LR s. An edge between ki and mj exists if Where T(ki,mj) (Start(mj) - b)-( End(ki) + b) i.e. T(ki,mj)+ 2b (Start(mj) - End(ki)) m > k T(i,j) is the time taken to travel between i and j b is the buffer Start(a) and End(a) is the start and end time of a respectively m,k are the slot nos. There is a buffer time after the end and before the start of every LR, so as to take care of random delays that may occur due to various natural reasons. A DCs initial coordinates (node/vertices) are represented by 01 : DC_1, 02 : DC_2 and so on. This can be seen in figure [1] m m m 3 0 L 1 N 1 2 N 2 m N m Figure 1 5

6 Now a dummy vertex ki (read as ki prime) is attached corresponding to each LR, signifying that a DC will have this coordinate when he covers this particular LR (ki). Now, each vertex is joined with prime notation (ki ) to the vertex of LRs such that all nodes are connected. An exception occurs when k >= a, in which case an edge between ki and ai doesn t exist. This is because it represents an LR (ai) in a previous time slot. The weight of the edge is the time taken to reach from ki to aj. Note that the vertices with prime notations cannot are never connected to each other (there is no edge between ki, ji no matter what). Also, each LR has some expected amount of time spent so an edge between ki and aj even when k < a wouldn t exist if the expected time spent at LR ki exceeds the time it will take to reach LR aj. The graph would appear like in figure [2] m m m 3 0 L 1 N 1 1 N 1 2 N 2 m Nm Figure 2 6

7 The graph in figure 2 can be divided into two disjoint subsets, one containing all the LR s and the other containing a DC s starting coordinates and the coordinates a DC will have after he is sent to a particular LR, i.e. the prime notations ex. ki. Since there is no edge between the vertices belonging to the same set it is a bipartite graph. Refer figure [3] LRs have to be assigned to DCs such that the sum of the distance travelled by the DCs is minimum. The speed of each DC is assumed to be constant. As mentioned previously, the edges represent the time between different paths. Thus all the vertices of the graph must be covered and the sum of the edge weights of this matching has to be minimum. The Hungarian Algorithm (Appendix 10) is used to find an optimal allocation of requests L N N N N N m N m m Nm DC Coordinates LR Coordinates Figure 3 7

8 Case 2: Real time allotment of LRs when start time is unknown For real time requests, the model must be able to confirm if the LRS can be served at the requested time. For this, DC s are required to be freed in the requested time slot. The DC at minimum distance from the assignment is picked. Suppose a DC is allocated requests mi and nj, a new request kj that appears in system real time will be assigned to a DC if ARGMIN_DC (T(mi,kl) + T(kl,nj)) (T(mi,kl)+b)+( T(kl,nj)+b)+(End(kl) + b)-( Start(nj)-b) ) Start(nj)-End(kl) i.e. T(mi,kl)+ T(kl,nj)+ ( End(kl)- Start(nj) )+ 4b Start(nj) - End(kl) n > k > m Where T(i,j) is the time taken between i and j Start(a) and End(a) are the start time and end time of a respectively b is the buffer time If the constraints of the previous equation are not satisfied for any DC, then a different time will have to be provided for the new request kl and the same procedure will be repeated. If there is no possible scheduling of this new request kl, it will have to be scheduled for the next day. If the requested time for the new LR (kl) is more than β, Hungarian Algorithm is rerun. In this case, the locations of the DC s next LRs (or current locations in case they are free in the next slots) are treated as his starting locations and the algorithm is rerun for the LRs falling after this time. A DC should have information about his next visit at leastαtime before starting his next job. This is done to remove any hassles reassignment may create. Another important thing to note is that the algorithm doesn t understand the concept of waiting time between the successive tasks assigned to a DC. Suppose a DC is allocated requests mi and nj. if m - n γ T(mi,home)+ T(home,nj)+ 4*buffer Start(nj)-End(mi) or T(mi,office) + T(office,nj) + 4*buffer Start(nj)-End(mi) 8

9 The DC can either go home or to a nearby office. We can decide which of the two places DC should go by using the following algorithm Next = ARGMIN_a ( T(mi,a) +T(a,nj) a = {home,office} The value of γsignifies the time for which wish to keep a DC idle at a particular location in case he has no task. 9

10 Results & Conclusions The proposed solution is likely to improve organizational efficiency significantly. Optimization achieved through this solution is measured on two fronts. The first is the through measuring the reduction in travel time (also the distance in our case) of DCs. The second is through ascertaining that DCs are able to service LRs per schedule after implementation of the solution. For benchmarking the new algorithm against the new one we calculated the distance travelled through the existing algorithm (fetching the records from our database) and simulated the LRs using the proposed algorithm. First we scheduled all the LRs that were made for a particular date t, at date t-1 we reassigned the LRs using approach described in section Then the requests, which came into the system real time on date t, were added to the pre-computed paths of DCs. These simulations revealed greater than 50% reduction in distance with no compromise on servicing of LRs. Plot 1 and Plot 2 demonstrate the total distance travelled by the current algorithm and proposed algorithm for different dates for Bangalore and Mumbai respectively Bangalore Distance Current Projected /05/14 18/05/14 19/05/14 20/05/14 21/05/14 22/05/14 23/05/14 Date Plot 1: Total Distance vs Date (Bangalore) 10

11 From the simulations of the proposed algorithm we also observed that 27 % of the DCs remained idle and were not given any LR. In order to see the limit of utilizations we took the LRs of 2 days and started the allocation through the approach discussed in sec We found out that 97% of the LRs of these extra LRs could be scheduled in the same day, thus improving our resource utilizations. The relevance of route optimization was alluded to earlier in the document. Perhaps the most important feature of the solution is its applicability to the operations of several diverse industries. For instance, the solution can be extended to logistics companies, optimizing the route of delivery boys for a given number of package drop locations Mumbai Distance /05/14 18/05/14 19/05/14 20/05/14 21/05/14 22/05/14 23/05/14 Date Current Projected Plot 2: Total Distance vs Date (Mumbai) 11

12 Acknowledgements I was able to complete (and publish) this white paper with the support and encouragement of numerous people. I would first like to extend my gratitude to my managers Mr. Abhishek Anand, and Mr. Abhimanyu Dhamija for their constant encouragement and technical support. I am also grateful to my colleague Mr. Shanu Vivek for identifying the problem and entrusting me with the responsibility of solving it. I am also indebted to my colleague, Mr. Nitin Sangwan for providing me with resources and organisational support I required to solve this problem, and my intern Mr. Adit Rustagi for carrying out the simulations and tests highlighted in this report. I would also like to acknowledge my colleague, Mr. Akhil Srivatsan for aiding me with the development of the content of this report. 12

13 Definitions/ Appendix 1. Node/Vertex: an independent entity, smallest building block of a graph 2. Edge: the connection between vertices 3. Graph: a collection of edges and vertices 4. DC: data collector 5. LR: listing request 6. Bipartite Graph: A graph is said to bipartite if it can be represented as two disjoint sets such that no two nodes belonging to the same set have an edge 7. Matching: A set of edges such that no two edges have a common vertex 8. Maximum Matching: A matching of highest size 9. Minimum Cost Maximum Matching: A matching where the sum of edges in the maximum matching is minimum 10. Hungarian Algorithm Construction of Cost Matrix Firstly all the listing requests have been divided into slots say A, B, C and so on. The X-axis of the matrix consists of all the listing requests. The Y-axis of the matrix consists of all the Data Collectors followed by all the listing requests locations excluding the listing requests of the final slot (as the listing requests are also possible locations from where the Data Collector can go to his next allotment). The cost matrix is then constructed by using the distances between locations as the costs. The matrix is made square because the Hungarian algorithm requires a square matrix as its input. If there are more number of rows then we add extra columns with all elements set to zero. If there are more number of columns then we add extra rows with all elements set to a very high cost. This is done because an extra column means a dummy request and it takes zero effort to perform a dummy request. Similarly an extra row means a fake Data Collector and it takes infinite amount of effort for a fake Data Collector to perform a real task. Procedure 1. Subtract row minimums from all the elements of the respective row. Then go to step Select a set of independent zeroes from the matrix and mark them with a star. This is done by selecting the leading zeroes from the matrix, marking them with a star and removing the row and column corresponding to the zero. Then go to step Cover the columns containing the starred zeroes. If all the columns of the matrix are covered then the starred zeroes represent the optimal assignments otherwise go to step 4. 13

14 4. Find an uncovered zero. If there is none then go to step 6. If there is at least one then prime it (mark it as ) and call it P0. If there is a starred zero in the row corresponding to the primed zero then cover the row corresponding to the star zero and uncover the column corresponding to the star zero and repeat step 4. If there is no star zero then go to step Find a path of alternating primes and stars by starting from the prime P0 of step 4. This is done by finding a starred zero in the column of P0(if it exists) and then finding a prime zero(which is surely there) in the row of the starred zero. Continue with the process till you do not find a starred zero in the column of the prime zero. Then un-star all the starred zeroes found in the path and star all the primed zeroes found in the path. After that un prime all the primed zeroes and uncover all the rows and columns and go to step Find the minimum uncovered element. Subtract it from all the uncovered elements and add it to the twice-coveredelements that are both row and column covered. Source: References 1. Carpaneto, Giorgio, and Paolo Toth. Algorithm 548: Solution of the assignment problem [H]. ACM Transactions on Mathematical Software (TOMS) 6.1 (1980): Giovanni Righini, Associate professor of Operations Research at Università degli Studi di Milano,Facoltà di Scienze Matematiche, Fisiche e Naturali, Dipartimento di Tecnologie dell Informazione, Lecture Notes on Matching Matching.pdf, last accessed 20 June Lovász, László, and Michael D. Plummer. Matching theory. New York (1986). 4. Munkres (Hungarian) Algorithm for Linear Assignment Problem by Yi Cao last accessed 20 June

DATA ANALYSIS II. Matrix Algorithms

DATA ANALYSIS II. Matrix Algorithms DATA ANALYSIS II Matrix Algorithms Similarity Matrix Given a dataset D = {x i }, i=1,..,n consisting of n points in R d, let A denote the n n symmetric similarity matrix between the points, given as where

More information

IE 680 Special Topics in Production Systems: Networks, Routing and Logistics*

IE 680 Special Topics in Production Systems: Networks, Routing and Logistics* IE 680 Special Topics in Production Systems: Networks, Routing and Logistics* Rakesh Nagi Department of Industrial Engineering University at Buffalo (SUNY) *Lecture notes from Network Flows by Ahuja, Magnanti

More information

Load Balancing and Switch Scheduling

Load Balancing and Switch Scheduling EE384Y Project Final Report Load Balancing and Switch Scheduling Xiangheng Liu Department of Electrical Engineering Stanford University, Stanford CA 94305 Email: [email protected] Abstract Load

More information

The Assignment Problem and the Hungarian Method

The Assignment Problem and the Hungarian Method The Assignment Problem and the Hungarian Method 1 Example 1: You work as a sales manager for a toy manufacturer, and you currently have three salespeople on the road meeting buyers. Your salespeople are

More information

Using simulation to calculate the NPV of a project

Using simulation to calculate the NPV of a project Using simulation to calculate the NPV of a project Marius Holtan Onward Inc. 5/31/2002 Monte Carlo simulation is fast becoming the technology of choice for evaluating and analyzing assets, be it pure financial

More information

Linear Programming I

Linear Programming I Linear Programming I November 30, 2003 1 Introduction In the VCR/guns/nuclear bombs/napkins/star wars/professors/butter/mice problem, the benevolent dictator, Bigus Piguinus, of south Antarctica penguins

More information

Social Media Mining. Graph Essentials

Social Media Mining. Graph Essentials Graph Essentials Graph Basics Measures Graph and Essentials Metrics 2 2 Nodes and Edges A network is a graph nodes, actors, or vertices (plural of vertex) Connections, edges or ties Edge Node Measures

More information

Load balancing Static Load Balancing

Load balancing Static Load Balancing Chapter 7 Load Balancing and Termination Detection Load balancing used to distribute computations fairly across processors in order to obtain the highest possible execution speed. Termination detection

More information

Load Balancing and Termination Detection

Load Balancing and Termination Detection Chapter 7 Load Balancing and Termination Detection 1 Load balancing used to distribute computations fairly across processors in order to obtain the highest possible execution speed. Termination detection

More information

Every tree contains a large induced subgraph with all degrees odd

Every tree contains a large induced subgraph with all degrees odd Every tree contains a large induced subgraph with all degrees odd A.J. Radcliffe Carnegie Mellon University, Pittsburgh, PA A.D. Scott Department of Pure Mathematics and Mathematical Statistics University

More information

Outline. NP-completeness. When is a problem easy? When is a problem hard? Today. Euler Circuits

Outline. NP-completeness. When is a problem easy? When is a problem hard? Today. Euler Circuits Outline NP-completeness Examples of Easy vs. Hard problems Euler circuit vs. Hamiltonian circuit Shortest Path vs. Longest Path 2-pairs sum vs. general Subset Sum Reducing one problem to another Clique

More information

Linear Programming Problems

Linear Programming Problems Linear Programming Problems Linear programming problems come up in many applications. In a linear programming problem, we have a function, called the objective function, which depends linearly on a number

More information

MEP Y9 Practice Book A

MEP Y9 Practice Book A 1 Base Arithmetic 1.1 Binary Numbers We normally work with numbers in base 10. In this section we consider numbers in base 2, often called binary numbers. In base 10 we use the digits 0, 1, 2, 3, 4, 5,

More information

SIMULATION OF LOAD BALANCING ALGORITHMS: A Comparative Study

SIMULATION OF LOAD BALANCING ALGORITHMS: A Comparative Study SIMULATION OF LOAD BALANCING ALGORITHMS: A Comparative Study Milan E. Soklic Abstract This article introduces a new load balancing algorithm, called diffusive load balancing, and compares its performance

More information

Network (Tree) Topology Inference Based on Prüfer Sequence

Network (Tree) Topology Inference Based on Prüfer Sequence Network (Tree) Topology Inference Based on Prüfer Sequence C. Vanniarajan and Kamala Krithivasan Department of Computer Science and Engineering Indian Institute of Technology Madras Chennai 600036 [email protected],

More information

Time series Forecasting using Holt-Winters Exponential Smoothing

Time series Forecasting using Holt-Winters Exponential Smoothing Time series Forecasting using Holt-Winters Exponential Smoothing Prajakta S. Kalekar(04329008) Kanwal Rekhi School of Information Technology Under the guidance of Prof. Bernard December 6, 2004 Abstract

More information

On the k-path cover problem for cacti

On the k-path cover problem for cacti On the k-path cover problem for cacti Zemin Jin and Xueliang Li Center for Combinatorics and LPMC Nankai University Tianjin 300071, P.R. China [email protected], [email protected] Abstract In this paper we

More information

Scheduling Shop Scheduling. Tim Nieberg

Scheduling Shop Scheduling. Tim Nieberg Scheduling Shop Scheduling Tim Nieberg Shop models: General Introduction Remark: Consider non preemptive problems with regular objectives Notation Shop Problems: m machines, n jobs 1,..., n operations

More information

1 Introduction. Dr. T. Srinivas Department of Mathematics Kakatiya University Warangal 506009, AP, INDIA [email protected]

1 Introduction. Dr. T. Srinivas Department of Mathematics Kakatiya University Warangal 506009, AP, INDIA tsrinivasku@gmail.com A New Allgoriitthm for Miiniimum Costt Liinkiing M. Sreenivas Alluri Institute of Management Sciences Hanamkonda 506001, AP, INDIA [email protected] Dr. T. Srinivas Department of Mathematics Kakatiya

More information

List the elements of the given set that are natural numbers, integers, rational numbers, and irrational numbers. (Enter your answers as commaseparated

List the elements of the given set that are natural numbers, integers, rational numbers, and irrational numbers. (Enter your answers as commaseparated MATH 142 Review #1 (4717995) Question 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Description This is the review for Exam #1. Please work as many problems as possible

More information

Applied Algorithm Design Lecture 5

Applied Algorithm Design Lecture 5 Applied Algorithm Design Lecture 5 Pietro Michiardi Eurecom Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 5 1 / 86 Approximation Algorithms Pietro Michiardi (Eurecom) Applied Algorithm Design

More information

Practical Guide to the Simplex Method of Linear Programming

Practical Guide to the Simplex Method of Linear Programming Practical Guide to the Simplex Method of Linear Programming Marcel Oliver Revised: April, 0 The basic steps of the simplex algorithm Step : Write the linear programming problem in standard form Linear

More information

Complexity Theory. IE 661: Scheduling Theory Fall 2003 Satyaki Ghosh Dastidar

Complexity Theory. IE 661: Scheduling Theory Fall 2003 Satyaki Ghosh Dastidar Complexity Theory IE 661: Scheduling Theory Fall 2003 Satyaki Ghosh Dastidar Outline Goals Computation of Problems Concepts and Definitions Complexity Classes and Problems Polynomial Time Reductions Examples

More information

Cloud Computing is NP-Complete

Cloud Computing is NP-Complete Working Paper, February 2, 20 Joe Weinman Permalink: http://www.joeweinman.com/resources/joe_weinman_cloud_computing_is_np-complete.pdf Abstract Cloud computing is a rapidly emerging paradigm for computing,

More information

How To Understand And Solve Algebraic Equations

How To Understand And Solve Algebraic Equations College Algebra Course Text Barnett, Raymond A., Michael R. Ziegler, and Karl E. Byleen. College Algebra, 8th edition, McGraw-Hill, 2008, ISBN: 978-0-07-286738-1 Course Description This course provides

More information

AP Physics 1 and 2 Lab Investigations

AP Physics 1 and 2 Lab Investigations AP Physics 1 and 2 Lab Investigations Student Guide to Data Analysis New York, NY. College Board, Advanced Placement, Advanced Placement Program, AP, AP Central, and the acorn logo are registered trademarks

More information

Vector Notation: AB represents the vector from point A to point B on a graph. The vector can be computed by B A.

Vector Notation: AB represents the vector from point A to point B on a graph. The vector can be computed by B A. 1 Linear Transformations Prepared by: Robin Michelle King A transformation of an object is a change in position or dimension (or both) of the object. The resulting object after the transformation is called

More information

5. Multiple regression

5. Multiple regression 5. Multiple regression QBUS6840 Predictive Analytics https://www.otexts.org/fpp/5 QBUS6840 Predictive Analytics 5. Multiple regression 2/39 Outline Introduction to multiple linear regression Some useful

More information

Problem Set 7 Solutions

Problem Set 7 Solutions 8 8 Introduction to Algorithms May 7, 2004 Massachusetts Institute of Technology 6.046J/18.410J Professors Erik Demaine and Shafi Goldwasser Handout 25 Problem Set 7 Solutions This problem set is due in

More information

Approximation Algorithms

Approximation Algorithms Approximation Algorithms or: How I Learned to Stop Worrying and Deal with NP-Completeness Ong Jit Sheng, Jonathan (A0073924B) March, 2012 Overview Key Results (I) General techniques: Greedy algorithms

More information

What are the place values to the left of the decimal point and their associated powers of ten?

What are the place values to the left of the decimal point and their associated powers of ten? The verbal answers to all of the following questions should be memorized before completion of algebra. Answers that are not memorized will hinder your ability to succeed in geometry and algebra. (Everything

More information

Lecture 10: Regression Trees

Lecture 10: Regression Trees Lecture 10: Regression Trees 36-350: Data Mining October 11, 2006 Reading: Textbook, sections 5.2 and 10.5. The next three lectures are going to be about a particular kind of nonlinear predictive model,

More information

Operations and Supply Chain Management Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras

Operations and Supply Chain Management Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras Operations and Supply Chain Management Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras Lecture - 36 Location Problems In this lecture, we continue the discussion

More information

Network Flow I. Lecture 16. 16.1 Overview. 16.2 The Network Flow Problem

Network Flow I. Lecture 16. 16.1 Overview. 16.2 The Network Flow Problem Lecture 6 Network Flow I 6. Overview In these next two lectures we are going to talk about an important algorithmic problem called the Network Flow Problem. Network flow is important because it can be

More information

Linear Programming. March 14, 2014

Linear Programming. March 14, 2014 Linear Programming March 1, 01 Parts of this introduction to linear programming were adapted from Chapter 9 of Introduction to Algorithms, Second Edition, by Cormen, Leiserson, Rivest and Stein [1]. 1

More information

MATH 110 College Algebra Online Families of Functions Transformations

MATH 110 College Algebra Online Families of Functions Transformations MATH 110 College Algebra Online Families of Functions Transformations Functions are important in mathematics. Being able to tell what family a function comes from, its domain and range and finding a function

More information

Linear Equations and Inequalities

Linear Equations and Inequalities Linear Equations and Inequalities Section 1.1 Prof. Wodarz Math 109 - Fall 2008 Contents 1 Linear Equations 2 1.1 Standard Form of a Linear Equation................ 2 1.2 Solving Linear Equations......................

More information

3/25/2014. 3/25/2014 Sensor Network Security (Simon S. Lam) 1

3/25/2014. 3/25/2014 Sensor Network Security (Simon S. Lam) 1 Sensor Network Security 3/25/2014 Sensor Network Security (Simon S. Lam) 1 1 References R. Blom, An optimal class of symmetric key generation systems, Advances in Cryptology: Proceedings of EUROCRYPT 84,

More information

Load Balancing and Termination Detection

Load Balancing and Termination Detection Chapter 7 slides7-1 Load Balancing and Termination Detection slides7-2 Load balancing used to distribute computations fairly across processors in order to obtain the highest possible execution speed. Termination

More information

. P. 4.3 Basic feasible solutions and vertices of polyhedra. x 1. x 2

. P. 4.3 Basic feasible solutions and vertices of polyhedra. x 1. x 2 4. Basic feasible solutions and vertices of polyhedra Due to the fundamental theorem of Linear Programming, to solve any LP it suffices to consider the vertices (finitely many) of the polyhedron P of the

More information

Lecture 15 An Arithmetic Circuit Lowerbound and Flows in Graphs

Lecture 15 An Arithmetic Circuit Lowerbound and Flows in Graphs CSE599s: Extremal Combinatorics November 21, 2011 Lecture 15 An Arithmetic Circuit Lowerbound and Flows in Graphs Lecturer: Anup Rao 1 An Arithmetic Circuit Lower Bound An arithmetic circuit is just like

More information

M. Sugumaran / (IJCSIT) International Journal of Computer Science and Information Technologies, Vol. 2 (3), 2011, 1001-1006

M. Sugumaran / (IJCSIT) International Journal of Computer Science and Information Technologies, Vol. 2 (3), 2011, 1001-1006 A Design of Centralized Meeting Scheduler with Distance Metrics M. Sugumaran Department of Computer Science and Engineering,Pondicherry Engineering College, Puducherry, India. Abstract Meeting scheduling

More information

Information Theory and Coding Prof. S. N. Merchant Department of Electrical Engineering Indian Institute of Technology, Bombay

Information Theory and Coding Prof. S. N. Merchant Department of Electrical Engineering Indian Institute of Technology, Bombay Information Theory and Coding Prof. S. N. Merchant Department of Electrical Engineering Indian Institute of Technology, Bombay Lecture - 17 Shannon-Fano-Elias Coding and Introduction to Arithmetic Coding

More information

Administrative - Master Syllabus COVER SHEET

Administrative - Master Syllabus COVER SHEET Administrative - Master Syllabus COVER SHEET Purpose: It is the intention of this to provide a general description of the course, outline the required elements of the course and to lay the foundation for

More information

1 Review of Least Squares Solutions to Overdetermined Systems

1 Review of Least Squares Solutions to Overdetermined Systems cs4: introduction to numerical analysis /9/0 Lecture 7: Rectangular Systems and Numerical Integration Instructor: Professor Amos Ron Scribes: Mark Cowlishaw, Nathanael Fillmore Review of Least Squares

More information

" Y. Notation and Equations for Regression Lecture 11/4. Notation:

 Y. Notation and Equations for Regression Lecture 11/4. Notation: Notation: Notation and Equations for Regression Lecture 11/4 m: The number of predictor variables in a regression Xi: One of multiple predictor variables. The subscript i represents any number from 1 through

More information

Schedule Risk Analysis Simulator using Beta Distribution

Schedule Risk Analysis Simulator using Beta Distribution Schedule Risk Analysis Simulator using Beta Distribution Isha Sharma Department of Computer Science and Applications, Kurukshetra University, Kurukshetra, Haryana (INDIA) [email protected] Dr. P.K.

More information

This paper introduces a new method for shift scheduling in multiskill call centers. The method consists of

This paper introduces a new method for shift scheduling in multiskill call centers. The method consists of MANUFACTURING & SERVICE OPERATIONS MANAGEMENT Vol. 10, No. 3, Summer 2008, pp. 411 420 issn 1523-4614 eissn 1526-5498 08 1003 0411 informs doi 10.1287/msom.1070.0172 2008 INFORMS Simple Methods for Shift

More information

Method To Solve Linear, Polynomial, or Absolute Value Inequalities:

Method To Solve Linear, Polynomial, or Absolute Value Inequalities: Solving Inequalities An inequality is the result of replacing the = sign in an equation with ,, or. For example, 3x 2 < 7 is a linear inequality. We call it linear because if the < were replaced with

More information

Structure Preserving Model Reduction for Logistic Networks

Structure Preserving Model Reduction for Logistic Networks Structure Preserving Model Reduction for Logistic Networks Fabian Wirth Institute of Mathematics University of Würzburg Workshop on Stochastic Models of Manufacturing Systems Einhoven, June 24 25, 2010.

More information

! Solve problem to optimality. ! Solve problem in poly-time. ! Solve arbitrary instances of the problem. #-approximation algorithm.

! Solve problem to optimality. ! Solve problem in poly-time. ! Solve arbitrary instances of the problem. #-approximation algorithm. Approximation Algorithms 11 Approximation Algorithms Q Suppose I need to solve an NP-hard problem What should I do? A Theory says you're unlikely to find a poly-time algorithm Must sacrifice one of three

More information

Why? A central concept in Computer Science. Algorithms are ubiquitous.

Why? A central concept in Computer Science. Algorithms are ubiquitous. Analysis of Algorithms: A Brief Introduction Why? A central concept in Computer Science. Algorithms are ubiquitous. Using the Internet (sending email, transferring files, use of search engines, online

More information

Chapter 7 Load Balancing and Termination Detection

Chapter 7 Load Balancing and Termination Detection Chapter 7 Load Balancing and Termination Detection Load balancing used to distribute computations fairly across processors in order to obtain the highest possible execution speed. Termination detection

More information

Clustering. Danilo Croce Web Mining & Retrieval a.a. 2015/201 16/03/2016

Clustering. Danilo Croce Web Mining & Retrieval a.a. 2015/201 16/03/2016 Clustering Danilo Croce Web Mining & Retrieval a.a. 2015/201 16/03/2016 1 Supervised learning vs. unsupervised learning Supervised learning: discover patterns in the data that relate data attributes with

More information

COMBINATORIAL PROPERTIES OF THE HIGMAN-SIMS GRAPH. 1. Introduction

COMBINATORIAL PROPERTIES OF THE HIGMAN-SIMS GRAPH. 1. Introduction COMBINATORIAL PROPERTIES OF THE HIGMAN-SIMS GRAPH ZACHARY ABEL 1. Introduction In this survey we discuss properties of the Higman-Sims graph, which has 100 vertices, 1100 edges, and is 22 regular. In fact

More information

Using Excel (Microsoft Office 2007 Version) for Graphical Analysis of Data

Using Excel (Microsoft Office 2007 Version) for Graphical Analysis of Data Using Excel (Microsoft Office 2007 Version) for Graphical Analysis of Data Introduction In several upcoming labs, a primary goal will be to determine the mathematical relationship between two variable

More information

Design and Analysis of ACO algorithms for edge matching problems

Design and Analysis of ACO algorithms for edge matching problems Design and Analysis of ACO algorithms for edge matching problems Carl Martin Dissing Söderlind Kgs. Lyngby 2010 DTU Informatics Department of Informatics and Mathematical Modelling Technical University

More information

3 Some Integer Functions

3 Some Integer Functions 3 Some Integer Functions A Pair of Fundamental Integer Functions The integer function that is the heart of this section is the modulo function. However, before getting to it, let us look at some very simple

More information

How To Run Statistical Tests in Excel

How To Run Statistical Tests in Excel How To Run Statistical Tests in Excel Microsoft Excel is your best tool for storing and manipulating data, calculating basic descriptive statistics such as means and standard deviations, and conducting

More information

Static Load Balancing

Static Load Balancing Load Balancing Load Balancing Load balancing: distributing data and/or computations across multiple processes to maximize efficiency for a parallel program. Static load-balancing: the algorithm decides

More information

Reduced echelon form: Add the following conditions to conditions 1, 2, and 3 above:

Reduced echelon form: Add the following conditions to conditions 1, 2, and 3 above: Section 1.2: Row Reduction and Echelon Forms Echelon form (or row echelon form): 1. All nonzero rows are above any rows of all zeros. 2. Each leading entry (i.e. left most nonzero entry) of a row is in

More information

Max Flow, Min Cut, and Matchings (Solution)

Max Flow, Min Cut, and Matchings (Solution) Max Flow, Min Cut, and Matchings (Solution) 1. The figure below shows a flow network on which an s-t flow is shown. The capacity of each edge appears as a label next to the edge, and the numbers in boxes

More information

1 VECTOR SPACES AND SUBSPACES

1 VECTOR SPACES AND SUBSPACES 1 VECTOR SPACES AND SUBSPACES What is a vector? Many are familiar with the concept of a vector as: Something which has magnitude and direction. an ordered pair or triple. a description for quantities such

More information

Arithmetic and Algebra of Matrices

Arithmetic and Algebra of Matrices Arithmetic and Algebra of Matrices Math 572: Algebra for Middle School Teachers The University of Montana 1 The Real Numbers 2 Classroom Connection: Systems of Linear Equations 3 Rational Numbers 4 Irrational

More information

15.062 Data Mining: Algorithms and Applications Matrix Math Review

15.062 Data Mining: Algorithms and Applications Matrix Math Review .6 Data Mining: Algorithms and Applications Matrix Math Review The purpose of this document is to give a brief review of selected linear algebra concepts that will be useful for the course and to develop

More information

Algebra I Vocabulary Cards

Algebra I Vocabulary Cards Algebra I Vocabulary Cards Table of Contents Expressions and Operations Natural Numbers Whole Numbers Integers Rational Numbers Irrational Numbers Real Numbers Absolute Value Order of Operations Expression

More information

Change Management in Enterprise IT Systems: Process Modeling and Capacity-optimal Scheduling

Change Management in Enterprise IT Systems: Process Modeling and Capacity-optimal Scheduling Change Management in Enterprise IT Systems: Process Modeling and Capacity-optimal Scheduling Praveen K. Muthusamy, Koushik Kar, Sambit Sahu, Prashant Pradhan and Saswati Sarkar Rensselaer Polytechnic Institute

More information

Algorithm Design and Analysis

Algorithm Design and Analysis Algorithm Design and Analysis LECTURE 27 Approximation Algorithms Load Balancing Weighted Vertex Cover Reminder: Fill out SRTEs online Don t forget to click submit Sofya Raskhodnikova 12/6/2011 S. Raskhodnikova;

More information

SHARP BOUNDS FOR THE SUM OF THE SQUARES OF THE DEGREES OF A GRAPH

SHARP BOUNDS FOR THE SUM OF THE SQUARES OF THE DEGREES OF A GRAPH 31 Kragujevac J. Math. 25 (2003) 31 49. SHARP BOUNDS FOR THE SUM OF THE SQUARES OF THE DEGREES OF A GRAPH Kinkar Ch. Das Department of Mathematics, Indian Institute of Technology, Kharagpur 721302, W.B.,

More information

Solving Simultaneous Equations and Matrices

Solving Simultaneous Equations and Matrices Solving Simultaneous Equations and Matrices The following represents a systematic investigation for the steps used to solve two simultaneous linear equations in two unknowns. The motivation for considering

More information

Lecture 3. Linear Programming. 3B1B Optimization Michaelmas 2015 A. Zisserman. Extreme solutions. Simplex method. Interior point method

Lecture 3. Linear Programming. 3B1B Optimization Michaelmas 2015 A. Zisserman. Extreme solutions. Simplex method. Interior point method Lecture 3 3B1B Optimization Michaelmas 2015 A. Zisserman Linear Programming Extreme solutions Simplex method Interior point method Integer programming and relaxation The Optimization Tree Linear Programming

More information

December 4, 2013 MATH 171 BASIC LINEAR ALGEBRA B. KITCHENS

December 4, 2013 MATH 171 BASIC LINEAR ALGEBRA B. KITCHENS December 4, 2013 MATH 171 BASIC LINEAR ALGEBRA B KITCHENS The equation 1 Lines in two-dimensional space (1) 2x y = 3 describes a line in two-dimensional space The coefficients of x and y in the equation

More information

NCSS Statistical Software Principal Components Regression. In ordinary least squares, the regression coefficients are estimated using the formula ( )

NCSS Statistical Software Principal Components Regression. In ordinary least squares, the regression coefficients are estimated using the formula ( ) Chapter 340 Principal Components Regression Introduction is a technique for analyzing multiple regression data that suffer from multicollinearity. When multicollinearity occurs, least squares estimates

More information

Notes for EER #4 Graph transformations (vertical & horizontal shifts, vertical stretching & compression, and reflections) of basic functions.

Notes for EER #4 Graph transformations (vertical & horizontal shifts, vertical stretching & compression, and reflections) of basic functions. Notes for EER #4 Graph transformations (vertical & horizontal shifts, vertical stretching & compression, and reflections) of basic functions. Basic Functions In several sections you will be applying shifts

More information

ALGEBRA 2: 4.1 Graph Quadratic Functions in Standard Form

ALGEBRA 2: 4.1 Graph Quadratic Functions in Standard Form ALGEBRA 2: 4.1 Graph Quadratic Functions in Standard Form Goal Graph quadratic functions. VOCABULARY Quadratic function A function that can be written in the standard form y = ax 2 + bx+ c where a 0 Parabola

More information

Minimizing Probing Cost and Achieving Identifiability in Probe Based Network Link Monitoring

Minimizing Probing Cost and Achieving Identifiability in Probe Based Network Link Monitoring Minimizing Probing Cost and Achieving Identifiability in Probe Based Network Link Monitoring Qiang Zheng, Student Member, IEEE, and Guohong Cao, Fellow, IEEE Department of Computer Science and Engineering

More information

Factoring Patterns in the Gaussian Plane

Factoring Patterns in the Gaussian Plane Factoring Patterns in the Gaussian Plane Steve Phelps Introduction This paper describes discoveries made at the Park City Mathematics Institute, 00, as well as some proofs. Before the summer I understood

More information

a 11 x 1 + a 12 x 2 + + a 1n x n = b 1 a 21 x 1 + a 22 x 2 + + a 2n x n = b 2.

a 11 x 1 + a 12 x 2 + + a 1n x n = b 1 a 21 x 1 + a 22 x 2 + + a 2n x n = b 2. Chapter 1 LINEAR EQUATIONS 1.1 Introduction to linear equations A linear equation in n unknowns x 1, x,, x n is an equation of the form a 1 x 1 + a x + + a n x n = b, where a 1, a,..., a n, b are given

More information

Branch-and-Price Approach to the Vehicle Routing Problem with Time Windows

Branch-and-Price Approach to the Vehicle Routing Problem with Time Windows TECHNISCHE UNIVERSITEIT EINDHOVEN Branch-and-Price Approach to the Vehicle Routing Problem with Time Windows Lloyd A. Fasting May 2014 Supervisors: dr. M. Firat dr.ir. M.A.A. Boon J. van Twist MSc. Contents

More information

Summary of important mathematical operations and formulas (from first tutorial):

Summary of important mathematical operations and formulas (from first tutorial): EXCEL Intermediate Tutorial Summary of important mathematical operations and formulas (from first tutorial): Operation Key Addition + Subtraction - Multiplication * Division / Exponential ^ To enter a

More information

Decentralized Utility-based Sensor Network Design

Decentralized Utility-based Sensor Network Design Decentralized Utility-based Sensor Network Design Narayanan Sadagopan and Bhaskar Krishnamachari University of Southern California, Los Angeles, CA 90089-0781, USA [email protected], [email protected]

More information

Analysis of Algorithms, I

Analysis of Algorithms, I Analysis of Algorithms, I CSOR W4231.002 Eleni Drinea Computer Science Department Columbia University Thursday, February 26, 2015 Outline 1 Recap 2 Representing graphs 3 Breadth-first search (BFS) 4 Applications

More information

Load Balancing and Termination Detection

Load Balancing and Termination Detection Chapter 7 Slide 1 Slide 2 Load Balancing and Termination Detection Load balancing used to distribute computations fairly across processors in order to obtain the highest possible execution speed. Termination

More information

1 Introduction to Matrices

1 Introduction to Matrices 1 Introduction to Matrices In this section, important definitions and results from matrix algebra that are useful in regression analysis are introduced. While all statements below regarding the columns

More information

How To Understand And Solve A Linear Programming Problem

How To Understand And Solve A Linear Programming Problem At the end of the lesson, you should be able to: Chapter 2: Systems of Linear Equations and Matrices: 2.1: Solutions of Linear Systems by the Echelon Method Define linear systems, unique solution, inconsistent,

More information

Cost Model: Work, Span and Parallelism. 1 The RAM model for sequential computation:

Cost Model: Work, Span and Parallelism. 1 The RAM model for sequential computation: CSE341T 08/31/2015 Lecture 3 Cost Model: Work, Span and Parallelism In this lecture, we will look at how one analyze a parallel program written using Cilk Plus. When we analyze the cost of an algorithm

More information

17. SIMPLE LINEAR REGRESSION II

17. SIMPLE LINEAR REGRESSION II 17. SIMPLE LINEAR REGRESSION II The Model In linear regression analysis, we assume that the relationship between X and Y is linear. This does not mean, however, that Y can be perfectly predicted from X.

More information

Nimble Algorithms for Cloud Computing. Ravi Kannan, Santosh Vempala and David Woodruff

Nimble Algorithms for Cloud Computing. Ravi Kannan, Santosh Vempala and David Woodruff Nimble Algorithms for Cloud Computing Ravi Kannan, Santosh Vempala and David Woodruff Cloud computing Data is distributed arbitrarily on many servers Parallel algorithms: time Streaming algorithms: sublinear

More information

Transportation Polytopes: a Twenty year Update

Transportation Polytopes: a Twenty year Update Transportation Polytopes: a Twenty year Update Jesús Antonio De Loera University of California, Davis Based on various papers joint with R. Hemmecke, E.Kim, F. Liu, U. Rothblum, F. Santos, S. Onn, R. Yoshida,

More information

CSC2420 Fall 2012: Algorithm Design, Analysis and Theory

CSC2420 Fall 2012: Algorithm Design, Analysis and Theory CSC2420 Fall 2012: Algorithm Design, Analysis and Theory Allan Borodin November 15, 2012; Lecture 10 1 / 27 Randomized online bipartite matching and the adwords problem. We briefly return to online algorithms

More information

Circuits 1 M H Miller

Circuits 1 M H Miller Introduction to Graph Theory Introduction These notes are primarily a digression to provide general background remarks. The subject is an efficient procedure for the determination of voltages and currents

More information

Common Core Unit Summary Grades 6 to 8

Common Core Unit Summary Grades 6 to 8 Common Core Unit Summary Grades 6 to 8 Grade 8: Unit 1: Congruence and Similarity- 8G1-8G5 rotations reflections and translations,( RRT=congruence) understand congruence of 2 d figures after RRT Dilations

More information

The Basics of FEA Procedure

The Basics of FEA Procedure CHAPTER 2 The Basics of FEA Procedure 2.1 Introduction This chapter discusses the spring element, especially for the purpose of introducing various concepts involved in use of the FEA technique. A spring

More information

Automated Model Based Testing for an Web Applications

Automated Model Based Testing for an Web Applications Automated Model Based Testing for an Web Applications Agasarpa Mounica, Lokanadham Naidu Vadlamudi Abstract- As the development of web applications plays a major role in our day-to-day life. Modeling the

More information

FUZZY CLUSTERING ANALYSIS OF DATA MINING: APPLICATION TO AN ACCIDENT MINING SYSTEM

FUZZY CLUSTERING ANALYSIS OF DATA MINING: APPLICATION TO AN ACCIDENT MINING SYSTEM International Journal of Innovative Computing, Information and Control ICIC International c 0 ISSN 34-48 Volume 8, Number 8, August 0 pp. 4 FUZZY CLUSTERING ANALYSIS OF DATA MINING: APPLICATION TO AN ACCIDENT

More information

Largest Fixed-Aspect, Axis-Aligned Rectangle

Largest Fixed-Aspect, Axis-Aligned Rectangle Largest Fixed-Aspect, Axis-Aligned Rectangle David Eberly Geometric Tools, LLC http://www.geometrictools.com/ Copyright c 1998-2016. All Rights Reserved. Created: February 21, 2004 Last Modified: February

More information

Exercise 1.12 (Pg. 22-23)

Exercise 1.12 (Pg. 22-23) Individuals: The objects that are described by a set of data. They may be people, animals, things, etc. (Also referred to as Cases or Records) Variables: The characteristics recorded about each individual.

More information

4. How many integers between 2004 and 4002 are perfect squares?

4. How many integers between 2004 and 4002 are perfect squares? 5 is 0% of what number? What is the value of + 3 4 + 99 00? (alternating signs) 3 A frog is at the bottom of a well 0 feet deep It climbs up 3 feet every day, but slides back feet each night If it started

More information