WO2023226324A1 - 第一对象的分配方法、装置、存储介质及电子装置 - Google Patents

第一对象的分配方法、装置、存储介质及电子装置 Download PDF

Info

Publication number
WO2023226324A1
WO2023226324A1 PCT/CN2022/132020 CN2022132020W WO2023226324A1 WO 2023226324 A1 WO2023226324 A1 WO 2023226324A1 CN 2022132020 W CN2022132020 W CN 2022132020W WO 2023226324 A1 WO2023226324 A1 WO 2023226324A1
Authority
WO
WIPO (PCT)
Prior art keywords
train
algorithm
task
shift
tasks
Prior art date
Application number
PCT/CN2022/132020
Other languages
English (en)
French (fr)
Inventor
田伟云
洪建兵
付蓉
赖峰
余鹏
Original Assignee
珠海优特电力科技股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 珠海优特电力科技股份有限公司 filed Critical 珠海优特电力科技股份有限公司
Priority to GB2308129.2A priority Critical patent/GB2622294A/en
Publication of WO2023226324A1 publication Critical patent/WO2023226324A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06311Scheduling, planning or task assignment for a person or group
    • G06Q10/063114Status monitoring or status determination for a person or group
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/40Business processes related to the transportation industry

Definitions

  • the present disclosure relates to the field of crew scheduling and assignment management, and specifically, to a first object assignment method, device, storage medium, and electronic device.
  • the crew scheduling plan refers to a work plan that allocates drivers (i.e. the first object) to different train tasks based on the train operation chart.
  • drivers i.e. the first object
  • crew scheduling planning is generally completed by on-site staff with rich work experience. This manual scheduling method is time-consuming, labor-intensive and inaccurate, which will affect the operating efficiency and service level of the train.
  • a schedule plan automatically generated by an algorithm is generally used to allocate drivers.
  • Commonly used algorithms include optimization algorithms and heuristic algorithms.
  • the optimization algorithms include column generation algorithms and branch definition algorithms.
  • the optimization algorithm can only generate a shift plan by finding the global optimal solution when the amount of data is small.
  • the optimization algorithm needs to spend a huge amount of time to obtain the schedule.
  • planning greatly increasing the time cost of generating a schedule plan and causing the process of assigning drivers to take too long.
  • the heuristic algorithm does not need to spend a lot of time to generate a schedule plan, the heuristic algorithm's algorithm "neighborhood" range is very large and discontinuous.
  • Embodiments of the present disclosure provide a first object allocation method, device, storage medium and electronic device to at least solve the problem of unsatisfactory allocation results in related technologies when a single algorithm is used to allocate the first object (for example, there are a large number of drivers) )The problem.
  • a first object allocation method including: dividing each train line according to the transfer station on each train line to obtain a plurality of train tasks, the plurality of trains Any train task among the tasks is used to instruct the train to travel from one transfer station to another transfer station; the status information of each train task is determined according to the starting and ending stations of each train task in the multiple train tasks.
  • the status information includes one of the following: return section, exit section, and main line; based on the first algorithm and the second algorithm, the first object is assigned to train tasks with different status information, wherein the first The algorithm includes at least one of the following: greedy forward-order algorithm, greedy reverse-order algorithm, and the second algorithm includes at least one of the following: greedy grid algorithm, tabu search algorithm, simulated annealing algorithm.
  • a train task processing device including: a first determination module configured to divide each train line according to the transfer station on each train line to obtain multiple trains task, any train task among the plurality of train tasks is used to indicate the driving task of the train from one transfer station to another transfer station; the second determination module is configured to determine the train task according to each of the plurality of train tasks.
  • the start and end stations of each train task determine the status information of each train task, where the status information includes one of the following: return section, exit section, main line; the allocation module is set to be based on the first algorithm and the second
  • the algorithm allocates first objects to train tasks with different status information, wherein the first algorithm includes at least one of the following: greedy forward-order algorithm, greedy reverse-order algorithm, and the second algorithm includes at least one of the following: greedy grid algorithm , tabu search algorithm, simulated annealing algorithm.
  • a computer-readable storage medium stores a computer program, wherein the computer program is configured to execute any of the above items when running. Methods.
  • an electronic device including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes any of the above steps through the computer program. one method.
  • Figure 1 is a hardware structure block diagram of a computer terminal of a first object allocation method of the present disclosure
  • Figure 2 is a flow chart of a first object allocation method according to the present disclosure
  • Figure 3 is a schematic diagram of train task division according to the present disclosure.
  • Figure 4 is a schematic diagram of status information of a train according to the present disclosure.
  • Figure 5 is a schematic diagram of a configuration algorithm combination process according to the present disclosure.
  • Figure 6 is a schematic diagram of the forward scheduling of train tasks according to the present disclosure.
  • Figure 7 is a schematic diagram of reverse order scheduling of train tasks according to the present disclosure.
  • Figure 8 is a schematic diagram of scheduling constraints according to the present disclosure.
  • Figure 9 is a flow chart of the calculation principle of the combination algorithm according to the present disclosure.
  • Figure 10 is a schematic diagram of an optimal solution list according to the combined algorithm of the present disclosure.
  • Figure 11 is a schematic diagram of a greedy reverse order algorithm according to the present disclosure.
  • Figure 12 is a schematic diagram of a greedy positive sequence algorithm according to the present disclosure.
  • Figure 13 is a schematic diagram of a greedy grid algorithm according to the present disclosure.
  • Figure 14 is a schematic diagram of a tabu search algorithm according to the present disclosure.
  • Figure 15 is a schematic diagram of a simulated annealing algorithm according to the present disclosure.
  • Figure 16 is a flowchart (1) of the first object allocation method according to the present disclosure.
  • Figure 17 is a flow principle diagram (2) of the first object allocation method according to the present disclosure.
  • Figure 18 is a structural block diagram of a train task processing device according to the present disclosure.
  • Figure 1 is a hardware structure block diagram of a computer terminal of a first object allocation method according to an embodiment of the present disclosure.
  • the computer terminal may include one or more (only one is shown in Figure 1) processors 102 (the processor 102 may include but is not limited to a processing device such as a microprocessor MCU or a programmable logic device FPGA) and a memory 104 for storing data.
  • the above-mentioned computer terminal may also include a transmission device 106 for communication functions and an input and output device 108.
  • the structure shown in Figure 1 is only illustrative, and it does not limit the structure of the above-mentioned computer terminal.
  • the computer terminal may also include more or fewer components than shown in FIG. 1 , or have a different configuration with equivalent functions or more functions than shown in FIG. 1 .
  • the memory 104 can be used to store computer programs, for example, software programs and modules of application software, such as the computer program corresponding to the first object allocation method in the embodiment of the present disclosure.
  • the processor 102 runs the computer program stored in the memory 104, Thereby executing various functional applications and data processing, that is, realizing the above method.
  • Memory 104 may include high-speed random access memory, and may also include non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory.
  • the memory 104 may further include memory located remotely relative to the processor 102, and these remote memories may be connected to the computer terminal through a network. Examples of the above-mentioned networks include but are not limited to the Internet, intranets, local area networks, mobile communication networks and combinations thereof.
  • Transmission device 106 is used to receive or send data via a network.
  • Specific examples of the above-mentioned network may include a wireless network provided by a communication provider of the computer terminal.
  • the transmission device 106 includes a network adapter (Network Interface Controller, NIC for short), which can be connected to other network devices through a base station to communicate with the Internet.
  • the transmission device 106 may be a radio frequency (Radio Frequency, RF for short) module, which is used to communicate with the Internet wirelessly.
  • NIC Network Interface Controller
  • FIG. 2 is a flow chart of a method for allocating a first object according to an embodiment of the present disclosure. As shown in Figure 2, the process includes the following: step:
  • Step S202 Divide each train line according to the transfer station on each train line to obtain multiple train tasks. Any one of the multiple train tasks is used to instruct the train to go from one transfer station to Driving tasks at another transfer station;
  • the process of obtaining the train task is described with reference to FIG. 3 .
  • the horizontal axis represents the running time of subway trains (i.e. trains), and the vertical axis represents different trains.
  • the train route of each train at different running times is divided into train tasks (i.e., the dotted box sections in Figure 3) according to the driver's transfer station. These train tasks can form the driver's task list, that is, the traffic list.
  • Step S204 determine the status information of each train task according to the start and end stations of each train task in the plurality of train tasks, wherein the status information includes one of the following: return section, exit section, and main line;
  • the above-mentioned start and end stations of each train task include the start station and end station of each train task. It should be noted that if the start site is a parking lot or depot, the status information of the train task is determined to be the exit and exit section; the end site is the parking lot or depot, and the status information of the train task is determined to be the return section; the start site and the end The stations are all main line stations, and the status information of the train task is determined to be the main line.
  • the status information of the train task can be explained with reference to Figure 4. As shown in Figure 4, when the train travels from the A depot to the B station, the status information of the train task is exit and exit. When the train travels from station E to the parking lot, the status information of the train task is the return segment. When the train travels from station C to station E on route 2, the status information of the train task is positive line.
  • Step S206 Allocate first objects to train tasks with different status information based on the first algorithm and the second algorithm, wherein the first algorithm includes at least one of the following: greedy forward-order algorithm, greedy reverse-order algorithm, and the second algorithm Include at least one of the following: greedy grid algorithm, tabu search algorithm, simulated annealing algorithm.
  • each train line by dividing each train line according to the transfer station on each train line, multiple train tasks are obtained, and any one of the multiple train tasks is used to instruct the train to change from one to another.
  • a traveling task from a boarding station to another transfer station; determining the status information of each train task according to the starting and ending stations of each train task in the plurality of train tasks, wherein the status information includes one of the following: return Section, exit section, main line; based on the first algorithm and the second algorithm, the first object is assigned to train tasks with different status information.
  • the first algorithm and the second algorithm multiple algorithms can be used to allocate the first object at the same time. One object.
  • this solution solves the problem in the related art that the allocation result is not ideal when a single algorithm is used to allocate the first object (for example, the number of drivers is relatively large). many) questions.
  • the following steps include: obtaining the information of the multiple train tasks.
  • Scheduling constraints which include: shift division parameters, meal or rest parameters, and shift workload parameters; generating a shift schedule based on the shift division parameters, the meal or rest parameters, and the shift workload parameters Task, wherein the shift includes the first shift, the second shift and the third shift, and the task start time or task end time of the train tasks in the first shift, the second shift and the third shift different.
  • shift division parameters are used to divide the driver's shift or train task shifts among multiple train tasks
  • the above-mentioned meal or rest parameters are used to arrange meal or rest time for the first object
  • the above-mentioned shift workload parameters are used to Constrain the task duration of drivers on different shifts.
  • the shift division parameters include: first, choosing to divide the shift according to the time of the driver's first task, or to divide the shift according to the time used to divide the operation section; then choose to divide the shift according to the task start time, or to divide the shift according to the end time of the return section. . If “Divide shifts according to the time of the driver's first task" is selected, the shift division parameters are used to divide the driver's shifts; if “Time is used to divide the shifts of the operation section" is selected, the shift division parameters are used to divide the shifts of the train tasks.
  • the dining or rest parameters include: lunch time range and duration, dinner time range and duration, dining location, dining mode, wherein the dining mode includes on-point dining mode and mid-way dining mode, wherein the on-point dining mode
  • the dining mode means that meals will be arranged when arriving at the dining place within the lunch or dinner time range.
  • the mid-way dining mode means that when the workload reaches a certain percentage of the upper limit (can be set), meals will be arranged when the workload reaches a certain percentage of the upper limit (can be set).
  • the shift workload parameters include: upper and lower limits of driving time, upper and lower limits of working hours, upper and lower limits of driving mileage, and upper and lower limits of the number of operating sections for each shift.
  • the process of allocating the first object to the train tasks with different status information based on the first algorithm and the second algorithm may include: based on the calculation results of the train tasks with different status information based on the first algorithm and the calculation results of the train tasks with different status information based on the second algorithm.
  • the calculation results of the train tasks with different status information are assigned to the first object.
  • the process of obtaining the calculation results of the train tasks with different status information based on the first algorithm may include, for example: when the first algorithm includes the greedy reverse order algorithm, using the greedy reverse order algorithm to calculate the calculation results of the train tasks with different status information in reverse order, Among them, train tasks with different status information calculated in reverse order by the greedy reverse order algorithm may include, for example, a train task whose status information of the first train task is a return segment.
  • the greedy forward-order algorithm is used to forward-orderly calculate the calculation results of the train tasks with different status information, wherein the greedy forward-order algorithm forward-order calculation of the train tasks with different state information may include, for example
  • the status information of the first train task is the train task that exits and exits the segment.
  • the second algorithm is then used to calculate the train tasks with different status information that are not allocated using the first algorithm, so as to achieve different status based on the first algorithm.
  • the calculation result of the information train task and the second algorithm assign the purpose of the first object to the calculation result of the train task of the different status information.
  • allocating a first object to train tasks with different status information based on the first algorithm and the second algorithm includes: determining multiple preconfigured algorithm processes, and the multiple algorithm processes The algorithm type corresponding to each algorithm flow in Corresponding multiple local solutions, merge the multiple local solutions to obtain the target solution corresponding to each algorithm process, the target solution represents the first object allocated to train tasks with different status information under each algorithm process The result; determine a preset number of target solutions from a plurality of target solutions corresponding to the plurality of algorithm processes, and allocate first objects to train tasks with different status information according to the preset number of target solutions.
  • each local solution is the calculation result corresponding to each algorithm flow.
  • the train task processing method is described in detail based on the combined algorithm of the first algorithm and the second algorithm.
  • the specific steps include:
  • Step S10 Configure the combined algorithm process (equivalent to the above algorithm process): use a deterministic algorithm to solve the problem of unsaturated workload in the return segment (greedy reverse sequence algorithm) and exit segment (greedy forward sequence algorithm), and then use advanced algorithms to calculate The remaining tasks implement a combination algorithm to solve the problem of unsatisfactory allocation results when using a single algorithm to allocate the first object (for example, there are a large number of drivers).
  • a greedy reverse order algorithm is used to assign the driver to the train task in the return segment based on the first train task status information of the first object (i.e. driver) in the first shift, and then the greedy forward algorithm is used.
  • the sequential algorithm is used to assign drivers to unassigned train tasks in the first shift.
  • the greedy forward algorithm is used to assign drivers to the driver's first train task status information for the train tasks that exit and exit.
  • the greedy reverse order algorithm is used to allocate drivers to the train tasks in the return section based on the driver's first train task status information
  • the greedy grid algorithm is used to assign drivers to unassigned train tasks. Train tasks are assigned to drivers.
  • the parameters of each process node in the combined algorithm configuration process include: shift, train type, algorithm type, algorithm sequence, upper limit of number of people, and calculation time.
  • the site parameters for configuring process nodes include: the lower limit and upper limit of the transfer break time at each site, whether to continue receiving tasks in the return segment, the reserved time for receiving tasks, and the target site for receiving tasks.
  • the result of using a greedy positive sequence algorithm to allocate drivers is illustrated in conjunction with Figure 6 .
  • the positive sequence assigned to driver 1 is task "1", task "3", For task "5", driver 2 is assigned task “2", task "4", and task "6".
  • driver 3 is assigned task "7”, then driver 3 executes task "7” and returns to the scene. No subsequent tasks will be accepted.
  • the task volume of driver 3 in the allocation result is not saturated.
  • FIG. 7 illustrates a result of allocating drivers using a combination of a greedy reverse-order algorithm and a greedy forward-order algorithm.
  • the principle of greedy reverse order algorithm scheduling is explained with reference to Figure 7. As shown in Figure 7, assume that the target number of tasks assigned to the driver is 3, and the task status information of task "7" is the return segment. First, the greedy reverse order algorithm is used to schedule, then driver 1 is assigned task “7” in reverse order. ", task "5", task "3”, driver 2 is assigned task “1", task "4", task "8” in the positive sequence. At this time, driver 3 is assigned the task "2", task " 6", task "10". The task volume of all drivers in the allocation results is saturated.
  • Step S20 Configure algorithm parameters: configure parameters such as shifts, meals, breaks, etc. as shift scheduling constraints.
  • the shift scheduling constraints include: shift division parameters, meal or rest parameters, and shift workload parameters.
  • the shift division parameters include: choosing to divide the shifts according to the time of the driver's first task, or whether the time is used to divide the shifts of the operation section, the start time of the second shift task at each site, whether the return section is divided into shifts and fields according to the task end time The end time of the first shift at the segment site.
  • Shift workload parameters include: upper and lower limits of driving time, upper and lower limits of working hours, upper and lower limits of driving mileage, and upper and lower limits of the number of operating sections for each shift.
  • Step S30 Calculate the allocation result according to the configured combination algorithm. As shown in Figure 9, the calculation process is as follows:
  • Step S902 Calculate the corresponding local solution using the algorithm type of the jth algorithm flow.
  • Step S903 return the local solution.
  • each algorithm in the case where each algorithm includes multiple local solutions, a certain number of local solutions may be obtained.
  • the nondeterministic algorithm returns 10 optimal solutions based on the objective function.
  • Step S904 Merge the local solutions into a target solution (equivalent to the above-mentioned allocation result of allocating the first object to train tasks with different status information).
  • Step S905 execute the j++ program
  • Step S906 Determine whether j ⁇ K holds. If yes, execute step S902. Otherwise, execute step S907.
  • Step S907 Obtain a certain number of target solutions (equivalent to the above-mentioned preset number). For example, the nondeterministic algorithm returns 10 optimal solutions based on the objective function.
  • the calculation times obtained by the greedy forward-order algorithm, the greedy reverse-order algorithm, and the greedy grid algorithm are 2 seconds, 2 seconds, and 2 minutes respectively.
  • the calculation time is 2 seconds, and the number of people is 96; using only greedy reverse order calculation, the calculation time is 2 seconds, and the number of people is 101; using only greedy grid calculation, the calculation time is 2 minutes , the number is 93 people.
  • the calculation time is 1 minute and 10 seconds, and the number of people is 91.
  • Step S40 Select the optimal solution from the obtained optimal solution list.
  • the optimal solution list can display the returned solutions, and you can browse and select solutions. Among them, the optimal solution list shows the 10 solutions returned.
  • the objective function value is 114009560
  • the number of drivers is 114
  • the number of drivers assigned to the early shift is 37.
  • the number of drivers assigned to the day shift is 40
  • the number of drivers assigned to the evening shift is 37.
  • the equilibrium degree corresponding to the first solution is 95.60
  • the sports car rate is 71.05. %.
  • the technical solution of the above embodiment realizes the algorithm process by combining single algorithms, narrows the search space of advanced algorithms, greatly shortens the calculation time, and uses corresponding algorithm types to solve different problems, so that the workload allocated to the driver is balanced.
  • the high rate of running cars and the correspondingly small number of drivers improves the efficiency and quality of train task distribution, and solves the problems of omissions, misalignments, and long calculation times.
  • the algorithm process can be customized according to the characteristics of various operating routes. It has high flexibility and strong adaptability. If the operating route is adjusted, the algorithm process can be reset.
  • the results can be calculated in reverse order according to the greedy reverse order algorithm.
  • the status information of the first train task of the first object in the first shift is the first allocation result of the train task in the return segment; the unassigned trains in the first shift are calculated in positive sequence according to the greedy forward algorithm
  • the second allocation result of the task; according to the greedy positive sequence algorithm, the status information of the first train task of the first object in the second shift and the third shift is calculated in positive sequence, which is the third allocation result of the train task that appears and exits; according to The greedy reverse order algorithm calculates in reverse order that the status information of the first train task of the first object in the second shift and the third shift is the fourth allocation result of the train task in the return segment; according to the second algorithm Calculate the fifth allocation result of the unassigned train tasks in the second shift and the third shift; combine the first allocation result, the second allocation result
  • the status information of the first train task of the first object in the first shift calculated in reverse order according to the greedy reverse order algorithm is the first allocation result of the train task of the return segment.
  • Specific steps include: first sorting all train tasks in reverse order according to task end time to obtain the first train task list sorted in reverse order; according to the greedy reverse order algorithm, the first train task list belongs to the first shift, And the status information of the first train task of the first object is the train task of the return segment.
  • the first object is allocated to obtain the first allocation result, wherein the first allocation result includes the allocation for the first object.
  • First task volume is mapped to obtain the first allocation result, wherein the first allocation result includes the allocation for the first object.
  • Step S1102 find the driver waiting at the end station of the i-th train task
  • Step S1103 determine whether the driver waiting for assignment at the end station of the i-th train task is found. If yes, execute step S1104; if no, execute step S1107;
  • Step S1104 determine one or more drivers waiting for assignment at the end station, and assign the i-th train task to the driver with the longest waiting time;
  • Step S1106 determine whether i ⁇ N holds, if yes, execute step S1102, otherwise, execute step S1109;
  • Step S1107 determine whether the status information of the i-th train task is a return segment, and whether the shift is the first shift. If yes, step S1108 is executed. If not, step S1105 is executed;
  • Step S1108 determine that a new driver will be transferred to the end station, assign the i-th train task to the new driver, and execute step S1105;
  • Step S1109 confirm that the train tasks sorted in reverse order have been assigned, and obtain the result m1 assigned to the driver, which is the train task assigned to each driver.
  • the status information of the driver's first train task in the first shift is allocated to the train tasks in the return segment, the driver's allocation result is obtained, and the driver assigned to the train task is determined Technical solutions for quantity and driver workload.
  • the specific steps of calculating the second allocation result of the unallocated train tasks in the first shift in forward order according to the greedy forward algorithm include: first The train tasks are sorted in positive order according to the task start time, and the second train task list after the positive order is obtained; according to the greedy forward sequence algorithm, the train tasks belonging to the first shift in the second train task list are allocated The first object obtains a second allocation result, wherein the second allocation result includes a second task amount allocated to the first object.
  • Step S1201 Sort the unassigned N2 train tasks in positive order according to the task start time to obtain the results after the positive order.
  • Step S1202 find the driver waiting to be assigned at the starting station of the i-th train task
  • Step S1204 determine one or more drivers waiting for assignment at the starting station, and assign the i-th train task to the driver with the longest waiting time;
  • Step S1205 execute the i++ program
  • Step S1206 determine whether i ⁇ N2 is true, if yes, execute step S1202, otherwise, execute step S1209;
  • Step S1207 determine whether the shift of the i-th train task is the first shift. If yes, execute step S1208. If no, execute step S1205;
  • Step S1208 determine that a new driver will be transferred to the starting station, assign the i-th train task to the new driver, and execute step S1205;
  • step S1209 it is confirmed that the train tasks in positive order have been assigned, and the result m2 assigned to the driver is obtained, which is the train task assigned to each driver.
  • the technical solution to allocate unassigned train tasks in the first shift obtain the driver allocation results, and determine the number of drivers assigned to train tasks and the driver's task volume.
  • a fifth allocation result for unassigned train tasks in the second shift and the third shift is proposed based on the second algorithm. Specifically: first, the unassigned The train tasks are sorted in positive order according to the task start time, and the fifth train task list after the positive order is obtained; according to the second algorithm, the fifth train task list belongs to the second shift and the third train task list. The train of the shift allocates the first object to obtain a fifth allocation result, wherein the fifth allocation result includes a fifth task amount allocated to the first object.
  • the process of allocating the first object to the train task is explained in conjunction with the greedy grid algorithm principle in Figure 13, as follows:
  • Step S1301 For unassigned train tasks, the number of drivers is calculated to be M1 based on the principle of the greedy positive sequence algorithm;
  • Step S1303 assign tasks to x drivers based on the principle of greedy positive sequence algorithm
  • Step S1304 use the greedy reverse order algorithm principle to calculate other unassigned tasks
  • Step S1307 Determine whether x ⁇ M1 is established. If yes, step S1303 to step S1306 are executed in a loop. If no, step S1308 is executed;
  • Step S1308, obtain M1+1 solutions.
  • Step S1309 Calculate the number of drivers as M2 based on the principle of greedy reverse order algorithm
  • Step S1311 calculate y drivers based on the principle of greedy reverse order algorithm, and assign tasks to y drivers;
  • Step S1312 use the greedy positive sequence algorithm principle to calculate other unassigned tasks
  • Step S1315 determine whether y ⁇ M2 is established. If yes, execute step S1311 to step S1314 in a loop. If no, execute step S1316;
  • Step S1316 obtain M2+1 species.
  • Step S1317 M1+M2+2 solutions are determined based on the above steps.
  • Step S1318 Determine the optimal solution among M1+M2+2 solutions based on the objective function (equivalent to the above-mentioned evaluation function).
  • the greedy grid algorithm principle can achieve fast calculation, such as a forward sequence or a reverse sequence calculation time of ⁇ 2 seconds, and has a unique solution, that is, the calculation result is the same every time, which is in line with the idea of scheduling drivers, and has a relatively High sports car rate.
  • the local optimal solution can be determined using the greedy grid algorithm described above.
  • the process of allocating the first object to the train task is explained in combination with the principle of the tabu search algorithm in Figure 14, as follows:
  • Step S1401 use the greedy positive sequence algorithm to calculate the above-mentioned unassigned train tasks, and the obtained solution is used as the initial solution of the tabu search algorithm;
  • Step S1402 first randomly select a driver 1 whose task volume has not reached the standard and is not locked, and then randomly select an unlocked task A from the task set of driver 1. Where the task volume has not reached the standard, it means that the actual allocated task volume is less than the preset allocation. amount of tasks.
  • Step S1403 Generate the neighborhood range of task A.
  • task A can be a train task from station 1 to station 2 between 9:00 and 9:30.
  • the neighborhood range of task A includes tasks sent from station 2 to other stations within 20 minutes after 9:30. .
  • Step S1404 After task A and other tasks in the neighborhood of task A are assigned, use the objective function to obtain the optimal solution from the assignment results of task A and other tasks in the neighborhood of task A. Lock the driver of task A and the driver's task.
  • Step S1405 Determine whether all tasks are in the locked state. If yes, execute step S1406. If not, execute step S1402.
  • Step S1406, obtain the optimal solution.
  • the calculation principle of the simulated annealing algorithm can be expressed by the following formula:
  • T represents the initial temperature
  • S represents the initial solution state
  • P exp(- ⁇ T/T).
  • Step S1501 use the greedy forward sequence algorithm to calculate the above-mentioned unassigned train tasks, and the obtained solution is used as the initial solution of the simulated annealing algorithm to calculate the objective function;
  • Step S1502 randomly obtain two intersection tables, and retrieve task B and task C respectively from these two intersection tables;
  • intersection list represents the task set of the first object.
  • Step S1503 Check whether task B and task C can be exchanged according to the constraint conditions. If yes, step S1504 is executed. If not, step S1512 is executed.
  • task B and task C are exchanged.
  • Step S1504 exchange task B and task C.
  • Step S1505 Determine whether the two traffic lists can be merged. Merging the traffic lists can reduce the number of drivers. If yes, execute step S1506; if not, execute step S1512.
  • Step S1506 merge the two intersection tables and calculate the objective function value.
  • Step S1507 Determine whether the objective function value becomes smaller. If it becomes smaller, execute step S1508. Otherwise, execute step S1511.
  • Step S1508 accept this annealing operation.
  • Step S1509 Determine whether the number of calculations reaches the preset number of algorithm iterations. If so, execute step S1510. Otherwise, execute step S1502.
  • Step S1510 Determine whether the loop termination condition is met. If so, step S1513 is executed, that is, the objective function value calculated in step S1506 is taken as the optimal solution. Otherwise, execute step S1502.
  • Step S1511 Accept this annealing operation with a certain probability.
  • Step S1512 reject the annealing operation.
  • Step S1513 obtain the optimal solution.
  • the evaluation function MinF can also be used to evaluate the allocation result of the first object. , obtain the evaluation function value, and the evaluation function MinF is as follows:
  • f 1 (j), f 2 (j), and f 3 (j) are the sub-objective functions of the evaluation function MinF, and c 1 , c 2 , and c 3 are respectively the f 1 (j) and f 2 (j), f 3
  • the weight adjustment coefficient of (j), m is the number of the first objects, j ⁇ 0, m ⁇ 0; f 1 (j) represents the workload balance degree of the first object with serial number j.
  • the workload balance degree is represented by the variance of the actual working hours of the first object.
  • w represents the actual working hours of the first object.
  • f 2 (j) is the number of the first objects
  • f 2 m
  • f 3 represents the work efficiency of the first object
  • the work efficiency It is determined based on the quotient of the task duration of the first object and the actual working duration of the first object
  • f 3 (j) d j /w j
  • d represents the task duration of the first object.
  • the status information of the first train task of the first object in the second shift and the third shift calculated in forward sequence according to the greedy forward sequence algorithm is the train task of the exit section.
  • the specific steps of the third allocation result include: first sorting the unassigned train tasks in positive order according to the task start time, and obtaining the third train task list in positive order; according to the greedy forward algorithm, assign the third train The first object belongs to the second shift and the third shift in the task list, and the status information of the first train task of the first object is the train task of the exit section.
  • the first object is allocated, and the third allocation result is obtained, where,
  • the third allocation result includes a third task amount allocated to the first object.
  • Step S1601 Sort the unassigned N3 train tasks in positive order according to the task start time to obtain the results after the positive order.
  • Step S1602 find the driver waiting at the starting station of the i-th train task
  • Step S1603 determine whether the driver waiting for assignment at the starting station of the i-th train task is found. If yes, step S1604 is executed. If no, step S1607 is executed;
  • Step S1604 determine one or more drivers waiting for assignment at the starting station, and assign the i-th train task to the driver with the longest waiting time;
  • Step S1605 execute the i++ program
  • Step S1606 determine whether i ⁇ N3 is established. If yes, execute step S1602; otherwise, execute step S1609;
  • Step S1607 determine whether the status information of the i-th train task is the exit and departure section, and whether the shift is the second shift or the third shift. If yes, step S1608 is executed. If not, step S1605 is executed;
  • Step S1608 determine that a new driver will be transferred to the starting station, assign the i-th train task to the new driver, and execute step S1605;
  • step S1609 it is confirmed that the train tasks in positive order have been assigned, and the result m3 assigned to the driver is obtained, which is the train task assigned to each driver.
  • the status information of the first train task of the first object in the second shift and the third shift calculated in reverse order according to the greedy reverse order algorithm is the train task of the return segment.
  • the specific steps of the fourth allocation result include: first sorting the unallocated train tasks in reverse order according to the task end time to obtain the fourth train task list sorted in reverse order; according to the greedy reverse order algorithm, assign the fourth train task list to Belonging to the second shift and the third shift, and the status information of the first train task of the first object is the return segment of the train task, the first object is assigned, and a fourth allocation result is obtained, wherein, the The fourth allocation result includes a fourth task amount allocated to the first object.
  • Step S1701 Sort the unassigned N4 train tasks in reverse order according to the task end time to obtain the results after the reverse order.
  • N4 is a positive integer greater than or equal to 1, 1 ⁇ i ⁇ N4.
  • Step S1702 find the driver waiting for assignment at the end station of the i-th train task
  • Step S1703 determine whether the driver waiting for assignment at the end station of the i-th train task is found. If yes, step S1704 is executed. If no, step S1707 is executed;
  • Step S1705 execute the i++ program
  • Step S1706 determine whether i ⁇ N4 is established. If yes, execute step S1702; otherwise, execute step S1709;
  • Step S1707 determine whether the status information of the i-th train task is a return segment, and the shift is the second shift or the third shift. If yes, step S1708 is executed. If no, step S1705 is executed;
  • Step S1708 determine that a new driver will be transferred to the end station, assign the i-th train task to the new driver, and execute step S1705;
  • Step S1709 confirm that the train tasks sorted in reverse order have been assigned, and obtain the result m4 assigned to the driver, which is the train task assigned to each driver.
  • different types of algorithms are compared. As shown in Table 2, different algorithms are compared in terms of algorithm type, algorithm sequence, calculation time and calculation results.
  • the greedy grid algorithm has fast calculation speed. It takes about 2 minutes to complete a calculation. It can obtain the local optimal solution, has a high sports car rate and requires a large number of drivers.
  • the tabu search algorithm has a slow calculation speed. It takes about 20 minutes to complete a calculation. It can obtain calculation results close to the global optimal solution. The speed of running is low and the number of drivers required is small.
  • the simulated annealing algorithm has a slow calculation speed and takes about 30 minutes to complete a calculation. It can obtain calculation results close to the global optimal solution.
  • the speed of running is low and the number of drivers required is small.
  • the method according to the above embodiments can be implemented by means of software plus the necessary general hardware platform. Of course, it can also be implemented by hardware, but in many cases the former is Better implementation.
  • the technical solution of the present disclosure can be embodied in the form of a software product in essence or that contributes to the existing technology.
  • the computer software product is stored in a storage medium (such as ROM/RAM, disk, CD), including several instructions to cause a terminal device (which can be a mobile phone, computer, server, or network device, etc.) to execute the methods described in various embodiments of the present disclosure.
  • a train task processing device is provided.
  • the device is used to implement the above embodiments and preferred implementations. What has been described will not be described again.
  • the term "module” may be a combination of software and/or hardware that implements a predetermined function.
  • Embodiments of the present disclosure also provide a train task processing device, as shown in Figure 18.
  • Figure 18 is a structural block diagram of a train task processing device according to an embodiment of the present disclosure, including:
  • the first determination module 1802 is configured to divide each train line according to the transfer station on each train line to obtain multiple train tasks, and any train task among the multiple train tasks is used to indicate the train from Driving tasks from one transfer station to another transfer station;
  • the above-mentioned start and end stations of each train task include the start station and end station of each train task. It should be noted that if the start site is a parking lot or depot, the status information of the train task is determined to be the exit and exit section; the end site is the parking lot or depot, and the status information of the train task is determined to be the return section; the start site and the end The stations are all main line stations, and the status information of the train task is determined to be the main line.
  • the allocation module 1806 is configured to allocate first objects to train tasks with different status information based on the first algorithm and the second algorithm, wherein the first algorithm includes at least one of the following: greedy forward algorithm, greedy reverse algorithm, the The second algorithm includes at least one of the following: greedy grid algorithm, tabu search algorithm, simulated annealing algorithm.
  • the above-mentioned allocation module 1806 is further configured to determine a plurality of preconfigured algorithm processes, and an algorithm type corresponding to each algorithm process in the plurality of algorithm processes.
  • the algorithm type It includes at least one of the following: the first algorithm, the second algorithm; calculating a plurality of local solutions corresponding to each algorithm flow according to the algorithm type corresponding to each algorithm flow, and merging the multiple local solutions. Local solutions are used to obtain the target solution corresponding to each algorithm flow.
  • the target solution represents the result of allocating the first object to the train tasks with different status information under each algorithm flow; from the multiple algorithm flows corresponding to A preset number of target solutions is determined among the target solutions, and first objects are assigned to train tasks with different status information according to the preset number of target solutions.
  • the above-mentioned train task processing device further includes: an acquisition module configured to obtain the scheduling constraints of the multiple train tasks, where the scheduling constraints include: shift division parameters, Meal or rest parameters, and shift workload parameters; generate a shift task based on the shift division parameters, the meal or rest parameters, and the shift workload parameters, where the shift includes the first shift, the second shift, and the third shift. There are three shifts, and the task start time or task end time of the train tasks in the first shift, the second shift and the third shift are different.
  • shift division parameters are used to divide train task shifts in multiple train tasks
  • the above-mentioned meal or rest parameters are used to arrange meal or rest time for the first object
  • the above-mentioned shift workload parameters are used to constrain different shifts. Task duration.
  • the shift division parameters include: first choosing to divide the shift according to the time of the driver's first task, or dividing the shift of the operating section according to the time; then choosing to divide the shift according to the task start time, or dividing the shift according to the end time of the return section. If “Divide shifts according to the time of the driver's first task" is selected, the shift division parameters are used to divide the driver's shifts; if “Time is used to divide the shifts of the operation section" is selected, the shift division parameters are used to divide the shifts of the train tasks.
  • the dining or rest parameters include: lunch time range and duration, dinner time range and duration, dining location, dining mode, wherein the dining mode includes on-point dining mode and mid-way dining mode, wherein the on-point dining mode
  • the dining mode means that meals will be arranged when arriving at the dining place within the lunch or dinner time range.
  • the mid-way dining mode means that when the workload reaches a certain percentage of the upper limit (can be set), meals will be arranged when the workload reaches a certain percentage of the upper limit (can be set).
  • the shift workload parameters include: upper and lower limits of driving time, upper and lower limits of working hours, upper and lower limits of driving mileage, and upper and lower limits of the number of operating sections for each shift.
  • the above-mentioned allocation module 1806 is also configured to sort all train tasks in reverse order according to task end time to obtain the first train task list sorted in reverse order; according to the greedy reverse order algorithm, all train tasks are sorted in reverse order.
  • the first train task in the first train task list belongs to the first shift, and the status information of the first train task of the first object is the return segment of the train task to the first object, and the first allocation result is obtained, where,
  • the first allocation result includes a first task amount allocated to the first object.
  • the above-mentioned allocation module 1806 is also configured to sort the unassigned train tasks in positive order according to the task start time to obtain the second train task list in positive order; according to the greedy The forward sequence algorithm allocates the first object to the train belonging to the first shift in the second train task list, and obtains a second allocation result, wherein the second allocation result includes the allocation for the first object. Second task volume.
  • the above-mentioned allocation module 1806 is also configured to sort all train tasks in positive order according to task start time to obtain the third train task list in positive order; according to the greedy positive order
  • the algorithm assigns the first object to the train task in the third train task list that belongs to the second shift and the third shift, and the status information of the first train task of the first object is the exit section, and we get A third allocation result, wherein the third allocation result includes a third task amount allocated to the first object.
  • the above-mentioned allocation module 1806 is also configured to sort all train tasks in reverse order according to task end time to obtain the fourth train task list sorted in reverse order; according to the greedy reverse order algorithm, all train tasks are sorted in reverse order.
  • the fourth train task list belongs to the second shift and the third shift, and the status information of the first train task of the first object is to assign the first object to the train returning to the return section, and the fourth allocation is obtained As a result, the fourth allocation result includes a fourth task amount allocated to the first object.
  • the above-mentioned allocation module 1806 is also configured to sort the unassigned train tasks in positive order according to the task start time to obtain the fifth train task list in positive order; according to the third The second algorithm allocates the first object to the trains belonging to the second shift and the third shift in the fifth train task list, and obtains a fifth allocation result, wherein the fifth allocation result includes: The fifth task amount assigned by the first object.
  • the above train task processing device further includes: an evaluation module configured to use an evaluation function MinF to evaluate the allocation result of the first object to obtain an evaluation function value.
  • the evaluation function MinF is as follows:
  • f 2 (j) is the number of the first objects
  • f 2 m
  • f 3 represents the work efficiency of the first object
  • the work efficiency It is determined based on the quotient of the task duration of the first object and the actual working duration of the first object
  • f 3 (j) d j /w j
  • d represents the task duration of the first object.
  • An embodiment of the present disclosure also provides a storage medium that includes a stored program, wherein the method of any of the above items is executed when the program is run.
  • the above-mentioned storage medium may be configured to store program codes for performing the following steps:
  • S1 divide each train line according to the transfer station on each train line to obtain multiple train tasks. Any train task among the multiple train tasks is used to instruct the train from one transfer station to another.
  • S2 determine the status information of each train task according to the start and end stations of each train task in the plurality of train tasks, wherein the status information includes one of the following: return section, exit section, and main line;
  • S3 allocate first objects to train tasks with different status information based on the first algorithm and the second algorithm, wherein the first algorithm includes at least one of the following: greedy forward algorithm, greedy reverse algorithm, and the second algorithm at least Includes one of the following: greedy grid algorithm, tabu search algorithm, simulated annealing algorithm.
  • the above storage medium may include but is not limited to: U disk, read-only memory (Read-Only Memory, referred to as ROM), random access memory (Random Access Memory, referred to as RAM), Various media that can store program code, such as mobile hard drives, magnetic disks, or optical disks.
  • ROM read-only memory
  • RAM random access memory
  • program code such as mobile hard drives, magnetic disks, or optical disks.
  • Embodiments of the present disclosure also provide an electronic device, including a memory and a processor.
  • a computer program is stored in the memory, and the processor is configured to run the computer program to perform the steps in any of the above method embodiments.
  • the above-mentioned electronic device may further include a transmission device and an input-output device, wherein the transmission device is connected to the above-mentioned processor, and the input-output device is connected to the above-mentioned processor.
  • the above-mentioned processor may be configured to perform the following steps through a computer program:
  • S1 divide each train line according to the transfer station on each train line to obtain multiple train tasks. Any train task among the multiple train tasks is used to instruct the train from one transfer station to another.
  • S2 determine the status information of each train task according to the start and end stations of each train task in the plurality of train tasks, wherein the status information includes one of the following: return section, exit section, and main line;
  • S3 allocate first objects to train tasks with different status information based on the first algorithm and the second algorithm, wherein the first algorithm includes at least one of the following: greedy forward algorithm, greedy reverse algorithm, and the second algorithm at least Includes one of the following: greedy grid algorithm, tabu search algorithm, simulated annealing algorithm.
  • modules or steps of the present disclosure can be implemented using general-purpose computing devices, and they can be concentrated on a single computing device, or distributed across a network composed of multiple computing devices. , optionally, they may be implemented in program code executable by a computing device, such that they may be stored in a storage device for execution by the computing device, and in some cases, may be in a sequence different from that herein.
  • the steps shown or described are performed either individually as individual integrated circuit modules, or as multiple modules or steps among them as a single integrated circuit module. As such, the present disclosure is not limited to any specific combination of hardware and software.

