Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD AND SYSTEM FOR RESOURCE UTILIZATION PLANNING
Document Type and Number:
WIPO Patent Application WO/2022/031216
Kind Code:
A1
Abstract:
There is provided a method of resource utilization planning using at least one processor. The method includes: determining infeasibility in forming a resource utilization plan for a group of resources based on constraint parameter information, resource schedule parameter information and relational constraint parameter information associated with the group of resources; determining cause constraint parameter information based on the relational constraint parameter information; determining change constraint parameter information based on the cause constraint parameter information and constraint parameter changeability information associated with the constraint parameter information; and determining resource utilization plan information associated with the group of resources based on the change constraint parameter information. There is also provided a corresponding system for resource utilization planning.

Inventors:
SAKURAI TAKAO (SG)
Application Number:
PCT/SG2020/050445
Publication Date:
February 10, 2022
Filing Date:
August 03, 2020
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
HITACHI LTD (JP)
International Classes:
G05B19/418; G06Q10/06
Foreign References:
US20200134526A12020-04-30
US20070299763A12007-12-27
US20010014836A12001-08-16
Attorney, Agent or Firm:
VIERING, JENTSCHURA & PARTNER LLP (SG)
Download PDF:
Claims:
47

CLAIMS

What is claimed is:

1. A method of resource utilization planning using at least one processor, the method comprising: determining infeasibility in forming a resource utilization plan for a group of resources based on constraint parameter information, resource utilization schedule parameter information and relational constraint parameter information associated with the group of resources, the constraint parameter information comprising a plurality of constraint parameters relating to the group of resources, the resource utilization schedule parameter information comprising a plurality of resource schedule parameters relating to the group of resources, and the relational constraint parameter information comprising a plurality of relational constraint parameters relating to the group of resources, each relational constraint parameter being based on at least one of the plurality of constraint parameters and the plurality of resource schedule parameters; determining cause constraint parameter information based on the relational constraint parameter information; determining change constraint parameter information based on the cause constraint parameter information and constraint parameter changeability information associated with the constraint parameter information; and determining resource utilization plan information associated with the group of resources based on the change constraint parameter information.

2. The method according to claim 1, further comprising: detecting existing resource utilization plan information; modifying the constraint parameter information based on the existing resource utilization plan information to obtain first modified constraint parameter information; and modifying the relational constraint parameter information based on the existing resource utilization plan information to obtain modified relational constraint parameter information, wherein said determining cause constraint parameter information is based on the modified relational constraint parameter information, and 48 said determining change constraint parameter information is based on the cause constraint parameter information and the constraint parameter changeability information associated with the first modified constraint parameter information.

3. The method according to claim 2, wherein said modifying the constraint parameter information comprises adding one or more new constraint parameters to the constraint parameter information, the one or more new constraint parameters corresponding to one or more resource utilization plan parameters of the existing resource utilization plan information, respectively; and said modifying the relational constraint parameter information comprises adding one or more new relational constraint parameters to the relational constraint parameter information, the one or more new relational constraint parameters corresponding to the one or more resource utilization plan parameters of the existing resource utilization plan information, respectively.

4. The method according to claim 2 or 3, wherein said determining cause constraint parameter information comprises: determining cause relational constraint parameter information based on the modified relational constraint parameter information; and determining the cause constraint parameter information based on the cause relational constraint parameter information.

5. The method according to claim 4, wherein said determining cause relational constraint parameter information comprises: generating a plurality of candidate relational constraint parameter information items based on the modified relational constraint parameter information; determining a candidate relational constraint parameter information item of the plurality of candidate relational constraint parameter information items as causing infeasibility in forming the resource utilization plan; and determining the cause relational constraint parameter information as the candidate relational constraint parameter information item.

6. The method according to claim 5, wherein said determining the cause constraint parameter information comprises: 49 generating a plurality of cause relational constraint parameter information items based on the cause relational constraint parameter information; extracting, for each cause relational constraint parameter information item, one or more constraint parameters from the cause relational constraint parameter information item; determining, for each cause relational constraint parameter information item and for at least one constraint parameter of the one or more constraint parameters extracted from the cause relational constraint parameter information item, a new value for each of the at least one constraint parameter that results in feasibility in forming the resource utilization plan; and determining the cause constraint parameter information as comprising a plurality of cause constraint parameter information items, each cause constraint parameter information item comprising the corresponding cause relational constraint parameter information item, the at least one constraint parameter associated with the corresponding cause relational constraint parameter information item, and the new value for each of the at least one constraint parameter.

7. The method according to claim 6, wherein the plurality of cause relational constraint parameter information items comprises: one or more first cause relational constraint parameter information items, each first cause relational constraint parameter information item including one or more relational constraint parameters included in the cause relational constraint parameter information; and one or more second cause relational constraint parameter information items, each second cause relational constraint parameter information item including one or more relational constraint parameters included in the cause relational constraint parameter information and one or more relational constraint parameters related to at least one of the one or more relational constraint parameters included in the cause relational constraint parameter information, wherein a relational constraint parameter is related to another relational constraint parameter if the relational constraint parameter and said another relational constraint parameter have at least one constraint parameter in common. 50

8. The method according to claim 6 or 7, wherein said determining change constraint parameter information comprises: selecting one of the cause constraint parameter information items in the plurality of cause constraint parameter information items based on the constraint parameter changeability information associated with the first modified constraint parameter information; and determining the change constraint parameter information based on the selected one of the cause constraint parameter information items.

9. The method according to claim 8, wherein said selecting one of the cause constraint parameter information items comprises: determining a changeability score for each cause constraint parameter information item in the plurality of cause constraint parameter information items based on the constraint parameter changeability information, wherein the selected one of the cause constraint parameter information items is a cause constraint parameter information item in the plurality of cause constraint parameter information items having the changeability score which satisfies a first predetermined condition.

10. The method according to claim 8, wherein said selecting one of the cause constraint parameter information items comprises: determining a changeability score for each cause constraint parameter information item in the plurality of cause constraint parameter information items based on the constraint parameter changeability information; and determining, for each of at least one cause constraint parameter information item in the plurality of cause constraint parameter information items having the changeability score which satisfies a second predetermined condition, whether at least one constraint parameter in the cause constraint parameter information item is changeable based on historical data collected in relation to the at least one constraint parameter, wherein the selected one of the cause constraint parameter information items is a cause constraint parameter information item in the plurality of cause constraint parameter information items having at least one constraint parameter determined to be changeable.

11. The method according to claim 10, wherein said determining whether the at least one constraint parameter in the cause constraint parameter information item is changeable determines that the at least one constraint parameter is changeable if, for each constraint parameter of the at least one constraint parameter, the historical data includes a value corresponding to the constraint parameter that is about the same as or greater than the new value associated with the constraint parameter.

12. The method according to claim 11, wherein said selecting one of the cause constraint parameter information items further comprises: generating a proposal output to a user for changing the at least one constraint parameter in at least one cause constraint parameter information item determined to be changeable to the new value for each of the at least one constraint parameter; and receiving a confirmation input from the user to change the at least one constraint parameter in one of the at least one cause constraint parameter information item to the new value for each of the at least one constraint parameter, wherein the selected one of the cause constraint parameter information items is said one of the at least one cause constraint parameter information item.

13. The method according to any one of claims 6 to 12, wherein said determining the resource utilization plan comprises: modifying the first modified constraint parameter information based on the change constraint parameter information to obtain a second modified constraint parameter information; and determining the resource utilization plan based on the second modified constraint parameter information, the resource utilization schedule parameter information and the modified relational constraint parameter information.

14. The method according to any one of claims 1 to 13, wherein each of the plurality of constraint parameters has associated therewith a constraint condition and a value associated with the constraint condition; each of the plurality of resource utilization schedule parameters has associated therewith a resource utilization schedule condition and a value associated with the resource utilization schedule condition; and each of the plurality of relational constraint parameters has associated therewith a relational constraint condition, the relational constraint condition being a formula based on at least one of the plurality of constraint parameters and the plurality of resource utilization schedule parameters.

15. The method according any one of claims 1 to 14, wherein said resource utilization planning is a production planning, said resource utilization plan is a production plan, and said resource utilization plan information is production plan information.

16. The method according to any one of claims 1 to 15, wherein the group of resources comprises at least one of a machine resource and a human resource.

17. A system for resource utilization planning, the system comprising: a memory; and at least one processor communicatively coupled to the memory and configured to: determine infeasibility in forming a resource utilization plan for a group of resources based on constraint parameter information, resource utilization schedule parameter information and relational constraint parameter information associated with the group of resources, the constraint parameter information comprising a plurality of constraint parameters relating to the group of resources, the resource utilization schedule parameter information comprising a plurality of resource schedule parameters relating to the group of resources, and the relational constraint parameter information comprising a plurality of relational constraint parameters relating to the group of resources, each relational constraint parameter being based on at least one of the plurality of constraint parameters and the plurality of resource schedule parameters; determine cause constraint parameter information based on the relational constraint parameter information; determine change constraint parameter information based on the cause constraint parameter information and constraint parameter changeability information associated with the constraint parameter information; and determine resource utilization plan information associated with the group of resources based on the change constraint parameter information. 53

18. The system according to claim 17, wherein the at least one processor is further configured to: detect existing resource utilization plan information; modify the constraint parameter information based on the existing resource utilization plan information to obtain first modified constraint parameter information; and modify the relational constraint parameter information based on the existing resource utilization plan information to obtain modified relational constraint parameter information, wherein said determine cause constraint parameter information is based on the modified relational constraint parameter information, and said determine change constraint parameter information is based on the cause constraint parameter information and the constraint parameter changeability information associated with the first modified constraint parameter information.

19. The system according to claim 18, wherein said modify the constraint parameter information comprises adding one or more new constraint parameters to the constraint parameter information, the one or more new constraint parameters corresponding to one or more resource utilization plan parameters of the existing resource utilization plan information, respectively; and said modify the relational constraint parameter information comprises adding one or more new relational constraint parameters to the relational constraint parameter information, the one or more new relational constraint parameters corresponding to the one or more resource utilization plan parameters of the existing resource utilization plan information, respectively.

20. The system according to claim 18 or 19, wherein said determine cause constraint parameter information comprises: determining cause relational constraint parameter information based on the modified relational constraint parameter information; and determining the cause constraint parameter information based on the cause relational constraint parameter information. 54

21. The system according to claim 20, wherein said determining cause relational constraint parameter information comprises: generating a plurality of candidate relational constraint parameter information items based on the modified relational constraint parameter information; determining a candidate relational constraint parameter information item of the plurality of candidate relational constraint parameter information items as causing infeasibility in forming the resource utilization plan; and determining the cause relational constraint parameter information as the candidate relational constraint parameter information item.

22. The system according to claim 21, wherein said determining the cause constraint parameter information comprises: generating a plurality of cause relational constraint parameter information items based on the cause relational constraint parameter information; extracting, for each cause relational constraint parameter information item, one or more constraint parameters from the cause relational constraint parameter information item; determining, for each cause relational constraint parameter information item and for at least one constraint parameter of the one or more constraint parameters extracted from the cause relational constraint parameter information item, a new value for each of the at least one constraint parameter that results in feasibility in forming the resource utilization plan; and determining the cause constraint parameter information as comprising a plurality of cause constraint parameter information items, each cause constraint parameter information item comprising the corresponding cause relational constraint parameter information item, the at least one constraint parameter associated with the corresponding cause relational constraint parameter information item, and the new value for each of the at least one constraint parameter.

23. The system according to claim 22, wherein the plurality of cause relational constraint parameter information items comprises: one or more first cause relational constraint parameter information items, each first cause relational constraint parameter information item including one or more 55 relational constraint parameters included in the cause relational constraint parameter information; and one or more second cause relational constraint parameter information items, each second cause relational constraint parameter information item including one or more relational constraint parameters included in the cause relational constraint parameter information and one or more relational constraint parameters related to at least one of the one or more relational constraint parameters included in the cause relational constraint parameter information, wherein a relational constraint parameter is related to another relational constraint parameter if the relational constraint parameter and said another relational constraint parameter have at least one constraint parameter in common.

24. The system according to claim 22 or 23, wherein said determine change constraint parameter information comprises: selecting one of the cause constraint parameter information items in the plurality of cause constraint parameter information items based on the constraint parameter changeability information associated with the first modified constraint parameter information; and determining the change constraint parameter information based on the selected one of the cause constraint parameter information items.

