EP3441915A1 - Verfahren zur optimierung von chargenprozessen, computerprogramm mit einer implementierung des verfahrens und nach dem verfahren arbeitendes system - Google Patents

Verfahren zur optimierung von chargenprozessen, computerprogramm mit einer implementierung des verfahrens und nach dem verfahren arbeitendes system Download PDF

Info

Publication number
EP3441915A1
EP3441915A1 EP17185450.8A EP17185450A EP3441915A1 EP 3441915 A1 EP3441915 A1 EP 3441915A1 EP 17185450 A EP17185450 A EP 17185450A EP 3441915 A1 EP3441915 A1 EP 3441915A1
Authority
EP
European Patent Office
Prior art keywords
plant
graph
batch
candidate set
batches
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
EP17185450.8A
Other languages
English (en)
French (fr)
Inventor
Jens Schnittger
Ulrich Braun
Oliver Thurau
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Siemens AG
Original Assignee
Siemens AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siemens AG filed Critical Siemens AG
Priority to EP17185450.8A priority Critical patent/EP3441915A1/de
Publication of EP3441915A1 publication Critical patent/EP3441915A1/de
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"

Definitions

  • the invention relates to the technical field of batch production and, in principle, to the problem of ascertaining optimal batch sizes as well as an optimal allocation of plant components for a predetermined number of orders which are to be processed within a common, predefinable scheduling period.
  • Each order contains exactly one recipe to be produced.
  • the recipe is produced by a process with a series of process steps, each carried out on one part of the plant. It does not have to be a linear sequence, but there may be a general directed graph (cf. FIG. 5 ).
  • a subdivision is proposed in order to determine an optimal system allocation and an optimal batch size, such that firstly in a first step possible system allocations for the producing recipe are determined for the respective order and then in a subsequent step, an optimized batch size is determined. Finally, the options so defined are passed to an automatic scheduler for creating an optimized schedule.
  • corresponding asset allocation plans (without time information) are created for different possible asset allocations.
  • the plant allocation plans must meet individual boundary conditions.
  • the relevant boundary conditions include, in particular, boundary conditions which ensure that the respective process step can be processed by means of a plant part selected in the context of the plant allocation plan.
  • boundary conditions For example, in the context of the batch process, heating of a product, intermediate, starting product, or source requires the particular piece of equipment to be adapted to effect a temperature change and also be configured to cause a temperature change to the extent and within a predetermined time.
  • an installation part must be suitable for receiving a respective required volume of the respective product, a possible intermediate product or one or more starting materials or starting materials.
  • the resulting asset allocation plans are processed using a scheduler and the result is the desired optimal asset allocation.
  • the central aspect of the innovation proposed here is the way in which the batch size problem is separated from the scheduling problem. The achieved separation allows an optimization of the batch size temporally before the scheduling. Because of this, the scheduler still has some flexibility in the selection of individual plant parts. For the scheduler and its creation of a schedule for collision-free asset allocation, no solution is given here, because a scheduler with a such functionality is already known and according to the approach proposed here it is envisaged to use such a scheduler for the optimization finalization of collision-free schedules as a result of the solution of the scheduling problem.
  • boundary conditions are subdivided into static boundary conditions and dynamic boundary conditions:
  • Static constraints are by definition time-invariant and can therefore be treated prior to scheduling. Accordingly, they are considered first in the process.
  • a device (a plant part, a machine, etc.) must be suitable for a particular process step (stirring, heating, cooling, etc.) of a batch process in order to be used in the batch process.
  • a particular process step for example, an acid may be stored and / or processed only in a container of acid-resistant material or in a container having a coating of an acid-resistant material.
  • Transfer-specific boundary conditions describe the possibilities (or restrictions) of promoting material in the batch process from one plant component to another plant component.
  • the connections existing between at least two parts of the system (which are also summarized below under the generic term "part of the installation") are taken into account. Examples of such compounds are pipelines, conveyor belts and the like. Only solids can be transported via individual compounds, only liquids via other compounds. For a transport of gaseous material special connections in the form of pipes or the like are necessary.
  • a connection that exists between two parts of the system and permits the conveyance of material between these two parts of the installation is a static boundary condition.
  • the availability of such a connection at any given time is a dynamic constraint (see below, point 6).
  • Capacity-related boundary conditions describe the capacity of a respective part of the installation, namely a container in the form of the possible filling volume. Such capacity-related boundary conditions influence, for example, the number of batches necessary for a given product quantity.
  • each process step requires a certain minimum amount of material required and allows only a maximum possible amount of material, and for chemical-physical reasons, in contrast to the above-mentioned capacity constraint.
  • a reaction can be expedient only in a certain amount range of the reactants.
  • the quantities of the input materials of a process step are determined from the quantity of the product to be produced by means of a (generally non-linear) scaling function.
  • the scaling function is recipe-specific and predefined. It maps the desired amount of final product in a given batch to the amount of input material required - generally in stages across multiple intermediates. It is basically nonlinear as Function of the amount of the end product, even if there is mostly a linear range.
  • raw materials or other materials necessary for the batch process may not be available in sufficient quantity.
  • a slightly different result may occur when matching the required quantities of the input materials to the inventories.
  • Dynamic constraints are relevant to the scheduling problem and affect the usage and usability of a particular piece of equipment during a particular period of time.
  • the evaluation of the dynamic boundary conditions will follow to the evaluation of the static boundary conditions (No. 1 to No. 5).
  • a piece of equipment is occupied and then is accordingly not available for selection as part of the optimization. For example, one part of the plant may be occupied during the processing of another recipe. Furthermore, even if it is not currently occupied, a piece of equipment can not be available because it is reserved for compliance with a specific production order. On the other hand, a plant part may be out of operation, for example due to faults, maintenance cases and the like. Finally, a piece of equipment may not be available due to cleaning or the like.
  • waiting-time-related boundary conditions it is considered, for example, that an intermediate product may only remain in one part of the installation for a certain time, for example because the intermediate otherwise hardens in a container and, on the one hand, is lost as an intermediate product and, on the other hand, requires time-consuming cleaning of the part of the installation.
  • Such wait time-related boundary conditions are dependent on the respective material or the respective materials and the respective plant part and influence the start time of a subsequent sub-process. Wait time related constraints are checked for the time difference between the end of a previous thread and the time for the beginning of a subsequent thread.
  • Predetermined or specifiable static and / or dynamic boundary conditions are evaluated. On the basis of the boundary conditions as well as a predefined or specifiable process graph, at least one plant population graph is generated, whereby the or each plant population graph references individual plant components of the respective plant. Based on the or each asset allocation graph and for the or each asset allocation graph, production quantity ranges are determined. Then get to of a solution space, different amounts (candidate sets) are formed.
  • a first candidate set M K (R) includes the or each asset allocation graph and associated production quantity or range of production quantities.
  • a second candidate set C K (R) is formed on the basis of the first candidate set M K (R) and comprises all combinations of plant load graphs from the first candidate set M K (R) suitable for processing the job for exactly one recipe.
  • a corresponding plurality of second candidate sets C K (R) results, namely a respective second candidate set C K (R) for each recipe.
  • only exactly one second candidate set C K (R) results accordingly.
  • a third candidate set C K is formed as a combination of all elements of the or each second candidate set C K (R) . This forms the actual solution space.
  • optimum batch sizes for the respective order are determined and finally a schedule for processing the at least one order with the determined optimal batch sizes is determined on the system parts referenced by a respectively underlying system allocation graph.
  • all elements of C K are used as a basis for a respective timetable, and the element of C K with the best resulting timetable is determined by means of a weighting function. This includes in particular the determination of an optimal batch number for the or each order.
  • the system comprises a means or means which is or are intended and / or are for the automatic execution of the method and the method steps included therein.
  • the subject method is implemented for automatic execution in the form of a computer program.
  • the invention is thus on the one hand also a computer program with computer executable program code instructions and on the other hand a storage medium with such a computer program, that is to say a computer program product with program code means, and finally also a control device in whose memory such a computer program is loaded or loadable as means for carrying out the method and its embodiments.
  • Embodiments of the approach proposed here relate to possibilities for targeted reduction or increase of the scope of the recipe-specific candidate quantity M K (R) (first candidate set) for a system load graph of a particular order / recipe and a resulting further candidate set C K (R) (second candidate set), given as the possible combinations of line occupation graphs from M K (R) for the complete execution of a job / recipe R , and another candidate set C K (third candidate set), given as the possible combinations of elements of C K (R) for the complete execution of all orders / recipes.
  • a reduction of the extent of the first candidate set M K (R) can be done simply by selecting the m best (m ⁇ 1 configurable) plant occupancy graphs with respect to a configurable evaluation function F R.
  • F R assigns to each graph of M K (R) a score that results, for example, from the costs for using the machines used or the quantity flexibility (width of the quantity interval (V min , V max ) for which the system allocation graph is suitable is - see the fifth step).
  • a reduction in the scope of the second candidate quantity C K (R) can be achieved by eliminating the freedom of choice when determining batch sizes by means of an optimization rule. This is described in more detail in step VI.
  • a reduction of the extent of the candidate quantity C K can take place by means of an overlapping coefficient, which expresses a measure of the extent of multiple use of one and the same part of the installation when processing the batches of the different orders, so that if the overlap coefficient is high, it must rather be assumed that the multiple use of the relevant part of the plant can lead to a bottleneck or the prevention of the same to a very long execution time.
  • Such a reduction in the scope of the candidate quantity C K makes sense in terms of a reduction of the processing time in the evaluation of the candidate quantity C K.
  • FIG. 1 shows schematically simplified and expressly only by way of example a technical system 10 for carrying out at least one batch process.
  • the plant 10 comprises different plant parts 12, 13, 14, 15, for example in the form of a container 12, reactor 13 or stirred tank 14 and / or plant parts 15 for cooling and / or heating, and compounds 18 in the form of pipelines, conveyor belts or like.
  • the connections 18 exist between in each case at least two system parts 12-15.
  • a batch process in the present case the execution of a recipe, can involve different plant parts 12-15, the term plant part here and hereinafter being understood in the sense of the preceding examples and generally designating a plant part in the sense of ISA88, namely on all hierarchy levels defined there.
  • a database 20 comprises a model of the system 10 with a description of the system parts 12-15 comprised thereof and the connections 18 existing between the system parts 12-15.
  • the optimizing task formulated at the outset refers to an optimal selection of the respectively required parts of the plant in particular simultaneous execution of several batches 12-15, whereby the choices are limited by the boundary conditions according to No. 1 to No. 4.
  • Simultaneous execution of multiple batches is a simultaneous execution of batches of several different recipes, a simultaneous execution of batches of one and the same recipe or hybrids (several different recipes and several batches to same recipes). At the same time, this does not necessarily mean a common start and end time, but an at least partially temporal parallelism during execution during the disposition period defined at the beginning of the method.
  • the recipe to be processed results on the basis of at least one order for the system 10.
  • Each order includes exactly one recipe to be processed.
  • the recipe is processed as a batch process in the form of a specific number of consecutive batches.
  • the respective order defines a respectively desired target quantity V z of a product resulting as a result of the batch process (the target quantity V z must result as the sum of the batch quantities V batch ).
  • a larger target quantity V z usually leads to an increased batch number.
  • the number of batches necessary for the production of the target quantity V z also depends, for example, on the capacities of the plant parts 12-15 used in the production.
  • the user configures the concrete boundary conditions of the plant 10 (plant parts 12-15 whose capabilities for executing process steps of recipes, connections 18 between the plant parts 12-15, capacities and scaling functions / scaling limits) and defines them via a dedicated user interface and / or supplements a model (database 20) used in the method of the respective production facility 10, which takes into account the plant parts 12-15 belonging to the production facility 10 and between these existing or possible connections 18 (material flow connections).
  • plant parts 12-15 whose capabilities for executing process steps of recipes, connections 18 between the plant parts 12-15, capacities and scaling functions / scaling limits
  • the user specifies in the form of a graph the process steps (still without assignment of specific plant parts 12-15) which are necessary for the execution of the batch process defined by the respective recipe.
  • the resulting graph is a recipe specific process graph 22 and such is in FIG. 2 shown.
  • the process graph 22 comprises in a basically known manner a plurality of nodes 24 connected to each other via so-called (directed) edges.
  • Each node 24 represents a process step necessary in the execution of a single batch of a respective recipe, the edges representing the material flows between them.
  • the order of the nodes 24 according to the arrow direction at the edges connecting them corresponds to the process order during the processing of the batch or the batches.
  • the sequence of the nodes 24 thus describes the order in which an installation part 12-15 of a respective asset class, ie, for example, container 12, reactor 13, stirrer 14, etc., is required in the course of processing a batch (occupancy order).
  • the merging of edges in a node 24 means that here several incoming material flows are combined and consequently all the preceding process steps producing them have to be completed.
  • the user also configures a destination function for an optimal batch size and for evaluating a schedule, which is also created later by a scheduler for processing the or each order, likewise by means of a dedicated user interface. It also configures the maximum number of batches to be considered per order and the still acceptable value of the overlap coefficient described below (VII.).
  • a plurality of plant assignment graphs 26 (FIG. FIG. 5 ) generated.
  • Each process graph 22 comprises in abstract form as node 24 of the graph 22 a specification of the plant parts 12-15 necessary for the processing of the respective recipe (the plant part 12-15 can also be specified in the form of a plant subclass, for example "type A reaction vessels" become). These are referred to below as abstract plant parts.
  • the now automatically generated plant occupancy graphs 26 there takes place in the form of a node 24 in place of an abstract plant part exactly one concrete plant part 12-15, more precisely the referencing exactly one concrete plant part 12-15.
  • it is always referred to briefly as an installation part 12-15, even if only one specification or a referencing of an installation part 12-15 is meant.
  • each asset allocation graph 26 is created on the basis of the process graph 22 of the respective recipe and each asset allocation graph 26 inherits from the underlying process graph 22 its structure, ie the number of nodes 24 and the edges connecting the individual nodes 24 (the process graph 22 is the template) for the plant occupancy graph 26).
  • a list 30 (for each of the underlying process graph 22 included) FIG. 3 ) created with those parts of the plant 12-15, which come as a concrete parts of the plant 12-15 into consideration.
  • the creation of each such list 30 takes place automatically taking into account the information configured by the user in the first method step as to which equipment parts 12-15 can carry out which process steps.
  • the boundary condition according to no. 1 is taken into account.
  • the resulting lists 30 of the graph 28 may also comprise a single piece of equipment 12-15 several times.
  • the resulting graph 28 with the lists 30 associated with each node 24 is shown in FIG FIG. 3 shown.
  • Individual items each one plant part 12-15 referencing entries in these lists 30 are each represented by a horizontal line. The number of entries in the individual lists 30 can be different.
  • Each list 30 includes at least one entry. In the case of an empty list 30 for at least one node 24, the recipe underlying the process graph 22 on the respective system 10 can not be processed.
  • equivalence classes of plant parts 12-15 are formed which are associated with exactly the same predecessors and successors.
  • these plant parts 12-15 are all suitable for carrying out the process step in question, but need not be completely identical, they may differ in their capacity, for example.
  • asset allocation graphs 26 are generated based on such equivalence classes. This is done to more effectively treat the variety of options to be studied. As a result, efficient summaries of the concrete asset allocations possible based on the boundary conditions according to no. 1 and no. 2 are obtained.
  • a possible asset allocation graph 26 is shown in FIG. 5 shown.
  • the list elements each representing a piece of equipment 12-15 form the nodes 24 of the graph 26 and are shown in FIG FIG. 5 symbolically labeled "Unit A1", "Unit A2", etc.
  • the edges shown in the form of thin lines between the nodes 24 represent the fundamentally possible material flow paths between the individual plant parts 12-15 and form edges in other, not shown Anlagenbelegungsgraphen 26.
  • Another Anlagenbelegungsgraph 26 thus includes, for example, the system parts 12-15 with the Designations "Unit A1", “Unit B2", “Unit C2", “Unit E1” and "Unit F1".
  • a further further system allocation graph 26 accordingly comprises, for example, the system components 12-15 with the designations "Unit A2", “Unit B2", “Unit C2", “Unit D2” and "Unit F2" and so on.
  • a list is automatically read by means of an interface to an ERP system or by the user interface mentioned in the two preceding method steps, which are provided with a respective priority and which are to be done within a predetermined or predefinable period of time.
  • the list of these orders is the subject of optimization in this process.
  • the first candidate set M K (R) is started along with the first node 24 there along each plant population graph 26.
  • the limit values for the plant part 12-15 represented by this node 24 are given by the boundary conditions according to No. 4 (lower limit) and No. 3 in connection with No. 4 (upper limit).
  • the resulting lower and upper limit values act as input values for the node (s) 26 immediately following the respective system allocation graph 26.
  • lower and upper limit values can also be determined for these nodes 24, which are the input of an immediately following node 24 and so forth.
  • the lower and upper limits resulting at the end of plant load graph 26 are the limit values characterizing the respective plant load graph 26.
  • the result of this process step are production quantity ranges (V min , V max ) for each individual asset allocation graph 26 and thus for each element of the first candidate quantity M K (R) for each recipe R.
  • the result can be interpreted to be now in an automatically processable form is established that with a system occupancy according to a certain system occupancy graph 26 from a respective desired target amount V z minimum amount V min and at most the amount V max can be produced.
  • Such production corresponds to a batch.
  • the minimum and maximum production quantities are now known during exactly one batch for the different system allocation possibilities encompassed by the first candidate set M K (R) .
  • V z (the quantity to be produced) is determined on the basis of the data available up to here for the individual system allocation graphs 26 (ie the elements of the first candidate set M K (R) ) and by means of a target volume specified by a respective order, by means of which Batches of the order can be processed.
  • the expression "which batch” means that on the one hand a batch number and on the other hand the system allocation graphs 26 for the production of these batches are determined.
  • first, second, third and fourth batch with production quantities of 1,000 kg, 900 kg, 1,000 kg and 300 kg or 900 kg, 1,000 kg, 1,000 kg and 300 kg, respectively.
  • Each selection such as (G “ 1 (1) , G” 2 (1) , G “ 3 (1) , G” 4 (1) , G “ 5 (1) , G” 6 (1) ) denotes a possible one Graphene or batch combination to fixed number of batches, with which the desired target quantity V z of the considered order can be produced. It is understood that the graphs for different numbers of batches are generally not the same.
  • Each individual determined graph / batch combination is referred to below as a candidate and the totality of the candidates forms the second candidate set C K (R) .
  • each batch is processed with the asset allocation defined by it.
  • This expression means that any combination of asset allocation graphs 26 for processing all batches of all orders always results from (independently possible) selection of one set of asset allocation graphs 26 for the complete execution of the order / recipe R.
  • a complete processing of the third candidate set C K may be possible, but may also lead to no more meaningful manageable conditions and extreme processing times. It is therefore provided in a particular embodiment of the approach proposed here that before further processing of the third candidate set C K a basically optional selective reduction of the third candidate set C K takes place.
  • the machine M1 is thus used frequently, namely three times.
  • the overlap coefficient determined in this process step is a plant-specific coefficient and results as a weighted (the weights are parameterizable) sum over the (with 1 subtracted) number with which a machine or a plant part 12-15 appears in the selected set of plant occupancy graphs 26.
  • a machine within a system load graph 26, if it occurs multiple times there, is counted only once, unless the machine is used in parallel branches of the system load graph 26.
  • the frequent use of the machine M1 thereby expressed in an automatically evaluable form indicates a potential bottleneck in the use of the plant 10, because the affected machine M1 can not be used simultaneously, but only sequentially for several batches. To a lesser extent, this applies in the example for the machine M4, but overall results in a considerable overlap coefficient.
  • the overlap coefficient describes a multiple use of plant parts 12-15 across different batches and possibly also within a batch (see above) and is thus a measure of such multiple use.
  • an eighth method step all candidates in the third candidate set C K or all candidates in the third candidate set C K of the or each order, which are reduced by means of overlapping coefficients, are examined with regard to optimum batch sizes.
  • the optimization is done separately for each approved batch number and for each possible combination of graphene for that batch number.
  • This step is basically optional; if you leave it, the batch volumes must be discretized and there may be a very high number of asset allocation graphs 26 in C K to be considered.
  • the (V min , V max ) ranges of the batch volumes in each graph / batch combination that allow production of the target quantity V z of a particular order are now replaced by actual volumes for each lot.
  • an optimization function and an optimization algorithm known per se, for example a genetic algorithm are used.
  • the optimization function can relate, for example, to production costs, in particular production costs including material costs, personnel costs and cleaning costs. Additionally or alternatively, the optimization function can take into account the production duration, ie the duration of the processing of all batches of the order, and / or quality parameters, in particular quality parameters dependent on the batch size.
  • G n (i; n) , V n (i; n ) ) max, where F vol is the evaluation function configured in the second process step to optimize the batch volumes directly from the batch volumes V 1 (i; n) ... V n (i; n) to be varied and indirectly from their assigned (fixed) plant occupancy graphs G 1 (i; n) ... G n (i; n) .
  • the batch volumes were labeled a 1 , b 1 , c 1 , d 1 , etc.). That is, the shape of the evaluation function may basically depend on the selection of the equipment occupancy graphs 26, but the variables of the optimization are always only the volumes V 1 (i; n) ...
  • V n (i; n) V Z .
  • the method to be used for optimization is expediently based on the form of the evaluation function.
  • a heuristic optimization method for example a genetic algorithm.
  • the selection of a possibility from the multitude of possibilities with the help of the optimization reduces the previous solution space.
  • the optimization is not aimed at comparing different sets of plant occupancy graphs 26 of a graph / batch combination with each other and, as a result, except for one set of plant population graphs 26, discarding all other sets of plant population graphs 26. This could in fact lead to a situation in which only a limited number of the system parts 12-15 actually covered by the system 10 are used, because for reasons of cost this makes sense in principle.
  • the result of the analysis is displayed to the plant operator, that is, the missing material quantities or the lower-priority orders that would have to be abandoned.
  • the plant operator can now decide either to increase the stock of materials, to accept reduced quantities for low-priority orders, or to drop the lower-priority orders proposed by the system.
  • a basically known per se scheduler is used in a final ninth process step.
  • a scheduler creates a schedule for the conflict-free use of the individual system parts 12-15, which, when executed, leads to a fulfillment of the or each task in each case.
  • the schedule generated by the scheduler may then be for each of the plurality of possible asset allocation graphs combinations 26 (this can be handled efficiently by parallelizing the calculation).
  • the number of batches per order also varies.
  • An automatic evaluation is possible, for example, on the basis of the objective function defined in the second method step, which, for example, can be aligned with the entire production period for the execution of all orders. The evaluation results of all combinations are compared and the best leads to the selection of the corresponding combination.
  • second candidate set C K (R) can take place, for example by branching back before the sixth method step, the method being executed again from the sixth method step and the specified maximum number of batches is increased. Then, a second candidate set C K (R) results with additional, previously not considered candidates. So the solution space is extended.
  • the modified second candidate set C K (R) is again the basis for determining optimal batch sizes as described above. This can result in a new basis for the scheduler, which eventually leads to a more favorable result with respect to the objective function defined for the scheduler.
  • FIG. 6 shows the described method steps I to IX in a schematically simplified flowchart.
  • a computer program 32 (possibly a distributed computer program) and such a computer program 32 acts as a means of executing the approach described herein.
  • Such a computer program 32 is executed in a basically known manner on a hardware suitable for its execution (possibly a distributed hardware).
  • the hardware comprises at least one computer 34 ( FIG. 7 ) or the like, possibly a computer 34 in the form of an automation device provided for controlling and / or monitoring a technical installation 10.
  • Such a computer 34 comprises, in a manner known per se, a memory in which the computer program 32 for carrying out the method is loaded, and a processing unit in the form of or in the manner of a microprocessor for executing the computer program 32.
  • FIG. 7 shows an overview of the approach proposed here. This can be read from left to right.
  • the system 10 On the left, the system 10 is shown with the system parts 12-15 in the form of a tree.
  • the execution of the individual process steps is shown (from left to right) in the form of an indication of the numbers of the respective process steps.
  • the static constraints Nos 1 and 2 as well as part nos. 3 and 4 as well as the data of each or each are to be processed by the or each contract Recipe evaluated.
  • the result is at least a plant allocation graph 26.
  • the production quantity ranges and the candidate quantity C K are determined on the basis of order data resulting, for example, on the basis of ERP data, again using the boundary conditions according to No. 3 and No. 4.
  • an optimum batch size determination is carried out.
  • the scheduler determines a schedule for processing the or each order.
  • the representation in FIG. 8 shows a schematically simplified representation of a resulting schedule. This can be displayed on a screen for evaluation by a user of the method.
  • the schedule forms the basis for the automatic control of the system 10 for the execution of the or each order.
  • This automatic control of the system 10 comprises a basically known control of the system parts 12-15 included therein, which need no further explanation here.
  • a method for optimizing batch processes, a computer program 32 with an implementation of the method and a system operating according to the method are provided.
  • As part of the method are automatically - so according to the computer program 32 and under control of the computer program 32 - at least one Anlagenbelegungsgraph 26, at least one production amount range, candidate quantities (M K (R) , C K (R) , C K ), optimal batch sizes and a optimum batch number based on one of the candidate sets M K (R) , C K (R) , C K and a schedule for processing an order with the determined optimal number of batches and the determined optimal batch size determined on a plant occupancy graph 26 referenced plant parts 12-15.

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Economics (AREA)
  • Strategic Management (AREA)
  • Marketing (AREA)
  • Game Theory and Decision Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Development Economics (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Factory Administration (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

Die Erfindung ist ein Verfahren zur Optimierung von Chargenprozessen, ein Computerprogramm (32) mit einer Implementierung des Verfahrens und ein nach dem Verfahren arbeitendes System, wobei im Rahmen des Verfahrens automatisch zumindest ein Anlagenbelegungsgraph (26), zumindest ein Produktionsmengenbereich, Kandidatenmengen MK (R), CK (R), CK, optimale Chargengrößen und eine optimale Chargenanzahl auf Basis einer der Kandidatenmengen MK (R), CK (R), CK sowie ein optimaler Zeitplan zur Abarbeitung aller Aufträge auf von einem Anlagenbelegungsgraph (26) referenzierten Anlagenteilen (12-15) ermittelt werden.

Description

  • Die Erfindung betrifft das technische Gebiet der Chargenproduktion und grundsätzlich das Problem einer Ermittlung optimaler Chargengrößen sowie einer optimalen Zuweisung von Anlagenteilen für eine vorgegebene Anzahl von Aufträgen, die innerhalb eines gemeinsamen, vorgebbaren Dispositionszeitraums abzuarbeiten sind. Jeder Auftrag enthält dabei genau ein zu produzierendes Rezept. Das Rezept wird produziert durch einen Prozess mit einer Reihe von Prozessschritten, die jeweils auf einem Anlagenteil ausgeführt werden. Dabei muss es sich nicht um eine lineare Sequenz handeln, sondern es kann ein allgemeiner gerichteter Graph vorliegen (vgl. FIG 5).
  • Speziell bei umfangreichen Produktionsanlagen mit einer Vielzahl von alternativ zur Abwicklung eines Chargenprozesses in Betracht kommenden Anlagenteilen ist eine Ermittlung optimaler Chargengrößen sowie eine optimale Ermittlung von jeweils zu verwendenden Anlagenteilen ein Problem von erheblicher kombinatorischer Komplexität. Die Komplexität wird noch erhöht, wenn weitere Randbedingungen berücksichtigt werden sollen.
  • Im Stand der Technik sind Lösungen für das sogenannte Maschinenbelegungsproblem oder das Maschinenbelegungsproblem mit parallelen Maschinen bekannt. Eine solche Lösung kann hier aufgrund der zusätzlich zu ermittelnden optimalen Chargengröße nicht verwendet werden, denn dieser zusätzliche Parameter verhindert eine Lösung mit akzeptabler Rechenzeit.
  • Nach dem hier vorgeschlagenen Ansatz wird zur Ermittlung einer optimalen Anlagenbelegung und einer optimalen Chargengröße eine Unterteilung vorgeschlagen, derart, dass zunächst in einem ersten Schritt mögliche Anlagenbelegungen für das zu produzierende Rezept für den jeweiligen Auftrag ermittelt werden und dann in einem anschließenden Schritt eine optimierte Chargengröße ermittelt wird. Schließlich werden die so definierten Möglichkeiten an einen automatischen Ablaufplaner (Scheduler) übergeben zur Erstellung eines optimierten Ablaufplans.
  • In dem ersten Schritt entstehen für unterschiedliche mögliche Anlagenbelegungen entsprechende Anlagenbelegungspläne (ohne Zeitinformation).
  • Die Anlagenbelegungspläne müssen einzelnen Randbedingungen genügen. Zu relevanten Randbedingungen gehören insbesondere Randbedingungen, welche sicherstellen, dass mittels eines im Rahmen des Anlagenbelegungsplans ausgewählten Anlagenteils der jeweilige Prozessschritt abgewickelt werden kann. Bei einer im Rahmen des Chargenprozesses notwendigen Erhitzung eines Produkts, Zwischenprodukts, Ausgangsprodukts oder Ausgangsstoffs muss das jeweilige Anlagenteil zum Beispiel dafür eingerichtet sein, eine Temperaturänderung zu bewirken und auch dafür eingerichtet sein, eine Temperaturänderung in dem notwendigen Umfang und innerhalb einer vorgegebenen Zeitspanne zu bewirken. Des Weiteren muss ein Anlagenteil zur Aufnahme eines jeweils erforderlichen Volumens des jeweiligen Produkts, eines eventuellen Zwischenprodukts oder einzelner oder mehrerer Ausgangsprodukte oder Ausgangsstoffe geeignet sein.
  • Die resultierenden Anlagenbelegungspläne werden mittels eines Schedulers verarbeitet und das Ergebnis ist die gewünschte optimale Anlagenbelegung. Der zentrale Aspekt der hier vorgeschlagenen Neuerung besteht in der Art und Weise der Trennung des Chargengrößenproblems von dem Scheduling-Problem. Die erreichte Trennung erlaubt eine Optimierung der Chargengröße zeitlich vor dem Scheduling. Aufgrund dessen verbleibt für den Scheduler noch eine gewisse Flexibilität bei der Auswahl einzelner Anlagenteile. Für den Scheduler und dessen Erstellung eines Zeitplans für eine kollisionsfreie Anlagenbelegung wird hier keine Lösung angegeben, denn ein Scheduler mit einer solchen Funktionalität ist bereits bekannt und nach dem hier vorgeschlagenen Ansatz ist vorgesehen, einen solchen Scheduler für die die Optimierung abschließende Erstellung von kollisionsfreien Zeitplänen als Ergebnis der Lösung des Scheduling-Problems zu verwenden.
  • Nachfolgend werden zunächst die oben erwähnten Randbedingungen erläutert. Die Randbedingungen unterteilen sich in statische Randbedingungen und dynamische Randbedingungen:
  • A Statische Randbedingungen
  • Statische Randbedingungen sind per Definition zeitinvariant und können folglich vor dem Scheduling behandelt werden. Demgemäß werden sie im Rahmen des Verfahrens zuerst betrachtet.
  • 1. Tauglichkeitsspezifische Randbedingungen
  • Eine Vorrichtung (ein Anlagenteil, eine Maschine etc.) muss für einen bestimmten Prozessschritt (Rühren, Heizen, Kühlen etc.) eines Chargenprozesses tauglich sein, um im Rahmen des Chargenprozesses verwendet werden zu können. Eine Säure kann zum Beispiel nur in einem Behälter aus einem der Säure widerstehenden Material oder in einem Behälter mit einer Beschichtung aus einem der Säure widerstehenden Material gelagert und/oder verarbeitet werden.
  • 2. Transferspezifische Randbedingungen
  • Transferspezifische Randbedingungen beschreiben die Möglichkeiten (oder Einschränkungen), Material im Rahmen des Chargenprozesses von einem Anlagenteil zu einem anderen Anlagenteil zu fördern. Dafür werden die zwischen zumindest zwei Anlagenteilen bestehenden Verbindungen (die im Folgenden ebenfalls unter dem Oberbegriff "Anlagenteil" zusammengefasst werden) berücksichtigt. Beispiele für solche Verbindungen sind Rohrleitungen, Transportbänder und dergleichen. Über einzelne Verbindungen können nur Feststoffe transportiert werden, über andere Verbindungen nur Flüssigkeiten. Für einen Transport von gasförmigem Material sind spezielle Verbindungen in Form von Rohrleitungen oder dergleichen notwendig. Eine zwischen zwei Anlagenteilen bestehende und eine Förderung von Material zwischen diesen beiden Anlagenteilen erlaubende Verbindung ist eine statische Randbedingung. Die Verfügbarkeit einer solchen Verbindung zu einem bestimmten Zeitpunkt ist dagegen eine dynamische Randbedingung (siehe unten, Nummer 6).
  • 3. Kapazitätsbezogene Randbedingungen
  • Kapazitätsbezogene Randbedingungen beschreiben die Kapazität eines jeweiligen Anlagenteils, nämlich bei einem Container in Form des möglichen Füllvolumens. Solche kapazitätsbezogenen Randbedingungen beeinflussen zum Beispiel die Anzahl der für eine vorgegebene Produktmenge notwendigen Chargen.
  • 4. Skalierung und skalierungsspezifische Randbedingungen
  • Grundsätzlich erfordert jeder Prozessschritt eine gewisse minimal erforderliche Materialmenge und lässt nur eine maximal mögliche Materialmenge zu, und zwar aus chemisch-physikalischen Gründen, im Unterschied zur oben genannten Kapazitätsrandbedingung. So kann eine Reaktion nur in einem bestimmten Mengenbereich der Reaktanden sinnvoll ablaufen. Die Mengen der Eingangsmaterialien eines Prozessschritts werden mit Hilfe einer (im Allgemeinen nichtlinearen) Skalierungsfunktion aus der Menge des herzustellenden Produkts bestimmt. Die Skalierungsfunktion ist rezeptspezifisch und vorgegeben. Sie bildet die gewünschte Menge des Endprodukts in einer gegebenen Charge ab auf die Menge der dafür notwendigen Eingangsmaterialien - im Allgemeinen in Stufen über mehrere Zwischenprodukte hinweg. Sie ist grundsätzlich nichtlinear als Funktion der Menge des Endprodukts, auch wenn es meistens einen linearen Bereich gibt. So werden z.B. für 100 kg eines Reinigungsmittels 50 kg von Eingangsstoff A, 40 kg von Eingangsstoff B und 30 kg von Eingangsstoff C benötigt. Für 30 kg wird dagegen nicht ein Drittel der Eingangsmengen benötigt, sondern z.B. 20 kg von Eingangsstoff A, 15 kg von Eingangsstoff B und 12 kg von Eingangsstoff C, weil die Herstellung bei geringeren Mengen weniger effizient ist. Unterhalb von 10 kg ist gar keine sinnvolle Herstellung mehr möglich, ebenso ist eine gleichbleibende Qualität oberhalb von 1.000 kg nicht mehr möglich.
  • Diese Grenzen des Herstellbarkeitsbereichs in einer Charge stellen die skalierungsspezifischen Randbedingungen dar. Bezüglich der Einhaltung der minimal erforderlichen Materialmengen ist eine Prüfung mit Hinblick auf die kapazitätsbezogenen Randbedingungen (Nr. 3) erforderlich, d.h. es muss gesichert sein, dass nicht bereits die Eingangsmengen für einen Anlagenteil die Kapazität des zugehörigen Anlagenteils gemäß Randbedingung Nr. 3. überschreiten.
  • 5. Materialverfügbarkeit
  • Im Rahmen des Chargenprozesses notwendige Ausgangsstoffe oder sonstige Materialien stehen gegebenenfalls nicht in ausreichender Menge zur Verfügung. Je nach Chargengröße kann wegen der Nichtlinearität der Skalierungsfunktion ggf. ein etwas anderes Ergebnis beim Abgleich der benötigten Mengen der Eingangsmaterialien gegen die Vorräte entstehen.
  • B. Dynamische Randbedingungen
  • Dynamische Randbedingungen sind für das Scheduling-Problem relevant und betreffen die Nutzung und die Nutzbarkeit eines bestimmten Anlagenteils während einer bestimmten Zeitspanne. Die Auswertung der dynamischen Randbedingungen erfolgt im Anschluss an die Auswertung der statischen Randbedingungen (Nr. 1 bis Nr. 5).
  • 6. Verfügbarkeitsbezogene Randbedingungen
  • Mit solchen Randbedingungen wird berücksichtigt, ob und wann ein Anlagenteil belegt ist und dann entsprechend nicht im Rahmen der Optimierung zur Auswahl zur Verfügung steht. Ein Anlagenteil kann zum Beispiel im Rahmen einer Abarbeitung eines anderen Rezepts belegt sein. Des Weiteren kann ein Anlagenteil auch dann, wenn es aktuell nicht belegt ist, deshalb nicht zur Verfügung stehen, weil es für eine Einhaltung einer speziellen Produktionsreihenfolge reserviert ist. Andererseits kann ein Anlagenteil außer Betrieb sein, zum Beispiel aufgrund von Störungen, Wartungsfällen und dergleichen. Schließlich kann ein Anlagenteil aufgrund von Reinigungsarbeiten oder dergleichen nicht verfügbar sein.
  • 7. Wartezeitbezogene Randbedingungen
  • Mittels wartezeitbezogener Randbedingungen wird zum Beispiel berücksichtigt, dass ein Zwischenprodukt nur für eine bestimmte Zeit in einem Anlagenteil verbleiben darf, zum Beispiel weil das Zwischenprodukt ansonsten in einem Container aushärtet und einerseits als Zwischenprodukt verloren ist und andererseits eine aufwändige Reinigung des Anlagenteils erforderlich macht. Solche wartezeitbezogenen Randbedingungen sind von dem jeweiligen Material oder den jeweiligen Materialien und dem jeweiligen Anlagenteil abhängig und beeinflussen die Startzeit eines nachfolgenden Teilprozesses. Wartezeitbezogene Randbedingungen werden in Bezug auf die Zeitdifferenz zwischen dem Ende eines vorangehenden Teilprozesses und dem Zeitpunkt für den Beginn eines nachfolgenden Teilprozesses überprüft.
  • Eine effiziente automatische Berücksichtigung sämtlicher oben genannter Randbedingungen ist nicht bekannt. Bisherige Lösungen beschränken sich darauf, dass ein Anlagenfahrer - im Wesentlichen aufgrund oftmals langjähriger Erfahrung - einzelne Anlagenteile für die Ausführung eines Chargenprozesses auswählt und dabei Randbedingungen gemäß Nr. 1, Nr. 2 und Nr. 3 berücksichtigt. Chargengrößen werden dabei nicht unter Optimierungsgesichtspunkten betrachtet und stattdessen werden oftmals möglichst große Chargen gefahren. Die Vielzahl der grundsätzlichen Möglichkeiten zur Abarbeitung der vorgegebenen Anzahl von Aufträgen überfordert bei komplexen, polyvalenten Anlagen den Anlagenfahrer bei der Identifikation der besten Vorgehensweise. Ein optimaler Anlagenbetrieb (speziell eine bestmögliche Nutzung der Anlagenteile, schnellstmögliche oder kostengünstigste Produktion) ist auf diese Weise nicht gewährleistet. Schwierig ist dabei vor allem die Wahl der Chargengrößen. Ein schlichtes Fahren möglichst großer Chargen führt oftmals entweder zu einer Überproduktion oder zu einer ungünstig kleinen letzten Charge.
  • Eine Aufgabe der vorliegenden Erfindung besteht folglich darin, eine Lösung für dieses Problem anzugeben, nämlich ein Verfahren zur automatischen Optimierung von Chargenprozessen sowie ein nach dem Verfahren automatisch arbeitendes System.
  • Diese Aufgabe wird erfindungsgemäß mittels eines Verfahrens mit den Merkmalen des Anspruchs 1 gelöst. Die Aufgabe wird erfindungsgemäß ebenfalls mittels eines Systems mit den Merkmalen des parallelen Vorrichtungsanspruchs gelöst. Bei dem Verfahren ist Folgendes vorgesehen: Es werden vorgegebene oder vorgebbare statische und/oder dynamische Randbedingungen ausgewertet. Auf Basis der Randbedingungen sowie eines vorgegebenen oder vorgebbaren Prozessgraphen wird zumindest ein Anlagenbelegungsgraph generiert, wobei der oder jeder Anlagenbelegungsgraph einzelne Anlagenteile der jeweiligen Anlage referenziert. Auf Basis des oder jedes Anlagenbelegungsgraphen und für den oder jeden Anlagenbelegungsgraphen werden Produktionsmengenbereiche ermittelt. Dann werden zum Erhalt eines Lösungsraums verschiedene Mengen (Kandidatenmengen) gebildet. Eine erste Kandidatenmenge MK (R) umfasst den oder jeden Anlagenbelegungsgraphen und eine damit verbundene Produktionsmenge oder einen damit verbundenen Produktionsmengenbereich. Eine zweite Kandidatenmenge CK (R) wird auf Basis der ersten Kandidatenmenge MK (R) gebildet und umfasst alle zur Abarbeitung des Auftrags zu genau einem Rezept geeigneten Kombinationen von Anlagenbelegungsgraphen aus der ersten Kandidatenmenge MK (R). Bei einem Auftrag mit einer Mehrzahl von Rezepten ergibt sich entsprechend eine Mehrzahl von zweiten Kandidatenmengen CK (R), nämlich jeweils eine zweite Kandidatenmenge CK (R) für jedes Rezept. Bei einem Auftrag mit nur einem Rezept ergibt sich entsprechend nur genau eine zweite Kandidatenmenge CK (R). Schließlich wird auf Basis der oder jeder zweiten Kandidatenmenge CK (R) eine dritte Kandidatenmenge CK als Kombination aller Elemente der oder jeder zweiten Kandidatenmenge CK (R) gebildet. Diese bildet den eigentlichen Lösungsraum. Auf Basis der oder jeder zweiten Kandidatenmenge CK (R) werden optimale Chargengrößen für den jeweiligen Auftrag ermittelt und schließlich wird ein Zeitplan zur Abarbeitung des zumindest einen Auftrags mit den ermittelten optimalen Chargengrößen auf den von einem jeweils zugrunde liegenden Anlagenbelegungsgraph referenzierten Anlagenteilen ermittelt. Dabei werden prinzipiell alle Elemente von CK als Grundlage für jeweils einen Zeitplan herangezogen und mittels einer Bewertungsfunktion das Element von CK mit dem besten resultierenden Zeitplan bestimmt. Dies beinhaltet insbesondere die Festlegung einer optimalen Chargenanzahl für den oder jeden Auftrag.
  • Die Begriffe "Optimierung" und "optimal" meinen hier und im Folgenden nicht das exakte, theoretisch mögliche Optimum, sondern vielmehr eine Optimierung gegenüber dem, was bisher mittels einer manuellen Planung durch einen Anlagenfahrer oder einer Planung aufgrund von Erfahrungswissen erreichbar war.
  • Mittels des Systems, also einem Computersystem mit zumindest einem Computer, ist das hier und im Folgenden beschriebene Verfahren ausführbar und entsprechend umfasst das System ein Mittel oder Mittel, welche zur automatischen Ausführung des Verfahrens und der davon umfassten Verfahrensschritte bestimmt und eingerichtet ist bzw. sind.
  • Für die weitere Beschreibung gilt zur Vermeidung unnötiger Wiederholungen, dass Merkmale und Details, die im Zusammenhang mit dem genannten Verfahren sowie eventueller Ausgestaltungen beschrieben sind, selbstverständlich auch im Zusammenhang mit und im Hinblick auf ein zur Ausführung des Verfahrens eingerichtetes System und umgekehrt gelten. Dementsprechend kann das Verfahren auch mittels einzelner oder mehrerer Verfahrensmerkmale fortgebildet sein, die sich auf von dem System ausgeführte Verfahrensschritte beziehen, und das System kann entsprechend auch durch Mittel zur Ausführung von im Rahmen des Verfahrens ausgeführten Verfahrensschritten fortgebildet sein. Folglich gelten Merkmale und Details, die im Zusammenhang mit dem genannten Verfahren und eventueller Ausgestaltungen beschrieben sind, selbstverständlich auch im Zusammenhang mit und im Hinblick auf das zur Ausführung des Verfahrens bestimmte System und umgekehrt, so dass bezüglich der Offenbarung zu den einzelnen Aspekten der Erfindung stets wechselseitig Bezug genommen wird bzw. werden kann.
  • Der Vorteil des hier vorgeschlagenen Ansatzes besteht darin, dass normalerweise deutlich bessere Anlagenbelegungen gefunden werden und kürzere Produktionszeiten resultieren, als dies bei einer Planung durch einen menschlichen Anlagenfahrer zu erwarten ist. Die Aufgabe des Anlagenfahrers ist deutlich vereinfacht und dieser kann sich auf die Überwachung der Produktionsanlage konzentrieren.
  • Das gegenständliche Verfahren ist zur automatischen Ausführung in Form eines Computerprogramms realisiert. Die Erfindung ist damit einerseits auch ein Computerprogramm mit durch einen Computer ausführbaren Programmcodeanweisungen und andererseits ein Speichermedium mit einem derartigen Computerprogramm, also ein Computerprogrammprodukt mit Programmcodemitteln, sowie schließlich auch eine Steuerungseinrichtung, in deren Speicher als Mittel zur Durchführung des Verfahrens und seiner Ausgestaltungen ein solches Computerprogramm geladen oder ladbar ist.
  • Wenn im Folgenden Verfahrensschritte oder Verfahrensschrittfolgen beschrieben werden, bezieht sich dies auf Aktionen, die aufgrund des Computerprogramms oder unter Kontrolle des Computerprogramms erfolgen, sofern nicht ausdrücklich darauf hingewiesen ist, dass einzelne Aktionen durch einen Benutzer des Computerprogramms veranlasst werden. Zumindest bedeutet jede Verwendung des Begriffs "automatisch", dass die betreffende Aktion aufgrund des Computerprogramms oder unter Kontrolle des Computerprogramms erfolgt.
  • Vorteilhafte Ausgestaltungen der Erfindung sind Gegenstand der Unteransprüche. Dabei verwendete Rückbeziehungen innerhalb der Ansprüche weisen auf die weitere Ausbildung des Gegenstandes des in Bezug genommenen Anspruchs durch die Merkmale des jeweiligen abhängigen Anspruchs hin. Sie sind nicht als ein Verzicht auf die Erzielung eines selbständigen, gegenständlichen Schutzes für die Merkmale oder Merkmalskombinationen eines abhängigen Anspruchs zu verstehen. Des Weiteren ist im Hinblick auf eine Auslegung der Ansprüche sowie der Beschreibung bei einer näheren Konkretisierung eines Merkmals in einem abhängigen Anspruch davon auszugehen, dass eine derartige Beschränkung in den jeweils vorangehenden Ansprüchen sowie einer allgemeineren Ausführungsform des gegenständlichen Verfahrens nicht vorhanden ist. Jede Bezugnahme in der Beschreibung auf Aspekte abhängiger Ansprüche ist demnach auch ohne speziellen Hinweis ausdrücklich als Beschreibung optionaler Merkmale zu lesen.
  • Ausführungsformen des hier vorgeschlagenen Ansatzes beziehen sich auf Möglichkeiten zur gezielten Reduzierung oder Erhöhung des Umfangs der rezeptspezifischen Kandidatenmenge MK (R) (erste Kandidatenmenge) für einen Anlagenbelegungsgraphen eines bestimmten Auftrags/Rezepts sowie einer sich daraus ergebenden weiteren Kandidatenmenge CK (R) (zweite Kandidatenmenge), gegeben als die möglichen Kombinationen von Anlagenbelegungsgraphen aus MK (R) zur vollständigen Abarbeitung eines Auftrags/Rezepts R, und einer nochmals weiteren Kandidatenmenge CK (dritte Kandidatenmenge), gegeben als die möglichen Kombinationen von Elementen von CK (R) zur vollständigen Abarbeitung aller Aufträge/Rezepte.
  • Eine Reduktion des Umfangs der ersten Kandidatenmenge MK (R) kann einfach durch Auswahl der m besten (m≥1 konfigurierbar) Anlagenbelegungsgraphen bezüglich einer konfigurierbaren Bewertungsfunktion FR geschehen. FR ordnet jedem Graphen aus MK (R) einen Score zu, der sich z.B. ergibt aus den Kosten für die Benutzung der eingesetzten Maschinen oder der Mengenflexibilität (Breite des Mengen-Intervalls (Vmin, Vmax), für das der Anlagenbelegungsgraph tauglich ist - siehe fünfter Verfahrensschritt).
  • Eine Reduktion des Umfangs der zweiten Kandidatenmenge CK (R) kann durch eine Aufhebung der Wahlfreiheit bei der Festlegung von Chargengrößen durch eine Optimierungsvorschrift erfolgen. Dies wird in Schritt VI genauer beschrieben.
  • Eine Reduktion des Umfangs der Kandidatenmenge CK kann mittels eines Überlappungskoeffizienten erfolgen, welcher ein Maß für den Umfang einer mehrfachen Benutzung ein und desselben Anlagenteils bei der Abarbeitung der Chargen der verschiedenen Aufträge ausdrückt, so dass bei einem hohen Überlappungskoeffizienten eher davon ausgegangen werden muss, dass die mehrfache Benutzung des betreffenden Anlagenteils zu einem Engpass führen kann bzw. die Vermeidung desselben zu einer sehr langen Abarbeitungsdauer. Eine solche Reduktion des Umfangs der Kandidatenmenge CK ist im Sinne einer Reduktion der Bearbeitungszeit bei der Auswertung der Kandidatenmenge CK sinnvoll.
  • Allerdings kann es auch sinnvoll sein, Reduzierungen der Kandidatenmengen MK, CK (R) und CK teilweise wieder rückgängig zu machen, wenn sich mit den reduzierten Kandidatenmengen keine gute Lösung des Gesamtproblems finden lässt. Dies ist zum Beispiel dann der Fall, wenn mittels des Schedulers ein ungünstiger Zeitplan, insbesondere ein Zeitplan, der einen zu schwachen Score bezüglich einer vorgegebenen oder vorgebbaren Zielfunktion erzielt, erstellt wurde. Dann kann mit einiger Wahrscheinlichkeit davon ausgegangen werden, dass eine Lösungsmöglichkeit, die zu einem günstigeren Zeitplan geführt hätte, im Rahmen der Begrenzungen von MK (R), CK (R) und CK (wie oben beschrieben) ausgeschieden wurde. Man kann dann etwa zur Erhöhung des Umfangs der Kandidatenmenge CK bzw. CK (R) den Schwellwert für einen noch akzeptablen Überlappungskoeffizienten bzw. die maximale Chargenanzahl heraufsetzen.
  • Nachfolgend wird ein Ausführungsbeispiel der Erfindung anhand der Zeichnung näher erläutert. Einander entsprechende Gegenstände oder Elemente sind in allen Figuren mit den gleichen Bezugszeichen versehen.
  • Das Ausführungsbeispiel ist nicht als Einschränkung der Erfindung zu verstehen. Vielmehr sind im Rahmen der vorliegenden Offenbarung durchaus auch Ergänzungen und Modifikationen möglich, insbesondere solche, die zum Beispiel durch Kombination oder Abwandlung von einzelnen in Verbindung mit den im allgemeinen oder speziellen Beschreibungsteil beschriebenen sowie in den Ansprüchen und/oder der Zeichnung enthaltenen Merkmalen oder Verfahrensschritten für den Fachmann im Hinblick auf die Lösung der Aufgabe entnehmbar sind und durch kombinierbare Merkmale zu einem neuen Gegenstand oder zu neuen Verfahrensschritten bzw. Verfahrensschrittfolgen führen.
  • Es zeigen
  • FIG 1
    eine Produktionsanlage für einen oder mehrere Chargenprozesse,
    FIG 2
    bis
    FIG 5
    Graphen zur Modellierung der Anforderungen bei der Abarbeitung eines vorgegebenen Rezepts auf einer jeweiligen Produktionsanlage,
    FIG 6
    eine Abfolge der im Folgenden erläuterten Verfahrensschritte gemäß dem hier vorgeschlagenen Ansatz sowie ein eine Implementation der Verfahrensschritte umfassendes Computerprogramm,
    FIG 7
    eine Übersichtsdarstellung des hier vorgeschlagenen Ansatzes und
    FIG 8
    einen als Ergebnis des Optimierungsverfahrens resultierenden Zeitplan.
  • Die Darstellung in FIG 1 zeigt schematisch vereinfacht und ausdrücklich nur exemplarisch eine technische Anlage 10 zur Ausführung zumindest eines Chargenprozesses. Die Anlage 10 umfasst unterschiedliche Anlagenteile 12, 13, 14, 15, zum Beispiel in Form eines Containers 12, Reaktors 13 oder Rührbehälters 14 und/oder Anlagenteile 15 zum Kühlen und/oder zum Heizen, sowie Verbindungen 18 in Form von Rohrleitungen, Förderbändern oder dergleichen. Die Verbindungen 18 bestehen zwischen jeweils zumindest zwei Anlagenteilen 12-15. Ein Chargenprozess, vorliegend die Abarbeitung eines Rezepts, kann unterschiedliche Anlagenteile 12-15 involvieren, wobei der Begriff Anlagenteil hier und im Folgenden im Sinne der vorangehenden Beispiele verstanden wird und allgemein ein Anlagenteil im Sinne der ISA88 bezeichnet, und zwar auf allen dort definierten Hierarchieebenen. Eine Datenbasis 20 umfasst ein Modell der Anlage 10 mit einer Beschreibung der davon umfassten Anlagenteile 12-15 sowie der zwischen den Anlagenteilen 12-15 bestehenden Verbindungen 18.
  • Die eingangs formulierte Optimierungsaufgabe bezieht sich bei einer insbesondere gleichzeitigen Ausführung mehrerer Chargen auf eine optimale Auswahl der jeweils notwendigen Anlagenteile 12-15, wobei die Auswahlmöglichkeiten durch die Randbedingungen gemäß Nr. 1 bis Nr. 4 beschränkt sind. Als gleichzeitige Ausführung mehrerer Chargen wird eine gleichzeitige Ausführung von Chargen mehrerer unterschiedlicher Rezepte, eine gleichzeitige Ausführung von Chargen ein und desselben Rezepts oder Mischformen (mehrere unterschiedliche Rezepte und mehrere Chargen zu gleichen Rezepten) bezeichnet. Gleichzeitig meint dabei nicht notwendig einen gemeinsamen Start- und Endzeitpunkt, sondern eine zumindest abschnittsweise zeitliche Parallelität während der Ausführung während des zu Beginn des Verfahrens definierten Dispositionszeitraums.
  • Das abzuarbeitende Rezept ergibt sich aufgrund zumindest eines für die Anlage 10 vorliegenden Auftrags. Jeder Auftrag umfasst genau ein abzuarbeitendes Rezept. Das Rezept wird als Chargenprozess in Form einer bestimmten Anzahl aufeinander folgender Chargen abgearbeitet. Der jeweilige Auftrag definiert eine jeweils gewünschte Zielmenge Vz eines als Ergebnis des Chargenprozesses resultierenden Produkts (die Zielmenge Vz muss sich als die Summe der Chargenmengen VCharge ergeben). Eine größere Zielmenge Vz führt üblicherweise zu einer erhöhten Chargenanzahl. Gleichwohl hängt die Anzahl der zur Produktion der Zielmenge Vz notwendigen Chargen zum Beispiel auch von den Kapazitäten der im Rahmen der Produktion verwendeten Anlagenteile 12-15 ab.
  • Der Ablauf des hier vorgeschlagenen Verfahrens für eine solche Optimierung gliedert sich grob in mehrere Verfahrensschritte, die nachfolgend in einer möglichen und sinnvollen Reihenfolge erläutert werden. Dennoch ist die hier beschriebene Reihenfolge nicht in jedem Fall zwingend und die Reihenfolge einzelner Verfahrensschritte ist grundsätzlich veränderbar. Grundsätzlich gilt, dass vor einem bestimmten Verfahrensschritt der oder jeder vorangehende Verfahrensschritt ausgeführt sein muss, der Ergebnisse liefert, die für die Ausführung des jeweiligen Verfahrensschritts notwendig sind und gewissermaßen als Eingang oder Eingänge für diesen Verfahrensschritt fungieren.
  • I. Erster Verfahrensschritt
  • In einem ersten Verfahrensschritt konfiguriert der Benutzer über eine dafür vorgesehene Benutzerschnittstelle die konkreten Randbedingungen der Anlage 10 (Anlagenteile 12-15, deren Fähigkeiten zur Ausführung von Prozessschritten von Rezepten, Verbindungen 18 zwischen den Anlagenteilen 12-15, Kapazitäten und Skalierungsfunktionen/Skalierungslimits) und definiert und/oder ergänzt dabei ein im Rahmen des Verfahrens verwendetes Modell (Datenbasis 20) der jeweiligen Produktionsanlage 10, welches die zu der Produktionsanlage 10 gehörigen Anlagenteile 12-15 und zwischen diesen bestehende oder mögliche Verbindungen 18 (Materialflussverbindungen) berücksichtigt.
  • Des Weiteren spezifiziert der Benutzer für jedes auf der Anlage 10 ausführbare Rezept in Form eines Graphen die Prozessschritte (noch ohne Zuweisung konkreter Anlagenteile 12-15), die für die Ausführung des durch das jeweilige Rezept definierten Chargenprozesses notwendig sind. Der resultierende Graph ist ein rezeptspezifischer Prozessgraph 22 und ein solcher ist in FIG 2 gezeigt.
  • Der Prozessgraph 22 umfasst in grundsätzlich an sich bekannter Art und Weise eine Mehrzahl von über sogenannte (gerichtete) Kanten miteinander verbundenen Knoten 24. Jeder Knoten 24 repräsentiert einen im Rahmen der Abarbeitung einer einzelnen Charge eines jeweiligen Rezepts notwendigen Prozessschritt, die Kanten repräsentieren die Materialflüsse zwischen ihnen. Die Reihenfolge der Knoten 24 entsprechend der Pfeilrichtung an den sie verbindenden Kanten entspricht der Prozessreihenfolge während der Abarbeitung der Charge oder der Chargen. Die Reihenfolge der Knoten 24 beschreibt also, in welcher Reihenfolge jeweils ein Anlagenteil 12-15 einer jeweiligen Anlagenklasse, also zum Beispiel Container 12, Reaktor 13, Rührer 14 etc., im Rahmen der Abarbeitung einer Charge benötigt wird (Belegungsreihenfolge). Dabei sind parallele Zweige des Prozessgraphen 22 so zu verstehen, dass sie unabhängig voneinander abgearbeitet werden können. Die Zusammenführung von Kanten in einem Knoten 24 bedeutet, dass hier mehrere eingehende Materialflüsse vereinigt werden und folglich alle sie produzierenden Vorgängerprozessschritte abgeschlossen sein müssen.
  • II. Zweiter Verfahrensschritt
  • In einem zweiten Verfahrensschritt konfiguriert der Benutzer - ebenfalls mittels einer dafür vorgesehenen Benutzerschnittstelle - jeweils eine Zielfunktion für eine optimale Chargengröße und zur Bewertung eines Zeitplans, welcher später von einem Scheduler zur Abarbeitung des oder jedes Auftrags erstellt wird. Ebenso konfiguriert er die Maximalzahl der zu betrachtenden Chargen pro Auftrag sowie den noch akzeptablen Wert des weiter unten (VII.) beschriebenen ÜberlappungsKoeffizienten.
  • III. Dritter Verfahrensschritt
  • In einem dritten Verfahrensschritt werden automatisch auf Basis des oder jedes Prozessgraphen 22 aus dem ersten Verfahrensschritt (mehrere Prozessgraphen 22 bei mehreren Rezepten) eine Mehrzahl von Anlagenbelegungsgraphen 26 (FIG 5) erzeugt. Jeder Prozessgraph 22 umfasst in abstrakter Form als Knoten 24 des Graphen 22 eine Spezifikation der für die Abarbeitung des jeweiligen Rezepts notwendigen Anlagenteile 12-15 (das Anlagenteil 12-15 kann auch in Form einer Anlagenteilklasse, zum Beispiel "Reaktionsbehälter vom Typ A", spezifiziert werden). Diese werden im Folgenden als abstrakte Anlagenteile bezeichnet. In den jetzt automatisch erzeugten Anlagenbelegungsgraphen 26 tritt dort in Form eines Knotens 24 an die Stelle eines abstrakten Anlagenteils jeweils genau ein konkretes Anlagenteil 12-15, genauer gesagt die Referenzierung genau eines konkreten Anlagenteils 12-15. Im Folgenden wird im Interesse einer besseren Lesbarkeit der weiteren Beschreibung immer kurz von einem Anlagenteil 12-15 gesprochen, auch wenn nur eine Spezifikation oder eine Referenzierung eines Anlagenteils 12-15 gemeint ist.
  • Zur Erzeugung der Anlagenbelegungsgraphen 26 wird für jedes einzelne Rezept ein zunächst noch im Wesentlichen leerer Graph 28 erzeugt. Jeder Anlagenbelegungsgraph 26 entsteht auf Basis des Prozessgraphen 22 des jeweiligen Rezepts und jeder Anlagenbelegungsgraph 26 erbt von dem zugrunde liegenden Prozessgraph 22 dessen Struktur, also die Anzahl der Knoten 24 sowie die die einzelnen Knoten 24 verbindenden Kanten (der Prozessgraph 22 ist die Vorlage / das Template für den Anlagenbelegungsgraph 26).
  • An den Knoten 24 des auf Basis des Prozessgraphen 22 erzeugten Graphen 28 (FIG 3) wird für jedes von dem zugrunde liegenden Prozessgraphen 22 umfasste abstrakte Anlagenteil eine Liste 30 (FIG 3) mit denjenigen Anlagenteilen 12-15 erstellt, die als konkrete Anlagenteile 12-15 in Betracht kommen. Das Erstellen einer jeden solchen Liste 30 erfolgt automatisch unter Berücksichtigung der vom Benutzer im ersten Verfahrensschritt konfigurierten Angaben darüber, welche Anlagenteile 12-15 welche Prozessschritte ausführen können. Damit wird die Randbedingung gemäß Nr. 1 berücksichtigt.
  • Anlagenteile 12-15, deren Kapazität (Randbedingungen gemäß Nr. 3) gemäß der Skalierung und der skalierungsspezifischen Randbedingungen (Randbedingungen gemäß Nr. 4) für eine Verwendung bei der Abarbeitung des jeweiligen Rezepts nicht ausreicht, werden nicht berücksichtigt.
  • Beim Stadium der Planung zum Ende der Erstellung dieser Listen 30 können die resultierenden Listen 30 des Graphen 28 ein und dasselbe Anlagenteil 12-15 auch mehrfach umfassen. Der resultierende Graph 28 mit den mit jedem Knoten 24 verbundenen Listen 30 ist in der Darstellung in FIG 3 gezeigt. Einzelne jeweils ein Anlagenteil 12-15 referenzierende Einträge in diesen Listen 30 sind jeweils durch eine horizontale Linie dargestellt. Die Anzahl der Einträge in den einzelnen Listen 30 kann unterschiedlich sein. Jede Liste 30 umfasst zumindest einen Eintrag. Im Falle einer leeren Liste 30 für zumindest einen Knoten 24 kann das dem Prozessgraph 22 zugrunde liegende Rezept auf der jeweiligen Anlage 10 nicht abgearbeitet werden.
  • Nach der Erstellung der Listen 30 wird der Inhalt der Listen 30 reduziert. Dabei werden entlang jedes bis jetzt erzeugten Graphen 28 alle Knoten 24 besucht. Bei der weiteren Erläuterung wird nachfolgend vereinfachend im Folgenden mitunter nur von einem Knoten 24 gesprochen, auch wenn tatsächlich die mit diesem Knoten 24 verbundene Liste 30 und/oder die dort eingetragenen Anlagenteile 12-15 gemeint ist bzw. sind. Für jeden Knoten 24 wird für die in dessen Liste 30 eingetragenen Anlagenteile 12-15 anhand der transferspezifischen Randbedingungen (Randbedingungen gemäß Nr. 2) geprüft, ob zumindest eine Verbindung 18 von diesem Anlagenteil 12-15 zu einem Anlagenteil 12-15 eines entlang des Graphen 28 unmittelbar nachfolgenden Knotens 24 besteht. Im Falle einer solchen (möglichen) Verbindung 18 bleibt das Anlagenteil 12-15 in der Liste 30 enthalten. Ansonsten wird es aus der Liste 30 gelöscht. Ab dem zweiten Knoten 24 (mehrere erste (initiale) Knoten 24 sind möglich) des Graphen 28 wird für die von dessen Liste 30 umfassten Anlagenteile 12-15 anhand der transferspezifischen Randbedingungen (Randbedingungen gemäß Nr. 2) zusätzlich auch geprüft, ob eine Verbindung 18 zu einem Anlagenteil 12-15 des unmittelbar vorangehenden Knotens 24 besteht. Auch hier bleibt im Falle einer (möglichen) Verbindung 18 das Anlagenteil 12-15 in der Liste 30 enthalten. Ansonsten wird es aus der Liste 30 gelöscht. Im Zuge dieser "Ausdünnung" der Inhalte der Listen 30, wenn also geprüft wird, ob zwischen den einzelnen in den Listen 30 referenzierten Anlagenteilen 12-15 eine einen Materialfluss erlaubende Verbindung 18 besteht, werden diese Verbindungen 18 als Kanten in den bisher entstandenen Graph 28 eingetragen (FIG 4), und zwar nicht zwischen den bisherigen Knoten 24, sondern zwischen den einzelnen Listenelementen, die damit als Knoten 24 eines resultierenden Graphen 26 fungieren. Dieser resultierende Graph 26 ist der auf Basis des Prozessgraphen 22 entstandene Anlagenbelegungsgraph 26.
  • Bei der Prozedur werden, wo möglich, zur Beschleunigung des Ablaufs Äquivalenzklassen von Anlagenteilen 12-15 gebildet, die mit genau denselben Vorgängern und Nachfolgern verbunden sind. Diese Anlagenteile 12-15 sind natürlich gemäß Konstruktion alle zur Ausführung des in Frage stehenden Prozessschritts geeignet, müssen aber nicht vollkommen identisch sein, sie können zum Beispiel in ihrer Kapazität differieren. Zunächst werden Anlagenbelegungsgraphen 26 auf der Basis solcher Äquivalenzklassen erzeugt. Dies geschieht zur effektiveren Behandlung der Vielfalt der zu untersuchenden Möglichkeiten. Als Ergebnis erhält man effiziente Zusammenfassungen der auf Basis der Randbedingungen gemäß Nr. 1 und Nr. 2 möglichen konkreten Anlagenbelegungen.
  • Ein möglicher Anlagenbelegungsgraph 26 ist in der Darstellung in FIG 5 gezeigt. Die jeweils ein Anlagenteil 12-15 repräsentierenden Listenelemente (FIG 4) bilden die Knoten 24 des Graphen 26 und sind in der Darstellung in FIG 5 symbolisch mit "Unit A1", "Unit A2" usw. bezeichnet. Die in Form dünner Linien zwischen den Knoten 24 gezeigten Kanten stellen die grundsätzlich möglichen Materialflusswege zwischen den einzelnen Anlagenteilen 12-15 dar und bilden Kanten in weiteren, nicht gezeigten Anlagenbelegungsgraphen 26. Ein weiterer Anlagenbelegungsgraph 26 umfasst also zum Beispiel die Anlagenteile 12-15 mit den Bezeichnungen "Unit A1", "Unit B2", "Unit C2", "Unit E1" und "Unit F1". Ein nochmals weiterer Anlagenbelegungsgraph 26 umfasst entsprechend zum Beispiel die Anlagenteile 12-15 mit den Bezeichnungen "Unit A2", "Unit B2", "Unit C2", "Unit D2" sowie "Unit F2" und so weiter.
  • Die bei dem in FIG 5 gezeigten Anlagenbelegungsgraph 26 in Produktionsrichtung "parallelen" Anlagenteile 12-15 mit den Bezeichnungen "Unit D1" und "Unit E1" stellen eine Situation dar, bei der das vorangehende Anlagenteil 12-15 ("Unit C1") mit verschiedenen Materialströmen in Richtung auf zwei nachfolgende Anlagenteile 12-15 ("Unit D1", "Unit E1") entleert und deren Ausgabe anschließend in einem Anlagenteil 12-15 ("Unit F1") zusammengeführt wird.
  • Als Ergebnis dieses Verfahrensschritts ergibt sich eine Vielzahl von Anlagenbelegungsgraphen 26, die im Folgenden symbolisch als G1, G2 ... Gi bezeichnet werden. Alle Anlagenbelegungsgraphen 26 für ein gegebenes Rezept bilden zusammen die Menge (erste Kandidatenmenge) der Anlagenbelegungsgraphen 26: MK (R) = [G1(R), G2(R), G3(R) ... Gi(R)]. An dieser Stelle sei in Erinnerung gerufen, dass ein Anlagenbelegungsgraph 26 immer zu genau einem sich aufgrund eines Auftrags für die Produktionsanlage 10 ergebenden Rezept gehört. Eine Mehrzahl von Rezepten kann symbolisch als R1, R2 usw. geschrieben werden. Ein zu einem bestimmten Rezept gehöriger Anlagenbelegungsgraph 26 kann entsprechend symbolisch als Gi(Rr) geschrieben werden. Tatsächlich ist die Anzahl der möglichen Anlagenbelegungsgraphen 26 für unterschiedliche Rezepte üblicherweise unterschiedlich.
  • IV. Vierter Verfahrensschritt
  • In einem vierten Verfahrensschritt wird automatisch mittels einer Schnittstelle zu einem ERP-System oder von der in den beiden vorangegangenen Verfahrensschritten erwähnten Benutzerschnittstelle eine Liste mit Aufträgen eingelesen, die mit einer jeweiligen Priorität versehen sind und die innerhalb einer vorgegebenen oder vorgebbaren Zeitspanne zu erledigen sind. Die Liste dieser Aufträge ist Gegenstand der Optimierung in diesem Verfahren.
  • V. Fünfter Verfahrensschritt
  • In einem fünften Verfahrensschritt erfolgt eine Ermittlung von Produktionsmengenbereichen für die Graphen Gi(R) (= Anlagenbelegungsgraphen 26). Mit einer Anlagenbelegung gemäß jedem Graph Gi(R) aus der ersten Kandidatenmenge MK (R) ist jeweils eine minimale Produktionsmenge und eine maximal mögliche Produktionsmenge verbunden, also ein durch solche Unter- und Obergrenzen definierter Produktionsmengenbereich.
  • Die konkreten Werte für solche Unter- und Obergrenzen ergeben sich aufgrund der zuvor definierten Randbedingungen, nämlich die jeweilige Untergrenze aufgrund der Spezifikationen der Skalierung und der skalierungsspezifischen Randbedingungen (siehe oben, Nr. 4) und die Obergrenze folgt aus einer Kombination der kapazitätsbezogenen Randbedingungen (siehe oben, Nr. 3) sowie der Skalierung und der skalierungsspezifischen Randbedingungen (siehe oben, Nr. 4).
  • Zur Ermittlung der unteren und oberen Grenzwerte wird entlang jedes Anlagenbelegungsgraphen 26 aus der ersten Kandidatenmenge MK (R) mit dem/den dortigen ersten Knoten 24 begonnen. Die Grenzwerte für das durch diese(n) Knoten 24 repräsentierte Anlagenteil 12-15 ergeben sich aufgrund der Randbedingungen gemäß Nr. 4 (unterer Grenzwert) bzw. Nr. 3 in Verbindung mit Nr. 4 (oberer Grenzwert). Die resultierenden unteren und oberen Grenzwerte fungieren als Eingangswerte für den/die entlang des jeweiligen Anlagenbelegungsgraphen 26 unmittelbar nachfolgende(n) Knoten 24. Damit können auch für diese(n) Knoten 24 untere und obere Grenzwerte ermittelt werden, welche als Eingang eines unmittelbar nachfolgenden Knotens 24 fungieren usw. Die am Ende des Anlagenbelegungsgraphen 26 resultierenden unteren und oberen Grenzwerte sind die den jeweiligen Anlagenbelegungsgraph 26 charakterisierenden Grenzwerte. Wenn sich dabei Anlagenbelegungsgraphen 26 ergeben, bei denen zumindest ein oberer Grenzwert kleiner als der untere Grenzwert ist, wird der gesamte betroffene Anlagenbelegungsgraph 26 gelöscht. Den verbleibenden Anlagenbelegungsgraphen 26 werden die ermittelten Grenzwerte (Vmin, Vmax) in Form eines Attributs hinzugefügt. Dann ergeben sich zusätzliche Informationen für die von der ersten Kandidatenmenge MK (R) umfassten Anlagenbelegungsgraphen 26: MK (R) = [G1 [Vmin1, Vmax1](R), G2 [Vmin2, Vmax2](R) ... Gi [Vmini, Vmaxi](R)].
  • Das Ergebnis dieses Verfahrensschritts sind Produktionsmengenbereiche (Vmin, Vmax) für jeden einzelnen Anlagenbelegungsgraph 26 und damit für jedes Element der ersten Kandidatenmenge MK (R) für jedes Rezept R. Das Ergebnis kann so interpretiert werden, dass jetzt in einer automatisch verarbeitbaren Form feststeht, dass mit einer Anlagenbelegung gemäß einem bestimmten Anlagenbelegungsgraph 26 von einer jeweils gewünschten Zielmenge Vz minimal die Menge Vmin und maximal die Menge Vmax produziert werden kann. Eine solche Produktion entspricht einer Charge. Damit sind jetzt die minimalen und maximalen Produktionsmengen während genau einer Charge für die von der ersten Kandidatenmenge MK (R) umfassten unterschiedlichen Anlagenbelegungsmöglichkeiten bekannt.
  • In dem Verfahren wird a priori für jeden Prozessschritt eines Anlagenbelegungsgraphen 26 eine Realisierung durch genau ein Anlagenteil 12-15 angenommen. Ist es prozesstechnisch möglich und sinnvoll, Anlagenteile 12-15 für denselben Prozessschritt derselben Charge zu kombinieren, so kann dies optional zusätzlich automatisch wie folgt berücksichtigt werden:
    • Anlagenteile 12-15 können immer nur innerhalb einer der oben beschriebenen Äquivalenzklassen kombiniert werden. Der Anlagenfahrer kann durch entsprechende Konfigurationseinstellungen eine Teilmenge einer Äquivalenzklasse (maximal die gesamte Äquivalenzklasse) zur Kombination "freigeben", wobei durch Priorisierungsgewichte festgelegt wird, welche der freigegebenen Anlagenteile 12-15 tatsächlich zum Einsatz kommen sollen in Abhängigkeit von der zu produzierenden Menge. Durch Anwendung der Skalierungsrelationen gemäß Nr. 4. auf die kombinierbaren Anlagenteile 12-15 wird automatisch eine neue Volumenobergrenze V'max für die Kombination der Anlagenteile 12-15 bestimmt und bei der Berechnung der maximalen Produktionsmenge des Anlagenbelegungsgraphen 26 mit den kombinierten Anlagenteilen 12-15 verwendet. Dies gilt potentiell für jede Äquivalenzklasse innerhalb des betrachteten Anlagenbelegungsgraphen 26. Gemäß der konfigurierten Priorisierungsgewichte werden nun sukzessive (startend vom Anlagenteil 12-15 mit dem geringsten Priorisierungsgewicht) alle Anlagenteile 12-15 wieder automatisch aus den Kombinationen eliminiert, die für den Gesamt-Anlagenbelegungsgraphen keine weitere Erhöhung von Vmax mehr bewirken, weil andere Prozessschritte mit ihren Anlagenteilen 12-15 limitierend wirken. Die so erhaltenen zusätzlichen Anlagenbelegungsgraphen 26 stehen nun für die folgenden Verfahrensschritte ebenfalls zur Verfügung.
    VI. Sechster Verfahrensschritt
  • In einem sechsten Verfahrensschritt wird aufgrund der zu den einzelnen Anlagenbelegungsgraphen 26 (also den Elementen der ersten Kandidatenmenge MK (R)) bis hierher vorliegenden Daten sowie aufgrund eines durch einen jeweiligen Auftrag vorgegebenen Zielvolumens Vz (der zu produzierenden Menge) ermittelt, mittels welcher Chargen der Auftrag abgearbeitet werden kann. Der Ausdruck "welcher Chargen" meint dabei, dass automatisch einerseits eine Chargenanzahl und andererseits die Anlagenbelegungsgraphen 26 zur Produktion dieser Chargen ermittelt werden.
  • Bei einer einfachen Anlage 10 mit genau einer möglichen Anlagenbelegung für jeden Auftrag ergibt sich für jeden Auftrag genau ein Anlagenbelegungsgraph 26 (MK (R) = G[Vmin, Vmax](R)). Davon wird im Folgenden im Sinne einfacher Verhältnisse, aber lediglich zur Veranschaulichung ausgegangen. Bei einer Implementation des hier vorgeschlagenen Ansatzes wird stets die sich für die jeweilige Anlage 10 und den oder jeden Auftrag ergebende und unter Umständen sehr umfangreiche erste Kandidatenmenge MK (R) betrachtet. Weiter wird - nur zur Veranschaulichung - angenommen, dass für die mit dem o.a. Anlagenbelegungsgraph 26 verbundenen Grenzwerte (Vmin, Vmax) die folgenden Zahlenwerte für einen bestimmten Auftrag ermittelt wurden: Vmin = 300 kg; Vmax = 1.000 kg. Die zu produzierende Zielmenge VZ sei 3.200 kg (die Einheiten "kg" sind lediglich beispielhaft zu verstehen; genauso kann es sich um Zahlenwerte mit der Einheit Liter l, Tonnen t usw. handeln). Mit den gegebenen Grenzwerten ist klar, dass mit einer Charge maximal 1.000 kg der gewünschten Zielmenge VZ produziert werden können. Es ist also mehr als eine Charge erforderlich, um die gesamte Zielmenge VZ zu produzieren. Mit einer zweiten Charge können zum Beispiel weitere 1.000 kg, mit einer dritten Charge 900 kg und mit einer abschließenden vierten Charge 300 kg produziert werden. Die Summe der Produktionsmengen aller Chargen ergibt die geforderte Zielmenge (1.000 kg + 1.000 kg + 900 kg + 300 kg = 3.200 kg = VZ). Genauso wäre möglich gewesen, eine erste, zweite, dritte und vierte Charge mit Produktionsmengen von 1.000 kg, 900 kg, 1.000 kg bzw. 300 kg oder 900 kg, 1.000 kg, 1.000 kg bzw. 300 kg vorzusehen. Anhand dieses Beispiels ist ersichtlich, dass es eine Vielzahl möglicher Zusammenstellungen der Produktionsmengen einzelner Chargen gibt, die jeweils zu der gemäß dem Auftrag gewünschten Zielmenge VZ führen. Symbolisch können die Produktionsmengen einer einzelnen Charge als a, b, c usw. geschrieben werden (a ist die Produktionsmenge der ersten Charge, b diejenige der zweiten Charge usw.) und es gilt jeweils, dass die Summe der einzelnen Produktionsmengen die Zielmenge VZ ergibt: ∑ (a, b ...) = Vz.
  • Zur Ermittlung der Möglichkeiten zur Zusammenstellung von Chargen wird mit einer vorgegebenen minimalen Chargenanzahl n (zum Beispiel n=1) begonnen und ermittelt, ob mit der entsprechenden Chargenanzahl eine Produktion der gewünschten Zielmenge Vz des Auftrags möglich ist. Dies geschieht durch Prüfung der (Vmin, Vmax)-Bereiche aller für den jeweiligen Auftrag in Frage kommenden Anlagenbelegungsgraphen 26 aus MK (R). Vorliegend ist mit genau einer Charge (n=1) die Zielmenge Vz nicht erreichbar. Dann wird der Ausgangswert erhöht (n→n+1) und erneut geprüft, ob mit der resultierenden Chargenanzahl eine Produktion der gewünschten Zielmenge Vz möglich ist. Vorliegend ist dies immer noch nicht der Fall, denn mit genau zwei Chargen lassen sich maximal 2.000 kg produzieren. Entsprechend wird die Chargenanzahl erneut inkrementiert (n→n+1) und erneut geprüft, ob eine Produktion der gewünschten Zielmenge Vz möglich ist. Auch mit drei Chargen lässt sich die gewünschte Zielmenge Vz noch nicht produzieren. Entsprechend wird die mögliche Chargenanzahl erneut inkrementiert (n→n+1) und wiederum geprüft, ob eine Produktion der gewünschten Zielmenge Vz möglich ist. Mit vier Chargen lässt sich - wie oben gezeigt - die gewünschte Zielmenge Vz produzieren und es ergibt sich - wie oben gezeigt - eine Vielzahl möglicher Kombinationen von Produktionsmengen, nämlich eine erste Kombination ∑ (a1, b1, c1, d1) = Vz, eine zweite Kombination ∑ (a2, b2, c2, d2) = Vz usw. hin zu einer letzten Kombination ∑ (ak, bk, ck, dk) = Vz (k ∈ [N]). Die a1, b1, c1, d1 bis ak, bk, ck, dk sind alle möglichen Chargenvolumina, die zu der gewünschten Zielmenge Vz führen. Es ist möglich, die Anzahl der Chargen über die minimal notwendige Anzahl hinaus zu untersuchen. Im Allgemeinen lautet die Aufgabe, das vorgegebene Produktionsvolumen eines Auftrags zu erfüllen durch eine Summe von Chargenvolumina, von denen jedes im erlaubten (Vmin, Vmax)-Bereich eines zulässigen Anlagenbelegungsgraphen 26 liegt. Diese Aufgabe kann durch einfaches Abprüfen folgender Bedingungen für jeden Kandidaten, also jede Zusammenstellung von Anlagenbelegungsgraphen 26 zur Abarbeitung der herzustellenden Produktionsmenge VZ eines Rezepts in Chargen sofort gelöst werden:
    1. 1. Die Summe aller Vmin aus den (Vmin, Vmax)-Bereichen der Anlagenbelegungsgraphen 26 für die Chargen darf nicht grösser sein als VZ.
    2. 2. Die Summe aller Vmax aus den (Vmin, Vmax)-Bereichen der Anlagenbelegungsgraphen 26 für die Chargen darf nicht kleiner sein als VZ.
  • Sind beide Bedingungen erfüllt, so ist es in jedem Fall möglich, das Zielvolumen VZ mit den vorliegenden Anlagenbelegungsgraphen 26 zu produzieren. Ist auch nur eine der Bedingungen nicht erfüllt, muss die Zusammenstellung der Anlagenbelegungsgraphen 26 verworfen und mit der Prüfung einer anderen Zusammenstellung fortgefahren werden. Dies gilt ganz allgemein, nicht nur für den illustrativen Spezialfall eines einzigen Anlagenbelegungsgraphen 26 pro Rezept. In diesem Spezialfall ist natürlich die einzige Variable die Chargenanzahl n.
  • Es geht in diesem Schritt noch nicht darum, alle erlaubten Chargenvolumina explizit zu bestimmen, sondern nur darum, Kombinationen von Graphen aus den MK (R) mit minimaler bzw. etwas höherer Chargenzahl bis zu einem vorgegebenem Limit (z.B. n=6) zu bestimmen. Diese Kombinationen sind Elemente einer zweiten Kandidatenmenge CK (R), definiert als Menge aller zur Abarbeitung des Auftrags zum Rezept R geeigneten Kombinationen von Anlagenbelegungsgraphen 26 aus der ersten Kandidatenmenge MK (R). Die maximal zugelassene Chargenzahl korreliert mit der Berechnungsdauer für das vorliegende Verfahren. Wegen der Skalierungsrelationen gemäß Nr. 4 und der Untergrenze für die produzierbaren Volumina kann aber in keinem Fall die Zahl der Chargen beliebig groß werden.
  • Die grundsätzlich kontinuierliche Vielfalt an möglichen Chargenvolumina führt nachfolgend allerdings zur Notwendigkeit, diese entweder durch Diskretisierung der möglichen Volumina zu limitieren oder durch eine Optimierungsbedingung. Die letztere Möglichkeit wird im vorliegenden Verfahren gewählt und im siebten Verfahrensschritt beschrieben.
  • Das Ergebnis bis hierhin kann symbolisch wie folgt geschrieben werden (nun für den allgemeineren Fall mit nicht notwendig nur einem möglichen Anlagenbelegungsgraphen 26) n=4: (G1 (1), G2 (1), G3 (1), G4 (1)) ... (G1(k4) ,G2(k4) ,G3(k4) G4(k4) ) n=5: (G'1 (1), G'2 (1), G'3 (1), G'4 (1), G'5 (1)) ... (G'1(k5) , G'2(k5) , G'3(k5) , G'4(k5) , G'5(k5) ) n=6: (G"1 (1), G"2 (1), G"3 (1), G"4 (1), G"5 (1), G"6 (1)) ... (G"1(k6) , G"2(k6) , G"3(k6) , G"4(k6) , G"5(k6) , G"6(k6) )
  • Jede Auswahl wie z.B. (G"1 (1), G"2 (1), G"3 (1), G"4 (1), G"5 (1), G"6 (1)) bezeichnet eine mögliche Graphen- bzw. Chargenkombination zu fester Chargenanzahl, mit der sich die gewünschte Zielmenge Vz des betrachteten Auftrags produzieren lässt. Es versteht sich, dass die Graphen zu verschiedenen Chargenanzahlen i.a. nicht gleich sind. Für eine Auswahl zu Chargenanzahl n wird im Folgenden allgemein (G1 (i;n), G2 (i;n), G3 (i;n), G4 (i;n),...Gn (i;n)) geschrieben, wobei der Index i alle I(n) Möglichkeiten für eine solche Auswahl durchläuft, i=1...I(n).
  • Jede einzelne ermittelte Graphen/Chargenkombination wird im Folgenden kurz als Kandidat bezeichnet und die Gesamtheit der Kandidaten bildet die zweite Kandidatenmenge CK (R). Bei dem gewählten einfachen Beispiel mit genau einem Anlagenbelegungsgraph 26 pro Auftrag/Rezept wird jede Charge mit der durch diesen definierten Anlagenbelegung abgearbeitet.
  • Es ist ohne Weiteres einsehbar, dass die zweite Kandidatenmenge CK (R) sehr umfangreich werden kann. Erst recht gilt das für eine dritte Kandidatenmenge CK, die sich für alle Aufträge zusammen ergibt als Kombination (Kreuzprodukt) aller C K R : C K = C K R 1 C K R 2 C K R p
    Figure imgb0001
  • Dieser Ausdruck bedeutet, dass eine beliebige Kombination von Anlagenbelegungsgraphen 26 zur Abarbeitung aller Chargen aller Aufträge sich stets ergibt durch (unabhängig mögliche) Auswahl je eines Satzes von Anlagenbelegungsgraphen 26 zur vollständigen Abarbeitung des Auftrags/Rezepts R.
  • Eine vollständige Bearbeitung der dritten Kandidatenmenge CK kann möglich sein, kann allerdings auch zu nicht mehr sinnvoll handhabbaren Verhältnissen und extremen Bearbeitungszeiten führen. Deshalb ist bei einer besonderen Ausführungsform des hier vorgeschlagenen Ansatzes vorgesehen, dass vor einer Weiterverarbeitung der dritten Kandidatenmenge CK eine grundsätzlich optionale gezielte Reduktion der dritten Kandidatenmenge CK stattfindet.
  • VII. Siebter Verfahrensschritt
  • Zur gezielten Reduktion der Kandidatenmenge CK wird in einem siebten Verfahrensschritt für jeden Kandidaten der Kandidatenmengen CK für alle zusammen zu bearbeitenden Aufträge ein im Folgenden als Überlappungskoeffizient bezeichneter charakteristischer Wert ermittelt. Dieser Schritt kann in dem Sinne als optional aufgefasst werden, dass der erlaubte Schwellwert dieses Überlappungskoeffizienten beliebig hoch gewählt werden kann, bis er effektiv keine Einschränkung mehr darstellt (dann findet natürlich auch keine Reduktion von CK mehr statt). Zur Definition des Reduktionsverfahrens muss man sich zunächst in Erinnerung rufen, dass bisher zunächst die erste Kandidatenmenge MK (R) mit Anlagenbelegungsgraphen 26 und daraus dann die zweite Kandidatenmenge Menge CK (R) und schließlich die dritte Kandidatenmenge CK ermittelt wurden. Eine konkrete Auswahl einer Anlagenbelegung ist bisher noch nicht erfolgt. Der Überlappungskoeffizient versucht, Engpässe abzubilden, die sich aus einer ungünstigen Anlagenbelegung ergeben können. Für jeden Auftrag kann eine Sequenz von Anlagenbelegungsgraphen 26 von der obigen Form (G1 (i;n), G2 (i;n), G3 (i;n), G4 (i;n),...Gn (i;n)) ausgewählt werden. Jeder jeweils verwendete Graph führt zu einer konkreten Belegung einzelner Anlagenteile 12-15 der Anlage 10. Der Einfachheit halber sei der Spezialfall nur eines einzigen Auftrags/Rezepts betrachtet, der in drei Chargen abgearbeitet werden soll. Für jede der Chargen wird ein Graph aus der ersten Kandidatenmenge MK ausgewählt (der Index (R)ist weggelassen, da nur ein einziges Rezept betrachtet wird). Für diese Graphen G1, G2 und G3 hat man eine bestimmte Anlagenbelegung in einer Anlage 10 mit sechs als Anlagenteile 12-15 betrachteten Maschinen M1, M2, M3, M4, M5 und M6 wie folgt:
    • G1: M1 -> M2 -> M4,
    • G2: M1 -> M3 -> M4,
    • G3: M1 -> M5 -> M6.
  • Die Maschine M1 wird also häufig benutzt, nämlich dreimal. Der in diesem Verfahrensschritt ermittelte Überlappungskoeffizient ist ein anlagenteilspezifischer Koeffizient und ergibt sich als gewichtete (die Gewichte sind parametrierbar) Summe über die (mit 1 subtrahierte) Anzahl, mit der eine Maschine oder ein Anlagenteil 12-15 in der ausgewählten Menge von Anlagenbelegungsgraphen 26 auftaucht. Dabei wird eine Maschine innerhalb eines Anlagenbelegungsgraphen 26, falls sie dort mehrfach vorkommt, nur einmal gezählt, es sei denn, die Maschine wird in parallelen Zweigen des Anlagenbelegungsgraphen 26 benutzt. Vorliegend ergeben sich bei einer Gewichtung jeweils mit dem Faktor 1 die Zahlenwerte K(M1)=3-1=2, K(M2)=1-1=0, K(M3)=0, K(M4)=1, K(M5)=0 und K(M6)=0, somit insgesamt K=3. Die dadurch in einer automatisch auswertbaren Form ausgedrückte häufige Verwendung der Maschine M1 deutet auf einen potentiellen Engpass bei der Benutzung der Anlage 10 hin, denn die betroffene Maschine M1 kann für mehrere Chargen nicht gleichzeitig, sondern nur sequentiell benutzt werden. In geringerem Maße gilt dies im Beispiel für die Maschine M4, insgesamt ergibt sich aber ein doch erheblicher Überlappungskoeffizient. Der Überlappungskoeffizient beschreibt eine mehrfache Benutzung von Anlagenteilen 12-15 über verschiedene Chargen hinweg und ggf. auch innerhalb einer Charge (s.o.) und ist damit ein Maß für eine solche mehrfache Benutzung. Abhängig von einem vom Anlagenfahrer festzulegenden Schwellwert für den Überlappungskoeffizienten, z.B. K=2, werden nun alle Elemente von CK verworfen, die diesen Wert überschreiten. Im vorliegenden Beispiel muss also die betrachtete Kombination G1, G2, G3 verworfen werden.
  • Im allgemeinen Fall muss natürlich die Überlappung auch zwischen Anlagenbelegungsgraphen 26 verschiedener Aufträge mitbetrachtet werden.
  • VIII. Achter Verfahrensschritt
  • In einem achten Verfahrensschritt werden nun alle Kandidaten in der dritten Kandidatenmenge CK oder alle Kandidaten in der anhand von Überlappungskoeffizienten reduzierten dritten Kandidatenmenge CK des oder jedes Auftrags im Hinblick auf optimale Chargengrößen untersucht. Dabei wird die Optimierung separat für jede zugelassene Chargenanzahl und für jede mögliche Kombination von Graphen für diese Chargenanzahl durchgeführt. Dieser Schritt ist grundsätzlich optional; lässt man ihn weg, müssen die Chargenvolumina diskretisiert werden und es kann sich eine sehr hohe Zahl zu betrachtender Anlagenbelegungsgraphen 26 in CK ergeben.
  • Die (Vmin, Vmax)-Bereiche der Chargenvolumina in jeder Graphen/Chargenkombination, die eine Produktion der Zielmenge Vz eines bestimmten Auftrags erlaubt, werden nun durch konkrete Volumina für jede Charge ersetzt. Dafür werden eine Optimierungsfunktion und ein grundsätzlich an sich bekannter Optimierungsalgorithmus, zum Beispiel ein genetischer Algorithmus, verwendet. Die Optimierungsfunktion kann sich zum Beispiel auf die Produktionskosten, insbesondere Produktionskosten inklusive Materialkosten, Personalkosten und Reinigungskosten, beziehen. Zusätzlich oder alternativ kann die Optimierungsfunktion die Produktionsdauer, also die Dauer der Abarbeitung aller Chargen des Auftrags, und/oder Qualitätsparameter, insbesondere von der Chargengröße abhängige Qualitätsparameter, berücksichtigen.
  • Während dieses Schritts wird kein weiterer Anlagenbelegungsgraph 26 aus der zweiten Kandidatenmenge CK (R) entfernt. Es werden vielmehr allen noch verbliebenen Anlagenbelegungsgraphen 26 anstelle vorheriger Mengenbereiche (Vmin, Vmax) konkrete Mengen (VCharge) zugewiesen.
  • Für jede Kombination resultierender Anlagenbelegungsgraphen 26 gibt es zunächst eine kontinuierlich-unendliche Vielzahl von Möglichkeiten, die zu der gewünschten Zielmenge VZ (∑VCharge=VZ) führt. Man hat für jede Auswahl von Anlagenbelegungsgraphen G1 (i;n),... Gn (i;n) ein Optimierungsproblem zu lösen von der Form Fvol(G1 (i;n),V1 (i;n); G2 (i;n), V2 (i;n); G3 (i;n), V3 (i;n); ... Gn (i;n), Vn (i;n)) = max, wobei Fvol die im zweiten Verfahrensschritt konfigurierte Bewertungsfunktion zur Optimierung der Chargenvolumina ist, die direkt von den zu variierenden Chargenvolumina V1 (i;n)...Vn (i;n) und indirekt von deren zugeordneten (festgehaltenen) Anlagenbelegungsgraphen G1 (i;n)...Gn (i;n) abhängt. (Im einfachen Beispiel des sechsten Verfahrensschritts waren die Chargenvolumina mit a1, b1, c1, d1 usw. bezeichnet). Das heißt, die Gestalt der Bewertungsfunktion kann grundsätzlich abhängen von der Auswahl der Anlagenbelegungsgraphen 26, die Variablen der Optimierung sind jedoch stets nur die Volumina V1 (i;n)...Vn (i;n). Das zur Optimierung anzuwendende Verfahren richtet sich sinnvollerweise nach der Form der Bewertungsfunktion. Für eine lineare Bewertungsfunktion lässt sich das Problem mit einem Standard-Simplex-Algorithmus exakt und schnell lösen, da auch die Randbedingung ∑VCharge ≡ V1 (i;n)+ ... + Vn (i;n) = VZ linear ist und es sich somit um ein LP-Problem handelt. Für nichtlineare Bewertungsfunktionen wird man üblicherweise ein heuristisches Optimierungsverfahren wählen, zum Beispiel einen genetischen Algorithmus.
  • Die Auswahl einer Möglichkeit aus der Vielzahl der Möglichkeiten mit Hilfe der Optimierung reduziert den bisherigen Lösungsraum. Die Optimierung ist dabei nicht darauf gerichtet, verschiedene Sätze von Anlagenbelegungsgraphen 26 einer Graphen/Chargenkombination miteinander zu vergleichen und als Ergebnis bis auf einen Satz von Anlagenbelegungsgraphen 26 alle anderen Sätze von Anlagenbelegungsgraphen 26 zu verwerfen. Dies könnte nämlich zu einer Situation führen, bei der nur eine begrenzte Anzahl der tatsächlich von der Anlage 10 umfassten Anlagenteile 12-15 benutzt werden, weil dies aus Kostengründen durchaus grundsätzlich sinnvoll ist. Eine Verwendung nur einer begrenzten Anzahl der tatsächlich verwendbaren Anlagenteile 12-15 führt aber bei der nachfolgenden Ausführung des Schedulers zu der Situation, dass nur diese Anlagenteile 12-15 für die Lösung des Scheduling-Problems berücksichtigt werden und sich damit (neben der ungünstigen Auslastung der Gesamtanlage 10) erhöhte Ausführungszeiten ergeben.
  • Die erwähnte Optimierung bewahrt also alle verwendbaren Anlagenteile 12-15 und Anlagenbelegungsgraphen 26 für die spätere Lösung des Scheduling-Problems. Das Ergebnis dieses Verfahrensschritts sind einerseits optimale Chargenkombinationen (batch sets) mit konkreten, jeweils produzierbaren Mengen VCharge sowie damit jeweils implizit verbundene (und automatisch ermittelbare) Zeitwerte für die Belegung einzelner Anlagenteile 12-15 und für die Belegung zwischen solchen Anlagenteilen 12-15 bestehender Verbindungen 18. Das Ergebnis dieses Verfahrensschritts sind andererseits auch optimierte Chargengrößen VCharge, wobei die Chargengrößen VCharge bezüglich einer jeweiligen Chargenkombination mit einer festen Anzahl von Chargen optimiert sind.
  • Die materialverfügbarkeitsbezogenen Randbedingungen (Nr. 6) sind bisher noch nicht berücksichtigt worden. Dies erfolgt im Rahmen des folgenden Teilschritts.
  • Für jede Zusammenstellung sich ergebender Kandidaten (optimierte Graphen/Chargenkombination zu einer gegebenen Anzahl von Chargen) für alle zu erfüllenden Aufträge wird nun geprüft, ob die Randbedingung gemäß Nr. 5. (Materialverfügbarkeit) erfüllt werden kann. Wegen der im Allgemeinen nichtlinearen Natur der Skalierungsbedingungen gemäß Nr. 4. kann dieser Schritt quantitativ genau erst nach Bestimmung der Chargengrößen VCharge durchgeführt werden. Sollte die Menge der verfügbaren Materialien zumindest teilweise nicht ausreichen, so wird der Kandidat verworfen. Findet sich gar kein Kandidat, für den die verfügbaren Materialien ausreichen, so wird gemäß Priorisierung der Aufträge im Verfahrensschritt IV zunächst der Auftrag mit der geringsten Priorität verworfen und erneut geprüft. Dies wird ggf. fortgesetzt, bis die Abarbeitung der verbleibenden Aufträge möglich wird. Das Ergebnis der Analyse wird dem Anlagenfahrer angezeigt, also die fehlenden Materialmengen bzw. die niederprioren Aufträge, die aufgegeben werden müssten. Der Anlagenfahrer kann nun entscheiden, entweder die Materialvorräte aufzustocken, reduzierte Mengen für niederpriore Aufträge zu akzeptieren, oder die vom System vorgeschlagenen niederprioren Aufträge fallenzulassen.
  • Sollten Kombinationen von Anlagenteilen 12-15 in der am Ende der Erläuterung des Verfahrensschritts V beschriebenen Art zugelassen worden sein, so wird anhand der bestimmten Chargenvolumina VCharge geprüft, ob (wiederum gemäß der konfigurierten Verwendungspriorisierung) Anlagenteile 12-15 aus Kombinationen von Anlagenteilen 12-15 wieder freigegeben werden können, weil ihre Kapazität nicht benötigt wird. Nur die entsprechend reduzierten Kombinationen werden im nachfolgenden Verfahrensschritt dem Scheduler übergeben.
  • IX. Neunter Verfahrensschritt
  • Zur Planung einer konkreten Anlagenbelegung, welche nicht nur die Belegungsreihenfolge gemäß einem Anlagenbelegungsgraph 26, sondern auch konkrete Zeitabschnitte für die Benutzung der einzelnen Anlagenteile 12-15 umfasst, wird in einem abschließenden neunten Verfahrensschritt ein grundsätzlich an sich bekannter Scheduler verwendet. Ein solcher Scheduler erstellt auf Basis eines heuristischen Verfahrens einen Zeitplan für die konfliktfreie Benutzung der einzelnen Anlagenteile 12-15, der bei dessen Abarbeitung zu einer Erfüllung des oder jedes jeweils vorliegenden Auftrags führt.
  • Bei einer Situation mit mehreren Aufträgen hat man als Input für den Scheduler für jeden einzelnen Auftrag A1 mit Rezept R1 bis Ap mit Rezept Rp eine bestimmte erste Kandidatenmenge MK(R1) .. MK(Rp) (Az) mit Anlagenbelegungsgraphen 26, sowie eine dritte Kandidatenmenge CK = CK(R1) ⊗ ... ⊗ CK(Rp) von Graphen/ Chargenkombinationen mit optimierten Chargengrößen V1 (opt i;n) ... Vn (opt i;n). Eine Erstellung eines Zeitplans mittels des Schedulers für eine solche Situation führt, bei Bevorzugung früher Fertigstellung, zu einer so weit wie möglich parallel erfolgenden Abarbeitung der Aufträge und/oder der jeweiligen einzelnen Chargen.
  • Der vom Scheduler erzeugte Zeitplan kann anschließend für jede der Vielzahl von möglichen Kombinationen von Anlagenbelegungsgraphen 26 bewertet werden (dies kann durch Parallelisierung der Berechnung effizient behandelt werden). Auch die Anzahl der Chargen pro Auftrag variiert dabei. Eine automatische Bewertung ist zum Beispiel anhand der im zweiten Verfahrensschritt definierten Zielfunktion, die zum Beispiel auf die gesamte Produktionsdauer zur Abarbeitung aller Aufträge ausgerichtet sein kann, möglich. Die Bewertungsergebnisse aller Kombinationen werden verglichen und das Beste führt zur Auswahl der entsprechenden Kombination.
  • Sollte sich dennoch kein ausreichend gutes Ergebnis des Schedulers ergeben, kann eine Erweiterung der Datenbasis (zweite Kandidatenmenge CK (R)) erfolgen, zum Beispiel indem zurück vor den sechsten Verfahrensschritt verzweigt wird, das Verfahren ab dem sechsten Verfahrensschritt erneut ausgeführt wird und dabei die vorgegebene maximale Chargenanzahl erhöht wird. Dann ergibt sich eine zweite Kandidatenmenge CK (R) mit zusätzlichen, bisher nicht betrachteten Kandidaten. Es wird also der Lösungsraum erweitert. Die modifizierte zweite Kandidatenmenge CK (R) ist erneut die Basis für eine Ermittlung optimaler Chargengrößen wie oben beschrieben. Damit kann sich eine neue Basis für den Scheduler ergeben, die eventuell zu einem günstigeren Ergebnis bezüglich der für den Scheduler definierten Zielfunktion führt.
  • Alternativ kann auch zurück vor den siebten Verfahrensschritt verzweigt werden und das Verfahren ab dem siebten Verfahrensschritt erneut ausgeführt werden, wobei eine zulässige Obergrenze für den Überlappungskoeffizienten heraufgesetzt wird und die Reduzierung der dritten Kandidatenmenge CK mit dem erhöhten Überlappungskoeffizienten erneut ausgeführt wird. Schließlich können auch "suboptimale" Wahlen der Chargengrößen (vgl. Schritt VIII) zugelassen werden. In allen Fällen ergibt sich eine Kandidatenmenge CK mit zusätzlichen Kandidaten. Wenn von der in der einleitenden Beschreibung genannten Möglichkeit der Reduktion der ersten Kandidatenmenge MK (R) Gebrauch gemacht wurde, kann natürlich auch diese teilweise zurückgenommen werden. Die Möglichkeiten sind auch kombinierbar.
  • Die Darstellung in FIG 6 zeigt die erläuterten Verfahrensschritte I bis IX in einem schematisch vereinfachten Ablaufdiagramm. Eine Implementation aller Verfahrensschritte I bis IX in Software ist ein Computerprogramm 32 (ggf. ein verteiltes Computerprogramm) und ein solches Computerprogramm 32 fungiert als Mittel zur Ausführung des hier beschriebenen Ansatzes. Ein solches Computerprogramm 32 wird in grundsätzlich an sich bekannter Art und Weise auf einer für dessen Ausführung geeigneten Hardware (ggf. einer verteilten Hardware) ausgefügt. Die Hardware umfasst zumindest einen Computer 34 (FIG 7) oder dergleichen, ggf. einen Computer 34 in Form eines zur Steuerung und/oder Überwachung einer technischen Anlage 10 vorgesehenen Automatisierungsgeräts. Ein solcher Computer 34 umfasst in an sich bekannter Art und Weise einen Speicher, in den das Computerprogramm 32 zur Ausführung des Verfahrens geladen ist, sowie eine Verarbeitungseinheit in Form von oder nach Art eines Mikroprozessors zur Ausführung des Computerprogramms 32.
  • Abschließend zeigt FIG 7 eine Übersichtsdarstellung des hier vorgeschlagenen Ansatzes. Diese ist von links nach rechts zu lesen. Ganz links ist die Anlage 10 mit den davon umfassten Anlagenteilen 12-15 in Form eines Baums gezeigt. Die die Anlage 10 beschreibenden Daten gehen zusammen mit den eingangs erwähnten Randbedingungen, die symbolisch als "#1" bis "#7" gezeigt sind, in die Datenbasis 20 ein. Die Ausführung der einzelnen Verfahrensschritte ist (von links nach rechts) in Form einer Angabe der Nummern der jeweiligen Verfahrensschritte dargestellt. Im Rahmen einer Ausführung des ersten, zweiten und dritten Verfahrensschritts (I, II, III) werden die statischen Randbedingungen Nr. 1 und Nr. 2 sowie teilweise Nr. 3 und Nr. 4 sowie die Daten des oder jedes aufgrund des oder jedes Auftrags abzuarbeitenden Rezepts ausgewertet. Das Ergebnis ist zumindest ein Anlagenbelegungsgraph 26. Im vierten Verfahrensschritt (IV) werden Zielfunktionen für die Optimierung eingegeben. Im fünften Verfahrensschritt (V) werden auf Basis von sich zum Beispiel aufgrund von ERP-Daten ergebenen Auftragsdaten die Produktionsmengenbereiche und die Kandidatenmenge CK ermittelt, wiederum unter Verwendung der Randbedingungen gemäß Nr. 3 und Nr. 4. In zumindest einem weiteren achten Verfahrensschritt (VIII) erfolgt unter vorheriger Ausführung des sechsten Verfahrensschritts (VI) und des siebten Verfahrensschritts (VII) eine Ermittlung optimaler Chargengrößen. In einem abschließenden neunten Verfahrensschritt (IX) erfolgt mittels des Schedulers die Ermittlung eines Zeitplans zur Abarbeitung des oder jedes Auftrags. Die Darstellung in FIG 8 zeigt eine schematisch vereinfachte Darstellung eines resultierenden Zeitplans. Dieser kann zwecks Bewertung durch einen Anwender des Verfahrens an einem Bildschirm angezeigt werden. Der Zeitplan bildet die Grundlage für die automatische Steuerung der Anlage 10 zur Abarbeitung des oder jedes Auftrags. Diese automatische Steuerung der Anlage 10 umfasst eine grundsätzlich an sich bekannte Ansteuerung der davon umfassten Anlagenteile 12-15, die hier keiner weiteren Erläuterung bedarf.
  • Obwohl die Erfindung im Detail durch das Ausführungsbeispiel näher illustriert und beschrieben wurde, so ist die Erfindung nicht durch das oder die offenbarten Beispiele eingeschränkt und andere Variationen können vom Fachmann hieraus abgeleitet werden, ohne den Schutzumfang der Erfindung zu verlassen.
  • Einzelne im Vordergrund stehende Aspekte der hier eingereichten Beschreibung lassen sich damit kurz wie folgt zusammenfassen: Angegeben werden ein Verfahren zur Optimierung von Chargenprozessen, ein Computerprogramm 32 mit einer Implementierung des Verfahrens und ein nach dem Verfahren arbeitendes System. Im Rahmen des Verfahrens werden automatisch - also gemäß dem Computerprogramm 32 und unter Kontrolle des Computerprogramms 32 - zumindest ein Anlagenbelegungsgraph 26, zumindest ein Produktionsmengenbereich, Kandidatenmengen (MK (R), CK (R), CK), optimale Chargengrößen und eine optimale Chargenanzahl auf Basis einer der Kandidatenmengen MK (R), CK (R), CK sowie ein Zeitplan zur Abarbeitung eines Auftrags mit der ermittelten optimalen Chargenanzahl und der ermittelten optimalen Chargengröße auf von einem Anlagenbelegungsgraph 26 referenzierten Anlagenteilen 12-15 ermittelt.

Claims (7)

  1. Verfahren zur automatischen Optimierung von Chargenprozessen zur Abwicklung zumindest eines Auftrags in Form einer Abarbeitung zumindest eines Rezepts auf einer Anlage (10), welche eine Mehrzahl von Anlagenteilen (12-15) umfasst, wobei das Verfahren die folgenden Schritte umfasst:
    Auswertung vorgegebener oder vorgebbarer statischer und/oder dynamischer Randbedingungen;
    Generierung zumindest eines Anlagenbelegungsgraphen (26) auf Basis der Randbedingungen sowie eines vorgegebenen oder vorgebbaren Prozessgraphen (22), wobei der Anlagenbelegungsgraph (26) einzelne Anlagenteile (12-15) der Anlage (10) referenziert;
    Ermittlung von Produktionsmengenbereichen auf Basis des oder jedes Anlagenbelegungsgraphen (26) und für den oder jeden Anlagenbelegungsgraphen (26);
    Bildung einer den oder jeden Anlagenbelegungsgraphen (26) und eine damit verbundene Produktionsmenge oder einen damit verbundenen Produktionsmengenbereich umfassenden ersten Kandidatenmenge MK (R);
    Bildung zumindest einer zweiten Kandidatenmenge CK (R) auf Basis der ersten Kandidatenmenge MK (R), welche alle zur Abarbeitung des Auftrags zu genau einem Rezept geeigneten Kombinationen von Anlagenbelegungsgraphen (26) aus der ersten Kandidatenmenge MK (R) umfasst;
    Ermittlung optimaler Chargengrößen VCharge auf Basis der zweiten Kandidatenmenge CK (R);
    Bildung einer dritten Kandidatenmenge CK als Kombination der zweiten Kandidatenmengen CK (R) zu jedem Rezept R;
    Ermittlung eines Zeitplans zur Abarbeitung des zumindest einen Auftrags mit den ermittelten optimalen Chargengrößen VCharge auf den von einem jeweils zugrunde liegenden Anlagenbelegungsgraph (26) referenzierten Anlagenteilen (12-15) für jedes Element von CK sowie
    Ermittlung des besten Zeitplans und des besten Elements von CK durch Vergleich der erzielten Bewertungsergebnisse bezüglich einer vorgegebenen oder vorgebbaren Bewertungsfunktion.
  2. Verfahren nach Anspruch 1,
    wobei für jedes Element der dritten Kandidatenmenge CK ein Überlappungskoeffizient ermittelt wird und alle Elemente der Kandidatenmenge CK mit einem einen vorgegebenen oder vorgebbaren Schwellwert überschreitenden Überlappungskoeffizient aus der dritten Kandidatenmenge CK gelöscht werden.
  3. Verfahren nach Anspruch 1 oder 2,
    wobei beginnend mit einer vorgegebenen oder vorgebbaren minimalen Chargenanzahl und endend mit einer vorgegebenen oder vorgebbaren maximalen Chargenanzahl schrittweise für eine jeweilige Chargenanzahl alle möglichen Kombinationen von Produktionsmengen ermittelt werden, die zu einer aufgrund eines Auftrags resultierenden Zielmenge Vz führen und wobei die ermittelten Kombinationen die Elemente der zweiten Kandidatenmenge CK (R) bilden.
  4. Verfahren nach Anspruch 2 oder 3,
    wobei zur Erweiterung eines Lösungsraums für einen zur Ermittlung des Zeitplans bestimmten Scheduler der Schwellwert für den Überlappungskoeffizient und/oder die maximale Chargenanzahl erhöht wird.
  5. Verfahren nach einem der Ansprüche 1 bis 4,
    wobei für die Ermittlung optimaler Chargengrößen ein eine Zielfunktion berücksichtigendes exaktes oder heuristisches Optimierungsverfahren verwendet wird.
  6. Computerprogramm (32) mit Programmcodemitteln, um alle Schritte von jedem beliebigen der Ansprüche 1 bis 5 durchzuführen, wenn das Computerprogramm (32) auf einem Computer (34) ausgeführt wird.
  7. Computer (34) mit einer Verarbeitungseinheit und einem Speicher, in den ein Computerprogramm (32) nach Anspruch 6 geladen ist, das beim Betrieb des Computers (34) aus dessen Speicher geladen und durch dessen Verarbeitungseinheit ausgeführt wird.
EP17185450.8A 2017-08-09 2017-08-09 Verfahren zur optimierung von chargenprozessen, computerprogramm mit einer implementierung des verfahrens und nach dem verfahren arbeitendes system Withdrawn EP3441915A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
EP17185450.8A EP3441915A1 (de) 2017-08-09 2017-08-09 Verfahren zur optimierung von chargenprozessen, computerprogramm mit einer implementierung des verfahrens und nach dem verfahren arbeitendes system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP17185450.8A EP3441915A1 (de) 2017-08-09 2017-08-09 Verfahren zur optimierung von chargenprozessen, computerprogramm mit einer implementierung des verfahrens und nach dem verfahren arbeitendes system

Publications (1)

Publication Number Publication Date
EP3441915A1 true EP3441915A1 (de) 2019-02-13

Family

ID=59745154

Family Applications (1)

Application Number Title Priority Date Filing Date
EP17185450.8A Withdrawn EP3441915A1 (de) 2017-08-09 2017-08-09 Verfahren zur optimierung von chargenprozessen, computerprogramm mit einer implementierung des verfahrens und nach dem verfahren arbeitendes system

Country Status (1)

Country Link
EP (1) EP3441915A1 (de)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102012217421A1 (de) * 2012-09-26 2014-03-27 Siemens Aktiengesellschaft Optimierungspotentiale in industriellen Anlagen
DE102012112369A1 (de) * 2012-12-17 2014-06-18 Krones Ag Verfahren zur Ermittlung einer Ressourceneffizienz einer Anlage zum Herstellen von Getränkebehältnissen

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102012217421A1 (de) * 2012-09-26 2014-03-27 Siemens Aktiengesellschaft Optimierungspotentiale in industriellen Anlagen
DE102012112369A1 (de) * 2012-12-17 2014-06-18 Krones Ag Verfahren zur Ermittlung einer Ressourceneffizienz einer Anlage zum Herstellen von Getränkebehältnissen

Similar Documents

Publication Publication Date Title
DE69601207T2 (de) Strategiegesteuertes planungssystem und verfahren zu dessen betrieb
DE102020204351A1 (de) Vorrichtung und verfahren zum planen einer mehrzahl von aufträgen für eine vielzahl von maschinen
EP2452232B1 (de) Verfahren zur optimierung von petri-netz orchestrierten arbeitsabläufen für service-orientierte automatisierungsgeräte in service-orientierten automatisierten systemen
DE102012206301A1 (de) Anzeigen einer Vielzahl von Kalendereinträgen
EP3446185B1 (de) Verfahren und vorrichtung zur gestaltung eines produktionsprozesses zum produzieren eines aus mehreren teilprodukten zusammengesetzten produkts
DE102020203718A1 (de) Computerimplementiertes Verfahren für eine Produktionsplanung und/oder -steuerung eines Produktionssystems und Produktionsplanung und/oder-steuerungssystem zur Produktionsoptimierung
WO2021190919A1 (de) Computerimplementiertes verfahren für eine produktionsplanung und/oder -steuerung eines produktionssystems und produktionsplanung und/oder -steuerungssystem
WO2022214468A1 (de) Computerimplementiertes verfahren und computerprogramm zur montagestückzahlplanung von montageteilen für eine produktionsoptimierung eines produktionssystems, montagestückzahlplanungssystem und produktionsplanung und-steuerungssystem
EP1561180A2 (de) Vorrichtung und verfahren zur erzeugung eines abarbeitungs-werkzeugs
DE102010004192A1 (de) Verfahren zur Konstruktion industrieller Anlagen
EP3410363A1 (de) Bestimmen eines produktionsplans
EP3441915A1 (de) Verfahren zur optimierung von chargenprozessen, computerprogramm mit einer implementierung des verfahrens und nach dem verfahren arbeitendes system
DE102019005935A1 (de) Numerische steuereinheit
DE102007031693A1 (de) Basisaktivität, Verfahren zur Bestimmung von Basisaktivitäten sowie ein Verfahren und System zur automatisierten Generierung von Workflows
DE102017003157A1 (de) Numerische Steuerung
EP1556811A2 (de) Vorhersage des termintreuegrads in der serienfertigung
DE102016214666A1 (de) Verfahren und Vorrichtung zur Gestaltung einer technischen Anlage
EP1502164B1 (de) Verfahren ZUR UNTERSTÜTZUNG EINER PLANUNG UND REALISIERUNG EINES AUTOMATISIERTEN TECHNISCHEN PROZESSES
DE102019216744A1 (de) Granulare Speicherverwaltung für einen Distributed Ledger
DE10219322A1 (de) Verfahren und Vorrichtung zur Planung eines industriellen Prozesses
EP2136322A1 (de) Kollaboratives Bearbeitungsverfahren und -system
AT16849U1 (de) Verfahren und System zur Erzeugung eines Produkts mittels einer optimalen Prozesskette durch eine vorgegebene Menge an Einsatzmitteln
EP4357997A1 (de) Verfahren zum ermitteln einer fertigungsreihenfolge von fertigungsaufträgen einer fertigungsanlage, fertigungsanlage-system, computerprogramm sowie elektronisch lesbarer datenträger
WO2006074757A1 (de) Verfahren zur disposition und dispositionsmodul
DE102021110469A1 (de) Verfahren und System zur Auswahl einer Prozessführungsanweisung mittels einer eine Fuzzylogik anwendenden Rechnereinheit

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

AX Request for extension of the european patent

Extension state: BA ME

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20190814