FMS system scheduling and resource configuration optimization method based on Petri network

By improving the simulation annealing algorithm and the generation filter beam search algorithm, resource allocation and scheduling optimization are solved in the basis-reachable graph of Petri network, the problem of inefficient scheduling efficiency in large-scale flexible manufacturing systems is achieved, and integrated optimization of resource allocation and scheduling is achieved, which improves the overall efficiency and resource utilization of the system.

CN120355041AActive Publication Date: 2025-07-22SHAANXI UNIV OF SCI & TECH
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202510844664.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-06-23
Publication Date
2025-07-22
Estimated Expiration
2045-06-23

AI Technical Summary

Technical Problem

In large-scale flexible manufacturing systems, existing scheduling optimization methods are difficult to take into account the needs of multi-dimensional optimization goals and real-time dynamic configuration of system resources, resulting in low computing efficiency. The Petri network state space explosion problem leads to high search complexity and it is difficult to complete scheduling optimization within a reasonable time.

Method used

The improved simulated annealing algorithm combined with the generation filter beam search algorithm is used to optimize resource configuration and scheduling in the base-reachable graph of Petri. By dividing the base partition, building the base-reachable graph, and combining adaptive temperature adjustment and neighborhood search strategies, the resource configuration scheme and machine processing time are optimized.

Benefits of technology

It improves the scheduling efficiency and resource utilization of large-scale flexible manufacturing systems, reduces the maximum completion time, and improves resource allocation effect. It is especially suitable for multi-task complex flexible manufacturing systems.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120355041A_ABST
    Figure CN120355041A_ABST
Patent Text Reader

Abstract

The invention discloses an FMS system scheduling and resource configuration optimization method based on a Petri net, and belongs to the technical field of manufacturing system optimization and intelligent control, and the method comprises the steps: distributing resources of a flexible manufacturing system according to the production requirements of the flexible manufacturing system, obtaining the processing information of the current flexible manufacturing system, and obtaining the processing information of the flexible manufacturing system; establishing a Petri net model of the flexible manufacturing system according to the processing information of the current flexible manufacturing system; dividing the transition set of the Petri network into base partitions, and constructing a base reachable graph based on the base partitions; performing resource configuration and scheduling integrated optimization in the base reachability graph by combining an improved simulated annealing algorithm with a generation filter beam search algorithm to obtain an optimized resource configuration scheme and machine processing time; and according to the optimized resource configuration scheme and the machine processing time, performing time axis sorting on operations of all the workpieces according to the working procedure starting time, and generating a final scheduling result.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the technical field of manufacturing system optimization and intelligent control, and specifically relates to an optimization method for FMS system scheduling and resource allocation based on Petri nets. Background Art

[0002] With the continuous improvement of industrial manufacturing levels, the FMS (Flexible Manufacturing System) has been widely used in modern manufacturing due to its advantages such as parallel processing of multiple tasks and strong adaptability to production demand changes. However, achieving efficient scheduling in flexible manufacturing systems has always been a key issue. Especially in the face of large-scale, multi-resource, and complex production processes, how to reasonably allocate system resources, optimize scheduling plans, and balance resource costs and production efficiency has become a challenging task.

[0003] Currently, commonly used scheduling optimization methods include heuristic algorithms, mathematical programming, intelligent optimization algorithms, etc. However, in practical applications, these methods often struggle to simultaneously consider multi-dimensional optimization goals and the real-time dynamic configuration requirements of system resources. In addition, traditional scheduling algorithms take a long time to traverse the system state space, and there are obvious computational efficiency problems when dealing with large-scale flexible manufacturing systems.

[0004] To address the above challenges, Petri nets, as an effective discrete event system modeling tool, have gradually been introduced into the modeling and scheduling of flexible manufacturing systems due to their good description capabilities for concurrency, asynchrony, and shared resources. Petri nets can intuitively and accurately describe the state changes and resource constraints in the system, and provide a reliable basic model for subsequent scheduling optimization. However, in large-scale systems, the state space of Petri nets is extremely prone to the "explosion" phenomenon, resulting in a rapid increase in the search space and making it difficult to complete scheduling optimization within a reasonable time.

[0005] To address the problem of the explosion of the Petri net state space, the BS (Beam Search) algorithm has been introduced to improve the search efficiency. Beam search is a heuristic search method that controls the scale of the expansion of the state space by restricting the number of search paths, thereby obtaining high-quality sub-optimal solutions in a short time. In the basic reachable space of Petri nets, the beam search algorithm can efficiently explore state paths with high potential benefits to reduce the overall search complexity. However, relying solely on beam search for scheduling still cannot achieve the global optimum of resource allocation and scheduling. Summary of the Invention

[0006] The purpose of the present invention is to overcome the problem of complex scheduling in large-scale systems, and propose an optimization method for FMS system scheduling and resource allocation based on Petri nets.

[0007] To achieve the above object, the present invention adopts the following technical solutions: In a first aspect, the present invention provides an optimization method for scheduling and resource allocation of an FMS system based on Petri nets, including the following steps: Allocate the resources of the flexible manufacturing system according to the production requirements of the flexible manufacturing system to obtain the current processing information of the flexible manufacturing system, and establish a Petri net model of the flexible manufacturing system based on the current processing information of the flexible manufacturing system; Divide the transition set of the Petri net into a base partition, and construct a base reachability graph based on the base partition; Adopt an improved simulated annealing algorithm combined with a generation filtering beam search algorithm to perform integrated optimization of resource allocation and scheduling in the base reachability graph, and obtain an optimized resource allocation plan and machine processing time; According to the optimized resource allocation plan and machine processing time, sort the operations of all workpieces along the time axis according to the operation start time to generate the final scheduling result.

[0008] Further, the generation filtering beam search algorithm includes the following steps: Combine the Petri net state and the machine processing time into an extended state in the base reachability graph , where M is the Petri net state identifier and R is the machine processing time; Based on the extended state Search for a path from the initial state to the state satisfying the final identifier condition in the base reachability graph, and the cost estimation heuristic function of the path is: , where represents the maximum completion time from the initial identifier to the final identifier, represents the maximum completion time from the initial identifier to the current identifier, represents the minimum processing time of the remaining processes from the current identifier to the final identifier; Update the processing time matrix through event list sorting and resource idle time conflict detection.