25. The system according to claim 24, wherein said selecting one of the cause constraint parameter information items comprises: determining a changeability score for each cause constraint parameter information item in the plurality of cause constraint parameter information items based on the constraint parameter changeability information, wherein the selected one of the cause constraint parameter information items determined is a cause constraint parameter information item in the plurality of cause constraint parameter information items having the changeability score which satisfies a first predetermined condition.

26. The system according to claim 24, wherein said selecting one of the cause constraint parameter information items comprises: 56 determining a changeability score for each cause constraint parameter information item in the plurality of cause constraint parameter information items based on the constraint parameter changeability information; and determining, for each of at least one cause constraint parameter information item in the plurality of cause constraint parameter information items having the changeability score which satisfies a second predetermined condition, whether at least one constraint parameter in the cause constraint parameter information item is changeable based on historical data collected in relation to the at least one constraint parameter, wherein the selected one of the cause constraint parameter information items is a cause constraint parameter information item in the plurality of cause constraint parameter information items having at least one constraint parameter determined to be changeable.

27. The system according to claim 26, wherein said determining whether the at least one constraint parameter in the cause constraint parameter information item is changeable determines that the at least one constraint parameter is changeable if, for each constraint parameter of the at least one constraint parameter, the historical data includes a value corresponding to the constraint parameter that is about the same as or greater than the new value associated with the constraint parameter.

28. The system according to claim 27, wherein said selecting one of the cause constraint parameter information items further comprises: generating a proposal output to a user for changing the at least one constraint parameter in at least one cause constraint parameter information item determined to be changeable to the new value for each of the at least one constraint parameter; and receiving a confirmation input from the user to change the at least one constraint parameter in one of the at least one cause constraint parameter information item to the new value for each of the at least one constraint parameter, wherein the selected one of the cause constraint parameter information items is a cause constraint parameter information item in the plurality of cause constraint parameter information items is said one of the at least one cause constraint parameter information item. 57

29. The system according to any one of claims 22 to 28, wherein said determine the resource utilization plan comprises: modifying the first modified constraint parameter information based on the change constraint parameter information to obtain a second modified constraint parameter information; and determining the resource utilization plan based on the second modified constraint parameter information, the resource utilization schedule parameter information and the modified relational constraint parameter information.

30. The system according to any one of claims 17 to 29, wherein each of the plurality of constraint parameters has associated therewith a constraint condition and a value associated with the constraint condition; each of the plurality of resource utilization schedule parameters has associated therewith a resource utilization schedule condition and a value associated with the resource utilization schedule condition; and each of the plurality of relational constraint parameter has associated therewith a relational constraint condition, each relational constraint condition being a formula based on at least one of the plurality of constraint parameters and the plurality of resource utilization schedule parameters.

31. The system according any one of claims 17 to 30, wherein said resource utilization planning is a production planning, said resource utilization plan is a production plan, and said resource utilization plan information is production plan information.

32. The system according to any one of claims 17 to 31, wherein the group of resources comprises at least one of a machine resource and a human resource.

33. A computer program product, embodied in one or more non -transitory computer-readable storage mediums, comprising instructions executable by at least one processor to perform a method of resource utilization planning, the method comprising: determining infeasibility in forming a resource utilization plan for a group of resources based on constraint parameter information, resource utilization schedule parameter information and relational constraint parameter information associated with 58 the group of resources, the constraint parameter information comprising a plurality of constraint parameters relating to the group of resources, the resource utilization schedule parameter information comprising a plurality of resource schedule parameters relating to the group of resources, and the relational constraint parameter information comprising a plurality of relational constraint parameters relating to the group of resources, each relational constraint parameter being based on at least one of the plurality of constraint parameters and the plurality of resource schedule parameters; determining cause constraint parameter information based on the relational constraint parameter information; determining change constraint parameter information based on the cause constraint parameter information and constraint parameter changeability information associated with the constraint parameter information; and determining resource utilization plan information associated with the group of resources based on the change constraint parameter information.

Description:
METHOD AND SYSTEM FOR RESOURCE UTILIZATION PLANNING

TECHNICAL FIELD

[0001] The present invention generally relates to a method of resource utilization planning, and a system thereof.

BACKGROUND

[0002] At an enterprise (e.g., an organization or a company), such as at a production plant (or a production site), resource utilization planning (e.g., production planning) for a group of resources (including human and/or machine resources) may be performed based on constraint programming using various parameters as constraints (which may also be referred to as constraint parameters having associated therewithin constraint conditions) for optimally allocating or setting tasks at the enterprise (e.g., at the production plant). For example, the constraint parameters may be input by a user in relation to the production plant and may generally include or have associated therewith delivery time and amount, production volume, arrival time of parts and materials, production line operation time (or duration), number of workers and facilities, production capacity of each facility, and so on.

[0003] By way of an example only, FIG. 1 depicts a schematic overview of a conventional method 100 of production planning for a production plant (e.g., a factory). For example, a production plan may be formed based on constraint parameters inputted by a user. While a production plan may be formed based on constraint parameters inputted (e.g., based on acceptable constraint parameters determined by the user), constraint parameters may be subject to change (e.g., unexpected change, such as facility failures, delays, urgent production requests, and so on) during the production process, but the conventional method 100 of production planning may not be able to handle such changes in constraint parameters, such as re-planning to handle or address such unexpected change(s) (e.g., not able to re-plan to meet all constraint parameters, which may be referred to as an infeasible problem in re-planning), or at least may not be able to re-plan efficiently and/or effectively to handle or address such unexpected change(s).

[0004] For example, Japanese Patent Publication No. JP 2018-28853 A discloses a method of generating a production plan. According to the method, if there is a delay in the plan, it is determined whether there is no problem even if the current plan is executed as it is, and if there is a problem, re-planning is performed. With the method, it is found that although small or simply problems (e.g., a small delay) may be addressed by re-planning, larger or complex problems (e.g., a large delay or a failure of equipment) may not be successfully addressed by the method, or at least not efficiently and/or effectively. For example, in such a case, the method may not be able to re-plan due to lack of production capacity, and thus, the technical approach disclosed in the above-mentioned Japanese Patent Publication is at least not able to handle such larger or complex problems.

[0005] A need therefore exists to provide a method of resource utilization planning (e.g., production planning for a production plant) and a system thereof, that seek to overcome, or at least ameliorate, one or more of the deficiencies in conventional methods and systems for resource utilization planning, such as but not limited to, improving or enhancing capability in handling or addressing change(s) (e.g., unexpected changes, including larger or complex change) in constraint parameters associated with a group of resources (e.g., at the production plant), thereby, improving or enhancing the dynamic adaptability of the method and system in resource utilization planning. It is against this background that the present invention has been developed.

SUMMARY

[0006] According to a first aspect of the present invention, there is provided a method of resource utilization planning using at least one processor, the method comprising: determining infeasibility in forming a resource utilization plan for a group of resources based on constraint parameter information, resource utilization schedule parameter information and relational constraint parameter information associated with the group of resources, the constraint parameter information comprising a plurality of constraint parameters relating to the group of resources, the resource utilization schedule parameter information comprising a plurality of resource schedule parameters relating to the group of resources, and the relational constraint parameter information comprising a plurality of relational constraint parameters relating to the group of resources, each relational constraint parameter being based on at least one of the pl urality of constraint parameters and the plurality of resource schedule parameters; determining cause constraint parameter information based on the relational constraint parameter information; determining change constraint parameter information based on the cause constraint parameter information and constraint parameter changeability information associated with the constraint parameter information; and determining resource utilization plan information associated with the group of resources based on the change constraint parameter information.

[0007] According to a second aspect of the present invention, there is provided a system for resource utilization planning, the system comprising: a memory ; and at least one processor communicatively coupled to the memory and configured to: determine infeasibility in forming a resource utilization plan for a group of resources based on constraint parameter information, resource utilization schedule parameter information and relational constraint parameter information associated with the group of resources, the constraint parameter information comprising a plurality of constraint parameters relating to the group of resources, the resource utilization schedule parameter information comprising a plurality of resource schedule parameters relating to the group of resources, and the relational constraint parameter information comprising a plurality of relational constraint parameters relating to the group of resources, each relational constraint parameter being based on at least one of the plurality of constraint parameters and the plurality of resource schedule parameters; determine cause constraint parameter information based on the relational constraint parameter information; determine change constraint parameter information based on the cause constraint parameter information and constraint parameter changeability information associated with the constraint parameter information; and determine resource utilization plan information associated with the group of resources based on the change constraint parameter information.

[0008] According to a third aspect of the present invention, there is provided a computer program product, embodied in one or more non-transitory comptter-readable storage mediums, comprising instructions executable by at least one processor to perform a method of resource utilization planning, the method comprising: determining infeasibility in forming a resource utilization plan for a group of resources based on constraint parameter information, resource utilization schedule parameter information and relational constraint parameter information associated with the group of resources, the constraint parameter information comprising a plurality of constraint parameters relating to the group of resources, the resource utilization schedule parameter information comprising a plurality of resource schedule parameters relating to the group of resources, and the relational constraint parameter information comprising a plurality of relational constraint parameters relating to the group of resources, each relational constraint parameter being based on at least one of the plurality of constraint parameters and the plurality of resource schedule parameters; determining cause constraint parameter information based on the relational constraint parameter information; determining change constraint parameter information based on the cause constraint parameter information and constraint parameter changeability information associated with the constraint parameter information; and determining resource utilization plan information associated with the group of resources based on the change constraint parameter information.

BRIEF DESCRIPTION OF THE DRAWINGS

[0009] Embodiments of the present invention will be better understood and readily apparent to one of ordinary skill in the art from the following written description, by way of example only, and in conjunction with the drawings, in which:

FIG. 1 depicts a schematic overview of a conventional method of production planning for a production plant;

FIG. 2 depicts a schematic flow diagram of a method of resource utilization planning using at least one processor, according to vari ous embodiments of the present invention;

FIG. 3 depicts a schematic block diagram of a system for resource utilization planning, according to various embodiments of the present invention, such as corresponding to the method of resource utilization planning as shown in FIG. 2;

FIG. 4 depicts a schematic block diagram of an exemplary computer system in which the system for resource utilization planning according to various embodiments of the present invention may be embodied; FIG. 5 depicts a schematic flow diagram illustrating a system for production planning for a production plant, according to various example embodiments of the present invention;

FIG. 6 depicts a schematic block diagram of an example system configuration for production planning, according to various example embodiments of the present invention;

FIG. 7 depicts an example constraint parameter list associated with the production plant, according to various example embodiments of the present invention;

FIG. 8 depicts an example schedule parameter list associated with the production plant, according to various example embodiments of the present invention;

FIG. 9 depicts an example constraint formula list, associated with the production plant, according to various example embodiments of the present invention;

FIG. 10 depicts an example existing production plan, according to various example embodiments of the present invention;

FIG. 11 depicts an example constraint parameter list associated with the production plant, after a change, according to various example embodiments of the present invention;

FIG. 12 depicts an example operation flowchart in relation to the production planner, according to various example embodiments of the present invention;

FIG. 13 depicts an example modified constraint parameter list (e.g., first modified constraint parameter list), according to various example embodiments of the present invention;

FIG. 14 depicts an example modified constraint formula list, according to various example embodiments of the present invention;

FIG. 15 depicts an example operation flowchart in relation to the cause analyser according to vari ous example embodiments of the present inventi on;

FIG. 16 depicts an example relationship table of constraint formulas based on the modified constraint parameter list shown in FIG. 13 and the modified constraint formula list shown in FIG. 14, according to various example embodiments of the present invention;

FIG. 17 depicts an example relationship diagram of constraint formulas based on the example relationship table shown in FIG. 16, according to various example embodiments of the present invention; FIG. 18 depicts an example candidate constraint formula item list, according to various example embodiments of the present invention;

FIG. 19 depicts an example cause parameter list, according to various example embodiments of the present invention;

FIG. 20 depicts an example operation flowchart in relation to the change proposer, according to various example embodiments of the present invention;

FIG. 21 depicts an example changeability list of constraint parameters, according to various example embodiments of the present invention;

FIG. 22 depicts an example result of changeability evaluation, according to various example embodiments of the present invention;

FIG. 23 depicts an example change proposal, according to various example embodiments of the present invention;

FIG. 24 depicts an example updated constraint parameter list, according to various example embodiments of the present invention;

FIG. 25 depicts an example updated production plan, according to various example embodiments of the present invention;

FIG. 26 depicts an example change proposal request to user, according to various example embodiments of the present invention;

FIG. 27 illustrates example actual field data (historical field data) obtained from the production line, according to various example embodiments of the present invention;

