CN117742260B - Flow shop scheduling method and device considering combined buffering and unmanned transportation - Google Patents

Flow shop scheduling method and device considering combined buffering and unmanned transportation Download PDF

Info

Publication number
CN117742260B
CN117742260B CN202311702401.7A CN202311702401A CN117742260B CN 117742260 B CN117742260 B CN 117742260B CN 202311702401 A CN202311702401 A CN 202311702401A CN 117742260 B CN117742260 B CN 117742260B
Authority
CN
China
Prior art keywords
job
machine
time
agv
transport
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202311702401.7A
Other languages
Chinese (zh)
Other versions
CN117742260A (en
Inventor
毛照昉
王威
黄典
方侃
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tianjin University
Original Assignee
Tianjin University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tianjin University filed Critical Tianjin University
Priority to CN202311702401.7A priority Critical patent/CN117742260B/en
Publication of CN117742260A publication Critical patent/CN117742260A/en
Application granted granted Critical
Publication of CN117742260B publication Critical patent/CN117742260B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • General Factory Administration (AREA)
  • Multi-Process Working Machines And Systems (AREA)

Abstract

The invention relates to the technical field of management science, in particular to a flow shop scheduling method and device considering combined buffering and unmanned transportation, wherein the method comprises the following steps: s1, a mixed integer programming model considering the flow shop scheduling problem of combined buffering and unmanned transportation is established and analyzed, and the scheduling problem is decomposed into two sub-problems: a machining sequence sub-problem of the operation on the machine and a transport route sub-problem of the transport robot AGV; s2, generating an initial job processing sequence list based on the processing time of each job on all machines, wherein the initial list is used as an initial solution of a processing sequence sub-problem of the job on the machines; generating an initial AGV transport path by using an AGV path generation decision method, wherein the initial AGV transport path is used as an initial solution of a transport path sub-problem of the AGV; s3, based on an improved simulated annealing algorithm framework, carrying out iterative optimization on initial solutions of the two sub-problems to obtain an optimal scheme. The invention can realize the efficient solution of the problem and is beneficial to filling the blank in the current field.

Description

Flow shop scheduling method and device considering combined buffering and unmanned transportation
Technical Field
The invention relates to the technical field of management science, in particular to a flow shop scheduling method and device considering combined buffering and unmanned transportation.
Background
Over the past several decades, industry 4.0 has greatly driven the development of the business intelligence field, and automation technology has been widely used in various industries, where a class of robots, represented by AGVs, plays an important role in automated production lines as an advanced material handling device. The AGV can realize automatic storage, movement and sorting of cargoes, improves production efficiency, and has the characteristics of intelligence, high efficiency, flexibility, safety and the like. The application and popularization of the AGV have important significance for improving the efficiency and productivity of modern logistics and supply chain systems, and have great influence on the economic development of society.
The traditional flow shop scheduling problem has received a lot of attention since it was proposed, in which the processing sequence of the operation on the machine is optimized by establishing a mathematical model and a design algorithm, so as to reduce the production cost and improve the production efficiency. However, there is little consideration in conventional flow shop scheduling problem research regarding the material transport process, which becomes an important consideration in the job shop scheduling problem as the AGVs are introduced into the production shop. AGVs act as a new production resource and also require rational scheduling to improve production efficiency.
Another common assumption for traditional flow shop scheduling problems is that machines have infinite buffers, limited by the state of the art and machine capabilities, most devices in actual operation have no buffers or limited buffers. Thus, the inter-machine buffer conditions may be: unbuffered, finite, and infinite. In a flow shop, the buffer condition of each machine may be different, and the three different buffer conditions are combined to generate a new flow shop scheduling problem which is more generalized and considers combined buffering and unmanned transportation, and can cover the problems of classical unbuffered flow shop scheduling, limited buffer flow shop scheduling and infinite buffer flow shop scheduling, so that a flow shop scheduling method which considers combined buffering and unmanned transportation is needed.
Disclosure of Invention
The invention provides a flow shop scheduling method and a flow shop scheduling device considering combined buffering and unmanned transportation, which are used for solving the problems in the prior art, and the technical scheme provided by the invention is as follows:
in one aspect, a method of flow shop scheduling that allows for combined buffering and unmanned transportation is provided, the method comprising:
S1, a mixed integer programming model considering the flow shop scheduling problem of combined buffering and unmanned transportation is established and analyzed, and the scheduling problem is decomposed into two sub-problems: a machining sequence sub-problem of the operation on the machine and a transport route sub-problem of the transport robot AGV;
S2, generating an initial job processing sequence list based on the processing time of each job on all machines, wherein the initial list is used as an initial solution of a processing sequence sub-problem of the job on the machines; generating an initial AGV transport path by using an AGV path generation decision method, wherein the initial AGV transport path is used as an initial solution of a transport path sub-problem of the AGV;
S3, based on an improved simulated annealing algorithm framework, carrying out iterative optimization on initial solutions of the two sub-problems to obtain an optimal scheme.
Optionally, the mixed integer programming model is as follows:
Parameters:
n number of jobs
M number of machines
J, g job index, j, g=1, 2,3 …, n
I, h machine index, i, h=0, 1,2, …, m+1
Processing time of p ji job j on machine i
Alpha i is 1 if the buffering condition of machine i is unbuffered, or 0 otherwise
Beta i is 1 if the buffering condition of machine i is limited buffering, otherwise 0
Gamma i is 1 if the buffering condition of machine i is infinite buffering, or 0 otherwise
Buffer number corresponding to b i machine i
K buffer index, k=1, 2,3 …, b i
H maximum value
Tu ih No. time of robot movement from machine i to machine h
The load moving time of tl i robot from machine i to machine i+1 is constant as d
D distance coefficient
F sink node
The variables:
f jg on the same machine, 1 if job j precedes job g, or 0 otherwise
W jgik is in cache k of machine i, 1 if job j precedes job g, or 0 otherwise
Z jik is 1 if job j is stored in buffer k after completion on machine i, otherwise 0
Start time of E ji job j on machine i
Blocking time of B ji job j on machine i
Departure time of D ji job j on machine i
S jik storage time of operation j in buffer k of machine i
Departure time of L jik job j from buffer k of machine i
C max time to finish, time to deliver all jobs to output
X jigh robot starts from machine i, load operation g from empty to machine h-1 to machine h is 1, otherwise 0
X jiF all the operations are finished, the robot goes to the output end and is 1, otherwise, the robot goes to the output end and is 0
The Y jiF robot starts from the machine i, the load operation j goes to the output end and is 1, otherwise, the load operation j is 0
And (3) model:
min Cmax (1)
Cmax≥Ej(m+1),j=1,…,n (2)
tli=d,i=0,1,…,m (3)
tuih=|h-i|d,i=1,2,…,m+1,h=0,1,…,m (4)
Ej1≥d,j=1,2,…,n (11)
Ej(i+1)=Eji+pji+tliiBjii(Bji+Sjik)+γiSjik,j=1,2,…,n;i=1,2,…,m (12)
Dji=Eji+pji+Bji,i=1,2,…,m;k=1,2,…,n (14)
Egi≥Dji-H(1-Fji),j,g=1,2,…,n|j≠g;i=1,2,…,m (15)
Eji≥Dgi-Hfjg,j,g=1,2,…,n|j≠g;i=1,2,…,m (16)
H(2-zjik-zgjk)+Hwjgik+Dji≥Dgi+Sjik
j,g=1,2,…,n|j≠g;i=1,2,…,m;k=1,2,…,bi (18)
H(2-zjik-zgjk)+H(1-wjgik)+Dgi≥Dji+Sjik
j,g=1,2,…,n|j≠g;i=1,2,…,m;k=1,2,…,bi (19)
Egh≥Eji+tui(h-1)+tlh-1-H(1-Xjigh),
i,h=1,2,…,m+1;j,g=1,2,…,n|j≠g (20)
Ej(i+1)≥Egh+tuhi+tli-H(1-Xjigh),
i=1,2,…,m;h=1,2,…,m+1;j,g=1,2,…,n|j≠g (21)
Egi≥αi(Ej(i+1)+tu(i+1)(i-1)+tli-1)-H(1-Fig),
j,g=1,2,…,n|j≠g;i=1,2,…,m (22)Eji≥αi(Eg(i+1)+tu(i+1)(i-1)+tli-1)-HFjg,j,g=1,2,…,n|j≠g;i=1,2,…,m (23)
Egi≥βi(Ej(i+1)+tu(i+1)(i-1)+tli-1)-H(1-Fjg)-H(1-Xj(i+1)gi),
j,g=1,2,…,n|j≠g;i=1,2,…,m (24)
Eji≥βi(Eg(i+1)+tu(i+1)(i-1)+tli-1)-HEjg-H(1-Xg(i+1)ji),
j,g=1,2,…,n|j≠g;i=1,2,…,m (25)
Eji,Bji,Cji,Dji,Sjik≥0 (27)
yjg,wjgk,Xjigh,Yji,zjik∈{0,1} (28)
Wherein the objective function (1) is to minimize the completion time of the job; constraint (2) defines the completion time of the job; constraints (3) - (4) define the load and idle transit times; constraints (5) - (10) define a transport network; constraint (11) defines a start time of the job on the first machine that at least satisfies the AGV travel time to transport the job from the input M 0 to M 1; Constraint (12) defines three different buffering conditions for the machine: for the no buffer condition (α i =1), there is no storage time due to the lack of buffer for machine i, and the machine may be blocked by job j, there is a blocking time B ji; for a limited buffer condition (β i =1), machine i has a limited number of buffers, possibly a storage time S jik and a blocking time B ji; For an infinite buffer condition (γ i =1), machine i has infinite buffers available, no blocking of the machine occurs, B ji =0 is always satisfied, corresponding to constraint (13); since one machine can only process one job at a time and preemption is not allowed between jobs, there are constraints (14) - (16): constraint (14) defines the departure time of job j at machine i; Constraints (15) - (16) represent the processing precedence relationship between two jobs on the same machine: the latter requires waiting for the former to leave the machine before processing can begin; constraint (17) indicates that the buffer can only store one job at a time; constraints (18) - (19) indicate that: if two jobs are stored in the buffer zone k of the machine i in sequence, the latter can be entered after the former leaves the buffer zone; constraints (20) - (21) define the travel path of the AGV: after the robot transports the job j to M i, the next transporting operation is performed, and the job g is transported to M h, where the transporting process is denoted by X jigh; To avoid possible deadlock situations, constraints (22) - (26) comprehensively consider machine buffer conditions and AGV transport routes; constraints (22) - (23) define that machine i has no buffer to store completed job, if job g is processed after job j, it must wait for the AGV to transfer job j away from M i before transporting job g to M h; Constraints (24) - (26) define a machine i limited buffer situation, which must be started either after job j is processed after job j, which has been covered by previous constraints (15) - (16), or after job j is transported by the AGV to the next machine, which is limited by the AGV transport path, similar to constraints (22) - (23); constraints (27) - (28) define decision variables.
Optionally, the step S2 of generating an initial job processing sequence list based on processing time of each job on all machines specifically includes:
for each job, all machining needs to be performed sequentially, and the machining time on all machines is known, and the sum of the machining time on all machines for each job is calculated;
Sequencing according to flashback of the total working time, preferably selecting two working operations with the longest total working time for sequencing, wherein the two working operations can generate two working operation sequences, generating a feasible AGV path by using an AGV path generation decision method, calculating finishing time under the two working operation sequences, and selecting the working sequence with the smallest current finishing time as the current optimal working sequence;
Selecting a third job to be sequenced under the current optimal job sequence, inserting the third job into the current optimal job sequence, wherein two jobs have three insertable positions to generate three job processing sequences, generating a feasible AGV path by using an AGV path generation decision method, calculating finishing time under the three job processing sequences, and selecting a job sequence with the minimum finishing time; and continuing to distribute the rest of the jobs until all the jobs are distributed, and generating an initial job processing sequence list and corresponding finishing time.
Optionally, in the step S2, an initial transport path of the AGV is generated by using an AGV path generating decision method, which specifically includes:
According to a first key factor: processing sequence of the same job on different machines and a second key factor: constructing basic priority relation of load transportation operation according to the processing sequences of different jobs on the same machine;
According to the basic priority relation of the load transportation operation, calculating that no previous item or previous item operation has completed a transportation operation set, and obtaining the transportation operation contained in the current decision point;
According to a third key factor: judging whether the transportation operation contained in the current decision point is feasible or not by the buffer capacity limitation of different machines, and obtaining all feasible transportation operation sets to be distributed;
four different path selection strategies are designed to make decisions, relatively better AGV transport routes are found, and an initial AGV transport path is generated.
Optionally, the following first key factors: processing sequence of the same job on different machines and a second key factor: the processing sequence of different jobs on the same machine is used for constructing the basic priority relation of load transportation operation, and the method specifically comprises the following steps:
Using directed graphs to represent basic priority relationships, nodes to represent load transport, arcs to represent priority relationships, and M i to represent the machine that the AGV is going to;
Depending on the nature of the flow shop, the processing sequence of the same job on the different machines is known and fixed, the job needs to pass through all the processing machines M 1,M2 in sequence from the input end M 0, then be stored to the output end M 3, the transport operation of job j from machine i-1 to machine i is denoted by T ji, so there is T 11→T12→T13, meaning that job 1 must be transported from input end M 0 to M 1 by the AGV first, then perform transport from M 1 to M 2, and finally transport to M 3;
In addition, assuming that the machining order of different jobs on the same machine is [ Job1, job2, job3, job4], then there is T 11→T21→T31→T41 that means that Job1 must be transported to M 1 before Job2 can be transported to M 1, job1 and Job2 are transported to M 1, and Job1, job2 and Job3 are transported to M 1 after Job4 is transported;
at each decision node of the AGV transport path, it is necessary to calculate transport operations that have no preceding item or have completed according to the basic priority of the load transport operations, and obtain transport operations that are included in the current decision point.
Optionally, the following third key factor: and judging whether the transportation operation contained in the current decision point is feasible or not by the buffer capacity limitation of different machines, and obtaining all feasible transportation operation sets to be distributed, wherein the method specifically comprises the following steps of:
After obtaining that no preceding item or that the preceding item operation has completed the transportation operation set, it is further determined, according to a third key factor, whether the machine to be processed M i corresponding to the transportation operation T ji is available, whether the machine M i can accept and process a new job:
Only when M i is idle or M i is busy but the buffer is not saturated, the machine is likely to accept new jobs, the total number of jobs on M i and its buffer is denoted J (i), initial J (i) =0; when a new job is transported to M i for processing, J i and the total number of jobs on its buffers increase, J (i) =j (i) +1; when the processed job is carried away from M i or its buffer, the total number of jobs on M i and its buffer is reduced, J (i) =j (i) -1;
Therefore, whether the machine can accept and process new operation is judged by whether J (i) is less than or equal to b i, whether the transportation operation contained in the current decision point is feasible or not is judged, and all feasible transportation operation sets to be distributed are obtained.
Optionally, a first path selection policy: selecting a job that can start processing earliest, specifically including:
based on the available AGV transport paths, the start processing time for the next transported job can be calculated:
MC i represents the finishing time of machine i, equal to the finishing time of the last job j on machine i, MC i=Ej*i+pj*i, initial MC i =0;
The method for calculating the start processing time after the job is transported is as follows: for the first transport operation T ji of the AGV, where the robot needs to transport job j from the input end to machine i, the load movement time is constant at d, then the earliest workable time of job j, E ji =d, since T ji is the first transport operation, job j is the first job on machine i and also the last job at the current time of machine i, there is MC i=Eji+pji=d+pji, where p ji is the workable time of job j on machine i;
After the first transport is performed by the AGV, if the current machine i waits for the processing of the current job j to be completed, and continues to transport the job j to M i+1, the processing starting time of the next machine M i+1 is E j(i+1)=max(Eji+pji+tli,MCi+1), where E ji+pji+tli indicates that the job j is transported by the AGV load after the processing time p ji, the earliest time when the job j can reach M i+1, and MC i+1 represents the earliest time when M i+1 is available;
if the AGV performs the transport operation T ji and then performs T gh, and transfers a new job g to M h, then the time for starting the processing of the job g at M h is E gh=max(Eji+tui(h-1)+tlh-1,Cg(h-1)+tlh-1,MCh), where E ji+tui(h-1)+tlh-1 represents that after the AGV has transported the job j, the AGV is moved from the current machine M i to M h-1 to acquire the job g, and then transfers the job g to M h, C g(h-1)+tlh-1 represents that the job g can be transferred to M h,MCh after the processing of the job g at M h-1 is completed, and represents the finishing time of the machine M h, which is the earliest available time of the machine M h;
According to the calculation method, the processing starting time of different operations is obtained, and the operation which can start processing earliest is always selected.
Optionally, a second path selection policy: selecting an operation that minimizes the dead time of the AGV, including:
The AGV moves in both load and idle movement, wherein the total time of the load movement is determined because the load movement process exists only between two adjacent machines;
the empty load movement may occur between any two machines, so the total time of the empty load movement depends on the transport route, after the AGV has transported the current job, the AGV may need to first empty load move to another machine to acquire the job in order to acquire the next job to be transported, and the empty load movement time required to transport different jobs may be calculated based on the current position of the AGV:
Assuming that the AGV performs a transport operation T ji and the next transport operation is T gh, the AGV needs to first move from machine i empty to machine h-1 to obtain the job to be transported, with an empty move time of tu i(h-1), and select the job that minimizes the AGV empty move time.
Optionally, a third path selection policy: selecting the operation with the shortest waiting time of the AGV, which specifically comprises the following steps:
After the AGV determines the next transport, if the transported job is not yet processed on the current machine or the next machine is still occupied, the AGV cannot immediately perform the transport, the AGV may generate a waiting time, and the waiting time of the AGV may be calculated according to the existing transport path:
Assuming that the AGV performs a transport operation T ji and the next transport operation is T gh, then the waiting time of the AGV corresponding to job g is (E gh-Eji-tui(h-1)-tlh-1), where E gh is the earliest workable time of job g, E ji is the earliest workable time of job j, tu i(h-1) is the AGV transport from machine i to machine h-1 to obtain the job to be transported, and the empty move time is tu i(h-1),tlh-1 is the transport time to transport job g from machine h-1 to machine h;
and selecting the job which makes the waiting time of the AGV shortest.
In another aspect, a flow shop scheduling apparatus is provided that allows for combined buffering and unmanned transportation, the apparatus comprising:
The decomposition module is used for establishing and analyzing a mixed integer programming model considering the flow shop scheduling problem of combined buffering and unmanned transportation, and decomposing the scheduling problem into two sub-problems: a machining sequence sub-problem of the operation on the machine and a transport route sub-problem of the transport robot AGV;
an initial solution generating module, configured to generate an initial job processing sequence list based on processing time of each job on all machines, as an initial solution of a processing sequence sub-problem of the job on the machines; generating an initial AGV transport path by using an AGV path generation decision method, wherein the initial AGV transport path is used as an initial solution of a transport path sub-problem of the AGV;
And the iterative optimization module is used for carrying out iterative optimization on the initial solutions of the two sub-problems based on the improved simulated annealing algorithm framework to obtain an optimal scheme.
In another aspect, an electronic device is provided that includes a processor and a memory having instructions stored therein that are loaded and executed by the processor to implement the above-described flow shop scheduling method that takes into account combined buffering and unmanned transportation.
In another aspect, a computer readable storage medium having instructions stored therein that are loaded and executed by a processor to implement the above-described flow shop scheduling method that takes into account combination buffering and unmanned transportation is provided.
Compared with the prior art, the technical scheme has at least the following beneficial effects:
The invention can realize the efficient solution of the scheduling problem of the flow shop considering the combined buffering and the unmanned transportation, and is beneficial to filling the blank in the current field.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings required for the description of the embodiments will be briefly described below, and it is apparent that the drawings in the following description are only some embodiments of the present invention, and other drawings may be obtained according to these drawings without inventive effort for a person skilled in the art.
FIG. 1 is a flow chart of a method for scheduling a flow shop with combined buffering and unmanned transportation considered, according to an embodiment of the present invention;
FIG. 2 is a schematic diagram of a flow shop with combined buffering and unmanned transportation in mind, according to an embodiment of the present invention;
FIG. 3 is a schematic diagram of time parameters according to an embodiment of the present invention;
FIG. 4 is a directed graph of basic priority of load transportation operations provided by an embodiment of the present invention;
FIG. 5 is a schematic diagram of AGV latency provided by an embodiment of the present invention;
FIG. 6 is a block diagram of a flow shop scheduling apparatus that allows for combined buffering and unmanned transportation according to an embodiment of the present invention;
fig. 7 is a schematic structural diagram of an electronic device according to an embodiment of the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the embodiments of the present invention more clear, the technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings of the embodiments of the present invention. It will be apparent that the described embodiments are some, but not all, embodiments of the invention. All other embodiments, which can be made by a person skilled in the art without creative efforts, based on the described embodiments of the present invention fall within the protection scope of the present invention.
As shown in fig. 1, an embodiment of the present invention provides a flow shop scheduling method considering combined buffering and unmanned transportation, the method comprising:
S1, a mixed integer programming model considering the flow shop scheduling problem of combined buffering and unmanned transportation is established and analyzed, and the scheduling problem is decomposed into two sub-problems: a machining sequence sub-problem of the operation on the machine and a transport route sub-problem of the transport robot AGV;
S2, generating an initial job processing sequence list based on the processing time of each job on all machines, wherein the initial list is used as an initial solution of a processing sequence sub-problem of the job on the machines; generating an initial AGV transport path by using an AGV path generation decision method, wherein the initial AGV transport path is used as an initial solution of a transport path sub-problem of the AGV;
S3, based on an improved simulated annealing algorithm framework, carrying out iterative optimization on initial solutions of the two sub-problems to obtain an optimal scheme.
The problem setting is based on two considerations, namely (1) only one transport robot AGV in the workshop, namely the AGV capacity is 1 (such transport robot units are very common in actual production, because the configuration can simplify the execution of system control); (2) Each machine has different buffer conditions to reduce machine blocking by temporarily storing jobs.
As shown in fig. 2, the flow shop consists of M linearly arranged machines (M i, i=1, 2, …, M), an input (M 0), an output (M m+1), which may be a warehouse, and an AGV for transporting material between the machines. There are n independent non-preemptive jobs j, each of which needs to be processed sequentially from input M 0 through machine M i (i=1, 2, …, M) and finally stored in output M m+1. One machine can only process one job at any time and does not allow preemption. The jobs follow the first-in first-out rules in both the machine and the buffer so that the machining order of all jobs on the machine is the same and fixed.
Because of production requirements, each machine is associated with a specified number of buffer conditions, the number of buffers associated with M i being denoted by b i. If M i is unbuffered, then machine i does not have a buffer, b i =0; if M i is a limited buffer, then machine i has b i buffers, b i is greater than or equal to 1; if M i is an infinite buffer, the buffer of machine i is infinite, b i = and +++. The traditional flow shop problem only considers one buffer condition at a time, the embodiment of the invention comprehensively considers three different buffer conditions, and the problem is named as the flow shop scheduling problem considering combined buffering and unmanned transportation.
The AGVs can only be occupied by one job at a time, and the transport time of the AGVs is only related to the distance transported, i.e., the distance between the machines. To minimize the time to finish a job, the job and robot need to be scheduled, and decisions involved are: (1) determining the order of processing of the jobs on the machine; (2) The transport path of the AGV is determined for a given job sequence. Because the problem of multi-task scheduling in the traditional assembly line workshop is the NP difficult problem, the problem to be solved by the embodiment of the invention is also the NP difficult problem.
The embodiment of the invention provides a solving method aiming at the scheduling problem of a flow shop considering combined buffering and unmanned transportation, and mainly solves the problems of insufficient applicability, lack of generalization capability, overlong solving time and the like of the existing method. The embodiment of the invention establishes a mixed integer programming model applicable to the problem, the mixed integer programming model can be used for accurately solving small-scale computing examples, and for medium-scale and large-scale computing examples, the embodiment of the invention provides a high-efficiency solving method, and through analysis, a feasible solving scheme consists of two parts: the order of processing of the jobs on the machine and the transport route of the AGV, the scheduling problem can be broken down into two sub-problems: a machining sequence sub-problem of the operation on the machine and a transport route sub-problem of the transport robot AGV; and generating an initial job processing order list based on the processing time of each job on all machines as an initial solution to the processing order sub-problem of the job on the machines; it is also a challenge to generate a viable AGV transport path for a given job sequence. Therefore, the embodiment of the invention uses an AGV path generation decision method to generate an initial AGV transport path as an initial solution of the AGV transport path sub-problem; and finally, based on an improved simulated annealing algorithm framework, carrying out iterative optimization on the initial solutions of the two sub-problems to obtain an optimal scheme. The embodiment of the invention can realize the efficient solution of the scheduling problem of the flow shop considering the combined buffering and the unmanned transportation, well fills the blank of the field, has simple algorithm framework, and has quick processing of large-scale problems and good expansion capability. 3-5, a method for scheduling a flow shop with combined buffering and unmanned transportation is described in detail, which includes:
S1, a mixed integer programming model considering the flow shop scheduling problem of combined buffering and unmanned transportation is established and analyzed, and the scheduling problem is decomposed into two sub-problems: a machining sequence sub-problem of the operation on the machine and a transport route sub-problem of the transport robot AGV;
The embodiment of the invention abstracts the problem into a mathematical model, and establishes a mixed integer programming model by combining a mixed integer programming technology, wherein the mixed integer programming model is as follows:
Parameters:
n number of jobs
M number of machines
J, g job index, j, g=1, 2,3 …, n
I, h machine index, i, h=0, 1,2, …, m+1
Processing time of p ji job j on machine i
Alpha i is 1 if the buffering condition of machine i is unbuffered, or 0 otherwise
Beta i is 1 if the buffering condition of machine i is limited buffering, otherwise 0
Gamma i is 1 if the buffering condition of machine i is infinite buffering, or 0 otherwise
Buffer number corresponding to b i machine i
K buffer index, k=1, 2,3 …, b i
H maximum value
Tu ih No. time of robot movement from machine i to machine h
The load moving time of tl i robot from machine i to machine i+1 is constant as d
D distance coefficient
F sink node
The variables:
f jg on the same machine, 1 if job j precedes job g, or 0 otherwise
W jgik is in cache k of machine i, 1 if job j precedes job g, or 0 otherwise
Z jik is 1 if job j is stored in buffer k after completion on machine i, otherwise 0
Start time of E ji job j on machine i
Blocking time of B ji job j on machine i
Departure time of D ji job j on machine i
S jik storage time of operation j in buffer k of machine i
Departure time of L jik job j from buffer k of machine i
C max time to finish, time to deliver all jobs to output
X jigh robot starts from machine i, load operation g from empty to machine h-1 to machine h is 1, otherwise 0
X ijF all the operations are finished, the robot goes to the output end and is 1, otherwise, the robot goes to the output end and is 0
The Y ijF robot starts from the machine i, the load operation j goes to the output end and is 1, otherwise, the load operation j is 0
And (3) model:
min Cmax (1)
Cmax≥Ej(m+1),j=1,…,n (2)
tli=d,i=0,1,…,m (3)
tuih=|h-i|d,i=1,2,…,m+1,h=0,1,…,m (4)
Ej1≥d,j=1,2,…,n (11)
Ej(i+1)=Eji+pji+tliiBjii(Bji+Sjik)+γiSjik,j=1,2,…,n;i=1,2,…,m (12)
Dji=Eji+pji+Bji,i=1,2,…,m;j=1,2,…,n (14)
Egi≥Dji-H(1-Fji),j,g=1,2,…,n|j≠g;i=1,2,…,m (15)
Eji≥Dgi-HFjg,j,g=1,2,…,n|j≠g;i=1,2,…,m (16)
H(2-zjik-zgjk)+Hwjgik+Dji≥Dgi+Sjik
j,g=1,2,…,n|j≠g;i=1,2,…,m;k=1,2,…,bi (18)
H(2-zjik-zgjk)+H(1-wjgik)+Dgi≥Dji+Sijk
j,g=1,2,…,n|j≠g;i=1,2,…,m;k=1,2,…,bi (19)
Egh≥Eji+tui(h-1)+tlh-1-H(1-Xjigh),
i,h=1,2,…,m+1;j,g=1,2,…,n|j≠g (20)
Ej(i+1)≥Egh+tuhi+tli-H(1-Xjigh),
i=1,2,…,m;h=1,2,…,m+1;j,g=1,2,…,n|j≠g (21)
Egi≥αi(Ej(i-1)+tu(i+1)(i-1)+tli-1)-H(1-Fjg),
j,g=1,2,…,n|j≠g;i=1,2,…,m (22)
Eji≥αi(Eg(i+1)tu(i+1)(i-1)+tli-1)-HFjg,j,g=1,2,…,n|j≠g;i=1,2,…,m (23)
Egi≥βi(Ej(i+1)+tu(i+1)(i-1)+tli-1)-H(1-Fig)-H(1-Xj(i+1)gi),
j,g=1,2,…,n|j≠g;i=1,2,…,m (24)
Eji≤βi(Eg(i+1)+tu(i+1)(i-1)+tli-1)-HFjg-H(1-Xg(i-1)ji),
j,g=1,2,…,n|j≠g;i=1,2,…,m (25)
Eji,Bji,Cji,Dji,sjik≥0 (27)
yjg,wjgk,Xjigh,Yji,zjik∈{0,1} (28)
Wherein the objective function (1) is to minimize the completion time of the job; constraint (2) defines the completion time of the job; constraints (3) - (4) define the load and idle transit times; constraints (5) - (10) define a transport network; constraint (11) defines a start time of the job on the first machine that at least satisfies the AGV travel time to transport the job from the input M 0 to M 1; Constraint (12) defines three different buffering conditions for the machine: for the no buffer condition (α i =1), there is no storage time due to the lack of buffer for machine i, and the machine may be blocked by job j, there is a blocking time B ji; for a limited buffer condition (β i =1), machine i has a limited number of buffers, possibly a storage time S jik and a blocking time B ji; For an infinite buffer condition (γ i =1), machine i has infinite buffers available, no blocking condition occurs for machine, B j i=0 is always satisfied, corresponding to constraint (13); since one machine can only process one job at a time and preemption is not allowed between jobs, there are constraints (14) - (16): constraint (14) defines the departure time of job j at machine i; constraints (15) - (16) represent the processing precedence relationship between two jobs on the same machine: the latter requires waiting for the former to leave the machine before processing can begin; constraint (17) indicates that the buffer can only store one job at a time; constraints (18) - (19) indicate that: if two jobs are stored in the buffer zone k of the machine i in sequence, the latter can be entered after the former leaves the buffer zone; constraints (20) - (21) define the travel path of the AGV: after the robot transports the job j to M i, the next transporting operation is performed, and the job g is transported to M h, wherein the transporting process is denoted by X jig h; To avoid possible deadlock situations, constraints (22) - (26) comprehensively consider machine buffer conditions and AGV transport routes; constraints (22) - (23) define that machine i has no buffer to store completed job, if job g is processed after job j, it must wait for the AGV to transfer job j away from M i before transporting job g to M h; Constraints (24) - (26) define a machine i limited buffer situation, which must be started either after job j is processed after job j, which has been covered by previous constraints (15) - (16), or after job j is transported by the AGV to the next machine, which is limited by the AGV transport path, similar to constraints (22) - (23); constraints (27) - (28) define decision variables.
The embodiment of the invention finds that the mixed integer programming model can be directly solved by using a commercial solver for small-scale examples, but the mixed integer programming model can be directly solved for medium-scale and large-scale examples, so that the speed is very slow, and even the solving result is difficult to obtain, therefore, the embodiment of the invention decomposes the decision problem into two sub-problems for the medium-scale and large-scale examples: the method comprises the steps of working a machining sequence sub-problem on a machine and a transport route sub-problem of an AGV, respectively solving initial solutions of the two sub-problems, and performing iterative optimization on the initial solutions of the two sub-problems based on an improved simulated annealing algorithm frame to obtain an optimal scheme.
In addition, in order to better understand the problem, fig. 3 depicts the meanings of the respective time parameters and time variables in detail. The time for starting the machining of the job j on the machine i is E ji, and after the machining of the job j on the machine i, the finishing time is C ji. If the job cannot be transferred immediately after the completion of the processing, it stays on the machine i, and a blocking time B ji is generated. When the buffer for machine i is available, the job exits machine i at time D ji, enters buffer k, and waits for AGV transport, at which point a storage time S jik results. The job is carried by the AGV to machine i+1 at time L jik, transported through the AGV load to machine i+1, transported for a time tl i, and a new process is started at time E j(i+1).
S2, generating an initial job processing sequence list based on the processing time of each job on all machines, wherein the initial list is used as an initial solution of a processing sequence sub-problem of the job on the machines; generating an initial AGV transport path by using an AGV path generation decision method, wherein the initial AGV transport path is used as an initial solution of a transport path sub-problem of the AGV;
Optionally, the step S2 of generating an initial job processing sequence list based on processing time of each job on all machines specifically includes:
for each job, all machining needs to be performed sequentially, and the machining time on all machines is known, and the sum of the machining time on all machines for each job is calculated;
Sequencing according to flashback of the total processing time of the operations, preferably selecting two operations with the longest total processing time for sequencing, generating two operation processing sequences, generating a feasible AGV path by using an AGV path generation decision method (a specific method for generating the feasible AGV path is described below by using the AGV path generation decision method), calculating finishing time under the two operation processing sequences (after determining the operation sequence and the operation path of the AGV, the finishing time of the operation can be obtained, namely, the time equal to the time of the last operation transported to an output end by the AGV), and selecting the operation sequence with the smallest current finishing time as the current optimal operation sequence;
Selecting a third job to be sequenced under the current optimal job sequence, inserting the third job into the current optimal job sequence, wherein two jobs have three insertable positions to generate three job processing sequences, generating a feasible AGV path by using an AGV path generation decision method, calculating finishing time under the three job processing sequences, and selecting a job sequence with the minimum finishing time; and continuing to distribute the rest of the jobs until all the jobs are distributed, and generating an initial job processing sequence list and corresponding finishing time.
Optionally, in the step S2, an initial transport path of the AGV is generated by using an AGV path generating decision method, which specifically includes:
According to a first key factor: processing sequence of the same job on different machines and a second key factor: constructing basic priority relation of load transportation operation according to the processing sequences of different jobs on the same machine;
According to the basic priority relation of the load transportation operation, calculating that no previous item or previous item operation has completed a transportation operation set, and obtaining the transportation operation contained in the current decision point;
According to a third key factor: judging whether the transportation operation contained in the current decision point is feasible or not by the buffer capacity limitation of different machines, and obtaining all feasible transportation operation sets to be distributed;
four different path selection strategies are designed to make decisions, relatively better AGV transport routes are found, and an initial AGV transport path is generated.
Optionally, the following first key factors: processing sequence of the same job on different machines and a second key factor: the processing sequence of different jobs on the same machine is used for constructing the basic priority relation of load transportation operation, and the method specifically comprises the following steps:
As shown in FIG. 4, the use of directed graphs represents a basic priority, nodes represent load transportation, arcs represent priority, and M i represents the machine that the AGV is going to;
In planning an AGV transport path, the feasibility of the route is ensured. The feasibility of a transportation route depends on three key factors, the first: the processing sequence of the same operation on different machines, the second key factor: the processing sequence of different operations on the same machine, and a third key factor: buffer capacity limitations for different machines. Further, the symbol T ji indicates a load transport operation in which the AGV transports the job j from M i-1 to M i. Wherein the first and second key factors constitute a basic priority relationship for load transportation operations:
Depending on the nature of the flow shop, the processing sequence of the same job on the different machines is known and fixed, the job needs to pass through all the processing machines M 1,M2 in sequence from the input end M 0, then be stored to the output end M 3, the transport operation of job j from machine i-1 to machine i is denoted by T ji, so there is T 11→T12→T13, meaning that job 1 must be transported from input end M 0 to M 1 by the AGV first, then perform transport from M 1 to M 2, and finally transport to M 3;
In addition, assuming that the machining order of different jobs on the same machine is [ Job1, job2, job3, job4], then there is T 11→T21→T31→T41 that means that Job1 must be transported to M 1 before Job2 can be transported to M 1, job1 and Job2 are transported to M 1, and Job1, job2 and Job3 are transported to M 1 after Job4 is transported;
at each decision node of the AGV transport path, it is necessary to calculate transport operations that have no preceding item or have completed according to the basic priority of the load transport operations, and obtain transport operations that are included in the current decision point.
Optionally, the following third key factor: and judging whether the transportation operation contained in the current decision point is feasible or not by the buffer capacity limitation of different machines, and obtaining all feasible transportation operation sets to be distributed, wherein the method specifically comprises the following steps of:
After obtaining that no preceding item or that the preceding item operation has completed the transportation operation set, it is further determined, according to a third key factor, whether the machine to be processed M i corresponding to the transportation operation T ji is available, whether the machine M i can accept and process a new job:
Only when M i is idle or M i is busy but the buffer is not saturated, the machine is likely to accept new jobs, the total number of jobs on M i and its buffer is denoted J (i), initial J (i) =0; when a new job is transported to M i for processing, J i and the total number of jobs on its buffers increase, J (i) =j (i) +1; when the processed job is carried away from M i or its buffer, the total number of jobs on M i and its buffer is reduced, J (i) =j (i) -1;
Therefore, whether the machine can accept and process new operation is judged by whether J (i) is less than or equal to b i, whether the transportation operation contained in the current decision point is feasible or not is judged, and all feasible transportation operation sets to be distributed are obtained.
Because there may be multiple possible T ji's, i.e., there may be multiple possible jobs j to be transported, the embodiment of the invention designs four different selection strategies to make decisions to find a relatively better AGV transport route, and shortens the completion time of the jobs as much as possible.
Optionally, a first path selection policy: selecting a job that can start processing earliest, specifically including:
based on the available AGV transport paths, the start processing time for the next transported job can be calculated:
MC i represents the finishing time of machine i, equal to the finishing time of the last job j on machine i, MC i=Ej*i+pj*i, initial MC i =0;
The method for calculating the start processing time after the job is transported is as follows: for the first transport operation T ji of the AGV, where the robot needs to transport job j from the input end to machine i, the load movement time is constant at d, then the earliest workable time of job j, E ji =d, since T ji is the first transport operation, job j is the first job on machine i and also the last job at the current time of machine i, there is MC i=Eji+pji=d+pji, where p ji is the workable time of job j on machine i;
After the first transport is performed by the AGV, if the current machine i waits for the processing of the current job j to be completed, and continues to transport the job j to M i+1, the processing starting time of the next machine M i+1 is E j(i+1)=max(Eji+pji+tli,MCi+1), where E ji+pji+tli indicates that the job j is transported by the AGV load after the processing time p ji, the earliest time when the job j can reach M i+1, and MC i+1 represents the earliest time when M i+1 is available;
if the AGV performs the transport operation T ji and then performs T gh, and transfers a new job g to M h, then the time for starting the processing of the job g at M h is E gh=max(Eji+tui(h-1)+tlh-1,Cg(h-1)+tlh-1,MCh), where E ji+tui(h-1)+tlh-1 represents that after the AGV has transported the job j, the AGV is moved from the current machine M i to M h-1 to acquire the job g, and then transfers the job g to M h, C g(h-1)+tlh-1 represents that the job g can be transferred to M h,MCh after the processing of the job g at M h-1 is completed, and represents the finishing time of the machine M h, which is the earliest available time of the machine M h;
According to the calculation method, the processing starting time of different operations is obtained, and the operation which can start processing earliest is always selected.
Therefore, the idle time of the machine can be shortened as much as possible, the utilization rate of the machine is improved, and the finishing time of all the jobs is shortened.
Optionally, a second path selection policy: selecting an operation that minimizes the dead time of the AGV, including:
The AGV moves in both load and idle movement, wherein the total time of the load movement is determined because the load movement process exists only between two adjacent machines;
the empty load movement may occur between any two machines, so the total time of the empty load movement depends on the transport route, after the AGV has transported the current job, the AGV may need to first empty load move to another machine to acquire the job in order to acquire the next job to be transported, and the empty load movement time required to transport different jobs may be calculated based on the current position of the AGV:
Assuming that the AGV performs a transport operation T ji and the next transport operation is T gh, the AGV needs to first move from machine i empty to machine h-1 to obtain the job to be transported, with an empty move time of tu i(h-1), and select the job that minimizes the AGV empty move time.
Therefore, the total idle moving time of the AGV can be shortened as much as possible, invalid movement is reduced, the utilization rate of the AGV is improved, and the finishing time of all operations is shortened.
Optionally, a third path selection policy: selecting the operation with the shortest waiting time of the AGV, which specifically comprises the following steps:
After the AGV determines the next transport, if the transported job is not yet processed on the current machine or the next machine is still occupied, the AGV cannot immediately perform the transport, the AGV may generate a waiting time, and the waiting time of the AGV may be calculated according to the existing transport path:
As shown in fig. 5, assuming that the AGV performs a transport operation T ji and the next transport operation is T gh, the waiting time of the AGV corresponding to job g is (E gh-Eji-tui(h-1)-tlh-1), where E gh is the earliest processable time of job g, E ji is the earliest processable time of job j, tu i(h-1) is the transport of the AGV from machine i to machine h-1 to obtain the job to be transported, and the empty move time is tu i(h-1),tlh-1 is the transport time for transporting job g from machine h-1 to machine h;
and selecting the job which makes the waiting time of the AGV shortest.
The operation with the shortest waiting time of the AGV is selected, so that the idle time of the AGV can be shortened, the utilization rate of the AGV is improved, and the finishing time of all the operations is shortened.
Optionally, a fourth path selection policy: a feasible job is randomly selected.
By randomly selecting the operation, more different transportation paths are generated, and the sinking into local optimum is avoided.
S3, based on an improved simulated annealing algorithm framework, carrying out iterative optimization on initial solutions of the two sub-problems to obtain an optimal scheme.
Optionally, the step S3 specifically includes:
S31, taking initial solutions of two sub-problems as a current solution and a global optimal solution, enabling an objective function value C best of the current solution to be equal to an objective function value C 0 of the initial solution (the objective function is the finishing time of operation and refers to the time of transportation to an output end after all operation processing is finished), and enabling a current temperature T to be equal to an initial temperature T 0;
S32, iterating at the current temperature T, carrying out neighborhood operator exchange on the operation processing sequence once each iteration to obtain a new operation processing sequence, generating iters AGV transport paths again by using an AGV path generation decision method aiming at the new operation processing sequence, and selecting an AGV path for minimizing the operation finishing time, wherein the objective function value of the obtained new solution is C;
S33, if C is less than or equal to C best, accepting a new solution; if C is C best, randomly generating the parameter p e between [0,1], if Accepting the new solution, and rejecting the new solution otherwise;
and S34, after iteration is completed, recording an optimal solution at the current temperature, if the objective function value of the optimal solution at the current temperature is smaller than that of the global optimal solution, enabling the global optimal solution to be equal to the optimal solution at the current temperature, updating the neighborhood operation, repeating S32 until the current temperature is lower than the set termination temperature, and taking the global optimal solution as a final optimal solution.
As shown in fig. 6, an embodiment of the present invention further provides a flow shop scheduling apparatus considering combined buffering and unmanned transportation, the apparatus comprising:
A decomposition module 610 for building and analyzing a mixed integer programming model that considers a flow shop scheduling problem of combined buffering and unmanned transportation, decomposing the scheduling problem into two sub-problems: a machining sequence sub-problem of the operation on the machine and a transport route sub-problem of the transport robot AGV;
an initial solution generating module 620, configured to generate an initial job processing order list as an initial solution of a processing order sub-problem of each job on all machines based on processing time of the job on all machines; generating an initial AGV transport path by using an AGV path generation decision method, wherein the initial AGV transport path is used as an initial solution of a transport path sub-problem of the AGV;
and the iteration optimization module 630 is configured to perform iteration optimization on the initial solutions of the two sub-problems based on the improved simulated annealing algorithm framework, so as to obtain an optimal solution.
The functional structure of the flow shop scheduling device considering combined buffering and unmanned transportation provided by the embodiment of the invention corresponds to the flow shop scheduling method considering combined buffering and unmanned transportation provided by the embodiment of the invention, and is not repeated here.
Fig. 7 is a schematic structural diagram of an electronic device 700 according to an embodiment of the present invention, where the electronic device 700 may have a relatively large difference due to different configurations or performances, and may include one or more processors (central processing units, CPU) 701 and one or more memories 702, where the memories 702 store instructions, and the instructions are loaded and executed by the processors 701 to implement the steps of the above-mentioned flow shop scheduling method considering combined buffering and unmanned transportation.
In an exemplary embodiment, a computer readable storage medium, such as a memory comprising instructions executable by a processor in a terminal to perform the above-described flow shop scheduling method taking into account combined buffering and unmanned transportation, is also provided. For example, the computer readable storage medium may be ROM, random Access Memory (RAM), CD-ROM, magnetic tape, floppy disk, optical data storage device, etc.
It will be understood by those skilled in the art that all or part of the steps for implementing the above embodiments may be implemented by hardware, or may be implemented by a program for instructing relevant hardware, where the program may be stored in a computer readable storage medium, and the storage medium may be a read-only memory, a magnetic disk or an optical disk, etc.
The foregoing description of the preferred embodiments of the invention is not intended to limit the invention to the precise form disclosed, and any such modifications, equivalents, and alternatives falling within the spirit and scope of the invention are intended to be included within the scope of the invention.

Claims (7)

1. A flow shop scheduling method that allows for combined buffering and unmanned transportation, the method comprising:
S1, a mixed integer programming model considering the flow shop scheduling problem of combined buffering and unmanned transportation is established and analyzed, and the scheduling problem is decomposed into two sub-problems: a machining sequence sub-problem of the operation on the machine and a transport route sub-problem of the transport robot AGV;
S2, generating an initial job processing sequence list based on the processing time of each job on all machines, wherein the initial list is used as an initial solution of a processing sequence sub-problem of the job on the machines; generating an initial AGV transport path by using an AGV path generation decision method, wherein the initial AGV transport path is used as an initial solution of a transport path sub-problem of the AGV;
S3, based on an improved simulated annealing algorithm frame, carrying out iterative optimization on initial solutions of the two sub-problems to obtain an optimal scheme;
The mixed integer programming model is as follows:
Parameters:
n number of jobs
M number of machines
J, g job index, j, g=1, 2,3., n
I, h machine index, i, h=0, 1,2,..m+1
Processing time of p ji job j on machine i
Alpha i is 1 if the buffering condition of machine i is unbuffered, or 0 otherwise
Beta i is 1 if the buffering condition of machine i is limited buffering, otherwise 0
Gamma i is 1 if the buffering condition of machine i is infinite buffering, or 0 otherwise
Buffer number corresponding to b i machine i
The index of the k-buffer, k=1, 2,3., b i
H maximum value
Tu ih No. time of robot movement from machine i to machine h
The load moving time of tl i robot from machine i to machine i+1 is constant as d
D distance coefficient
F sink node
The variables:
F jg on the same machine, 1 if job j precedes job g, or 0 otherwise
W jgik is in cache k of machine i, 1 if job j precedes job g, or 0 otherwise
Z jik is1 if job j is stored in buffer k after completion on machine i, otherwise 0
Start time of E ji job j on machine i
Blocking time of B ji job j on machine i
Departure time of D ji job j on machine i
S jik storage time of operation j in buffer k of machine i
Departure time of L jik job j from buffer k of machine i
C max time to finish, time to deliver all jobs to output
X jigh robot starts from machine i, load operation g from empty to machine h-1 to machine h is 1, otherwise 0
X jiF all the operations are finished, the robot goes to the output end and is 1, otherwise, the robot goes to the output end and is 0
The Y jiF robot starts from the machine i, the load operation j goes to the output end and is 1, otherwise, the load operation j is 0
And (3) model:
min Cmax (1)
Cmax≥Ej(m+1),j=1,...,n (2)
tli=d,i=0,1,...,m (3)
tuih=|h-i|d,i=1,2,...,m+1,h=0,1,...,m (4)
Ej1≥d,j=1,2,...,n (11)
Ej(i+1)=Eji+pji+tliiBjii(Bji+Sjik)+γiSjik,j=1,2,...,n;i=1,2,...,m (12)
Dji=Eji+pji+Bji,i=1,2,...,m;j=1,2,...,n (14)
Egi≥Dji-H(1-Fji),j,g=1,2,...,n|j≠g;i=1,2,...,m (15)
Eji≥Dgi-HFjg,j,g=1,2,...,n|j≠g;i=1,2,...,m (16)
H(2-zjik-zgjk)+Hwjgik+Dji≥Dgi+Sjik
j,g=1,2,...,n|j≠g;i=1,2,...,m;k=1,2,...,bi (18)
H(2-zjik-zgjk)+H(1-wjgik)+Dgi≥Dji+Sjik
j,g=1,2,...,n|j≠g;i=1,2,...,m;k=1,2,...,bi (19)
Egh≥Eji+tui(h-1)+tlh-1-H(1-Xjigh),
i,h=1,2,...,m+1;j,g=1,2,...,n|j≠g (20)
Ej(i+1)≥Egh+tuhi+tli-H(1-Xjigh),
i=1,2,...,m;h=1,2,...,m+1;j,g=1,2,...,n|j≠g (21)
Egi≥αi(Ej(i+1)+tu(i+1)(i-1)+tli-1)-H(1-Fjg),
j,g=1,2,...,n|j≠g;i=1,2,...,m (22)
Eji≥αi(Eg(i+1)+tu(i+1)(i-1)+tli-1)-HFjg,j,g=1,2,...,n|j≠g;i=1,2,...,m (23)
Egi≥βi(Ej(i+1)+tu(i+1)(i-1)+tli-1)-H(1-Fjg)-H(1-Xj(i+1)gi),
j,g=1,2,...,n|j≠g;i=1,2,...,m (24)
Eji≥βi(Eg(i+1)+tu(i+1)(i-1)+tli-1)-HFjg-H(1-Xg(i+1)ji),
j,g=1,2,...,n|j≠g;i=1,2,...,m (25)
Eji,Bji,Cji,Dji,Sjik≥0 (27)
yjg,wjgk,Xjigh,Yji,zjik∈{0,1} (28)
Wherein the objective function (1) is to minimize the completion time of the job; constraint (2) defines the completion time of the job; constraints (3) - (4) define the load and idle transit times; constraints (5) - (10) define a transport network; constraint (11) defines a start time of the job on the first machine that at least satisfies the AGV travel time to transport the job from the input M 0 to M 1; Constraint (12) defines three different buffering conditions for the machine: for the no buffer condition (α i =1), there is no storage time due to the lack of buffer for machine i, and the machine may be blocked by job j, there is a blocking time B ji; for a limited buffer condition (β i =1), machine i has a limited number of buffers, possibly a storage time S jik and a blocking time B ji; For an infinite buffer condition (γ i =1), machine i has infinite buffers available, no blocking of the machine occurs, B ji =0 is always satisfied, corresponding to constraint (13); since one machine can only process one job at a time and preemption is not allowed between jobs, there are constraints (14) - (16): constraint (14) defines the departure time of job j at machine i; Constraints (15) - (16) represent the processing precedence relationship between two jobs on the same machine: the latter requires waiting for the former to leave the machine before processing can begin; constraint (17) indicates that the buffer can only store one job at a time; constraints (18) - (19) indicate that: if two jobs are stored in the buffer zone k of the machine i in sequence, the latter can be entered after the former leaves the buffer zone; constraints (20) - (21) define the travel path of the AGV: after the robot transports the job j to M i, the next transporting operation is performed, and the job g is transported to M h, where the transporting process is denoted by X jigh; To avoid possible deadlock situations, constraints (22) - (26) comprehensively consider machine buffer conditions and AGV transport routes; constraints (22) - (23) define that machine i has no buffer to store completed job, if job g is processed after job j, it must wait for the AGV to transfer job j away from M i before transporting job g to M h; Constraints (24) - (26) define a machine i limited buffer situation, which must be started either after job j is processed after job j, which has been covered by previous constraints (15) - (16), or after job j is transported by the AGV to the next machine, which is limited by the AGV transport path, similar to constraints (22) - (23); constraints (27) - (28) define decision variables;
in S2, based on the processing time of each job on all the machines, an initial job processing sequence list is generated, which specifically includes:
for each job, all machining needs to be performed sequentially, and the machining time on all machines is known, and the sum of the machining time on all machines for each job is calculated;
sequencing according to flashback of the total working time, preferably selecting two working operations with the longest total working time for sequencing, generating two working sequences by the two working operations, generating a feasible AGV path by using an AGV path generation decision method, calculating finishing time under the two working sequences, and selecting the working sequence with the smallest current finishing time as the current optimal working sequence;
Selecting a third job to be sequenced under the current optimal job sequence, inserting the third job into the current optimal job sequence, wherein two jobs have three insertable positions to generate three job processing sequences, generating a feasible AGV path by using an AGV path generation decision method, calculating finishing time under the three job processing sequences, and selecting a job sequence with the minimum finishing time; continuing to distribute the rest of the jobs until all the jobs are distributed, and generating an initial job processing sequence list and corresponding finishing time;
In the step S2, an initial transport path of the AGV is generated by using an AGV path generating decision method, which specifically includes:
According to a first key factor: processing sequence of the same job on different machines and a second key factor: constructing basic priority relation of load transportation operation according to the processing sequences of different jobs on the same machine;
According to the basic priority relation of the load transportation operation, calculating that no previous item or previous item operation has completed a transportation operation set, and obtaining the transportation operation contained in the current decision point;
According to a third key factor: judging whether the transportation operation contained in the current decision point is feasible or not by the buffer capacity limitation of different machines, and obtaining all feasible transportation operation sets to be distributed;
Four different path selection strategies are designed to make decisions, relatively better AGV transport routes are found, and initial AGV transport paths are generated, wherein the four different path selection strategies comprise: the operation that starts the process earliest is selected, the operation that minimizes the dead time of the AGV is selected, the operation that minimizes the waiting time of the AGV is selected, or a feasible operation is randomly selected.
2. The method of claim 1, wherein the step of determining the first key factor is based on: processing sequence of the same job on different machines and a second key factor: the processing sequence of different jobs on the same machine is used for constructing the basic priority relation of load transportation operation, and the method specifically comprises the following steps:
Using directed graphs to represent basic priority relationships, nodes to represent load transport, arcs to represent priority relationships, and M i to represent the machine that the AGV is going to;
Depending on the nature of the flow shop, the processing sequence of the same job on the different machines is known and fixed, the job needs to pass through all the processing machines M 1,M2 in sequence from the input end M 0, then be stored to the output end M 3, the transport operation of job j from machine i-1 to machine i is denoted by T ji, so there is T 11→T12→T13, meaning that job 1 must be transported from input end M 0 to M 1 by the AGV first, then perform transport from M 1 to M 2, and finally transport to M 3;
In addition, assuming that the machining order of different jobs on the same machine is [ Job1, job2, job3, job4], then there is T 11→T21→T31→T41 that means that Job1 must be transported to M 1 before Job2 can be transported to M 1, job1 and Job2 are transported to M 1, and Job1, job2 and Job3 are transported to M 1 after Job4 is transported;
at each decision node of the AGV transport path, it is necessary to calculate transport operations that have no preceding item or have completed according to the basic priority of the load transport operations, and obtain transport operations that are included in the current decision point.
3. The method according to claim 1, wherein the following third key factor: and judging whether the transportation operation contained in the current decision point is feasible or not by the buffer capacity limitation of different machines, and obtaining all feasible transportation operation sets to be distributed, wherein the method specifically comprises the following steps of:
After obtaining that no preceding item or that the preceding item operation has completed the transportation operation set, it is further determined, according to a third key factor, whether the machine to be processed M i corresponding to the transportation operation T ji is available, whether the machine M i can accept and process a new job:
Only when M i is idle or M i is busy but the buffer is not saturated, the machine is likely to accept new jobs, the total number of jobs on M i and its buffer is denoted J (i), initial J (i) =0; when a new job is transported to M i for processing, J i and the total number of jobs on its buffers increase, J (i) =j (i) +1; when the processed job is carried away from M i or its buffer, the total number of jobs on M i and its buffer is reduced, J (i) =j (i) -1;
Therefore, whether the machine can accept and process new operation is judged by whether J (i) is less than or equal to b i, whether the transportation operation contained in the current decision point is feasible or not is judged, and all feasible transportation operation sets to be distributed are obtained.
4. The method of claim 1, wherein the first routing strategy: selecting the earliest work to start, which specifically comprises:
based on the available AGV transport paths, the start processing time of the next transported job is calculated:
MC i represents the finishing time of machine i, equal to the finishing time of the last job j on machine i, MC i=Ej*i+pj*i, initial MC i =0;
The method for calculating the start processing time after the job is transported is as follows: for the first transport operation T ji of the AGV, where the robot needs to transport job j from the input end to machine i, the load movement time is constant at d, then the earliest workable time of job j, E ji =d, since T ji is the first transport operation, job j is the first job on machine i and also the last job at the current time of machine i, there is MC i=Eji+pji=d+pji, where p ji is the workable time of job j on machine i;
after the first transport is performed by the AGV, if the current machine i waits for the processing of the current job j to be completed, and continues to transport the job j to M i+1, the processing starting time of the next machine M i+1 is E j(i+1)=max(Eji+pji+tli,MCi+1), where E ji+pji+tli indicates that the job j is transported by the AGV load after the processing time p ji, the earliest time when the job j can reach M i+1, and MC i+1 represents the earliest time when M i+1 is available;
if the AGV performs the transport operation T ji and then performs T gh, and transfers a new job g to M h, then the time for starting the processing of the job g at M h is E gh=max(Eji+tui(h-1)+tlh-1,Cg(h-1)+tlh-1,MCh), where E ji+tui(h-1)+tlh-1 represents that after the AGV has transported the job j, the AGV is moved from the current machine M i to M h-1 to acquire the job g, and then transfers the job g to M h, C g(h-1)+tlh-1 represents that the job g can be transferred to M h,MCh after the processing of the job g at M h-1 is completed, and represents the finishing time of the machine M h, which is the earliest available time of the machine M h;
According to the calculation method, the processing starting time of different operations is obtained, and the operation of which the processing starts earliest is always selected.
5. The method of claim 1, wherein the second routing strategy: selecting an operation that minimizes the dead time of the AGV, including:
The AGV moves in both load and idle movement, wherein the total time of the load movement is determined because the load movement process exists only between two adjacent machines;
The empty load movement occurs between any two machines, so the total time of the empty load movement depends on the transport route, after the AGV has transported the current job, the AGV may need to first empty load move to another machine to acquire the job in order to acquire the next job transported, and the empty load movement time required to transport the different jobs is calculated based on the current position of the AGV:
Assuming that the AGV performs a transport operation T ji and the next transport operation is T gh, the AGV needs to first move from machine i empty to machine h-1 to obtain the job to be transported, with an empty move time of tu i(h-1), and select the job that minimizes the AGV empty move time.
6. The method of claim 1, wherein a third routing strategy: selecting the operation with the shortest waiting time of the AGV, which specifically comprises the following steps:
after the AGV determines the next transport, if the transported job is not yet processed on the current machine or the next machine is still occupied, the AGV cannot immediately perform the transport, the AGV may generate a waiting time, and the waiting time of the AGV is calculated according to the existing transport path:
Assuming that the AGV performs a transport operation T ji and the next transport operation is T gh, then the waiting time of the AGV corresponding to job g is (E gh-Eji-tui(h-1)-tlh-1), where E gh is the earliest workable time of job g, E ji is the earliest workable time of job j, tu i(h-1) is the AGV transport from machine i to machine h-1 to obtain the job to be transported, and the empty move time is tu i(h-1),tlh-1 is the transport time to transport job g from machine h-1 to machine h;
and selecting the job which makes the waiting time of the AGV shortest.
7. A flow shop scheduling device that allows for combined buffering and unmanned transportation, the device comprising:
The decomposition module is used for establishing and analyzing a mixed integer programming model considering the flow shop scheduling problem of combined buffering and unmanned transportation, and decomposing the scheduling problem into two sub-problems: a machining sequence sub-problem of the operation on the machine and a transport route sub-problem of the transport robot AGV;
an initial solution generating module, configured to generate an initial job processing sequence list based on processing time of each job on all machines, as an initial solution of a processing sequence sub-problem of the job on the machines; generating an initial AGV transport path by using an AGV path generation decision method, wherein the initial AGV transport path is used as an initial solution of a transport path sub-problem of the AGV;
The iterative optimization module is used for carrying out iterative optimization on the initial solutions of the two sub-problems based on the improved simulated annealing algorithm frame to obtain an optimal scheme;
The mixed integer programming model is as follows:
Parameters:
n number of jobs
M number of machines
J, g job index, j, g=1, 2,3., n
I, h machine index, i, h=0, 1,2,..m+1
Processing time of p ji job j on machine i
Alpha i is 1 if the buffering condition of machine i is unbuffered, or 0 otherwise
Beta i is 1 if the buffering condition of machine i is limited buffering, otherwise 0
Gamma i is 1 if the buffering condition of machine i is infinite buffering, or 0 otherwise
Buffer number corresponding to b i machine i
The index of the k-buffer, k=1, 2,3., b i
H maximum value
Tu ih No. time of robot movement from machine i to machine h
The load moving time of tl i robot from machine i to machine i+1 is constant as d
D distance coefficient
F sink node
The variables:
F jg on the same machine, 1 if job j precedes job g, or 0 otherwise
W jgik is in cache k of machine i, 1 if job j precedes job g, or 0 otherwise
Z jik is1 if job j is stored in buffer k after completion on machine i, otherwise 0
Start time of E ji job j on machine i
Blocking time of B ji job j on machine i
Departure time of D ji job j on machine i
S jik storage time of operation j in buffer k of machine i
Departure time of L jik job j from buffer k of machine i
C max time to finish, time to deliver all jobs to output
X jigh robot starts from machine i, load operation g from empty to machine h-1 to machine h is 1, otherwise 0
X jiF all the operations are finished, the robot goes to the output end and is 1, otherwise, the robot goes to the output end and is 0
The V jiF robot starts from the machine i, the load operation j goes to the output end and is1, otherwise, the load operation j is 0
And (3) model:
min Cmax (1)
Cmax≥Ej(m+1),j=1,...,n (2)
tli=d,i=0,1,...,m (3)
tuih=|h-i|d,i=1,2,...,m+1,h=0,1,...,m (4)
Ej1≥d,j=1,2,...,n (11)
Ej(i+1)=Eji+pji+tliiBjii(Bji+Sjik)+γiSjik,j=1,2,...,n;i=1,2,...,m (12)
Dji=Eji+pji+Bki,i=1,2,...,m;j=1,2,...,n (14)
Egi≥Dji-H(1-Fji),j,g=1,2,...,n|j≠g;i=1,2,...,m (15)
Eji≥Dgi-HFjg,j,g=1,2,...,n|j≠g;i=1,2,...,m (16)
H(2-zjik-zgjk)+Hwjgik+Dji≥Dgi+Sjik
j,g=1,2,...,n|j≠g;i=1,2,...,m;k=1,2,...,bi (18)
H(2-zjik-zgjk)+H(1-wjgik)+Dgi≥Dji+Sjik
j,g=1,2,...,n|j≠g;i=1,2,...,m;k=1,2,...,bi (19)
Egh≥Eji+tui(h-1)+tlh-1-H(1-Xjigh),
i,h=1,2,...,m+1;j,g=1,2,...,n|j≠g (20)
Ej(i+1)≥Egh+tuhi+tli-H(1-Xjigh),
i=1,2,...,m;h=1,2,...,m+1;j,g=1,2,...,n|j≠g (21)
Egi≥αi(Ej(i+1)+tu(i+1)(i-1)+tli-1)-H(1-Fjg),
j,g=1,2,...,n|j≠g;i=1,2,...,m (22)
Eji≥αi(Eg(i+1)+tu(i+1)(i-1)+tli-1)-HFjg,j,g=1,2,...,n|j≠g;i=1,2,...,m (23)
Egi≥βi(Ej(i+1)+tu(i+1)(i-1)+tli-1)-H(1-Fjg)-H(1-Xj(i+1)gi),
j,g=1,2,...,n|j≠g;i=1,2,...,m (24)
Eji≥βi(Eg(i+1)+tu(i+1)(i-1)+tli-1)-HFjg-H(1-Xg(i+1)ji),
j,g=1,2,...,n|j≠g;i=1,2,...,m (25)
Eji,Bji,Cji,Dji,Sjik≥0 (27)
yjg,wjgk,Xjigh,Yji,zjik∈{0,1} (28)
Wherein the objective function (1) is to minimize the completion time of the job; constraint (2) defines the completion time of the job; constraints (3) - (4) define the load and idle transit times; constraints (5) - (10) define a transport network; constraint (11) defines a start time of the job on the first machine that at least satisfies the AGV travel time to transport the job from the input M 0 to M 1; Constraint (12) defines three different buffering conditions for the machine: for the no buffer condition (a i =1), there is no storage time due to the lack of buffer for machine i, and the machine may be blocked by job j, there is a blocking time B ji; for a limited buffer condition (β i =1), machine i has a limited number of buffers, possibly a storage time S jik and a blocking time B ji; For an infinite buffer condition (γ i =1), machine i has infinite buffers available, no blocking of the machine occurs, B ji =0 is always satisfied, corresponding to constraint (13); since one machine can only process one job at a time and preemption is not allowed between jobs, there are constraints (14) - (16): constraint (14) defines the departure time of job j at machine i; Constraints (15) - (16) represent the processing precedence relationship between two jobs on the same machine: the latter requires waiting for the former to leave the machine before processing can begin; constraint (17) indicates that the buffer can only store one job at a time; constraints (18) - (19) indicate that: if two jobs are stored in the buffer zone k of the machine i in sequence, the latter can be entered after the former leaves the buffer zone; constraints (20) - (21) define the travel path of the AGV: after the robot transports the job j to M i, the next transporting operation is performed, and the job g is transported to M h, where the transporting process is denoted by X jigh; To avoid possible deadlock situations, constraints (22) - (26) comprehensively consider machine buffer conditions and AGV transport routes; constraints (22) - (23) define that machine i has no buffer to store completed job, if job g is processed after job j, it must wait for the AGV to transfer job j away from M i before transporting job g to M h; Constraints (24) - (26) define a machine i limited buffer situation, which must be started either after job j is processed after job j, which has been covered by previous constraints (15) - (16), or after job j is transported by the AGV to the next machine, which is limited by the AGV transport path, similar to constraints (22) - (23); constraints (27) - (28) define decision variables;
the initial solution generating module is specifically configured to:
for each job, all machining needs to be performed sequentially, and the machining time on all machines is known, and the sum of the machining time on all machines for each job is calculated;
sequencing according to flashback of the total working time, preferably selecting two working operations with the longest total working time for sequencing, generating two working sequences by the two working operations, generating a feasible AGV path by using an AGV path generation decision method, calculating finishing time under the two working sequences, and selecting the working sequence with the smallest current finishing time as the current optimal working sequence;
Selecting a third job to be sequenced under the current optimal job sequence, inserting the third job into the current optimal job sequence, wherein two jobs have three insertable positions to generate three job processing sequences, generating a feasible AGV path by using an AGV path generation decision method, calculating finishing time under the three job processing sequences, and selecting a job sequence with the minimum finishing time; continuing to distribute the rest of the jobs until all the jobs are distributed, and generating an initial job processing sequence list and corresponding finishing time;
the initial solution generating module is specifically further configured to:
According to a first key factor: processing sequence of the same job on different machines and a second key factor: constructing basic priority relation of load transportation operation according to the processing sequences of different jobs on the same machine;
According to the basic priority relation of the load transportation operation, calculating that no previous item or previous item operation has completed a transportation operation set, and obtaining the transportation operation contained in the current decision point;
According to a third key factor: judging whether the transportation operation contained in the current decision point is feasible or not by the buffer capacity limitation of different machines, and obtaining all feasible transportation operation sets to be distributed;
Four different path selection strategies are designed to make decisions, relatively better AGV transport routes are found, and initial AGV transport paths are generated, wherein the four different path selection strategies comprise: the operation that starts the process earliest is selected, the operation that minimizes the dead time of the AGV is selected, the operation that minimizes the waiting time of the AGV is selected, or a feasible operation is randomly selected.
CN202311702401.7A 2023-12-12 2023-12-12 Flow shop scheduling method and device considering combined buffering and unmanned transportation Active CN117742260B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311702401.7A CN117742260B (en) 2023-12-12 2023-12-12 Flow shop scheduling method and device considering combined buffering and unmanned transportation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311702401.7A CN117742260B (en) 2023-12-12 2023-12-12 Flow shop scheduling method and device considering combined buffering and unmanned transportation

Publications (2)

Publication Number Publication Date
CN117742260A CN117742260A (en) 2024-03-22
CN117742260B true CN117742260B (en) 2024-07-16

Family

ID=90255653

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311702401.7A Active CN117742260B (en) 2023-12-12 2023-12-12 Flow shop scheduling method and device considering combined buffering and unmanned transportation

Country Status (1)

Country Link
CN (1) CN117742260B (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006107121A (en) * 2004-10-05 2006-04-20 Nippon Steel Corp Vehicle dispatching plan preparation device, vehicle dispatching plan preparation method, computer program and computer readable recording medium
CN116679647A (en) * 2023-06-16 2023-09-01 西安交通大学 3C intelligent workshop AGV scheduling system and method considering buffer area capacity

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111813066B (en) * 2020-07-17 2022-07-29 北京理工大学 Multi-processing robot cooperation method for hardware flexible production workshop

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006107121A (en) * 2004-10-05 2006-04-20 Nippon Steel Corp Vehicle dispatching plan preparation device, vehicle dispatching plan preparation method, computer program and computer readable recording medium
CN116679647A (en) * 2023-06-16 2023-09-01 西安交通大学 3C intelligent workshop AGV scheduling system and method considering buffer area capacity

Also Published As

Publication number Publication date
CN117742260A (en) 2024-03-22

Similar Documents

Publication Publication Date Title
CN112561194B (en) Integrated scheduling method and system for production and logistics of mixed flow shop
Gen et al. Evolutionary techniques for optimization problems in integrated manufacturing system: State-of-the-art-survey
Langevin et al. Dispatching, routing, and scheduling of two automated guided vehicles in a flexible manufacturing system
Sawik An exact approach for batch scheduling in flexible flow lines with limited intermediate buffers
Sarin et al. Flow shop lot streaming
CN113359702B (en) Intelligent warehouse AGV operation optimization scheduling method based on water wave optimization-tabu search
Petrović et al. Multi-objective scheduling of a single mobile robot based on the grey wolf optimization algorithm
Che et al. An improved mixed integer programming approach for multi-hoist cyclic scheduling problem
Chaudhry et al. Integrated scheduling of machines and automated guided vehicles (AGVs) in flexible job shop environment using genetic algorithms
Yuan et al. Dual-resource integrated scheduling method of AGV and machine in intelligent manufacturing job shop
Zhang et al. Effective genetic approach for optimizing advanced planning and scheduling in flexible manufacturing system
CN115730799A (en) Method, system and equipment for scheduling production tasks of flexible assembly job workshop
CN117742260B (en) Flow shop scheduling method and device considering combined buffering and unmanned transportation
Mati et al. Geometric approach and taboo search for scheduling flexible manufacturing systems
Low et al. Mathematical modelling of multi-objective job shop scheduling with dependent setups and re-entrant operations
Chen et al. An integrated approach for modeling and solving the scheduling problem of container handling systems
Tanizaki et al. Scheduling algorithms using metaheuristics for production processes with crane interference
Haghani et al. Multi-robot routing with time windows: A column generation approach
Yao et al. Tabu search based on novel neighborhood structures for solving job shop scheduling problem integrating finite transportation resources
CN110716522B (en) Manufacturing enterprise workshop scheduling optimization method based on arbitrary time A-heuristic search
CN114580728A (en) Elevator dispatching method and device, storage medium and electronic equipment
Sotudian et al. Fuzzy Gilmore and Gomory algorithm: Application in robotic flow shops with the effects of job-dependent transportation and set-ups
Harrabi et al. Hybrid biogeography-based optimization algorithm for job shop scheduling problem with time lags and single transport robot
Niu et al. A new flexible multi-AGVs scheduling model with pre-waiting time in an intelligent manufacturing system
Durst et al. Multi-Objective Optimization of AGV Real-Time Scheduling Based on Deep Reinforcement Learning

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant