Collaborative batch aggregation and scheduling in a manufacturing environment
First Claim
1. A computer-implemented method for aggregating and scheduling product batches in a manufacturing environment, comprising:
- using a batch aggregation engine implementing a mathematical programming strategy, allocating one or more product demands to one or more product batches having suggested sizes and suggested starting times, the mathematical programming strategy comprising evaluating a plurality of time-based penalties relative to one another in allocating the demands to the batches, the time-based penalties being based on relationships between suggested starting times for batches and times of demands being considered for allocation to batches; and
communicating the suggested sizes, the suggested starting times, and feedback relating to the suggested sizes and suggested starting times from the batch aggregation engine to a scheduling engine to assist the scheduling engine in scheduling starting times for the batches.
18 Assignments
0 Petitions
Accused Products
Abstract
In one aspect, a computer-implemented method is provided for aggregating and scheduling product batches in a manufacturing environment. Using a batch aggregation engine implementing a mathematical programming strategy, one or more product demands are allocated to one or more product batches having suggested sizes and suggested starting times. The mathematical programming strategy includes evaluating a number of time-based penalties relative to one another in allocating the demands to the batches, the time-based penalties being based on relationships between suggested starting times for batches and times of demands being considered for allocation to batches. The suggested sizes, the suggested starting times, and feedback relating to the suggested sizes and suggested starting times are communicated from the batch aggregation engine to a scheduling engine to assist the scheduling engine in scheduling starting times for the batches.
41 Citations
84 Claims
-
1. A computer-implemented method for aggregating and scheduling product batches in a manufacturing environment, comprising:
-
using a batch aggregation engine implementing a mathematical programming strategy, allocating one or more product demands to one or more product batches having suggested sizes and suggested starting times, the mathematical programming strategy comprising evaluating a plurality of time-based penalties relative to one another in allocating the demands to the batches, the time-based penalties being based on relationships between suggested starting times for batches and times of demands being considered for allocation to batches; and
communicating the suggested sizes, the suggested starting times, and feedback relating to the suggested sizes and suggested starting times from the batch aggregation engine to a scheduling engine to assist the scheduling engine in scheduling starting times for the batches. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28)
using the scheduling engine, scheduling starting times for the batches according to the suggested sizes, suggested starting times, and associated feedback received from the batch aggregation engine; and
communicating the scheduled starting times and feedback relating to the scheduled starting times from the scheduling engine to the batch aggregation engine to assist the batch aggregation engine, implementing the mathematical programming strategy, in re-allocating one or more demands to one or more batches according to the scheduled starting times and associated feedback received from the scheduling engine.
-
-
15. The method of claim 14, wherein scheduling a starting time comprises scheduling a starting time on a particular resource.
-
16. The method of claim 14, wherein scheduling a starting time comprises scheduling a starting time for a batch having a size not suggested by the batch aggregation engine.
-
17. The method of claim 14, wherein the feedback communicated from the scheduling engine to the batch aggregation engine comprises one or more time-based penalties associated with deviating from at least one of the scheduled starting times.
-
18. The method of claim 17, wherein at least one penalty within the feedback communicated from the scheduling engine to the batch aggregation engine is based on a capacity of all available product manufacturing equipment according to a required production of a plurality of different product types.
-
19. The method of claim 17, wherein at least one penalty within the feedback communicated from the scheduling engine to the batch aggregation engine is based on an individual capacity of a piece of manufacturing equipment.
-
20. The method of claim 17, wherein at least one penalty within the feedback communicated from the scheduling engine to the batch aggregation engine is based on a changeover time associated with changing a type of product manufactured in a particular piece of manufacturing equipment.
-
21. The method of claim 14, wherein the steps are repeated in an iterative cycle until the batch aggregation engine and the scheduling engine collaboratively reach a sufficiently optimal batch aggregation and scheduling solution or until a predetermined number of iterations has been reached.
-
22. The method of claim 21, wherein the feedback communicated from the batch aggregation engine to the scheduling engine comprises one or more penalties, associated with deviating from at least one of the suggested starting times or at least one of the suggested sizes, that increase for each iteration in the iterative cycle.
-
23. The method of claim 21, wherein the feedback communicated from the scheduling engine to the batch aggregation engine comprises one or more penalties, associated with deviating from at least one of the scheduled starting times, that increase for each iteration in the iterative cycle.
-
24. The method of claim 14, wherein:
-
allocating demands to batches comprises allocating one or more demands for a first product to one or more batches of the first product and allocating one or more demands for a second product to one or more batches of the second product; and
scheduling starting times for one or more of the batches comprises scheduling a starting time for one or more batches of each of the first and second products.
-
-
25. The method of claim 24, wherein the batches of the first and second products are scheduled such that the batches may be manufactured using the same manufacturing equipment.
-
26. The method of claim 1, wherein allocating demands to batches comprises aggregating a plurality of demands into one or more batches.
-
27. The method of claim 1, wherein allocating demands to batches comprises splitting a demand into a plurality of batches.
-
28. The method of claim 1, wherein allocating demands to batches comprises allocating one or more demands for a partially manufactured product from a previous stage in a manufacturing process to one or more batches.
-
29. A computer-based system for aggregating and scheduling product batches in a manufacturing environment, comprising a batch aggregation engine operable to:
-
allocate one or more product demands to one or more product batches having suggested sizes and suggested starting times according to a mathematical programming strategy, the mathematical programming strategy comprising evaluating a plurality of time-based penalties relative to one another in allocating the demands to the batches, the time-based penalties being based on relationships between suggested starting times for batches and times of demands being considered for allocation to batches; and
communicate the suggested batch sizes, the suggested starting times, and feedback relating to the suggested sizes and suggested starting times from the batch aggregation engine to a scheduling engine to assist the scheduling engine in scheduling starting times for the batches. - View Dependent Claims (30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54)
receive the suggested sizes, suggested starting times, and feedback from the batch aggregation engine;
schedule starting times for the batches according to the suggested sizes, suggested starting times, and feedback received from the batch aggregation engine; and
communicate the scheduled starting times and feedback relating to the scheduled starting times to the batch aggregation engine to assist the batch aggregation engine, implementing the mathematical programming strategy, in re-allocating one or more demands to one or more batches according to the scheduled starting times and associated feedback received from the scheduling engine.
-
-
43. The system of claim 42, wherein the scheduling engine is operable to schedule a starting time of a batch on a particular resource.
-
44. The system of claim 42, wherein the scheduling engine is operable to schedule a starting time for a batch having a size not suggested by the batch aggregation engine.
-
45. The system of claim 42, wherein the feedback communicated from the scheduling engine to the batch aggregation engine comprises one or more time-based penalties associated with deviating from at least one of scheduled starting times.
-
46. The system of claim 45, wherein at least one penalty within the feedback communicated from the scheduling engine to the batch aggregation engine is based on a capacity of all available product manufacturing equipment according to a required production of a plurality of different product types.
-
47. The system of claim 45, wherein at least one penalty within the feedback communicated from the scheduling engine to the batch aggregation engine is based on an individual capacity of a piece of manufacturing equipment.
-
48. The system of claim 45, wherein at least one penalty within the feedback communicated from the scheduling engine to the batch aggregation engine is based on a changeover time associated with changing a type of product manufactured in a particular piece of product manufacturing equipment.
-
49. The system of claim 42, wherein the batch aggregation engine and the scheduling engine are further operable to communicate their respective outputs to each other in an iterative cycle until they collaboratively reach a sufficiently optimal batch aggregation and scheduling solution or until a predetermined number of iterations has been reached.
-
50. The system of claim 49, wherein the feedback communicated from the batch aggregation engine to the scheduling engine comprises one or more penalties, associated with deviating from at least one of the suggested sizes or at least one of the suggested starting times, that increase for each iteration in the iterative cycle.
-
51. The system of claim 49, wherein the feedback communicated from the scheduling engine to the batch aggregation engine comprises one or more penalties, associated with deviating from at least one of the scheduled starting times, that increase for each iteration in the iterative cycle.
-
52. The system of claim 42, wherein:
-
the batch aggregation engine is operable to allocate demands for a first product to batches of the first product and operable to allocate demands for a second product to batches of the second product; and
the scheduling engine is operable to schedule starting times for one or more batches of each of the first and second products.
-
-
53. The system of claim 52, wherein the scheduling engine is operable to schedule the batches of the first and second products such that the batches may be manufactured using the same manufacturing equipment.
-
54. The system of claim 29, wherein the batch aggregation engine is operable to allocate demands for a partially manufactured product from a previous stage in a manufacturing process into one or more batches.
-
55. Computer software for aggregating and scheduling product batches in a manufacturing environment, the software embodied in one or more computer-readable media, the software comprising batch aggregation software operable when executed to:
-
allocate one or more product demands to one or more product batches having suggested sizes and suggested starting times according to a mathematical programming strategy, the mathematical programming strategy comprising evaluating a plurality of time-based penalties relative to one another in allocating the demands to the batches, the time-based penalties being based on relationships between suggested starting times for batches and times of demands being considered for allocation to batches; and
communicate the suggested sizes, the suggested starting times, and feedback relating to the suggested sizes and suggested starting times from the batch aggregation software to scheduling software to assist the scheduling software in scheduling starting times for the batches. - View Dependent Claims (56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82)
schedule starting times for the batches according to the suggested sizes, suggested starting times, and associated feedback received from the batch aggregation software; and
communicate the scheduled starting times and feedback relating to the scheduled starting times from the scheduling software to the batch aggregation software to assist the batch aggregation software, implementing the mathematical programming strategy, in re-allocating one or more demands to one or more batches according to the scheduled starting times and associated feedback received from the scheduling software.
-
-
69. The software of claim 68, wherein scheduling a starting time comprises scheduling a starting time on a particular resource.
-
70. The software of claim 68, wherein scheduling a starting time comprises scheduling a starting time for a batch having a size not suggested by the batch aggregation software.
-
71. The software of claim 68, wherein the feedback communicated from the scheduling software to the batch aggregation software comprises one or more time-based penalties associated with deviating from at least one of the scheduled starting times.
-
72. The software of claim 71, wherein at least one penalty within the feedback communicated from the scheduling software to the batch aggregation software is based on a capacity of all available product manufacturing equipment according to a required production of a plurality of different product types.
-
73. The software of claim 71, wherein at least one penalty within the feedback communicated from the scheduling software to the batch aggregation software is based on an individual capacity of a piece of manufacturing equipment.
-
74. The software of claim 71, wherein at least one penalty within the feedback communicated from the scheduling software to the batch aggregation software is based on a changeover time associated with changing a type of product manufactured in a particular piece of manufacturing equipment.
-
75. The software of claim 68, wherein the steps are repeated in an iterative cycle until the batch aggregation software and the scheduling software collaboratively reach a sufficiently optimal batch aggregation and scheduling solution or until a predetermined number of iterations has been reached.
-
76. The software of claim 75, wherein the feedback communicated from the batch aggregation software to the scheduling software comprises one or more penalties, associated with deviating from at least one of the suggested sizes or at least one of the suggested starting times, that increase for each iteration in the iterative cycle.
-
77. The software of claim 75, wherein the feedback communicated from the scheduling software to the batch aggregation software comprises one or more penalties, associated with deviating from at least one of the scheduled starting times, that increase for each iteration in the iterative cycle.
-
78. The software of claim 68, wherein:
-
allocating demands to batches comprises allocating one or more demands for a first product to one or more batches of the first product and allocating one or more demands for a second product to one or more batches of the second product; and
scheduling a starting time for one or more batches comprises scheduling a starting time for one or more of the batches of each of the first and second products.
-
-
79. The software of claim 78, wherein the batches of the first and second products are scheduled such that the batches may be manufactured using the same manufacturing equipment.
-
80. The software of claim 55, wherein allocating demands to batches comprises aggregating a plurality of demands into one or more batches.
-
81. The software of claim 55, wherein allocating demands to batches comprises splitting a demand into a plurality of batches.
-
82. The software of claim 55, wherein allocating demands to batches comprises allocating one or more demands for a partially manufactured product from a previous stage in a manufacturing process to one or more batches.
-
83. A system for aggregating and scheduling product batches in a manufacturing environment, comprising:
-
batch aggregation means for allocating one or more product demands to one or more product batches having suggested sizes and suggested starting times according to a mathematical programming strategy, the mathematical programming strategy comprising evaluating a plurality of time-based penalties relative to one another in allocating the demands to the batches, the time-based penalties being based on relationships between suggested starting times for batches and times of demands being considered for allocation to batches; and
communication means for communicating the suggested sizes, the suggested starting times, and feedback relating to the suggested sizes and suggested starting times from the batch aggregation means to scheduling means for scheduling starting times for batches to assist the scheduling means in scheduling starting times for the batches.
-
-
84. A method for aggregating and scheduling product batches in a manufacturing environment, comprising:
-
using a batch aggregation engine implementing a mixed-integer linear programming (MILP) strategy, allocating one or more product demands to one or more product batches having suggested sizes and suggested starting times, the MILP strategy comprising evaluating a plurality of time-based penalties relative to one another in allocating the demands to the batches, the time-based penalties being based on relationships between suggested starting times for batches and times of demands being considered for allocation to batches; and
communicating the suggested sizes, the suggested starting times, and feedback relating to the suggested sizes and suggested starting times from the batch aggregation engine to a scheduling engine to assist the scheduling engine in scheduling starting times for the batches, the feedback communicated from the batch aggregation engine to the scheduling engine comprising one or more penalties associated with deviating from at least one of the suggested sizes or at least one of the suggested starting times;
using the scheduling engine, scheduling starting times for the batches according to the suggested sizes, suggested starting times, and associated feedback received from the batch aggregation engine; and
communicating the scheduled starting times and feedback relating to the scheduled starting times from the scheduling engine to the batch aggregation engine to assist the batch aggregation engine, implementing the MILP strategy, in re-allocating one or more demands to one or more batches according to the scheduled starting times and associated feedback received from the scheduling engine, the feedback communicated from the scheduling engine to the batch aggregation engine comprising one or more time-based penalties associated with deviating from at least one of the scheduled starting times; and
repeating the above steps in an iterative cycle until the batch aggregation engine and the scheduling engine collaboratively reach a sufficiently optimal batch aggregation and scheduling solution or until a predetermined number of iterations has been reached.
-
Specification