[0009] Further, the improved simulated annealing algorithm includes the following steps: Step 1. Set the initial temperature , the temperature reduction factor , the neighborhood adjustment coefficient , the penalty coefficient , the termination temperature , the length of the Markov chain ; Step 2. Randomly generate an initial resource allocation plan , W(r)For the initial configured quantity of each resource r, where 1, 2, …, q are the types of resource r, construct the Petri net system corresponding to the initial resource configuration scheme ( N, M 0), N is the Petri net, M 0 is the initial marking of the Petri net; Step 3, evaluate the fitness function of the initial configuration scheme , and the processing time on the corresponding machine , where is the makespan of the beam search algorithm searching for scheduling in the Petri net base reachability graph space, is the penalty function; , where, is the penalty function, is the penalty coefficient, max is the maximum value function, q is the number of resource types, i is the intermediate variable, is the resource, is the current resource configuration scheme, v(r i ) represents the cost required to configure the resource, is the total cost that can be dominated; Step 4, check whether the current temperature is less than the termination . If so, go to Step 5; otherwise, output the resource configuration scheme and the processing time on the corresponding machine , and terminate the iteration; Step 5, check whether the current iteration count reaches the Markov chain length . If so, go to Step 9; otherwise, go to Step 6; Step 6, according to the current solution , randomly adopt one of the four neighborhood search strategies to generate a new neighborhood solution : Step 7, evaluate the fitness function of the new neighborhood solution where is the fitness function of the new solution, is the makespan of the beam search algorithm of the new solution searching for scheduling in the Petri net base reachability graph space, is the penalty function of the new solution; Step 8, if , then accept the new solution: ; if , then accept the new solution with probability ; return to Step 5; Step 9: Calculate the acceptance rate of the current solution and update the temperature using the adaptive temperature adjustment mechanism; Step 10: Adjust the neighborhood search range using the adaptive neighborhood search range mechanism; Step 11: Return to Step 4 to continue checking whether the current temperature is less than the termination value. If so, enter Step 5; otherwise, output the resource allocation plan and the processing time on the corresponding machine and terminate the iteration.

[0010] Furthermore, Step 3 includes the following steps: Step 3.1: Given the target state M f initialize the global beam width and the local beam width and add the initial state of constructing the Petri net under the current resource allocation plan to the storage list LIST; M0 is the initial marking and R0 is the initial processing time on the machine; Step 3.2: Check whether the LIST list is empty. If not, enter Step 3.3; if so, enter Step 3.9; Step 3.3: Take out the first state from the LIST list ; this state consists of a marking M and the corresponding processing time R on the machine; Step 3.4: If then return R and the makespan and terminate the search; Step 3.5: Calculate at for all to find the enabled transition set for all with combinatorial events ; find the enabled transition set; T E is the explicit transition set, t is a single explicit transition, represents the implicit transition sequence, represents the set of minimum interpretation vectors that enable the explicit transition t under the marking M; Step 3.6: For each enabled transition at fire the combinatorial event to generate the successor state , is the new state generated by the combinatorial event at state M, is the processing time on the machine corresponding to the new state, and calculate the makespan from the initial marking to the current marking , the minimum processing time of the remaining processes from the current identifier to the final identifier and the maximum completion time ; Step 3.7, Add the successor state to the temporary list TEMP If there is a state in the temporary list TEMP that is the same as the newly generated state, retain the state with the smallest g value; Step 3.8, Rearrange the TEMP list in non-descending order of the maximum completion time value, take the TEMP first nodes of the list and put them into the global list GLOBAL , clear the TEMP list and return to Step 3.2; Step 3.9, Rearrange the GLOBAL list in ascending order of the maximum completion time value. If there are states with the same maximum completion time value, arrange the latest expanded state at the head of the states with the same maximum completion time value; Step 3.10, Clear the list, take the GLOBAL first nodes of the list and put them into the list, return to Step 3.2.

[0011] Furthermore, Step 3.6 is specifically as follows: Step 3.6.1, Initialization: , is the maximum completion time from the initial identifier to the current identifier, is the state M generated by combining events , is the processing time on the machine corresponding to the new state, and the idle time on the machine ; Step 3.6.2, For all transitions in the combined event reaching the state , select the resource p corresponding to the pre-place ; Step 3.6.3, Initialize the event list EVENT to be empty, and the counter ; Step 3.6.4, For each processing time interval in , mark the left endpoint and the right endpoint of the interval as start and end respectively, then add them to the EVENT list, and arrange the EVENT list according to the left endpoint Perform ascending sorting; Step 3.6.5, Take out the first event in the EVENT list and go to Step 3.6.6. If the EVENT list is empty, go to Step 3.6.8; Step 3.6.6, If the event is marked as start then , If , Record the time corresponding to the current event as the overload start time , Go to Step 3.6.5; For each resource capacity; Step 3.6.7, If the event is marked as end, there already exists and , then , Record the time corresponding to the current event as the overload end time , And make , Go to Step 3.6.5; Step 3.6.8, Select from to meet the conditions , and , , Update ; is the time delay related to p ; Step 3.6.9, Return .

[0012] Furthermore, in Step 6, randomly adopt one of the four neighborhood search strategies to generate a new neighborhood solution The four neighborhood search strategies in Strategy 1: Randomly select a resource , Adjust the neighborhood search range for the quantity of the resource ; ; Strategy 2: Increase the neighborhood search range for the quantity of the resource with the longest usage duration in the scheduling result ; ; Strategy 3: Decrease the neighborhood search range for the quantity of the resource with the shortest usage duration in the scheduling result ; ; Strategy 4: Increase the neighborhood search range for the quantity of the resource corresponding to the workpiece with the longest waiting processing time in the scheduling result ; .

[0013] Furthermore, the adaptive temperature adjustment mechanism for updating the temperature in Step 9 is as follows: , where is the updated temperature, is the temperature before adjustment, is the temperature reduction coefficient, is the acceptance rate function; The adaptive neighborhood search range mechanism in step 10 for adjusting the neighborhood search range is as follows: , where is the neighborhood search range, is the neighborhood adjustment coefficient, and T is the current temperature.

[0014] In a second aspect, the present invention provides an FMS system scheduling and resource allocation optimization system based on a Petri net, including: A model establishment module, configured to establish a Petri net model of a flexible manufacturing system according to production requirements; the Petri net model of the flexible manufacturing system includes a resource set, a workpiece type set, a processing path set, and an association relationship between operation places and resource places, and defines the dynamic behavior of the system through an initial marking and a state transition formula; A basic partition division module, configured to divide the transition set of the Petri net into basic partitions and construct a basic reachability graph based on the basic partitions; A resource allocation and scheduling integrated optimization module, configured to use an improved simulated annealing algorithm combined with a generation filtering beam search algorithm to perform integrated optimization of resource allocation and scheduling in the basic reachability graph to obtain an optimized resource allocation plan and machine processing time; A final scheduling result generation module, configured to generate a final scheduling result according to the optimized resource allocation plan and machine processing time.

[0015] In a third aspect, the present invention provides an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, it implements an FMS system scheduling and resource allocation optimization method based on a Petri net.

[0016] In a fourth aspect, the present invention provides a computer-readable storage medium storing a computer program. When the computer program is executed by a processor, it implements an FMS system scheduling and resource allocation optimization method based on a Petri net.

