130 likes | 256 Views
Shared Car Network. Production Scheduling Project – Spring 2014. Tyler Ritrovato (tr2397) Peter Gray (png2105). The Idea. Google’s Driverless Car began design in 2005 and continues to advance Advent of Uber and Lyft services in late 2000’s We see an opportunity…
E N D
Shared Car Network Production Scheduling Project – Spring 2014 Tyler Ritrovato (tr2397) Peter Gray (png2105)
The Idea • Google’s Driverless Car began design in 2005 and continues to advance • Advent of Uber and Lyft services in late 2000’s We see an opportunity… New Driverless Car Technology + Efficient Dispatching Algorithms __________________________ Shared Car Network
Shared Car Network • Instead of owning multiple cars per household, individuals or families become a member of a Shared Car Network (SCN) • Cars dispatched based on an efficient algorithm BENEFITS • Less cars on road is better for environment • Reduced traffic (at scale) • No more hassle of owning and maintaining personal cars RISKS • Not as flexible for on-demand trips • Potential for late or missed pick-ups
Relating to a Scheduling Problem • Machines All the cars in the network • Regular Job Picking up a customer and dropping that customer off. Defined by the following inputs: • Origin • Destination • Pick-up Time • Time due at destination • Processing Times: • Unoccupied Car time from last drop-off to next customer pick-up • Occupied Car time from pick-up of customer to drop-off
Optimization Decision Therefore, our problem boils down to the following production scheduling problem: P | rj , Lmax| m Minimize # of Machines # of Machines Constrain on Max Lateness and Minimum % of Requests Serviced Max Lateness % of Requests Serviced
Sample Data • Downloaded September, 2013 data from Citibike.com • Focused on the morning rush hour (8:00 AM- 10:00 AM) on Monday, September 9th. • Limited data to nine citibike ids (machines) • Release date Start of trip • Due date Trip Duration plus 20% • 24 Total Jobs
Algorithm Structure Utilizing a Greedy Algorithm: • Step 1: List job requests in ascending order (morning to night) • Step 2: For each job, choose the machine with the lowest metric score • Metric Score Remaining processing time of current job + time to reach customer – time since availability • Add a machine if all of the possible machines lead to an undesirable lateness value • Step 3: Continue until all jobs are assigned
Algorithm Example • Job 1: Starts at 8:01 AM at W 25 St & 6 Ave and ends at 8:12 AM at Broadway & W 51 St • Add job 1 to machine 1
Algorithm Example • Job 2: Starts at 8:04 AM at 11 Ave & W 41 St and ends at 8:33 AM at John St & William St • Must add a second machine because using just machine 1 would lead to being late by 15 minutes • Lateness= 8 minutes remaining processing time from job 1 + 7 minutes to travel from job 1 ending point to job 2 starting point ✓ • Add job 2 to machine 2
Metric Score Example • Metric Score = Remaining processing time of current job + time to reach customer – time since availability • Job 11: Starts at 9:00AM at Fulton St and Grand Ave and ends at 9:04AM at Lafayette Ave and Classon Ave Machine 1: Available since 8:34 and is 24 ½ minutes away from pickup location Metric Score = 0 + 24 ½ - 26 = -1 ½ Machine 2: Busy until 9:09 and is 11 minutes away Metric Score = 9 + 11 - 0= 20 Machine 3: Busy until 9:07 and is 5 minutes away Metric Score = 7 + 5 - 0 = 12 minutes away Machine 4: Available since 8:55 and is 33 minutes away Metric Score = 0 + 33 - 5 = 28 Machine 5: Busy until 9:09 and is 0 minutes away Metric Score = 9 + 0 - 0 = 9 • At this point in the algorithm, there are 5 machines • What machine should job 11 be assigned to? Machine 1
Results & Next Steps Results: • Citibike required 9 bikes needed for 24 job instances • Our shared car network algorithm required only 6 machines for 24 job instances • No late jobs • We service 100% of all requests Next Steps: • Try out our algorithm with more data (what happens when there are 100, 1000 jobs?) • Play with max lateness and % of requests serviced parameters to see affect on machine requirements • Create a program to compute algorithm
Questions? “General Solutions get you a 50% tip.” Source: xkcd.com