US 11,720,837 B2
Systems and methods for driver scheduling
Kunlei Lian, Bentonville, AR (US); Ming Ni, Bentonville, AR (US); and Mingang Fu, Palo Alto, CA (US)
Assigned to WALMART APOLLO, LLC, Bentonville, AR (US)
Filed by Walmart Apollo, LLC, Bentonville, AR (US)
Filed on Jan. 31, 2021, as Appl. No. 17/163,469.
Prior Publication US 2022/0245564 A1, Aug. 4, 2022
Int. Cl. G06Q 10/0631 (2023.01); G06Q 10/04 (2023.01); G05B 13/04 (2006.01); G06Q 10/0835 (2023.01); G01C 21/34 (2006.01)
CPC G06Q 10/063116 (2013.01) [G01C 21/3461 (2013.01); G05B 13/041 (2013.01); G06Q 10/04 (2013.01); G06Q 10/0631 (2013.01); G06Q 10/06312 (2013.01); G06Q 10/063114 (2013.01); G06Q 10/063118 (2013.01); G06Q 10/0835 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A system comprising:
one or more processors; and
one or more non-transitory computer-readable media storing computing instructions that, when executed on the one or more processors, cause the one or more processors to perform functions comprising:
receiving a request to generate one or more schedules for drivers;
determining one or more respective day cab schedules for each respective day cab driver of the drivers;
assigning one or more permanent drivers of the drivers to one or more permanent tractors;
after assigning the one or more permanent drivers, assigning at least one driver of one or more remaining drivers of the drivers to at least one tractor based on a first set of rules comprising using rolling-horizon optimization with column generation configured to match each one of the one or more remaining drivers with at least one respective tractor within a time period, wherein the rolling-horizon optimization solves problems by breaking down the problems into sub-problems by dividing a time schedule into a plurality of portions;
excluding, from using the rolling-horizon optimization, a driver of the one or more remaining drivers having a short work week;
assigning, via a second set of rules, a tractor to the driver of the one or more remaining drivers having the short work week, wherein the second set of rules are different from the first set of rules;
after a predetermined time interval from assigning the at least one driver of the one or more remaining drivers, iteratively assigning the at least one driver of the one or more remaining drivers to at least one other tractor using the first set of rules, wherein new data is received within the time period, and wherein each problem of the problems is extracted using the rolling-horizon optimization;
generating a schedule summary displaying one or more selectable portions of each block of availability, wherein the schedule summary comprises the one or more schedules for the drivers, wherein each schedule for each driver of the drivers comprises one or more selectable portions for each block of availability submitted by each driver via a respective driver device, wherein each schedule for each driver of the one or more schedules for the drivers is displayed as a row with a unique driver identification label identifying each driver, and wherein:
the one or more selectable portions of each block of availability on the schedule summary not scheduled are labeled as unfilled portions; and
the one or more selectable portions of each block of availability on the schedule summary as scheduled are labeled as filled portions;
selecting an unfilled portion of each schedule for a respective driver of the drivers adds the respective driver to a list of respective drivers to be scheduled on the schedule summary, wherein each selection causes one or more respective details of the respective driver to be displayed on a graphical user interface (GUI) of an electronic device of a user;
receiving one or more selections of the one or more selectable portions of each block of availability from the user, wherein each of the one or more selections causes one or more changes to occur on the schedule summary as displayed on the GUI of the electronic device of the user; and
coordinating displaying the one or more schedules for the drivers on the electronic device of the user.