[0017] Compared with the prior art, the present invention has the following beneficial technical effects: The optimization method for FMS system scheduling and resource allocation based on Petri net proposed by the present invention. To further optimize resource allocation, the present invention introduces the SA (Simulated Annealing) algorithm. The SA algorithm is a stochastic optimization algorithm, which is good at finding the global optimal solution in a large-scale and complex search space. The SA algorithm can jump out of the local optimum by allowing a certain probability of "annealing" process during the search process, and optimize resource allocation on the premise of meeting the resource cost constraint. Combining Petri net modeling and BS algorithm scheduling, the introduction of the simulated annealing algorithm can effectively perform dynamic allocation and adjustment of resources during the system scheduling process, and further improve the overall scheduling efficiency and resource utilization rate of the system. By modeling the system with Petri net, using the simulated annealing algorithm to optimize resource allocation, and combining the beam search algorithm to efficiently search in the basic reachable space of the Petri net to complete system scheduling, it can improve the scheduling efficiency and resource allocation effect of large-scale flexible manufacturing systems on the premise of meeting the system cost constraint. The invention can efficiently solve the integrated optimization problem of resource allocation and scheduling, reduce the makespan, improve resource utilization rate and scheduling efficiency, and is especially suitable for the optimization scenario of multi-task complex flexible manufacturing systems. BRIEF DESCRIPTION OF THE DRAWINGS

[0018] The drawings described herein are for illustrative purposes only and are not intended to limit the scope of the disclosure of the present invention in any way. Additionally, the shapes and proportional dimensions of the various components in the drawings are only schematic and are used to assist in understanding the present invention, rather than specifically defining the shapes and proportional dimensions of the various components of the present invention. In the drawings: Figure 1 is a flowchart of the optimization method for FMS system scheduling and resource allocation based on Petri net of the present invention.

[0019] Figure 2 is a structural diagram of the optimization system for FMS system scheduling and resource allocation based on Petri net of the present invention.

[0020] Figure 3 is a diagram of an electronic device for the optimization method for FMS system scheduling and resource allocation based on Petri net of the present invention.

[0021] Figure 4 is a flowchart of the optimization method for FMS system scheduling and resource allocation based on Petri net in an embodiment of the present invention.

[0022] Figure 5 is the production requirement of the flexible manufacturing system in an embodiment of the present invention.

[0023] Figure 6 is a processing schematic diagram of the flexible manufacturing system in an embodiment of the present invention.

[0024] Figure 7 It is the Petri net model diagram of the flexible manufacturing system workshop environment in the embodiment of the present invention .

[0025] Figure 8 It is the flow chart of combining the improved simulated annealing algorithm with the generation filtering beam search based on the Petri net reachability graph in the embodiment of the present invention

[0026] Figure 9 It is the scheduling result diagram of the flexible manufacturing system in the embodiment of the present invention Specific implementation manners

[0027] In order to enable those skilled in the art to better understand the solution of the present invention, the technical solutions in the embodiments of the present invention will be clearly and completely described below in conjunction with the accompanying drawings in the embodiments of the present invention. Obviously, the described embodiments are only a part of the embodiments of the present invention, rather than all of the embodiments. All other embodiments obtained by those of ordinary skill in the art based on the embodiments of the present invention without creative efforts shall fall within the protection scope of the present invention

[0028] Embodiment 1 Refer to Figure 1 , the FMS system scheduling and resource allocation optimization method based on Petri net, refer to Figure 4 , the main steps include: Step 1: Establish a Petri net model of the flexible manufacturing system according to the operation requirements Specifically, step 1 is as follows The flexible manufacturing system includes q types of resources, represented by the set . The resources can be machines, robots or buffers

[0029] For each resource the capacity represents the maximum number of workpieces that the resource can produce simultaneously, v(r i ) represents the cost required to configure the resource, and the total cost that can be allocated is.

[0030] When a certain resource is idle or does not exceed its maximum capacity , it is regarded as an available state

[0031] This system can produce s types of workpieces, expressed as: , j 1 is the first type of workpiece, j 2 is the second type of workpiece, js is the third type of workpiece; Each type of workpiece has a specific batch size, denoted as , and the total number of workpieces in the system is: ; Each workpiece operates according to a predefined processing sequence, which is called the processing path of the workpiece. A workpiece may have multiple alternative processing paths, and one of them can be selected during the manufacturing process.

[0032] The set of all processing paths in the system is denoted by , and the th processing path of the k th type of workpiece is denoted as: ; where denotes the th operation in path j , and the total number of operations required to complete the workpiece is . The time requirement for processing operation is denoted as , and each processing operation requires a resource.

[0033] For ease of management, two virtual operations that do not occupy any resources are added for each type of workpiece, namely the starting operation and the ending operation , which are used to represent the initial storage location and the final processing completion location of the workpiece. Therefore, the processing path can be denoted as: ; The processing route of a workpiece of type can be represented as a sequence consisting of places and transitions, i.e.: ; In this path, denotes the operation place for performing activity , denotes the transition where activity starts, and the triggering of indicates that the processing of a workpiece of type is completed.

[0034] Places and represent the starting point and the ending point of the processing path, respectively, i.e., the original storage location and the processing completion location of the workpiece.

[0035] Resource is assigned a resource place, and the set of all resource places is denoted as​ , the cost related to resources is expressed as . It should be noted that different processing routes may share some resources, which means that different place-transition paths in the FMS may contain the same resource places.

[0036] For the operation place , its pre-transition and post-transition represent the start and end of the operation respectively. The use and release of resources are modeled by directed arcs.

[0037] If the resource place is needed to perform an activity in the operation place , then set and . The number of tokens in the starting place in the initial marking represents the quantity of raw materials, the token on the operation place represents whether the operation is in progress, and the token in the resource place represents whether the resource is available.

[0038] According to the obtained processing information, the global environment is modeled as a place-timed Petri net model, denoted as: ; For the place , the symbols and represent its pre-transition and post-transition respectively.

[0039] Similarly, for the transition , and represent its pre-place and post-place.

[0040] Define as the identifier, define M 0 represents the initial identifier of the net N .

[0041] When , it is said that the place p is marked under the identifier M .

[0042] Under the identifier M , if for any , there is always , then it is said that the transition t is enabled at . represents the pre-incidence matrix related to the transition t in the Petri net, indicating the number of tokens in the pre-transition p required to fire the transition t. Sufficient quantity is required to enable it. For example, M(p1)=1 represents that there is one token in p1.

[0043] If at the identifier Selecting a firing transition \(t\) generates a new marking , and its state transition formula is: ; This process is denoted as . represents the post - incidence matrix associated with transition \(t\) in the Petri net. It represents the number of new tokens added to its post - place \(p\) after firing transition \(t\). The whole formula represents the state transition process, taking tokens from the pre - places of \(t\) and then adding tokens to the post - place \(p\).

[0044] If a new marking is generated after a series of transition firings at marking , then is said to be reachable from . The set of markings reachable from is denoted as

[0045] P M , P S and P E represent the sets of operation, start, and end places respectively, T S and T E represent the sets of start and end transitions respectively. The time delay associated with place is denoted as .

[0046] Obviously, for all , there is .

