PLANNING OPTIMISATION FOR HUMAN-MACHINE INTERACTIVE TASKS CONSIDERING MACHINE EMISSION GOAL AND HUMAN COMPETENCE GROWTH

20230121776 · 2023-04-20

    Inventors

    Cpc classification

    International classification

    Abstract

    This invention refers to a method for maintaining machinery, comprising the steps of: a) determining, by a computer, when the machinery will need to be maintained, b) acquiring, by a computer, tasks to be executed by workers, c) generating, by a computer, a list of tasks for at least one of the workers, the list is generated including a task for maintaining the machinery as determined in step a) and including the tasks acquired in step b), d) maintaining the machinery based on the list of tasks for the one of the workers, wherein steps a) to c) are executed independently from each other.

    Claims

    1. Method for maintaining machinery, comprising the steps of: a) determining, by a computer, when the machinery will need to be maintained, b) acquiring, by a computer, tasks to be executed by workers, c) generating, by a computer, a list of tasks for at least one of the workers, the list is generated including a task for maintaining the machinery as determined in step a) and including the tasks acquired in step b), d) maintaining the machinery based on the list of tasks for the one of the workers, wherein steps a) to c) are executed independently from each other.

    2. Method according to claim 1, wherein step a) includes a1) selecting objectives on which the determination when the machinery will need to be maintained are based, and/or a2) weighting objectives on which the determination when the machinery will need to be maintained are based.

    3. Method according to claim 1, wherein step c) includes c1) selecting objectives on which the generation of tasks for the one of the workers are based, and/or c2) weighting objectives on which the generation of tasks for the one of the workers are based.

    4. Method according to claim 2, wherein step a) and/or step c) include the execution of a plurality of sub-models and a top-model, wherein each sub-model processes a different objective, and wherein the top-model combines the results of the plurality of sub-models.

    5. Method according to claim 1, further comprising selecting a frequency of execution of steps a) and/or c).

    6. Method according to claim 1, wherein the task includes a training task for the workers, wherein optionally step a) includes generating a training task for the maintained machinery that is included in step b).

    7. Method according to claim 1, further comprising the step of determining an optimum execution time span for executing steps a) and/or c).

    8. Method according to claim 7, wherein the machinery generates a plurality of data types, wherein step a) further includes determining an aggregation level for the plurality of data types and a minimum time frequency for executing step a).

    9. Method according to claim 8, wherein the determination of the aggregation level includes determining a standard deviation of each data type for different aggregation levels, calculating a contribution of each data type for the determination that the machinery will need to be maintained, calculating an accuracy penalty for each data type and each aggregation level, and comparing the calculated accuracy penalties against a threshold value in order to determine the aggregation level.

    10. Method according to claim 9, wherein the determination of the minimum time frequency includes estimating a time period for executing step a) at the determined aggregation level based on stored simulations, comparing the estimated time period with an inverse of the minimum time frequency, and accepting the estimated time period as the inverse of the minimum frequency if the estimated time period is greater than the inverse of the minimum time frequency.

    11. Method according to claim 1, wherein step b) includes periodically checking for new tasks, wherein optionally a task in the list of tasks for the one of the workers that has a low priority is replaced by a new task having a high priority and the replaced task is included in step b).

    12. System for maintaining machinery, comprising an input port (1a) for acquiring data from the machinery, a task port (1b) configured to receive tasks to be executed by workers, a configuration portion (1c) configured to determine when the machinery will need to be maintained, a task portion (1d) configured to generate a list of tasks for one of the workers, wherein the list is generated including a task for maintaining the machinery as determined by the configuration portion (1c) and including the tasks acquired by the task port (1b), and an output portion (1e) configured to output the task to maintain the machinery to the one of the workers in order to maintain the machinery, wherein the configuration portion (1c) and the task portion (1d) are configured to operate independently from each other.

    13. System according to claim 12, further comprising an interface portion (1f) configured to display and/or allow selection of objectives on basis of which the configuration portion (1c) and/or the task portion (1d) work, wherein optionally the interface portion (1f) allows weighting the objectives.

    14. System according to claim 13, wherein the interface portion (1f) allows selecting a frequency of operation of the configuration portion (1c) and/or the task portion (1d).

    15. System according to claim 11, further comprising a data analysis portion (5) connected to the input port (1a) and configured to determine an aggregation level for the data and a minimum time frequency of operation of the configuration portion (1c).

    Description

    BRIEF DESCRIPTION OF THE DRAWINGS

    [0150] Optional embodiments of the invention will be discussed in conjunction with the accompanying drawings. Therein,

    [0151] FIG. 1 shows a block diagram of a system for maintaining machinery;

    [0152] FIG. 2 shows a block diagram of an interface portion of the system of FIG. 1;

    [0153] FIG. 3 shows another block diagram of the interface portion of FIG. 2 for outlining the selection of objectives;

    [0154] FIG. 4 shows a block diagram outlining the function of a configuration portion of the system of FIG. 1;

    [0155] FIG. 5 shows a block diagram outlining the function of a task and training planning portion of the system of FIG. 1;

    [0156] FIG. 6 shows a block diagram outlining the function of a dynamic portion of the system of FIG. 1;

    [0157] FIG. 7 further shows the working principles of a task portion of the system of FIG. 1;

    [0158] FIG. 8 shows a block diagram of a data analysis portion of the system of FIG. 1,

    [0159] FIG. 9 shows the working principles of an accuracy penalty evaluation portion of the data analysis portion of FIG. 8;

    [0160] FIG. 10 shows on overview of the functional units of the system of FIG. 1; and

    [0161] FIG. 11 shows a flow diagram illustrating a method for maintaining a machinery.

    DESCRIPTION OF EMBODIMENTS

    [0162] FIG. 1 shows a system 1 for maintaining machinery 2 which includes a plurality of machines 3. The machines 3 may be of the same type or some of the machines 3 may be of a different type. For example, the machinery 2 produces a certain product which requires different types of machines 3 which all contribute to the manufacturing of the product. The machines 3 can be located in the same workshop or in different workshops. It is possible that the respective workshops are located at different sites of a company.

    [0163] Each machine 3 is connected via a data pipeline 6 to a data analysis portion 5 and/or to the system 1. The data pipeline 6 may include all types of connections which allows the transmission of data from the machines 3 to the data analysis portion 5 and/or the system 1. For example, the machines 3 are provided with various sensors (not shown in the figures) which generate measurement data such as the consumption of electricity, fuel, etc; the operation times; operation speed; and/or other parameters characterising the operation and/or functioning of the machine 3. It is also possible that data is input into the machine 3 such as the number of products processed by the machine 3. The data pipeline 6 may include a LAN or wireless connection. It is also possible that the data pipeline 6 includes an internet connection to transfer data from the machinery 2 to the data analysis portion 5 and/or system 1. This may be the case if the data analysis portion 5 and/or system 1 are remote to the machinery 2, for example if the data analysis portion 5 and/or system 1 are implemented by a cloud computer or a remote server.

    [0164] FIG. 1 shows that the data analysis portion 5 is external to the system 1. However, the data analysis portion 5 may be part of the system 1. The data analysis portion 5 and/or system 1 may be implemented by a computer having a processor and a memory.

    [0165] The data analysis portion 5 is configured to forward the data received from the data pipeline 6 to the system 1 and/or to alter (aggregate) the data received from the data pipeline 6 and generate recommendations how to set the system 1. The generation of the recommendations will be described below.

    [0166] The system 1 includes an input port 1a, a task port 1b, a configuration portion 1c, a task portion 1d, an output portion 1e, and an interface portion 1f. The input port 1a and task port 1b may be a functional unit of the computer which is capable of receiving data and forwarding them to a processor of the computer. The input port 1a may thus be regarded as an interface between the processor of the system 1 and the data pipeline 6 or the data analysis portion 5. The task port 1b may be connected to another data line which transmits data indicating tasks to be executed by workers. The task port 1b may also include an interface by which staff and/or workers can input task to be executed by the workers. For example, the task part 1b can include a keyboard or a mouse.

    [0167] The input port 1a may additionally be configured to receive other types of data which may relate economical and/or environmental information on the machinery such as costs and/or generated by the current machinery, by a new, upgraded and/or replaced machine.

    [0168] The task port 1b may also allow the input of meta-data to the tasks. Such meta-data may relate to the skills/expertise required to execute the task, the location where the task needs to be executed, the duration of the task, the priority of the task, material needs to execute task, and the like. In addition, the task port 1b may allow the input of information on workers, such as availability, task preferences, training ambitions, skills, expertise, location, and/or the like. These pieces of information may be considered in generating a list of tasks for each worker.

    [0169] The configuration portion 1c, the task portion 1d, the output portion 1e, and/or the interface portion if may be functional units of an algorithm executed by the processor and stored in the memory of the computer/system 1. The portions, 1c, 1d, 1e, and if will be described in detail below.

    [0170] The output portion 1e may include means for indicating/displaying information or other types of data to a worker such as a screen. The output portion 1e may include an interface for transmitting the data generated by the system 1 to other apparatuses such as mobile telephones or other computers. For example, the output portion 1e includes a LAN interface or a wireless transmitter.

    [0171] The interface portion if can be a graphical interface and may include a displaying device such as a screen and an input device for in putting information such a as a mouse or a keyboard. The interface portion if may also include a touch screen. The interface portion if allows the display of various types of information and options to be selected as well as the input of information and/or the selection of options.

    [0172] To this end, the interface portion if includes a weight setting portion 12, an objective abstraction portion 121, a model setting portion 18, and/or a model abstraction portion 181. Each of these portions 12, 121, 18, and/or 181 may be a part of a common screen or may be displayed on different screens. In addition, each of these portions 12, 121, 18, and/or 181 may allow selection of one or more options independent from each other. The objective abstraction portion 121 and the model abstraction portion 181 may only be provided for information purposes and do not allow a selection but provide a representation of the functioning of the system 1.

    [0173] The weight setting portion 12 enables the selection of the weights for setting objectives. The weighting implies the activation and deactivation of certain objectives. The objective abstraction portion 121 allows the selection of objectives that are considered when determining the need for the maintenance of the machinery 2. It is possible that the user selects, in the first step, the objectives from the displayed list of objectives and then uses the weight setting portion 12 to weight, in a second step, the individual objectives. For example, the weighting of 0 implies a deactivation of a certain objective. In this case, the objective abstraction portion 121 may only be provided for information purposes or can be omitted. It is also possible that certain objectives cannot be weighted and have a fixed or predetermined weighting such as the “reduce cost” objective and the “reduce delay” objective depicted in FIG. 2.

    [0174] Objectives that can be selected may include one or more of the following:

    [0175] Machine evaluation (201): One of the activated/deactivated constraints. Set of constraints for deciding on replacing or repairing a machine.

    [0176] Machine emissions (202): One of the activated/deactivated constraints. Set of constraints for defining the machine emission model to be used in the machine evaluation.

    [0177] Machine capacity (203): One of the activated/deactivated constraints. Set of constraints for defining the machine production capacity to be used in the machine evaluation.

    [0178] Machine cost (204): One of the activated/deactivated constraints. Set of constraints for calculating the machine operation and maintenance cost (including cost of missing production opportunities) to be used in the machine evaluation.

    [0179] Skill matching (205): One of the activated/deactivated constraints. Set of constraints for assigning workers with the correct set of skills to each maintenance task.

    [0180] Availability condition (206): One of the activated/deactivated constraints. Set of constraints for tasks (and training) during the maintenance worker available schedule, considering the production limitations.

    [0181] Remote/on-site condition (207): One of the activated/deactivated constraints. Set of constraints for prioritizing remote worker assignation and remote/on-site collaboration to tasks that can be executed remotely.

    [0182] Localization condition (208): One of the activated/deactivated constraints. Set of constraints for grouping tasks within locations and arranging the multi-location conditions (travelling from locations, groups of workers for tasks within location; etc.).

    [0183] Training assignation (209): One of the activated/deactivated constraints. Set of constraints for assigning training to workers during their available free time (while not performing their maintenance tasks).

    [0184] Task prioritization (210): One of the activated/deactivated constraints. Set of constraints for prioritizing the execution of critical tasks.

    [0185] Preference matching (211): One of the activated/deactivated constraints.

    [0186] (212): One of the activated/deactivated constraints. Set of constraints for modelling the emissions coming from maintenance operations (travelling, delayed of tasks, etc.).

    [0187] The model setting portion 18 allows the selection of the operation of the configuration portion 1c and the task portion 1d, i.e. whether the portions 1c and/or 1d activated or not. In addition, the model setting portion 18 allows the determination of strategies that are taken into account by the system 1. For example, one strategy for the configuration portion 1c is whether the maintenance of the machinery 2 includes the repair and/or the replacement of the machinery 2. An example for a strategy that can be selected and considered by the task portion 1d is whether tasks in different locations are considered or not. The strategies that can be selected using the model setting portion 18 may be considered a sub-group of objectives that can be selected. In addition, the model setting portion 18 may allow setting the aggregation level and/or on what frequency the configuration portion 1c and/or task portion 1d are operated.

    [0188] The model abstraction portion 181 displays the different models that executed by the system 1. This provides better understanding of the functioning of the system 1 to the user. The model abstraction portion 181 is an optional feature and can be omitted.

    [0189] The configuration portion 1c may include deterministic and/or probabilistic models and/or artificial intelligence such as neural networks to analyse data that is generated by the machinery 2 (received by the input port 1a) to predict whether or not one or more machines 3 need to be maintained. The maintenance of the machinery 2 may refer to the repair, maintenance, upgrade, replacement, and/or the addition of one or more machines 3.

    [0190] Each of the objectives outlined above may be implemented by a sub-model. The results of the individual sub-models can be combined to achieve a final result by a top-model. The configuration portion 1c may also output a training tasks to the task port 1b, for example if the configuration portion 1c determines that a machine 3 should be replaced and the new machine requires different and/or additional training. Details of the functioning of configuration portion 1c can be gathered from FIG. 4.

    [0191] An example of a model for the objective “machine emissions 202” is [0192] Emissions for existing machine 2=fixed production emissions+variable motor emissions*(10[=best motor status]−motor status)+variable lubrication emissions*(10[=best lubrication status]−lubrication status)+emissions material consumption+ . . . [0193] Emissions for potential new machine 2=Recycling old machine+manufacturing new machine+new machine production+new machine material emissions+ . . .

    [0194] An example of a model for the objective “machine costs 204” is [0195] Costs for existing machine 2=fixed operation costs+variable operation costs*production+variable operation costs*(10[=best motor status]−machine status)+material costs* production+maintenance costs+predicted maintenance costs+costs of missed opportunity*not satisfied demand+ . . . [0196] Costs for potential new machine 2=Recycling old machine+buying new machine+operating new machine+material new machine+training new machine−increase in demand profit+

    [0197] The objectives input via the interface portion if affect the data that is required by the system 1. The system 1 can indicate the data that is required. Some data has default values used in case of no other input provided, in case of missing data that does not have default values, the system 1 (for example using the output portion 1e) indicates which of the objectives (or sub-models) cannot be run due to the missing data. The following table exemplifies the interdependence between the selected objectives and the data that is required for running the sub-models and the top-model.

    TABLE-US-00001 Relationship between data and user configuration Objective Preference Training Remote Reduction of emissions matching planning workforce Always necessary Models Task planning Shop floor Task Task Task Task Shop floor Task updating configuration planning: planning planning planning configuration planning dynamically Data For repair On-site List of List of Classify tasks Machine state Production Real or consideration: worker worker's worker's by: on-site Machine capacity schedule semi-real Machine emissions preferred preferred execution, Workers' daily time event consumption (initialized task type for training type collaboration availability information, data with default each worker for each on-site/remotely, List of tasks to including: Machine status value). worker. fully remotely. plan, including: skills required, For replace Task planning skills required, number of consideration: with task in number of workers, Recycle different workers, level level of emissions locations: of expertise, expertise, Emission Task locations priority, delay priority information of Emissions by penalty cost potential kilometer Task planning with machines (default task in different (energy values from locations: consumption, GHG protocol) Task locations manufacturing Initial location emissions) of workers

    [0198] FIG. 3 illustrates how the selection of the configuration portion 1c, the task and planning portion 15, the dynamic portion 16, and/or the sequencing portion 17 results in a display of corresponding objectives, terms, and/or constraints. The final model(s) that the system 1 runs is configured using the information coming from user abstraction layers depicted on the interface portion 1f. The system 1 takes information/input from the section “Model/s selection” of the interface portion if to select which models/portions 1c, 15, 16, and/or 17 have to be executed, and from the section “Objective function” of the interface portion if to activate terms in the objective function of each model as well as to activate additional constraints in order to accommodate the models to the desired objectives. Each objective will activate one or more objective terms (e.g. the reduction of emissions objective will activate objective terms types 202 and 212), each objective terms requires additional constraints, applicable to one or more models (e.g., objective term type 202 activates additional constraints on the models 1c and 15), but the correct integration of each constraint within the models/portions 1c, 15, 16, and/or 17 that it affects is handled by the system 1 (which can be called user abstraction).

    [0199] The task portion 1d includes a task and training planning portion 15, a dynamic portion 16, and/or a sequencing portion 17 which may operate independent from each other and/or independent from the configuration portion 1c. This means, each portion 1c, 15, 16, and/or 17 may be executed irrespective whether or not one or more of the other portions are running 1c, 15, 16, and/or 17 and/or may operate on different time scales.

    [0200] The task and training planning portion 15 processes tasks and/or the meta-data, i.e. data which can include information on the material availability, the task to be executed as received by the task port 1b, the relation and location of each of the tasks, skills required for each task, the assigned priority of each task, and/or the workers preferences. The task and training planning portion 15 may include deterministic and/or probabilistic models and/or artificial intelligence such as neural networks to analyse the received data. The task and training planning portion 15 outputs a list of tasks for each worker which may include several lists of tasks for a group of workers if several workers need to work on one task. In addition, the task and training planning portion 15 may change the priority of a task if a deadline is approaching and/or updates the skills of a worker if a training has been completed.

    [0201] The task and training planning portion 15 considers the pre-determined objective and/or objectives set using the interface portion 1f. Each of the objectives discussed above may be implemented by a sub-model. The results of the individual sub-models can be combined to achieve a final result by a top-model. Details of the task and training planning portion 15 are depicted in FIG. 5.

    [0202] An example of a model for the objective “minimize planning cost” is [0203] Min (Cost)=cost of material+cost of workers (low, minimum, high expertise)*number of workers+cast of delay of production+total travel cost+cost of external support+ . . .

    [0204] An example of a model for the objective “minimize emissions” is [0205] Min (Emissions)=Total travel emissions+material emissions+delayed maintenance emissions + . . .

    [0206] An example of a model for the objective “minimize delay” is [0207] Min (delay)=time from deadline*priority

    [0208] An example of a model for the objective “maximize preference score” is [0209] Min (not Preference)=Σ(task executed by worker−task preferred by worker)

    [0210] An example of a model for the objective “maximize training score” is [0211] Min (not Training)=Σ(1−training received by worker) [0212] Min (not Training Preference)=Σ(training received by worker−training preferred by worker)

    [0213] The dynamic portion 16 is connected to the task port 1b in order to receive tasks especially tasks having a high priority. In addition, the dynamic portion 16 receives meta-data such as relating to the skills, expertise, required material, and/or estimated time duration of the tasks. Further, similar to the task and training planning portion 15, the dynamic portion 16 receives meta-data on the skills and expertise of the workers, the schedule of the worker for today, and/or the current schedule.

    [0214] The dynamic portion 16 identifies tasks having a low priority (a priority lower than the priority of a new high priority task) in the list of tasks for each worker and checks whether the new high priority task can be taken over by one of the workers in view of meta-data available to the dynamic portion 16 such as the constraints regarding location, expertise and/or estimated time. The dynamic portion 16 may also minimise costs and delays similar to the task and training planning portion 15.

    [0215] If the dynamic portion 16 determines that a low priority tasks can be replaced by a high priority task, the list of tasks for the respective worker is updated by replacing the low priority task with the new high priority task. Further, the dynamic portion 16 forwards the replaced low priority task to the task and training planning portion 15 for the inclusion of this low priority task in the next preparation of lists of tasks for each worker.

    [0216] The sequencing portion 17 is connected to the task and training planning portion 15 in order to receive the tasks assigned to each of the workers. The sequencing portion 17 orders the tasks assigned by the task and training planning portion 15 while considering and the availability of all workers assigned to the tasks. The sequencing portion 17 may be considered processing the daily planning.

    [0217] The system 1 may also include a model interaction portion 13 which may be a functional unit of the computer implementing the system 1. The comments and remarks regarding implementation of the task and training planning portion 15, to dynamic portion 16, and/over the sequencing portion 17 can equally apply to the implementation of the model interaction portion 13.

    [0218] The model interaction portion 13 is configured to control, coordinate, and/or adjust the interaction between the configuration portion 1c, the task and training planning portion 15, the dynamic portion 16, and/or the sequencing portion 17. In particular, the model interaction portion 13 coordinates the interaction of the portions 1c, 15, 16, 17 if one of the portions 1c, 15, 16, 17 is deactivated by the user as described above. Further, the model interaction portion 13 provides the communication between the respective portions 1c, 15, 16, 17. This is illustrated in FIG. 7.

    [0219] With regard to FIG. 8, the data analysis portion 5 receives different data types from the machinery 2 and calculates the standard deviation for each data type at different aggregation levels. Thus, the data analysis portion 5 aggregates the received data at different levels, i.e. over different time periods such as an hour, a day, a week, a month, and/or a year. The aggregation levels may be pre-set, can be selected by the user, or is determined by the data analysis portion 5.

    [0220] In a next step, the data analysis portion 5 calculates the contribution of each data type to the final outcome of the system 1. This may be done using the following formula:

    [00003] contribution to objective d = .Math. objectives value magnitude o , d .Math. weight of objective o , d

    [0221] The weight of the objective is either a preselected value or corresponds to the value as chosen by the user (as described above). The value of the magnitude may be a default value or equal values in a first run of the calculation of the contribution of each data type. In subsequent runs, the previous values may be used.

    [0222] In a next step, the accuracy penalty is calculated for each data type and each aggregation level. This may be done using the following formula:

    [00004] Accuracy penalty ( data d , time t ) = std d , t .Math. contribution to objective d + .Math. d ! = d i corr ( d , di ) .Math. std d , t .Math. contribution to objective di

    [0223] The data analysis portion 5 may include an accuracy penalty evaluation portion 51 which evaluates the calculated accuracy penalties. The functioning of the accuracy penalty evaluation portion 51 is depicted in FIG. 9.

    [0224] FIG. 10 provides a general overview of the functional units of the system 1 that are involved when analysing the data from the machinery 3. The boxes “result calculation” and “result analysis” correspond to the execution of the configuration portion 1c and the task portion 1d. The box “result calculation” refers to the analysis of the data generated by the machinery 3 while the box “result analysis” refers to an optional further processing of the results in order to simplify and illustrate the received results. For example, Key Performance Indicators (KPIs) of the results are calculated. The box “visualisations and result export” refer to the forwarding of the results and the calculated illustrations (KPIs) to the output portion 1e.

    [0225] FIG. 11 illustrates a method for maintaining a machinery and generating a list of tasks for a worker. The rectangular blocks refer to calculation/optimisation steps, the rectangular blocks with rounded corners illustrate available data, and the rhombuses correspond to evaluation/decision steps.

    [0226] The configuration portion 1c determine costs, emissions, consumption, and/or further objectives that are selected using the interface portion 1f. This determination is made for each of the current machines 3 and for potential replacement machines and/or additional machines. The determined objectives for the current machinery 2 and the machinery 2 having new or replaced machines is compared in order to determine whether or not a machine 2 should be replaced/upgraded or a new machine 3 should be added to the machinery. If the determination indicates a new or replacement machine 2, it is additionally checked whether the cost for the new or the replaced machine is within the budget. If so, the configuration portion 1c issues a recommendation to purchase a new machine or replace/upgrade an existing machine 2. In addition, the configuration portions 1c generate a training task for the new or the replaced/upgraded machine 3.

    [0227] At the same time, the configuration portion 1c monitors the current status of the machines 3 and determines whether or not the machine 2 needs to be repaired or maintained. If so, the configuration portion 1c generate a maintenance task.

    [0228] The task and training planning portion 15 uses material information, information on the workforce (such skills, schedule, location, training ambitions and the like), and/or information on the task to be executed (such as skills, expertise, priority, duration, location, and the like) (in short meta-data) in order to assign the task to the workers. This can be done by creating a list of tasks for each worker. The task and training planning portion 15 also checks whether a worker is available for training in view of the list of tasks. If so, training tasks are added to the list of tasks for this worker. In case that a training has been completed by a worker, the stored skills and expertise of the worker are updated in view of the completed training.

    [0229] The sequencing portion 17 orders the tasks in the list of tasks assigned to each worker.

    [0230] The dynamic portion 16 periodically checks why new tasks having a high priority generated (e.g. a repair task due to malfunction of a machine 3) and/or input into the system 1 using the task port 1b. If one or more workers are assigned to tasks with a lower priority compared to the new high priority task, this new high priority task is added to the ordered list of tasks. This may include the removal of one or more low risk tasks from the ordered list of tasks in case the schedule of the worker is full. If so, to removed low priority task are added to the list of tasks processed by the task and training planning portion 15.