Landscapes

  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Engineering & Computer Science (AREA)
  • Economics (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • Theoretical Computer Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • General Physics & Mathematics (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • Educational Administration (AREA)
  • Quality & Reliability (AREA)
  • Operations Research (AREA)
  • Game Theory and Decision Science (AREA)
  • Development Economics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Primary Health Care (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本公开提供了一种第一对象的分配方法、装置、存储介质及电子装置,方法包括:根据每个列车线路上的换乘站点划分每个列车线路,得到多个列车任务,多个列车任务中的任一列车任务均用于指示列车从一个换乘站点到另一个换乘站点的行驶任务;根据多个列车任务中每个列车任务的起止站点确定每个列车任务的状态信息;基于第一算法和第二算法为不同状态信息的列车任务分配第一对象,其中,第一算法包括:贪婪正序算法、贪婪倒序算法,第二算法至少包括以下之一:贪婪网格算法、禁忌搜索算法、模拟退火算法。

Description

第一对象的分配方法、装置、存储介质及电子装置
本公开要求于2022年5月25日提交中国专利局、申请号为202210577501.0、发明名称“第一对象的分配方法、装置、存储介质及电子装置”的中国专利申请的优先权,其全部内容通过引用结合在本公开中。
技术领域
本公开涉及乘务排班分配管理领域,具体而言,涉及一种第一对象的分配方法、装置、存储介质及电子装置。
背景技术
乘务排班计划是指以列车运行图为基本依据为不同列车任务分配司机(即第一对象)的工作计划。目前,乘务排班计划一般由现场工作人员以丰富的工作经验完成,这种人工排班的方法耗时耗力且不够准确,会影响列车的运营效率和服务水平。
为了克服上述问题,相关技术中,一般使用算法自动生成的排班计划来分配司机,常用的算法包括最优化算法和启发式算法,其中,最优化算法包括列生成算法、分支界定算法。目前,最优化算法仅能在数据量较小的情况下,以求出全局最优解的方式生成排班计划,在数据量较大时,最优化算法需要耗费庞大的时间开销才能得到排班计划,大大增加了生成排班计划的时间成本,并导致分配司机的过程耗时过久。而启发式算法虽然不需要耗费大量时间生成排班计划,但是启发式算法自身的算法“邻域”范围极大且不连续,在生成排班计划时,极易造成算法不收敛或算法早熟等现象,得到往往与全局最优解偏差很大的结果,导致对司机的分配结果不够理想(例如任务不够均衡、司机人数较多、计算耗时较多)。由于每种算法自身都不可避免的存在一定的算法缺陷,这些只使用了单种算法分配司机的方法的分配结果不够理想,也不能真正的提高列车的运营效率和服务水平。
因此,针对相关技术中,使用单种算法分配第一对象时分配的结果不理想(例如任务不够均衡、司机人数较多、计算耗时较多)的问题,尚未提出有效的技术方案。
发明内容
本公开实施例提供了一种第一对象的分配方法、装置、存储介质及电子装置,以至少解决相关技术中使用单种算法分配第一对象时分配的结果不理想(例如,司机人数较多)的问题。
根据本公开的一个实施例,提供了一种第一对象的分配方法,包括:根据每个列车线路上的换乘站点划分所述每个列车线路,得到多个列车任务,所述多个列车任务中的任一列车任务均用于指示列车从一个换乘站点到另一个换乘站点的行驶任务;根据所述多个列车任务中每个列车任务的起止站点确定每个列车任务的状态信息,其中,所述状态信息包括以下之一:回场回段、出场出段、正线;基于第一算法和第二算法为不同状态信息的列车任务分配第一对象,其中,所述第一算法至少包括以下之一:贪婪正序算法、贪婪倒序算法,所述第二算法至少包括以下之一:贪婪网格算法、禁忌搜索算法、模拟退火算法。
根据本公开的又一个实施例,提供了一种列车任务的处理装置,包括:第一确定模块,设置为根据每个列车线路上的换乘站点划分所述每个列车线路,得到多个列车任务,所述多个列车任务中的任一列车任务均用于指示列车从一个换乘站点到另一个换乘站点的行驶任务;第二确定模块,设置为根据所述多个列车任务中每个列车任务的起止站点确定每个列车任务的状态信息,其中,所述状态信息包括以下之一:回场回段、出场出段、正线;分配模块,设置为基于第一算法和第二算法为不同状态信息的列车任务分配第一对象,其中,所述第一算法至少包括以下之一:贪婪正序算法、贪婪倒序算法,所述第二算法至少包括以下之一:贪婪网格算法、禁忌搜索算法、模拟退火算法。
根据本公开实施例的又一方面,还提供了一种计算机可读的存储介质, 该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项的方法。
根据本公开实施例的又一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,上述处理器通过计算机程序执行上述任一项的方法。
通过本公开,通过上述实施例,通过根据每个列车线路上的换乘站点划分所述每个列车线路,得到多个列车任务,所述多个列车任务中的任一列车任务均用于指示列车从一个换乘站点到另一个换乘站点的行驶任务;根据所述多个列车任务中每个列车任务的起止站点确定每个列车任务的状态信息,其中,所述状态信息包括以下之一:回场回段、出场出段、正线;基于第一算法和第二算法为不同状态信息的列车任务分配第一对象,其中,所述第一算法至少包括以下之一:贪婪正序算法、贪婪倒序算法,所述第二算法至少包括以下之一:贪婪网格算法、禁忌搜索算法、模拟退火算法,解决了相关技术中,使用单种算法分配第一对象时分配的结果不理想(例如,司机人数较多)的问题。
附图说明
此处所说明的附图用来提供对本公开的进一步理解,构成本公开的一部分,本公开的示意性实施例及其说明用于解释本公开,并不构成对本公开的不当限定。在附图中:
图1是本公开的一种第一对象的分配方法的计算机终端的硬件结构框图;
图2是根据本公开的第一对象的分配方法的流程图;
图3是根据本公开的列车任务划分的示意图;
图4是根据本公开的列车的状态信息的示意图;
图5是根据本公开的配置算法组合流程的示意图;
图6是根据本公开的列车任务的正序排班的示意图;
图7是根据本公开的列车任务的倒序排班的示意图;
图8是根据本公开的排班约束条件的示意图;
图9是根据本公开的组合算法的计算原理流程图;
图10是根据本公开的组合算法的最优解列表的示意图;
图11是根据本公开的贪婪倒序算法的原理图;
图12是根据本公开的贪婪正序算法的原理图;
图13是根据本公开的贪婪网格算法的原理图;
图14是根据本公开的禁忌搜索算法的原理图;
图15是根据本公开的模拟退火算法的原理图;
图16是根据本公开的第一对象的分配方法的流程原理图(一);
图17是根据本公开的第一对象的分配方法的流程原理图(二);
图18是根据本公开的列车任务的处理装置的结构框图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本公开。需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本公开实施例所提供的方法实施例可以在计算机终端或者类似的运算装置中执行。以运行在计算机终端上为例,图1是本公开实施例的一种 第一对象的分配方法的计算机终端的硬件结构框图。如图1所示,计算机终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,在一个示例性实施例中,上述计算机终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述计算机终端的结构造成限定。例如,计算机终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示等同功能或比图1所示功能更多的不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本公开实施例中的第一对象的分配方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输设备106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
本公开实施例提供了一种第一对象的分配方法,应用于上述计算机终端,图2是根据本公开实施例的第一对象的分配方法的流程图,如图2所示,该流程包括如下步骤:
步骤S202,根据每个列车线路上的换乘站点划分所述每个列车线路,得到多个列车任务,所述多个列车任务中的任一列车任务均用于指示列车从一个换乘站点到另一个换乘站点的行驶任务;
在一个实施例中,结合图3对得到列车任务的过程进行说明。如图3所示,横轴表示地铁列车(即列车)的运行时间,纵轴表示不同的列车。每辆列车在不同运行时间下的列车路线根据司机的换乘车站划分为一个个列车任务(即图3中的虚线框路段),这些列车任务可以组成司机的任务列表,即交路表。
步骤S204,根据所述多个列车任务中每个列车任务的起止站点确定每个列车任务的状态信息,其中,所述状态信息包括以下之一:回场回段、出场出段、正线;
其中,上述每个列车任务的起止站点包括每个列车任务的开始站点和结束站点。需要说明的是,开始站点为停车场或车辆段,确定列车任务的状态信息为出场出段;结束站点为停车场或车辆段,确定列车任务的状态信息为回场回段;开始站点和结束站点均为正线站点,确定列车任务的状态信息为正线。
在一个实施例中,可以结合图4对列车任务的状态信息进行说明,如图4所示,当列车从A车辆段向B站行驶时,列车任务的状态信息为出场出段。当列车从E站向停车场行驶时,列车任务的状态信息为回场回段。当列车在路线2上从C站向E站行驶时,列车任务的状态信息为正线。
步骤S206,基于第一算法和第二算法为不同状态信息的列车任务分配第一对象,其中,所述第一算法至少包括以下之一:贪婪正序算法、贪婪倒序算法,所述第二算法至少包括以下之一:贪婪网格算法、禁忌搜索算法、模拟退火算法。
通过上述实施例,通过根据每个列车线路上的换乘站点划分每个所述列车线路,得到多个列车任务,所述多个列车任务中的任一列车任务均用于指示列车从一个换乘站点到另一个换乘站点的行驶任务;根据所述多个 列车任务中每个列车任务的起止站点确定每个列车任务的状态信息,其中,所述状态信息包括以下之一:回场回段、出场出段、正线;基于第一算法和第二算法为不同状态信息的列车任务分配第一对象,通过对第一算法与第二算法进行算法组合,能够同时使用多种算法分配第一对象,相比于相关技术中只能使用单种算法分配第一对象的方案,本方案解决了相关技术中,使用单种算法分配第一对象时分配的结果不理想(例如,司机人数较多)的问题。
在一个可选的示例性实施例中,在基于第一算法和第二算法为不同状态信息的列车任务分配第一对象之前,还包括以下步骤,具体步骤包括:获取所述多个列车任务的排班约束条件,所述排班约束条件包括:班次划分参数、就餐或休息参数、班次工作量参数;基于所述班次划分参数、所述就餐或休息参数、所述班次工作量参数生成排班任务,其中,所述班次包括第一班次、第二班次和第三班次,且所述第一班次、所述第二班次和所述第三班次中的列车任务的任务开始时间或任务结束时间不同。
需要说明的是,上述班次划分参数用于划分司机的班次或多个列车任务中的列车任务班次,上述就餐或休息参数用于为第一对象安排就餐或休息时间,上述班次工作量参数用于约束不同班次司机的任务时长。
其中,所述班次划分参数包括:首先选择根据司机首任务的时间划分班次、还是根据时刻用于划分作业段的班次;然后选择按任务开始时间划分班次、还是回场回段按结束时间划分班次。若选择了“根据司机首任务的时间划分班次”,班次划分参数用于划分司机的班次;若选择了“时刻用于划分作业段的班次”,班次划分参数用于划分列车任务的班次。
其中,所述就餐或休息参数包括:中餐时间范围、时长,晚餐时间范围、时长,就餐地点,就餐模式,其中,所述就餐模式包括到点就餐模式与中途就餐模式,其中,所述到点就餐模式表示在中餐或晚餐时间范围到达就餐地点则安排就餐,所述中途就餐模式表示工作量达到上限的一定百分比(可设置)到达就餐地点则安排就餐。所述班次工作量参数包括:各 个班次的驾驶时长上下限、工作时长上下限、驾驶里程上下限、作业段数量上下限。
在一个实施例中,基于第一算法和第二算法为不同状态信息的列车任务分配第一对象的过程可以包括:基于第一算法为不同状态信息的列车任务的计算结果和第二算法对所述不同状态信息的列车任务的计算结果分配第一对象。
其中,得到第一算法为不同状态信息的列车任务的计算结果的过程例如可以包括:在第一算法包括贪婪倒序算法的情况下,使用贪婪倒序算法倒序计算不同状态信息的列车任务的计算结果,其中,贪婪倒序算法倒序计算的不同状态信息的列车任务例如可以包括首个列车任务的状态信息是回场回段的列车任务。在第一算法包括贪婪正序算法的情况下,使用贪婪正序算法正序计算不同状态信息的列车任务的计算结果,其中,贪婪正序算法正序计算的不同状态信息的列车任务例如可以包括首个列车任务的状态信息是出场出段的列车任务。
而在得到第一算法为不同状态信息的列车任务的计算结果之后,继而结合第二算法对没有使用第一算法进行分配的不同状态信息的列车任务进行计算,从而达到基于第一算法为不同状态信息的列车任务的计算结果和第二算法对所述不同状态信息的列车任务的计算结果分配第一对象的目的。
在一个可选的示例性实施例中,基于第一算法和第二算法为不同状态信息的列车任务分配第一对象,包括:确定预先配置好的多个算法流程,以及所述多个算法流程中每一算法流程对应的算法类型,所述算法类型至少包括以下之一:所述第一算法、所述第二算法;根据所述每一算法流程对应的算法类型计算所述每一算法流程对应的多个所述局部解,合并所述多个局部解以得到每一算法流程对应的目标解,所述目标解表示所述每一算法流程下为不同状态信息的列车任务分配第一对象的结果;从所述多个算法流程对应的多个所述目标解中确定出预设数量的目标解,根据所述预 设数量的目标解为不同状态信息的列车任务分配第一对象。
其中,每一局部解为使用每一算法流程对应的计算结果。
在一个实施例中,基于所述第一算法和所述第二算法的组合算法对列车任务的处理方法进行了详细说明,具体步骤包括:
步骤S10:配置组合算法流程(相当于上述算法流程):采用确定算法解决回场回段(贪婪倒序算法)、出场出段(贪婪正序算法)工作量不饱和的问题,再采用高级算法计算剩余任务实现组合算法,解决使用单种算法分配第一对象时分配的结果不理想(例如,司机人数较多)的问题。
如图5所示,算法流程架构中可接入各种类型算法,实现算法组合灵活化配置。例如在一个实施例中,在算法流程中,使用贪婪倒序算法对第一班次中第一对象(即司机)的首个列车任务状态信息为回场回段的列车任务分配司机,接着使用贪婪正序算法对第一班次中未分配的列车任务分配司机,在第二班次和第三班次中使用贪婪正序算法为司机的首个列车任务状态信息为出场出段的列车任务分配司机,在第二班次和第三班次中使用贪婪倒序算法为司机的首个列车任务状态信息为回场回段的列车任务分配司机,并在第二班次和第三班次中使用贪婪网格算法为未分配的列车任务分配司机。
在一个实施例中,组合算法配置流程中的每个流程节点的参数包括:班次、车次类型、算法类型、算法顺序、人数上限、计算时间。其中,配置流程节点的站点参数包括:每个站点的换乘间休时长下限、上限,回场回段是否继续接任务、接任务预留时间、接任务目标站点。
在一个实施例中,结合图6示意了一种使用贪婪正序算法分配司机的结果。如图6所示,假设司机分配的目标任务量为3个,任务“7”的任务状态信息为回场回段,则正序为司机1分配的是任务“1”、任务“3”、任务“5”,为司机2分配的是任务“2”、任务“4”、任务“6”,此时司机3分配到任务“7”,则司机3执行任务“7”回场回段,就不接后续任务了,分配结果中司机3的任务量不饱和。
在一个实施例中,结合图7示意了一种使用贪婪倒序算法与贪婪正序算法相结合分配司机的结果。结合图7对贪婪倒序算法排班的原理进行说明。如图7所示,假设司机分配的目标任务量为3个,任务“7”的任务状态信息为回场回段,先采用贪婪倒序算法排班,则倒序为司机1分配的是任务“7”、任务“5”、任务“3”,正序为司机2分配的是任务“1”、任务“4”、任务“8”,此时司机3正序分配到任务“2”、任务“6”、任务“10”。分配结果中所有司机的任务量都饱和。
进一步的,上述实施例中,使用单独的贪婪正序算法分配司机容易出现回场回段工作量不饱和的问题,例如图6中的司机3工作量不饱和。而使用贪婪倒序算法可解决回场回段工作量不饱和的问题,例如图7中,为司机1分配的工作量饱和。
步骤S20:配置算法参数:配置班次、就餐、休息等参数,作为排班约束条件。如图8所示,排班约束条件包括:班次划分参数、就餐或休息参数、班次工作量参数。
其中,班次划分参数包括:选择根据司机首任务的时间划分班次、还是时刻用于划分作业段的班次,每个站点第二班任务开始时刻,是否回场回段按任务结束时间划分班次、场段站点的第一班结束时刻。
就餐或休息参数包括:中餐时间范围、时长,晚餐时间范围、时长,就餐地点,就餐模式。
班次工作量参数包括:各个班次的驾驶时长上下限、工作时长上下限、驾驶里程上下限、作业段数量上下限。
步骤S30:根据配置好的组合算法计算分配结果。如图9所示,计算流程如下:
步骤S901,确定预先配置好的K个组合后的算法流程。从第1个算法流程开始,逐个计算,j=1。
步骤S902,用第j个算法流程的算法类型计算对应的局部解。
步骤S903,返回局部解。
在一个实施例中,在每个算法的局部解包括多个的情况下,可以获取一定数量的局部解。例如,不确定算法根据目标函数返回10个最优解。
步骤S904,将局部解合并为目标解(相当于上述为不同状态信息的列车任务分配第一对象的分配结果)。
步骤S905,执行j++的程序;
步骤S906,确定j≤K是否成立,若为是,则执行步骤S902,否则,执行步骤S907。
步骤S907,得到一定数量(相当于上述预设数量)的目标解。例如,不确定算法根据目标函数返回10个最优解。
通过上述步骤,依次按算法流程进行计算,生成局部解,将局部解合并得到目标解,并根据目标函数,返回最优的10个解,能够在较短的计算时间内,计算出较少的人数。如表1所示,使用组合后的算法流程进行计算与依次使用单个算法进行计算相比,组合后的算法流程具有更少的人数,计算时间中等,相比贪婪正序算法、贪婪倒序算法,计算时间多,相比贪婪网格算法,时间少。
表1
Figure PCTCN2022132020-appb-000001
例如,分别根据贪婪正序算法、贪婪倒序算法、贪婪网格算法各自得到的计算时间为2秒、2秒、2分钟。具体的,只用贪婪正序计算,计算 时间是2秒,人数是96人;只用贪婪倒序计算,计算时间是2秒,人数是101人;只用贪婪网格计算,计算时间是2分,人数是93人。采用组合算法典型流程计算,计算时间是1分10秒,人数是91人。
步骤S40:从得到的最优解列表中选择最优解。如图10所示,最优解列表可以显示返回的解,可浏览、选择解。其中,最优解列表显示了返回的10个解,以第一个解为例,可以得到目标函数值为114009560,司机数量为114,分配至早班(相当于第一班次)的司机数量为37,分配至白班(相当于第二班次)的司机数量为40,分配至晚班(相当于第三班次)的司机数量为37,第一个解对应的均衡度为95.60,跑车率为71.05%。
上述实施例的技术方案,通过组合单个算法,实现算法流程,缩小了高级算法搜索空间,大大缩短了计算时间,针对不同的问题,局部采用对应的算法类型解决,使得司机分配的工作量均衡、跑车率高、司机人数相应少,提高了列车任务的分配效率,提高了列车任务的分配质量,解决了漏排、错排,以及计算耗时较长的问题。
并且,只需通过调整算法流程的组合顺序,能够针对各种运行路线特点自定义算法流程,灵活性高,应变能力强,运行路线如果发生调整,重新设置算法流程。
在一个可选的示例性实施例中,为了更好的理解步骤S206中如何基于第一算法和第二算法为不同状态信息的列车任务分配第一对象,可以根据所述贪婪倒序算法倒序计算所述第一班次中第一对象的首个列车任务的状态信息是回场回段的列车任务的第一分配结果;根据所述贪婪正序算法正序计算所述第一班次中未分配的列车任务的第二分配结果;根据所述贪婪正序算法正序计算第二班次和第三班次中第一对象的首个列车任务的状态信息是出场出段的列车任务的第三分配结果;根据所述贪婪倒序算法倒序计算所述第二班次和所述第三班次中第一对象的首个列车任务的状态信息是回场回段的列车任务的第四分配结果;根据所述第二算法计算所述第二班次和所述第三班次中未分配的列车任务的第五分配结果;将所 述第一分配结果、所述第二分配结果、所述第三分配结果、所述第四分配结果、所述第五分配结果的和值确定为不同状态信息的列车任务分配第一对象的分配结果。
在一个可选的示例性实施例中,所述根据所述贪婪倒序算法倒序计算第一班次中第一对象的首个列车任务的状态信息是回场回段的列车任务的第一分配结果的具体步骤包括:首先对所有列车任务按任务结束时间进行倒序排序,得到倒序排序后的第一列车任务列表;根据所述贪婪倒序算法为所述第一列车任务列表中属于所述第一班次,且第一对象的首个列车任务的状态信息是回场回段的列车任务分配所述第一对象,得到第一分配结果,其中,所述第一分配结果包括为所述第一对象分配的第一任务量。
在一个实施例中,结合图11中的贪婪倒序算法原理对为列车任务分配所述第一对象的过程进行说明,具体如下:
步骤S1101,将所有的N个列车任务按任务结束时间进行倒序排序,得到倒序排序后的结果,从倒序排序后的结果中的第1个任务开始循环求解,即i=1,逐个分配司机,其中,N为大于等于1的正整数,1≤i≤N。
步骤S1102,查找在第i个列车任务的结束站点等待的司机;
步骤S1103,确定是否查找到在第i个列车任务的结束站点等待分配的司机,如果为是,则执行步骤S1104,如果为否,则执行步骤S1107;
步骤S1104,确定在结束站点处等待分配的一个及以上司机,将第i个列车任务分配给等待时间最久的司机;
步骤S1105,执行i++的程序;
步骤S1106,判断i≤N是否成立,如果为是,则执行步骤S1102,否则,执行步骤S1109;
步骤S1107,判断第i个列车任务的状态信息是否为回场回段,且班次是否为第一班次,如果为是,则执行步骤S1108,如果为否,则执行步骤S1105;
步骤S1108,确定1个新司机调往结束站点,将第i个列车任务分配给这1个新司机,执行步骤S1105;
步骤S1109,确认倒序排序后的列车任务分配完毕,得到分配给司机的结果m1,即为每个司机分配的列车任务。
通过上述步骤,结合贪婪倒序算法实现了对第一班次中司机的首个列车任务的状态信息是回场回段的列车任务进行分配,得到司机的分配结果,并确定出分配到列车任务的司机数量以及司机任务量的技术方案。
在一个可选的示例性实施例中,所述根据所述贪婪正序算法正序计算所述第一班次中未分配的列车任务的第二分配结果的具体步骤包括:首先对所述未分配的列车任务按任务开始时间进行正序排序,得到正序排序后的第二列车任务列表;根据所述贪婪正序算法为所述第二列车任务列表中属于所述第一班次的列车任务分配所述第一对象,得到第二分配结果,其中,所述第二分配结果包括为所述第一对象分配的第二任务量。
在一个实施例中,结合图12中的贪婪正序算法原理对为列车任务分配所述第一对象的过程进行说明,具体如下:
步骤S1201,将未分配的N2个列车任务按任务开始时间进行正序排序,得到正序排序后的结果,从正序排序后的结果中的第1个任务开始循环求解,即i=1,逐个分配司机,其中,N2为大于等于1的正整数,1≤i≤N2。
步骤S1202,查找在第i个列车任务的开始站点等待分配的司机;
步骤S1203,确定是否查找到在第i个列车任务的开始站点处等待分配的司机,如果为是,则执行步骤S1204,如果为否,则执行步骤S1207;
步骤S1204,确定在开始站点处等待分配的一个及以上司机,将第i个列车任务分配给等待时间最久的司机;
步骤S1205,执行i++的程序;
步骤S1206,判断i≤N2是否成立,如果为是,则执行步骤S1202, 否则,执行步骤S1209;
步骤S1207,判断第i个列车任务的班次是否为第一班次,如果为是,则执行步骤S1208,如果为否,则执行步骤S1205;
步骤S1208,确定1个新司机调往开始站点,将第i个列车任务分配给这1个新司机,执行步骤S1205;
步骤S1209,确认正序排序后的列车任务分配完毕,得到分配给司机的结果m2,即为每个司机分配的列车任务。
通过上述步骤,结合贪婪正序算法实现了对第一班次中未分配的列车任务进行分配,得到司机的分配结果,并确定出分配到列车任务的司机数量以及司机任务量的技术方案。
在一个可选的示例性实施例中,提出了一种根据所述第二算法对第二班次和所述第三班次中未分配的列车任务的第五分配结果,具体的:首先对未分配的列车任务按任务开始时间进行正序排序,得到正序排序后的第五列车任务列表;根据所述第二算法为所述第五列车任务列表中属于所述第二班次和所述第三班次的列车分配所述第一对象,得到第五分配结果,其中,所述第五分配结果包括为所述第一对象分配的第五任务量。
可选的,在一个实施例中,结合图13中的贪婪网格算法原理对为列车任务分配所述第一对象的过程进行说明,具体如下:
步骤S1301,对于未分配的列车任务,基于贪婪正序算法原理计算出司机的数量为M1;
步骤S1302,假设依次为列车任务正序分配x个司机,从x=0开始循环求解,其中,0≤x≤M1;
步骤S1303,基于贪婪正序算法原理为x个司机分配任务;
步骤S1304,使用贪婪倒序算法原理计算出其他未分配任务;
步骤S1305,得到一个解;
步骤S1306,执行x++的程序;
步骤S1307,判断x≤M1是否成立,若为是,则循环执行步骤S1303至步骤S1306,若为否,则执行步骤S1308;
步骤S1308,得到M1+1个解。
步骤S1309,基于贪婪倒序算法原理计算出司机的数量为M2;
步骤S1310,假设依次为列车任务倒序分配y个司机,从y=0开始循环求解,其中,0≤y≤M2;
步骤S1311,基于贪婪倒序算法原理计算y个司机,为y个司机分配任务;
步骤S1312,使用贪婪正序算法原理计算出其他未分配任务;
步骤S1313,得到一个解;
步骤S1314,执行y++的程序;
步骤S1315,判断y≤M2是否成立,若为是,则循环执行步骤S1311至步骤S1314,若为否,则执行步骤S1316;
步骤S1316,得到M2+1种。
步骤S1317,基于上述步骤确定得到M1+M2+2个解。
步骤S1318,基于目标函数(相当于上述评价函数)确定M1+M2+2个解中的最优解。
基于上述贪婪网格算法原理,能够实现快速计算,例如一次正序或者一次倒序的计算时间≈2秒,并且具有唯一解,即每次计算结果一样,符合为司机进行排班的思路,具有较高的跑车率。使用上述贪婪网格算法可以确定出局部最优解。
可选的,在一个实施例中,结合图14中的禁忌搜索算法原理对为列车任务分配所述第一对象的过程进行说明,具体如下:
步骤S1401,使用贪婪正序算法对上述未分配的列车任务进行计算,得到的解作为禁忌搜索算法的初始解;
步骤S1402,首先随机选择一个任务量未达标且未锁定的司机1,然后从司机1的任务集合中随机选择未锁定的任务A,其中,任务量未达标表示实际分配的任务量小于预设分配的任务量。
步骤S1403,生成任务A的邻域范围。
其中,任务A可以为9点-9点30分之间从站点1至站点2的列车任务,任务A的邻域范围包括9点30分后的20分钟内从站点2发往其他站点的任务。
步骤S1404,在任务A与任务A的邻域范围中的其他任务分配完毕后,使用目标函数从任务A与任务A的邻域范围中的其他任务的分配结果中得到最优解。锁定任务A的司机及司机的任务。
步骤S1405,确定任务是否都为锁定状态,若是,则执行步骤S1406,若否,则执行步骤S1402。
步骤S1406,得到最优解。
可选的,在一个实施例中,模拟退火算法的计算原理可以由下列公式表示:
ΔT=F(S′)-F(S)(1),
其中,T表示初始温度,S表示初始解状态,每个T值的迭代L次数后,得到新的解S′。若ΔT<0则接受S′作为新的当前解,否则以概率P接受S′作为新的当前解。其中,P=exp(-ΔT/T)。
在一个实施例中,结合图15中的模拟退火算法原理对为列车任务分配所述第一对象的过程进行说明,具体如下:
步骤S1501,使用贪婪正序算法对上述未分配的列车任务计算,得到的解作为模拟退火算法的初始解,计算目标函数;
步骤S1502,随机获取两个交路表,从这两个交路表中分别取出任务B和任务C;
其中,交路表表示第一对象的任务集合。
步骤S1503,根据约束条件校验是否能够交换任务B和任务C,若是,则执行步骤S1504,若否,则执行步骤S1512。
其中,如果确定任务B和任务C的起始站点相同,且属于间休时间范围内,则交换任务B和任务C。
步骤S1504,交换任务B和任务C。
步骤S1505,判断两个交路表是否能够合并,其中,交路表合并后可以减少司机数量。若是,则执行步骤S1506,若否,则执行步骤S1512。
步骤S1506,合并两个交路表,并计算出目标函数值。
步骤S1507,确定目标函数值是否变小,如果变小,则执行步骤S1508,否则,执行步骤S1511。
步骤S1508,接受此次退火操作。
步骤S1509,确定计算次数是否达到预先设置的算法迭代次数,若是,执行步骤S1510,否则,执行步骤S1502。
步骤S1510,确定是否满足循环终止条件,若是,则执行步骤S1513,即将步骤S1506计算得到的目标函数值作为最优解。否则,执行步骤S1502。
步骤S1511,以一定概率接受此次退火操作。
步骤S1512,拒绝接受此次退火操作。
步骤S1513,得到最优解。
在一个可选的示例性实施例中,在基于第一算法和第二算法为不同状态信息的列车任务分配第一对象之后,还可以使用评价函数MinF对所述第一对象的分配结果进行评价,得到评价函数值,所述评价函数MinF如下:
Figure PCTCN2022132020-appb-000002
其中,f 1(j)、f 2(j)、f 3(j)为所述评价函数MinF的子目标函数,c 1、c 2、c 3分别为所述f 1(j)、f 2(j)、f 3(j)的权重调整系数,m为所述第一对象的数量,j≥0,m≥0;
Figure PCTCN2022132020-appb-000003
f 1(j)表示序号为j的第一对象的工作量均 衡度,所述工作量均衡度由所述第一对象的实际工作时长的方差表示,w表示所述第一对象的实际工作时长,
Figure PCTCN2022132020-appb-000004
表示所有所述第一对象的实际工作时长的平均值,f 2(j)为所述第一对象的数量,f 2=m,f 3表示所述第一对象的工作效率,所述工作效率是根据所述第一对象的任务时长与所述第一对象的实际工作时长的商确定的,f 3(j)=d j/w j,d表示所述第一对象的任务时长。
在一个可选的示例性实施例中,所述根据所述贪婪正序算法正序计算第二班次和第三班次中第一对象的首个列车任务的状态信息是出场出段的列车任务的第三分配结果的具体步骤包括:首先对未分配的列车任务按任务开始时间进行正序排序,得到正序排序后的第三列车任务列表;根据所述贪婪正序算法为所述第三列车任务列表中属于所述第二班次和所述第三班次,且第一对象的首个列车任务的状态信息是出场出段的列车任务分配所述第一对象,得到第三分配结果,其中,所述第三分配结果包括为所述第一对象分配的第三任务量。
在一个实施例中,结合图16对为列车任务分配所述第一对象的过程进行说明,具体如下:
步骤S1601,将未分配的N3个列车任务按任务开始时间进行正序排序,得到正序排序后的结果,从正序排序后的结果中的第1个任务开始循环求解,即i=1,逐个分配司机,其中,N3为大于等于1的正整数,1≤i≤N3。
步骤S1602,查找在第i个列车任务的开始站点等待的司机;
步骤S1603,确定是否查找到在第i个列车任务的开始站点等待分配的司机,如果为是,则执行步骤S1604,如果为否,则执行步骤S1607;
步骤S1604,确定在开始站点处等待分配的一个及以上司机,将第i个列车任务分配给等待时间最久的司机;
步骤S1605,执行i++的程序;
步骤S1606,判断i≤N3是否成立,如果为是,则执行步骤S1602, 否则,执行步骤S1609;
步骤S1607,判断第i个列车任务的状态信息是否为出场出段,且班次是否为第二班次或第三班次,如果为是,则执行步骤S1608,如果为否,则执行步骤S1605;
步骤S1608,确定1个新司机调往开始站点,将第i个列车任务分配给这1个新司机,执行步骤S1605;
步骤S1609,确认正序排序后的列车任务分配完毕,得到分配给司机的结果m3,即为每个司机分配的列车任务。
在一个可选的示例性实施例中,所述根据所述贪婪倒序算法倒序计算第二班次和所述第三班次中第一对象的首个列车任务的状态信息是回场回段的列车任务的第四分配结果具体步骤包括:首先对未分配的列车任务按任务结束时间进行倒序排序,得到倒序排序后的第四列车任务列表;根据所述贪婪倒序算法为所述第四列车任务列表中属于所述第二班次和所述第三班次,且第一对象的首个列车任务的状态信息是回场回段的列车任务分配所述第一对象,得到第四分配结果,其中,所述第四分配结果包括为所述第一对象分配的第四任务量。
在一个实施例中,结合图17对为列车任务分配所述第一对象的过程进行说明,具体如下:
步骤S1701,将未分配的N4个列车任务按任务结束时间进行倒序排序,得到倒序排序后的结果,从倒序排序后的结果中的第1个任务开始循环求解,即i=1,逐个分配司机,其中,N4为大于等于1的正整数,1≤i≤N4。
步骤S1702,查找在第i个列车任务的结束站点等待分配的司机;
步骤S1703,确定是否查找到在第i个列车任务的结束站点处等待分配的司机,如果为是,则执行步骤S1704,如果为否,则执行步骤S1707;
步骤S1704,确定在结束站点处等待分配的一个及以上司机,将第i个列车任务分配给等待时间最久的司机;
步骤S1705,执行i++的程序;
步骤S1706,判断i≤N4是否成立,如果为是,则执行步骤S1702,否则,执行步骤S1709;
步骤S1707,判断第i个列车任务的状态信息是否为回场回段,且班次为第二班次或第三班次,如果为是,则执行步骤S1708,如果为否,则执行步骤S1705;
步骤S1708,确定1个新司机调往结束站点,将第i个列车任务分配给这1个新司机,执行步骤S1705;
步骤S1709,确认倒序排序后的列车任务分配完毕,得到分配给司机的结果m4,即为每个司机分配的列车任务。
在一个实施例中,对不同类型的算法进行对比,如表2所示,分别从算法类型、算法顺序、计算时间和计算结果对不同算法进行比较。
表2
Figure PCTCN2022132020-appb-000005
例如,贪婪网格算法,计算速度快,完成一次计算需要耗时约2分钟, 能够得到局部最优解,跑车率较高,需要的司机数量较多。
禁忌搜索算法,计算速度较慢,完成一次计算需要耗时约20分钟,能够得到接近全局最优解的计算结果,跑车率较低,需要的司机数量较少。
模拟退火算法,计算速度慢,完成一次计算需要耗时约30分钟,能够得到接近全局最优解的计算结果,跑车率较低,需要的司机数量较少。
通过上述实施例,能够通过分析排班特点,结合人工排班的步骤和经验,针对人工排班存在安全隐患、耗时较长、质量不高、应变能力较差的缺点,以及最优化方法需要庞大的时间开销,启发式方法极易不收敛或早熟的缺陷,引入算法组合流程概念,针对不同的问题,局部采用对应的算法类型解决,再按流程顺序组合的方案来分配司机,不仅实现了贪婪正序算法正序分配司机、贪婪倒序算法倒序分配司机、贪婪网格算法分配司机、禁忌搜索算法分配司机、模拟退火算法分配司机,并且,基于可接入各种类型算法的算法流程架构,实现了算法组合灵活化配置,从而可以在算法组合之后,直接根据目标函数确定最优解。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本公开各个实施例所述的方法。
根据本公开的另一个实施例,提供了一种列车任务的处理装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。
本公开的实施例还提供了一种列车任务的处理装置,如图18所示,图18是根据本公开实施例的一种列车任务的处理装置的结构框图,包括:
第一确定模块1802,设置为根据每个列车线路上的换乘站点划分所述每个列车线路,得到多个列车任务,所述多个列车任务中的任一列车任务均用于指示列车从一个换乘站点到另一个换乘站点的行驶任务;
第二确定模块1804,设置为根据所述多个列车任务中每个列车任务的起止站点确定每个列车任务的状态信息,其中,所述状态信息包括以下之一:回场回段、出场出段、正线;
其中,上述每个列车任务的起止站点包括每个列车任务的开始站点和结束站点。需要说明的是,开始站点为停车场或车辆段,确定列车任务的状态信息为出场出段;结束站点为停车场或车辆段,确定列车任务的状态信息为回场回段;开始站点和结束站点均为正线站点,确定列车任务的状态信息为正线。
分配模块1806,设置为基于第一算法和第二算法为不同状态信息的列车任务分配第一对象,其中,所述第一算法至少包括以下之一:贪婪正序算法、贪婪倒序算法,所述第二算法至少包括以下之一:贪婪网格算法、禁忌搜索算法、模拟退火算法。
通过本装置,通过根据每个列车线路上的换乘站点划分所述每个列车线路,得到多个列车任务,所述多个列车任务中的任一列车任务均用于指示列车从一个换乘站点到另一个换乘站点的行驶任务根据所述多个列车任务中每个列车任务的起止站点确定每个列车任务的状态信息,其中,所述状态信息包括以下之一:回场回段、出场出段、正线;基于第一算法和第二算法为不同状态信息的列车任务分配第一对象,解决了相关技术中,使用单种算法分配第一对象时分配的结果不理想(例如,司机人数较多)的问题。
在一个可选的示例性实施例中,上述分配模块1806还设置为,确定预先配置好的多个算法流程,以及所述多个算法流程中每一算法流程对应的算法类型,所述算法类型至少包括以下之一:所述第一算法、所述第二算法;根据所述每一算法流程对应的算法类型计算所述每一算法流程对应 的多个所述局部解,合并所述多个局部解以得到每一算法流程对应的目标解,所述目标解表示所述每一算法流程下为不同状态信息的列车任务分配第一对象的结果;从所述多个算法流程对应的多个所述目标解中确定出预设数量的目标解,根据所述预设数量的目标解为不同状态信息的列车任务分配第一对象。
在一个可选的示例性实施例中,上述列车任务的处理装置还包括:获取模块,设置为获取所述多个列车任务的排班约束条件,所述排班约束条件包括:班次划分参数、就餐或休息参数、班次工作量参数;基于所述班次划分参数、所述就餐或休息参数、所述班次工作量参数生成排班任务,其中,所述班次包括第一班次、第二班次和第三班次,且所述第一班次、所述第二班次和所述第三班次中的列车任务的任务开始时间或任务结束时间不同。
需要说明的是,上述班次划分参数用于划分多个列车任务中的列车任务班次,上述就餐或休息参数用于为第一对象安排就餐或休息时间,上述班次工作量参数用于约束不同班次的任务时长。
其中,所述班次划分参数包括:首先选择根据司机首任务的时间划分班次、还是根据时刻划分作业段的班次;然后选择按任务开始时间划分班次、还是回场回段按结束时间划分班次。若选择了“根据司机首任务的时间划分班次”,班次划分参数用于划分司机的班次;若选择了“时刻用于划分作业段的班次”,班次划分参数用于划分列车任务的班次。
其中,所述就餐或休息参数包括:中餐时间范围、时长,晚餐时间范围、时长,就餐地点,就餐模式,其中,所述就餐模式包括到点就餐模式与中途就餐模式,其中,所述到点就餐模式表示在中餐或晚餐时间范围到达就餐地点则安排就餐,所述中途就餐模式表示工作量达到上限的一定百分比(可设置)到达就餐地点则安排就餐。所述班次工作量参数包括:各个班次的驾驶时长上下限、工作时长上下限、驾驶里程上下限、作业段数量上下限。
在一个可选的示例性实施例中,上述分配模块1806还设置为,根据所述贪婪倒序算法倒序计算所述第一班次中第一对象的首个列车任务的状态信息是回场回段的列车任务的第一分配结果;根据所述贪婪正序算法正序计算所述第一班次中未分配的列车任务的第二分配结果;根据所述贪婪正序算法正序计算第二班次和第三班次中第一对象的首个列车任务的状态信息是出场出段的列车任务的第三分配结果;根据所述贪婪倒序算法倒序计算所述第二班次和所述第三班次中第一对象的首个列车任务的状态信息是回场回段的列车任务的第四分配结果;根据所述第二算法计算所述第二班次和所述第三班次中未分配的列车任务的第五分配结果;将所述第一分配结果、所述第二分配结果、所述第三分配结果、所述第四分配结果、所述第五分配结果的和值确定为不同状态信息的列车任务分配第一对象的分配结果。
在一个可选的示例性实施例中,上述分配模块1806还设置为,对所有列车任务按任务结束时间进行倒序排序,得到倒序排序后的第一列车任务列表;根据所述贪婪倒序算法为所述第一列车任务列表中属于所述第一班次,且第一对象的首个列车任务的状态信息是回场回段的列车任务分配所述第一对象,得到第一分配结果,其中,所述第一分配结果包括为所述第一对象分配的第一任务量。
在一个可选的示例性实施例中,上述分配模块1806还设置为,对未分配的列车任务按任务开始时间进行正序排序,得到正序排序后的第二列车任务列表;根据所述贪婪正序算法为所述第二列车任务列表中属于所述第一班次的列车分配所述第一对象,得到第二分配结果,其中,所述第二分配结果包括为所述第一对象分配的第二任务量。
在一个可选的示例性实施例中,上述分配模块1806还设置为,对所有列车任务按任务开始时间进行正序排序,得到正序排序后的第三列车任务列表;根据所述贪婪正序算法为所述第三列车任务列表中属于所述第二班次和所述第三班次,且第一对象的首个列车任务的状态信息是出场出段的列车任务分配所述第一对象,得到第三分配结果,其中,所述第三分配 结果包括为所述第一对象分配的第三任务量。
在一个可选的示例性实施例中,上述分配模块1806还设置为,对所有列车任务按任务结束时间进行倒序排序,得到倒序排序后的第四列车任务列表;根据所述贪婪倒序算法为所述第四列车任务列表中属于所述第二班次和所述第三班次,且第一对象的首个列车任务的状态信息是回场回段的列车分配所述第一对象,得到第四分配结果,其中,所述第四分配结果包括为所述第一对象分配的第四任务量。
在一个可选的示例性实施例中,上述分配模块1806还设置为,对未分配的列车任务按任务开始时间进行正序排序,得到正序排序后的第五列车任务列表;根据所述第二算法为所述第五列车任务列表中属于所述第二班次和所述第三班次的列车分配所述第一对象,得到第五分配结果,其中,所述第五分配结果包括为所述第一对象分配的第五任务量。
在一个可选的示例性实施例中,上述列车任务的处理装置还包括:评价模块,设置为使用评价函数MinF对所述第一对象的分配结果进行评价,得到评价函数值,所述评价函数MinF如下:
Figure PCTCN2022132020-appb-000006
其中,f 1(j)、f 2(j)、f 3(j)为所述评价函数MinF的子目标函数,c 1、c 2、c 3分别为所述f 1(j)、f 2(j)、f 3(j)的权重调整系数,m为所述第一对象的数量,j≥0,m≥0;
Figure PCTCN2022132020-appb-000007
f 1(j)表示序号为j的第一对象的工作量均衡度,所述工作量均衡度由所述第一对象的实际工作时长的方差表示,w表示所述第一对象的实际工作时长,
Figure PCTCN2022132020-appb-000008
表示所有所述第一对象的实际工作时长的平均值,f 2(j)为所述第一对象的数量,f 2=m,f 3表示所述第一对象的工作效率,所述工作效率是根据所述第一对象的任务时长与所述第一对象的实际工作时长的商确定的,f 3(j)=d j/w j,d表示所述第一对象的任务时长。
本公开的实施例还提供了一种存储介质,该存储介质包括存储的程序, 其中,上述程序运行时执行上述任一项的方法。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的程序代码:
S1,根据每个列车线路上的换乘站点划分所述每个列车线路,得到多个列车任务,所述多个列车任务中的任一列车任务均用于指示列车从一个换乘站点到另一个换乘站点的行驶任务;
S2,根据所述多个列车任务中每个列车任务的起止站点确定每个列车任务的状态信息,其中,所述状态信息包括以下之一:回场回段、出场出段、正线;
S3,基于第一算法和第二算法为不同状态信息的列车任务分配第一对象,其中,所述第一算法至少包括以下之一:贪婪正序算法、贪婪倒序算法,所述第二算法至少包括以下之一:贪婪网格算法、禁忌搜索算法、模拟退火算法。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
本公开的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,根据每个列车线路上的换乘站点划分所述每个列车线路,得到多个列车任务,所述多个列车任务中的任一列车任务均用于指示列车从一个换乘站点到另一个换乘站点的行驶任务;
S2,根据所述多个列车任务中每个列车任务的起止站点确定每个列车任务的状态信息,其中,所述状态信息包括以下之一:回场回段、出场出段、正线;
S3,基于第一算法和第二算法为不同状态信息的列车任务分配第一对象,其中,所述第一算法至少包括以下之一:贪婪正序算法、贪婪倒序算法,所述第二算法至少包括以下之一:贪婪网格算法、禁忌搜索算法、模拟退火算法。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本公开的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本公开不限制于任何特定的硬件和软件结合。
以上所述仅为本公开的优选实施例而已,并不用于限制本公开,对于本领域的技术人员来说,本公开可以有各种更改和变化。凡在本公开的原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。

Claims (14)

  1. 一种第一对象的分配方法,包括:
    根据每个列车线路上的换乘站点划分所述每个列车线路,得到多个列车任务,所述多个列车任务中的任一列车任务均用于指示列车从一个换乘站点到另一个换乘站点的行驶任务;
    根据所述多个列车任务中每个列车任务的起止站点确定每个列车任务的状态信息,其中,所述状态信息包括以下之一:回场回段、出场出段、正线;
    基于第一算法和第二算法为不同状态信息的列车任务分配第一对象,其中,所述第一算法至少包括以下之一:贪婪正序算法、贪婪倒序算法,所述第二算法至少包括以下之一:贪婪网格算法、禁忌搜索算法、模拟退火算法。
  2. 根据权利要求1所述的第一对象的分配方法,其中,基于第一算法和第二算法为不同状态信息的列车任务分配第一对象,包括:
    基于第一算法为不同状态信息的列车任务的计算结果和第二算法对所述不同状态信息的列车任务的计算结果分配第一对象。
  3. 根据权利要求1或2所述的第一对象的分配方法,其中,基于第一算法和第二算法为不同状态信息的列车任务分配第一对象,包括:
    确定预先配置好的多个算法流程,以及所述多个算法流程中每一算法流程对应的算法类型,所述算法类型至少包括以下之一:所述第一算法、所述第二算法;
    根据所述每一算法流程对应的算法类型计算所述每一算法流程对应的多个局部解,合并所述多个局部解以得到每一算法流程对应的 目标解,所述目标解表示所述每一算法流程下为不同状态信息的列车任务分配第一对象的结果;
    从所述多个算法流程对应的多个所述目标解中确定出预设数量的目标解,根据所述预设数量的目标解为不同状态信息的列车任务分配第一对象。
  4. 根据权利要求1或2所述的第一对象的分配方法,其中,基于第一算法和第二算法为不同状态信息的列车任务分配第一对象之前,所述方法还包括:
    获取所述多个列车任务的排班约束条件,所述排班约束条件包括:班次划分参数、就餐或休息参数、班次工作量参数;
    基于所述班次划分参数、所述就餐或休息参数、所述班次工作量参数生成排班任务,其中,所述班次包括第一班次、第二班次和第三班次,且所述第一班次、所述第二班次和所述第三班次中的列车任务的任务开始时间或任务结束时间不同。
  5. 根据权利要求4所述的第一对象的分配方法,其中,基于第一算法和第二算法为不同状态信息的列车任务分配第一对象包括:
    根据所述贪婪倒序算法倒序计算所述第一班次中第一对象的首个列车任务的状态信息是回场回段的列车任务的第一分配结果;
    根据所述贪婪正序算法正序计算所述第一班次中未分配的列车任务的第二分配结果;
    根据所述贪婪正序算法正序计算第二班次和第三班次中第一对象的首个列车任务的状态信息是出场出段的列车任务的第三分配结果;
    根据所述贪婪倒序算法倒序计算所述第二班次和所述第三班次中第一对象的首个列车任务的状态信息是回场回段的列车任务的第四分配结果;
    根据所述第二算法计算所述第二班次和所述第三班次中未分配的列车任务的第五分配结果;
    将所述第一分配结果、所述第二分配结果、所述第三分配结果、所述第四分配结果、所述第五分配结果的和值确定为不同状态信息的列车任务分配第一对象的分配结果。
  6. 根据权利要求5所述的第一对象的分配方法,其中,根据所述贪婪倒序算法倒序计算第一班次中第一对象的首个列车任务的状态信息是回场回段的列车任务的第一分配结果包括:
    对所有列车任务按任务结束时间进行倒序排序,得到倒序排序后的第一列车任务列表;
    根据所述贪婪倒序算法为所述第一列车任务列表中属于所述第一班次,且第一对象的首个列车任务的状态信息是回场回段的列车任务分配所述第一对象,得到第一分配结果,其中,所述第一分配结果包括为所述第一对象分配的第一任务量。
  7. 根据权利要求5所述的第一对象的分配方法,其中,根据所述贪婪正序算法正序计算所述第一班次中未分配的列车任务的第二分配结果包括:
    对未分配的列车任务按任务开始时间进行正序排序,得到正序排序后的第二列车任务列表;
    根据所述贪婪正序算法为所述第二列车任务列表中属于所述第一班次的列车分配所述第一对象,得到第二分配结果,其中,所述第 二分配结果包括为所述第一对象分配的第二任务量。
  8. 根据权利要求5所述的第一对象的分配方法,其中,根据所述贪婪正序算法正序计算第二班次和第三班次中第一对象的首个列车任务的状态信息是出场出段的列车任务的第三分配结果包括:
    对所有列车任务按任务开始时间进行正序排序,得到正序排序后的第三列车任务列表;
    根据所述贪婪正序算法为所述第三列车任务列表中属于所述第二班次和所述第三班次,且第一对象的首个列车任务的状态信息是出场出段的列车任务分配所述第一对象,得到第三分配结果,其中,所述第三分配结果包括为所述第一对象分配的第三任务量。
  9. 根据权利要求5所述的第一对象的分配方法,其中,根据所述贪婪倒序算法倒序计算第二班次和所述第三班次中第一对象的首个列车任务的状态信息是回场回段的列车任务的第四分配结果包括:
    对所有列车任务按任务结束时间进行倒序排序,得到倒序排序后的第四列车任务列表;
    根据所述贪婪倒序算法为所述第四列车任务列表中属于所述第二班次和所述第三班次,且第一对象的首个列车任务的状态信息是回场回段的列车任务分配所述第一对象,得到第四分配结果,其中,所述第四分配结果包括为所述第一对象分配的第四任务量。
  10. 根据权利要求5所述的第一对象的分配方法,其中,根据所述第二算法对第二班次和所述第三班次中未分配的列车任务的第五分配结果包括:
    对未分配的列车任务按开始时间进行正序排序,得到正序排序后的第五列车任务列表;
    根据所述第二算法为所述第五列车任务列表中属于所述第二班次和所述第三班次的列车任务分配所述第一对象,得到第五分配结果,其中,所述第五分配结果包括为所述第一对象分配的第五任务量。
  11. 根据权利要求5所述的第一对象的分配方法,其中,基于第一算法和第二算法为不同状态信息的列车任务分配第一对象之后,包括:
    使用评价函数MinF对所述第一对象的分配结果进行评价,得到评价函数值,所述评价函数MinF如下:
    Figure PCTCN2022132020-appb-100001
    其中,f 1(j)、f 2(j)、f 3(j)为所述评价函数MinF的子目标函数,c 1、c 2、c 3分别为所述f 1(j)、f 2(j)、f 3(j)的权重调整系数,m为所述第一对象的数量,j≥0,m≥0;
    Figure PCTCN2022132020-appb-100002
    f 1(j)表示序号为j的第一对象的工作量均衡度,所述工作量均衡度由所述第一对象的实际工作时长的方差表示,w表示所述第一对象的实际工作时长,
    Figure PCTCN2022132020-appb-100003
    表示所有所述第一对象的实际工作时长的平均值,f 2(j)为所述第一对象的数量,f 2=m,f 3表示所述第一对象的工作效率,所述工作效率是根据所述第一对象的任务时长与所述第一对象的实际工作时长的商确定的,f 3(j)=d j/w j,d表示所述第一对象的任务时长。
  12. 一种列车任务的处理装置,包括:
    第一确定模块,设置为根据每个列车线路上的换乘站点划分所述每个列车线路,得到多个列车任务,所述多个列车任务中的任一列车任务均用于指示列车从一个换乘站点到另一个换乘站点的行驶任务;
    第二确定模块,设置为根据所述多个列车任务中每个列车任务的 起止站点确定每个列车任务的状态信息,其中,所述状态信息包括以下之一:回场回段、出场出段、正线;
    分配模块,设置为基于第一算法和第二算法为不同状态信息的列车任务分配第一对象,其中,所述第一算法至少包括以下之一:贪婪正序算法、贪婪倒序算法,所述第二算法至少包括以下之一:贪婪网格算法、禁忌搜索算法、模拟退火算法。
  13. 一种计算机可读的存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至11任一项中所述的方法。
  14. 一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至11任一项中所述的方法。
PCT/CN2022/132020 2022-05-25 2022-11-15 第一对象的分配方法、装置、存储介质及电子装置 WO2023226324A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
GB2308129.2A GB2622294A (en) 2022-05-25 2022-11-15 First object allocation method and apparatus, storage medium and electronic apparatus

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202210577501.0A CN115438898B (zh) 2022-05-25 2022-05-25 第一对象的分配方法、装置、存储介质及电子装置
CN202210577501.0 2022-05-25

Publications (1)

Publication Number Publication Date
WO2023226324A1 true WO2023226324A1 (zh) 2023-11-30

Family

ID=84241435

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/132020 WO2023226324A1 (zh) 2022-05-25 2022-11-15 第一对象的分配方法、装置、存储介质及电子装置

Country Status (2)

Country Link
CN (1) CN115438898B (zh)
WO (1) WO2023226324A1 (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010264914A (ja) * 2009-05-15 2010-11-25 Toshiba Corp 乗務員勤務状態把握装置および乗務員勤務状態把握方法
CN109508809A (zh) * 2018-09-25 2019-03-22 珠海优特电力科技股份有限公司 乘务管理方法及装置
CN110163501A (zh) * 2019-05-21 2019-08-23 成都轨道交通集团有限公司 一种自动编制城市轨道交通司机交路表的系统及方法
CN111382947A (zh) * 2020-03-17 2020-07-07 郑州天迈科技股份有限公司 一种基于贪婪禁忌搜索的车辆排班算法
CN111667097A (zh) * 2020-05-13 2020-09-15 郑州天迈科技股份有限公司 基于多链式搜索的同调度室车辆司机排班方法
CN113205239A (zh) * 2021-03-17 2021-08-03 郑州天迈科技股份有限公司 一种任务量配置优先的公交车辆调度方法及系统

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5075577B2 (ja) * 2007-10-29 2012-11-21 株式会社東芝 車両運用計画作成装置および方法
US8392926B2 (en) * 2010-04-06 2013-03-05 International Business Machines Corporation Scheduling heterogeneous partitioned resources with sharing constraints
CN103177292A (zh) * 2011-12-21 2013-06-26 重庆金美通信有限责任公司 一种基于混合遗传算法的地铁乘务排班算法
US9911088B2 (en) * 2014-05-01 2018-03-06 Microsoft Technology Licensing, Llc Optimizing task recommendations in context-aware mobile crowdsourcing
US20180032901A1 (en) * 2016-07-27 2018-02-01 International Business Machines Corporation Greedy Active Learning for Reducing User Interaction
CN110390464B (zh) * 2019-06-14 2023-09-22 平安科技(深圳)有限公司 任务分配方法、装置、计算机设备及可读存储介质
CN113076356A (zh) * 2021-04-19 2021-07-06 河北工业大学 一次性条件的负序列模式挖掘方法
CN114021883A (zh) * 2021-09-28 2022-02-08 淮阴工学院 一种高峰时期地铁接驳共享单车的调度方法
CN114312926B (zh) * 2021-12-03 2022-12-16 北京交通大学 一种城市轨道交通列车运行调整方案优化方法和系统
CN114912797B (zh) * 2022-05-13 2023-05-23 珠海优特电力科技股份有限公司 乘务排班交路表生成方法、装置、设备及存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010264914A (ja) * 2009-05-15 2010-11-25 Toshiba Corp 乗務員勤務状態把握装置および乗務員勤務状態把握方法
CN109508809A (zh) * 2018-09-25 2019-03-22 珠海优特电力科技股份有限公司 乘务管理方法及装置
CN110163501A (zh) * 2019-05-21 2019-08-23 成都轨道交通集团有限公司 一种自动编制城市轨道交通司机交路表的系统及方法
CN111382947A (zh) * 2020-03-17 2020-07-07 郑州天迈科技股份有限公司 一种基于贪婪禁忌搜索的车辆排班算法
CN111667097A (zh) * 2020-05-13 2020-09-15 郑州天迈科技股份有限公司 基于多链式搜索的同调度室车辆司机排班方法
CN113205239A (zh) * 2021-03-17 2021-08-03 郑州天迈科技股份有限公司 一种任务量配置优先的公交车辆调度方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
" Master's Theses ", 15 January 2017, SOUTHWEST JIAOTONG UNIVERSITY, China, article LIU, ZHONGJU: "Design and Implementation of Metro Driver and Passenger Management Information System", pages: 1 - 78, XP009550720 *

Also Published As

Publication number Publication date
CN115438898A (zh) 2022-12-06
CN115438898B (zh) 2023-05-26

Similar Documents

Publication Publication Date Title
US10788329B2 (en) Network system for multi-leg transport
US11584237B2 (en) Mobile internet-based integrated vehicle energy replenishment system and method, and storage medium
US20220172175A1 (en) Transportation system and method for allocating frequencies of transit services therein
US11673483B2 (en) Methods and systems for facilitating charging sessions for electric vehicles
CN113222305B (zh) 订单调度方法、装置、存储介质和电子设备
US11709903B2 (en) Accommodation search
US20150294238A1 (en) Travel planning system
US11665226B2 (en) Multi-mode message transmission for a network-based service
CN110741402A (zh) 用于运力调度的系统和方法
CN105930920A (zh) 物流配送管理方法和物流配送管理装置
CN107194639B (zh) 一种基于地铁网络的众包快递路径分配方法、系统
CN105225191A (zh) 用于应要求运输服务的方法及系统
CN105761175A (zh) 旅游路线订制方法和服务器
CN111915046A (zh) 用于输出信息的方法和装置
US20210392052A1 (en) System and method for moveable cloud cluster functionality usage and location forecasting
Liu et al. Poster: Foodnet: Optimized on demand take-out food delivery using spatial crowdsourcing
CN109858655A (zh) 预约测试的方法及系统
CN108287837B (zh) 一种资源处理方法及设备
JP7367627B2 (ja) 情報処理装置、情報処理方法、およびプログラム
WO2023226324A1 (zh) 第一对象的分配方法、装置、存储介质及电子装置
CN111260095A (zh) 一种基于物联网的景点资源调度方法和系统
JP2019215798A (ja) 情報処理方法および情報処理装置
CA2885591A1 (en) Travel planning system
US20220018667A1 (en) Communications server apparatus, method and communications system for managing request for transport-related services
US20150105935A1 (en) Method and system for managing operation of multi-line public transportation

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 202308129

Country of ref document: GB

Kind code of ref document: A

Free format text: PCT FILING DATE = 20221115

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22943511

Country of ref document: EP

Kind code of ref document: A1