[0047] Initial marking , where represents the start place.

[0048] For any operation place , the initial marking is .

[0049] For each resource , its initial marking is .

[0050] The resource cost associated with place is denoted as .

[0051] Define the final marking of the system as , satisfying the following conditions: For all , there is ; For each , there is ; For each , there is .

[0052] When a transition sequence satisfies and , it is called a feasible resource allocation and scheduling scheme.

[0053] Therefore, the goal of the integrated optimization problem of resource allocation and scheduling is to find a feasible transition sequence that meets the total cost constraint to minimize the makespan within the cost constraint, that is, the total time required for the workpiece to be completed.

[0054] Step 2: Divide the base partition of the Petri net and reduce the state space; Specifically, Step 2 is as follows: Given a Petri net system , its reachability graph is represented as .

[0055] In this graph, each vertex represents a reachable marking, and each edge represents a marking transition , recording the transitions fired during this transition process .

[0056] If the transition set T is divided into an explicit transition set T E and an implicit transition set T I , that is , then in the reachability graph, the reachable states corresponding to some transitions will be represented as combinations of transition sequences in the implicit transition set, and thus a reachability graph with some states hidden is obtained, called the base reachability graph .

[0057] For the given transition partition T E and T I , it is called the base partition .

[0058] In the Petri net under a specific base partition N , the partial reachable marking set, that is, the states in the base reachability graph , is represented as the base marking set , where is the initial marking of the net N .

[0059] The base reachability graph can be expressed as: ; where the state set represents the set of base markings, is the initial marking.

[0060] The combined event set is defined as: ; The combined event set is a combined event composed of explicit transitions and implicit transition sequences. Among them, represents a non - negative integer vector of dimension, is the number of implicit transitions. is this non - negative integer vector, representing an implicit transition sequence, and t is a single explicit transition.

[0061] The conversion relationship between markings is defined as: ; represents the marking can be converted to the marking through the combined event , denotes the set of the smallest interpretation vectors that activate the explicit transition t under the marking M1, C is the incidence matrix, C = post - pre. The post - incidence matrix minus the pre - incidence matrix. represents the column corresponding to the transition t in the incidence matrix. And it satisfies: ; where, represents the transition sequence, represents a non - negative integer vector ( the firing times vector of), for example, [1 1 1] represents firing t1, t2, t3 once, different from in that this vector can represent the number of times, for example, [2 1 1] represents firing t1 twice, t2 once, and t3 once. represents the smallest interpretation set of the explicit transition under the marking , defined as: ; Here, is the interpretation set of the explicit transition under the marking , including all that can be combined with the explicit transition to form an event and reach a new marking at , and can make the explicit transition All triggered implicit transition sequences. The minimum explanation set represents the implicit transition sequence with the fewest number of firings in the explanation set. The minimum explanation set is defined as: for a transition firing sequence in an explanation set , there does not exist another transition firing sequence such that 's firing count vector is not greater than 's firing count vector in each dimension.

[0062] For the Petri net system , first set all transitions as implicit transitions , so the explicit transition set is .

[0063] Then check the implicit transition set . If it contains a cycle composed only of implicit transitions , select one implicit transition from this cycle and classify it into the explicit transition set .

[0064] Repeat the above steps until there are no longer cycles composed only of implicit transitions in the implicit transition set .

[0065] At this time, a new feasible base partition is obtained.

[0066] Step 3: Use the improved simulated annealing algorithm combined with the generation filtering beam search algorithm to optimize the integration of resource allocation and scheduling; For the Petri net system , the base partition .

[0067] The resource allocation explored during the simulated annealing process is , and its corresponding cost is . Since the simulated annealing algorithm does not have a mechanism to automatically satisfy constraints, the constraints may be violated when generating neighborhood solutions each time, resulting in infeasible solutions generated by the algorithm; For example, the generated machine configuration cannot be scheduled or the total machine price exceeds the total cost , so a penalty function is introduced to handle infeasible solutions. If a solution violates the scheduling time or total cost constraint, a penalty is imposed on the objective function to guide the algorithm to avoid infeasible solutions and gradually approach feasible solutions.

[0068] The penalty function is defined as: ; where is the penalty coefficient, is the resource, is the current resource allocation plan, v(r i ) represents the cost required to allocate this resource, and the total available cost is , where q is the number of resource types.

[0069] Meanwhile, if the cooling rate is too fast, it is easy to fall into local optimality, and if it is too slow, the computational amount and time cost will increase. The machine configuration combination is complex, the solution space is large, and it is difficult to control the generation of neighborhood solutions, making it difficult for the algorithm to efficiently search in the solution space.

[0070] As the temperature decreases, the neighborhood adjustment range can be gradually reduced, that is: ; where is the neighborhood adjustment coefficient and T is the temperature.

[0071] Meanwhile, four neighborhood search mechanisms are adopted: Strategy 1: Randomly select a resource , and randomly adjust its quantity , and the range shrinks as the temperature decreases.

[0072] Strategy 2: Based on the Gantt chart information of the current solution, select the resource with the longest machine usage time and increase the quantity of this machine .

[0073] Strategy 3: Select the resource with the shortest usage time and reduce its quantity to save costs. An adaptive cooling mechanism is introduced, and the temperature is updated based on the search progress. Define the attenuation factor , and dynamically adjust it according to the acceptance rate of the solution. Let the acceptance rate be the ratio of the number of accepted solutions to the total number of generated solutions at the current temperature. If is too low, then slow down the cooling rate; if is relatively high, then accelerate the cooling.

[0074] Strategy 4: Increase the quantity of the resource corresponding to the workpiece with the longest waiting time for processing in the scheduling result; The specific update formula is: ; where is the acceptance rate function. If >0.8 , then , if 0.2≤ ≤0.8 , then , if <0.2 , then .

[0075] Adaptive temperature adjustment keeps a relatively high temperature during the early exploration stage and rapidly cools down and converges in the later stage.

[0076] Specifically, the integrated optimization process of resource allocation and scheduling based on the simulated annealing and beam search algorithms can be described as follows: 1) Set the initial temperature , the temperature reduction factor , the neighborhood adjustment coefficient , the penalty coefficient , the termination temperature , the length of the Markov chain ; 2) Randomly generate an initial resource allocation plan , W(r) is the initial allocation quantity of each resource r, 1, 2,..., q are the types of resource r, and construct its corresponding Petri net system ( N,M 0), N is the Petri net, M 0 is the initial marking of the Petri net; 3) Evaluate the fitness function of the initial allocation plan , and the processing time on the corresponding machine, where is the makespan of the beam search algorithm searching for scheduling in the Petri net reachability graph space, is the penalty function; 4) Check whether the current temperature is less than . If so, go to 5); otherwise, output the resource allocation plan and the corresponding processing time on the machine, and terminate the iteration; 5) Check whether the current iteration number reaches the length of the Markov chain . If so, go to step 9); otherwise, go to step 6); 6) According to the current solution , randomly generate a new neighborhood solution using one of the following four strategies : Strategy 1: Randomly select a resource , and adjust its quantity ; Strategy 2: Increase the quantity of the resource with the longest usage duration in the scheduling result by ; Strategy 3: Decrease the quantity of the resource with the shortest usage duration in the scheduling result by ; Strategy 4: Make the resource corresponding to the workpiece with the longest waiting processing time in the scheduling result The quantity increases ; The resource of the workpiece with the longest waiting time for processing means: If the processing times of the three processes of workpiece A on resources 123 are: Resource 1: [0, 1] (from time 0 to time 1); Resource 2: [1, 3] (from time 1 to time 3); Resource 3: [5, 6] (from time 5 to time 6); If the processing times of the three processes of workpiece B on resources 213 are: Resource 2: [0, 1] (from time 0 to time 1); Resource 1: [1, 2] (from time 1 to time 2); Resource 3: [2, 5] (from time 2 to time 5); The waiting time of workpiece A is 2, and it spends on machine (resource) 3. Workpiece B has no waiting time. So the resource corresponding to the workpiece with the longest waiting time for processing is 3; 7) Evaluate the fitness function of the new solution , where is the fitness function of the new solution, is the makespan of the beam search algorithm of the new solution searching for scheduling in the Petri net-based reachability graph space, is the penalty function of the new solution; 8) If , then accept the new solution: .

[0077] If , then accept the new solution with probability ; Return to step 5); 9) Calculate the acceptance rate of the current solution , update the temperature , If >0.8 , then If 0.2≤ ≤0.8 , then If <0.2 , then ; Among them, is the acceptance rate function, is the temperature reduction coefficient; 10) Adjust the neighborhood search range , where is the neighborhood adjustment coefficient, and T is the current temperature; 11) Return to step 4); Among them, the beam search algorithm searches for the makespan of the schedule in the Petri net-based reachability graph space The method is as follows.

[0078] represents the current state of the Petri net represents the processing time on the machine, where When recording and updating the processing time it should be ensured that the start processing time of each workpiece on the same process satisfies the following constraint: for each process of each workpiece, the start processing time of the next process shall not be earlier than the completion time of the previous process of the workpiece to ensure the sequential progress of the processes. According to the current resource allocation plan x its corresponding Petri net model can be constructed. Since the processing times on the machines corresponding to different Petri net states M are different, the Petri net state and the processing time on the machine are combined into a new state, that is R to complete a more refined search. There is where and M are the processing times on the machines corresponding to the states R searched and generated under the Petri net model corresponding to the resource allocation plan x M R。

[0079] where represents the estimated cost from to represents the cost spent from to represents the estimated minimum cost from to represents the minimum remaining processing time of the flexible manufacturing system is for representing the token of the workpiece from its marking place M at q to its end place e

[0080] For example, the remaining processing path of workpiece 1 is as follows: Process 3: Spend 2 units of time on machine 1; Process 4: Spend 2 units of time on machine 2 or 1 unit of time on machine 3; Process 5: Spend 2 units of time on machine 4; ​​​​​​The minimum remaining processing time is min((2 + 2 + 2), (2 + 1 + 2)) = 5; Petri net system The scheduling problem of becomes searching for a transition firing sequence from its initial state to the given target state M f in the base reachability graph of

[0081] Specifically, the beam search process based on the base reachability graph in step 3) can be described as follows: 3.1) Initialize the global beam width and the local beam width and add the initial state of the Petri net constructed under the current resource configuration scheme to the storage list LIST; M0 is the initial marking of PN, and R0 is the processing time on the initial machine; 3.2) Check whether the LIST list is empty. Otherwise, go to 3.3), and if it is, go to 3.9); 3.3) Take out the first state from the LIST list; this state consists of a PN marking M and the corresponding processing time R on the machine; 3.4) If then return R and the makespan and terminate; 3.5) Calculate it at under all such that for all , there is a combined event and find the set of enabled transitions; 3.6) For each enabled transition at , fire the combined event to generate a successor state , where is the new state generated from state M through the combined event , and is the processing time on the machine corresponding to the new state. Calculate , and ; 3.7) If there exists a state TEMP in the temporary list such that , and , then replace with , otherwise add to the TEMP list; that is, ifTEMP There is a state that is the same as the currently generated new state, and the state with the smallest g value (actual cost) is retained.

[0082] 3.8) Rearrange in non-decreasing order of the makespan value TEMP the list, and take TEMP the first nodes from the list and put them into the global list GLOBAL , clear TEMP the list and return to step 3.2); the global list GLOBAL is a data structure (such as an array, linked list, etc.) that can be accessed within the scope of a program or system and is used to store shared data. The life cycle of the global list runs through the entire program execution cycle and is a variable that is valid throughout the life cycle of the program and can be accessed by all functions or modules.

[0083] 3.9) Rearrange the list in ascending order of the GLOBAL value. If there are states with the same value, then arrange the most recently expanded state to the first position among the states with the same value; 3.10) Clear the LIST list, take GLOBAL the first nodes from the list and put them into the LIST list, and return to step 3.2); In steps 3.2) - 3.8), the states in the LIST list are continuously taken. When the LIST becomes empty and then returns to step 3.2) again, it will be judged whether the LIST is empty. If it is empty, then enter step 3.9).

[0084] Steps 3.2) to 3.8) are to sequentially explore the states in the LIST list, add the successor states explored for each state to the TEMP list, after sorting the TEMP, add the first states to the GLOBAL list until all the states in the LIST have been taken out (explored), then enter steps 3.9), 3.10), sort the GLOBAL list, take the first states and put them into the LIST list, and then return to step 3.2).

[0085] Furthermore, the method for calculating in 3.5) is described as follows: 3.5.1) Construct the matrix , where , is a matrix that only contains implicit transition information in is the transpose matrix of , is of dimension The identity matrix, the number of implicit transitions is represented by . , , is a zero vector of dimension ; represents the column corresponding to transition t in the pre-incidence matrix, is a zero vector, is the number of implicit transitions. If there are 3 implicit transitions, then B = [0; 0; 0]; 3.5.2) If the matrix does not contain negative elements, go to step 3.5.6); otherwise, go to step 3.5.3); 3.5.3) For all elements less than 0 in , represents a certain row of the matrix, represents a certain column of the matrix. Let ; Stores all i, representing the i-th row in If the element in the i-th row and j*-th column in 3.5.4) If is empty, remove from and go to step 3.5.2); otherwise, go to step 3.5.5); represents the -th row in A B; 3.5.5) For all , add a new row to , where is the -th regular basis vector in represents all columns of the i-th row, that is, the i-th row. If the new row is repeated with the rows in , there is no need to add it; 3.5.6) Remove from and go to step 3.5.2); 3.5.7) After merging the repeated rows in , return , The row vectors in .

[0086] The process of calculating in step 3.6) of the beam search based on the basis reachability graph is as follows: Calculate The method is described as follows, where the idle time on the machine is : 3.6.1) Initialization: , is the maximum completion time from the initial identifier to the current identifier, is in the state M The new state generated by combining events . is the processing time on the machine corresponding to the new state, and the idle time ; 3.6.2) For all transitions in the combined event reaching the state , select the resource p corresponding to its pre-place .

[0087] 3.6.3) Initialize the event list EVENT to be empty, and the counter ; 3.6.4) For each processing time interval in , mark and as "start" and "end" respectively and add them to the EVENT list. Sort the EVENT list in ascending order according to .

[0088] 3.6.5) Take out the first event in the EVENT list and go to step 3.6.6), if the EVENT list is empty, go to step 3.6.8).

[0089] 3.6.6) If the event is marked as "start", then , if , record the time corresponding to the current event as the overload start time as , and go to step 3.6.5).

[0090] 3.6.7) If the event is marked as "end", and there already exists and , then , record the time corresponding to the current event as the overload end time as , and let , and go to step 3.6.5).

[0091] 3.6.8) Select from the one that meets the conditions , and , , and update .

[0092] 3.6.9) Return .

[0093] Step 4: Directly return the construction scheduling result according to R(x), obtain the optimal scheduling plan and output it; According to the resource allocation plan returned in Step 3 and the processing time on the corresponding machine .

[0094] Return x is the final resource allocation result that meets the cost constraint. For each , restore the processing order of the workpieces, and then sort according to the start time of each operation, where corresponds to the start time of each operation, corresponds to the start time of each operation, return the optimal scheduling plan .

[0095] The following further describes this embodiment with reference to the accompanying drawings: Step 1: Establish a Petri net model of the flexible manufacturing system according to the job requirements; In this example, the production requirements of the flexible manufacturing system are as Figure 5 shown, and the modeling is as Figure 6 shown. This system can produce 2 types of workpieces. Assuming that the batch size required for each type of workpiece is 2, the total number of workpieces in the system , including types of resources, . Each workpiece operates according to a predetermined processing sequence, which is called the processing path of the workpiece.

[0096] A workpiece may have multiple optional processing paths, and one of them can be selected during the manufacturing process; Workpiece 1 has two optional processing paths. After adding virtual processes, they are respectively: , ; Workpiece 2 has one optional processing path. After adding virtual processes, it is: ; The time requirements of the processing operations are respectively expressed as: d 111 = 25, d 121 = 23, d 122 = 20, d 131 = 27, d 211 = 26,d 221 = 21、 d 231 = 24; Represent the processing route of the workpiece as a sequence composed of places and transitions; The processing route of workpiece one is: ; The processing route of workpiece two is: ; Allocate resource places to the processing places according to the processing requirements, and the allocation relationship is: ; Such as Figure 7 As shown, construct a place-delay Petri net according to the current processing information of the flexible manufacturing system: ; Among them, the starting place of the flexible manufacturing system is , the ending place is , the processing resource is , The processing time information satisfies the mapping: D(p 111 ) = 25、 D(p 121 ) = 23、 D(p 122 ) = 20、 D(p 131 ) = 27、 D(p 211 ) = 26、 D(p 221 ) = 21、 D(p 221 ) = 24; The resource cost information satisfies the mapping: ; Construct the place set , and the transition set , the incidence matrix Pre 、 Post .

[0097] Step 2: Divide the basic partition of the Petri net and reduce the state space; First, set all the transitions of the Petri net as implicit transitions: , so the explicit transition set is .

[0098] Next, check the implicit transition set . If it contains a cycle composed only of implicit transitions , then select an implicit transition from the cycle and classify it into the explicit transition set .

[0099] At the same time, it is necessary to ensure that the implicit transition sequence is acyclic. Repeat the above steps until there is no cycle in this example, and further construct the basic partition , where: , .

[0100] Given the basic partition , the place-delay Petri net , assume the initial marking of the system is , and the initial processing time information of the system is .

[0101] For the state , the states reachable by firing the combined event are , , . According to the combined event , the pre-place is the initial place, no operation is required. Looking up the pre-resource place of shows that the consumed resource is r 1. Looking up the pre-active place of shows that 25 units of processing time are spent on the resource r 1, and we can get ; Firing the combined event again, the reachable state is . Looking up the pre-resource place of shows that the consumed resource is r 3. Looking up the pre-active place of shows that 20 units of processing time are spent on the resource r 3, and we can get ; Looking up the pre-resource place of t 1e shows that the consumed resource is r 4. Looking up the pre-active place of t 1e shows that 27 units of processing time are spent on the resource r 4, and we can get .

[0102] Excitation combination event The reachable states are , The pre - place is the initial place and no operation is required. By searching for the pre - resource places, it can be known that the consumed resources are r 4. By searching for the pre - activity places, it can be known that on resource r 4, 26 units of processing time are spent. Since r the capacity of 4 is 2 and it can perform two operations simultaneously, it can be obtained that .

[0103] Repeat the above steps in combination with the beam search algorithm to perform a partial expansion search on a partial space of the basic reachable markings.

[0104] Step 3: Use the improved simulated annealing algorithm combined with the generation filtering beam search algorithm to optimize the integration of resource allocation and scheduling; For the place - delay Petri net , as Figure 7 shown.

[0105] For Figure 7 the Petri net in , the initial marking is , the initial processing time information of the system is , and the termination marking .

[0106] 4.1) First, set the total cost , the penalty coefficient is 0.8, the neighborhood adjustment coefficient is 0.02, the attenuation factor , the initial temperature , the termination temperature , and the length of the Markov chain ; 4.2) Randomly generate an initial resource allocation scheme , and construct its corresponding Petri net system ; 4.3) Evaluate the fitness function of the initial configuration scheme , The processing times on the corresponding machines are respectively: , , , , The makespan of the search for scheduling in the reachability graph space based on the Petri net by the beam search algorithm is , is the penalty function; 4.4) Check the current temperature whether it is less than , if so, go to step 4.5), otherwise return and , terminate the iteration; 4.5) Check whether the current iteration number reaches the length of the Markov chain , if so, go to step 4.9), otherwise go to step 4.6); 4.6) According to the current solution , randomly generate three new neighborhood solutions using three strategies : Strategy 1: Randomly select a resource , and adjust its quantity ; Strategy 2: Increase the quantity of the resource with the longest usage time in the scheduling result ; Strategy 3: Decrease the quantity of the resource with the shortest usage time in the scheduling result ; If the quantity of the resource is decreased by 1, a new solution can be obtained.

[0107] 4.7) Evaluate the fitness function of the new solution , the processing times on the corresponding machines are respectively: , , , ; 4.8) If , then accept the new solution: .

