METHOD FOR THE COMPUTER-AIDED OPTIMIZATION OF TOOL TRANSPORTATION OPERATIONS FOR AT LEAST ONE TOOL MAGAZINE HAVING A NUMBER OF MAGAZINE SPACES

20230381905 · 2023-11-30

    Inventors

    Cpc classification

    International classification

    Abstract

    Provided is a method and a device for the computer-aided optimization of tool transportation operations for at least one tool magazine that has a number of magazine spaces and is used or is able to be used for a machine tool that is used to produce one or more workpieces with the aid of the tools provided at a provision space by a magazine device. The input comprises the set of tools and the space requirement of each tool and a permissible starting magazine occupancy. In step 1, a set of available time intervals is determined. In step 2, one or more tool transportation operations are assigned to a respective time interval under the condition that the movement period for the tool transportation operation is less than or equal to the length of the time interval. In step 3, one or more tool transportation operations are performed.

    Claims

    1. A method for computer-aided optimization of tool transports for at least one tool magazine having a number of magazine locations, which is used or is usable for a machine tool that is employed for a processing of one or more workpieces with an aid of tools provided by a magazine operating apparatus at a provision location, the method comprising: a) recording a set of tools; b) recording a location requirement for each tool; c) recording a set of occupiable magazine locations for each tool, at least one subset thereof comprising allowed magazine locations which are dependent on the respective location requirement of the tools, of the tools respectively neighboring one another; d) recording a set of movement time durations which respectively comprises a trip of the magazine operating apparatus from one magazine location to another magazine location or from a magazine location to the provision location or from the provision location to a magazine location; e) recording an allowed initial magazine occupancy, an initial magazine location for each tool being recorded; f) recording a set of tool transports from one magazine position to another allowed magazine position, a tool transport from the set of tool transports requiring a movement time duratior; g) determining a set of at least one available time interval, in which the movement time duration of one or more tool transports is respectively equal at most to the processing time duration in which the tool provided at the provision location is used for the processing of a workpiece, h) allocating at least one tool transport from the set off) to a time interval from the set of g) under a condition that the movement time duration for the tool transport is less than or equal to a length of the time interval; and i) carrying out the at least one tool transport while the machine tool for the processing of the workpiece is in operation in a ready state or in a processing state, as soon as the machine tool reaches an operating state which has been assigned or is assigned to one of the time intervals determined in g) and allocated in h).

    2. The method as claimed in claim 1, wherein a partial order of the set of tool transports is specified such that a tool transport that has not yet been performed may be performed when all tool transports previously arranged in the partial order have been performed.

    3. The method as claimed in claim 2, wherein the partial order influences the allocation of at least one tool transport to a time interval.

    4. The method as claimed in claim 2, wherein the chronological succession of the allocated time intervals is consistent with the partial order of the tool transport.

    5. The method as claimed in claim 1, wherein the allocation from h) of claim 1 is carried out by mixed integer linear optimization.

    6. The method as claimed in claim 1, wherein a movement time duration includes both a transport time duration, which comprises a trip of the magazine operating apparatus with a tool, and an empty trip time duration, which comprises a trip of the magazine operating apparatus without a tool.

    7. The method as claimed in the claim 1, wherein the transport time duration additionally depends on properties of the tool to be transported.

    8. The method as claimed in claim 1, wherein the tool transports are taken into account with increasing weighting in the increasing time profile when carrying out the at least one tool transport, presupposing that the tool to be transported is no longer needed for the processing of a workpiece.

    9. The method as claimed in claim 1, wherein the tool transports are taken into account with increasing weighting in the increasing time profile when carrying out the at least one tool transport, presupposing that a cumulative waiting time for the magazine operating apparatus in the increasing time profile decreases by a newly allocated magazine location of the tool after the tool transport.

    10. The method as claimed in claim 1, wherein the time intervals in which a plurality of tool transports are possible are subdivided into further time intervals in which, if possible, only one tool transport is carried out.

    11. A control instrument for computer-aided optimization of tool transports for at least one tool magazine having a number of magazine locations, which is used or is usable for a machine tool that is employed for the processing of one or more workpieces with the aid of the tools provided by a magazine operating apparatus at a provision location, having at least one processing unit which is configured to perform the following steps: a) recording a set of tools; b) recording a location requirement for each tool; c) recording a set of occupiable magazine locations for each tool, at least one subset thereof comprising allowed magazine locations which are dependent on the respective location requirement of the tools, of the tools respectively neighboring one another, d) recording a set of movement time durations which respectively comprises a trip of the magazine operating apparatus from one magazine location to another magazine location or from a magazine location to the provision location or from the provision location to a magazine e) recording an allowed initial magazine occupancy, an initial magazine location for each tool being recorded; f) recording a set of tool transports from one magazine position to another allowed magazine position, a tool transport from the set requiring a movement time duration; g) determining a set of at least one available time interval, in which the movement time duration of one or more tool transports is respectively equal at most to the processing time duration in which the tool provided at the provision location is used for the processing of a workpiece; h) allocating at least one tool transport from the set of f) to a time interval from the set of g) under the condition that the movement time duration for the tool transport is less than or equal to the time interval; and i) carrying out the at least one tool transport while the machine tool for the processing of a workpiece is in operation in a ready state or in a processing state, as soon as the machine tool reaches an operating state which has been assigned or is assigned to one of the time intervals determined in g) and allocated in h).

    12. A computer program product, comprising a computer readable hardware storage device having computer readable program code stored therein, said program code executable by a processor of a computer system to implement a method as claimed in claim 1 when it runs on a control instrument or is stored on a computer-readable medium.

    Description

    BRIEF DESCRIPTION

    [0043] Some of the embodiments will be described in detail, with reference to the following figures, wherein like designations denote like members, wherein:

    [0044] FIG. 1 shows by way of example the shelf magazine mentioned in the introduction; and

    [0045] FIG. 2 schematically shows a flowchart of the method according to embodiments of the invention with steps 1 to 4, which are repeatable.

    DETAILED DESCRIPTION

    [0046] FIG. 1 shows a shelf magazine. A magazine operating apparatus and the tools, as well as the use of a tool for the manufacture of a workpiece, are not represented. A control instrument (not represented), which controls the machine tool (likewise not represented) that uses the shelf magazine, is conceivable. The control instrument is in this case designed in such a way that it can perform the method steps explained in more detail below, or correspondingly controls the machine tool with the magazine apparatus so that it can perform the method steps.

    [0047] According to FIG. 2, there is the input IN, which comprises the set of tools and the location requirement of each tool as well as an allowed initial magazine occupancy. In step 1, a set of available time intervals is determined. In one time interval, the movement time duration of one or more tool transports is respectively equal at most to the processing time duration in which the tool (spindle tool) provided at the provision location is used for the processing of a workpiece.

    [0048] In step 2, one or more tool transports are respectively allocated to a time interval under the condition that the movement time duration for the tool transport is less than or equal to the length of the time interval. In step 3, one or more tool transports are carried out. This may be done while the machine tool for the processing of a workpiece is in operation in a ready state or in a processing state.

    [0049] Furthermore, a set of movement time durations which respectively comprises a trip of the magazine operating apparatus from one magazine location to another magazine location or from a magazine location to the provision location or from the provision location to a magazine location, as well as a set of tool transports from one magazine position, or location, to another allowed magazine position, a tool transport from this set requiring a movement time duration, are recorded as input IN.

    [0050] The tool transport should transport each tool without collision in respect of its location requirement from its current magazine location to its next magazine location. In this case, it is expedient to establish precedences, or priorities, which require that particular tools be transported before other tools to their next magazine location. The definition of precedences will be explained in more detail below.

    [0051] A basic heuristic and the steps of the procedure according to embodiments of the invention will first be described in more detail below:

    [0052] Basic Heuristic

    [0053] Notation:

    [0054] To simplify the description of the method, the notation described below is used.

    TABLE-US-00001 Index sets custom-character Set of available time intervals custom-character Set of tool relocations custom-character Set of allowed magazine positions Parameters T.sub.i.sup.s, T.sub.i.sup.f Start, end time point of interval i ϵ custom-character L.sub.i.sup.s, L.sub.i.sup.f Possible start, end positions of interval i ϵ custom-character W.sub.r.sup.t Tool of relocation r ϵ custom-character W.sub.r.sup.s Previous magazine position of tool W.sub.r.sup.t for relocation r ϵ custom-character W.sub.r.sup.f New magazine position of tool W.sub.r.sup.t for relocation r ϵ custom-character moveTime.sub.l,l′.sup.t Trip time for relocation of the tool t from position l to position l′ moveTime.sub.l,l′ Trip time of an idle trip from position l to position l′ loc(t) Set of all magazine position of tool t during the tool relocations l.sup.0 Position of the location of handover to the spindle ρ Maximum time of a series of empty and tool relocation trips λ Parameter, λ ≈ 2, for the definition of λ-lazy operations

    [0055] Let t.sub.1 and t.sub.2 be two tools that are exchanged during the operation o at the handover location. The time for returning the tool t.sub.1 to its magazine location, the empty trip of the magazine operating apparatus to the location of the subsequent tool t.sub.2 and the transport of this tool to the handover location is referred to as the cycle time. It is dependent on the magazine locations of the two tools t.sub.1 and t.sub.2 and is generally a few seconds. If the processing time of the operation o is shorter than the maximum cycle time of the magazine operating apparatus, o is referred to as a critical operation. o is called λ-lazy when the processing time of o is more than λ times the maximum cycle time, λ>1. The tool pair (t.sub.1, t.sub.2) is similarly referred to as a critical or λ-lazy tuple. For λ=2, the waiting time is for example long enough to carry out an arbitrary tool relocation during the processing of o.

    [0056] Determination of the available time intervals:

    [0057] For re-sorting of the tools during production, without the additional occurrence of idle times, waiting times for the magazine operating apparatus are needed. This waiting time, between depositing the last tool and taking up the next tool required is available for further operations of the magazine operating apparatus.

    [0058] Let λ≈2 and o.sub.i, i=1, . . . n, be the set of λ-lazy operations sorted increasingly according to their start time. Let the spindle tools before and after operation o.sub.i be t.sub.i.sup.s and t.sub.i.sup.f. That is to say, the tools t.sub.i.sup.s and t.sub.i.sup.f are exchanged at the handover location during the operation o.sub.i. Let the set of available time intervals custom-character be


    custom-character={1, . . . ,n}  (1)

    where the possible start and end positions or instants for time interval i are given by:

    [00001] L i s = loc ( t i s ) L i f = loc ( t i f ) T i s = Starttime of o i + max { moveTime l o , l t i s .Math. l L i s } T i f = Endtime of o i - max { moveTime l o , l t i f .Math. l L i f }

    Sequence of the tool relocations:

    [0059] Once the current and the desired subsequent allocation of tools to magazine position are given, the sequence in which the tools should be relocated remains to be established. It is assumed that each tool is relocated directly from its current magazine position to the subsequent magazine position. By fixing the initial occupancy and the objective occupancy of the magazine, the following two cases may occur: [0060] 1. Some tools must first be transported away from their original magazine location before another tool can be placed thereon. [0061] 2. There are cyclic dependencies, that is to say a tool must be transported away from its original magazine location so that it can itself be relocated.

    [0062] In the first case, precedences between the tool relocations are defined, that is to say the tool relocations are partially ordered. The relocation r′ is less than r, r′custom-characterr, if r′ must necessarily be relocated before r. If r′ and r are not comparable, that is to say neither r′custom-characterr nor r custom-characterr′, the relocation of r and r′ may be carried out in both sequences.

    [0063] In the second case, under some circumstances it is not even possible to achieve the desired allocation just by relocating tools, for example in the case of shelf magazines that have few free locations and tools that require more than one magazine location. If cyclic dependencies occur, they should be removed.

    [0064] Removal of transport cycles: transport cycles may be removed in various ways. Direct removal is achieved by adapting the objective magazine occupancy. This procedure may be found from the patent application mentioned in the introduction, and also applied in this context. Possible transport cycles may be found efficiently by a depth search in polynomial time. All tools in a cycle are not relocated, but remain at their location. Likewise, all tools that require the relocation of a tool from a cycle beforehand are not relocated and remain at their location. The subsequent allocation of tools to magazine position, which is modified in this way, no longer contains any cyclic dependencies, and the tool relocations are partially ordered.

    [0065] Alternatively, the restriction that each tool is transported directly from its current magazine position to its final magazine position may be relaxed. A tool may thus be relocated several times, and this additional freedom generally makes it possible to find a cycle-free set of tool relocations. In the corresponding partial order, all tool relocations for one and the same tool are fully ordered. In the case of magazines with very few free locations and many tools that require more than one shelf location, it may nevertheless be necessary for tools to have to be removed from the magazine in order to be able to create the desired subsequent magazine occupancy.

    [0066] It is assumed below that there is a partially ordered set of tool relocations without cyclic dependencies.

    [0067] Modeling of the tool relocation:

    [0068] Let G=custom-charactercustom-character, E) be a bipartite graph with the node partitions custom-character and custom-character and the edge set E. In which case (i, r) is the edge of G if and only if the relocation of tool W.sub.r.sup.t is chronologically possible in the time interval i, that is to say tool W.sub.r.sup.t is not the spindle tool in the time interval i and the following inequality is satisfied:

    [00002] max { moveTime l , W r s .Math. l L i s } + moveTime W r s , w r f W r t + max { moveTime W r f , l .Math. l L i f } T i f - T i s ( 2 )

    The partial order of custom-character is applied to the edge set E of the graph G. For two edges (i, r), (i′, r′)∈E, the following applies:


    (i′, r′)custom-character(i, r).Math.T.sub.i′.sup.f<T.sub.i.sup.s∧r′custom-characterr  (3)

    [0069] A matching M of the graph G is custom-character bounded if, for all edges (i, r)∈M, the following applies:


    r′custom-characterr.fwdarw.∃(i′,r′)∈M:(i′,r′)custom-character(i,r)  (4)

    [0070] Each custom-character bounded matching M defines a performable sequence of tool relocations custom-character.sub.M={r|(i, r)∈M}. A maximum custom-character bounded matching therefore corresponds to a maximum performable sequence of tool relocations which may be carried out during the waiting times of the magazine operating apparatus. The maximality applies under the assumptions that only one relocation ever takes place during a waiting time and that the tools exchanged at the provision or handover location during interval i remain at their original locations in the magazine.

    [0071] Modeling as MIP

    [0072] The determination of a matching with edge precedences may be modeled as an integer linear program (MIP). On the basis of the notation introduced above, the following variables are defined:

    [0073] Variables

    [0074] x.sub.(i,r) indicator variable as to whether edge (i,r)∈E is in the matching

    [0075] A maximum matching with edge precedences is the solution of the integer linear program with the objective function

    [00003] max .Math. ( i , r ) E x ( i , r ) ( 5 )

    while taking into account the following constraints:

    [00004] .Math. r R : ( i , r ) E x ( i , r ) 1 , i 𝒥 ( 6 ) .Math. i 𝒥 : ( i , r ) E x ( i , r ) 1 , r R ( 7 ) x ( i , r ) .Math. i 𝒥 : ( i , r ) E ( i , r ) ( i , r ) x ( i , r ) , ( i , r ) E , r r ( 8 ) x ( i , r ) { 0 , 1 } , ( i , r ) E ( 9 )

    [0076] For an allowed solution x, let M.sub.x={(i, r)|x.sub.(i,r)=1}⊂E be the set of the edges whose indicator variable x is equal to 1. The inequalities (6) and (7) guarantee that no two edges from M.sub.x are allocated to an interval i, or to a tool relocation r, that is to say M.sub.x is a matching. The inequalities (8) ensure that the matching M.sub.x is custom-character bounded. custom-character.sub.M.sub.x is therefore a performable sequence of tool relocations that is ultimately consistent with the partial order mentioned above. There are commercial and freely available solvers for solving mixed-integer linear programs [2,3]. That is to say, these solvers can calculate a solution for the integer linear program described above for given values of the coefficients and without further intervention of the user. It is therefore possible to calculate maximum sequences of tool relocations that are performed during the waiting times of the magazine operating apparatus.

    [0077] Extensions to the Heuristic

    [0078] Taking the program progress into account:

    [0079] A maximum custom-character bounded matching corresponds to a performable sequence of tool relocations. The relocations may, however, already begin at the start of the currently running program. The magazine occupancy with minimal waiting times that is determined for this program is therefore altered and waiting times that were originally avoided may occur during production. In order to avoid this undesired effect, the objective function is modified. In other words, the tool transports are taken into account with increasing weighting in the increasing time profile when carrying out the one tool transport, presupposing that the cumulative waiting time for the magazine operating apparatus in the increasing time profile decreases by a newly allocated magazine location of the tool after the tool transport.

    [0080] Index Sets [0081] T Set of the tools which are contained in a critical tuple [0082] custom-character(t) Set of the use end instants of tool t in a critical tuple

    [0083] Let w:custom-character×custom-character.fwdarw.custom-character be a weight function on the edges E of the graph G. Let the values of w be defined as follows:

    [00005] w ( i , r ) = { - 1 if W r t T .Math. T i f < max ( t ) 1 if W r t T .Math. T i f max ( t ) 0 otherwise ( 10 )

    [0084] With the aid of the weight function w, the objective function (5) above of the integer program may be reformulated:

    [00006] max .Math. ( i , r ) E w ( i , r ) x ( i , r ) ( 11 )

    [0085] A matching edge (i, r) is therefore included positively in the objective function only if the allocated tool relocation r is concluded after the last use of the tool W.sub.r.sup.t in a critical tuple. If, on the other hand, the tool W.sub.r.sup.t is still being used after the relocation interval end T.sub.i.sup.f in a critical tuple, the matching edge (i, r) contributes negatively to the weight of the matching.

    [0086] Weighted consideration of the program progress:

    [0087] The objective function (11) weighted all instants before (after) the last use of a tool from a critical tuple equally. The fact that an individual short waiting time before the end of the program is less relevant is therefore not taken into account.

    [0088] Let ω(i, r) be an estimate of the additional waiting time in the current program if the tool W.sub.r.sup.t is relocated at the time T.sub.i.sup.s. Let Ω be a scaling parameter and the weight function {tilde over (w)}:custom-character×custom-character.fwdarw.custom-character on the edges E of the graph G be defined as follows:

    [00007] w ~ ( i , r ) = 1 - w ( i , r ) Ω

    [0089] If Ω is selected to be approximately of the order of the average waiting time saving per tool from a critical tuple, (i, r) has a negative weight {tilde over (w)}(i, r) when a relocation of W.sub.r.sup.t at the time T.sub.i.sup.s requires estimated more additional waiting time during the currently running program than is saved on average per tool by the relocation. The estimates need not be accurate, what is important being only that the relative proportions between different tool relocations r and r′ and the reduction with the program progress match. With a suitable choice of the scaling parameter Ω, the objective function (5) of the integer program from section 4.5 may therefore be replaced with the following objective function (12).

    [00008] max .Math. ( i , r ) E w ~ ( i , r ) x ( i , r ) ( 12 )

    [0090] Multiple Intervals:

    [0091] The modeling above allows at most one tool relocation in the waiting time of the magazine operating apparatus during an operation. If the program contains longer operations and therefore longer waiting times of the magazine operating apparatus, the solutions, with only one relocation, may be very unfavorable. For this case, the modeling may be extended.

    [0092] For the determination of the time intervals, each λ-lazy operation is allocated an interval. Very long time intervals, which may contain a plurality of tool relocations, are in what follows divided into a plurality of smaller time intervals in which at most only one tool relocation or transport is carried out.

    [0093] Let ρ be the maximum trip time of an empty trip and a tool relocation trip, that is to say

    [00009] ρ = max { moveTime l , W r s + moveTime W r s , W r f W r t .Math. r R , l } ( 13 )

    A time interval i∈custom-character is called a long time interval if the following applies for a k=2,3, . . .


    T.sub.i.sup.f−T.sub.i.sup.s≥kρ+max{moveTime.sub.l,l′|l,l′∈custom-character}  (14)

    [0094] Let i be a long time interval and k maximum, so that the inequality (14) applies. The interval i is subdivided into k intervals with a length of ρ and ρ+custom-character moveTime.sub.l,l′. The start time (possible start positions) of the first new interval and the end time (possible end positions) of the last new interval are respectively T.sub.i.sup.s (L.sub.i.sup.s) and T.sub.i.sup.f (L.sub.i.sup.f). The intermediate times and intermediate positions are dependent on the choice of the tool relocation that was selected for the preceding time interval. Since the intervals all have at least the length ρ, every series of an empty trip and a tool relocation can be carried out in the interval. In the last time interval, an empty trip to an arbitrary position from L.sub.i.sup.f may additionally be carried out. This division is carried out for every long time interval. Let the resulting interval set be custom-character.

    [0095] The bipartite graph is extended to custom-character. Since every tool relocation is possible in the newly generated time intervals, for these intervals i′ all edges (i′, r) for which W.sub.r.sup.t is not the spindle tool during the time interval i are introduced into the graph G. For the unchanged time intervals i and tool relocations r, the above criterion (2) continues to be applied. This extended bipartite graph likewise has the property that each custom-character bounded matching corresponds to a performable sequence of tool relocations.

    [0096] Although embodiments of the invention have been illustrated and described in detail, embodiments of the invention are not restricted by the examples disclosed and other variations may be derived therefrom by a person skilled in the conventional art, without departing from the scope of protection of embodiments of the invention.

    [0097] The implementation of the processes or method procedures described above may be performed with the aid of instructions that are present on computer-readable storage media or in volatile computer memories (referred to below summarily as computer-readable memories). Computer-readable memories are for example volatile memories such as caches, buffers or RAM as well as nonvolatile memories such as removable data media, hard drives, etc.

    [0098] The functions or steps described above may in this case be present in the form of at least one instruction set in/on a computer-readable memory. The functions or steps are in this case not constrained to a particular instruction set or to a particular form of instruction sets or to a particular storage medium or to a particular processor or to particular execution schemes, and may be performed by software, firmware, microcode, hardware, processors, integrated circuits, etc. in standalone operation or in arbitrary combination. A very wide variety of processing strategies may in this case be employed, for example serial processing by a single processor or multiprocessing or multitasking or parallel processing, etc.

    [0099] The instructions may be stored in local memories, although it is possible to store the instructions on a remote system and to access the latter via a network.

    [0100] In the context of embodiments of the invention, “computer-aided” may for example be understood as an implementation of the method in which, in particular, a processor performs at least one method step of the method.

    [0101] The term “processor”, “central signal processing”, “control unit” or “data evaluation means”, as used here, includes processing means in the broadest sense, that is to say for example servers, universal processors, graphics processors, digital signal processors, application-specific integrated circuits (ASICs), programmable logic circuits such as FPGAs, discrete analog or digital circuits and arbitrary combinations thereof, including all other processing means known to a person skilled in the art or developed in the future. Processors may in this case consist of one or more devices or instruments or units. If a processor consists of a plurality of devices, these may be designed or configured for the parallel or sequential processing or execution of instructions. In the context of embodiments of the invention, a “storage unit” may for example be understood as a memory in the form of a working memory (random-access memory, RAM) or a hard drive.

    [0102] Although the present invention has been disclosed in the form of embodiments and variations thereon, it will be understood that numerous additional modifications and variations could be made thereto without departing from the scope of the invention.

    [0103] For the sake of clarity, it is to be understood that the use of “a” or “an” throughout this application does not exclude a plurality, and “comprising” does not exclude other steps or elements.

    REFERENCES

    [0104] 1. PCT/EP2018/074999 [0105] 2. The SCIP Optimization Suite 5.0; Ambros Gleixner, Leon Eifler, Tristan Gally, Gerald Gamrath, Patrick Gemander, Robert Lion Gottwald, Gregor Hendel, Christopher Hojny, Thorsten Koch, Matthias Miltenberger, Benjamin Müller, Marc E. Pfetsch, Christian Puchert, Daniel Rehfeldt, Franziska Schlösser, Felipe Serrano, Yuji Shinano, Jan Merlin Viernickel, Stefan Vigerske, Dieter Weninger, Jonas T. Witt, Jakob Witzig, ZIB-Report 17-61, Zuse Institute Berlin, December 2017; http://scip.zib.de. [0106] 3. IBM ILOG CPLEX MIP Optimizer; https://www.ibm.com. [0107] 4. Andreas Hirsch; Werkzeugmaschinen: Grundlagen, Auslegung, Ausführungsbeispiele [Machine tools: basics, design, example applications], 2.sup.nd ed., Springer Vieweg|Springer Fachmedien Wiesbaden 2012, p. 2; https://doi.org/10.1007/978-3-8348-2364-9.