FIG. 28 depicts an example change proposal request to user with recommendation(s), according to various example embodiments of the present invention;

FIG. 29 depicts an example change proposal, according to various example embodiments of the present invention; and

FIG. 30 depicts an example updated plan, according to various example embodiments of the present invention.

DETAILED DESCRIPTION

[0010] V arious embodiments of the present invention provide a method of resource utilization planning and a system thereof, for (e.g., in relation to) a group of resources, such as for an enterprise (e.g., an organization or a company). As mentioned in the background, conventional methods and systems for resource utilization planning may not be able to successfully perform resource utilization planning (or re-planning), or at least may not be able to plan (or re-plan) efficiently and/or effectively, in the event of a larger or complex change (e.g., an unexpected large delay or an unexpected failure of an equipment/ machinery) in constraint parameter(s). Accordingly, various embodiments provide a method of resource utilization planning (e.g., production planning for a production plant) and a system thereof, that seek to overcome, or at least ameliorate, one or more of the deficiencies in conventional methods and systems for resource utilization planning, such as but not limited to, improving or enhancing capability in handling or addressing change(s) (e.g., unexpected changes, including larger or complex change) in constraint parameters associated with a group of resources (e.g., at the production plant), thereby, improving or enhancing the dynamic adaptability of the method and system in resource utilization planning.

[0011] In various embodiments, the group of resources may comprise at least one of a machine resource and a human resource. For example, the group of resources may include a plurality of machine resources and/or a plurality of human resources. For example, a machine resource may be any machine (e.g., including any equipment) configured to perform (e.g., be utilized to perform) one or more operations or functions, or a collection or group of such machines (e.g., a production line) configured to perform (e.g., be utilized to perform) one or more operations or functions. For example, ahuman resource may be any individual assigned or employed to perform one or more operations or tasks (e.g., within a job scope of the individual). In various embodiments, a group of resources may refer to any group of resources (which may also be referred to herein as a collection, a set or a selected plurality of resources) for which resource utilization planning is desired or is performed for any purpose (e.g., desired output) as desired or as appropriate, in which the method as desired or as appropriate for one or more purposes. For example, at a production plant, resource utilization planning (e.g., production planning) may be performed for any group of resources (e.g., machine and/or human resources) at or associated with the production plant as desired or as appropriate for any desired output (e.g., for manufacturing one or more types of products, such as with certain quantities and within a certain time period). As another example, at a delivery company, resource utilization planning (e.g., delivery planning) may be performed for any group of resources (e.g., machine and/or human resources, such as vehicles and delivery staff) at or associated with the delivery company as desired or as appropriate or any desired output (e.g., for delivering items, such as certain quantities of items and within a certain time period). It will be appreciated that the method of resource utilization planning is not limited to the above-mentioned applications or scenarios and may be implemented in a variety of applications or scenarios as long as resource utilization planning for a group of resources is desired or required, such as but not limited to, educational planning.

[0012] FIG. 2 depicts a schematic flow diagram of a method 200 of resource utilization planning using at least one processor, according to various embodiments of the present invention. The method 200 comprises: determining (at 202) infeasibility in forming a resource utilization plan for a group of resources based on constraint parameter information, resource utilization schedule parameter information and relational constraint parameter information associated with the group of resources, the group of resources, the constraint parameter information comprising a plurality of constraint parameters relating to the group of resources, the resource utilization schedule parameter information comprising a plurality of resource schedule parameters relating to the group of resources, and the relational constraint parameter information comprising a plurality of relational constraint parameters relating to the group of resources, each relational constraint parameter being based on at least one of the plurality of constraint parameters and the plurality of resource schedule parameters (e.g., at least one constraint parameter or at least one resource schedule parameter, or a combination thereof); determining (at 204) cause constraint parameter information based on the relational constraint parameter information; determining (at 206) change constraint parameter information based on the cause constraint parameter information and constraint parameter changeability information associated with the constraint parameter information; and determining (at 208) resource utilization plan information associated with the group of resources based on the change constraint parameter information.

[0013] In various embodiments, the method 200 further comprising: detecting existing resource utilization plan information; modifying the constraint parameter information based on the existing resource utilization plan information to obtain first modified constraint parameter information; and modifying the relational constraint parameter information based on the existing resource utilization plan information to obtain modified relational constraint parameter information. In this regard, the above- mentioned determining (at 204) cause constraint parameter information is based on the modified relational constraint parameter information, and the above-mentioned determining (at 206) change constraint parameter information is based on the cause constraint parameter information and the constraint parameter changeability information associated with the first modified constraint parameter information.

[0014] In various embodiments, the above-mentioned modifying the constraint parameter information comprises adding one or more new constraint parameters to the constraint parameter information, the one or more new constraint parameters corresponding to one or more resource utili zation parameters of the existing resource utilization plan information, respectively. In various embodiments, the above- mentioned modifying the relational constraint parameter information comprises adding one or more new relational constraint parameters to the relational constraint parameter information, the one or more new relational constraint parameters corresponding to the one or more resource utilization plan parameters of the existing resource utilization plan informati on, respectively.

[0015] In various embodiments, the above-mentioned determining cause constraint parameter information comprises: determining cause relational constraint parameter information based on the modified relational constraint parameter information; and determining the cause constraint parameter information based on the cause relational constraint parameter information.

[0016] In various embodiments, the above-mentioned determining cause relational constraint parameter information comprises: generating a plurality of candidate relational constraint parameter information items based on the modified relational constraint parameter information; determining a candidate relational constraint parameter information item of the plurality of candidate relational constraint parameter information items as causing infeasibility in forming the resource utilization plan; and determining the cause relational constraint parameter information as the candidate relational constraint parameter information item.

[0017] In various embodiments, the above-mentioned determining the cause constraint parameter information comprises: generating a plurality of cause relational constraint parameter information items based on the cause relational constraint parameter information; extracting, for each cause relational constraint parameter information item, one or more constraint parameters from the cause relational constraint parameter information item; determining, for each cause relational constraint parameter information item and for at least one constraint parameter of the one or more constraint parameters extracted from the cause relational constraint parameter information item, a new value for each of the at least one constraint parameter that results in feasibility in forming the resource utilization plan; and determining the cause constraint parameter information as comprising a plurality of cause constraint parameter information items, each cause constraint parameter information item comprising the corresponding cause relational constraint parameter information item, the at least one constraint parameter associated with the corresponding cause relational constraint parameter information item, and the new value for each of the at least one constraint parameter.

[0018] In various embodiments, the plurality of cause relational constraint parameter information items comprises: one or more first cause relational constraint parameter information items, each first cause relational constraint parameter information item including one or more relational parameter constraint parameters included in the cause relational constraint parameter information; and one or more second cause relational constraint parameter information items, each second cause relational constraint parameter information item including one or more relational constraint parameters included in the cause relational constraint parameter information and one or more relational constraint parameters related to at least one of the one or more relational constraint parameters included in the cause relational constraint parameter information. In various embodiments, a relational constraint parameter is related to another relational constraint parameter if the relational constraint parameter and the above-mentioned another relational constraint parameter have at least one constraint parameter in common.

[0019] In various embodiments, the above-mentioned determining change constraint parameter information comprises: selecting one of the cause constraint parameter information items in the plurality of cause constraint parameter information items based on the constraint parameter changeability information associated with the first modified constraint parameter information; and determining the change constraint parameter information based on the above-mentioned selected one of the cause constraint parameter information items.

[0020] In various embodiments, the above-mentioned selecting one of the cause constraint parameter information items comprises: determining a changeability score for each cause constraint parameter information item in the plurality of cause constraint parameter information items based on the constraint parameter changeability information. In this regard, the above-mentioned selected one of the cause constraint parameter information items is a cause constraint parameter information item in the plurality of cause constraint parameter information items having the changeability score which satisfies a first predetermined condition. For example, the first predetermined condition is that the changeability score is the best amongst the cause constraint parameter information items, such as the highest changeability score (if the highest changeability score represents the best changeability score) or the lowest changeabilityscore (if the lowest changeability score represents the best changeability score).

[0021] In various embodiments, the above-mentioned selecting one of the cause constraint parameter information items comprises: determining a changeability score for each cause constraint parameter information item in the plurality of cause constraint parameter information items based on the constraint parameter changeability information; and determining, for each of at least one cause constraint parameter information item in the plurality of cause constraint parameter information items having the changeability score which satisfies a second predetermined condition, whether at least one constraint parameter in the cause constraint parameter information item is changeable based on historical data collected in relation to the at least one constraint parameter. In various example embodiments, the second predetermined condition is that the changeability score indicates non-changeability (i.e., cannot be changed). In this regard, the above-mentioned selected one of the cause constraint parameter information items is a cause constraint parameter information item in the plurality of cause constraint parameter information items having at least one constraint parameter determined to be changeable,

[0022] In various embodiments, the above-mentioned determining whether the at least one constraint parameter in the cause constraint parameter information item is changeable determines that the at least one constraint parameter is changeable if, for each constraint parameter of the at least one constraint parameter, the historical data includes a value corresponding to the constraint parameter that is about the same as or greater than the new value associated with the constraint parameter.

[0023] In various embodiments, the above-mentioned selecting one of the cause constraint parameter information items further comprises: generating a proposal output to a user for changing the at least one constraint parameter in at least one cause constraint parameter information item determined to be changeable to the new value for each of the at least one constraint parameter; and receiving a confirmation input from the user to change the at least one constraint parameter in one of the at least one cause constraint parameter information item to the new valuee for each of the at least one constraint parameter. In this regard, the above-mentioned selected one of the cause constraint parameter information items is a cause constraint parameter information item in the plurality of cause constraint parameter information items is the above-mentioned one of the at least one cause constraint parameter information item.

[0024] In various embodiments, the above-mentioned determining the resource utilization plan comprises: modifying the first modified constraint parameter information based on the change constraint parameter information to obtain a second modified constraint parameter information; and determining the resource utilization plan based on the second modified constraint parameter information, the production schedule parameter information and the modified relational constraint parameter information.

[0025] In various embodiments, each of the plurality of constraint parameters has associated therewith a constraint condition and a value associated with the constraint condition; each of the plurality of resource utilization schedule parameters has associated therewith a resource utilization schedule condition and a value associated with the resource utilization schedule condition; and each of the plurality of relational constraint parameters has associated therewith a relational constraint condition, the relational constraint condition being a formula based on at least one of the plurality of constraint parameters and the plurality of resource utilization schedule parameters.

[0026] In various embodiments, the above-mentioned resource utilization planning is a production planning, the above-mentioned resource utilization plan is a production plan, and the above-mentioned resource utilization plan information is production plan information

[0027] In various embodiments, the above-mentioned group of resources comprises at least one of a machine resource and a human resource. For example, the group of resources may include at least one machine resource or at least one human resource, or a combination thereof.

[0028] FIG. 3 depicts a schematic block diagram of a system 300 for resource utilization planning, according to various embodiments of the present invention, such as corresponding to the method 200 of resource utilization planning as described hereinbefore with reference to FIG. 2 according to various embodiments. The system 300 comprises: a memory 302; and at least one processor 304 communicatively coupled to the memory and configured to: determine infeasibility in forming a resource utilization plan for a group of resources based on constraint parameter information, resource utilization schedule parameter information and relational constraint parameter information associated with the group of resources, the group of resources, the constraint parameter information comprising a plurality of constraint parameters relating to the group of resources, the resource utilization schedule parameter information comprising a plurality of resource schedule parameters relating to the group of resources, and the relational constraint parameter information comprising a plurality of relational constraint parameters relating to the group of resources, each relational constraint parameter being based on at least one of the plurality of constraint parameters and the plurality of resource schedule parameters; determine cause constraint parameter information based on the relational constraint parameter information; determine change constraint parameter information based on the cause constraint parameter information and constraint parameter changeability information associated with the constraint parameter information; and determine resource utilization plan information associated with the group of resources based on the change constraint parameter information. It will be appreciated to a person skilled in the art that the system 300 may also be embodied as a device or an apparatus.

