Scheduling device, scheduling system, and scheduling method
The scheduling device addresses the lack of user-centric correction plans by integrating real-time monitoring and adjustment mechanisms to optimize production schedules in response to delays, ensuring efficient resource allocation and cost management.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2024-10-09
- Publication Date
- 2026-03-11
AI Technical Summary
Existing scheduling technologies fail to create correction plans that reflect user requirements for production equipment delivery dates, production costs, and production loads when delays occur in the production process.
A scheduling device that includes a plan creation unit to determine execution order and resource allocation, a progress information collection unit to monitor process progress, and a schedule correction policy to adjust the schedule based on user requests, prioritizing delivery delays, production costs, or worker loads.
Enables the creation of correction plans that reflect user requests, effectively managing delays by prioritizing delivery, cost, or load considerations, thereby optimizing production schedules.
Smart Images

Figure 0007828512000001 
Figure 0007828512000002 
Figure 0007828512000003
Abstract
Description
[Technical Field]
[0001] The present disclosure relates to a scheduling device, a scheduling system, and a scheduling method for creating a schedule plan to be applied to a production facility. [Background technology]
[0002] In recent years, in order to efficiently execute jobs on a production line using processing machines, it has become desirable to create a schedule plan that can shorten the total execution time of a plurality of jobs.
[0003] The distributed production planning instruction device described in Patent Document 1, when it determines that an unexecuted plan needs to be changed, identifies the earliest start time for the production equipment and creates a schedule plan that minimizes the total delay time for production elements including production equipment, production resources, and workers. [Prior art documents] [Patent documents]
[0004] [Patent Document 1] Japanese Patent Publication No. 2022-169081 Summary of the Invention [Problem to be solved by the invention]
[0005] However, the technology of Patent Document 1 mentioned above had the problem that it was not possible to create a correction plan that reflected user requirements for production equipment, such as production delivery dates, production costs, and production loads, when planning a schedule in the event of a delay in the process.
[0006] The present disclosure has been made in consideration of the above, and aims to provide a scheduling device that can create a correction proposal that reflects user requests for a schedule plan in the event of a delay in a process. [Means for solving the problem]
[0007] In order to solve the above-mentioned problems and achieve the object, the scheduling device of the present disclosure is a scheduling device that schedules processes that perform production using resources of production equipment and workers arranged on a production line, and includes a plan creation unit that creates a schedule plan that determines the execution order and the production equipment and workers to be used for the processes on the production line.The scheduling device of the present disclosure also includes a progress information collection unit that collects progress information that is information on the progress of the processes while the schedule plan is being executed, and a schedule correction policy that determines a schedule correction policy when the progress information collected by the progress information collection unit indicates a delay in the schedule plan. Priority information indicating the priority of the priority evaluation items The system includes a user request receiving unit that receives a user request from a user, and a plan correction unit that corrects the schedule plan created by the plan creation unit based on the progress information collected by the progress information collection unit and the user request for the correction policy accepted by the user request receiving unit, thereby creating a corrected schedule plan that reflects the user request for the schedule plan created by the plan creation unit. The plan correction unit is configured so that the corrected schedule plan it creates when the user request receiving unit receives, as a priority evaluation item, a user request indicated with a delivery delay evaluation item that determines the execution order taking into consideration prevention of delivery delays in production; the corrected schedule plan it creates when the user request receiving unit receives, as a priority evaluation item, a user request indicated with a production cost evaluation item that determines the execution order taking into consideration production costs incurred in the process; and the corrected schedule plan it creates when the user request receiving unit receives, as a priority evaluation item, a user request indicated with a corresponding load evaluation item that determines the execution order taking into consideration the load on workers are different. [Effects of the Invention]
[0008] The scheduling device according to the present disclosure has an advantage of being able to create a correction plan that reflects a request from a user regarding a schedule plan in the event of a delay in a process. [Brief explanation of the drawings]
[0009] [Figure 1] FIG. 1 is a diagram illustrating a configuration of a scheduling device according to a first embodiment. [Figure 2] FIG. 1 is a diagram showing a configuration of a job list used by the scheduling device according to the first embodiment; [Figure 3] FIG. 1 is a diagram showing a configuration of job constraint information used by the scheduling device according to the first embodiment; [Figure 4] FIG. 1 is a diagram showing a configuration of worker constraint information used by the scheduling device according to the first embodiment; [Figure 5]FIG. 1 is a diagram illustrating a configuration of worker resources used by a scheduling device according to a first embodiment. [Figure 6] FIG. 1 is a diagram illustrating a configuration of facility resources used by a scheduling device according to a first embodiment. [Figure 7] FIG. 10 is a diagram illustrating an example of a plan approval confirmation screen displayed on a display unit by the scheduling device according to the first embodiment. [Figure 8] FIG. 1 is a diagram illustrating an example of priority information received by the scheduling device according to the first embodiment. [Figure 9] FIG. 1 is a diagram illustrating an example of an approved schedule created by the scheduling device according to the first embodiment. [Figure 10] FIG. 1 is a diagram illustrating a configuration of a real-time performance acquisition unit included in the scheduling device according to the first embodiment. [Figure 11] FIG. 1 is a diagram illustrating an example of process progress information used by the scheduling device according to the first embodiment. [Figure 12] FIG. 1 is a diagram for explaining sensor information used by a scheduling device according to a first embodiment; [Figure 13] 1 is a flowchart showing a procedure of a process executed when the scheduling device according to the first embodiment creates a schedule; [Figure 14] 1 is a flowchart showing a procedure of a process executed by the scheduling device according to the first embodiment when an approved schedule is operated. [Figure 15] 1 is a flowchart showing a procedure of a process executed when the scheduling device according to the first embodiment acquires a real-time result; [Figure 16] 1 is a flowchart showing a procedure of a process executed by the scheduling device according to the first embodiment when calculating a delay state of a process; [Figure 17] FIG. 1 is a diagram for explaining the contents of delay information created by the scheduling device according to the first embodiment; [Figure 18] FIG. 1 is a diagram for explaining an example of delay information created by a scheduling device according to a first embodiment; [Figure 19]1 is a flowchart showing a procedure of a process executed by the scheduling device according to the first embodiment when correcting an operating schedule; [Figure 20] FIG. 1 is a diagram for explaining a delay tolerance rate set in a scheduling device according to a first embodiment; [Figure 21] 1 is a flowchart showing a procedure of a process executed by the scheduling device according to the first embodiment when presenting a schedule or a correction plan; [Figure 22] FIG. 10 is a diagram illustrating a configuration of a scheduling device according to a second embodiment. [Figure 23] FIG. 10 is a diagram illustrating a configuration of a plan correction unit of the scheduling device according to the second embodiment. [Figure 24] 10 is a flowchart showing a procedure of a process executed by the scheduling device according to the second embodiment when correcting an operating schedule. [Figure 25] FIG. 10 is a diagram for explaining a process in which the scheduling device according to the second embodiment calculates a skill difference based on planned skill level information and corrected skill level information. [Figure 26] FIG. 10 is a diagram for explaining a process of calculating an application timing plan for a correction plan by a scheduling device according to a second embodiment; [Figure 27] FIG. 27 is a diagram illustrating a job to be corrected in accordance with the proposed application timing of the correction proposal illustrated in FIG. 26; [Figure 28] FIG. 28 is a diagram illustrating a margin time set for the amendment proposal described in FIG. 27. [Figure 29] FIG. 10 is a diagram illustrating a configuration of a scheduling device according to a third embodiment. [Figure 30] FIG. 10 is a diagram illustrating a configuration of a real-time result acquisition unit and a delay estimation unit included in the scheduling device according to the third embodiment. [Figure 31] FIG. 10 is a diagram for explaining a delay symptom and a total delay time used for learning by a learning device included in a scheduling device according to a third embodiment. [Figure 32] FIG. 10 is a diagram illustrating a configuration of a learning device included in a scheduling device according to a third embodiment. [Figure 33] FIG. 10 is a diagram showing the configuration of a neural network used by a learning device according to a third embodiment. [Figure 34] 10 is a flowchart showing a procedure of a learning process executed by a learning device according to a third embodiment. [Figure 35] FIG. 10 is a diagram illustrating a configuration of an inference device included in a scheduling device according to a third embodiment. [Figure 36] 10 is a flowchart showing the procedure of an inference process executed by an inference device according to a third embodiment. [Figure 37] 10 is a flowchart showing a procedure of processing executed when the scheduling device according to the third embodiment infers the total delay time of the process. [Figure 38] FIG. 10 is a diagram for explaining a total delay time inferred by a scheduling device according to a third embodiment. [Figure 39] FIG. 10 is a diagram illustrating a configuration of a scheduling device according to a fourth embodiment. [Figure 40] 10 is a flowchart showing a procedure of a process executed by the scheduling device according to the fourth embodiment when learning the weights of evaluation items during schedule creation. [Figure 41] 10 is a flowchart showing a procedure of a process executed by the scheduling device according to the fourth embodiment when inferring the weights of evaluation items during schedule creation. [Figure 42] 10 is a flowchart showing a procedure of a process executed by the scheduling device according to the fourth embodiment when learning the weights of evaluation items during schedule correction. [Figure 43] 10 is a flowchart showing a procedure of a process executed by the scheduling device according to the fourth embodiment when inferring the weights of evaluation items during schedule correction. [Figure 44] FIG. 10 is a diagram illustrating a configuration of a device in a scheduling system according to a fourth embodiment. [Figure 45] FIG. 1 is a diagram illustrating an example of the configuration of a processing circuit provided in a scheduling device according to first to fourth embodiments when the processing circuit is realized by a processor and a memory. [Figure 46]FIG. 1 is a diagram illustrating an example of a processing circuit when the processing circuit included in the scheduling device according to the first to fourth embodiments is configured with dedicated hardware. DETAILED DESCRIPTION OF THE INVENTION
[0010] Hereinafter, a scheduling device, a scheduling system, and a scheduling method according to embodiments of the present disclosure will be described in detail with reference to the accompanying drawings.
[0011] Embodiment 1 FIG. 1 is a diagram showing the configuration of a scheduling device according to a first embodiment. The scheduling device 1A according to the first embodiment is a device that creates and corrects a schedule (job execution schedule) that reflects user requests such as production due dates, production costs, and production loads for production equipment arranged on a production line. That is, the scheduling device 1A creates and corrects a schedule that reflects user requests such as production due dates, production costs, and production loads.
[0012] The plan correction unit 17A of the scheduling device 1A corrects the schedule using, for example, resources for production facilities or workers when planning the schedule, or resources for standard and simple tasks.
[0013] Furthermore, the plan correction unit 17A of the scheduling device 1A may correct the schedule using information on resources that can be used when correcting the schedule (resources that can be used when there is a delay 23). The information on resources that can be used when correcting the schedule is information on the production equipment and workers that perform the work in the processes on the production line, and is information that corresponds to the actual state of the resources (production equipment and workers).
[0014] A schedule is production schedule data for jobs executed by production equipment such as machining equipment. Schedules are used when production equipment such as processing machines process workpieces in order using various processing programs. A schedule registers the execution order of jobs, which are units of processing executed by processing machines, etc.
[0015] The scheduling device 1A creates a schedule by automatically assigning an execution order, production equipment (processing machines) to be executed, and workers to be executed for all processes including processing processes on a production line.
[0016] The scheduling device 1A creates a schedule by solving a combinatorial optimization problem that takes into account the product production plan and the operation plans of the production equipment and workers, and determines the order in which the products are processed and the allocation of the processing machines and workers to be used for each process.
[0017] In Fig. 1, the schedule created by the scheduling device 1A is illustrated as a schedule 41. Also in Fig. 1, the schedule 41 created by the scheduling device 1A and approved by a user is illustrated as an approved schedule 26. In the production facility, production is carried out using the approved schedule 26.
[0018] The scheduling device 1A collects monitoring data (process progress information 31 and sensor information 32) in real time and monitors the progress of the process for the approved schedule 26 currently in operation (hereinafter, sometimes referred to as the in-operation schedule). The scheduling device 1A uses this monitoring data to estimate the delay state. When the scheduling device 1A detects the occurrence of a delay, it creates a correction proposal for the in-operation schedule (a correction proposal for the approved schedule 26) (hereinafter, sometimes simply referred to as the correction proposal) in order to deal with the delay. The correction proposal created by the scheduling device 1A is a schedule (corrected schedule plan) to eliminate the delay.
[0019] When creating a correction proposal, the scheduling device 1A accepts a user request and creates a correction proposal that reflects the user request (user request). In this way, by reflecting the user request, the scheduling device 1A creates a correction proposal that prioritizes recovery from a delayed state, a correction proposal that reduces the correction load even if it means allowing some delay, etc. The scheduling device 1A is connected to a display unit 2 such as an LCD monitor, and displays the created schedule 41, correction proposal, etc. on the display unit 2. The scheduling device 1A is also connected to a resource control unit 7, and transmits the created schedule 41, correction proposal, etc. to the resource control unit 7.
[0020] The resource control unit 7 is a computer or system that determines production equipment, personnel allocation, etc. based on the schedule 41, amendments, etc. created by the scheduling device 1A, and controls resources such as production equipment and personnel. The resource control unit 7 controls the resources to cause the production equipment and workers to execute jobs according to the schedule 41, amendments, etc. Note that the resource control unit 7 may be located within the scheduling device 1A.
[0021] The scheduling device 1A includes an input unit 11, a user request receiving unit 12, a plan creating unit 13, a real-time performance obtaining unit 14A, a delay estimating unit 15A, a plan presenting unit 16, and a plan correcting unit 17A.
[0022] The input unit 11 receives a job list 21, constraint information 22, and resources available for use in the event of a delay (production resource information) 23 from a device external to the scheduling device 1A. The input unit 11 also receives plan approval / non-approval information 24 from a user. Of the plan approval / non-approval information 24, the plan approval / non-approval information 24 received by the input unit 11 when creating the schedule 41 is first plan approval / non-approval information, and the plan approval / non-approval information 24 received by the input unit 11 when creating the revised proposal is second plan approval / non-approval information.
[0023] When the input unit 11 receives the job list 21, constraint information 22, and plan approval / non-approval information 24 during creation of a correction proposal, the input unit 11 transmits the job list 21, constraint information 22, and plan approval / non-approval information 24 to the plan creation unit 13.
[0024] Furthermore, when the input unit 11 receives the job list 21, the constraint information 22, the resources available for use during delay 23, and the plan approval / non-approval information 24 during creation of a correction proposal, the input unit 11 transmits the job list 21, the constraint information 22, the resources available for use during delay 23, and the plan approval / non-approval information 24 to the plan correction unit 17A. Note that the plan creation unit 13 may transmit at least one of the job list 21 and the constraint information 22 to the plan correction unit 17A.
[0025] The user request receiving unit 12 receives priority information 25, which is an example of a user request from a user. For example, if the display unit 2 is a touch panel type liquid crystal monitor, the user request receiving unit 12 receives, from the display unit 2, an operation on information input to the display unit 2. The priority information 25 is information indicating evaluation items (priority items) that are prioritized when the schedule 41 or a revised proposal is created, and the priority (priority order or weight) of each evaluation item. Details of the priority information 25 will be described later. The user request receiving unit 12 transmits the priority information 25 to the plan creation unit 13 and the plan correction unit 17A.
[0026] The user request receiving unit 12 may receive from the user user requests such as complaints and improvement requests regarding the created schedule 41 or the proposed amendment. When the user request receiving unit 12 receives a user request when creating the schedule 41, it transmits the user request to the plan creation unit 13. When the user request receiving unit 12 receives a user request when creating the proposed amendment, it transmits the user request to the plan correction unit 17A.
[0027] The job list 21 is a list of jobs for which the schedule 41 is to be created, and includes information about jobs to be executed in the production equipment. The job list 21 is used by the scheduling device 1A when creating the schedule 41. The job list 21 is created by a scheduling device other than the scheduling device 1A. Note that the job list 21 may also be created by the scheduling device 1A.
[0028] Here, the configuration of the job list 21 will be described. Fig. 2 is a diagram showing the configuration of the job list used by the scheduling device according to the first embodiment. In the job list 21, a job ID (Identification, identification information), a job priority, a processing instruction, a workpiece ID, a processing program ID, and an estimated time are associated with each other.
[0029] The job ID is information that identifies a job. The job priority in the job list 21 is the processing priority for each job ID. The processing instruction includes the job's due date and processing machine ID. The job's due date is the deadline for completing the job corresponding to the job ID, and the processing machine ID is information that identifies the processing machine that will execute the job corresponding to the job ID.
[0030] The workpiece ID is information for identifying a workpiece to be used in a job corresponding to the job ID, and the machining program ID is information for identifying a machining program to be used in a job corresponding to the job ID.
[0031] The estimated time includes the estimated time for machining, pre-machining, and post-machining processing for the job corresponding to the job ID. The estimated time for pre-machining processing includes the time for carrying in the workpiece and the time for setting up the workpiece. Workpiece setup includes the parallel mounting of the workpiece, the horizontal mounting of the workpiece, and the measurement of the workpiece's reference position. The estimated time for post-machining processing includes the time for measuring the workpiece and the time for carrying out the workpiece.
[0032] The constraint information 22 is information (file) of constraints on jobs and workers when creating the schedule 41. The constraint information 22 includes job constraint information that indicates constraints on jobs and worker constraint information that indicates constraints on workers.
[0033] 3 is a diagram showing the configuration of job constraint information used by the scheduling device according to the first embodiment. In the job constraint information 22A, a job ID, information on a previous process on which the job depends (dependent previous process), information on a required skill level (required skill level), information indicating whether the process can be deleted (process deletion possibility), and information on whether continuous execution with the previous process is required (necessity of continuous execution with the previous process) are associated with each other.
[0034] A dependent previous process is information (constraint) that indicates the previous job on which a job depends. The job ID of the dependent job is set in the dependent previous process. If a job has a dependent previous process, it cannot be executed until this dependent previous process is completed. For example, in the case of job constraint information 22A shown in Figure 3, a job with job ID "J003" depends on a job with job ID "J001", and job "J003" cannot be executed until job "J001" is completed.
[0035] The required skill level is information about the skill level of the worker required for the job. For example, for a job that can be performed unmanned, "0" is set as the required skill level information. For a job that requires a worker, a numerical value is set as the required skill level.
[0036] The process deletion permission is information on whether or not a process of a job can be deleted. For example, if a process of a job can be deleted, "1" is set to the process deletion permission, and if a process of a job cannot be deleted, "0" is set.
[0037] The necessity of continuous execution with the previous process is information on whether the job needs to be executed consecutively with the job of the previous process. For example, "1" is set to the necessity of continuous execution with the previous process if the job needs to be executed consecutively with the job of the previous process, and "0" is set to the necessity of continuous execution with the previous process if the job does not need to be executed consecutively with the job of the previous process.
[0038] 4 is a diagram showing the configuration of worker constraint information used by the scheduling device according to the embodiment 1. In the worker constraint information 22B, a worker ID, a skill level of the worker, and a work schedule of the worker are associated with each other.
[0039] The worker ID is information that identifies the worker. The skill level is information that limits the processes that a worker can perform. A worker can handle processes with a required skill level that is equal to or lower than the value indicated by the skill level. In other words, the higher the skill level number, the more skilled the worker is and the more types of work they can perform. In other words, the higher the skill level number, the more types of processes a worker can handle. A worker's work schedule is set to "1" for dates when the worker works, and "0" for dates when the worker does not work.
[0040] The resources available for use during delay 23 is information on surplus resources (idle resources) that can be used when a process is delayed. The resources available for use during delay 23 include worker resources that indicate worker resources that can be used when a process is delayed, and equipment resources that indicate equipment resources that can be used when a process is delayed.
[0041] 5 is a diagram showing the configuration of worker resources used by the scheduling device according to the first embodiment. In the worker resource 23A, skill levels are associated with the number of people who can help for each work schedule. That is, in the worker resource 23A, the number of people who can help for each skill level for each work schedule is set. The number of people who can help is the number of workers who can be assigned when a process is delayed.
[0042] For example, in the case of worker resource 23A, for the work schedule on the morning of May 18th (5 / 18 AM), if the process is delayed, it is possible to assign three workers with skill level "1," one worker with skill level "2," and one worker with skill level "3."
[0043] 6 is a diagram showing the configuration of facility resources used by the scheduling device according to the first embodiment. In the facility resource 23B, facility resource names are associated with information on whether the facility is available for use for each work schedule. That is, in the facility resource 23B, information on whether the facility is available for use for each facility resource name for each work schedule is set.
[0044] The equipment with the equipment resource name registered in the equipment resource 23B is, for example, equipment (such as a processing machine) that is used to operate at full capacity during busy periods but is idle during normal periods. In the equipment resource 23B, for example, "1" is set to the equipment resource name that can be used for the work schedule, and "0" is set to the equipment resource name that cannot be used for the work schedule.
[0045] The plan approval / rejection information 24 is information on whether the user approves or rejects the schedule 41 or amendment proposed to the user by the plan presentation unit 16. The plan approval / rejection information 24 is input to the input unit 11 when the user inputs approval or rejection information on a screen for confirming plan approval (a plan approval confirmation screen 3 described later) that the plan presentation unit 16 has displayed on the display unit 2.
[0046] 7 is a diagram showing an example of a plan approval confirmation screen displayed on a display unit by the scheduling device according to the first embodiment. The display unit 2 displays the plan approval confirmation screen 3 in accordance with information transmitted from the plan presenting unit 16.
[0047] The plan approval confirmation screen 3 displays the planned schedule, which is the schedule 41 at the planning stage, an approval button for approving this planned schedule, and a rejection button for rejecting this planned schedule.
[0048] In the planning schedule, the processing machine ID is associated with the job ID for each hour. That is, in the planning schedule, the horizontal axis represents time, and for each processing machine ID, the job ID of the job is set in the area corresponding to the job's execution time period. In the planning schedule, the area to the right indicates that time has advanced. In the following, when illustrating any of the schedules, the area to the right indicates that time has advanced.
[0049] When the user presses the approval button, the display unit 2 sends plan approval / rejection information 24 (hereinafter sometimes referred to as approval information) to the input unit 11, indicating that the planned schedule displayed on the plan approval confirmation screen 3 is approved.
[0050] On the other hand, when the reject button is pressed by the user, the display unit 2 transmits to the input unit 11 plan approval propriety information 24 indicating that the planned schedule displayed on the plan approval confirmation screen 3 is rejected.
[0051] 8 is a diagram illustrating an example of priority information received by the scheduling device according to the first embodiment. The priority information 25 is information indicating the priority (order of precedence or weight) of evaluation items to be prioritized when the schedule 41 is created. The priority information 25 is created by a user and input to the user request receiving unit 12. In response to this, the user request receiving unit 12 receives the priority information 25.
[0052] In the priority information 25, priorities are associated with evaluation items. Evaluation items are items that are prioritized when creating the schedule 41, and are used as evaluation indicators when creating the schedule 41. For example, the higher the priority of an evaluation item, the greater its priority in scheduling. In other words, an evaluation item with a priority of "1" has the highest priority, and this evaluation item is given importance when creating the schedule 41.
[0053] For example, one of the evaluation items, "minimizing delivery delays," involves determining the order of processes so as to minimize delivery delays. "Minimizing production costs" involves determining the order of processes so as to minimize production costs incurred in the production process. For example, to minimize production costs, measures such as reducing the number of setup changes and using production times when electricity rates are low as much as possible are taken. "Minimizing response load" involves determining the time between processes so as to minimize the load on workers. For example, to minimize the load on workers, margin time is provided between processes to ensure the prevention of setup changes or operational errors on site.
[0054] The scheduling device 1A generates the schedule 41 or a revised proposal by weighting the evaluation items in the priority information 25 more heavily, the higher the priority of the evaluation item. The scheduling device 1A generates the schedule 41 or a revised proposal using an evaluation function in which the evaluation value increases as the satisfaction of an evaluation item with a higher priority. For example, if the priority of "minimizing delivery delays" is number 1, the scheduling device 1A generates the schedule 41 or a revised proposal in such a way that delivery delays are minimized, taking priority over minimizing production costs and minimizing the workload of workers.
[0055] The evaluation function is a function for evaluating the schedule 41 or the amendment proposal. The evaluation function is a function whose evaluation value increases as the priority of an evaluation item with a higher priority is given. That is, the evaluation function is composed of an item-specific function, which is a function for each evaluation item that, when the amendment proposal is applied, has a higher evaluation value the closer it is to the target of the evaluation item, and a weight for each evaluation item used to weight the item-specific function. The created amendment proposal is evaluated according to the item-specific function and the weight for each evaluation item. A weight is set for each item-specific function in the evaluation function. The scheduling device 1A creates a schedule 41 or amendment proposal that prioritizes evaluation items with a higher priority by performing scheduling to maximize the evaluation value. That is, the scheduling device 1A (the plan creation unit 13 and the plan correction unit 17A) creates a schedule 41 and amendment proposal that prioritizes evaluation items with a higher weight so as to increase the evaluation value of the evaluation function.
[0056] The evaluation function may be a function in which the evaluation value decreases as the priority of an evaluation item with a higher priority is given. In this case, the scheduling device 1A performs scheduling so as to minimize the evaluation value, thereby creating a schedule 41 or an amendment plan in which the evaluation item with a higher priority is given priority.
[0057] Furthermore, when the priority of "minimizing the corresponding load" is the highest, the scheduling device 1A prioritizes providing a margin time between processes even if it means allowing a delay in the process. Note that although the case where the priority of the priority information 25 is a priority has been described here, the priority may also be a weight.
[0058] A user can register priority information 25 in which the priority or weight of evaluation items is set in the scheduling device 1A according to various situations, such as when the user wants to meet delivery deadlines, when the user wants to reduce production costs such as electricity charges, when the user wants to reduce the burden on workers, etc.
[0059] The scheduling device 1A of the first embodiment creates a schedule 41, which is a schedule plan, based on priority information 25 set by a user, thereby performing flexible scheduling that reflects requests from the user.
[0060] The plan creation unit 13 creates a schedule 41 that determines the execution order and the production equipment and workers to be used for the processes on the production line. Specifically, the plan creation unit 13 creates the schedule 41 based on the job list 21, constraint information 22, and priority information 25. For example, the plan creation unit 13 creates the schedule 41 so that jobs are executed in order starting from the job with the highest job priority in the job list 21.
[0061] Furthermore, the plan creation unit 13 creates the schedule 41 so that priority is given to evaluation items with high priorities in the priority information 25. In other words, the plan creation unit 13 performs scheduling so that constraints are satisfied and the evaluation value of the schedule 41 calculated using an evaluation function for the schedule is increased (for example, maximized).
[0062] The plan creation unit 13 applies the schedule 41 to an evaluation function to calculate an evaluation value for evaluating the schedule 41. The evaluation function is weighted according to the priority of the evaluation items. The plan creation unit 13 may perform scheduling so as to maximize the evaluation value of the schedule 41 using initial weight values, or may perform scheduling so as to maximize the evaluation value of the schedule 41 using weights set (adjusted) by the user.
[0063] Here, the weights that reflect the user requests and are used by the plan creation unit 13 will be described. The plan creation unit 13 creates a schedule 41 based on the weights that reflect the user requests. For example, if the user requests set a high weight for the safety or reliability of the process, the plan creation unit 13 creates a schedule 41 that allows for some delays to be tolerated while still ensuring the safety or reliability of the process. The user requests consist of multiple evaluation items, and the weights represent the relative merits assigned to these evaluation items. A set of weights, each of which is set for each evaluation item by the user request, may include, for example, multiple sets of weights. For example, if there are three evaluation items, the multiple sets of weights may be weights W=(0,1,0) and (10,1,3). In this case, the plan creation unit 13 creates multiple types of schedules 41 by scheduling each combination.
[0064] Note that multiple types of initial weight values may be set for each evaluation item. That is, multiple types of combinations of initial weight values for multiple evaluation items may be used. In this case, the plan creation unit 13 also creates multiple types of schedules 41 by scheduling for each combination. Then, the plan creation unit 13 presents the multiple types of schedules 41 to the user and stores them.
[0065] When the plan creating unit 13 receives a user request such as complaints or improvements to the created schedule 41, the plan creating unit 13 creates a schedule 41 that meets the user request.
[0066] When the plan creation unit 13 determines that the evaluation value cannot be increased any further, or when the upper limit of the calculation time required for scheduling is reached, it determines that the scheduling termination condition (the condition for terminating the creation of the schedule 41) has been met, and terminates the scheduling. When the scheduling termination condition has been met, the plan creation unit 13 transmits the schedule with the highest evaluation value obtained during scheduling as the schedule 41 to the plan presentation unit 16.
[0067] When the user inputs plan approval / non-approval information 24 indicating that the schedule 41 is rejected from the input unit 11, at least one of the job list 21, the constraint information 22, and the priority information 25 is reset. That is, in the scheduling device 1A, whenever the schedule 41 is recreated, at least one of the job list 21, the constraint information 22, and the priority information 25 is reset by the user before the creation starts.
[0068] When the plan creation unit 13 receives plan approval / rejection information 24 from the input unit 11 indicating that the user has rejected the schedule 41, the plan creation unit 13 recreates a new schedule 41 based on the latest job list 21, the latest constraint information 22, and the latest priority information 25.
[0069] That is, when the job list 21 is reset, the plan creation unit 13 recreates the schedule 41 based on the reset job list 21. When the constraint information 22 is reset, the plan creation unit 13 recreates the schedule 41 based on the reset constraint information 22. When the resources available for use during a delay 23 are reset, the plan creation unit 13 recreates the schedule 41 based on the reset resources available for use during a delay 23. In this case as well, when the plan creation unit 13 recreates a new schedule 41, it transmits the recreated schedule 41 to the plan presentation unit 16.
[0070] Furthermore, when the plan creation unit 13 receives the approved schedule 26 from the plan presentation unit 16, it stores the approved schedule 26. The approved schedule 26 is a schedule that has been approved by the user among the schedules 41 created by the plan creation unit 13.
[0071] The plan creation unit 13 may store the schedule 41 when transmitting the schedule 41 to the plan presentation unit 16. In this case, when the plan creation unit 13 receives approval information from the plan presentation unit 16, the plan creation unit 13 stores the stored schedule 41 as the approved schedule 26.
[0072] When a delay time longer than a threshold occurs in a process, the plan creation unit 13 receives a request to acquire the approved schedule 26 from the plan correction unit 17A. Upon receiving the request to acquire the approved schedule 26 from the plan correction unit 17A, the plan creation unit 13 transmits the latest approved schedule 26 to the plan correction unit 17A.
[0073] The plan presentation unit 16 displays the schedule 41 received from the plan creation unit 13 as a planned schedule on the display unit 2. When the plan presentation unit 16 receives multiple schedules 41 from the plan creation unit 13, it displays the multiple schedules 41 as planned schedules on the display unit 2.
[0074] Furthermore, when the plan presentation unit 16 receives approval information for the schedule 41 from the input unit 11, it transmits the displayed schedule 41 approved by the user to the external device and the plan creation unit 13 as an approved schedule 26. As a result, the plan creation unit 13 and the external device receive the approved schedule 26. The external device that receives the approved schedule 26 is a management device that manages the process, a control device that controls the processing machine, or the like.
[0075] The plan presenting unit 16 may simultaneously display multiple schedules 41 on the display unit 2. In this case, the schedule 41 that has been approved by the user among the displayed schedules 41 is transmitted to the external device and the plan creating unit 13 as an approved schedule 26.
[0076] Furthermore, the plan presentation unit 16 displays the proposed correction received from the plan correction unit 17A on the display unit 2. When the plan presentation unit 16 receives a plurality of proposed corrections from the plan correction unit 17A, the plan presentation unit 16 displays the plurality of proposed corrections on the display unit 2.
[0077] Furthermore, when the plan presenting unit 16 receives approval information for the proposed correction from the input unit 11, it transmits the displayed proposed correction approved by the user to the external device and the plan creating unit 13. As a result, the plan creating unit 13 and the external device receive the approved proposed correction. The plan creating unit 13 stores the approved proposed correction as the latest schedule 41. The external device that receives the approved proposed correction is a management device that manages the process, a control device that controls the processing machine, or the like.
[0078] The plan presenting unit 16 may simultaneously display a plurality of amendment proposals on the display unit 2. In this case, the amendment proposals that are approved by the user among the amendment proposals being displayed are transmitted to the external device and the plan creating unit 13.
[0079] Furthermore, the plan presenting unit 16 may simultaneously display the approved schedule 26 and the amendment proposal on the display unit 2. Furthermore, the plan presenting unit 16 may simultaneously display the difference between the approved schedule 26 and the amendment proposal on the display unit 2. Furthermore, the plan presenting unit 16 may simultaneously display at least one of the approved schedule 26 and the amendment proposal, and the difference between the approved schedule 26 and the amendment proposal on the display unit 2.
[0080] The external device that receives the approved schedule 26 or the approved amendment proposal executes various processes based on the approved schedule 26 or the approved amendment proposal. For example, a control device that controls a processing machine controls the processing machine based on the approved schedule 26 or the approved amendment proposal, and a management device that manages the processes manages the processes based on the approved schedule 26 or the approved amendment proposal. The management device creates information indicating the progress status of each process (process progress information 31) based on the progress status of each process, and transmits it to the scheduling device 1A.
[0081] 9 is a diagram showing an example of an approved schedule created by the scheduling device according to the first embodiment. In the approved schedule 26, a job ID, a processing machine ID, a scheduled start time, a scheduled end time, and a worker ID are associated with each other. The scheduled start time is the scheduled time when the job corresponding to the job ID is to start, and the scheduled end time is the scheduled time when the job corresponding to the job ID is to end. Note that the schedule 41 has the same configuration as the approved schedule 26.
[0082] The real-time result acquiring unit 14A acquires progress information (process progress information) in a process in real time. Here, a configuration example of the real-time result acquiring unit 14A will be described. Fig. 10 is a diagram illustrating the configuration of the real-time result acquiring unit included in the scheduling device according to the first embodiment.
[0083] The real-time result acquisition unit 14A has a process progress information acquisition unit (progress information collection unit) 140. The process progress information acquisition unit 140 acquires process progress information 31 and sensor information 32 from an external device. The process progress information 31 is information on the progress status of each process. That is, the process progress information 31 is information on the execution status of an active schedule (for example, the execution status of a delayed process). For example, the process progress information 31 includes information indicating whether each process is not yet started, in progress, or completed, information on whether the processing process is delayed (progress status), and information on the delay time if delayed.
[0084] The process progress information 31 may include the processing accuracy of each processing machine, the processing status of each processing machine, the workpiece transport status, etc. The processing status of each processing machine is, for example, whether or not there is work in progress at the processing machine, the name of the workpiece currently being processed by each processing machine, and the estimated time of processing completion by the processing machine. The workpiece transport status is, for example, the estimated arrival time of the workpiece transported from the processing machine by the robot.
[0085] The sensor information 32 is information detected in the process. Specifically, the sensor information 32 is position information of a robot that transports workpieces between processes, tracking information of products that need to be processed, etc. The process progress information acquisition unit 140 transmits the process progress information 31 and the sensor information 32 to the delay estimation unit 15A at a predetermined cycle.
[0086] 11 is a diagram showing an example of process progress information used by the scheduling device according to the first embodiment. In the process progress information 31, a job ID, a processing machine ID, a scheduled start time, an actual start time, a scheduled end time, an actual end time, and a progress status are associated with each other.
[0087] The scheduled start time is the scheduled start time of the job set in the approved schedule 26, and the scheduled end time is the scheduled end time of the job set in the approved schedule 26. The actual start time is the time when the job actually started, and the actual end time is the time when the job actually ended.
[0088] The progress status is information that indicates the progress of a process. Information such as "delayed," "on time," and "not started" is registered in the progress status. "Delayed" indicates that the process is behind schedule. "On time" indicates that the process is progressing as scheduled, and "not started" indicates that the process has not yet started.
[0089] 12 is a diagram for explaining sensor information used by the scheduling device according to the first embodiment. The sensor 6 that detects the sensor information 32 is arranged, for example, on the robot 5 that transports workpieces and the like to the warehouse 70 and the production lines L1 to L3 on which the production equipment is arranged.
[0090] When the sensor 6 detects the sensor information 32, it transmits the sensor information 32 to the process progress information acquisition unit 140. The sensor information 32 includes, for example, the position information (coordinates, etc.) of the robot 5, the status of the robot 5, etc. Note that although the case where the sensor information 32 is information detected from the robot 5 has been described here, the sensor information 32 may also be information detected from a source other than the robot 5.
[0091] The process progress information acquisition unit 140 assigns a timestamp to the process progress information 31. The process progress information acquisition unit 140 transmits the sensor information 32 and the process progress information 31 with the timestamp assigned to it to the delay estimation unit 15A.
[0092] The delay estimation unit 15A also receives the sensor information 32 and the time-stamped process progress information 31 from the real-time result acquisition unit 14A. The delay estimation unit 15A also receives the approved schedule 26 from the plan creation unit 13.
[0093] The delay estimation unit 15A calculates the delay status (delay time, etc.) of the process by comparing the approved schedule 26 with the process progress information 31. The delay estimation unit 15A determines whether or not a delay has occurred in the process based on the calculation result of the delay status. If the delay estimation unit 15A determines that a delay has occurred in the process, it creates delay information indicating the delay status based on the process progress information 31 and transmits it to the plan correction unit 17A. In addition, the delay estimation unit 15A causes the display unit 2 to display the delay information via the plan presentation unit 16.
[0094] If the process progress information 31 includes the processing accuracy of each processing machine, the processing state of each processing machine, the transport state of the workpiece, etc., the delay estimation unit 15A can calculate the delay state with high accuracy.
[0095] The plan correction unit 17A includes a correction proposal creation unit 170. When the correction proposal creation unit 170 receives delay information during operation of the approved schedule 26, the correction proposal creation unit 170 creates a correction proposal for the operating schedule based on the delay status of the process. Specifically, the plan correction unit 17A creates a corrected schedule plan (corrected proposal for the operating schedule) by correcting the schedule plan (approved schedule 26) created by the plan creation unit 13 based on the process progress information 31 collected by the process progress information acquisition unit 140 and the user request accepted by the user request acceptance unit 12. For example, the correction proposal creation unit 170 creates a correction proposal for the operating schedule based on the job list 21, the operating schedule, constraint information 22, resources available for use during delay 23, delay information, and priority information 25.
[0096] Here, the weights reflecting the user requirements used by the correction proposal creation unit 170 will be described. The correction proposal creation unit 170 creates correction proposals based on weights reflecting the user requirements, not only when creating correction proposals to correct delays using idle resources, etc., but also in a similar manner to the plan creation unit 13, in order to create correction proposals that have a margin for ensuring the safety or reliability of the process even if they partially tolerate delays. As with the plan creation unit 13, the user requirements consist of multiple evaluation items, and the weights represent the relative merits assigned to these evaluation items. A set of weights consisting of weights assigned to each evaluation item may be a set of multiple types of weights. For example, if there are three evaluation items, the set of multiple types of weights would be weights W=(0,1,0) and (10,1,3).
[0097] When a proposed correction to an operating schedule is created, at least one of the job list 21, constraint information 22, available resources 23 during delay, and priority information 25 is reset by the user every time before the correction is started.
[0098] The correction proposal creation unit 170 creates a correction proposal for the schedule in operation based on the latest job list 21, the schedule in operation, the latest constraint information 22, the latest resources available for use in case of delay 23, the delay information, and the latest priority information 25.
[0099] That is, when the job list 21 is reset, the plan correction unit 17A recreates a revised proposal for the operating schedule (approved schedule 26) based on the reset job list 21. When the constraint information 22 is reset, the plan correction unit 17A recreates a revised proposal for the operating schedule based on the reset constraint information 22. When the resources 23 available for use during a delay are reset, the plan correction unit 17A recreates a revised proposal for the operating schedule based on the reset resources 23 available for use during a delay.
[0100] The amendment proposal created by the amendment proposal creating unit 170 is the active schedule that is the target of amendment. Similar to the plan creating unit 13, the amendment proposal creating unit 170 creates an amendment proposal so that evaluation items with higher priorities in the priority information 25 are given priority. That is, similar to the plan creating unit 13, the amendment proposal creating unit 170 creates an amendment proposal by performing scheduling so that constraints are satisfied and the evaluation value of the amendment proposal calculated using an evaluation function of the schedule is increased (for example, maximized). The evaluation function used by the amendment proposal creating unit 170 is the same evaluation function as the evaluation function used by the plan creating unit 13.
[0101] When multiple types of initial weight values are set for each evaluation item, the correction proposal creating unit 170 creates multiple types of correction proposals for each combination.The correction proposal creating unit 170 then presents the multiple types of correction proposals to the user and stores them.
[0102] When the correction proposal creating unit 170 receives a user request (feedback) such as complaints or improvements to an already created correction proposal, the correction proposal creating unit 170 creates a correction proposal in accordance with the user request.
[0103] The scheduling device 1A may prepare multiple sets of weights for each evaluation item. These weights may be weights that have been modified from weights specified by the user, or weights that have been randomly assigned initial values. The correction proposal creation unit 170 creates multiple correction proposals according to these weights, obtains feedback (user requests) from the user, and modifies these weights. The user requests here include, for example, a request to prioritize a specific evaluation item. The scheduling device 1A repeats these user requests and the process of modifying the weights.
[0104] For example, the scheduling device 1A prepares weight sets such as W1=(1,0,0), W2=(0,1,0), and W3=(0,0,1). For example, the scheduling device 1A creates correction proposals corresponding to the weights W1 to W3 and presents them to the user. In this case, if the scheduling device 1A receives a request from the user to place more emphasis on a specific evaluation item, the scheduling device 1A updates the weights in accordance with this request. For example, assume that the updated weights result in W1=(1.5,1,0), W2=(1,1.5,0), and W3=(1,1,0.5). The scheduling device 1A calculates correction proposals again using the updated weights. As a result, assume that the user selects the correction proposal W2.
[0105] Even if the weights are updated, it is not necessarily the case that the user request can be reflected as is in the correction proposal. Therefore, the scheduling device 1A updates the weight adjustments that meet the user request from multiple seed values (initial values), generates correction proposals for each set of updated weights, and presents them to the user. In this way, the scheduling device 1A obtains weights that meet the user request with a small number of iterations (number of trials), and obtains correction proposals that meet the user request with a small number of trials.
[0106] Similar to the plan creation unit 13, when it determines that the evaluation value cannot be increased any further or when the upper limit of the calculation time required for scheduling has been reached, the correction proposal creation unit 170 determines that the scheduling termination condition has been met and terminates scheduling. When the scheduling termination condition has been met, the correction proposal creation unit 170 transmits the correction proposal with the highest evaluation value obtained during scheduling to the plan presentation unit 16. The correction proposal creation unit 170 transmits the created correction proposal to the plan presentation unit 16.
[0107] When the correction proposal creating unit 170 receives from the input unit 11 the plan approval propriety information 24 indicating that approval of the schedule 41 has been rejected by the user, the correction proposal creating unit 170 recreates a correction proposal for the active schedule based on the latest job list 21, the active schedule, the latest constraint information 22, the latest available resources in case of delay 23, the delay information, and the latest priority information 25. In this case as well, the correction proposal creating unit 170 transmits the created correction proposal to the plan presenting unit 16. The plan presenting unit 16 presents the schedule 41 and the correction proposal to the user by displaying them on the display unit 2.
[0108] Next, the processing procedures of each process executed by the scheduling device 1A will be explained. First, the processing procedures when the scheduling device 1A creates the schedule 41 will be explained.
[0109] 13 is a flowchart showing the processing steps of a process executed by the scheduling device according to the first embodiment when creating a schedule. The scheduling device 1A acquires a job list 21, constraint information 22, and priority information 25 (step S10). Specifically, the input unit 11 of the scheduling device 1A accepts the job list 21 and the constraint information 22 from an external device of the scheduling device 1A, and the user request accepting unit 12 accepts the priority information 25 from a user. The input unit 11 transmits the job list 21 and the constraint information 22 to the plan creation unit 13, and the user request accepting unit 12 transmits the priority information 25 to the plan creation unit 13.
[0110] The plan creation unit 13 creates a schedule 41 based on the job list 21, the constraint information 22, and the priority information 25 (step S20). That is, the plan creation unit 13 creates the schedule 41 based on the job list 21 under the constraint conditions set in the constraint information 22 so as to satisfy the priority information 25. The plan creation unit 13 creates the schedule 41 using, for example, a schedule evaluation function in which initial weight values are set.
[0111] The plan presenting unit 16 presents the schedule 41 to the user by displaying the schedule 41 on the display unit 2 (step S30). The plan presenting unit 16 determines whether the presented schedule 41 has been approved by the user (step S40).
[0112] If the schedule 41 is not approved by the user (No in step S40), the user resets at least one of the job list 21, the constraint information 22, and the priority information 25. The user resets any desired items from among the items in the job list 21, the constraint information 22, and the priority information 25. For example, if the constraint information 22 has many constraints, the user may reset the constraint information 22, or if the job list 21 includes a non-urgent job, the user may reset the job list 21.
[0113] When any desired item is reset, the scheduling device 1A repeats the processes of steps S10 to S40 to recreate the schedule 41. The scheduling device 1A repeats the processes of steps S10 to S40 until the schedule 41 is approved by the user. That is, the scheduling device 1A repeats the process of recreating the schedule 41 until the schedule 41 is approved by the user.
[0114] If the schedule 41 is approved by the user (Yes at step S40), the plan presenting unit 16 outputs the schedule 41 approved by the user as the approved schedule 26 to the external device and the plan creating unit 13 (step S50).
[0115] 14 is a flowchart showing the procedure of processing executed by the scheduling device according to the first embodiment when an approved schedule is put into operation. When the approved schedule 26 created by the scheduling device 1A is put into operation, the real-time result acquiring unit 14A acquires the process progress information 31 at a predetermined interval (step S110).
[0116] The process progress information acquiring unit 140 of the real-time result acquiring unit 14A assigns a timestamp to the process progress information 31, and transmits the sensor information 32 and the process progress information 31 with the timestamp assigned to the delay estimating unit 15A.
[0117] The delay estimation unit 15A receives sensor information 32 and time-stamped process progress information 31 from the real-time result acquisition unit 14A. The delay estimation unit 15A also receives an operating schedule from the plan creation unit 13. The delay estimation unit 15A compares the operating schedule with the process progress information 31 to calculate the delay state of the process (step S120).
[0118] The delay estimation unit 15A determines whether a delay has occurred in the process based on the calculation result of the delay state (step S130). If the delay estimation unit 15A determines that a delay has not occurred in the process (step S130, No), the approved schedule 26 is not corrected.
[0119] On the other hand, when it is determined that a delay has occurred in the process (Yes in step S130), the delay estimation unit 15A creates delay information indicating the delay state based on the process progress information 31 and transmits the delay information to the correction proposal creation unit 170 of the plan correction unit 17A. In addition, the delay estimation unit 15A transmits the delay information to the plan presentation unit 16, and the plan presentation unit 16 causes the display unit 2 to display the delay information.
[0120] When a delay occurs, the user resets the priority information 25. In this priority information 25, evaluation items to be emphasized when creating a correction proposal for the operating schedule are reset. The reset priority information 25 is input from the user request receiving unit 12 and transmitted to the correction proposal creating unit 170. As a result, the correction proposal creating unit 170 accepts the priority information 25 (step S140).
[0121] When the correction proposal creation unit 170 receives delay information from the delay estimation unit 15A, it acquires the job list 21 and the operating schedule from the plan creation unit 13. The correction proposal creation unit 170 creates a correction proposal for the operating schedule using the priority information 25 (step S150). Specifically, the correction proposal creation unit 170 creates a correction proposal for the operating schedule using the job list 21, the operating schedule, the constraint information 22, the resources available for use during delay 23, the delay information, and the priority information 25.
[0122] The amendment proposal creating unit 170 transmits the created amendment proposal to the plan presenting unit 16. As a result, the plan presenting unit 16 presents the amendment proposal to the user by displaying it on the display unit 2 (step S160). The plan presenting unit 16 determines whether the presented amendment proposal has been approved by the user (step S170).
[0123] If the proposed correction is not approved by the user (step S170, No), the user resets the priority information 25. In this case, the scheduling device 1A repeats the processes of steps S140 to S170. The scheduling device 1A repeats the processes of steps S140 to S170 until the proposed correction is approved by the user.
[0124] If the correction proposal is not approved by the user (No at step S170), the user may reset at least one of the job list 21, the constraint information 22, the resources available for use during delay 23, and the priority information 25. In this case, the scheduling device 1A also repeats the processes at steps S140 to S170, but the correction proposal creating unit 170 accepts at least one of the job list 21, the constraint information 22, the resources available for use during delay 23, and the priority information 25 at step S140. Furthermore, the correction proposal creating unit 170 creates a correction proposal for the schedule in operation using at least one of the job list 21, the constraint information 22, the resources available for use during delay 23, and the priority information 25 at step S150.
[0125] If the proposed amendment is approved by the user (Yes at step S170), the plan presenting unit 16 outputs the proposed amendment approved by the user as the approved schedule 26 to the external device and the plan creating unit 13 (step S180).
[0126] 15 is a flowchart showing the procedure of processing executed when the scheduling device according to the first embodiment acquires real-time results. The process progress information acquisition unit 140 of the scheduling device 1A determines whether it is a specified periodic timing for acquiring the process progress information 31 and the sensor information 32, which are real-time results (step S210).
[0127] If it is not the timing of the specified cycle (No at step S210), the process progress information acquiring unit 140 continues the process of determining whether it is the timing of the specified cycle.
[0128] If it is the timing of the specified cycle (Step S210, Yes), the process progress information acquisition unit 140 acquires the process progress information 31 and the sensor information 32 (Step S220). The process progress information acquisition unit 140 transmits the acquired process progress information 31 and sensor information 32 to the delay estimation unit 15A (Step S230).
[0129] 16 is a flowchart showing the procedure of processing executed by the scheduling device according to the first embodiment when calculating the delay state of a process. The delay estimation unit 15A of the scheduling device 1A acquires the time-stamped process progress information 31 and the sensor information 32 from the real-time result acquisition unit 14A (step S310). The delay estimation unit 15A also acquires the latest in-operation schedule from the plan creation unit 13 (step S320).
[0130] The delay estimation unit 15A calculates the delay state of the process from the difference between the acquired process progress information 31 and the latest operating schedule, and from the sensor information 32 (step S330). When the delay estimation unit 15A determines that a delay has occurred in the process based on the delay state of the process, it creates delay information indicating the delay state based on the process progress information 31 and transmits the delay information to the plan correction unit 17A (step S340).
[0131] Here, the contents of the delay information will be explained. Fig. 17 is a diagram for explaining the contents of the delay information created by the scheduling device according to the first embodiment. Fig. 17 conceptually illustrates the contents of the delay information.
[0132] The delay information corresponds to the difference between the planned schedule 51 and the actual schedule 52. The planned schedule 51 is the approved schedule 26 before it is put into operation. The actual schedule 52 is a schedule that reflects the actual progress of the process (such as delay time) relative to the approved schedule 26 when the approved schedule 26 is put into operation. In other words, the actual schedule 52 reflects the actual progress of the process (such as delay time) relative to the approved schedule 26. The delay information corresponds to a delay in the process of the actual schedule 52 relative to the planned schedule 51.
[0133] The horizontal axis in Fig. 17 represents time. In Fig. 17, a planning schedule 51 is shown in the upper part, and an actual schedule 52 is shown in the lower part. The planning schedule 51 and actual schedule 52 include information on the schedule of jobs for each processing machine ID.
[0134] 17, for example, a processing machine with a processing machine ID of "PM001" executes a job with a job ID of "J001." There is a difference of delay time t1 between the completion time (estimated completion time) of the job "J001" in the planning schedule 51 and the completion time (actual completion time) of the job "J001" in the actual schedule 52.
[0135] Furthermore, the processing machine with the processing machine ID "PM002" executes the job with the job ID "J005." There is a difference of delay time t2 between the completion time of the job "J005" in the planned schedule 51 and the completion time of the job "J005" in the actual schedule 52.
[0136] The information indicating these delay times t1 and t2 is the delay information. The delay estimation unit 15A creates delay information that associates the job ID of the job in which a delay has occurred, the processing machine ID of the processing machine executing the job, and the delay time of the job.
[0137] The delay information created by the delay estimation unit 15A may include information indicating whether a correction proposal needs to be created. In this case, the delay estimation unit 15A determines whether a correction proposal needs to be created by comparing the delay time in the created delay information with a delay time threshold. For example, when there are multiple delay times such as delay times t1 and t2, the delay estimation unit 15A determines whether a correction proposal needs to be created based on the longest delay time.
[0138] The delay estimation unit 15A may determine whether or not a correction proposal needs to be created for each processing machine ID. In this case, the delay estimation unit 15A determines whether or not a correction proposal needs to be created for each processing machine ID based on a delay time threshold for each processing machine ID. When determining whether or not a correction proposal needs to be created for each processing machine ID, the delay estimation unit 15A determines that a correction proposal should be created if the delay time of at least one processing machine ID is longer than the delay time threshold.
[0139] Furthermore, the delay estimation unit 15A may determine whether or not a correction proposal needs to be created for each job ID. In this case, the delay estimation unit 15A determines whether or not a correction proposal needs to be created for each job ID based on a delay time threshold for each job ID. When determining whether or not a correction proposal needs to be created for each job ID, the delay estimation unit 15A determines that a correction proposal should be created if the delay time of at least one job ID is longer than the delay time threshold.
[0140] Note that the user may determine whether or not to create a correction proposal. In this case, the scheduling device 1A displays a button for creating a correction proposal (a correction proposal creation button) on the display unit 2. When the user presses the correction proposal creation button displayed on the display unit 2, the delay estimation unit 15A receives, via the input unit 11 and the plan creation unit 13, information indicating that the correction proposal creation button has been pressed (information that a correction proposal will be created).
[0141] The delay estimation unit 15A may set a threshold value (delay time threshold value) for determining whether or not to create a correction proposal for each user of the scheduling device 1A by taking statistics of the delay time at the time when the correction proposal creation button is pressed. The delay estimation unit 15A may set, for example, the average value of the delay time as the threshold value for determining whether or not to create a correction proposal. Furthermore, the delay estimation unit 15A may set the threshold value for determining whether or not to create a correction proposal by machine learning.
[0142] 18 is a diagram for explaining an example of delay information created by the scheduling device according to the first embodiment. The delay information 30 created by the delay estimation unit 15A includes, for example, a processing machine-specific delay time 33 indicating the delay time for each processing machine, a total delay time 34 which is the delay time for the entire schedule in operation, and correction information 35 which is information indicating whether a correction proposal needs to be created.
[0143] In the processing machine-specific delay time 33, the processing machine ID is associated with the delay time of the processing machine corresponding to this processing machine ID. The total delay time 34 is the total of the delay times included in the schedule in operation. Note that the delay estimation unit 15A may create delay information 30 and send it to the correction proposal creation unit 170 only when it is determined that a correction proposal should be created.
[0144] 19 is a flowchart showing the processing steps of a process executed when the scheduling device according to the first embodiment corrects an operating schedule. The correction proposal creating unit 170 of the scheduling device 1A acquires the latest operating schedule from the plan creating unit 13 (step S410).
[0145] Furthermore, the correction proposal creating unit 170 acquires delay information from the delay estimation unit 15A (step S420). Furthermore, the correction proposal creating unit 170 acquires the delay tolerance rate accepted by the user request accepting unit 12 (step S430). That is, if the information accepted by the user request accepting unit 12 includes a delay tolerance rate, the correction proposal creating unit 170 acquires the delay tolerance rate from the user request accepting unit 12. Note that if the user request accepting unit 12 has not accepted a delay tolerance rate, the correction proposal creating unit 170 reads out the initial value of the delay tolerance rate stored in advance.
[0146] The delay tolerance rate is a delay tolerance rate set by a user. An example of the delay tolerance rate will now be described. FIG. 20 is a diagram for explaining the delay tolerance rate set in the scheduling device according to the first embodiment. FIG. 20 shows an example of a delay tolerance rate input screen 4 that the scheduling device 1A displays on the display unit 2.
[0147] The delay tolerance rate is the percentage of delayed processes (jobs) that can remain delayed (no correction required). In other words, the delay tolerance rate is calculated as follows: (Delay tolerance rate) = (Number of processes that do not require correction when delayed) / (Number of delayed processes).
[0148] The delay tolerance rate may be the ratio of the total process time of delayed processes to the total process time of processes that are not corrected for the delay. In this case, the delay tolerance rate is calculated as follows: (Delay tolerance rate) = (Total process time of processes that are not corrected when delayed) / (Total process time of delayed processes).
[0149] For example, if delays are permitted for all delayed processes (full delay tolerance), the delay tolerance rate is 1 (100%). If delays are not permitted for all delayed processes (delays are not permitted), the delay tolerance rate is 0 (0%). Figure 20 shows a partial delay tolerance case in which delays are permitted for 30% of all delayed processes.
[0150] On the delay tolerance rate input screen 4, for example, the user slides the delay tolerance rate slider up to a (0≦a≦1), thereby inputting the delay tolerance rate desired by the user to the user request receiving unit 12. In this case, delays are permitted for the (100×a)% portion of all delayed processes, and no correction is made.
[0151] For processes where delays are not permitted, the plan correction unit 17A creates a correction proposal so as to satisfy the delay tolerance rate. At this time, the correction proposal creation unit 170 creates a correction proposal based on the resources available for use during delays 23, using worker resources or facility resources registered in the resources available for use during delays 23.
[0152] The user may set a permission rate for use of surplus resources in the scheduling device 1A. In this case, the permission rate for use of facility resources and the permission rate for use of worker resources are set in the scheduling device 1A by the user.
[0153] The permitted use rate of equipment resources is the proportion of equipment resources that can be used among all equipment resources. That is, the permitted use rate of equipment resources is calculated as follows: (permitted use rate of equipment resources) = (number of equipment resources that can be used) / (total number of equipment resources).
[0154] The worker resource usage permission rate is the proportion of worker resources that may be used among all worker resources, and is calculated as follows: (Worker resource usage permission rate) = (Number of worker resources that may be used) / (Total number of worker resources).
[0155] When a delay occurs in a single process, the plan correction unit 17A receives the delay tolerance rate from the user request receiving unit 12 and compares the delay tolerance rate with the occurring delay time. If the occurring delay time is an unacceptable delay, the plan correction unit 17A attempts to converge the delay within the single process based on the resources available for delay 23. In other words, if the occurring delay time is longer than the delay time corresponding to the set delay tolerance rate, the plan correction unit 17A creates a correction plan that can converge the delay within the single process based on the resources available for delay 23.
[0156] The correction proposal creation unit 170 creates a correction proposal for a delay using the delay tolerance rate, and can create a correction proposal that allows for delays but ensures the prevention of on-site setup changes or operational errors.
[0157] The correction proposal creating unit 170 creates a correction proposal for the delay using the delay tolerance rate (step S440). Specifically, the correction proposal creating unit 170 creates a correction proposal for the delay of the operating schedule using the job list 21, the operating schedule, the constraint information 22, the resources available for use during delay 23, the delay information, the priority information 25, and the delay tolerance rate.
[0158] If the delay tolerance rate has not been acquired, the correction proposal creating unit 170 creates a correction proposal for the delay without using the delay tolerance rate. The correction proposal creating unit 170 transmits the created correction proposal to the plan presenting unit 16 (step S450). As a result, the plan presenting unit 16 displays the correction proposal on the display unit 2.
[0159] Here, the evaluation function of the approved schedule 26 used by the plan correction unit 17A when creating an amendment proposal will be described. Like the plan creation unit 13, the plan correction unit 17A performs scheduling so as to satisfy the constraints and maximize the evaluation value of the amendment proposal calculated using the evaluation function of the amendment proposal. The evaluation function of the schedule is a function for evaluating the schedule 41 or the amendment proposal. The evaluation function is weighted according to the priority information 25. The plan correction unit 17A performs scheduling so as to increase the evaluation value of the amendment proposal using a weight according to the priority information 25. For example, the plan correction unit 17A performs scheduling so as to maximize the evaluation value of the amendment proposal using a weight according to the priority information 25.
[0160] The plan correction unit 17A stores an evaluation function for calculating an evaluation value using the evaluation items and the priorities. The plan correction unit 17A applies the correction plan to the evaluation function to calculate an evaluation value for evaluating the correction plan.
[0161] The evaluation value is a numerical value that reflects the user's request for scheduling (priority information 25), and is calculated using the evaluation items and priorities specified by the user. The evaluation function for calculating the evaluation value is expressed, for example, by the following formula (1).
[0162] Evaluation value = w1 × (evaluation item P1) + w2 × (evaluation item P2) + w3 × (evaluation item P3) (1)
[0163] The evaluation items P1 to P3 are calculated by a function (item-specific function) that gives a higher evaluation value the closer the evaluation items P1 to P3 are to their respective targets when the plan correction unit 17A is applied. For example, the evaluation item P1 is an item evaluation value calculated by an item-specific function for evaluating minimizing delivery delays, the evaluation item P2 is an item evaluation value calculated by an item-specific function for evaluating minimizing production costs, and the evaluation item P3 is an item evaluation value calculated by an item-specific function for evaluating minimizing corresponding loads.
[0164] The itemized function for evaluating minimizing delivery delays is a function that gives a higher evaluation value the shorter the delivery delay. The itemized function for evaluating minimizing production costs is a function that gives a higher evaluation value the lower the production cost. The itemized function for evaluating minimizing response load is a function that gives a higher evaluation value the smaller the response load.
[0165] Here, the item evaluation value for evaluating minimizing delivery delays is item evaluation value v1, the item evaluation value for evaluating minimizing production costs is item evaluation value v2, and the item evaluation value for evaluating minimizing corresponding load is item evaluation value v3.
[0166] The item evaluation value v1 is calculated using a first function that increases the smaller the delivery delay, the higher the value, the smaller the production cost, the higher the value, and the item evaluation value v3 is calculated using a third function that increases the smaller the handling load.
[0167] That is, the first function is a function in which the item evaluation value v1 changes depending on the magnitude of the delivery delay. Therefore, the smaller the sum of the delivery delays of each job, the smaller the item evaluation value v1, and the larger the sum of the delivery delays of each job, the larger the item evaluation value v1. Furthermore, the second function is a function in which the item evaluation value v2 changes depending on the magnitude of the production cost, and the third function is a function in which the item evaluation value v3 changes depending on the magnitude of the handling load.
[0168] Therefore, the plan correction unit 17A can calculate the evaluation value using the formula: Evaluation value = w1 × (item evaluation value v1 of the first function) + w2 × (item evaluation value v2 of the second function) + w3 × (item evaluation value v3 of the third function). By inputting a correction plan into this evaluation function, the plan correction unit 17A can calculate an evaluation value according to delivery delays, production costs, and response loads.
[0169] w1 to w3 are weights for the evaluation items P1 to P3. w1 to w3 are values (priorities) according to the priority of the evaluation items P1 to P3. The higher the priority, the higher the value of w1 to w3. The initial setting values of w1 to w3 are different. The weights are variable according to a request from the user. The user may set only the priority and use the initial values for the weights. The user may also set weight values instead of priorities in the priority information 25. In this case, the user does not need to set priorities. The number of evaluation items used in the evaluation function may be two or four or more. The evaluation function uses the same number of weight values as the number of evaluation items.
[0170] In the evaluation function, the larger the values of w1 to w3 (the higher the priority), the larger the evaluation value of the evaluation function. In other words, the larger the values of w1 to w3, the more likely an evaluation item is to be adopted with priority.
[0171] The plan correction unit 17A evaluates the correction plan created by the plan correction unit 17A based on the calculated evaluation value. The plan correction unit 17A repeats creating a correction plan until a correction plan (schedule) whose evaluation value is equal to or greater than a specific value is completed.
[0172] The plan correction unit 17A can evaluate the created correction plan based on a standard according to a user request by applying the evaluation items P1 to P3 to the evaluation function shown in formula (1). Therefore, the plan correction unit 17A can create a correction plan according to a user request.
[0173] For example, when weighting is set to emphasize the load and to neglect the delay in delivery, the plan correction unit 17A calculates a correction plan that can be smoothly applied on-site even if it allows the delay in delivery.
[0174] Here, an example of the process in which the correction proposal creation unit 170 creates a correction proposal using the delay tolerance rate will be described. The scheduling device 1A creates a correction proposal using an evaluation function weighted based on the priority information 25, so as to increase (for example, maximize) the evaluation value. When this correction proposal is approved by the user, the correction proposal becomes the approved schedule 26, and operation begins using the approved schedule 26. If a job is delayed while operation is being performed using the approved schedule 26, the correction proposal creation unit 170 determines the extent to which this delay in delivery is to be tolerated based on the delay tolerance rate.
[0175] For example, scheduling may be performed so that other evaluation items are satisfied rather than delays in delivery. When the approved schedule 26 obtained by this scheduling is put into operation, jobs may be delayed. In this case, the correction proposal creation unit 170 corrects the plan to reduce the delayed delivery by using surplus resources (resources 23 available for use during delays) according to the delay tolerance rate.
[0176] 21 is a flowchart illustrating a processing procedure of a process executed when the scheduling device according to the first embodiment presents a schedule or a correction proposal. After creating a schedule 41, the plan creation unit 13 transmits the schedule 41 to the plan presentation unit 16.
[0177] The plan presenting unit 16 determines whether or not the schedule 41 has been transmitted from the plan creating unit 13 (step S510). If the schedule 41 has been transmitted from the plan creating unit 13 (step S510, Yes), the plan presenting unit 16 receives and acquires the schedule 41 from the plan creating unit 13 (step S520).
[0178] On the other hand, if the schedule 41 has not been transmitted from the plan creation unit 13 (step S510, No), it is determined whether or not a revised proposal has been transmitted from the plan correction unit 17A (step S530). If a revised proposal has been transmitted from the plan correction unit 17A (step S530, Yes), the plan presentation unit 16 receives and acquires the revised proposal from the plan correction unit 17A (step S540).
[0179] If a proposed amendment has not been transmitted from the plan correction unit 17A (No at step S530), the plan presentation unit 16 returns to the process at step S510. The plan presentation unit 16 repeats the processes at steps S510 and S530 until a schedule 41 is transmitted from the plan creation unit 13 or a proposed amendment is transmitted from the plan correction unit 17A.
[0180] When the plan presentation unit 16 acquires the schedule 41 from the plan creation unit 13 or receives the correction proposal from the plan correction unit 17A, the plan presentation unit 16 presents the acquired schedule 41 or correction proposal to the user (step S550). Specifically, the plan presentation unit 16 causes the display unit 2 to display the acquired schedule 41 or correction proposal.
[0181] The plan presentation unit 16 receives plan approval / non-approval information 24 for the displayed schedule 41 or amendment proposal from the user via the input unit 11 (step S560). When the plan presentation unit 16 receives approval information as the plan approval / non-approval information 24, it transmits the displayed schedule 41 or amendment proposal to the plan creation unit 13 as an approved schedule 26. As a result, the plan creation unit 13 saves the approved schedule 26 (step S570).
[0182] When displaying the proposed amendment on the display unit 2, the plan presenting unit 16 may also display the original approved schedule 26 on the display unit 2. For example, the plan presenting unit 16 may display the proposed amendment and the original approved schedule 26 side by side on the display unit 2.
[0183] Furthermore, the plan presenting unit 16 may display the delay state on the display unit 2. Furthermore, the plan presenting unit 16 may display on the display unit 2 the range of the effect that the delayed process has on the subsequent process (delay impact range).
[0184] The scheduling device 1A creates a correction proposal in accordance with the priority information 25, which is a user request, and can therefore create a correction proposal with an adjusted degree of correction. For example, when there are multiple evaluation items such as minimizing delivery time, minimizing production cost, and minimizing response load, the scheduling device 1A allows the user to specify which evaluation item to prioritize.
[0185] As a result, the scheduling device 1A is not limited to correction proposals that prioritize delivery dates with the goal of recovering from delays, but can also generate correction proposals that place a low burden on the process even if it means allowing for some delay in delivery dates. A correction proposal that places a low burden on the process is, for example, a correction proposal that is operationally appropriate and easy to implement. As a result, the scheduling device 1A can generate a correction proposal that the user desires, and is less likely to generate a correction proposal that the user does not desire, thereby reducing the possibility of recreating a correction proposal and reducing the effort required for recreating the proposal.
[0186] Furthermore, since the scheduling device 1A creates the schedule 41 in accordance with the priority information 25, which is a user request, it is possible to create a schedule 41 that the user desires, similar to the case of creating a correction proposal.
[0187] Furthermore, since the scheduling device 1A creates the schedule 41 or the revised schedule based on the skill level of the worker, it is possible to create the schedule 41 or the revised schedule according to the skill level of the worker. This allows the scheduling device 1A to reduce the burden on the worker.
[0188] As described above, according to the first embodiment, the scheduling device 1A creates a correction proposal that prioritizes evaluation items with high priority, and therefore, when a delay occurs in a process, it is possible to create a correction proposal that reflects the user's requests for production equipment for an operating schedule.
[0189] Furthermore, the scheduling device 1A creates the schedule 41 according to the priorities of the evaluation items set in the priority information 25, and therefore can create the schedule 41 that reflects the user's requests for the production equipment.
[0190] Embodiment 2 Next, a second embodiment will be described with reference to Figures 22 to 28. In the second embodiment, a margin time is set based on the difference between the skill level of the worker when the approved schedule 26 was created and the skill level of the worker when the proposed amendment was created, and the margin time is used to create a proposed amendment to the operating schedule that has been delayed.
[0191] Fig. 22 is a diagram illustrating a configuration of a scheduling device according to embodiment 2. Among the components in Fig. 22, components that achieve the same functions as those in the scheduling device 1A according to embodiment 1 shown in Fig. 1 are assigned the same reference numerals, and redundant explanations will be omitted.
[0192] The scheduling device 1B of the second embodiment differs from the scheduling device 1A of the first embodiment in that it includes a plan correction unit 17B instead of the plan correction unit 17A. The plan correction unit 17B calculates a margin time for correcting the start time of a job based on the skill difference (skill level difference) between the workers at the time of planning and the time of correction. If there is a skill difference between the workers at the time of planning and the time of correction, the time required for setup between the workers will also differ. The plan correction unit 17B calculates a time equal to or greater than the difference in the time required for this setup (the setup time due to skill difference) as the margin time. This difference in the time required for setup is the setup time for calculating the margin time and is different from the standard setup time set for all workers, which will be described later. The plan correction unit 17B calculates the correction timing for applying the correction proposal based on the calculated margin time and the time required to calculate the correction proposal, etc.
[0193] The plan correction unit 17B has a correction timing calculation unit 171 and a skill difference correction unit 172 in addition to the correction proposal creation unit 170. In the scheduling device 1B of the second embodiment, the input unit 11 reads out, from an external device of the scheduling device 1B, the job list 21, the constraint information 22, the resources available for use during delay 23, and the plan approval / non-approval information 24, as well as skill level information at planning 27A and skill level information at correction 27B. The input unit 11 transmits the skill level information at planning 27A and the skill level information at correction 27B to the plan correction unit 17B.
[0194] In the planned skill level information 27A and the corrected skill level information 27B, the number of workers for each skill level for the work schedule is set, similar to the information on the worker resources 23A included in the resources available for use during delay 23.
[0195] The planning skill level information 27A is information on the skill levels of workers when a schedule is being created (planned). That is, the planning skill level information 27A is information on the number of workers by skill at the planning stage of the schedule 41.
[0196] The skill level information at time of correction 27B is information on the skill levels of workers during schedule correction. That is, the skill level information at time of correction 27B is information on the number of workers by skill at the stage of creating a proposed correction for the operating schedule. The skill level information at time of correction 27B changes over time.
[0197] Furthermore, the user request receiving unit 12 receives, from the user, a correction timing candidate 28 in addition to the priority information 25. The correction timing candidate 28 is information on the timing (date and time) for applying a correction proposal desired by the user. The correction timing candidate 28 is input by the user to the user request receiving unit 12. The user request receiving unit 12 transmits the correction timing candidate 28 to the correction proposal creating unit 170.
[0198] Furthermore, in the scheduling device 1B, the delay estimation unit 15A transmits delay information to the plan correction unit 17B. The correction timing calculation unit 171 calculates an application timing proposal, which is a proposal for the correction timing at which the correction proposal is to be applied. The correction timing calculation unit 171 calculates, as the application timing proposal, a date and time at which switching from the approved schedule 26 currently being executed on the production line to the correction proposal will reduce disruption to the production line. Specifically, the correction timing calculation unit 171 calculates the application timing proposal based on the calculation time required to create the correction proposal (hereinafter referred to as correction calculation time), the standard setup time for the process (hereinafter referred to as setup time), the time required to confirm and approve the correction proposal (hereinafter referred to as confirmation and approval time), etc.
[0199] The standard setup time here is the time set for all workers and is assigned to all correction proposals regardless of the skill differences between workers. The confirmation and approval time is the time required for a user to confirm a correction proposal and input the plan approval / non-approval information 24 into the input unit 11. The correction timing calculation unit 171 calculates an application timing proposal that ensures the correction calculation time, setup time, and confirmation and approval time.
[0200] The corrected calculation time, setup time, and confirmation and approval time are stored in advance by the plan correction unit 17B. The corrected calculation time may be calculated by the correction timing calculation unit 171 based on the number of jobs to be corrected. The correction timing calculation unit 171 transmits the application timing proposal to the correction proposal creation unit 170.
[0201] The skill difference correction unit 172 calculates a skill difference (skill composition difference) that is the difference between the skill level of a worker at the time of planning and the skill level of a worker at the time of correction, based on the skill level information at the time of planning 27A and the skill level information at the time of correction 27B. The skill difference correction unit 172 calculates the skill difference for each job based on the difference in the number of workers at each skill level. In other words, the skill difference correction unit 172 calculates the skill difference based on the difference in skill level and the difference in the number of workers at this skill level.
[0202] The skill difference correction unit 172 may calculate the skill difference based on the skill level of a standard worker instead of the skill level of the worker at the time of planning. The skill level of a standard worker is the average value of the skill levels of the workers. For example, if the worker is undecided at the time of planning, the skill level of the standard worker is set in the planning skill level information 27A. When creating a correction proposal, the skill difference correction unit 172 calculates the skill difference between the skill level of the standard worker and the skill level of the worker at the time of correction. The skill difference correction unit 172 determines a margin time to be added to the required time of the process performed by the worker based on the skill difference, which is the difference between the worker composition by skill between the time of planning and the time of correction. The skill difference correction unit 172 transmits the margin time to the correction proposal creation unit 170.
[0203] In the second embodiment, the correction proposal creating unit 170 creates a correction proposal based on the margin time, the proposed application timing, and the correction timing candidates 28. The correction proposal creating unit 170 creates a correction proposal by including the margin time in the time required for the process to be performed by the worker. The correction proposal creating unit 170 transmits the correction proposal to the plan presenting unit 16.
[0204] Fig. 23 is a diagram illustrating the configuration of a plan correction unit of the scheduling device according to the second embodiment. Of the components in Fig. 23, components that achieve the same functions as those in the scheduling device 1A according to the first embodiment shown in Fig. 1 are assigned the same reference numerals, and redundant explanations will be omitted.
[0205] The correction proposal creation unit 170 is connected to the input unit 11, the user request reception unit 12, the plan creation unit 13, the delay estimation unit 15A, and the plan presentation unit 16. The correction timing calculation unit 171 is connected to the input unit 11, the user request reception unit 12, and the correction proposal creation unit 170. The skill difference correction unit 172 is connected to the input unit 11, the user request reception unit 12, and the correction proposal creation unit 170.
[0206] The correction proposal creation unit 170 determines information on the job to be corrected (hereinafter referred to as correction job information) based on the approved schedule 26 created by the plan creation unit 13, the process progress information 31 collected by the process progress information acquisition unit 140, and the user request accepted by the user request acceptance unit 12.
[0207] The skill difference correcting unit 172 receives the corrected job information from the correction proposal creating unit 170. The corrected job information includes information such as a job ID.
[0208] Furthermore, the skill difference correction unit 172 receives the planning skill level information 27A and the correction skill level information 27B from the input unit 11. The skill difference correction unit 172 calculates the skill difference for the job to be corrected based on the corrected job information, the planning skill level information 27A, and the correction skill level information 27B. The skill difference correction unit 172 determines a margin time to be added to the required time for the process to be performed by the worker based on the skill difference. The skill difference correction unit 172 sets a longer margin time as the skill level at the correction stage decreases. The skill difference correction unit 172 transmits the calculated margin time to the correction proposal creation unit 170.
[0209] The correction proposal creating unit 170 receives the correction timing candidates 28 from the user request receiving unit 12. The correction proposal creating unit 170 also receives the margin time from the skill difference correcting unit 172 and the proposed application timing from the correction timing calculating unit 171.
[0210] The correction proposal creating unit 170 calculates the correction timing so as to approach the correction timing candidate 28, after ensuring the proposed application timing and margin time. The correction proposal creating unit 170 creates a correction proposal based on the calculated correction timing. The correction proposal creating unit 170 transmits the created correction proposal to the plan presenting unit 16.
[0211] 24 is a flowchart showing the processing steps of a process executed when the scheduling device according to the second embodiment corrects an operating schedule. The correction proposal creating unit 170 of the scheduling device 1B acquires the latest operating schedule from the plan creating unit 13 (step S610).
[0212] Furthermore, the correction proposal creating unit 170 acquires delay information from the delay estimating unit 15A (step S620). The correction timing calculating unit 171 reads out the corrected calculation time, setup time, and confirmation and approval time stored in the plan correcting unit 17B.
[0213] The correction timing calculation unit 171 calculates a proposed application timing for the correction proposal based on the corrected calculation time, the setup time, and the confirmation and approval time (step S630). The skill difference correction unit 172 calculates a skill difference based on the planning-time skill level information 27A and the corrected skill level information 27B, and determines a margin time to be added to the required time for the process to be performed by the worker based on the skill difference (step S640).
[0214] The correction proposal creating unit 170 creates a correction proposal using the correction timing candidate 28, the application timing proposal, and the margin time (step S650). Specifically, the correction proposal creating unit 170 creates a correction proposal using the job list 21, the operating schedule, the constraint information 22, the resources available for use during delay 23, the delay information, the priority information 25, the correction timing candidate 28, the application timing proposal, and the margin time. The correction proposal creating unit 170 transmits the created correction proposal to the plan presenting unit 16 (step S660). As a result, the plan presenting unit 16 displays the correction proposal on the display unit 2. In this way, in the second embodiment, the scheduling device 1B can create a correction proposal that takes into account the skill differences between workers. Furthermore, since the scheduling device 1B creates a correction proposal that ensures the time required for approval of the correction proposal, it is possible to create a robust correction proposal that ensures an appropriate time after the correction proposal is applied.
[0215] Here, a process in which the skill difference correction unit 172 calculates the skill difference based on the planning skill level information 27A and the corrected skill level information 27B will be described. Fig. 25 is a diagram for explaining a process in which the scheduling device according to the second embodiment calculates the skill difference based on the planning skill level information and the corrected skill level information. The skill difference correction unit 172 compares the planning skill level information 27A with the corrected skill level information 27B.
[0216] The skill level information at the time of planning 27A is information on the skill level of a worker at the time of planning, and the skill level information at the time of correction 27B is information on the skill level of a worker at the time of correction. In the skill level information at the time of planning 27A and the skill level information at the time of correction 27B, the skill level is associated with the number of workers in the work schedule. That is, the skill level information at the time of planning 27A sets the number of workers for each skill level for the work schedule. For example, in FIG. 25, in the morning of May 18th, the skill level information at the time of planning 27A indicates that there is one worker with a skill level of "2," while the skill level information at the time of correction 27B indicates that there are zero workers with a skill level of "2."
[0217] In this case, since the number of workers with a skill level of "2" has decreased compared to the time of planning, it is expected that the corrected required process time will be longer than the required process time at the time of planning. Therefore, the skill difference correction unit 172 calculates a margin time according to the skill difference. For example, if the required process time of the job at the time of planning is the required process time Ta and the skill difference is D (D>0), the skill difference correction unit 172 calculates the corrected required process time Tb of the job as Tb = Ta × (1 + D). Note that the method of calculating the corrected required process time Tb so that the corrected required process time Tb is longer than the required process time Ta at the time of planning is not limited to this method.
[0218] For example, when the plan creation unit 13 creates the schedule 41, a worker who was scheduled to work may be absent due to illness or other reasons. In this case, the scheduling device 1B supplements workers based on the worker resource 23A and assigns jobs to the supplemented workers, or prevents delays caused by the vacancy by having fewer workers work overtime than planned. In this case, there may be a difference in skill between the workers expected at the time of planning and the workers who actually perform the jobs, or a difference in the number of workers.
[0219] When there is a difference in the number of workers or skill levels between the workers assumed at the time of planning and the workers who actually perform the job, the skill difference correction unit 172 calculates the skill difference based on these differences. For example, a skill difference occurs when the number of workers remains the same but the average skill level changes at a specific date and time. Also, a skill difference occurs when the average skill level remains the same but the number of workers changes at a specific date and time.
[0220] The skill difference is a value obtained by subtracting a value indicating the skill at the time of correction from a value indicating the skill at the time of planning. Therefore, if the skill difference is positive, it means that the number of workers has decreased or the skill level has dropped at the time of correction. The skill difference correction unit 172 calculates values indicating the skill at the time of planning and correction from the skill level and the number of workers, and calculates the skill difference from the values indicating the skill at the time of planning and correction.
[0221] For example, if the skill level at the time of correction is lower than at the time of planning, the skill difference correction unit 172 calculates a margin time according to the skill difference. As a result, if the skill level at the time of correction is lower than at the time of planning, the scheduling device 1B creates a correction proposal in which the job processing time is set longer, thereby creating an operating schedule that is less likely to cause delays. Note that the skill difference correction unit 172 may shorten the margin time if the skill level at the time of correction is higher than at the time of planning.
[0222] Next, a process in which the correction timing calculation unit 171 calculates a proposed application timing for the correction proposal will be described. Fig. 26 is a diagram for explaining a process in which the scheduling device according to the second embodiment calculates a proposed application timing for the correction proposal. Fig. 26 shows an actual schedule corresponding to the approved schedule 26 currently being executed. The time currently being executed shown in Fig. 26 is the current time (the time when the correction proposal is being created).
[0223] The correction timing calculation unit 171 calculates the total time of the correction calculation time, the setup time, and the confirmation and approval time as the estimated time T0 required to apply the correction proposal. The correction timing calculation unit 171 calculates a timing after the estimated time T0 from the current time as the proposed application timing for the correction proposal. In addition, the correction timing calculation unit 171 fixes the execution of jobs currently in progress and jobs that will be in progress within the estimated time T0.
[0224] FIG. 26 shows a case where jobs with job IDs "J006" and "J010" are scheduled to be executed on a machine with machine ID "PM002." Job "J006" is a job that will be in process within the estimated time T0, so it is fixed and not subject to correction. The job that starts execution after the estimated time T0 (here, job "J010") is the job to be corrected.
[0225] FIG. 27 is a diagram for explaining jobs to be corrected for the proposed application timing of the correction proposal explained in FIG. 26. The correction proposal creation unit 170 creates correction proposals for jobs other than fixed jobs. In this case, if there is a shortage of processing machines, the correction proposal creation unit 170 uses an idle processing machine based on the equipment resource 23B. In FIG. 27, the idle processing machine is the processing machine with the processing machine ID "PM003".
[0226] 27 shows a case where the correction proposal creating unit 170 corrects the job "J010" that was scheduled to be executed on the processing machine "PM002" to be executed on the processing machine "PM003" in order to recover from the delay. The start time of the job "J010" is set to the point when the estimated time T0 has elapsed from the current time.
[0227] Fig. 28 is a diagram for explaining the margin time set for the proposed correction explained in Fig. 27. Based on the margin time T1, the correction proposal creating unit 170 sets a timing later than the timing at which correction is possible (proposed application timing) as the correction timing, which is the timing at which the proposed correction is executed. For example, the correction proposal creating unit 170 sets the timing at which the margin time T1 has elapsed from the time of the proposed application timing as the correction timing.
[0228] FIG. 28 shows a case where the correction proposal creating unit 170 sets the correction timing for the job "J010" to a timing after the time of the proposed application timing, which is the correction possible timing, by the margin time T1.
[0229] In this way, the scheduling device 1B sets the timing for executing the correction proposal after the proposed application timing, which is the timing at which correction is possible. The scheduling device 1B can create multiple correction timings with different margin times by creating correction proposals using multiple margin times. The scheduling device 1B creates multiple correction proposals according to schedules between processes (break time periods, maintenance time periods, repair time periods, etc.).
[0230] For example, when there is a break such as a lunch break, the scheduling device 1B may create a correction proposal in which the correction timing is before the break and a correction proposal in which the correction timing is after the break. When correction proposals are created for multiple correction timings, the scheduling device 1B presents the multiple correction proposals to the user.
[0231] By creating a plurality of correction proposals, the scheduling device 1B is more likely to be able to present correction proposals that match the user's desired policy. Furthermore, the scheduling device 1B may present a plurality of correction proposals to the user at the same time.
[0232] Furthermore, the scheduling device 1B may create multiple schedules 41 at the stage of creating a schedule 41, and calculate the difference between the multiple correction proposals. In this case, the scheduling device 1B calculates the difference between the correction proposal and the schedule 41 for each combination of the correction proposal and the schedule 41. The scheduling device 1B may simultaneously present the multiple schedules 41, the multiple correction proposals, and the calculated difference. This allows the user to quickly check the relative merits of the multiple correction proposals.
[0233] Each correction proposal presented to the user by the scheduling device 1B may include information on the delay in delivery that will occur between the occurrence of a delay and the application of the correction proposal. This allows the scheduling device 1B to calculate the delay time that is predicted to increase until the correction proposal is applied, and therefore makes it possible to create a correction proposal that corresponds to the delay until the correction proposal is applied, based on the calculated delay time. Furthermore, the scheduling device 1B can present the predicted delay time to the user. Furthermore, each correction proposal presented to the user by the scheduling device 1B may include information on a change in the resources 23 available during a delay due to the application of the correction proposal.
[0234] This allows the user to apply the created correction proposal at a convenient correction timing, and allows the user to have some time for the process of checking the contents of the correction proposal and the process of making preparations for applying the correction proposal. Furthermore, the scheduling device 1B can prevent the user from missing the timing to apply the correction proposal, and can prevent the recalculation of the correction proposal due to the user missing the application timing.
[0235] The scheduling device 1B takes into consideration that delays in a process may occur due to differences in the skill levels of workers and provides a margin time according to the level difference. This allows the scheduling device 1B to perform robust scheduling that can prevent delays in a process even when there are differences in the skill levels of workers. Therefore, even when a correction proposal is applied, the scheduling device 1B can suppress the impact on a process that has a dependency relationship with a previous process or a subsequent process.
[0236] Furthermore, since scheduling device 1B creates a correction proposal with a margin time, delays in the process are less likely to occur and the possibility of creating a new correction proposal is reduced. Therefore, scheduling device 1B can create correction proposals efficiently.
[0237] For example, when a delay occurs in a process and the scheduling device 1B creates a correction proposal, the worker personnel allocation may differ from when the schedule 41 was created, resulting in a shortage of experienced workers with high skill levels. In this case, if the correction proposal is created without considering the skill levels, delays may occur due to skill differences, and a further correction proposal may need to be created. Therefore, the scheduling device 1B estimates the delay according to the skill differences between the workers and creates a correction proposal that sets the estimated delay as a margin time. As a result, the correction proposal created by the scheduling device 1B becomes a schedule that is even more robust against delays.
[0238] Note that, when the correction proposal creating unit 170 has received the correction timing candidate 28 from the user, it determines the correction timing based on the correction timing candidate 28. For example, the correction proposal creating unit 170 determines, as the correction timing, a timing that is close to the timing specified in the correction timing candidate 28 after the margin time T1 has elapsed from the time of the proposed application timing of the correction proposal. For example, the correction proposal creating unit 170 determines, as the correction timing, a time that is intermediate between the time after the margin time T1 has elapsed from the time of the proposed application timing of the correction proposal and the timing specified in the correction timing candidate 28.
[0239] As described above, according to the second embodiment, when a delay occurs, the scheduling device 1B creates a proposed correction to the schedule in operation based on the difference between the skill level of the workers when the approved schedule 26 was created and the skill level at the time of correction, so that delays are less likely to occur in the process after the proposed correction is implemented.
[0240] Furthermore, since scheduling device 1B determines the timing for applying a proposed correction so as to minimize disruption to the production line, it is possible to prevent a situation in which a proposed correction has to be recreated due to missing the timing for applying the proposed correction.
[0241] Embodiment 3 Next, a third embodiment will be described with reference to Figures 29 to 38. In the third embodiment, a future delay time is inferred based on the signs of a delay, and the cycle for creating delay information (the cycle for collecting process progress information) is changed based on the inferred delay time.
[0242] Fig. 29 is a diagram illustrating a configuration of a scheduling device according to embodiment 3. Among the components in Fig. 29, components that achieve the same functions as those in the scheduling device 1A according to embodiment 1 shown in Fig. 1 are assigned the same reference numerals, and redundant explanations will be omitted.
[0243] The scheduling device 1C of the third embodiment is different from the scheduling device 1B of the second embodiment in that it includes a real-time result acquiring unit 14C instead of the real-time result acquiring unit 14A.
[0244] Furthermore, the scheduling device 1C of the third embodiment is different from the scheduling device 1B of the second embodiment in that it includes a delay estimation unit 15C instead of the delay estimation unit 15A.
[0245] The delay estimation unit 15C infers the total delay time (cumulative delay time) at a specific future timing (specific timing TX, described later) based on a current delay sign (delay sign, described later) calculated for data detected in real time. If the current delay is on an increasing trend, there is a high possibility that the current delay will increase to the extent that a correction plan will be required at the specific future timing TX. The delay estimation unit 15C transmits the inferred result of the total delay time (delay inference result 36, described later) to the real-time performance acquisition unit 14C.
[0246] The real-time result acquiring unit 14C transmits the time-stamped process progress information 31 and sensor information 32 to the delay estimation unit 15C at a period based on the delay inference result 36. The longer the total delay time in the delay inference result 36, the shorter the period in which the real-time result acquiring unit 14C transmits the time-stamped process progress information 31 and sensor information 32 to the delay estimation unit 15C.
[0247] Compared to the real-time result acquisition unit 14A, the real-time result acquisition unit 14C has a monitoring cycle variable unit 141 in addition to the process progress information acquisition unit 140. The monitoring cycle variable unit 141 dynamically changes the cycle at which the process progress information acquisition unit 140 is activated based on the delayed inference result 36.
[0248] Fig. 30 is a diagram showing the configuration of a real-time result acquiring unit and a delay estimating unit included in the scheduling device according to the third embodiment. Of the components in Fig. 30, components that achieve the same functions as the real-time result acquiring unit 14A of the first embodiment shown in Fig. 10 are assigned the same reference numerals, and redundant explanations will be omitted.
[0249] The real-time result acquisition unit 14C includes a process progress information acquisition unit 140 and a monitoring cycle variable unit 141. The delay estimation unit 15C includes a learning device 150, an inference device 160, and a learned model storage unit 155.
[0250] The learning device 150 learns the relationship between the increase / decrease trend of the delay time in a delay detection period, which is a delay detection section, and the actual value of the total delay time at a specific timing TX thereafter, based on past data, to generate a trained model (trained model 60, described below). That is, when a delay occurs in a process, the learning device 150 learns the relationship between the increase in delay time in the delay detection period, which is a specific period, and the actual value of the total delay time, which is the delay time at a specific timing TX after the delay detection period, to generate the trained model 60. Hereinafter, the increase / decrease trend of the delay time in the delay detection period is referred to as a delay sign. The delay sign may be time-series data of the delay time in the delay detection period, or may be the slope of the increase / decrease amount of the delay time in the delay detection period.
[0251] The trained model storage unit 155 stores the trained model 60 output from the model generation unit 152, which will be described later. The trained model 60 stored in the trained model storage unit 155 is a second trained model. The first trained model will be described later.
[0252] The inference device 160 infers an appropriate future total delay time by applying the current delay sign to the trained model 60 generated by the learning device 150. The inference device 160 infers the total delay time, which is the delay time at a specific timing TX after the delay detection period, based on the delay sign (increment in delay time) during the delay detection period, which is a specific period after the start of the process delay. In other words, when a process delay occurs, the inference device 160 infers the total delay time, which is the delay time at a specific timing TX after the delay detection period, based on the increment in delay time during the delay detection period, which is a specific period. The delay estimation unit 15C transmits a delay inference result 36, which is the inference result of the total delay time, to the monitoring period variable unit 141.
[0253] In the real-time result acquiring unit 14C, the process progress information acquiring unit 140 acquires the process progress information 31 and the sensor information 32 from the external device. In addition, the monitoring cycle varying unit 141 receives the delay inference result 36 from the delay estimating unit 15C.
[0254] The monitoring cycle variable unit 141 changes information on the cycle (activation cycle information) for activating the process progress information acquisition unit 140 based on the delay inference result 36. Specifically, the monitoring cycle variable unit 141 shortens the cycle for activating the process progress information acquisition unit 140 as the sign of delay becomes greater and the total delay time becomes longer, thereby increasing the monitoring cycle.
[0255] The monitoring cycle variable unit 141 may be applied to the real-time result acquisition unit 14A. In this case, the delay estimation unit 15A determines whether a delay has occurred in the process based on the delay time, which is the calculation result of the delay state. That is, if the delay time, which is the calculation result, exceeds the delay time threshold, the delay estimation unit 15A determines that a delay has occurred in the process, creates delay information indicating the delay time based on the process progress information 31, and sends the delay information to the monitoring cycle variable unit 141.
[0256] When the monitoring cycle variable unit 141 receives the delay information, it shortens information about the cycle (activation cycle information) for activating the process progress information acquisition unit 140. For example, the longer the delay time, the shorter the cycle for activating the process progress information acquisition unit 140, thereby increasing the monitoring cycle.
[0257] The monitoring period variable section 141 included in the real-time result acquiring section 14C is a first monitoring period variable section, and the monitoring period variable section 141 included in the real-time result acquiring section 14A is a second monitoring period variable section.
[0258] The monitoring cycle variable unit 141 transmits a start signal to the process progress information acquisition unit 140 to start up the process progress information acquisition unit 140 based on the start up cycle information.
[0259] When the process progress information acquiring unit 140 receives a start signal from the monitoring cycle changing unit 141, it starts up, assigns a timestamp to the process progress information 31, and transmits the time-stamped process progress information 31 and the sensor information 32 to the delay estimation unit 15C. As a result, the real-time result acquiring unit 14C shortens the cycle for collecting the process progress information 31 and the sensor information 32 as the estimated total delay time becomes longer.
[0260] Here, the delay sign and the total delay time will be explained. Fig. 31 is a diagram for explaining the delay sign and the total delay time used for learning by the learning device included in the scheduling apparatus according to the third embodiment.
[0261] The horizontal axis of the graph shown in Figure 31 is the time elapsed since the delay (the time elapsed since the start of the process), and the vertical axis is the delay time. For each process, there are cases where the process is completed according to the approved schedule 26, and cases where the process is completed after the time scheduled in the approved schedule 26. As the number of processes that are completed after the time scheduled in the approved schedule 26 increases, the total delay time increases.
[0262] In this case, there is a specific relationship between the delay detection period, which is a specific period after the start of the delay, and the total delay time at a specific timing TX after the delay detection period. The learning device 150 generates the trained model 60 by learning this relationship between the delay detection period and the total delay time. That is, the learning device 150 learns whether the delay time during the delay detection period is increasing or is transient, based on the delay detection period and the total delay time.
[0263] In the third embodiment, the learning device 150 learns the total delay time across multiple stages of the process, and the inference device 160 infers the total delay time across multiple stages of the process, so that the scheduling device 1C can create an accurate correction plan that takes into account the multiple stages of the process.
[0264] 32 is a diagram illustrating the configuration of a learning device included in the scheduling apparatus according to the third embodiment. The learning device 150 includes a data acquiring unit 151 and a model generating unit 152. The learning device 150 is connected to a trained model storage unit 155. The data acquiring unit 151 acquires, as learning data, a delay sign detected in the past during a delay detection period and a total delay time detected in the past at a specific timing TX after the delay detection period.
[0265] The model generation unit 152 learns the total delay time corresponding to the delay sign based on the learning data created based on the combination of the delay sign and the total delay time output from the data acquisition unit 151. That is, the model generation unit 152 generates a trained model 60 that infers an appropriate future total delay time corresponding to the current delay sign from the past delay sign and the total delay time. Here, the learning data is data in which the delay sign and the total delay time are associated with each other.
[0266] The learning device 150 and the inference device 160 are used to learn the total delay time corresponding to the delay symptom, but may be, for example, a device separate from the scheduling device 1C and connected to the scheduling device 1C via a network. The learning device 150 and the inference device 160 may also be built into the scheduling device 1C. Furthermore, the scheduling device 1C may exist on a cloud server.
[0267] The learning algorithm used by the model generation unit 152 can be a known algorithm such as supervised learning, unsupervised learning, reinforcement learning, etc. As an example, a case will be described in which the model generation unit 152 applies a neural network as the learning algorithm.
[0268] The model generation unit 152 learns the total delay time corresponding to the delay symptom, for example, by so-called supervised learning according to a neural network model. Here, supervised learning refers to a method in which a learning device is provided with a set of data of input and result (label) as learning data, and the device learns the features of the learning data and infers the result from the input.
[0269] A neural network consists of an input layer consisting of multiple neurons, an intermediate layer (hidden layer) consisting of multiple neurons, and an output layer consisting of multiple neurons. The intermediate layer may be one layer, or two or more layers.
[0270] Fig. 33 is a diagram illustrating the configuration of a neural network used by the learning device according to the third embodiment. For example, in a three-layer neural network as shown in Fig. 33, when multiple inputs are input to input layers X1 to X3, the values are multiplied by weights w11 to w16 and input to intermediate layers Y1 and Y2, and the results are further multiplied by weights w21 to w26 and output from output layers Z1 to Z3. This output result varies depending on the values of weights w11 to w16 and w21 to w26.
[0271] In the present application, the neural network learns the total delay time corresponding to the delay sign by so-called supervised learning in accordance with learning data created based on a combination of the delay sign and the total delay time acquired by the data acquisition unit 151.
[0272] That is, the neural network learns the total delay time by inputting a delay sign and adjusting the weights w11 to w16 and w21 to w26 so that the results output from the output layers Z1 to Z3 approach the total delay time. The model generation unit 152 generates a trained model 60 by performing the above-mentioned training. The learning device 150 stores the neural network with the adjusted weights w11 to w16 and w21 to w26 as the trained model 60 in the trained model storage unit 155. The trained model storage unit 155 may be located outside the real-time performance acquisition unit 14C. The trained model storage unit 155 stores the trained model 60 output from the model generation unit 152.
[0273] Next, a procedure of the learning process performed by the learning device 150 will be described with reference to Fig. 34. Fig. 34 is a flowchart showing the procedure of the learning process performed by the learning device according to the third embodiment.
[0274] The data acquiring unit 151 acquires learning data (step S710). Specifically, the data acquiring unit 151 acquires a delay sign and a total delay time. Here, the case where the data acquiring unit 151 simultaneously acquires the delay sign and the total delay time has been described, but the delay sign and the total delay time only need to be input in association with each other, and the data acquiring unit 151 may acquire the data on the delay sign and the total delay time at different times.
[0275] The model generation unit 152 executes a learning process (step S720). Specifically, the model generation unit 152 learns the total delay time corresponding to the delay sign by so-called supervised learning in accordance with learning data created based on the combination of the delay sign and the total delay time acquired by the data acquisition unit 151, and generates a learned model 60.
[0276] The model generation unit 152 outputs the trained model 60 (step S730). The trained model storage unit 155 stores the trained model 60 generated by the model generation unit 152.
[0277] 35 is a diagram illustrating the configuration of an inference device included in the scheduling device according to the third embodiment. The inference device 160 has a data acquisition unit 161 and an inference unit 162. The inference device 160 is connected to the learned model storage unit 155. The data acquisition unit 161 acquires a current delay symptom. The data acquisition unit 161 is a first data acquisition unit, and the data acquisition unit 151 is a second data acquisition unit.
[0278] The inference device 160 infers an appropriate future total delay time from the current delay sign using the trained model 60 read from the trained model storage unit 155. That is, the inference device 160 can input the current delay sign acquired by the data acquisition unit 161 to the trained model 60, thereby outputting an appropriate future total delay time inferred from the current delay sign.
[0279] In the third embodiment, the case where the model generation unit 152 of the scheduling device 1C outputs the total delay time using the learned model 60 learned has been described. However, the inference device 160 may also acquire the learned model 60 from an external device such as another scheduling device, and output the total delay time based on this learned model 60.
[0280] The learning process by the learning device 150 and the inference process by the inference device 160 may be executed in parallel. That is, when the inference device 160 infers the total delay time, the learning device 150 may update the trained model 60 based on the delay sign used in the inference of the total delay time and the actual total delay time.
[0281] Next, a procedure of the inference process performed by the inference device 160 will be described with reference to Fig. 36. Fig. 36 is a flowchart showing the procedure of the inference process performed by the inference device according to the third embodiment.
[0282] The data acquiring unit 161 acquires data for inference (step S740). Specifically, the data acquiring unit 161 acquires a delay sign. The inference unit 162 inputs the delay sign into the trained model 60 stored in the trained model storage unit 155 (step S750) and obtains a total delay time corresponding to the delay sign. That is, the inference unit 162 infers the total delay time from the increment of the delay time acquired by the data acquiring unit 161, using the trained model 60 for inferring the total delay time from the increment of the delay time.
[0283] The inference unit 162 outputs the inferred data to the plan correction unit 17B (step S760). Specifically, the inference unit 162 outputs the total delay time obtained by the trained model 60 to the monitoring cycle variable unit 141 as the delay inference result 36. Thereafter, the monitoring cycle variable unit 141 activates the process progress information acquisition unit 140 at a cycle corresponding to the delay inference result 36. As a result, the process progress information acquisition unit 140 transmits the process progress information 31 and the sensor information 32 to the delay estimation unit 15C at a cycle corresponding to the delay inference result 36. As a result, the delay estimation unit 15C creates delay information at a cycle corresponding to the delay inference result 36.
[0284] Furthermore, when the total delay time obtained by the trained model 60 is equal to or greater than the total delay time threshold, the delay estimation unit 15C generates delay information corresponding to the total delay time and outputs it to the plan correction unit 17B. As a result, the plan correction unit 17B creates a correction proposal using the total delay time of the output delay information.
[0285] The model generation unit 152 may learn the total delay time corresponding to a delay sign according to learning data created for multiple scheduling devices. The model generation unit 152 may acquire learning data from multiple scheduling devices used in the same area, or may learn the total delay time corresponding to a delay sign by using learning data collected from multiple scheduling devices operating independently in different areas. A scheduling device that collects learning data may be added to or removed from the target during the process. Furthermore, the learning device 150 that learned the total delay time corresponding to a delay sign may be applied to another scheduling device (e.g., scheduling device 1C), and the total delay time corresponding to a delay sign may be re-learned and updated for the other scheduling device.
[0286] Deep learning, which learns to extract features themselves, can also be used as the learning algorithm of the model generation unit 152. The model generation unit 152 may also perform machine learning according to other known methods, such as genetic programming, functional logic programming, or support vector machines.
[0287] 37 is a flowchart showing the processing steps of the processing executed by the scheduling device according to the third embodiment when inferring the total delay time of a process. The delay estimation unit 15C of the scheduling device 1C determines whether or not the process progress information 31 and the sensor information 32 with timestamps have been received from the real-time result acquisition unit 14C (step S810). If the process progress information 31 and the sensor information 32 have not been received (step S810, No), the delay estimation unit 15C repeats the processing of step S810 for determining whether or not the process progress information 31 and the sensor information 32 have been received.
[0288] When the delay estimation unit 15C receives the process progress information 31 and the sensor information 32 (Yes at step S810), it acquires the latest in-operation schedule from the plan creation unit 13 (step S820).
[0289] The delay estimation unit 15C calculates the delay state of the process from the difference between the acquired process progress information 31 and the latest operating schedule, and from the sensor information 32 (step S830). The delay estimation unit 15C calculates a delay sign of the process as the delay state of the process.
[0290] The inference device 160 of the delay estimation unit 15C infers the total delay time corresponding to the delay symptom by applying the delay symptom to the trained model 60 (step S840). The delay estimation unit 15C transmits the delay inference result 36, which is information on the inferred total delay time, to the monitoring period variable unit 141 (step S850).
[0291] Furthermore, the delay estimation unit 15C determines whether the total delay time is equal to or greater than the threshold value of the total delay time (step S860). If the total delay time is equal to or greater than the threshold value of the total delay time (step S860, Yes), the delay estimation unit 15C transmits delay information to the plan correction unit 17B (step S870).
[0292] If the total delay time is less than the total delay time threshold (step S860, No), the delay estimation unit 15C returns to the process of step S810. Note that the delay detection period when the delay information is generated may be different from the delay detection period when the delay inference result 36 is generated.
[0293] FIG. 38 is a diagram for explaining the total delay time inferred by the scheduling device according to the third embodiment. The delay estimation unit 15C infers the total delay time at the specific timing TX for each processing machine ID from the delay state (delay sign) of the process at the time of execution of the actual schedule, which is the approved schedule 26 currently being executed. FIG. 38 shows the total delay time up to the specific timing TX1 for the processing machine with the processing machine ID "PM001" and the total delay time up to the specific timing TX2 for the processing machine with the processing machine ID "PM002". In this way, the delay estimation unit 15C infers the total delay time at the specific timing TX that is later than the current date and time when the process is being executed.
[0294] In the third embodiment, the learning device 150 learns the total delay time corresponding to the delay sign based on the delay sign and the total delay time. However, the learning device 150 may use the frequency of delay occurrence instead of the delay sign. That is, the learning device 150 may learn the total delay time corresponding to the frequency of delay occurrence based on the frequency of delay occurrence and the total delay time. In this case, the inference device 160 infers the total delay time corresponding to the frequency of delay occurrence based on the frequency of delay occurrence. The frequency of delay occurrence is, for example, the time or number of delays occurring per specific time.
[0295] As described above, according to the third embodiment, the scheduling device 1C infers the total future delay time based on the delay symptom, and therefore can infer the total future delay time based on minute delays.
[0296] Furthermore, since the scheduling device 1C creates a correction plan based on the estimated total delay time, it is possible to start calculating a correction plan for a delay before the delay becomes certain. This allows a correction plan to be applied early when a delay occurs, thereby improving productivity.
[0297] Furthermore, the scheduling device 1C infers the total future delay time based on the delay symptom, and changes the cycle for creating delay information based on the inferred total delay time, so that a correction plan can be created efficiently according to the delay.
[0298] Furthermore, since the scheduling device 1C changes the cycle for creating delay information based on the estimated total delay time, if no delay occurs for a long period of time, it is possible to lengthen the cycle for the delay estimation unit 15C to acquire the process progress information 31 and the sensor information 32 and the cycle for the plan correction unit 17B to create a correction proposal. This allows the scheduling device 1C to reduce the load on the process of acquiring information and the process of creating a correction proposal.
[0299] Embodiment 4 Next, a fourth embodiment will be described with reference to Figures 39 to 44. In the fourth embodiment, the weights of the evaluation items when the schedule 41 or the amendment is created are inferred based on the production status or delay information when the schedule 41 or the amendment is created and the approved schedule 26.
[0300] Fig. 39 is a diagram showing the configuration of a scheduling device according to embodiment 4. Among the components in Fig. 39, components that achieve the same functions as those in the scheduling device 1C according to embodiment 3 shown in Fig. 29 are assigned the same reference numerals, and redundant explanations will be omitted.
[0301] The scheduling device 1D of the fourth embodiment includes a planned learning and inference unit 19 in addition to the components included in the scheduling device 1C of the third embodiment. The planned learning and inference unit 19 has both the learning function included in the learning device 150 of the third embodiment and the inference function included in the inference device 160. The planned learning and inference unit 19 is connected to the plan creation unit 13 and the plan correction unit 17B.
[0302] When creating a schedule, the planning, learning, and inference unit 19 generates a trained model (hereinafter referred to as a first weight trained model) by learning the weights of evaluation items according to the user situation indicating the status of production by the user, which includes at least one of the production status and the approved schedule 26. Note that the user situation may include delay information indicating a delay state, user requests, etc.
[0303] A production status is input by a user to the input unit 11. The plan creation unit 13 acquires the production status via the input unit 11, and the planning, learning, and inference unit 19 acquires the production status from the plan creation unit 13. The planning, learning, and inference unit 19 also acquires an approved schedule 26 from the plan creation unit 13 or the plan correction unit 17B. The planning, learning, and inference unit 19 also acquires delay information from the delay estimation unit 15C via the plan correction unit 17B, and acquires a user request from the user request reception unit 12 via the plan creation unit 13.
[0304] The planned learning inference unit 19 generates a first weight-trained model in the same manner as the learning device 150. After generating the first weight-trained model, the planned learning inference unit 19 infers and adjusts the weights of the evaluation items based on the first weight-trained model and the user situation.
[0305] When learning the weights of evaluation items during schedule creation, the planning, learning, and inference unit 19 acquires, for example, the production status, the approved schedule 26, and the weights of evaluation items from the plan creation unit 13. The production status, the approved schedule 26, and the weights are information on actual results, and are information that was actually used in the process.
[0306] The planning, learning, and inference unit 19 learns the weights of the evaluation items according to the user situation when creating a schedule. Specifically, the planning, learning, and inference unit 19 learns the correspondence between the user situation and the weights of the evaluation items, thereby generating a first weight-trained model for inferring the weights of the evaluation items from the user situation.
[0307] The production status includes information indicating the period, such as whether it is a busy season or an off-season, worker information such as the skill level and number of workers, and time information such as the month of the year or the day of the week. The worker information includes information such as the number of people at each skill level for each work schedule. The weight is the weight set by the user for the evaluation item or a default weight value.
[0308] For example, the weights set during busy periods such as the end of accounting periods tend to be different from the weights set during slow periods when production costs are more important than delivery dates. The planning, learning, and inference unit 19 learns the weights of the evaluation items that correspond to such trends.
[0309] Furthermore, when inferring the weights of evaluation items during schedule creation, the planning, learning, and inference unit 19 acquires the production status and approved schedule 26 from the plan creation unit 13. The planning, learning, and inference unit 19 infers the weights of evaluation items by applying the production status and approved schedule 26 to the first weight-trained model. The planning, learning, and inference unit 19 transmits the inferred weights of evaluation items to the plan creation unit 13. As a result, the plan creation unit 13 creates a schedule 41 based on the inferred weights of evaluation items.
[0310] Furthermore, when correcting a schedule, the planning learning inference unit 19 generates a trained model (hereinafter referred to as a second weight trained model) by learning the weights of the evaluation items according to the user situation. The planning learning inference unit 19 generates the second weight trained model by the same method as the learning device 150. After generating the second weight trained model, the planning learning inference unit 19 infers the weights of the evaluation items based on the user situation.
[0311] When learning the weights of evaluation items during schedule correction, the planning, learning, and inference unit 19 acquires delay information, the approved schedule 26, and the weights of evaluation items from the plan creation unit 13. The delay information, the approved schedule 26, and the weights are information on actual results, and are information that was actually used in the process.
[0312] Here, the delay information and the approved schedule 26 are the user situation, and the planning, learning, and inference unit 19 learns the weights of the evaluation items according to the user situation. Specifically, the planning, learning, and inference unit 19 learns the correspondence between the user situation and the weights of the evaluation items, thereby generating a second weight-trained model for inferring the weights of the evaluation items from the user situation.
[0313] Furthermore, when inferring the weights of evaluation items during schedule correction, the planning, learning, and inference unit 19 acquires delay information and the approved schedule 26 from the plan correction unit 17B. The planning, learning, and inference unit 19 infers the weights of evaluation items by applying the delay information and the approved schedule 26 to the second weight-trained model. The planning, learning, and inference unit 19 transmits the inferred weights of evaluation items to the plan correction unit 17B. As a result, the plan correction unit 17B creates a correction proposal for the approved schedule 26 based on the inferred weights of evaluation items.
[0314] The planning learning inference unit 19 may generate the second weight-trained model without using delay information when correcting the schedule. In this case, the planning learning inference unit 19 learns the weights of the evaluation items corresponding to the approved schedule 26 based on the approved schedule 26. The first weight-trained model and the second weight-trained model in the fourth embodiment are the first trained models.
[0315] The planning, learning, and inference unit 19 extends the user request by adding the user situation, which is information about the environment surrounding the user, to the user request, infers weights of evaluation items according to the user situation, and presents (recommends) the weights to the user. Specifically, the scheduling device 1D stores in advance pairs of user situations and weights used when a correction proposal is approved. The planning, learning, and inference unit 19 generates a first weight-trained model and a second weight-trained model by statistical processing or learning processing using the stored information. The planning, learning, and inference unit 19 infers weights of evaluation items using the first weight-trained model and the second weight-trained model.
[0316] The scheduling device 1D creates a correction plan using weights inferred using the first weight-trained model or the second weight-trained model, and presents the correction plan to the user, thereby recommending weights according to the user situation.
[0317] For example, when the user situation is a busy season, the planned learning inference unit 19 infers the weight W=(1,0,0), and when the user situation is a slow season, the planned learning inference unit 19 infers the weight W=(0,1,0).Furthermore, when the user situation is neither a busy season nor a slow season, the planned learning inference unit 19 infers the weight of the evaluation item by applying the user situation to the first weight-trained model and the second weight-trained model, and infers the weight W=(1,1,0), for example.
[0318] Furthermore, if a user prefers weight W=(3,2,1), the planned learning inference unit 19 estimates that another user in a similar user situation will also prefer this weight W=(3,2,1) or a weight close to this weight W=(3,2,1).The planned learning inference unit 19 then applies the estimated weight to the other user.
[0319] 40 is a flowchart showing the processing steps of the process executed by the scheduling device according to the fourth embodiment when learning the weights of evaluation items during schedule creation. The planning, learning, and inference unit 19 acquires the production status, the approved schedule 26, and the weights of evaluation items from the plan creation unit 13 (step S910).
[0320] The planning, learning, and inference unit 19 learns the weights of the evaluation items according to the user's situation based on the production situation, the approved schedule 26, and the weights of the evaluation items (step S920). That is, the planning, learning, and inference unit 19 learns the weights of the evaluation items according to the production situation and the approved schedule 26 based on a combination of the production situation, the approved schedule 26, and the weights of the evaluation items, and generates a first weight-trained model. The first weight-trained model is stored in a storage area provided in the scheduling device 1D.
[0321] 41 is a flowchart showing the processing steps of the process executed by the scheduling device according to the fourth embodiment when inferring the weights of evaluation items during schedule creation. The planned learning inference unit 19 determines whether the user has requested a recommended value for the weight of the evaluation item (step S1010). The recommended value for the weight of the evaluation item is a weight desired by the user, and is input by the user to the user request receiving unit 12.
[0322] If the user has requested a recommended value for the weight of the evaluation item (step S1010, Yes), the planning, learning, and inference unit 19 ends the process without inferring a weight. On the other hand, if the user has not requested a recommended value for the weight of the evaluation item (step S1010, No), the planning, learning, and inference unit 19 acquires the production status and approved schedule 26 from the plan creation unit 13 (step S1020).
[0323] The planning, learning, and inference unit 19 infers the weights of the evaluation items based on the production status and the approved schedule 26 (step S1030). Specifically, the planning, learning, and inference unit 19 infers the weights of the evaluation items by applying the production status and the approved schedule 26 to the first weight-trained model. The planning, learning, and inference unit 19 transmits the inferred weights of the evaluation items to the plan creation unit 13 (step S1040). This enables the scheduling device 1D to present weights according to the user status.
[0324] 42 is a flowchart showing the processing steps of the process executed by the scheduling device according to the fourth embodiment when learning the weights of the evaluation items during schedule correction. The plan learning and inference unit 19 acquires the delay information, the approved schedule 26, and the weights of the evaluation items from the plan creation unit 13 (step S1110).
[0325] The planning, learning, and inference unit 19 learns the weights of the evaluation items according to the user's situation based on the delay information, the approved schedule 26, and the weights of the evaluation items (step S1120). That is, the planning, learning, and inference unit 19 learns the weights of the evaluation items according to the delay information and the approved schedule 26 based on a combination of the delay information, the approved schedule 26, and the weights of the evaluation items, and generates a second weight-trained model. The second weight-trained model is stored in a storage area provided in the scheduling device 1D.
[0326] 43 is a flowchart showing the procedure of processing executed by the scheduling device according to the fourth embodiment when inferring the weights of evaluation items during schedule correction. The planned learning inference unit 19 determines whether the user has requested recommended values for the weights of the evaluation items (step S1210).
[0327] If the user has requested a recommended value for the weight of the evaluation item (step S1210, Yes), the planning, learning, and inference unit 19 ends the process without inferring a weight. On the other hand, if the user has not requested a recommended value for the weight of the evaluation item (step S1210, No), the planning, learning, and inference unit 19 acquires delay information and the approved schedule 26 from the plan correction unit 17B (step S1220).
[0328] The planning, learning, and inference unit 19 infers the weights of the evaluation items based on the delay information and the approved schedule 26 (step S1230). Specifically, the planning, learning, and inference unit 19 infers the weights of the evaluation items by applying the delay information and the approved schedule 26 to the second weight-trained model. The planning, learning, and inference unit 19 transmits the inferred weights of the evaluation items to the plan correction unit 17B (step S1240). This enables the scheduling device 1D to present weights according to the user situation. Note that the planning, learning, and inference unit 19 may be applied to the scheduling devices 1A to 1C described in the first to third embodiments.
[0329] In this way, the planning, learning, and inference unit 19 learns the approved schedules 26 and amendments approved by the user in the past, as well as the user situations when these were created, and is therefore able to create schedules 41 and amendments that are likely to be preferred by the user in both known and unknown user situations.
[0330] Furthermore, the scheduling device 1D can create a virtual user image by using the weights learned by the planning learning inference unit 19. The scheduling device 1D can create a schedule 41 or an amendment proposal that suits the user's preferences without user confirmation by performing a virtual user evaluation of the schedule 41 or an amendment proposal created by the plan creation unit 13 or the plan correction unit 17B. Furthermore, the scheduling device 1D can recommend to the user a schedule 41 or an amendment proposal that meets the user's true needs in an unknown user situation by having the plan creation unit 13 or the plan correction unit 17B repeatedly attempt to create the schedule 41 or an amendment proposal so as to increase the virtual user evaluation.
[0331] Scheduling devices 1A to 1D may be implemented by a single PC (Personal Computer), or at least some of the components of scheduling devices 1A to 1D may be connected via a network. Here, an example configuration of a scheduling system in which at least some of the components of scheduling devices 1A to 1D are connected via a network will be described. Here, an example configuration of a scheduling system in which at least some of the components of scheduling device 1D are connected via a network will be described.
[0332] 44 is a diagram illustrating the configuration of devices in a scheduling system according to embodiment 4. A scheduling system 10X corresponding to the scheduling device 1D has components corresponding to the components of the scheduling device 1D.
[0333] That is, the scheduling system 10X includes an input device 11X corresponding to the input unit 11, a user request receiving device 12X corresponding to the user request receiving unit 12, and a plan creation device 13X corresponding to the plan creation unit 13. The scheduling system 10X also includes a real-time result acquisition device 14X corresponding to the real-time result acquisition unit 14C, a delay estimation device 15X corresponding to the delay estimation unit 15C, and a plan presentation device 16X corresponding to the plan presentation unit 16. The scheduling system 10X also includes a plan correction device 17X corresponding to the plan correction unit 17B, and a plan learning device 19X corresponding to the plan learning inference unit 19.
[0334] The input unit 11 and the input device 11X have the same function, the user request receiving unit 12 and the user request receiving device 12X have the same function, and the plan creation unit 13 and the plan creation device 13X have the same function. Also, the real-time result acquisition unit 14C and the real-time result acquisition device 14X have the same function, the delay estimation unit 15C and the delay estimation device 15X have the same function, and the plan presentation unit 16 and the plan presentation device 16X have the same function. Also, the plan correction unit 17B and the plan correction device 17X have the same function, and the planned learning inference unit 19 and the planned learning device 19X have the same function.
[0335] In the scheduling system 10X, an input device 11X, a user request receiving device 12X, a plan creation device 13X, a real-time result acquisition device 14X, a delay estimation device 15X, a plan presentation device 16X, a plan correction device 17X, and a plan learning device 19X are connected via a network 9. Note that only some of the components included in the scheduling system 10X may be connected via the network 9.
[0336] The connection configuration of the components in the scheduling system 10X corresponding to the scheduling devices 1A to 1C is similar to the connection configuration of the components in the scheduling system 10X.
[0337] Next, the hardware configuration of the scheduling devices 1A to 1D will be described. The scheduling devices 1A to 1D are realized by a processing circuit. The processing circuit may be a processor and memory that executes a program stored in a memory, or may be dedicated hardware.
[0338] 45 is a diagram illustrating an example of the configuration of a processing circuit when the processing circuit included in the scheduling device according to the first to fourth embodiments is realized by a processor and a memory. Note that the scheduling devices 1A to 1D according to the first to fourth embodiments have the same hardware configuration, and therefore, only the hardware configuration of the scheduling device 1A will be described here.
[0339] The processing circuit 90 shown in FIG. 45 includes a processor 91 and a memory 92. When the processing circuit 90 is configured with the processor 91 and the memory 92, each function of the processing circuit 90 is realized by software, firmware, or a combination of software and firmware. The software or firmware is written as a scheduling program and stored in the memory 92. In the processing circuit 90, each function is realized by the processor 91 reading and executing the scheduling program stored in the memory 92. That is, the processing circuit 90 includes the memory 92 for storing the scheduling program that will result in the processing of the scheduling device 1A being executed.
[0340] This scheduling program can also be said to be a program for causing the scheduling device 1A to execute each function realized by the processing circuitry 90. This scheduling program may be provided by a computer-readable recording medium on which the scheduling program is recorded, or may be provided by other means such as a communication medium.
[0341] The scheduling program can also be said to be a program that causes scheduling device 1A to execute the processes shown in Figures 13 to 16, 19, and 21. Here, processor 91 is, for example, a CPU (Central Processing Unit), a processing device, an arithmetic unit, a microprocessor, a microcomputer, or a DSP (Digital Signal Processor). Furthermore, memory 92 is, for example, a non-volatile or volatile semiconductor memory such as RAM (Random Access Memory), ROM (Read Only Memory), flash memory, EPROM (Erasable Programmable ROM), or EEPROM (Electrically EPROM), a magnetic disk, a flexible disk, an optical disk, a compact disk, a minidisk, or a DVD (Digital Versatile Disc).
[0342] FIG. 46 is a diagram illustrating an example of a processing circuit provided in the scheduling device according to the first to fourth embodiments, configured with dedicated hardware. The processing circuit 93 illustrated in FIG. 46 corresponds to, for example, a single circuit, a composite circuit, a programmed processor, a parallel programmed processor, an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Gate Array), or a combination thereof. The processing circuit 93 may be partially realized with dedicated hardware and partially realized with software or firmware. In this way, the processing circuit 93 can realize each of the above-described functions by dedicated hardware, software, firmware, or a combination thereof.
[0343] Thus, according to embodiment 4, the scheduling device 1D infers the weights of the evaluation items when creating the schedule 41 or the amendment proposal based on the user situation, and can create the schedule 41 or the amendment proposal based on the weights of the evaluation items that are appropriate for the user situation.
[0344] The configurations shown in the above embodiments are merely examples, and may be combined with other known technologies, or embodiments may be combined with each other, or parts of the configurations may be omitted or modified within the scope of the gist. [Explanation of symbols]
[0345] 1A to 1D scheduling device, 2 display unit, 3 plan approval confirmation screen, 4 delay tolerance rate input screen, 5 robot, 6 sensor, 7 resource control unit, 9 network, 10X scheduling system, 11 input unit, 11X input device, 12 user request reception unit, 12X user request reception device, 13 plan creation unit, 13X plan creation device, 14A, 14C real-time performance acquisition unit, 14X real-time performance acquisition device, 15A, 15C delay estimation unit, 15X delay estimation device, 16 plan presentation unit, 16X plan presentation device, 17A, 17B plan correction unit, 17X plan correction device, 19 plan learning inference unit, 19X plan learning device, 21 job list, 22 constraint information, 22A job constraint information, 22B worker constraint information, 23 resources available during delay, 23A worker resources, 23B equipment resources, 24 Plan approval / non-approval information, 25 Priority information, 26 Approved schedule, 27A Planning skill level information, 27B Correction skill level information, 28 Correction timing candidate, 30 Delay information, 31 Process progress information, 32 Sensor information, 33 Delay time by processing machine, 34 Total delay time, 35 Correction information, 36 Delay inference result, 41 Schedule, 51 Planning schedule, 52 Actual schedule, 60 Trained model, 70 Warehouse, 90, 93 Processing circuit, 91 Processor, 92 Memory, 140 Process progress information acquisition unit, 141 Monitoring period variable unit, 150 Learning device, 151, 161 Data acquisition unit, 152 Model generation unit, 155 Trained model memory unit, 160 Inference device, 162 Inference unit, 170 Correction proposal creation unit, 171 Correction timing calculation unit, 172 Skill difference correction unit, L1 to L3 Production line, P1~P3 evaluation items, T0 expected time, T1 margin time, TX, TX1, TX2 specific timing, Ta, Tb required process time, X1~X3 input layer, Y1, Y2 hidden layer, Z1~Z3 output layer, t1, t2 delay time, v1~v3 item evaluation value, w11~w16, w21~w26 weights.
Claims
1. A scheduling device that schedules production processes using production equipment and worker resources arranged on a production line, a planning unit that creates a schedule plan for determining an execution order, the production equipment to be used, and the workers to be used for the processes of the production line; a progress information collection unit that collects progress information that is information on the progress of the process when the schedule plan is being executed; a user request receiving unit that receives a user request from a user including priority information indicating a priority of a priority evaluation item that is given priority with respect to a correction policy for the schedule plan when the progress information collected by the progress information collecting unit indicates a delay in the schedule plan; a plan correction unit that corrects the schedule plan created by the plan creation unit based on the progress information collected by the progress information collection unit and the user request for the correction policy accepted by the user request acceptance unit, thereby creating a corrected schedule plan that reflects the user request on the schedule plan created by the plan creation unit; Equipped with the plan correction unit is configured such that the corrected schedule plan, which is created when the user request receiving unit receives, as the priority evaluation item, the user request indicating a delivery delay evaluation item that determines the execution order taking into consideration suppression of delivery delays in the production; the corrected schedule plan, which is created when the user request receiving unit receives, as the priority evaluation item, the user request indicating a production cost evaluation item that determines the execution order taking into consideration production costs incurred in the process; and the corrected schedule plan, which is created when the user request receiving unit receives, as the priority evaluation item, the user request indicating a corresponding load evaluation item that determines the execution order taking into consideration the load of the worker, are different from each other. A scheduling device characterized by:
2. an input unit for inputting production resource information, which is information about production equipment and workers capable of performing work in the processes of the production line; the plan correction unit corrects the schedule plan based on the progress information collected by the progress information collection unit, the user request with respect to the correction policy accepted by the user request acceptance unit, and the production resource information input to the input unit, to create the corrected schedule plan.
2. The scheduling device according to claim 1.
3. the plan creation unit and the plan correction unit have evaluation functions for calculating evaluation values for the schedule plan and the corrected schedule plan created by the plan creation unit and the plan correction unit, update the schedule plan and the corrected schedule plan so that the evaluation values increase, and present at least a part of the updated schedule plan and the corrected schedule plan to the user.
2. The scheduling device according to claim 1.
4. In the user request for the correction policy, evaluation items to be prioritized when the corrected schedule plan is created and a weight for each evaluation item are set, the evaluation function is composed of an item-specific function, which is a function for each of the evaluation items that, when the corrected schedule plan is applied, results in a higher evaluation value the closer it is to the target of the evaluation item, and a weight for each of the evaluation items that is used to weight the item-specific function, and an evaluation is performed on the corrected schedule plan that has been created in accordance with the item-specific function and the weight for each of the evaluation items; the plan creation unit and the plan correction unit create the schedule plan and the corrected schedule plan that prioritize satisfying the evaluation items with large weights so as to increase the evaluation value of the evaluation function.
4. The scheduling device according to claim 3.
5. a set of weights configured from the weights set for each of the evaluation items is created using a plurality of types of initial values; the plan creation unit and the plan correction unit create a plurality of the schedule plans and a plurality of the corrected schedule plans using a plurality of types of sets of the weights; 5. The scheduling device according to claim 4.
6. The system further includes a planned learning inference unit that generates a first trained model for inferring the weights from the user situation based on the weights and a user situation that is a status of production by the user, and that infers and adjusts the weights based on the first trained model and the user situation.
5. The scheduling device according to claim 4.
7. the plan correction unit calculates a margin time according to a skill difference between a worker's skill at the time of creating the schedule plan in operation and a worker's skill at the time of creating the corrected schedule plan created by the plan correction unit, and creates the corrected schedule plan using the margin time.
2. The scheduling device according to claim 1.
8. the plan correction unit calculates a plurality of types of margin times according to the schedules between the processes, and creates a plurality of corrected schedule plans using the plurality of types of margin times.
8. The scheduling device according to claim 7.
9. a job list of jobs for which the schedule plan is to be created and constraint information, which is information on constraints on the jobs and workers when the schedule plan is created, are further input to the input unit; the plan correction unit creates the corrected schedule plan based on the job list, the constraint information, the production resource information, the schedule plan in operation, delay information indicating a delay state of the process, and the user request for the correction policy.
3. The scheduling device according to claim 2.
10. The input unit receives information indicating whether the user approves or rejects the corrected schedule plan created by the plan correction unit, when the user inputs information rejecting the corrected schedule plan created by the plan correction unit into the input unit and at least one of the job list, the constraint information, the production resource information, and the user request for the correction policy is reset by the user, the plan correction unit recreates the corrected schedule plan based on the latest job list, the latest constraint information, the latest production resource information, the schedule plan in operation, the delay information, and the latest user request for the correction policy; When the user inputs information approving the corrected schedule plan created by the plan correction unit into the input unit, the approved corrected schedule plan is output to an external device.
10. The scheduling device according to claim 9.
11. the plan correction unit creates the corrected schedule plan ensuring a time required for the user to confirm the corrected schedule plan and input information on whether the user approves or rejects the corrected schedule plan into the input unit.
11. The scheduling device according to claim 10.
12. The method further includes an inference device that, when a delay occurs in the process, infers a total delay time, which is a delay time at a specific timing after the delay detection period, based on an increment of the delay time during the delay detection period, which is a specific period; The inference device a first data acquisition unit that acquires an increment of the delay time; An inference unit that infers the total delay time from the increment of the delay time acquired by the first data acquisition unit using a second trained model for inferring the total delay time from the increment of the delay time; having 12. A scheduling device according to claim 1, wherein the scheduling device is a scheduling device for scheduling a plurality of scheduling operations.
13. a first monitoring interval variable unit that changes an interval for collecting process progress information, which is information about the progress of the process, based on the total delay time; 13. The scheduling device according to claim 12.
14. a delay estimation unit that generates delay information indicating a delay time of the process by comparing the schedule plan in operation with process progress information that is information on the progress of the process; a second monitoring interval variable unit that changes an interval for collecting the process progress information when the delay time exceeds a threshold value; Further provided with 12. A scheduling device according to claim 1, wherein the scheduling device is a scheduling device for scheduling a plurality of scheduling operations.
15. Further provided is a learning device that generates the second trained model based on the increment of the delay time and the actual value of the total delay time, The learning device a second data acquisition unit that acquires the increment of the delay time and the actual value of the total delay time as learning data; a model generation unit that generates the second trained model using the training data; having 13. The scheduling device according to claim 12.
16. the plan creation unit creates the schedule plan based on the job list, the constraint information, and the user request for the correction policy; The input unit receives information indicating whether the user approves or rejects the schedule plan created by the plan creation unit, when the user inputs information rejecting the schedule plan created by the plan creation unit into the input unit and at least one of the job list, the constraint information, and the user request for the correction policy is reset by the user, the plan creation unit recreates the schedule plan based on the latest job list, the latest constraint information, and the latest user request for the correction policy; When the user inputs information approving the schedule plan created by the plan creation unit to the input unit, the approved schedule plan is output to an external device as an approved schedule.
10. The scheduling device according to claim 9.
17. a plan presentation unit that presents the corrected schedule plan to the user, 2. The scheduling device according to claim 1.
18. the plan presentation unit presents a plurality of the corrected schedule plans to the user simultaneously; 18. The scheduling device according to claim 17.
19. the plan presentation unit presents a plurality of the schedule plans to the user simultaneously; 18. The scheduling device according to claim 17.
20. the plan presentation unit presents to the user a plurality of the corrected schedule plans, a plurality of the schedule plans, and a difference between the corrected schedule plan and the schedule plan for each combination of the corrected schedule plan and the schedule plan; 20. The scheduling device according to claim 18.
21. the user request receiving unit receives the user request for the correction policy, the correction policy including priority information indicating priorities of the plurality of correction policies when the corrected schedule plan is created; the plan correction unit creates the corrected schedule plan based on the priority information included in the user request for the correction policy.
2. The scheduling device according to claim 1.
22. A scheduling system that schedules production processes using production equipment and worker resources arranged on a production line, a planning device that creates a schedule plan for determining an execution order, the production equipment to be used, and the workers to be used for the processes on the production line; a progress information collection device that collects progress information that is information on the progress of the process when the schedule plan is being executed; a user request receiving device that receives a user request from a user including priority information indicating a priority of a priority evaluation item that is given priority with respect to a correction policy for the schedule plan when the progress information collected by the progress information collecting device indicates a delay in the schedule plan; a plan correction device that corrects the schedule plan created by the plan creation device based on the progress information collected by the progress information collection device and the user request for the correction policy accepted by the user request acceptance device, thereby creating a corrected schedule plan that reflects the user request on the schedule plan created by the plan creation device; Equipped with The plan correction device is configured so that the corrected schedule plan, which is created when the user request receiving device receives, as the priority evaluation item, the user request indicating a delivery delay evaluation item that determines the execution order by taking into consideration suppression of delivery delays in the production, the corrected schedule plan, which is created when the user request receiving device receives, as the priority evaluation item, the user request indicating a production cost evaluation item that determines the execution order by taking into consideration production costs incurred in the process, and the corrected schedule plan, which is created when the user request receiving device receives, as the priority evaluation item, the user request indicating a corresponding load evaluation item that determines the execution order by taking into consideration the load of the worker, are different from each other. A scheduling system characterized by:
23. A scheduling method for scheduling a production process using production equipment and worker resources arranged on a production line, comprising: a planning step in which a scheduling device that executes the scheduling creates a schedule plan that determines an execution order for processes on the production line, and the production equipment and workers to be used; a progress information collection step in which the scheduling device collects progress information that is information on the progress of the process when the schedule plan is being executed; a user request receiving step in which the scheduling device receives a user request from a user including priority information indicating a priority of a priority evaluation item to be prioritized with respect to a correction policy for the schedule plan when the progress information collected in the progress information collecting step indicates a delay in the schedule plan; a plan correction step in which the scheduling device corrects the schedule plan created in the plan creation step based on the progress information collected in the progress information collection step and the user request for the correction policy accepted in the user request acceptance step, thereby creating a corrected schedule plan that reflects the user request on the schedule plan created in the plan creation step; Including, In the plan correction step, the scheduling device creates the corrected schedule plan when the user request, which indicates a delivery delay evaluation item that determines the execution order taking into consideration suppression of delivery delays in the production, is received as the priority evaluation item in the user request reception step, so that the corrected schedule plan created when the user request, which indicates a production cost evaluation item that determines the execution order taking into consideration production costs incurred in the process, is received as the priority evaluation item in the user request reception step, and the corrected schedule plan created when the user request, which indicates a corresponding load evaluation item that determines the execution order taking into consideration the load on the worker, is received as the priority evaluation item in the user request reception step, are different from each other. A scheduling method comprising:
Citation Information
Patent Citations
Production plan preparing device
JP1998080842A
Production plan creation method
JP2004127170A
Production schedule planning device and production schedule planning method
JP2012168873A
Distributed production planning and instructing device and distributed production planning and instructing system
JP2022169081A
Production plan creation device, production plan creation method, and production plan creation program
WO2018220885A1