[0108] If , then accept the new solution with a probability of , and at this time there is , then accept the new solution; return to step 4.5); 4.9) Calculate the ratio of the number of all accepted solutions to the total number of generated solutions at the current temperature, that is, the acceptance rate , update the temperature , if , then , if , then , if , then ; 4.10) Adjust the neighborhood search range according to the temperature ; 4.11) Return to step 4.4); After the iteration ends, there is , the total cost is 1320, which is the optimal resource allocation plan for the flexible manufacturing system in the embodiment. The maximum completion time of the corresponding scheduling plan under this plan is . The integrated optimization process of resource allocation and scheduling using the improved simulated annealing algorithm combined with the generation filtering beam search algorithm is as Figure 8 shown.

[0109] Step 4: Obtain the optimal scheduling plan and output it; For the optimal solution The corresponding maximum completion time is , according to the termination state , the termination identifier and processing time information of the system are obtained as , the processing times on the machines are respectively: , , , , According to its corresponding mapping The previous state and the saved process information can be found. Among them , , , , According to the processing time in R Restore the operations of the corresponding workpieces , that is, the i th workpiece's j th process is processed on the corresponding machine R . Then, sort according to the start time of each operation. The operation sequence of the restored workpiece is . The scheduling result of the flexible manufacturing system in the embodiment is as Figure 9 shown.

[0110] In this embodiment, first, the processing requirements of the flexible manufacturing system are modeled as a Petri net to construct a transfer model of the task state; then, the simulated annealing algorithm is used to optimize the resource allocation scheme to generate a feasible resource allocation scheme under the premise of meeting the budget constraint; next, the reachable space of the Petri net is searched by the beam search algorithm to determine the optimal scheduling scheme that meets the processing requirements; finally, a Gantt chart is generated according to the scheduling scheme to visually present the task allocation and execution order.

[0111] Embodiment 2 See Figure 2 , the FMS system scheduling and resource allocation optimization system based on Petri net, including: A model establishment module for establishing a Petri net model of the flexible manufacturing system according to production requirements; the Petri net model of the flexible manufacturing system includes a resource set, a workpiece type set, a processing path set, the association relationship between operation places and resource places, and defines the dynamic behavior of the system through an initial identifier and a state transition formula; A basic partition division module for dividing the transition set of the Petri net into basic partitions and constructing a basic reachability graph based on the basic partitions; A resource allocation and scheduling integrated optimization module for performing integrated optimization of resource allocation and scheduling in the basic reachability graph by using an improved simulated annealing algorithm combined with a generation filtering beam search algorithm to obtain an optimized resource allocation scheme and machine processing time; A final scheduling result generation module for generating a final scheduling result according to the optimized resource allocation scheme and machine processing time.

[0112] Embodiment 3 See Figure 3 , an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, and the processor implements the FMS system scheduling and resource allocation optimization method based on Petri net when executing the computer program.

[0113] Embodiment 4 A computer-readable storage medium stores a computer program, and the computer program implements the FMS system scheduling and resource allocation optimization method based on Petri net when executed by a processor.

[0114] Those skilled in the art should understand that the embodiments of the present invention can be provided as a method, a system, or a computer program product. Therefore, the present invention can take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware aspects. Moreover, the present invention can take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) that contain computer-usable program code.

[0115] The present invention is described with reference to the flowcharts and / or block diagrams of methods, apparatuses (systems), and computer program products according to embodiments of the present invention. It should be understood that each flow and / or block in the flowchart and / or block diagram, and the combination of flows and / or blocks in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to the processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing devices to generate a machine, such that the instructions executed by the processor of the computer or other programmable data processing devices generate means for implementing the functions specified in Figure 1 one flow or multiple flows and / or blocks Figure 1 one block or multiple blocks.

[0116] These computer program instructions can also be stored in a computer-readable memory that can direct a computer or other programmable data processing device to work in a specific manner, such that the instructions stored in the computer-readable memory generate a manufactured article including instruction means that implement the functions specified in Figure 1 one flow or multiple flows and / or blocks Figure 1 one block or multiple blocks.

[0117] These computer program instructions can also be loaded onto a computer or other programmable data processing device, such that a series of operation steps are executed on the computer or other programmable device to generate a computer-implemented process, so that the instructions executed on the computer or other programmable device provide steps for implementing the functions specified in Figure 1 one flow or multiple flows and / or blocks Figure 1 one block or multiple blocks. Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention and are not intended to limit them. Although the present invention has been described in detail with reference to the above embodiments, those of ordinary skill in the art should understand that: still can modify the specific implementation manners of the present invention or make equivalent replacements, and any modification or equivalent replacement that does not depart from the spirit and scope of the present invention should be covered by the protection scope of the present invention.

Claims

1. A method for optimizing the scheduling and resource allocation of an FMS system based on Petri nets, characterized in that, It includes the following steps: Allocate the resources of the flexible manufacturing system according to the production requirements of the flexible manufacturing system to obtain the current processing information of the flexible manufacturing system, and establish a Petri net model of the flexible manufacturing system based on the current processing information of the flexible manufacturing system; Divide the transition set of the Petri net into basic partitions, and construct a basic reachability graph based on the basic partitions; Adopt an improved simulated annealing algorithm combined with a generation filtering beam search algorithm to perform integrated optimization of resource allocation and scheduling in the basic reachability graph to obtain an optimized resource allocation plan and machine processing time; According to the optimized resource allocation plan and machine processing time, sort the operations of all workpieces along the time axis according to the operation start time to generate the final scheduling result.

2. The scheduling and resource allocation optimization method for the FMS system based on Petri net according to claim 1, characterized in that, The generation filtering beam search algorithm includes the following steps: Combining the Petri net state and the machine processing time into an extended state in the base reachability graph , where M is the Petri net state identifier and R is the machine processing time; Based on the extended state Search for a path from the initial state to a state that satisfies the final marking condition in the base reachability graph. The cost estimation heuristic function for the path is as follows: , where represents the maximum completion time from the initial marking to the final marking, represents the maximum completion time from the initial marking to the current marking, represents the minimum processing time of the remaining processes from the current marking to the final marking; Update the processing time matrix through event list sorting and resource idle time conflict detection.