[0029] It will be appreciated by a person skilled in the art that the at least one processor 304 may be configured to perform the required functions or operations through set(s) of instructions (e.g., software modules) executable by the at least one processor 304 to perform the required functions or operations. Accordingly, as shown in FIG. 3, the system 300 may further comprise a feasibility determiner (or a feasibility determining module or circuit) 306 configured to perform the above-mentioned determining (at 202) infeasibility in forming a resource utilization plan for a group of resources based on constraint parameter information, resource utilization schedule parameter information and relational constraint parameter information associated with the group of resources; a cause constraint parameter information determiner (or a cause constraint parameter information determining module or circuit) 308 configured to perform the above-mentioned determining (at 204) cause constraint parameter information based on the relational constraint parameter information; a change constraint parameter information determiner (or a change constraint parameter information determining module or circuit) 310 configured to perform the above- mentioned determining (at 206) change constraint parameter information based on the cause constraint parameter information and constraint parameter changeability information associated with the constraint parameter information; and a resource utilization plan information determiner (or a resource utilization plan information determining module or circuit) 312 configured to perform the above-mentioned determining (at 208) resource utilization plan information associated with the group of resources based on the change constraint parameter information.

[0030] It will be appreciated by a person skilled in the art that the above-mentioned modules are not necessarily separate modules, and two or more modules may be realized by or implemented as one functional module (e.g., a circuit or a software program) as desired or as appropriate without deviating from the scope of the present invention. For example, two or more of the feasibility determiner 306, the cause constraint parameter information determiner 308, the change constraint parameter information determiner 310 and the resource utilization plan information determiner 312 may be realized (e.g., compiled together) as one executable software program (e.g., software application or simply referred to as an “app”), which for example may be stored in the memory 302 and executable by the at least one processor 304 to perform the functions/operations as described herein according to various embodiments.

[0031] In various embodiments, the system 300 corresponds to the method 200 as described hereinbefore with reference to FIG. 2, therefore, various functions or operations configured to be performed by the least one processor 304 may correspond to various steps of the method 200 described hereinbefore according to various embodiments, and thus need not be repeated with respect to the system 300 for clarity’ and conciseness. In other words, various embodiments described herein in context of the methods are analogously valid for the respective systems (e.g., which may also be embodied as devices or apparatuses), and vice versa.

[0032] For example, in various embodiments, the memory 302 may have stored therein the feasibility determiner 306, the cause constraint parameter information determiner 308, the change constraint parameter information determiner 310 and/or the resource utilization plan information determiner 312, which respectively correspond to various steps of the method 200 as described hereinbefore according to various embodiments, which are executable by the at least one processor 304 to perform the corresponding functions/operations as described herein.

[0033] A computing system, a controller, a microcontroller or any other system providing a processing capability' may be provided according to various embodiments in the present disclosure. Such a system may be taken to include one or more processors and one or more computer-readable storage mediums. For example, the system 200 described hereinbefore may include a processor (or controller) 304 and a computer- readable storage medium (or memory) 302 which are for example used in various processing carried out therein as described herein. A memory or computer-readable storage medium used in various embodiments may be a volatile memory, for example a DRAM (Dynamic Random Access Memory) or a non-volatile memory, for example a PROM (Programmable Read Only Memory), an EPROM (Erasable PROM), EEPROM (Electrically Erasable PROM), or a flash memory, e.g., a floating gate memory, a charge trapping memory, an MRAM (Magnetoresistive Random Access Memory) or a PCRAM (Phase Change Random Access Memory).

[0034] In various embodiments, a “circuit'’ may be understood as any kind of a logic implementing entity, which may be special purpose circuitry or a processor executing software stored in a memoiy, firmware, or any combination thereof. Thus, in an embodiment, a “circuit” may be a hard-wired logic circuit or a programmable logic circuit such as a programmable processor, e.g., a microprocessor (e.g., a Complex Instruction Set Computer (CISC) processor or a Reduced Instruction Set Computer (RISC) processor). A “circuit” may also be a processor executing software, e.g., any kind of computer program, e.g., a computer program using a virtual machine code, e.g., Java. Any other kind of implementation of the respective functions which will be described in more detail below may also be understood as a “circuit” in accordance with various alternative embodiments. Similarly, a “module” may be a portion of a system according to various embodiments in the present invention and may encompass a “circuit” as above, or may be understood to be any kind of a logic-implementing entity' therefrom.

[0035] Some portions of the present disclosure are explicitly or implicitly presented in terms of algorithms and functional or symbolic representations of operations on data within a computer memoiy'. These algorithmic descriptions and functional or symbolic representations are the means used by those skilled in the data processing arts to convey most effectively the substance of their work to others skilled in the art. An algorithm is here, and generally, conceived to be a self-consistent sequence of steps leading to a desired result. The steps are those requiring physical manipulations of physical quantities, such as electrical, magnetic or optical signals capable of being stored, transferred, combined, compared, and otherwise manipulated.

[0036] Unless specifically stated otherwise, and as apparent from the following, it will be appreciated that throughout the present specification, discussions utilizing terms such as “determining”, “detecting”, “modifying”, “generating”, “extracting”, “receiving”, “planning”, “processing”, “performing” or the like, refer to the actions and processes of a computer system, or similar electronic device, that manipulates and transforms data represented as physical quantities within the computer system into other data similarly represented as physical quantities within the computer system or other information storage, transmission or display devices.

[0037] The present specification also discloses a system (e.g., which may also be embodied as a device or an apparatus) for performing the operations/functions of the methods described herein. Such a system may be specially constructed for the required purposes, or may comprise a general purpose computer or other device selectively activated or reconfigured by a computer program stored in the computer. The algorithms presented herein are not inherently related to any particular computer or other apparatus. Various general-purpose machines may be used with computer programs in accordance with the teachings herein. Alternatively, the construction of more specialized apparatus to perform the required method steps may be appropriate. [0038] In addition, the present specification also at least implicitly discloses a computer program or software/functional module, in that it would be apparent to the person skilled in the art that the individual steps of the methods described herein may be put into effect by computer code. The computer program is not intended to be limited to any particular programming language and implementation thereof. It will be appreciated that a variety of programming languages and coding thereof may be used to implement the teachings of the disclosure contained herein. Moreover, the computer program is not intended to be limited to any particular control flow. There are many other variants of the computer program, which can use different control flows without departing from the spirit or scope of the invention. It will be appreciated by a person skilled in the art that various modules described herein (e.g., the feasibility determiner 306, the cause constraint parameter information determiner 308, the change constraint parameter information determiner 310 and/or the resource utilization plan information determiner 312) may be software module(s) realized by computer program(s) or set(s) of instructions executabl e by a computer processor to perform the required functions, or may be hardware module(s) being functional hardware unit(s) designed to perform the required functions. It will also be appreciated that a combination of hardware and software modules may be implemented. [0039] Furthermore, one or more of the steps of a computer program/module or method described herein may be performed in parallel rather than sequentially. Such a computer program may be stored on any computer readable medium. The computer readable medium may include storage devices such as magnetic or optical disks, memory chips, or other storage devices suitable for interfacing with a general purpose computer. The computer program when loaded and executed on such a general purpose computer effectively results in an apparatus that implements the steps of the methods described herein.

[0040] In various embodiments, there is provided a computer program product, embodied in one or more computer-readable storage mediums (non-transitory computer-readable storage medium), comprising instructions (e.g., the feasibility determiner 306, the cause constraint parameter information determiner 308, the change constraint parameter information determiner 310 and/or the resource utilization plan information determiner 312) executable by one or more computer processors to perform a method 200 of production planning for a production plant as described hereinbefore with reference to FIG. 2 according to various embodiments. Accordingly, various computer programs or modules described herein may be stored in a. computer program product receivable by a system therein, such as the system 300 as shown in FIG. 3, for execution by at least one processor 304 of the system 300 to perform the required or desired functions.

[0041] The software or functional modules described herein may also be implemented as hardware modules. More particularly, in the hardware sense, a module is a functional hardware unit designed for use with other components or modules. For example, a module may be implemented using discrete electronic components, or it can form a portion of an entire electronic circuit such as an Application Specific Integrated Circuit (ASIC). Numerous other possibilities exist. Those skilled in the art will appreciate that the software or functional module(s) described herein can also be implemented as a combination of hardware and software modules.

[0042] In various embodiments, the system 300 may be realized by any computer system (e.g., portable or desktop computer system, such as tablet computers, laptop computers, mobile communications devices (e.g., smart phones), and so on) including at least one processor and a memory, such as a computer system 400 as schematically shown in FIG. 4 as an example only and without limitation. Various methods/steps or functional modules (e.g., the feasibility determiner 306, the cause constraint parameter information determiner 308, the change constraint parameter information determiner 310 and/or the resource utilization plan information determiner 312) may be implemented as software, such as a computer program being executed within the computer system 400, and instructing the computer system 400 (in particular, one or more processors therein) to conduct the methods/tunctions of various embodiments described herein. The computer system 400 may comprise a computer module 402, input modules, such as a keyboard 404 and a mouse 406, and a plurality of output devices such as a display 408, and a printer 410. The computer module 402 may be connected to a computer network 412 via a suitable transceiver device 414, to enable access to e.g., the Internet or other network systems such as Local Area Network (LAN) or Wide AreaNetwork (WAN). The computer module 402 in the example may include a processor 418 for executing various instructions, a Random Access Memory (RAM) 420 and a Read Only Memory (ROM) 422, The computer module 402 may also include a number of Input/ Output (I/O) interfaces, for example I/O interface 424 to the display 408, and I/O interface 426 to the keyboard 404. The components of the computer module 402 typically communicate via an interconnected bus 428 and in a manner known to the person skilled in the relevant art.

[0043] It will be appreciated by a person skilled in the art that the terminology used herein is for the purpose of describing various embodiments only and is not intended to be limiting of the present invention. As used herein, the singular forms "a”, "an" and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms "comprises” and/or "comprising," when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.

[0044] Any reference to an element or a feature herein using a designation such as “first,” “second,” and so forth does not limit the quantity or order of such elements or features. For example, such designations are used herein as a convenient method of distinguishing between two or more elements or instances of an element. Thus, a reference to first and second elements does not mean that only two elements can be employed, or that the first element must precede the second element. In addition, a phrase referring to “at least one of” a list of items refers to any single item therein or any combination of two or more items therein [0045] In order that the present invention may be readily understood and put into practical effect, various example embodiments of the present invention will be described hereinafter by way of examples only and not limitations. It will be appreciated by a person skilled in the art that the present invention may, however, be embodied in various different forms or configurations and should not be construed as limited to the example embodiments set forth hereinafter. Rather, these example embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the present invention to those skilled in the art.

[0046] In particular, for better understanding of the present invention and without limitation or loss of generality, unless stated otherwise, various example embodiments of the present invention will now be described with respect to the resource utilization planning being production planning, the resource utilization plan being a production plan and the resource utilization plan information being production plan information. However, as described hereinbefore, it will be appreciated that the method of resource utilization planning is not limited to the production planning and may be implemented in a variety of applications or scenarios as long as resource utilization planning for a group of resources is desired or required, such as but not limited to, educational planning and delivery' planning.

