Schedule planning support system and schedule planning support method
The scheduling support system optimizes job execution schedules for agricultural machinery sharing by considering spatial and temporal factors, including uncertainties, to enhance resource utilization and productivity.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- HITACHI LTD
- Filing Date
- 2022-12-20
- Publication Date
- 2026-04-24
AI Technical Summary
The increasing cost of smart and electrified agricultural machinery poses a hurdle to the implementation of equipment sharing services, necessitating a mechanism to improve the utilization rate and productivity of agricultural machinery while considering complex factors such as spatial and temporal conditions, weather uncertainties, and human factors.
A scheduling support system that optimizes job execution schedules using a computer system with input, processing, and output units to select jobs that yield the highest rewards by considering geographic information, resource availability, and time distributions, while incorporating uncertain factors like weather and personnel changes.
The system enhances the utilization rate of resources by creating a spatially and temporally optimized job execution plan that reflects user demands and uncertainties, improving productivity and flexibility in agricultural operations.
Smart Images

Figure 0007851422000001 
Figure 0007851422000002 
Figure 0007851422000003
Abstract
Description
Technical Field
[0001] The present invention relates to a system and method for assisting in planning.
Background Art
[0002] With the trend towards the smartification and decarbonization of agricultural machinery, and the increasing cost of agricultural machinery, it is necessary to create a mechanism to suppress the initial investment as much as possible and improve agricultural efficiency. In addition, it is expected that it will become difficult in the future to develop a business model that encourages farmers to invest in smart agricultural machinery, and the spread of services that maximize the utilization rate of equipment through leasing and sharing is desired.
[0003] As the background art in this technical field, there is the following prior art. In Patent Document 1 (Japanese Unexamined Patent Application Publication No. 2022-63967), there are a work field selection step for selecting a work field, a route calculation step for calculating a movement route, a movement time calculation step for calculating the movement time required for the movement of the route, a work time calculation step for calculating the work time within the field, a work time calculation step for calculating the work time outside the field for material replenishment work and loading / unloading of work machines, and a return route time calculation step for calculating the return route and return time. The movement time calculated in the movement time calculation step, the work time within the field calculated in the work time calculation step within the field, the return time calculated in the return route time calculation step, and the work time outside the field calculated in the work time calculation step outside the field are integrated, and a farming work support system for calculating a planned work field so that the integrated work time is within the workable time of one day is described.
Prior Art Documents
Patent Documents
[0004]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0005] When sharing agricultural machinery within a community, the increasing cost of equipment due to the recent advancements in smart and electrified agricultural machinery poses a significant hurdle to service implementation. In this situation, it is crucial to increase the utilization rate of the introduced equipment and improve productivity relative to the investment cost. To achieve this, it is necessary to create an efficient work plan, which requires considering many complex factors compared to typical sharing of physical goods, such as spatial conditions like the movement of work locations and the size of the fields, temporal conditions such as the appropriate timing of work, and uncertainties such as weather conditions and human factors. For providers of sharing services, it is important to estimate the processing capacity of their owned resources within this complexity and to provide services within the limits of that capacity.
[0006] Patent Document 1 discloses a method for calculating a work plan to be executed by an agricultural corporation for agricultural work with a limited optimal working period, taking into account the travel time and working time of a single worker. In the case of agricultural machinery sharing involving multiple agricultural machines and multiple workers (or multiple agricultural corporations), simply considering only time is insufficient.
[0007] Therefore, the present invention aims to solve the problem of accepting jobs that reflect user demands by scheduling resources in a way that yields large rewards, by optimizing the reward time distribution. [Means for solving the problem]
[0008] A representative example of the invention disclosed in this application is as follows: In other words, a scheduling support system for formulating execution schedules for multiple jobs using resources, comprising a computer having a computing device that performs predetermined processing and a storage device connected to the computing device, wherein the computing device includes an input unit that receives information input to the scheduling support system, a processing unit that schedules the multiple jobs, and an output unit that outputs the results of processing by the processing unit, wherein the input unit receives input for each of the multiple jobs, including a job execution period which is a time constraint for scheduling the job, geographic information indicating the location where the resources are used for the job, resource information relating to the multiple resources that execute the job, and job information including a time distribution of rewards according to the job execution timing, the processing unit creates a set of provisional jobs based on the job information and resource information such that the job execution time required for the execution of the job is within the job execution period, determines a subset of jobs that can obtain a large reward based on the time distribution of rewards, the job execution period, the geographic information and resource information, and the output unit outputs the determined subset of jobs. [Effects of the Invention]
[0009] According to one aspect of the present invention, the utilization rate of owned resources can be improved by a spatially and temporally optimized job execution plan. Other problems, configurations, and effects not mentioned above will be clarified by the following description of the embodiments. [Brief explanation of the drawing]
[0010] [Figure 1] This figure shows the physical configuration of the schedule planning support system according to an embodiment of the present invention. [Figure 2] This is a flowchart of the process performed by the schedule planning support system according to an embodiment of the present invention. [Figure 3] This figure shows an overview of the operation of the schedule planning support system according to an embodiment of the present invention. [Figure 4] It is a diagram showing an example of job execution period information of an embodiment of the present invention. [Figure 5] It is a diagram showing an example of geographical information of an embodiment of the present invention. [Figure 6] It is a diagram showing an example of owned resource information of an embodiment of the present invention. [Figure 7] It is a diagram showing an example of job information of an embodiment of the present invention. [Figure 8A] It is a diagram showing a pattern of time constraints based on remuneration of an embodiment of the present invention. [Figure 8B] It is a diagram showing a pattern of time constraints based on remuneration of an embodiment of the present invention. [Figure 8C] It is a diagram showing a pattern of time constraints based on remuneration of an embodiment of the present invention. [Figure 9] It is a diagram showing an example of prior information of uncertain elements of an embodiment of the present invention. [Figure 10] It is a diagram showing an example of prior information of uncertain elements of an embodiment of the present invention. [Figure 11] It is a diagram showing an example of certain data input from the outside of an embodiment of the present invention. [Figure 12] It is a detailed flowchart of job set optimization processing (S102) of an embodiment of the present invention. [Figure 13] It is a diagram showing the probability distribution of job execution speed of an embodiment of the present invention. [Figure 14] It is a diagram showing the cumulative probability distribution F(x) of job execution speed of an embodiment of the present invention. [Figure 15] It is a diagram showing an overview of job set optimization processing (S102) of an embodiment of the present invention. [Figure 16] It is a detailed flowchart of schedule calculation processing (S103) of an embodiment of the present invention. [Figure 17] It is a diagram showing an overview of schedule calculation processing (S103) of an embodiment of the present invention. [Figure 18] It is a flowchart of new data presence / absence determination processing (S106) of an embodiment of the present invention. [Figure 19]This is a diagram showing a graph visualizing the spatial information of an embodiment of the present invention. [Figure 20] This is a diagram showing the statistical information of jobs and task amounts in an embodiment of the present invention. [Figure 21] This is a diagram showing the action timeline spatial information of each resource in an embodiment of the present invention.
Embodiments for Carrying Out the Invention
[0011] FIG. 1 is a diagram showing the physical configuration of the scheduling support system 100 of this embodiment. In this embodiment, a job is one unit of work, for example, crop harvesting, pesticide spraying, etc. Also, in this embodiment, a task is a detailed work that constitutes a job, for example, the work of picking one fruit, the work of harvesting rice over a certain area, the work of spraying pesticides over a certain area, etc. When the amount of work corresponding to a task is carried out as defined, it is considered that the job composed of that task is completed.
[0012] The scheduling support system 100 of this embodiment is composed of a computer having a processor (CPU) 1, a memory 2, an auxiliary storage device 3, and a communication interface 4.
[0013] The processor 1 executes the program stored in the memory 2. Note that a part of the processing performed by the processor 1 when executing the program may be executed by another arithmetic device (for example, an arithmetic device based on hardware such as an FPGA or ASIC). In the processor 1, the input unit 11, the processing unit 12, and the output unit 13 operate by executing the program. The input unit 11 receives data input to the scheduling support system 100. The processing unit 12 executes various arithmetic processes executed by the scheduling support system 100. The output unit 13 generates data for outputting the arithmetic result by the scheduling support system 100.
[0014] Memory 2 includes ROM, a non-volatile memory element, and RAM, a volatile memory element. ROM stores immutable programs (e.g., BIOS). RAM is a high-speed, volatile memory element such as DRAM (Dynamic Random Access Memory), and temporarily stores programs executed by processor 1 and data used during program execution.
[0015] The auxiliary storage device 3 is a high-capacity, non-volatile storage device such as a magnetic storage device (HDD) or flash memory (SSD), and stores the program executed by the processor 1 and the data used when the program is executed. In other words, the program is read from the auxiliary storage device 3, loaded into memory 2, and executed by the processor 1.
[0016] Communication interface 4 is a network interface device that controls communication with other devices according to a predetermined protocol.
[0017] The schedule planning support system 100 may have an input interface 5 and an output interface 8. The input interface 5 is an interface to which a keyboard 6, mouse 7, etc., is connected and which receives input from the user. The output interface 8 is an interface to which a display device 9, printer, etc., is connected and which outputs the program execution results in a format that the user can see. In addition, a terminal connected to the schedule planning support system 100 via a network may provide the input interface 5 and the output interface 8.
[0018] The program executed by processor 1 is provided to the schedule planning support system 100 via removable media (such as CD-ROM or flash memory) or a network, and is stored in a non-volatile auxiliary storage device 3, which is a non-temporary storage medium. For this reason, the schedule planning support system 100 should have an interface for reading data from the removable media.
[0019] The schedule planning support system 100 is a computer system that operates on a single physical computer or on multiple logically or physically configured computers. It may operate on the same computer with one or more threads, or it may operate on a virtual computer built on multiple physical computer resources. Each part of the schedule planning support system 100 may operate on different computers.
[0020] Figure 2 is a flowchart of the processes performed by the schedule planning support system 100 in this embodiment, and Figure 3 is a diagram showing an overview of the operation of the schedule planning support system 100.
[0021] First, the input unit 11 accepts input of parameters used for schedule calculation (S101). The input parameters include the job execution period (see Figure 4), geographic information (see Figure 5), information on owned resources (see Figure 6), job information (see Figure 7), time distribution of rewards (see Figure 7), prior information on uncertainties (see Figure 9), risk tolerance (see Figure 10), etc.
[0022] Next, the processing unit 12 optimizes the set of jobs to be selected (S102). Details of the job set optimization process will be explained with reference to Figure 12. The selected set of jobs is output for display on the screen (S108).
[0023] Next, the processing unit 12 calculates the schedule of the resources to be planned using the input parameters (S103). Details of the schedule calculation process will be explained with reference to Figure 16.
[0024] Next, the processing unit 12 performs a simulation using the calculated schedule as needed and calculates optimization indicators such as rewards (S104).
[0025] Next, the output unit 13 outputs the calculated schedule and a summary of the calculated optimization indicators (S105).
[0026] Next, the processing unit 12 determines whether there is any new data that can be used to modify the schedule (S106). The details of the new data availability determination process (S106) will be explained with reference to Figure 21. If there is no new data available to modify the schedule, the calculated schedule is considered optimal, and the process terminates.
[0027] On the other hand, if there is new data that can be used to revise the schedule, the processing unit 12 receives the input of new confirmed data that can be used to revise the schedule (S107), and uses the input confirmed data to calculate the schedule of the resources for which the plan is to be formulated (S103). For example, changes to the schedule may occur, such as when the person in charge of job A changes their schedule and planting work is carried out on only XX hectares, or when job D harvests YY hectares more than planned due to good weather. Then, the processes in steps S103 to S106 are repeatedly executed. Details of the confirmed data will be explained with reference to Figure 11.
[0028] In step S105, the resources are actually put into operation according to the output schedule, the remaining task volume decreases, and the parameters of uncertain factors (weather, personnel, etc.) change. This resource operation and parameter changes may be simulated by an algorithm of an external system in the processing unit 12. The results are used in the schedule calculation (S103), and a new resource schedule is calculated.
[0029] Conventional scheduling models start with a predetermined set of jobs to be processed, and the focus is on completing all jobs in the shortest or specified time, without considering the timing of job execution. In contrast, this embodiment, given a set of jobs with reward distributions corresponding to processing time, selects jobs from this set that yield the highest reward (preferably the maximum). It also presents a schedule for processing these selected jobs and outputs summary information through simulation. Furthermore, it can incorporate newly determined external information to modify the schedule, and outputs the modified schedule and summary information.
[0030] Figure 4 shows an example of job execution period information.
[0031] Job execution duration information is a time constraint for scheduling a job, including the start and end times. The job is scheduled to start at the start time and finish by the end time.
[0032] Figure 5 shows an example of geographic information.
[0033] Geographic information is geographical information indicating the location where resources are used for a job, represented by a graph consisting of nodes and edges, and including a start point, an end point, and distance. The start point is the identification information of the node that is the start of an edge, the end point is the identification information of the node that is the end of an edge, and the distance is the distance between the start node and the end node. Geographic information may also include the number of vertices, which represents the number of nodes.
[0034] Figure 6 shows an example of owned resource information.
[0035] The owned resource information is information about resources owned by the operator, and includes the resource ID, processable job types, job execution speed, travel speed, and initial location. The resource ID is the unique identifier of the resource owned by the operator. The processable job types are the types of jobs that the resource can process, i.e., the type of resource, for example, 1 is a tractor, 2 is a drone, etc. The job execution speed is the maximum number of tasks that the resource can process per unit time, and is determined by the resource's performance (e.g., output). The travel speed is the distance the resource travels per unit time. The initial location is the identifier of the location (node) where the resource is permanently located or currently exists. In the diagram, the notes are textual information describing the processable job types in a way that is understandable to humans.
[0036] Figure 7 shows an example of job information.
[0037] Job information refers to information about jobs performed using resources owned by the service provider, and includes the job ID, vertex number, job type, task volume, dependent job IDs, and the time distribution of rewards. The job ID is the unique identifier of the job. The vertex number is the identifier of the location (node) where the job is performed, and represents the job's placement in space. The job type is the type of job, i.e., the type of resources used in the job, and is defined by the same rules as the processable job types in the owned resource information. The task volume is the amount of work required to complete the job. The dependent job ID is the identifier of jobs performed prior to the job. The time distribution of rewards represents the time constraints of the job as the change in rewards obtained in that job over time, and is represented by a pair of time and reward value, as illustrated in the figure.
[0038] Traditionally, the time constraints of a job are expressed as possible and / or impossible time periods for each job. In contrast, in this embodiment, the time constraints of a job are represented by a graph obtained by linear interpolation of points given by pairs of time and reward values, allowing users to define job time constraints flexibly and in diverse ways.
[0039] The time constraints for job execution in this embodiment are represented by the time distribution of rewards, which is obtained by linearly interpolating points given by pairs of time and reward values. Since jobs are scheduled during times when rewards are high, various time constraints can be expressed by the time changes in rewards, and several patterns are illustrated in Figures 8A to 8C. Figure 8A: When a customer prefers a specific time slot but is also willing to work around it, the compensation is higher during the preferred time slot, decreasing as the time slot moves further away from the preferred time slot, and becoming zero during other time slots. Figure 8B: If the morning is not suitable, but an earlier time in the afternoon is better, the reward will be 0 before noon, and after noon, the reward will decrease as time progresses. Figure 8C: If a specific time period is favorable, but the periods before and after are unfavorable, and the conditions are the same throughout the specified time period, then the reward will be a consistently large value during the specified time period, and the reward will be 0 during other time periods.
[0040] Figures 9 and 10 show examples of prior information on uncertain factors.
[0041] Prior information on uncertainties is a set of patterns that represent the future time-series changes of uncertainties based on variable factors such as the natural environment, expressed probabilistically.
[0042] As shown in Figure 9, the prior information for uncertain elements includes the uncertain element ID, possible values, and impact on job execution speed. The uncertain element ID is the unique identifier of the uncertain element. The possible values are the identifiers of the change patterns of the uncertain element, and the number of possible values is the number of change patterns. The impact on job execution speed is described by a calculation formula that categorizes the impact of the uncertain element on job execution speed. If the uncertain element does not affect job execution speed, the impact on job execution speed field is left blank. In the figure, the remarks are textual information that makes the uncertain element ID understandable to humans.
[0043] The probability distribution for each uncertain element is defined, as shown in Figure 10, by the elapsed time from the start time (e.g., in minutes) and the probability (0-100%) of the event occurring in that pattern. For example, the uncertain element ID=1 is represented by the probability of the time series of precipitation, and represents the probability distribution from 1 minute to 10680 minutes later for precipitation amounts from 0 mm / h to 200 mm / h per unit time. Similarly, the uncertain element ID=2 is represented by the probability of the time series of wind speed, and represents the probability distribution from 1 minute to 10680 minutes later for wind speeds from 0 m / s to 100 m / s. Furthermore, the uncertain element ID=3 is represented by the probability that the person in charge of Job 3 has a scheduled appointment, and represents the probability distribution from 1 minute to 10680 minutes later regarding whether or not the appointment exists.
[0044] For example, ID1 represents the time-series change in the probability of precipitation, showing the probability of a predetermined amount of rain or snowfall for each pattern. Similarly, ID2 represents the time-series change in the probability of wind speed, showing the probability of winds exceeding a predetermined value for each pattern. Furthermore, ID3 shows the time-series change in the probability of Job 3's assigned person having a scheduled task and the probability of not having one.
[0045] Figure 11 shows an example of confirmed data input from an external source.
[0046] Confirmed data is data used for schedule calculation and is similar in structure to the parameters entered in step S101. Confirmed data includes the confirmed time, the value of the uncertain element, the current location of the resource, the remaining task amount of the job, and updated uncertain element prediction information. The confirmed time is the time when the confirmed data was observed. The value of the uncertain element is the value of the uncertain element observed at the confirmed time, such as weather or personnel status. The current location of the resource is the location of the resource at the confirmed time. The current location of the resource can be represented, for example, if the resource is on an edge (identification information of endpoint node 1 of the edge, identification information of endpoint node 2 opposite endpoint node 1 on that edge, distance from endpoint node 1), or if the resource is on a node (identification information of the node, identification information of the node, 0). The remaining task amount of the job is the amount of incomplete tasks for each job at the confirmed time. The updated forecast information for uncertain factors includes forecast data such as weather and personnel schedules, and the forecast information for the probability (0-100%) of the uncertain factor occurring at the time elapsed from the confirmed time (e.g., in minutes) is listed for all patterns.
[0047] Figure 12 is a flowchart detailing the job set optimization process (S102).
[0048] First, the processing unit 12 receives input of owned resource information, prior information on uncertain factors, and a set of all jobs. It then selects the resources used in each job and calculates the probability distribution of the job execution speed of those resources for each time step using coefficients determined for each piece of prior information on uncertain factors. Finally, it generates correspondence data that associates the resources used in each job with the probability distribution of the job execution speed (S1021). For example, the probability distribution of job execution speed shown in Figure 20 is obtained. Note that if the uncertain factors do not affect the job execution speed, the probability distribution of the job execution speed will give a constant value.
[0049] Next, the processing unit 12 calculates a cumulative probability distribution function F(x) with job execution speed as the variable x by integrating the probability distributions of the job execution speed for each resource used (S1022). For example, as shown in Figure 20, the probability distribution of job execution speed is given as discrete data, and the cumulative probability distribution F(x) of the job execution speed over time can be calculated by summing the probabilities from job execution speed 0 to x, obtaining the distribution shown in Figure 21.
[0050] Next, the processing unit 12 generates data for the provisional job execution speed of each resource used, using the input risk tolerance (S1023). For example, the provisional job execution speed may be set to the largest x that satisfies F(x) ≤ risk tolerance. For example, if the risk tolerance is set to 0.7 in the cumulative probability distribution shown in Figure 21, the largest x that satisfies F(x) ≤ risk tolerance is 56, and the provisional job execution speed is 56. However, x should be a value that is achievable as a job execution speed (especially when x is discrete). If there is no x that satisfies F(x) ≤ risk tolerance, the minimum achievable value as a job execution speed may be set to x. The input risk tolerance is expressed as a number from 0 to 1, where 1 is accepted if all risks are accepted and 0 is accepted if no risks are accepted. Alternatively, the expected value of the job execution speed calculated from the probability distribution of job execution speed may be used as the provisional job execution speed for each resource used. In this way, the provisional job execution speed can be determined even if the risk tolerance is not provided.
[0051] Next, the processing unit 12 determines the minimum value of the provisional job execution speed for all obtained resources and sets this minimum value as the job execution speed for that job (S1024).
[0052] Next, the processing unit 12 calculates the required job execution time by dividing the required amount of tasks for each job by the job execution speed (S1025).
[0053] Next, the processing unit 12 generates a provisional set of jobs by excluding jobs whose calculated required job execution time is longer than the input job execution period (S1026).
[0054] Next, for each job that was not excluded, the processing unit 12 solves an optimization problem in which the objective function is the sum of the products of the reward and the job execution speed in the interval [b, b + required job execution time] included in the job execution period, with the job execution start time b as the variable. The obtained interval is designated as the job execution time period, and its sum is designated as the estimated reward amount (S1027). As a method for solving the optimization problem, for example, a general-purpose nonlinear optimization solver may be used.
[0055] Next, the processing unit 12 uses the subset of jobs that were not excluded as a variable and solves an optimization problem with the sum of estimated reward amounts as the objective function, under the constraint that all jobs included in the subset can be executed within the job execution period, starting from the current location of the owned resources (S1028). For example, by treating it as a VRP (Vehicle Routing Problem) that traverses the vertices of jobs and performing simulated annealing that includes job execution time and dependencies as constraints, the aforementioned constraint can be given. For example, the optimization problem can be solved using simulated annealing that transitions to a neighborhood solution by deleting jobs and adding and swapping spatially close jobs. By solving the optimization problem, a subset of jobs that yield a large reward (preferably the job with the maximum reward) is obtained.
[0056] Next, the processing unit 12 adopts the obtained subset as the selected job (S1029). If no job can be selected, the set may be empty.
[0057] Subsequently, the selected set of jobs is output and displayed on screens such as the spatial information shown in Figure 19 and the statistical information shown in Figure 20 (S108).
[0058] In the job set optimization process shown in Figure 12, a subset of jobs is created from prior information on uncertain elements. In the illustrated example, the speed is calculated from the probability distribution of the uncertain elements, and the job subset is determined. For example, (pseudo)random numbers may be used to generate variables that follow the probabilities given as prior information, and the appropriate subset may be determined by performing multiple job execution simulations for evaluation. Alternatively, a provisional job set may be created using a probability distribution calculated from the probability distribution of uncertain elements (such as the probability distribution of job execution speed), or (pseudo)random numbers that follow the probability distribution of uncertain elements themselves. Thus, in the job set optimization process shown in Figure 12, a provisional job set is created by taking prior information into consideration.
[0059] Figure 15 shows an overview of the job set optimization process (S102).
[0060] In the process of optimizing a set of jobs, even if the same parameters (job execution period, owned resources, prior information on uncertainties, jobs, and geographical information) are entered, different jobs will be selected depending on the risk tolerance level entered by the user.
[0061] Figure 16 is a flowchart detailing the schedule calculation process (S103).
[0062] First, the processing unit 12 receives input of confirmed data for each time point, the job selected in step S1029, and the owned resources. The confirmed data input is the data for the latest time point, and as shown in Figure 11, it includes the time, the value of the uncertain element, the current location of the resource, the remaining task amount of the job, and the predicted information of the updated uncertain element. The data for the latest time point for which confirmed data exists, i.e., the current state of the uncertain element at that time, the current location of the resource, the remaining task amount of the job, and the prior information of the updated uncertain element are set as initial values (S1031). Note that the initial state is also used as confirmed data during the first execution.
[0063] Next, the processing unit 12 optionally updates the prediction information of uncertain factors when it receives input of prediction information of uncertain factors at a fixed time (S1032).
[0064] Next, the processing unit 12 receives the job execution period as input and performs an internal simulation calculation from the time following the confirmed data to the end time of the job execution period in the procedure from steps S1034 to S1037 (S1033).
[0065] In step S1033, the processing unit 12 determines the time-series data of the uncertain elements, assuming that each uncertain element takes the state most likely to occur at each time (S1034), and converts the time-series data of the uncertain elements into time-series data of the job execution speed of each resource (S1035). Then, the processing unit 12 executes incomplete jobs selected from the current location of the resources, and solves an optimization problem with the objective function being the sum of reward × job execution speed, under the constraint that all jobs must be completed within the job execution period, to determine the movement of each resource and the job execution time (S1036). Then, the processing unit 12 adopts the determined movement of each resource and job execution as a schedule (S1037). For example, as a VRP (Vehicle Routing Problem) that traverses the nodes where jobs are performed, simulated annealing can be used, including the final job execution completion time as a penalty that includes dependencies as constraints.
[0066] Next, the processing unit 12 arranges the movement of each resource and the job execution time in chronological order and outputs a schedule with the times arranged in chronological order (S1038).
[0067] Figure 17 shows an overview of the schedule calculation process (S103) and the simulation (S104).
[0068] The schedule calculation process outputs a possible execution schedule based on the set of jobs and resources. Furthermore, simulation (S104) visualizes the simulation results and displays statistical data. For example, it displays the processing flow of jobs, the reliability of the schedule with respect to time, and statistical data on the processing time for each job's reward distribution. Generally, the reliability of the schedule decreases as the time approaches.
[0069] Figure 18 is a flowchart of the new data presence / absence determination process (S106) in an embodiment of the present invention.
[0070] In the new data availability determination process in step S106, the processing unit 12 determines whether the end time of the job execution period has passed (S1061). If the end time of the job execution period has passed, it determines that there is no new data available to modify the schedule (S1067).
[0071] On the other hand, if the end time of the job execution period has not passed, it is determined whether the current resource location can be obtained (S1062), whether the number of remaining tasks for the job can be obtained (S1063), whether the current state of uncertain factors can be obtained (S1064), or whether updated prediction information for uncertain factors is available (S1065). If any of these conditions are met, it is determined that there is new data that can be used to modify the schedule (S1068).
[0072] If all judgments in steps S1061 to S1065 are NO, wait for a predetermined time (S1066), return to step S1061, and continue the judgment.
[0073] Next, referring to Figures 19 to 21, the content of the summary information displaying the simulation results will be explained. This summary information is generated by the output unit 13, output to the display device 9 via the output interface 8, and displayed.
[0074] Figure 19 shows a graph visualizing spatial information in an embodiment of the present invention. In the spatial information shown in Figure 19, the location, time, and resource allocation of jobs performed for each location and over time are plotted on a coordinate space where the horizontal axis represents time and the vertical axis represents position, visualizing the spatial progress of jobs. Geographic information, job locations, and resource movements can be visually confirmed through the graph visualizing spatial information.
[0075] Figure 20 shows statistical information on jobs and task volume in an embodiment of the present invention. In the job and task volume statistics shown in Figure 20, the time change in reward for each job is plotted on a coordinate space where the horizontal axis represents time and the vertical axis represents reward, making the time change in reward for each job visible. In addition, the time when a job is scheduled in the figure is represented by a vertical line at the position where it overlaps with the reward graph. Note that multiple reward graphs that differ depending on the time when a single job is scheduled may be displayed. The job and task volume statistics, along with the time-series data of job rewards, allow for visual confirmation of the timing when work is performed.
[0076] Figure 21 shows the spatial timeline information of each resource in an embodiment of the present invention. In the spatial timeline information shown in Figure 21, the job execution schedule of each resource is displayed in a coordinate space where the horizontal axis represents time and the vertical axis represents resources, making the spatial and temporal operational status of each resource visible. When the cursor is moved over the time when a resource is executing a job (Execute) on the screen, the job name and detailed job information (e.g., job execution location, job content, etc.) may be displayed in a pop-up window, and the job may also be highlighted in the spatial information shown in Figure 19. When the cursor is moved over the time when a resource is moving a job (Move), detailed information of the move (e.g., departure point, destination, travel time, etc.) may be displayed in a pop-up window, and the move may also be highlighted in the spatial information shown in Figure 19. The spatial timeline information of each resource allows for visual confirmation of the work plan.
[0077] As described above, according to the embodiments of the present invention, it becomes possible to make prior estimates that reflect the requirements of the job executor, and the utilization rate of owned resources can be improved by a job execution schedule that is optimized spatially and temporally. In particular, since a subset of jobs is determined using a time distribution of rewards that is flexibly expressed using a distribution on the time axis, it becomes possible to make prior estimates regarding the acceptance of jobs for owned resources, taking into account spatial and temporal circumstances. Furthermore, by scheduling based on a subset of jobs, a schedule that better reflects the requirements can be created. This improves the utilization rate of owned resources.
[0078] Furthermore, since jobs are scheduled based on job information entered by the user, scheduling based on a subset of jobs created according to the user's requests allows for the generation of a work plan that flexibly reflects the user's requirements.
[0079] Furthermore, since it creates schedules for job execution time using resources and schedules for resource movement, it is possible to distinguish between job execution time and movement time in the created schedule.
[0080] Furthermore, by creating a provisional job set that takes into account uncertainties, including future time-series changes in weather information and human-related information, it is possible to generate a schedule that incorporates fluctuations in these uncertainties.
[0081] Furthermore, by selecting jobs within the user's risk tolerance for uncertainty and creating the aforementioned hypothetical job set, a job execution schedule is created that aligns with the user's strategy (stability-oriented or reward-oriented), thus enabling the generation of a schedule that reflects the user's risk policy.
[0082] Furthermore, the work plan can be visually reviewed from summary information generated by statistically analyzing the status of scheduled resources.
[0083] It should be noted that the present invention is not limited to the embodiments described above, but includes various modifications and equivalent configurations within the spirit of the attached claims. For example, the embodiments described above are described in detail for the purpose of clearly illustrating the present invention, and the present invention is not necessarily limited to having all the described configurations. Furthermore, some of the configurations of one embodiment may be replaced with those of another embodiment. Furthermore, configurations of other embodiments may be added to the configuration of one embodiment. Furthermore, some of the configurations of each embodiment may be added, deleted, or replaced with those of other embodiments.
[0084] Furthermore, each of the aforementioned configurations, functions, processing units, and processing means may be implemented in hardware, for example, by designing them as integrated circuits, or they may be implemented in software by having a processor interpret and execute programs that realize each function.
[0085] Information such as programs, tables, and files that implement each function can be stored in memory, hard disks, SSDs (Solid State Drives), or other storage media such as IC cards, SD cards, and DVDs.
[0086] Furthermore, the control lines and information lines shown are those deemed necessary for explanation purposes and do not necessarily represent all control lines and information lines required for implementation. In reality, it can be assumed that almost all components are interconnected.
Claims
1. A scheduling support system that creates a schedule for executing multiple jobs using resources, It is composed of a computer having an arithmetic unit that performs predetermined processing and a storage device connected to the arithmetic unit, The aforementioned computing device includes an input unit that receives information input to the schedule planning support system, The aforementioned computing device includes a processing unit for scheduling the plurality of jobs, The system includes an output unit that outputs the result of processing by the processing unit, The input unit receives, for each of the plurality of jobs, the following inputs: a job execution period which is a time constraint for scheduling the job; geographic information indicating the location where the resources are used for the job; resource information relating to the plurality of resources executing the job; and job information including the time distribution of rewards according to the job execution timing. The aforementioned processing unit, Based on the job information and resource information, a provisional set of jobs is created such that the job execution time required for the execution of the job is within the job execution period. Based on the time distribution of the rewards, the job execution period, the geographic information, and the resource information, a subset of jobs that yield high rewards is determined. The output unit is characterized by outputting a subset of the determined jobs, thus providing a schedule planning support system.
2. A schedule planning support system according to claim 1, The aforementioned processing unit, A schedule planning support system characterized by determining a subset of jobs that can obtain a large reward by solving an optimization problem with the sum of the reward amounts obtained in the subset of jobs in the aforementioned hypothetical set as the objective function.
3. A schedule planning support system according to claim 1, The schedule planning support system is characterized in that the job information received by the input unit is a time distribution of rewards according to the job execution timing, entered by the user.
4. A schedule planning support system according to claim 1, The processing unit is characterized by creating a schedule for moving resources, based on the resource information and the job information, which determines the job execution time using the resources such that the job execution time required to execute jobs included in a subset of jobs is within the job execution period.
5. A schedule planning support system according to claim 1, The input unit receives prior information regarding uncertainties, including future time-series changes in weather information and human-related information. The processing unit is characterized by creating the provisional set of jobs taking into consideration the prior information, and is a schedule planning support system.
6. A schedule planning support system according to claim 1, The aforementioned input unit accepts the risk tolerance, The processing unit is a schedule planning support system characterized by selecting jobs within the range of the risk tolerance and creating the provisional set of jobs.
7. A schedule planning support system according to claim 1, A scheduling support system characterized by outputting display data to show job execution and resource allocation for each location and over time, in a coordinate space where the horizontal axis represents time and the vertical axis represents location.
8. A schedule planning support system according to claim 1, A schedule planning support system characterized by outputting display data to show the time-dependent changes in rewards for each job in a coordinate space where the horizontal axis represents time and the vertical axis represents reward.
9. A schedule planning support system according to claim 1, A scheduling support system characterized by outputting display data for displaying a job execution schedule, including job execution by resources and resource movement, in a coordinate space where the horizontal axis represents time and the vertical axis represents resources.
10. A scheduling support system is a scheduling support method for formulating a schedule to execute multiple jobs using resources, The aforementioned schedule planning support system is comprised of a computer having a computing device that performs predetermined processing and a storage device connected to the computing device, The aforementioned schedule planning support method is: The arithmetic unit provides an input procedure for each of the plurality of jobs, which includes a job execution period that serves as a time constraint for scheduling the job, geographic information indicating the location where the resources are used for the job, resource information relating to the plurality of resources executing the job, and job information including a time distribution of rewards according to the job execution timing. The processing procedure involves the computing device creating a set of provisional jobs based on the job information and resource information such that the job execution time required for the execution of the jobs is within the job execution period, and determining a subset of jobs that can obtain a large reward based on the time distribution of the rewards, the job execution period, the geographic information and the resource information. A scheduling support method characterized in that the computing device includes an output procedure that outputs a subset of the determined jobs.
Citation Information
Patent Citations
Scheduling program, method and device
JP2012168756A
Agricultural work support system
JP2022063967A
Gap reduction techniques for stochastic algorithms
US20110099138A1
Dynamically scheduling a job plan based on weather information
US20190005426A1
Technician dispatching method and system
US20210019690A1