3. The scheduling and resource allocation optimization method of the FMS system based on Petri net according to claim 1, characterized in that, The improved simulated annealing algorithm includes the following steps: Step 1, set the initial temperature , cooling factor , neighborhood adjustment coefficient , penalty coefficient , termination temperature , Markov chain length ; Step 2: Randomly generate an initial resource allocation plan , W(r) For the initial allocation quantity of each resource r, where 1, 2,..., q are the types of resource r, construct a Petri net system corresponding to the initial resource allocation plan ( N,M 0), N is a Petri net, M 0 is the initial marking of the Petri net; Step 3: Evaluate the fitness function of the initial configuration plan , and the processing time on the corresponding machine , where is the makespan for the beam search algorithm to search for scheduling in the Petri net-based reachability graph space, is the penalty function; , where, is the penalty function, is the penalty coefficient, max is the maximum value function, q is the number of resource types, i is an intermediate variable, is a resource, is the current resource configuration plan, v(r i ) represents the cost required to allocate resources, is the total cost that can be controlled; Step 4, Check the current temperature Is it less than the termination If yes, go to Step 5; otherwise, output the resource allocation plan and the processing time on the corresponding machine , terminate the iteration; Step 5. Check whether the current iteration count has reached the Markov chain length , if yes, go to Step 9, otherwise go to Step 6; Step 6. According to the current solution randomly generate a new neighborhood solution by adopting one of the four neighborhood search strategies as follows: Step 7, evaluate the fitness of the new neighborhood solution of the fitness function , where is the fitness function of the new solution, is the makespan of the beam search algorithm of the new solution searching for scheduling in the Petri net-based reachability graph space, is the penalty function of the new solution; Step 8, if , then accept the new solution: ; if , then accept the new solution with probability ; return to Step 5; Step 9, calculate the acceptance rate of the current solution , and update the temperature using the adaptive temperature adjustment mechanism; Step 10: Adjust the neighborhood search range by using an adaptive neighborhood search range mechanism; Step 11. Return to Step 4 to continue checking the current temperature whether it is less than the termination . If yes, go to Step 5; otherwise, output the resource allocation plan and the processing time on the corresponding machine , and terminate the iteration.

4. The optimization method for scheduling and resource allocation of the FMS system based on Petri net according to claim 3, characterized in that, Step 3 includes the following steps: Step 3.

1. Given the target state M f , initialize the global beam width and the local beam width and add the initial state of the Petri net constructed under the current resource configuration scheme to the storage list LIST; M0 is the initial marking, and R0 is the processing time on the initial machine; Step 3.2: Check whether the LIST list is empty. Otherwise, go to Step 3.3; if it is, go to Step 3.9; Step 3.3, retrieve the first status from the LIST list ; this status consists of an identifier M and the processing time R on the corresponding machine; Step 3.4, if then return R and the maximum completion time , and terminate the search; Step 3.5, at calculate for all under for all there is a combined event to find the set of enabled transitions; T E is the explicit transition set, t is a single explicit transition, represents an implicit transition sequence, represents the set of minimum explanation vectors that enable the explicit transition t under the marking M; Step 3.

6. For each transition enabled at , fire the combined event to generate the successor state . is the new state generated by the combined event in state M. is the processing time on the machine corresponding to the new state. Calculate the makespan from the initial token to the current token , the minimum processing time of the remaining processes from the current token to the final token and the makespan . Step 3.7, add the successor state to the temporary list TEMP If there is a state in the temporary list TEMP that is the same as the newly generated current state, retain the state with the smallest g value; Step 3.8: Rearrange in non-decreasing order of the maximum completion time value TEMP the list, take TEMP the first nodes from the list and put them into the global list GLOBAL , clear TEMP the list and return to Step 3.2; Step 3.

9. Rearrange in ascending order of the maximum completion time value GLOBAL For the list, if there is a state with the same maximum completion time value, then arrange the most recently expanded state at the top of the states with the same maximum completion time value; Step 3.10, clear the list, take GLOBAL the first several nodes in the list and put them into the list, and return to Step 3.

2.

5. The optimization method for scheduling and resource allocation of the FMS system based on Petri net according to claim 4, wherein Specifically, Step 3.6 is as follows: Step 3.6.1, Initialization: , is the maximum completion time from the initial identification to the current identification, is the state M generated by combining events the new state, is the processing time on the machine corresponding to the new state, the idle time on the machine ; Step 3.6.2: For the combined events that reach state select the resources corresponding to the pre - places for all the transitions in p ; ​ Step 3.6.3, initialize the event list EVENT to be empty, and the counter ; Step 3.6.

4. For each processing time interval , mark the left endpoint and the right endpoint of the interval as start and end respectively, add them to the EVENT list, and sort the EVENT list in ascending order according to the left endpoint of the interval; Step 3.6.5: Take out the first event in the EVENT list and go to Step 3.6.6; if the EVENT list is empty, go to Step 3.6.8; Step 3.6.6, if the event is marked as start, then , if , record the corresponding time of the current event as the overload start time , enter Step 3.6.5; For each resource capacity; Step 3.6.

7. If the event is marked as end and and , then , record the corresponding time of the current event as the overload end time , and let , enter Step 3.6.5; Step 3.6.8, select from those that meet the conditions , and , , update ; is the time delay related to p ; Step 3.6.9, return .

6. The optimization method for scheduling and resource allocation of the FMS system based on Petri net according to claim 3, characterized in that, Randomly adopt one of the four neighborhood search strategies described in step 6 to generate a new neighborhood solution The four neighborhood search strategies in Strategy 1: Randomly select a resource , for the resource adjust the neighborhood search range of the quantity ; Strategy 2: Increase the neighborhood search range for the number of resources with the longest usage duration in the scheduling result ; ; Strategy 3: Reduce the neighborhood search range by the number of resources with the shortest usage duration in the scheduling result ;​ Strategy 4: Increase the neighborhood search range for the quantity of resources corresponding to the workpiece with the longest waiting time in the scheduling result .​ 7. The optimization method for scheduling and resource allocation of the FMS system based on Petri net according to claim 3, wherein The adaptive temperature adjustment mechanism for updating the temperature described in step 9 is as follows: , where is the updated temperature, is the temperature before adjustment, is the cooling coefficient, is the acceptance rate function; The adaptive neighborhood search range mechanism in step 10 for adjusting the neighborhood search range is as follows: , where is the neighborhood search range, is the neighborhood adjustment coefficient, and T is the current temperature.

8. The FMS system scheduling and resource configuration optimization system based on Petri net is characterized in that, It includes: A model establishment module, which is used to establish a Petri net model of the flexible manufacturing system according to production requirements; the Petri net model of the flexible manufacturing system includes a resource set, a workpiece type set, a processing path set, the association relationship between operation places and resource places, and defines the dynamic behavior of the system through an initial marking and a state transition formula; A basic partition division module, which is used to divide the transition set of the Petri net into basic partitions and construct a basic reachability graph based on the basic partitions; An integrated optimization module for resource allocation and scheduling, which is used to adopt an improved simulated annealing algorithm combined with a generation filtering beam search algorithm to perform integrated optimization of resource allocation and scheduling in the basic reachability graph to obtain an optimized resource allocation plan and machine processing time; A final scheduling result generation module, which is used to generate a final scheduling result according to the optimized resource allocation plan and machine processing time.

9. An electronic device, characterized in that, It includes a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, it implements the Petri net-based FMS system scheduling and resource allocation optimization method described in any one of claims 1-7.

10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program, and when the computer program is executed by the processor, it implements the Petri net-based FMS system scheduling and resource allocation optimization method described in any one of claims 1-7.

Citation Information

Patent Citations

  • Dynamic weighted heuristic scheduling method of automatic manufacturing system

    CN110928253A

  • Terrain data processing method and device based on parallel search

    CN118227942A

  • Flexible manufacturing system scheduling method and device based on Petri net base reachable graph

    CN118859860A