[0047] In various example embodiments, a method of production planning (e.g,, corresponding to the ‘"resource utilization planning” as described herein according to various embodiments) for a production plant (e.g., which may also be referred to as a manufacturing plant or a factory), and a system thereof. A production plant is known in the art and may include various resources (e.g., machine resources, such as machines, facilities, equipments, and so on and human resources, such as individuals or operational or manufacturing staff) at the production plant for producing (or manufacturing) one or more types of products. For example, one or more production lines may be implemented in the production plant for producing one or more types of products. A production plan (e.g., corresponding to the “resource utilization plan” or the “resource utilization plan information” as described hereinbefore according to various embodiments) may be formed for the production plant to produce one or more types of products, including a plurality of production schedule parameters (e.g., corresponding to the “resource utilization plan parameters” as described hereinbefore according to various embodiments), each production schedule parameter indicating (or setting or defining) or having associated therewith a production schedule (e.g., operating time and/or duration) a resource for producing a product, such as but not limited to, a production line. As described hereinbefore, the resource may be a machine resource or a human resource involved or utilized in the production of the product in the production plant. In various embodiments, the production schedule parameter may also be referred to as a task schedule parameter indicating (or seting or defining) or having associated therewith a schedule (e.g., time and/or duration) of a task to be performed by a resource for producing a product. It will be appreciated that the present invention is not limited to any particular or specific production plant, and is applicable to any production plant requiring a production plan for producing one or more types of products.

[0048] As mentioned in the background, although conventional methods of production planning may be able to successfully form a production plan based constraint parameters inputted by a user (e.g., based on acceptable constraint parameters determined by the user), constraint parameters may be subject to change (e.g., unexpected change, such as facility failures, delays, urgent production requests, and so on) during the production process, but the conventional methods of production planning may not be able to handle such changes in constraint parameters, such as replanning to handle or address such unexpected change(s) (e.g., not able to re-plan to meet all constraint parameters, which may be referred to as an infeasible problem in replanning), or at least may not be able to re-plan efficiently and/or effectively to handle or address such unexpected change(s). Accordingly, various example embodiments of the present invention provide a method of production planning (e.g., corresponding to the ‘"resource utilization planning” as described hereinbefore according to various embodiments) for a production plant and a system thereof, that seek to overcome, or at least ameliorate, one or more of the deficiencies in conventional methods and systems for production planning for a production plant, such as but not limited to, improving or enhancing capability in handling or addressing change(s) (e.g., unexpected changes, including larger or complex change) in constraint parameters associated with a group of resources at the production plant, thereby, improving or enhancing the dynamic adaptability of the method and system in production planning.

[0049] For example, various example embodiments note various issues/factors when re-planning, such as minimizing changes from an existing production plan (which may also be referred to as a current production plan) and being impossible to meet all constraints parameters (which may be referred to herein as the infeasibility problem). In this regard, various example embodiments seek to determine or clarify which constraint parameter(s) may be changed (or corrected) for overcoming the infeasible problem (i.e., making the forming of a production plan feasible) and if possible, automatically change (or correct) the constraint parameter(s).

[0050] FIG. 5 depicts a schematic flow diagram (or functional block diagram) illustrating a system 500 for production planning (e.g., corresponding to the “resource utilization planning” as described hereinbefore according to various embodiments) for a production plant according to various example embodiments of the present invention, such as corresponding to the system 300 for resource utilization planning as described hereinbefore according to various embodiments. In various example embodiments, the system 500 may include a production planner (or a production planning module or circuit) 506 (e.g., corresponding to the feasibility determiner 306 and the resource utilization plan information determiner 312 as described hereinbefore according to various embodiments) configured to perform a production planning function or operation; a cause analyser (or a cause analysing module or circuit) 508 (e.g., corresponding to the cause constraint parameter information determiner 308 as described hereinbefore according to various embodiments) configured to perform a cause analysis function or operation; and a change proposer (or a change proposal module or circuit) 510 (e.g., corresponding to the change constraint parameter information determiner 310 as described hereinbefore according to various embodiments) configured to perform a change proposal function or operation. The system 500 may further include a storage 520 for storing changeable conditions (changeability information) (e.g., corresponding to the “constraint parameter changeability information” as described hereinbefore according to various embodiments) associated with constraint parameters, a storage 522 for storing an existing production plan (which may also be referred to as a current production plan) (e.g., corresponding to the “existing resource utilization plan information” as described hereinbefore according to various embodiments) and an input/output (I/O) interface 524. It will be appreciated by a person skilled in the art that the storage 520 and the storage 522 may be implemented as a same storage medium or different storage mediums.

[0051] In various example embodiments, in addition to inputing constraint parameters for production planning, a user may input changeability information for each constraint parameter. The production planner 506 may be configured to execute production planning to form a production plan based on input parameters (e.g., including the constraint parameters) using constraint programming. If the production planner 506 determines that it is feasible to form a production plan based on the input parameters, the production planner 506 may be configured to form and output a production plan via the I/O interface 524. On the other hand, if the production planner 506 determines that it is infeasible to form a production plan based on the input parameters, the production planner 506 may be configured to send the input parameters to the cause analyser 508. The cause analyser 508 may be configured to perform a formula analysis to identify the formula(s) (e.g,, corresponding to the “cause relational constraint parameter information” as described hereinbefore according to various embodiments) that is causing the infeasibility in forming a production plan, and to extract cause parameter(s) related the formula(s) for forming a cause parameter list (e.g,, corresponding to the “cause constraint parameter information” as described hereinbefore according to various embodiments) . The change proposer 510 may be configured to create a proposal (or change proposal) for changing cause parameter(s) (e.g., corresponding to the “change constraint parameter information” as described hereinbefore according to various embodiments) based on (e.g., by comparing) the above-mentioned cause parameters extracted and the above-mentioned changeability information associated with the cause parameters. The production planner 506 may be further configured to re-execute planning (or perform re-planning) based on the input parameters and the above-mentioned proposal for changing the cause parameter(s), and to output a new production plan (e.g., corresponding to the “resource utilization plan information” determined based on the change constraint parameter information as described hereinbefore according to various embodiments) via the I/O interface 524. In this regard, the new production plan may be formed based on modified constraint parameter(s) (e.g., corresponding to the “second modified constraint parameter information” as described hereinbefore according to various embodiments) that has been modified based on the new or changed condition(s) (or new value(s)) (e.g., corresponding to the “new value” for a constraint parameter as described hereinbefore according to various embodiments) according to the above-mentioned proposal for changing cause parameter(s).

[0052] For example, based on conventional systems, it may be possible to only change the constraint parameters decided by a user as to what are able to be changed. In contrast, the system 500 according to various example embodiments may be configured to recommend or propose new condition(s) (e.g., value(s)) for constraint parameter(s) based on historical data (or historical field data) collected from the production plant (or the production site), of which the user may not even be aware or know could be changed.

[0053] FIG. 6 depicts a schematic block diagram of an example system configuration 600 for production planning (e.g., corresponding to resource utilization planning) according to various example embodiments of the present invention. The system 600 may include a data processing server (or a production planning server) 602, a communications network 604, one or more cameras 606, one or more facilities (e.g., production members) 608, one or more sensors 610, and one or more client computers 612. The data processing server 602 may comprise a computer 616 including a CPU 618, a memory' 620, a storage device 622 and an interface 624, and a bus 626 connecting them. In various example embodiments, the system 500 for production planning (or production planning system) may be stored in (e.g., and executable therefrom) the memory' 620 of the data processing server 602. The data processing server 602, the cameras 606, the facilities 608, the sensors 610, and the client computers 612 may be connected in a communications network 604 and may exchange data via the communications network 604. In various example embodiments, the cameras 606 may acquire images and/or videos and send them to the data processing server 602, Facilities 608 and sensors 610 also acquire log data or sensor data and send them to the data processing server 602. It will be appreciated that the cameras 606 and the sensors 610 may be arranged or installed in locations in the production plant where monitoring are desired. In various example embodiments, the client computers 612 each has management GUI (e.g., client interface) associated with the production planning system 500 and is able to input data and control (e.g., change) settings with respect to the production planning system 500.

[0054] Referring back to the system shown in FIG. 5, in various example embodiments, the I/O interface 524 may receive an input from a user as constraint parameters for production planning and receive changeability information (e.g., corresponding to the “constraint parameter changeability' information” as described hereinbefore according to various embodiments) associated with the constraint parameters. The I/O interface 524 may further receive field data (e.g., corresponding to the “historical data” collected as described hereinbefore according to various embodiments) from cameras, facilities and/or sensors in production site. In addition, the I/O interface 524 may send constraint parameters to the production planner 506 and may subsequently receive a new production plan (e.g., corresponding to the "resource utilization plan information” determined based on the change constraint parameter information as described hereinbefore according to various embodiments) from the production planner 506. In this regard, the new production plan may be formed based on modified constraint parameter(s) (e.g., corresponding to the “second modified constraint parameter information” as described hereinbefore according to various embodiments) that has been modified based on the new or changed condition(s) (or new value(s)) according to the above-mentioned proposal for changing cause parameter(s). The I/O interface 524 may then output the new production plan to a client computer, such as for display thereat to a user. In various example embodiments, the I/O interface 524 may receive a query or change proposal request on whether one or more constraint parameters may be changed (e.g., corresponding to the “proposal” output to a user for changing at least one constraint parameter as described hereinbefore according to various embodiments) from the change proposer 510 and output the query to the user. The I/O interface 524 may then receive a response or an answer input from the user (e.g., corresponding to the “confirmation input” received from the user to change the at least one constraint parameter as described hereinbefore according to various embodiments) and send the answer to the change proposer 510. In various example embodiments, the I/O interface 524 may store the above-mentioned changeability information received in the storage 520 for storing changeable conditions. [0055] In various example embodiments, the production planner 506 may be configured to make or form a production plan using constraint programming based on constraint parameters (e.g., a constraint parameter list, such as corresponding to the “first mconstraint parameter information” or the “second modified constraint parameter information” as described hereinbefore according to various embodiments), schedule parameters (e.g., a schedule parameter list, such as corresponding to the “resource utilization schedule parameter information” as described hereinbefore according to various embodiments) and constraint formulas (e.g., a constraint formula list, such as corresponding to the “relational constraint parameter information” as described hereinbefore according to various embodiments). In various example embodiments, the production planner 506 may be configured to form the production plan using constraint programming further based on an existing production plan (e.g., stored in the storage 522 for existing production plan) and a change proposal of cause parameter(s) (e.g., corresponding to the “change constraint parameter information” as described hereinbefore according to various embodiments) received from the change proposer 510. It will be appreciated by a person skilled in the art that forming a production plan using constraint programming is known in the art and thus need not be described herein in detail. For example, constraint programming may involve linear programming problems and may be solved by linear programming solver in a manner known in the art. For example, various commercial and non-commercial linear programming solvers may be applied that output a set of variables that minimize the objective function based on a combination of constraint expressions inputted thereto. In various example embodiments, a basic solution known as the simplex method may be applied as a linear programming solver.

[0056] In various example embodiments, if the production planner 506 succeeds in making or forming a production plan, the production planner 506 may be configured to send the production plan to the I/O interface 524 and also store the production plan as an existing (or current) production plan in the storage 522 for existing production plan. On the other hand, if the production planner 506 does not succeed in forming a production plan due to the above-mentioned infeasibility problem, the production planner 506 may be configured to send various information (e.g., including the above- mentioned constraint formulas) used for planning to the cause analyser 508.

[0057] In various example embodiments, the cause analyser 508 may be configured to perform a formula analysis to identify formula(s) that is causing the infeasibility in forming a production plan, and to extract cause parameter(s) related the formula(s) for forming a cause parameter list. The cause analyser 508 may then be configured to send the cause parameter list to the change proposer 510.

[0058] The change proposer 510 may be configured to create a change proposal of cause parameters) based on (e.g., by comparing) the above-mentioned cause parameter list and the above-mentioned changeable conditions stored in the storage 520 for changeability information. In various example embodiments, the change proposer 510 may be configured to create the change proposal further based on change permission (e.g., corresponding to the “confirmation input” received from the user to change the at least one constraint parameter described hereinbefore according to various embodiments) by the user received via the 1/0 interface 524. In various example embodiments, the change proposer 510 may be configured to send the change proposal of cause parameter(s) to the production planner 506. The production planner 506 may then be configured to re-execute planning (or perform re-planning) based on the change proposal of the cause parameter(s) received and to output a new production plan (e.g., corresponding to the “resource utilization plan information” determined based on the change constraint parameter information as described hereinbefore according to various embodiments) via the I/O interface 524.

[0059] FIG. 7 illustrates an example constraint parameter list associated with the production plant (e.g., a group of resources at the production plant), such as for an existing plan, according to various example embodiments, by way of an example only and without limitation. As shown in FIG. 7, the example constraint parameter list may include a plurality' of constraint parameters, each constraint parameter having a constraint condition associated therewith and a value associated with the constraint condition. Each constraint parameter may further have a unit associated with the constraint condition. In various example embodiments, each constraint parameter may define a constraint condition (or rule) associated with or in relation to one or more resources that is required or desired to be satisfied, such as a maximum work time per day associated with a particular resource (e.g., the associated value may then be the maximum work time) or a required production quality of a particular type of product using a particular resource (e.g., the associated value may then be the required production quality). In the example constraint parameter list, consider a daily production plan at a production plant or a factory', constraint parameters provided may relate to, for example, how much of each product to produce, the stocks of each product in the morning and the shipping volume of each product at night. For example, each constraint parameter (e.g., indicated under the “Name” data field) may have associated therewith one or more data fields, such as “Description”, “Value” and “Unit”, as shown in FIG. 7, by way of an example only and without limitation. “Name” may represent a name or an identity (e.g., variable name) of the constraint parameter, and the constraint parameter (or a value associated therewith) may be referred to by such a name in various processing carried out as described herein, such as in constraint formulas. "Description" may be a description of the constraint parameter, which may merely be provided to explain the function or purpose of the constraint parameter and thus may be omitted in practice. “Value” may be a particular or specific numerical value associated with the constraint parameter. “Unit” may be a unit in which the above-mentioned value of the constraint parameter may be changed, such as in units of 1 or 10 and so on. [0060] For example, constraint parameter “P1” may be a constraint parameter indicating (or having associated therewith) the number of product X that can be produced per hour on the production line A (e.g., corresponding to the above-mentioned constraint condition), and having associated therewith a value (production amount) of 100 units. Constraint parameter “P3” may be a constraint parameter indicating (or having associated therewith) the working time (or operating duration or period) of the production line A (e.g., corresponding to the above-mentioned constraint condition), and having associated therewith a value (an operating duration) of 9 hours. Constraint parameters “P6” to “P8” may indicate (or has associated therewith) the stock level of products X, Y, and Z, respectively, at 9:00 (e.g., corresponding to the above-mentioned constraint condition), and having associated therewith values (stock levels) of 550 units, 550 units and 600 units, respectively. Constraint parameters “P9” to “P l 1” may indicate (or has associated therewith) the shipping volume required for delivery at 24:00 for products X, Y, Z, respectively (e.g., corresponding to the above-mentioned constraint condition), and having associated therewith values (shipping volumes) of 1000 units, 500 units and 2000 units, respectively.

[0061] FIG. 8 illustrates an example schedule parameter list , such as for an existing production plan, according to various example embodiments of the present invention, by way of an example only and without limitation. As shown in FIG. 9, the example constraint formula list may include a plurality of constraint formula parameters (e.g., corresponding to the plurality of “relational constraint parameters” as described hereinbefore according to various embodiments) having associated therewith a constraint formula (e.g., corresponding to the plurality of “relational constraint condition” associated with a relational constraint parameter as described hereinbefore according to various embodiments). In various example embodiments, each constraint formula parameter may define a constraint formula (or relational constraint condition) based on at least one of the constraint parameters and schedule parameters (i.e., at least a constraint paramete1 r or at least a schedule parameter or a combination thereof) that is required or desired to be satisfied, such as a desired or target relational constraint condition. In various example embodiments, each constraint formula parameter (e.g., indicated under the “Name” data field) may have associated there with one or more data fields, such as “Item”, as shown in FIG. 9, by way of an example only and without limitation. “Name” may represent a name or an identity of the constraint formula parameter, and may be referred to by such a name in various processing carried out as described herein. For example, each constraint formula may be described or expressed in "Items” based schedule parameter(s), constraint parameter(s), constant(s), and operators) (e.g., an addition operator, a multiplication operator and so on) which thus may also be referred to as a relational constraint parameter.

[0062] For example, as shown in FIG. 9, constraint formula parameter “F1” may have associated therewith a constraint formula expressed as P6 + P1 x TX > P9, that is, “P6” (inventory of product X at 9:00) plus “P1 x TX'’ (production of product X on that day in production line A) is larger than “P9” (shipment of product X at 24:00). Constraint formula parameter “F3” may have associated therewith a constraint formula expressed as TX + TY < P3, that is, the sum of “TX” (production hours of product X in production line A) and “TY” (producti on hours of product Y in production line A) is shorter than “P3” (operation time or duration of production line A). Constraint formula parameter “P6” may have associated therewith a constraint formula expressed as minimize (P3 + PS) — (TX + 7T + TZ) , that is, minimize the difference between “P3 + P5” (sum of the operation times or durations of production lines A and B) and TX + TY + TZ (the total production times or durations of products X, Y and Z on production lines A and B).

[0063] FIG. 10 depicts an example existing production plan (e.g., corresponding to the “existing resource utilization plan information” as described hereinbefore according to various embodiments) obtained by solving constraint problem (e.g., based on the above-mentioned linear programming solver) according to various example embodiments of the present invention, by way of an example only and without limitation. As shown in FIG. 10, the example existing production plan may be a list including a pl urality of production plan parameters (e.g., corresponding to the “resource utilization plan parameters” as described hereinbefore according to various embodiments). In various example embodiments, each production plan parameter may correspond to the corresponding schedule parameter of the schedule parameter list as scheduled in a production plan. Each production plan parameter may have associated therewith a scheduled condition (e.g., a resource utilization plan condition) and a value associated with the scheduled condition. Accordingly, each production plan parameter may define a scheduled condition (or rule) associated with or in relation to a resource relating to a scheduled operating capacity or target (e.g., a scheduled operating duration, such as the amount of time a machine is scheduled to operate in a day or an individual is schedule to work (e.g., working hours) in a day) that is required or desired to be satisfied, such as in relation to a particular product. In various example embodiments, each production plan parameter (e.g., indicated under the “Name” data field) may have associated therewith one or more data fields, such as “Description” and “Value” as shown in FIG. 10 by way of an example only and without limitation. “Name” may represent a name or an identity of the production plan parameter (e.g., may correspond to the corresponding schedule parameter as explained above), and the production plan parameter (or a value associated therewith) may be referred to by such a name in various processing carried out as described herein. “Description” may be a description of the production plan parameter, which may merely be provided to explain the function or purpose of the production plan parameter and thus may be omitted in practice. “Value” may be a particular or specific numerical value of the production plan parameter. For example, according to the example existing production plan shown in FIG. 10, on a day if there are no changes (e.g., unexpected changes such as facility' failures, delays, urgent production requests, and so on), product line A produces product X for 9 hours (corresponding to the above-mentioned scheduled condition associated with production plan parameter “TX”’), production line ¥ produces product Y for 0 hours (i.e., not producing) (corresponding to the above-mentioned scheduled condition associated with production plan parameter “TY”’) and product line B produces product Z for 9 hours (corresponding to the above-mentioned scheduled condition associated with production plan parameter “TZ’”).

[0064] FIG. 11 depicts the example constraint parameter list (e.g., corresponding to the “constraint parameter information” as described hereinbefore according to various embodiments) associated with the production plant (e.g., a group of resources at the production plant) after a change at 10:00 on the same day, according to various example embodiments of the present invention, by way of an example only and without limitation. In particular, constraint parameter “P10” (e.g., the value thereof) has increased from 500 to 1200, indicating that the deliv ery volume of product Y at 24:00 has increased to 1200 due to, for example, a sudden order. The data structure of the example constraint parameter list shown in FIG. 11 is the same as that shown in FIG. 8. Furthermore, it will be appreciated by a person skilled in the art that as the time of the day has increased by 1 hour from 9:00 to 10:00, the inventory' levels of product X and product Z are also shown to increase (with the one hour production) in accordance with the existing production plan, that is, from 550 to 650 for product X in relation to constraint parameter “P6” and from 600 to 800 for product Z in relation to constraint parameter “P8”. In such instance situation, although the production line B has no problem, production line A is not able to meet both product X and product Y shipments in the remaining 8 hours of production time. Accordingly, such a state is infeasible (which may thus be referred to as an infeasible problem in forming a production plan based on a change in constraint parameter(s)). In this regard, various example embodiments advantageously provide a method of production planning that identifies the cause of this infeasibility and forms a new or revised production plan that handles or addresses such a change (e.g., unexpected change) in constraint parameter(s) associated with the production plant (e.g., a group of resources at the production plant), thereby, improving or enhancing the dynamic adaptability of the method in production planning (e.g., corresponding to the method 200 of resource utilization planning as described hereinbefore according to various embodiments).

[0065] FIG. 12 depicts an example operation flowchart 1200 in relation to the production planner 506 according to various example embodiments of the present invention.

[0066] At 1202, the production planner 506 may receive constraint parameters from the I/O interface 524. In various example embodiments, as described hereinbefore, the production planner 506 may obtain a constraint parameter list, a schedule parameter list and a constraint formula list. In various example embodiments, as also described hereinbefore, the production planner 506 may further receive an existing production plan from the storage 522 and a change proposal from the change proposer 510.

[0067] At 1204, the production planner 506 may attempt to form a production plan for the production plant based on various parameter inputs, such as based on the constraint parameter list, the schedule parameter list and the constraint formula list obtained. As explained hereinbefore, the production plan may be formed based on constraint programming known in the art and thus need not be described herein. For example, constraint programming may involve linear programming problems and may be solved by linear programming solver (which may also be referred to as a constraint programming solver or a constraint problem solver herein) in a manner known in the art, including based on the simplex method.

[0068] At 1206, the production planner 506 may determine whether it is feasible to form a production plan based on the parameter inputs (e.g., whether it is possible to produce a production plan which satisfies all constraint parameters in the constraint parameter list).

[0069] If production planning is feasible (e.g., as determined by the constraint problem solver), at 1207, the production planner 506 may thus form the production plan and send the production plan to the I/O interface 524. The production plan formed may also be stored as an existing plan in the storage 522 for existing plan. The production planning may then end for that instance or iteration. For example, the production planner 506 may be configured to attempt to form a production plan at a regular interval or if prompted (e.g., if a change (e.g., an unexpected change as explained hereinbefore) is detected).

[0070] On the other hand, if production planning is not feasible (e.g., corresponding to the “determining infeasibility in forming a resource utilization plan" as described hereinbefore according to various embodiments), at 1208, the production planner 506 may check or detect if an existing (or current) production plan exists. If it exists, at 1210, constraint parameter(s) may be added to the constraint parameter list based on the existing plan to form a modified constraint parameter list (e.g., corresponding to the “first modified constraint parameter information” obtained by “modifying the constraint parameter information comprising adding one or more new constraint parameters to the constraint parameter information, the one or more new constraint parameters corresponding to one or more resource utilization plan parameters of the existing resource utilization plan information, respectively”, as described hereinbefore according to various embodiments. In addition, constraint formula parameter(s) may be added to the constraint formula list based on the existing plan to form a modified constraint formula list (e.g., corresponding the “modified relational constraint parameter information” obtained by “modifying the relational constraint parameter information comprising adding one or more new relational constraint parameters to the relational constraint parameter information, the one or more new relational constraint parameters corresponding to the one or more plan parameters of the existing resource utilization plan information, respectively”, as described hereinbefore according to various embodiments.

[0071] At 1212, the production planner 506 may send various parameters to the cause analyser 508 for determining the cause parameters) in causing infeasibility in forming a production plan. In this regard, if there no existing production plan is detected at 1208, for example, the constraint parameter list and the constraint formula list may be sent to the cause analyser 508. On the other hand, if an existing production plan is detected, the modified constraint parameter list and the modified constraint formula list may be sent to the cause analyser 508.

[0072] At 1214, for example at a later stage after the change proposal of constraint parameter(s) has been generated by the change proposer 510, the production planner 506 may receive the change proposal of constraint parameter(s) (e.g., corresponding to the “change constraint parameter information” as described hereinbefore according to various embodiments) from the change proposer 510 and attempt to form a production plan again based on the change proposal of constraint parameter(s), that is, production re-planning, such as described hereinbefore according to various example embodiments. [0073] FIG. 13 depicts an example modified constraint parameter list (e.g., corresponding to the “first modified constraint parameter information” as described hereinbefore according to various embodiments) modified by the production planner 506, such as described hereinbefore according to various example embodiments, by way of an example only and without limitation.

[0074] For example, as shown, new constraint parameters “PTX”, “PTY” and “PTZ’ based on the production plan parameters “TX”, “TY” and “TZ” of the existing production plan, respectively, as shown in FIG. 10 may be added to the constraint parameter list shown in FIG. 11 to obtain the modified constraint parameter list (or first modified constraint parameter list). For example, the existing production plan as shown in FIG. 10 may be the production plan formed at 9:00 am and the production planner 506 may attempt to make a new production plan or update the production plan (e.g., replanning) at 10:00 am (e.g., may be pre-scheduled). Therefore, as shown in FIG. 13, various time-based constraint parameters in the modified constraint parameter list may also be updated or changed according to the time, such as the production hours for production lines A and B in relation to constraint parameters “P3” and “P5” have been reduced by one hour from 9 hours to 8 hours.

[0075] FIG. 14 depicts an example modified constraint formula list (e.g., corresponding to the “modified relational constraint parameter information” as described hereinbefore according to various embodiments) modified by the production planner 506, such as described hereinbefore according to various example embodiments, by way of an exampl e only and without limitation.

[0076] For example, as shown. new constraint formula parameters “F7”, “F8” and “F9” based on the production plan parameters “TX”, “TY” and “TZ” of the existing production plan, respectively, as shown in FIG. 10 may be added to the constraint formula list shown in FIG. 14 to obtain the modified constraint formula list (or first modified constraint formula list). In various example embodiments, the new constraint formula parameters added may be for at least maintaining the production hours specified in the existing production plan, in other words, to comply with the existing production plan. For example, as shown, the new constraint formula parameters “F7”, “F8” and “F9” may be added to require production times equal to or more than those of the production plan parameters “TX", “TY” and “TZ” of the existing production plan, respectively.

[0077] FIG. 15 depicts an example operation flowchart 1500 in relation to the cause analyser 508 according to various example embodiments of the present invention.

[0078] At 1502, the cause analyser 508 may receive various parameters from the production planner 506 for determining the cause parameters) in causing infeasibility in forming a production plan, such as the constraint parameter list and the constraint formula list, or the first modified constraint parameter list and the modified constraint formula list, as described hereinbefore with reference to 1212 of FIG. 12.

[0079] At 1504, the cause analyser 508 may generate a relationship diagram of the constraint formula parameters in the received constraint formula list, such as shown in FIG. 17.

[0080] At 1506, the cause analyser 508 may generate a list of candidate constraint formula items (e.g., corresponding to the plurality of “candidate relational constraint parameter information items” as described hereinbefore according to various embodiments) that may cause infeasibility, each candidate constraint formula item comprising a candidate constraint formula or a group or combination of candidate constraint formulas. In various example embodiments, a complete list of all constraint formulas in the received constraint formula list and all possible combinations thereof may be included as candidate constraint formula items, such as shown in the candidate constraint formula item list shown in FIG. 18. In various example embodiments, the candidate constraint formula items may be arranged or listed in a particular order, such as an ascending order of the number of constraint formulas included in the candidate constraint formula item.

[0081] At 1508, the cause analyser 508 may remove one of the candidate constraint formula items from the list, and at 1510, it may be determined (e.g., tested) whether the infeasibility problem (i.e., infeasibility in forming a production plan) remains after the constraint formula item is removed from consideration, that is, based on the remaining candidate constraint formula items. For example, whether the infeasibility problem remains may be determined using a constraint problem solver as explained hereinbefore based on the above-mentioned remaining candidate constraint formula items. If removing the constraint formula item results the infeasibility problem being solved (i.e., becoming feasible), the candidate constraint formula item may then be selected and the constraint formula(s) therein may be extracted at 1512 (e.g., determined to be the cause of infeasibility) and be referred to or treated as selected constraint formula(s) (e.g., corresponding to the "cause relational constraint parameter information” as described hereinbefore according to various embodiments). On the other hand, if removing the above-mentioned candidate constraint formula item does not result in the infeasibility problem being solved (i.e., remaining infeasible), the cause analyser 508 may try another one of the candidate constraint formula items from the list, until a candidate constraint formula item is found which when removed from the list results in the infeasibility problem being solved, or until there is no more untested (or unexamined) candidate constraint formula item in the list. In various example embodiments, the cause analyser 508 may test or examine the candidate constraint formula items in the list one by one (or one after another) until a first instance of feasibility' is determined or detected. In various example embodiments, the cause analyser 508 may test the candidate constraint formula items in the list one after another in a particular order, such as in the above-mentioned ascending order of the number of constraint formulas included in the candidate constraint formula item (e.g., starting from the candidate constraint formula item having the least number of constraint formula(s) therein).

[0082] At 1514, the cause analyser 508 may generate a list of constraint formula items (e.g., corresponding to the “plurality of cause relational constraint parameter information items” as described hereinbefore according to various embodiments), each constraint formula item (e.g., indicated under “Cause formula” in FIG. 19) including one or more constraint formula parameters, that is, one constraint formula parameter or a combination of constraint formula parameters. In various example embodiments, the list of constraint formula items may be generated in an iterative manner, that is, a next constraint formula item may be generated and included in the list after a current constraint formula item has been processed. In processing a current constraint formula item, the cause analyser 508 may extract one or more constraint parameters in the constraint formula item. [0083] At 1516, the cause analyser 508 may determine (or attempt to determine), for at least one constraint parameter of the one or more constraint parameters extracted from the current constraint formula item (e.g., for each constraint formula item), a new value (or change in value) for each of the at least one constraint parameter that results in feasibility in forming the production plan.

[0084] At 1518, if the new value for each of the at least one constraint parameter can be determined that results in feasibility in forming the production plan, the current constraint formula item and the at least one constraint parameter along with the associated new value for each of the at least one constraint parameter may be added by the cause analyser 508 to a cause parameter list (e.g., corresponding to the “cause constraint parameter information” as described hereinbefore according to various embodiments).

[0085] At 1520, the cause analyser 508 may determine whether a predetermined number of constraint formula items (determined to result in feasibility' in forming the production plan) has been added to the cause parameter list or all constraint formula items in the list have been processed in the manner described in 1514, 1516 and 1518. If so, at 1524, the cause analyser 508 may output the cause parameter list to the change proposer 510. Otherwise, at 1522, the cause analyser 508 may process a next constraint formula item in the list, such as in the same or similar manner as described in 1514, 1516 and 1518, that is, iteratively processing a next constraint formula item in the list until 1520 is satisfied.

[0086] FIG. 16 depicts an example relationship table of constraint formulas based on the modified constraint parameter list shown in FIG. 13 and the modified constraint formula list shown in FIG. 14, according to various example embodiments, by way of an example only and without limitation. In the example relationship table, the constraint parameters are along the columns and the constraint formula parameters are along the rows. For example, a check (or tick) in the “Fl” row in the “Pl” column (i.e., an intersection thereof) indicates that the constraint parameter “Pl” is used in the constraint formula parameter “F1”. For example, it can also be seen from the relationship table that constraint formula parameters “F1”” and “F3” both use constraint parameter “TX”, and thus, these two constraint formula parameters may be referred to as being "related" (e.g., corresponding to the relational constraint parameter being related to another relational constraint parameter as described hereinbefore according to various embodiments). [0087] FIG. 17 depicts an example relationship diagram of constraint formulas based on the example relationship table shown in FIG. 16, according to various example embodiments, by way of an example only and without limitation. In the relationship diagram, the constraint formulas that are '‘related” (in the manner as described above) are shown connected by lines.

[0088] FIG. 18 depicts an example candidate constraint formula item list (winch may also be referred to as a list of candidate formula combinations, such as corresponding to the “plurality of cause relational constraint parameter information items” as described hereinbefore according to various embodiments) as described hereinbefore according to various example embodiments, by way of an example only and without limitation. As described hereinbefore, the cause analyser 508 may continue to tty another candidate constraint formula item from the list, until a candidate constraint formula item is found which when removed from the list results in the infeasibility problem being solved (or resolved), or until there is no more untested (or unexamined) candidate constraint formula item in the list. In various example embodiments, the cause analyser 508 may test or examine the candidate constraint formula items in the list one by one (or one after another) until a first instance of feasibility' is determined or detected. For the sake of simplicity' for better understanding only and without limitation, various example embodiments may be described by assuming or identifying that constraint formula item including only one constraint formula parameter denoted as “F2” in the list (i.e., the second constraint formula item shown in FIG. 18), which when removed from the list results in the infeasibility' problem being solved, and thus, the constraint formula parameter “F2” is the selected constraint formula parameter (e.g., corresponding to the “determining the cause relational constraint information as the candidate relational constraint information item” as described hereinbefore according to various embodiments).

[0089] An example method of extracting cause parameter(s) from the selected constraint formula parameter (e.g., corresponding to 1514 in FIG. 15) will now be described according to various example embodiments. As mentioned above, for the sake of simplicity for better understanding only and without limitation, the constraint formula parameter “F2” is assumed or identified to be the selected constraint formula parameter.

[0090] For example, a technique that uses “relaxation variables” is known as a method of investigating how' much a specific variable can be changed to make it executable in an infeasible linear programming problem, and such a technique may be applied according to various example embodiments.

[0091] For example, using the relaxation variable “eP7” that corresponds to one of the variables in “F2” . namely, “P7”, change “F2” to “F2”’ as follows:

(P7 + eP7) + P2 x TY ≤ P10

[0092] Furthermore, change the constraint formula parameter “F6” (objective function) to "F6 " so that “eP7” is the minimum change (C is an appropriate large coefficient) as follows: minimize(P3 + P5) - (TX + TY + TZ) + C X ¦eP7¦

[0093] For example, when this modified linear programming problem is solved by the simplex method or the linear programming problem solver, eP7 = 650 is output. Add this to the original “P7” value of 550 to obtain anew value for “P7” as 1200. That is, if “P7” is 1200, the constraint problem becomes feasible. Therefore, changing the value of “P7” to the new value of 1200 is a candidate for a change parameter.

[0094] Similarly, when the above process is applied for “P10”, the constraint problem becomes feasible by changing the value of “P10” to a new value of 550.

[0095] On the other hand, putting a relaxation variable in “P2” does not make the constraint problem feasible. This indicates that changing “P2” alone will not make the constraint problem to be feasible (i.e., will not solve the infeasibility problem) in this case.

[0096] Accordingly, so far, two proposals have been created to change the value of P7 to 1200 and the value of P10 to 550, based on “F2” alone.

[0097] In various example embodiments, the search range may then be expanded to create additional proposals. In this regard, the cause analyser 508 may expand the search range based on the relationship diagram of constraint formulas as shown in FIG. 17.

[0098] For example, the cause analyser 508 may select one of the constraint formula parameters directly connected to “F2” according to the relationship diagram.

[0099] For example, it is assumed that “F3” is selected as the next constraint formulate related to “F2”. A constraint parameter included in “F3” is “P3”, and by applying the relaxation variable “eP3” to this, the constraint problem can be solved, and it is feasible if the value of “P3” is changed to 13.

[00100] In various example embodiments, by expand the search range further and adding another constraint formula “F8” directly connected to “F2”. The variable constraint parameter included in “F8” is “PTY” only, but this is a meaningless constraint because it is originally the minimum value of “TX”, 0, and it cannot be relaxed anymore, so it is ignored.

[00101] Another constraint parameter connect to “F2” is “F6”, but since this is an objective function, and there is no variable to relax, so it is ignored.

[00102] Since the cause analyser 508 already added or considered all the constraint formula parameters that are immediately adjacent (or directly connected) to “F2”, the cause analyser 508 may add “F7” that is immediately adjacent (or directly connected) to “F3”. It is noted that there is a “PTX” in “F7”, and thus, relaxing “F7” alone does not make the constraint problem feasible. However, since "PTX" is an existing production plan and is not a parameter input by the user, it is assumed that relaxation of this is performed with priority, and relaxation of one constraint parameter other than “PTX” is tried. As a result, there are four groups: “P2” = 200, “PTX” = 2 groups, “P3” = 9, “PTX” = 4 groups, “P7” = 600, “PTX” = 4 groups, “P10” = 1150, “PTX” = 4 groups. Accordingly, for example, it is found that changing the parameters like these 4 groups make the constraint problem feasible.

[00103] Subsequently, add “F1 ” which is immediately adjacent to “F3”. Consider relaxing the three variables in the “F1” equation in addition to “PTX”. As a result, there are three groups: “P1 ” = 150, “PTX” = 3 group, “P6” = 700, “PTX” = 3 group, “P9” = 950, “PTX” = 3 group.

[00104] There is no selectable constraint formula directly connected to “F1 ” "F2”, “F3” and “F7”, so the search may be aborted at this point. For example, “F8” does not have relaxable variable as explained hereinbefore. Another connection to these constraint formulas is “F6”. But since “F6” is an objective function, it also has no relaxable variables. There are “F4”, “F5” and “F9” after “F6”, but these constraint formulas are not related to “F2” which is the cause of the infeasibility other than the objective function. Therefore, changing the constraint parameters of “F4”, “F5”, and “F9” do not make the constraint problem feasible. In various example embodiments, a search may be continued as long as it is possible to search, or the search may be terminated when a certain number of constraint formula items have been selected for the cause parameter list.

[00105] FIG. 19 depicts an example cause parameter list (e.g., corresponding to the “cause constraint parameter information” as described hereinbefore according to various embodiments), including a list of constraint formula items (e.g., corresponding to the plurality of “cause constraint parameter information items” described hereinbefore according to various embodiments), each constraint formula item including (or having associated therewith) one or more constraint parameters, and each constraint parameter having a new or changed value for the constraint problem to be become feasible.

[00106] For example, the first line of the cause parameter list indicates that if the stock of product Y at 10:00 (value of constraint parameter “P7”) is changed to 1200 units, the constraint problem becomes feasible. The second line of the cause parameter list shows that the constraint problem becomes feasible if the shipment volume of product Y to be made at 24:00 (value of constraint parameter “P10”) is reduced to 550 units. The third line of the cause parameter list considers not only “F2” but also the adjacent “F3” As a result, “P3” is also a search target and the constraint problem becomes feasible if the operating duration of production line A (value of constraint parameter “P3”) is increased to 23:00.

[00107] The fourth and subsequent rows of the cause parameter list also consider “F7” As a result, the production time for product X has been proposed to be reduced and other constraint parameters have been changed for making the constraint problem feasible.

[00108] For example, in the fifth line of the cause parameter list, same as in the third line, extending the operating duration of production line A (value of constraint parameter “P3”) to 9 hours has been proposed. However, since the production hours of product X on production line A (value of constraint parameter “PTX”) has been reduced from eight hours to four hours, an extension of one hour until 19:00 is sufficient.

[00109] In the example cause parameter list shown in FIG. 19, the search is terminated after ten constraint formula items have been listed.

[00110] Regarding how much the value is changed, a method of increasing the input value little by little (for example, unit value) may be used, or once set to the theoretical maximum value (for example, the operating time is 24 hours), a method of gradually reducing the size may be used, or another method may be used.

[00111] FIG. 20 depicts an example operation flowchart in relation to the change proposer 510, according to various example embodiments of the present invention.

[00112] At 2002, the change proposer 510 may receive the cause parameter list from the cause analyser 508. [00113] At 2004, the change proposer 510 may receive the changeability information (e.g., changeability list) stored in the storage 520 via the I/O interface 524. [00114] At 2006, the change proposer 510 may compare the changeability list and cause parameter list, and evaluate the cause parameters whether they are all changeable constraint parameters

[00115] At 2008, the change proposer 510 may determine if such combinations of parameters exist, and if so, at 2010, the change proposer 510 may be make a change proposal from the best rated of them (e.g., corresponding to the "cause constraint parameter information item in the plurality of cause constraint parameter information items having the changeability score which satisfies a first predetermined condition” as described hereinbefore according to various embodiments). If not, at 2012, the change proposer 510 collects actual data (e.g., historical field data) from the production site. In this regard, if there is actual data that exceeds the change value that makes the problem feasible for a certain constraint parameter, the change proposer 510 may then use the certain constraint parameter as the recommended constraint parameter (e.g,, corresponding to the determining whether at least one constraint parameter in the cause constraint parameter information item is changeable based on historical data collected in relation to the at least one constraint parameter, as described hereinbefore according to various embodiments).

[00116] At 2014, the change proposer 510 may ask (e.g., send a proposal) to the user for permission to change any of the constraint parameters that cannot be changed (as determined based on the changeability list) (e.g., corresponding to the “generating a proposal output to a user for changing the at least one constraint parameter in at least one cause constraint parameter information item determined to be changeable to the new value for each of the at least one constraint parameter” as described hereinbefore according to various embodiments) via the I/O interface 524.

[00117] At 2016, the change proposer 510 may make the change proposal based on the answer from the user (e.g., corresponding to the “selecting one of the cause constraint parameter information items” whereby the selected one of the cause constraint parameter information items is the one of the at least one cause constraint parameter information item having received the confirmation input from the user for the at least one constraint parameter therein, as described hereinbefore according to various embodiments). [00118] At 2018, the change proposer 510 may send the change proposal (e.g., as a feedback) to the production planner 506.

[00119] FIG. 21 depicts an example changeability list of constraint parameters (e.g., corresponding to the “constraint parameter changeability information” as described hereinbefore according to various embodiments), according to various example embodiments, by way of an example only and without limitation.

[00120] In the example changeability list, for each constraint parameter that can be changed, a priority of the constraint parameter is also indicated. By way of an example only and without limitation, a constraint parameter having associated therewith a smaller value of priority may be more preferably changed than a constraint parameter having associated therewith a higher value of priority.

[00121] In various example embodiments, each constraint parameter “P1” to “P11” may have associated therewith an initial or original value set by the user, and the changeability and priority are also set by the user. For constraint parameters “PTX”, “PTX” and “PTZ” added by the production planner 506, each may have a changeability set to changeable and a priority set to a value smaller than any value set by the user. Accordingly, for example, as shown in FIG. 21, the operating hours of the production lines A and B (“P3”, “P5”) can be changed, each having an associated value of priority of “2”. In addition, the constraint parameters (“PTX”, “PTY”, “PTZ”) corresponding to the existing plan parameters can be changed, each having an associated value of priority of “1”.

[00122] FIG. 22 depicts an example result of changeability evaluation, according to various example embodiments, by way of an example only and without limitation. For example, the example result may be obtain by adding the evaluation results (C&P (Changeability and Priority), AC&P (Average Changeability & Priority)) to the cause parameter list shown in FIG. 19.

[00123] For example, if a cause parameter cannot be changed, the C&P value may be set as and if not, the C&P value may be set as the same as indicated in FIG. 19. [00124] For example, if all the constraint parameters included in a cause parameter item can be changed, the average value of their priority may be set as the AC&P value (e.g., corresponding to the “changeability score” as described hereinbefore according to various embodiments), otherwise (e.g., corresponding to the “changeability score” having the “second predetermined condition” as described hereinbefore according to various embodiments) may be set. [00125] By way of an example, the cause parameter item in the first row requires that “P7” be changed, but according to the changeability list of FIG. 21, changing “P7” is not permitted. Therefore, is set for "AC&P" on the first row of the example result of changeability evaluation shown in FIG. 22.

[00126] On the other hand, the change of “P3 ” required by the third row is permited, and the priority is set to “2” at that time. Therefore, “2” is set for the AC&P value on the third row.

[00127] In the fifth row, the change of “P3” and “PTX” is required, so the AC&P value is set to “1 .5”, being the average value of those priority values.

[00128] FIG. 23 depicts an example change proposal (e.g., corresponding to the "‘change constraint parameter information”, as described hereinbefore according to various embodiment), according to various example embodiments, by way of an example only and without limitation. For example, in various example embodiments, the candidate change constraint parameter item with the smallest AC&P value may be selected (e.g., corresponding to the “changeability score” which satisfies the “first predetermined condition”, as described hereinbefore according to various embodiment) from the candidate change constraint parameter items shown in FIG. 22.

[00129] Accordingly, in the example, the change proposal is to extend the operation time of production line A by one hour (value of constraint parameter “P3”) and reduce the production time of product X of the existing production plan (value of constraint parameter “PTX”) to four hours in the fifth row of the example result of changeability evaluation shown in FIG. 22.

[00130] FIG. 24 depicts an example updated constraint parameter list, according to various example embodiments, by way of an example only and without limitation, such as corresponding to the second modified constraint parameter information as described hereinbefore according to various embodiments. In particular, the values of constraint parameters “P3” and “PTX” have been changed according to the change proposal.

[00131] FIG. 25 depicts an example updated production plan (e.g., corresponding to the “resource utilization plan information” determined based on the change constraint parameter information, as described hereinbefore according to various embodiment), according to various example embodiments, by way of an example only and without limitation. In particular, in the example, by reducing the production hours of product X in production line A (value of production plan parameter “TX”’) by 5 hours to 4 hours, extending the production hours of product Y in production line A by 5 hours to 5 hours, and extending the production hours of product Z in production line B by one hour to 9 hours, a production plan that satisfies all constraint parameters as listed in the updated constraint parameter list shown in FIG. 24 can be achieved.

[00132] FIG. 26 depicts an example change proposal request to user (e.g., corresponding to the “proposal output” to the user for changing the at least one constraint parameter in at least one cause constraint parameter information item as described hereinbefore according to various embodiments), according to various example embodiments, by way of an example only and without limitation.

[00133] For example, in FIG, 21, when the change of constraint parameter “P3” is not permitted, the values of all the evaluation results in FIG. 22 are indicated as (denoting non-changeability).

[00134] In such a case, in various example embodiments, it is confirmed with the user whether any constraint parameter should be changed, and FIG. 26 depicts an example change proposal request to the user. In this example, it may be assumed that the user indicates which constraint parameter(s) to be changed and by how much, and that the user selects the constraint parameter(s).

[00135] FIG. 27 illustrates example actual field data (historical field data) obtained from the production line, according to various example embodiments, by way of an example only and without limitation.

[00136] Various example embodiments note that even when queried as shown in FIG. 26, it may be difficult for the user to determine which constraint parameter(s) should be changed (e.g., most preferably or optimally) and by how much. To address this problem, according to various example embodiments, such a determination is based on actual field data collected in the production plant.

[00137] By way of an example, the change proposer 510 may check the production volume per hour of product X in the past few' days (e.g., 1 st , 2 nd and 3 rd of May), their example values may be “120”, “105”, "110”, respectively. Although these values are larger than the set value of “100”, but smaller than the required value of “150”, it may be determined that it is difficult to increase the production volume of the product X per hour to “150”.

[00138] On the other hand, based on the actual field data collected, the change proposer 510 may determine that there is a day (on 1 st of May) when the hourly production volume of product Y reaches the required value of 180. Based on this, the change proposer 510 may determine that it is impossible to require that the production volume of product Y per hour be increased to 180 (e.g., corresponding to the determining that the at least one constraint parameter is changeable if, for each constraint parameter of the at least one constraint parameter, the historical data includes a value corresponding to the constraint parameter that is about the same as or greater than the new value associated with the constraint parameter, as described hereinbefore according to various embodiments). Similarly, on 2 nd of May, production line A is operating until 20:00, and the change proposer 510 may determine that the operation time can be extended until 19:00.

[00139] FIG. 28 depicts an example change proposal request to user with recommendation(s) (e.g., corresponding to the ‘'proposal output” to the user for changing the at least one constraint parameter in at least one cause constraint parameter information item as described hereinbefore according to various embodiments), according to various example embodiments, by way of an example only and without limitation. In the example, it is recommended to select the production amount per hour of the product Y (corresponding to constrain parameter “P2”) and the extension of the operation time of the line A (corresponding to constrain parameter "P3”) based on the analysis result of the actual field data obtained as shown in FIG. 27.

[00140] FIG. 29 depicts an example change proposal (e.g., corresponding to the “change constraint parameter information”, as described hereinbefore according to various embodiment) by changing value of units of production hour, according to various example embodiments of the present invention.

[00141] In the previous example, the change proposal was created by changing the value, but it may be checked that the problem becomes feasible by changing the unit. For example, in original problem, the production hours of the product X and the product Y, which were determined in units of one hour. But it becomes feasible by setting the production hours in units of 0.5 hours.

[00142] FIG. 30 depicts an example updated plan (e.g., corresponding to the “resource utilization plan information” determined based on the change constraint parameter information, as described hereinbefore according to various embodiment) by changing value of the units of production hour. In particular, if line A produces in 3.5 hours of product X production and 4.5 hours of product Y production, both shipments can be met.

[00143] The following examples pertain to further example embodiments of the present invention. [00144] In Example 1, an information processing device is disclosed, the information processing device comprises a feasibility determination function of generating feasibility information by mathematical programming from the constraint condition parameter information and the constraint formula information, and a cause analysis function of generating cause information from the feasibility information and the constraint condition parameter information and the constraint condition formula information, and a condition change function of changing the constraint condition parameter from the cause information and condition changeability information.

[00145] In Example 2, the information processing device according to Example 1 is disclosed, wherein the information processing device comprises an execution plan creation function of creating an execution plan by using the changed constraint information as an input.

[00146] In Example 3, the information processing device according to Example 1 or 2 is disclosed, wherein the information processing device comprises a condition change function of changing the value of constraint condition parameter.

[00147] In Example 4, the information processing device according to Example 1 or 2 is disclosed, wherein the information processing device comprises a condition change function of changing the unit of constraint condition parameter.

[00148] In Example 5, the information processing device according to Example 1 or 2 is disclosed, wherein the information processing device comprises a condition change function of changing the constraint condition parameter from condition changeability information including priority of changing.

[00149] In Example 6, an information processing device is disclosed, the information processing device comprising a cause analysis function configured to determine whether there is a relationship between the constraint condition formula information based on the information as to whether the same constraint condition parameter is referenced, and a relation determination function of creating the relation between constraint conditions from the relationship, and a cause constraint formula specification function to search for constraint formulas that cause infeasibility, and a cause constraint parameter specifying function that determines the search range of the cause constraint parameter based on the relation between constraint formula.

[00150] In Example 7, a display method in an information processing system is disclosed, the display method comprising a constraint condition input step for accepting constraint condition input, and a changeable condition input step for receiving a changeable condition input, and a production plan display step of displaying a production plan created based on the constraint conditions and the changeable conditions, and a changed condition display step of displaying a changed condition during creating a production plan. [00151] While embodiments of the invention have been particularly shown and described with reference to specific embodiments, it should be understood by those skilled in the art that various changes in form and detail may be made therein without departing from the spirit and scope of the invention as defined by the appended claims. The scope of the invention is thus indicated by the appended claims and all changes which come within the meaning and range of equivalency of the claims are therefore intended to be embraced.