CN111667113A - Rapid deadlock-free branch-bound scheduling method for flexible manufacturing system - Google Patents

Rapid deadlock-free branch-bound scheduling method for flexible manufacturing system Download PDF

Info

Publication number
CN111667113A
CN111667113A CN202010497896.4A CN202010497896A CN111667113A CN 111667113 A CN111667113 A CN 111667113A CN 202010497896 A CN202010497896 A CN 202010497896A CN 111667113 A CN111667113 A CN 111667113A
Authority
CN
China
Prior art keywords
node
nodes
time
branching
branched
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.)
Granted
Application number
CN202010497896.4A
Other languages
Chinese (zh)
Other versions
CN111667113B (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.)
Northwestern Polytechnical University
Original Assignee
Northwestern Polytechnical 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 Northwestern Polytechnical University filed Critical Northwestern Polytechnical University
Priority to CN202010497896.4A priority Critical patent/CN111667113B/en
Publication of CN111667113A publication Critical patent/CN111667113A/en
Application granted granted Critical
Publication of CN111667113B publication Critical patent/CN111667113B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06313Resource planning in a project environment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/04Manufacturing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing systems specially adapted for manufacturing

Landscapes

  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Engineering & Computer Science (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Marketing (AREA)
  • Entrepreneurship & Innovation (AREA)
  • General Physics & Mathematics (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • Development Economics (AREA)
  • Game Theory and Decision Science (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Manufacturing & Machinery (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Educational Administration (AREA)
  • Primary Health Care (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

The invention provides a quick deadlock-free branching and delimiting scheduling method of a flexible manufacturing system, which is based on flexible manufacturing system modeling of a position timing Petri network, searches for optimal scheduling in a branch tree of a PNS, gives a node which is not branched, cuts off no promising node in the searching process, and continuously updates the completion time of scheduling until all nodes are branched or the CPU time is more than the set maximum CPU time. The method does not need to spend time for parameter adjustment, can avoid repeated searching, and has high searching efficiency; since the scheme repeatedly selects nodes with small lower bounds from the top layer to the bottom layer for branching, a satisfactory solution can be given in a short time, and the more time is given, the higher the quality of the found solution is.

Description

Rapid deadlock-free branch-bound scheduling method for flexible manufacturing system
Technical Field
The invention relates to the field of flexible manufacturing, in particular to a branch and bound scheduling method.
Background
Flexible manufacturing systems are widely used in industrial processes such as semiconductor manufacturing, mail systems, eyewear production, and the like. Due to the presence of shared resources in a flexible manufacturing system, system deadlocks may result when a workpiece requests a shared resource. Once the deadlock occurs, the system is in a halt and cannot complete the processing task, which causes economic loss and serious consequences. Scheduling is the basis for ensuring the performance of the system. The deadlock-free scheduling method not only ensures that the system is deadlock-free, but also ensures the operation performance of the system. Therefore, it is more complicated than the deadlock free control problem of the system. Recently, the problem of deadlock free scheduling of flexible manufacturing systems has received a great deal of attention from researchers. Xing et al, described in document [ 3 ] (k.y.xing, l.b.han, m.c.zhou, and f.wang, "delay-free genetic scheduling algorithm for automated manufacturing systems based Deadlock control policy," IEEE trans.syst., Man, cybern., B, cybern., vol.42, pp.603-615, jun.2012.) integrate Deadlock avoidance strategies into genetic algorithms, propose a Deadlock free genetic scheduling algorithm, and propose a detection algorithm of chromosomes and a repair algorithm for repairing non-viable chromosomes to viable chromosomes. Luo et al in document [1 ] (J.C.Luo, K.Y.Xing, M.C.ZHou, X.L.Li, and X.N.Wang, "delay-free scheduling of automated manufacturing systems using Petri nets and dhybrid statistical search," IEEE trans.Syst., Man, Cybern. To narrow the search space, they constrain the search process to a dynamic window. In document [ 4 ] (O.T. Baruwa, M.A. Piera, and A.Guasch, "Deadlock-free scheduling method for flexible manufacturing systems based on timed coordinated Petri nets and analytical search," IEEE trans. Syst., Man, Cybern., Syst., vol.45, No.5, pp.831-846, May.2015.), Baruwa et al model the system using colored Petri nets, a hierarchical search algorithm was proposed. The result shows the effectiveness of the algorithm through the test of the standard case. In document [ 2 ] (x.n.wang, k.y.xing, x.l.li, and j.clu, "analysis of distribution algorithm for scheduling protocol of flexible manufacturing systems using Petri nets," application.math.model., vol.55, pp.776-788, ma.2018.), Wang et al propose a system-based Petri deadlock net model, without distributed estimation scheduling algorithm. By embedding the local search algorithm into the distributed estimation algorithm, the search capability of the algorithm is improved.
The current prior art has the following disadvantages:
1) the parameter adjustment is difficult, the scheduling performance depends on the parameter adjustment, and the parameter setting is too much and irregular, so that the parameter adjustment is difficult;
2) the searching efficiency is low, random searching is taken as the main point, and good scheduling still cannot be obtained within a long searching time.
Disclosure of Invention
In order to overcome the defects of the prior art, the invention provides a quick deadlock-free branch-and-bound scheduling method of a flexible manufacturing system. Firstly, a lower bound of the completion time of the nodes is established based on the reachable graph of the system so as to evaluate the quality of the nodes. And secondly, selecting a branch node according to the level of the node and the lower bound of the node, and obtaining the level of the next selected node. Thirdly, according to the lower bound and the level of the nodes, a pruning rule is established, and repeated searching is avoided. Fourthly, the optimal deadlock avoidance strategy is embedded into the searching process, and the fast deadlock-free branch delimiting method is established. The invention enables fast obtaining of better scheduling than the most advanced methods available.
The technical scheme adopted for solving the technical problems comprises the following specific steps:
step 1: flexible manufacturing system modeling
Step 1.1Petri Net preparation knowledge
The Petri Net is a directed bipartite graph comprising vertices of two types, location (place) and transition (transition), where locations are represented by circles, transitions are represented by rectangles or thick solid lines, locations and transitions are connected by directed arcs,
Figure BDA0002523598990000021
a set of non-negative integers is represented,
Figure BDA0002523598990000022
a set of positive integers is represented that,
Figure BDA0002523598990000023
represents a set of positive integers {1, 2.., k }; the Petri net is specifically defined as follows:
a Petri net is a 3-tuple of N ═ (P, T, F), where P is the set of locations, T is the set of transitions,
Figure BDA0002523598990000024
Figure BDA0002523598990000025
for directed arc sets, P and T are finite disjoint non-empty sets, i.e.
Figure BDA0002523598990000026
In the Petri net N ═ (P, T, F), a vertex x ∈ P ∪ T is given, and·x ═ y ∈ P ∪ T | (y, x) ∈ F } and x·Y ∈ P ∪ T | (x, y) ∈ F represents a preamble set (preset) and a postset (postset) of x, respectively;
in a Petri net N ═ (P, T, F), a path (path) is a sequence α ═ x composed of adjacent vertices1,x2,...,xkWherein x isi∈P∪T,(xi,xi+1)∈F,i∈Zk-1
The state or identity (marking) of a Petri net N ═ P, T, F is a mapping M: P → Z from a set of positions to a set of non-negative integers*For position P ∈ P and marker M, M (P) represents the number of tokens in position P under marker M, the number of tokens in position being represented by a black dot number or a positive integer, with initial marker M0The Petri net N is called an identification Petri net and is marked as (N, M)0);
The identification is represented by a vector, i.e. M ═ M (p)1),M(p2),...,M(p|P|))TFor brevity, ∑p∈PM (p) p represents the identifier M;
given a Petri net N ═ (P, T, F), T ∈ T is a transition in N, M is an identification in N, if
Figure BDA0002523598990000031
Figure BDA0002523598990000032
M(p)>0, then the transition t is called enabled (enabled) under the identifier M, and is recorded as M [ t >; triggering a (fire) transition t under the identity M causes the system to transition from the identity M to the identity M ', denoted M [ t > M', where,
Figure BDA0002523598990000033
M′(p)=M(p)-1;
Figure BDA0002523598990000034
m' (p) ═ M (p) + 1; otherwise, M' (p) ═ M (p); given a controller Δ, let M [ t, Δ > denote that initiating an enable transition t at an identification M is permitted by the controller Δ, enabling for a transition sequence τ t1t2...tk,ti∈T,i∈ZkIf M isi[ti>Mi+1Wherein M is1Let τ be feasible under M (feasible);
(N1,M10)=(P1,T1,F1,M10) And (N)2,M20)=(P2,T2,F2,M20) Is two labeled Petri nets, if
Figure BDA0002523598990000035
M10(p)=M20(p) is called (N)1,M10) And (N)2,M20) Is compatible; two compatible labeled Petri nets (N)1,M10) And (N)2,M20) The composition (composition) of (A) is a new identification Petri net
Figure BDA00025235989900000319
Figure BDA0002523598990000036
Wherein P ═ P1∪P2;T=T1∪T2;F=F1∪F2
Figure BDA0002523598990000037
M0(p)=M10(p),
Figure BDA0002523598990000038
M0(p)=M20(p);
For the logo Petri Net (N, M)0)=(P,T,F,M0) Let B (N, M)0)=(V, E) represents (N, M)0) Wherein V is (N, M)0) E is a set of directed edges between nodes; a node consists of a transition sequence; let v1And v2Respectively indicates that two nodes satisfy M0[v1>M1And M0[v2>M2If T ∈ T is present, so that M1[t>M2Then there is a slave v1To v1Directed arc of, in a branch tree, node v1Is of depth | v1L +1, where v1| represents v1The number of medium transitions; all nodes at the same depth form a search layer, and the layer with the largest depth is called a bottom layer (bottom level);
step 1.2 Flexible manufacturing System modeling based on position-timed (planned-timed) Petri Net
Assuming that the resource type and the workpiece type in the flexible manufacturing system are m and n, respectively, the resource set and the workpiece set are represented as m and n, respectively
Figure BDA0002523598990000039
And
Figure BDA00025235989900000310
given resource ri∈ R, order
Figure BDA00025235989900000311
Indicates its initial resource amount, order
Figure BDA00025235989900000312
Indicating the resource instance set, initially the number of unprocessed u-th class artifacts is Ψu
An unprocessed workpiece is processed sequentially on a series of resources, the processing sequence of which is called a path, such that
Figure BDA00025235989900000313
Figure BDA00025235989900000314
Means all ofA set of machining paths, wherein the u-th class workpiece has a plurality of machining paths; order to
Figure BDA00025235989900000315
Set of machining paths representing class u workpieces, let LiDenotes thetaiNumber of medium resources, then thetaiIs shown as
Figure BDA00025235989900000316
Wherein
Figure BDA00025235989900000317
Is thetaiThe j-th resource in (c); let aijIndicates a certain value at thetaiJ-th movement of the workpiece to be machined, thetaiCorresponding to a sequence of activities, i.e.
Figure BDA00025235989900000318
Resource rk∈ R is requested by multiple activities
Figure BDA0002523598990000041
Indicates all requests rkThe activity of (2); for thetauTwo paths θ in (b)iAnd thetajIf, if
Figure BDA0002523598990000042
Then activity aikAnd ajkAre the same; for the sake of simplicity, aikAnd ajkAre combined into one activity, the set of all activities is represented as
Figure BDA0002523598990000043
Given aij∈A(rk) Let path tijpijti(j+1)Representing its Petri Net model, where tijDenotes aijStart of) operation, ti(j+1)Denotes aijIs performed by pijDenotes aijThe active position of (a); resource rk∈ R resource location RkIs represented bykThe initial token number of CkAdding two arcs, one from rkTo tijRepresenting a request rkThe other one from ti(j+1)To rkRepresents the release of rkLet OPNijDenotes aijThe Petri Net model of (1);
for class u workpieces, two imaginary active positions p are addedu◇And pu◆Respectively representing the start and end of the motion of the u-th workpiece, for thetai∈ΘuAdding two arcs, one from pu◇To ti1And the other is from
Figure BDA00025235989900000418
To pu◆The overall flexible manufacturing system is modeled as:
Figure BDA0002523598990000044
wherein P is a set of active positions;
Figure BDA0002523598990000045
Figure BDA0002523598990000046
is a resource location set; t is a transition set; f is a set of arcs, M0Is an initial mark and is expressed as
Figure BDA0002523598990000047
M0(pu◇)=Ψu
Figure BDA0002523598990000048
Figure BDA0002523598990000049
M0(p)=0;
Figure BDA00025235989900000410
M0(ri)=Ci
For P ∈ P, let
Figure BDA00025235989900000411
Representing the processing time of the activity associated therewith, for
Figure BDA00025235989900000412
d (p) ═ 0, the Petri network with position assignment is called scheduling Petri network (PNS for short); let MfRepresents the termination identifier of N, wherein
Figure BDA00025235989900000413
Mf(pq◆)=Ψq
Figure BDA00025235989900000414
Mf(p)=0;
Figure BDA00025235989900000415
Figure BDA00025235989900000416
Mf(ri)=CiOne feasible schedule is a transition sequence of π and satisfies M0[π>MfLet S (N, M)0) Represents (N, M)0) A set of feasible schedules;
step 2: deadlock-free fast branch-and-bound scheduling algorithm
Based on a Petri network model of a system, a deadlock-free rapid branching and delimiting scheduling algorithm is provided, an optimal solution is searched in a branch tree of the system, the searching process is guided by a new branching strategy, the branching strategy overcomes the defects of breadth-first searching and depth-first searching, the lower bound of a node is provided for pruning nodes which are not promising, and in addition, two pruning rules are provided for avoiding repeated searching;
step 2.1, lower bound of the node;
let v equal t1t2...tqRepresents B (N, M)0) And M is one node in0[ v > M, [ tau (v) denotes tqInitiation time of l*(v)=min{τ(vv1)|v1∈{v2|M[v2>Mf}; if present
Figure BDA00025235989900000417
And l is less than or equal to l*(v) Then l is the lower bound of v; if the lower bound of node v is equal to l*(v) Then the lower bound is the maximum lower bound for v; l*(v) A minimum value equal to the maximum value of the completion time of the resource from M to complete the processing of all the remaining workpieces;
order to
Figure BDA0002523598990000051
Figure BDA0002523598990000052
Representing the first token or workpiece in p, assuming the workpiece
Figure BDA0002523598990000053
The time for entering p is tau (v)1) Then, at time τ (v),
Figure BDA0002523598990000054
the remaining time in p is
Figure BDA0002523598990000055
Figure BDA0002523598990000056
A path is said to be a machining path if all positions in the path are active, given that P '∈ P (P' ≠ P) satisfies the existence of a machining path ω ═ pt1p1t2…pk-1tkpk(pkP'), order
Figure BDA0002523598990000057
Figure BDA0002523598990000058
{ D (ω) | ω is the processing path from p to p';
given T ∈ T, let(a)table with t ═ pAn input active position showing t, ζ (t, v) representing the fastest time to complete the workpiece from τ (v) in position p; if M (p) is not less than 1
Figure BDA0002523598990000059
If M (p) is 0, let
Figure BDA00025235989900000510
Machining path
Figure BDA00025235989900000511
And is
Figure BDA00025235989900000512
Figure BDA00025235989900000513
If it is not
Figure BDA00025235989900000514
Then
Figure BDA00025235989900000515
Figure BDA00025235989900000516
If not, let ξ (r ∞)iV) denotes r starting from τ (v)iThe fastest time to request, ξ (r)i,v)=min{ζ(t,v)|t∈ri ·};
Given rik∈ΞiLet I (r)ikV) denotes that r is scheduled from τ (v) to the next activityikR betweenikA minimum idle time of; if r isikIs idle at τ (v), then I (r)ik,v)=ξ(riV) - τ (v); otherwise
Figure BDA00025235989900000517
Figure BDA00025235989900000518
Wherein
Figure BDA00025235989900000519
Is being represented by r at τ (v) in qikJ-th activity of processing; let gamma (r)ikV) indicates that the next activity is scheduled at rikAt the earliest time of (i), then gamma (r)ik,v)=τ(v)+I(rik,v)+χ(rikV), wherein if rikAt τ (v) is idle, then χ (r)ikV) is 0; if at time r (v)ikIs being processed
Figure BDA00025235989900000520
Then
Figure BDA00025235989900000521
Figure BDA00025235989900000522
The path selection scheme assigns a processing path to each unfinished workpiece; let S (v) ═ s1,s2,...,shDenotes from M to MfGiven s ∈ S (v), let A (s, r)i) Indicating routing to r by the routing schemeiGiven activity ajk∈A(s,ri) Let p (a)jk) Indicates its active position, order
Figure BDA00025235989900000523
Figure BDA00025235989900000524
Xi when representing path selection scheme as siMinimum average processing time for medium resource instances;
definition 1: given B (N, M)0) Node v in (1), define
Figure BDA00025235989900000525
Theorem 1: given B (N, M)0) Is connected to the node v in (1),
Figure BDA00025235989900000526
lower bound of completion time of v, i.e.
Figure BDA00025235989900000527
Step 2.2 defining branching strategies
Let d denote the depth of the current search level, d denotes the maximum depth of the search tree, at the search level d, the branching policy preferentially selects the node with the smallest lower bound, if there is no node that is not branched at the search level d or d ═ d, then set d ═ d + 1)% d, and reselect the node; stopping selecting a node if all depths are searched and no nodes not branched are selected; otherwise, one node not branched is selected, d ═ d + 1)% d is set, and the node is reselected;
the branching of the selected node v is directed by the deadlock controller, assuming M0[ v > M, only transitions enabled under M and allowed by the controller can initiate and produce new unbranched nodes; vector quantity
Figure BDA0002523598990000061
And
Figure BDA0002523598990000062
are used to store branched and unbranched nodes respectively,
Figure BDA0002523598990000063
and
Figure BDA0002523598990000064
for storing lists of nodes at depth i that are branched and unbranched, respectively; the steps of the branching strategy are as follows:
inputting: depth d of the current search layer;
and (3) outputting: flag, d, v and list, wherein, flag true represents that a node which is not branched is selected, and flag false represents that a node which is not branched is selected; v is the selected non-branched node; list is used for storing newly generated nodes which are not branched;
initialization: d1=d,
Figure BDA0002523598990000065
flag=true,v=v0Wherein v is0Is an empty transition sequence;
step 2.2.1: when d is1D ═ or
Figure BDA0002523598990000066
When the collection is empty, the circulation of the steps 2.2.1.1 and 2.2.1.2 is carried out, and the following steps are specifically carried out:
step 2.2.1.1: let d1Is (d)1+1)%d*;
Step 2.2.1.2: if d is1If d is equal, the flag is made false, and the loop is ended, otherwise, the step 2.2.1 is skipped;
step 2.2.2: if flag is true, then:
step 2.2.2.1: from
Figure BDA0002523598990000067
In selection
Figure BDA0002523598990000068
Minimum node v1
Step 2.2.2.2: v is to be1From
Figure BDA0002523598990000069
Removing;
step 2.2.2.3: let M0[v1> M, let e (M) { T ∈ T | M [ T, PCF >);
step 2.2.2.4 for any change t ∈ E (M) { v1t } adding to list;
step 2.2.2.5: let v equal v1Where v is the selected unbranched node;
step 2.2.2.6: let d be (d)1+1)%d*;
Step 2.2.3: returning flag, d, v and list;
step 2.3 definition of pruning rules
Once one isAn unbranched node is selected and branched to be inserted into
Figure BDA00025235989900000610
In the method, a new node generated by a branch is inserted into
Figure BDA0002523598990000071
In the method, two pruning rules are proposed, which are respectively applied to inserting nodes into the tree
Figure BDA0002523598990000072
And
Figure BDA0002523598990000073
in the process of (2):
pruning rule 1
Inputting: a branched node v;
initialization: let M0[v>M;d=|v|+1;
Step A-1: if present
Figure BDA0002523598990000074
So that M0[v1If the value is more than M, executing the step A-1.1, otherwise executing the step A-2;
step A-1.1: if it is not
Figure BDA0002523598990000075
Then order
Figure BDA0002523598990000076
Is composed of
Figure BDA0002523598990000077
Finishing;
step A-2: order to
Figure BDA0002523598990000078
Is composed of
Figure BDA0002523598990000079
Pruning rule 2
Inputting: a newly generated unbranched node v;
initialization: let M0[v>M;d=|v|+1;
Step B-1: if present
Figure BDA00025235989900000710
So that M0[v1If the value is more than M, executing a step B-1.1, otherwise executing a step B-2;
step B-1.1: if it is not
Figure BDA00025235989900000711
Then order
Figure BDA00025235989900000712
Is composed of
Figure BDA00025235989900000713
Finishing;
step B-2: if present
Figure BDA00025235989900000714
So that M0[v1If the value is more than M, executing a step B-2.1, otherwise executing a step B-3;
step B-2.1: if it is not
Figure BDA00025235989900000715
Then order
Figure BDA00025235989900000716
Is composed of
Figure BDA00025235989900000717
Order to
Figure BDA00025235989900000718
Is composed of
Figure BDA00025235989900000719
Finishing;
step B-3: order to
Figure BDA00025235989900000720
Is composed of
Figure BDA00025235989900000721
Step 2.4, a deadlock-free rapid branching and delimiting algorithm;
deadlock free fast Branch bounding method (Anytime Branch and Bound, hereinafter referred to as AB&B) Is a search algorithm for searching the optimal schedule in the branch tree of PNS
Figure BDA00025235989900000722
Indicating the current best solution completion time. Given an unbranched node v, if
Figure BDA00025235989900000723
Then v is an unprivileged (unprivising) node because branch v cannot get a better solution than the current best solution. During the searching process, nodes which are not promising can be cut off;
at the beginning of the process, the process is carried out,
Figure BDA00025235989900000724
using a branching strategy, a node is selected and branching is performed under the supervision of PCF, and the selected node is inserted under the supervision of a pruning strategy 1
Figure BDA00025235989900000725
Under supervision of pruning strategy 2, newly generated nodes are inserted into
Figure BDA00025235989900000726
If a completion time is found to be less than
Figure BDA00025235989900000727
Will then
Figure BDA00025235989900000728
Updated as the completion time of the schedule, once
Figure BDA00025235989900000729
Is updated at
Figure BDA00025235989900000730
Middle lower bound is greater than or equal to
Figure BDA00025235989900000731
The nodes are pruned, and the process is carried out until all the nodes are branched or the CPU time is more than the set maximum CPU time; the detailed steps of the deadlock-free fast branch-and-bound algorithm are as follows:
inputting: maximum CPU time
Figure BDA0002523598990000088
And (3) outputting: current best schedule v;
initialization:
Figure BDA0002523598990000081
wherein v is0Is an empty transition sequence;
order to
Figure BDA0002523598990000082
Let v be v0(ii) a Let the current search layer depth d be 1;
step 2.4.1: if the CPU
Figure BDA0002523598990000089
Circularly executing the steps 2.4.1.1-2.4.1.9, otherwise, jumping to the step 2.4.2;
step 2.4.1.1: let the input of the branching strategy be d, and execute the branching strategy, let the result of the branching strategy output be (flag, d, v, list);
step 2.4.1.2: if flag is false, jumping to step 2.4.2;
step 2.4.1.3: let the input of pruning rule 1 be v, execute pruning rule 1;
step 2.4.1.4: for all v1∈ list, circularly executing the step 2.4.1.5-2.4.1.8;
step 2.4.1.5: let the input of pruning rule 2 be v1Executing pruning rule 2;
step 2.4.1.6: if | v1And | +1 ═ d-
Figure BDA0002523598990000083
Then steps 2.4.1.7 and 2.4.1.8 are performed, otherwise go to step 2.4.1.4;
step 2.4.1.7: order to
Figure BDA0002523598990000084
Is tau (v)1) (ii) a Let v be v1
Step 2.4.1.8: from
Figure BDA0002523598990000085
Deletion in
Figure BDA0002523598990000086
And satisfy
Figure BDA0002523598990000087
All v of2
Step 2.4.1.9: skipping to step 2.4.1;
step 2.4.2: v is returned.
The invention has the beneficial effects that:
(1) because the deadlock-free branch delimitation method only comprises one parameter (the maximum CPU time) and the maximum CPU time can be set according to the actual requirement, the scheme does not need to spend time for parameter adjustment;
(2) the method only keeps the node with the minimum lower bound in the nodes with the same identification reached by the system, so the scheme can avoid repeated searching. In addition, the scheme replaces random search with regular search, so that the method has high search efficiency;
(3) since the scheme repeatedly selects nodes with small lower bounds from the top layer to the bottom layer for branching, a satisfactory solution can be given in a short time, and the more time is given, the higher the quality of the found solution is.
Drawings
FIG. 1 is a PNS model of the flexible manufacturing system of the present invention.
FIG. 2 is a graph of node mean lower bound and
Figure BDA0002523598990000091
the difference of (a).
Detailed Description
The invention is further illustrated with reference to the following figures and examples.
The innovation points of the invention are as follows:
(1) the deadlock-free branch delimitation method only comprising one parameter (maximum CPU time) is provided, when the allowable time is shorter, a satisfactory solution can be obtained, and when more time is given, a better solution can be obtained;
(2) the lower bound of the completion time of the search node is provided, the nodes with small lower bound of the node are preferentially selected to branch in the same search layer, and the random search is replaced by the regular search;
(3) a new branching strategy is provided, and nodes with small lower bound are repeatedly selected from the top layer to the bottom layer for branching, so that a large amount of time is avoided from spending in some poor search areas;
(4) and (3) a pruning rule is provided, and only the node with the minimum lower bound in the nodes with the same identification is kept, so that repeated searching is avoided, and the searching efficiency of the algorithm is improved.
The method comprises the following steps:
step 1: flexible manufacturing system modeling
Step 1.1Petri Net preparation
The Petri Net is a directed bipartite graph comprising vertices of two types, location (place) and transition (transition), where locations are represented by circles, transitions are represented by rectangles or thick solid lines, locations and transitions are connected by directed arcs,
Figure BDA0002523598990000092
a set of non-negative integers is represented,
Figure BDA0002523598990000093
a set of positive integers is represented that,
Figure BDA0002523598990000094
represents a set of positive integers {1, 2.., k }; the Petri net is specifically defined as follows:
a Petri net is a 3-tuple of N ═ (P, T, F), where P is the set of locations, T is the set of transitions,
Figure BDA0002523598990000095
Figure BDA0002523598990000097
for directed arc sets, P and T are finite disjoint non-empty sets, i.e.
Figure BDA0002523598990000096
In the Petri net N ═ (P, T, F), a vertex x ∈ P ∪ T is given, and·x ═ y ∈ P ∪ T | (y, x) ∈ F } and x·Y ∈ P ∪ T | (x, y) ∈ F represents a preamble set (preset) and a postset (postset) of x, respectively;
in a Petri net N ═ (P, T, F), a path (path) is a sequence α ═ x composed of adjacent vertices1,x2,...,xkWherein x isi∈P∪T,(xi,xi+1)∈F,i∈Zk-1
The state or identity (marking) of a Petri net N ═ P, T, F is a mapping M: P → Z from a set of positions to a set of non-negative integers*For position P ∈ P and marker M, M (P) represents the number of tokens in position P under marker M, the number of tokens in position being represented by a black dot number or a positive integer, with initial marker M0The Petri net N is called an identification Petri net and is marked as (N, M)0);
The identification is represented by a vector, i.e. M ═ M (p)1),M(p2),...,M(p|P|))TFor brevity, ∑p∈PM (p) p represents the identifier M; for example, P ═ { P ═ P1,p2,...,p6When M is (0,1,0,0,0,2), the symbol M is denoted as p2+2p6
Given a Petri net N ═ (P, T, F), T ∈ T is a transition in N, M is an identification in N, if
Figure BDA0002523598990000101
Figure BDA0002523598990000102
M(p)>0, then the transition t is said to be enabled under the M identifier, denoted as M [ t>(ii) a Triggering a (fire) transition t under the identity M will cause the system to transition from the identity M to the identity M', denoted as M [ t ]>M', wherein,
Figure BDA0002523598990000103
M′(p)=M(p)-1;
Figure BDA0002523598990000104
m' (p) ═ M (p) + 1; otherwise, M' (p) ═ M (p); given a controller Δ, let M [ t, Δ > denote that initiating an enable transition t at an identification M is permitted by the controller Δ, enabling for a transition sequence τ t1t2...tk,ti∈T,i∈ZkIf M isi[ti>Mi+1Wherein M is1Let τ be feasible under M (feasible);
(N1,M10)=(P1,T1,F1,M10) And (N)2,M20)=(P2,T2,F2,M20) Is two labeled Petri nets, if
Figure BDA0002523598990000105
M10(p)=M20(p) is called (N)1,M10) And (N)2,M20) Is compatible; two compatible labeled Petri nets (N)1,M10) And (N)2,M20) The composition (composition) of (A) is a new identification Petri net
Figure BDA00025235989900001016
Figure BDA0002523598990000106
Wherein P ═ P1∪P2;T=T1∪T2;F=F1∪F2
Figure BDA0002523598990000107
M0(p)=M10(p),
Figure BDA0002523598990000108
M0(p)=M20(p);
For the logo Petri Net (N, M)0)=(P,T,F,M0) Let B (N, M)0) (V, E) represents (N, M)0) Wherein V is (N, M)0) E is a set of directed edges between nodes; a node consists of a transition sequence; let v1And v2Respectively indicates that two nodes satisfy M0[v1>M1And M0[v2>M2If T ∈ T is present, so that M1[t>M2Then there is a slave v1To v1Directed arc of, in a branch tree, node v1Is of depth | v1L +1, where v1| represents v1The number of medium transitions; all nodes at the same depth form a search layer, and the layer with the largest depth is called a bottom layer (bottomlevel);
step 1.2 Flexible manufacturing System modeling based on position-timed (planned-timed) Petri Net
The Petri Net model of the flexible manufacturing system consists of the processing path of the workpiece, and can also consist of Petri Net models of all activities/operations. Assuming that the resource type and the workpiece type in the flexible manufacturing system are m and n, respectively, the resource set and the workpiece set are represented as m and n, respectively
Figure BDA0002523598990000109
And
Figure BDA00025235989900001010
given resource ri∈ R, order
Figure BDA00025235989900001011
Indicates its initial resource amount, order
Figure BDA00025235989900001012
Indicating the resource instance set, initially the number of unprocessed u-th class artifacts is Ψu
An unprocessed workpiece is processed sequentially on a series of resources, the processing sequence of which is called a path, such that
Figure BDA00025235989900001013
Figure BDA00025235989900001014
Representing a set of all machining paths, wherein the u-th workpiece has a plurality of machining paths; order to
Figure BDA00025235989900001015
Set of machining paths representing class u workpieces, let LiDenotes thetaiNumber of medium resources, then thetaiIs shown as
Figure BDA0002523598990000111
Wherein
Figure BDA0002523598990000112
Is thetaiThe j-th resource in (c); let aijIndicates a certain value at thetaiJ-th movement of the workpiece to be machined, thetaiCorresponding to a sequence of activities, i.e.
Figure BDA0002523598990000113
Resource rk∈ R is requested by multiple activities
Figure BDA0002523598990000114
Indicates all requests rkThe activity of (2); for thetauTwo paths θ in (b)iAnd thetajIf, if
Figure BDA0002523598990000115
Then activity aikAnd ajkAre the same; for the sake of simplicity, aikAnd ajkAre combined into one activity, the set of all activities is represented as
Figure BDA0002523598990000116
Given aij∈A(rk) Let path tijpijti(j+1)Representing its Petri Net model, where tijDenotes aijStart of) operation, ti(j+1)Denotes aijIs performed by pijDenotes aijThe active position of (a); resource rk∈ R resource location RkIs represented bykThe initial token number of CkAdding two arcs, one from rkTo tijRepresenting a request rkThe other one from ti(j+1)To rkRepresents the release of rkLet OPNijDenotes aijThe Petri Net model of (1);
for class u workpieces, two imaginary active positions p are addedu◇And pu◆Respectively representing the start and end of the motion of the u-th workpiece, for thetai∈ΘuAdding two arcs, one from pu◇To ti1And the other is from
Figure BDA0002523598990000117
To pu◆The overall flexible manufacturing system is modeled as:
Figure BDA0002523598990000118
wherein P is a set of active positions;
Figure BDA0002523598990000119
Figure BDA00025235989900001110
is a resource location set; t is transitionGathering; f is a set of arcs, M0Is an initial mark and is expressed as
Figure BDA00025235989900001111
M0(pu◇)=Ψu
Figure BDA00025235989900001112
Figure BDA00025235989900001113
M0(p)=0;
Figure BDA00025235989900001114
M0(ri)=Ci
For P ∈ P, let
Figure BDA00025235989900001115
Representing the processing time of the activity associated therewith, for
Figure BDA00025235989900001116
d (p) ═ 0, and such a place-assigned Petri net is called a scheduling Petri net (PNS for short); let MfRepresents the termination identifier of N, wherein
Figure BDA00025235989900001117
Mf(pq◆)=Ψq
Figure BDA00025235989900001118
Mf(p)=0;
Figure BDA00025235989900001119
Mf(ri)=CiOne feasible schedule is a transition sequence of π and satisfies M0[π>MfLet S (N, M)0) Represents (N, M)0) The object of the invention is to set up a feasible scheduling in S (N, M)0) Searching for a feasible schedule with the minimum completion time;
for example, consider a flexible manufacturing system developed in the literature [1, 2,3 ], the resource set of which is R ═ m1,m2,m3,m4,r1,r2,r3}, the system processes three types of workpieces, i.e.
Figure BDA00025235989900001120
Θ={θ1234In which θ1=r2m2r22=r1m1r2m2r3,θ3=r1m3r2m4r3,θ4=r3m4r2m3r1。Θ1={θ1},Θ2={θ23},Θ3={θ4}。A(r1)={a21,a45},A(r2)={a11,a13,a23,a33,a43},A(r3)={a25,a41},A(m1)={a22},A(m2)={a12,a24},A(m3)={a32,a44},A(m4)={a34,a42}. The Petri Net model of the system is shown in FIG. 1, with initial identification and processing time of the activity not given.
Step 2: deadlock-free fast branch-and-bound scheduling algorithm
A deadlock-free rapid branching and delimiting scheduling algorithm is provided based on a Petri network model of a system, and the algorithm searches an optimal solution in a branching tree of the system. The search process is guided by a new branching strategy that overcomes the shortcomings of breadth-first and depth-first searches. In order to prune off the nodes that are not promising, a lower bound of nodes is proposed. In addition, two pruning rules are proposed to avoid duplicate searches.
Step 2.1, lower bound of the node;
let v equal t1t2...tqRepresents B (N, M)0) One of (1)Node and M0[ v > M, [ tau (v) denotes tqInitiation time of l*(v)=min{τ(vv1)|v1∈{v2|M[v2>Mf}; if present
Figure BDA0002523598990000121
And l is less than or equal to l*(v) Then l is the lower bound of v. The larger the lower bound, the more pronounced the pruning effect. If the lower bound of node v is equal to l*(v) Then the lower bound is the maximum lower bound for v; l*(v) A minimum value equal to the maximum value of the completion time of the resource from M to complete the processing of all the remaining workpieces; to obtain a high quality (large) lower bound, the completion time of the resource must be accurately calculated. Since the resources are either in a processing state or an idle state, processing time and idle time of the resources need to be considered.
Order to
Figure BDA0002523598990000122
Figure BDA0002523598990000123
Representing the first token or workpiece in p, assuming the workpiece
Figure BDA0002523598990000124
The time for entering p is tau (v)1) Then, at time τ (v),
Figure BDA0002523598990000125
the remaining time in p is
Figure BDA0002523598990000126
Figure BDA0002523598990000127
A path is said to be a machining path if all positions in the path are active, given that P '∈ P (P' ≠ P) satisfies the existence of a machining path ω ═ pt1p1t2…pk-1tkpk(pk=p'),Order to
Figure BDA0002523598990000128
Figure BDA0002523598990000129
{ D (ω) | ω is the processing path from p to p';
given T ∈ T, let(a)t ═ p denotes the input active position of t, ζ (t, v) denotes the fastest time to complete the workpiece from τ (v) in position p; if M (p) is not less than 1
Figure BDA00025235989900001210
If M (p) is 0, let
Figure BDA00025235989900001211
Machining path
Figure BDA00025235989900001212
And is
Figure BDA00025235989900001213
Figure BDA00025235989900001214
If it is not
Figure BDA00025235989900001215
Then
Figure BDA00025235989900001216
Figure BDA00025235989900001217
If not, let ξ (r ∞)iV) denotes r starting from τ (v)iThe fastest time to request, ξ (r)i,v)=min{ζ(t,v)|t∈ri ·};
Given rik∈ΞiLet I (r)ikV) denotes that r is scheduled from τ (v) to the next activityikR betweenikA minimum idle time of; if r isikIs idle at τ (v), then I (r)ik,v)=ξ(riV) - τ (v); otherwise
Figure BDA00025235989900001218
Figure BDA00025235989900001219
Wherein
Figure BDA00025235989900001220
Is being represented by r at τ (v) in qikJ-th activity of processing; let gamma (r)ikV) indicates that the next activity is scheduled at rikAt the earliest time of (i), then gamma (r)ik,v)=τ(v)+I(rik,v)+χ(rikV), wherein if rikAt τ (v) is idle, then χ (r)ikV) is 0; if at time r (v)ikIs being processed
Figure BDA00025235989900001221
Then
Figure BDA00025235989900001222
Figure BDA0002523598990000131
The path selection scheme assigns a processing path to each unfinished workpiece; let S (v) ═ s1,s2,...,shDenotes from M to MfGiven s ∈ S (v), let A (s, r)i) Indicating routing to r by the routing schemeiGiven activity ajk∈A(s,ri) Let p (a)jk) Indicates its active position, order
Figure BDA0002523598990000132
Figure BDA0002523598990000133
Xi when representing path selection scheme as siMinimum average processing time for medium resource instances;
definition 1: given B (N, M)0) Node v in (1), define
Figure BDA0002523598990000134
Theorem 1: given B (N, M)0) Is connected to the node v in (1),
Figure BDA0002523598990000135
lower bound of completion time of v, i.e.
Figure BDA0002523598990000136
And (3) proving that: let r beij∈Ξi
Figure BDA00025235989900001315
d1(v,v*,rij)(d2(v,v*,rij) From τ (v) to τ (vv)*) R betweenijIdle time (machining time) of, then d1(v,v*,rij)+d2(v,v*,rij)=τ(vv*)-τ(v),
Figure BDA00025235989900001314
Hypothesis and v*The corresponding path selection scheme is s*Then, then
Figure BDA0002523598990000137
Figure BDA0002523598990000138
Due to the fact that
Figure BDA0002523598990000139
Figure BDA00025235989900001310
And is
Figure BDA00025235989900001311
Therefore, it is
Figure BDA00025235989900001312
Therefore, the temperature of the molten metal is controlled,
Figure BDA00025235989900001313
step 2.2 defining branching strategies
The branching strategy decides which node to select for branching and how to branch, and conventional methods such as breadth-first and depth-first can be applied to decide which node to select for branching, the number of nodes in the branching tree growing exponentially with the size of the scale of the problem. For a large scale problem, it is not possible to enumerate all nodes to solve the problem. Thus, the breadth first strategy is not suitable for large scale problems. The depth first strategy always finds the solution to the problem quickly. However, the depth-first strategy has two drawbacks. First, since it preferentially selects node branches with greater depth, it is likely to be at B (N, M)0) Takes a lot of time. Second, if B (N, M)0) The path of the medium optimal solution is longer, it may choose a much worse and long path before finding the optimal solution.
The invention provides a new branching strategy, which can quickly find the solution of the problem and overcome the defect of the depth priority strategy. Let d denote the depth of the current search level, d denotes the maximum depth of the search tree, at the search level d, the branching policy preferentially selects the node with the smallest lower bound, if there is no node that is not branched at the search level d or d ═ d, then set d ═ d + 1)% d, and reselect the node; stopping selecting a node if all depths are searched and no nodes not branched are selected; otherwise, one node not branched is selected, d ═ d + 1)% d is set, and the node is reselected; this strategy differs from the depth-first strategy in that it re-selects nodes from level 1 if d x level is reached, whereas the depth-first strategy restarts from level (d x-1). Such a difference makes it possible to overcome the two disadvantages of the depth-first strategy. A comparison of this strategy with the depth-first search strategy can be found in the next section.
The branching of the selected node v is directed by the deadlock controller, assuming M0[vOnly transitions enabled under M and allowed by the controller can initiate and produce new unbranched nodes. Due to PNS and S3PR structures are essentially identical, so in document [ 5 ] (J.Ezpeleta, J.M.Colom, and J.Martinez, "A Petri net based on derived delivery polarity for Flexible manufacturing systems," IEEETrans.Robot.Autom., vol.11, No.2, pp.173-184, Apr.1995.) and document [ 6 ] (L.Piroddi, R.Cordone, and I.Fumagalli, "Selective Synthesis for derived delivery in Petri," IEEE.Sy., Man, cybern., A, Syst, Humans, vol.38, 1347-pp.8, Nov.2008), for S3The deadlock control method of PR may be used for PNS. Since the controller in the document [ 6 ], denoted PCF (consisting of the initials of the last name of the author), is the most permissive in existence, PCF is embedded in the branching strategy to avoid deadlock. Vector quantity
Figure BDA0002523598990000141
And
Figure BDA0002523598990000142
are used to store the branched and unbranched nodes, respectively.
Figure BDA00025235989900001411
And
Figure BDA0002523598990000145
for storing a list of nodes at depth i that are branched and not branched, respectively. The steps of the complete branching strategy are as follows:
inputting: depth d of the current search layer;
and (3) outputting: flag, d, v, and list, where flag true (false) indicates that there are (or no) nodes that are not branched selected; v is the selected non-branched node; list is used for storing newly generated nodes which are not branched;
initialization: d1=d,
Figure BDA0002523598990000146
flag=true,v=v0Wherein v is0Is an empty transition sequence;
step 2.2.1: when d is1D ═ or
Figure BDA0002523598990000147
When the collection is empty, the circulation of the steps 2.2.1.1 and 2.2.1.2 is carried out, and the following steps are specifically carried out:
step 2.2.1.1: let d1Is (d)1+1)%d*;
Step 2.2.1.2: if d is1If d is equal, the flag is made false, and the loop is ended, otherwise, the step 2.2.1 is skipped;
step 2.2.2: if flag is true, then:
step 2.2.2.1: from
Figure BDA0002523598990000148
In selection
Figure BDA0002523598990000149
Minimum node v1
Step 2.2.2.2: v is to be1From
Figure BDA00025235989900001410
Removing;
step 2.2.2.3: let M0[v1> M, let e (M) { T ∈ T | M [ T, PCF >);
step 2.2.2.4 for any change t ∈ E (M) { v1t } adding to list;
step 2.2.2.5: let v equal v1Where v is the selected unbranched node;
step 2.2.2.6: let d be (d)1+1)%d*;
Step 2.2.3: returning flag, d, v and list;
step 2.3: defining pruning rules
Once an unbranched node is selected and branched, it is inserted into
Figure BDA0002523598990000151
In the method, a new node generated by a branch is inserted into
Figure BDA0002523598990000152
In (1). Because of the slave M0The sequence of transitions that trigger may arrive at the same identity, so two different nodes may correspond to the same identity. The search process from nodes corresponding to the same identity is identical. To avoid repeated searches, two pruning rules are proposed, one for each node inserted into the tree
Figure BDA0002523598990000153
And
Figure BDA0002523598990000154
in the process of (1).
Pruning rule 1:
inputting: a branched node v;
initialization: let M0[v>M;d=|v|+1;
Step A-1: if v is present1∈BdSo that M0[v1If the value is more than M, executing the step A-1.1, otherwise executing the step A-2;
step A-1.1: if it is not
Figure BDA0002523598990000155
Then order BdIs (B)d\{v1}) ∪ { v }, end;
step A-2: let BdIs Bd∪{v};
Pruning rule 2
Inputting: a newly generated unbranched node v;
initialization: let M0[v>M;d=|v|+1;
Step B-1: if v is present1B dSo that M0[v1If the value is more than M, executing a step B-1.1, otherwise executing a step B-2;
step B-1.1: if it is not
Figure BDA0002523598990000156
Then orderB dIs prepared from (a)B d\{v1}) ∪ { v }, end;
step B-2: if v is present1∈BdSo that M0[v1If the value is more than M, executing a step B-2.1, otherwise executing a step B-3;
step B-2.1: if it is not
Figure BDA0002523598990000157
Then orderB dIs B d ∪ { v }, let BdIs Bd\{v1And fourthly, ending;
step B-3: order toB dIs composed ofB d∪{v};
Step 2.4, a deadlock-free rapid branching and delimiting algorithm;
fast Branch and Bound algorithm (Anytime Branch and Bound, hereinafter referred to as AB)&B) Is a search algorithm for searching for the optimal schedule in the branch tree of the PNS. Order to
Figure BDA0002523598990000161
Represents the current best solution completion time, given an unbranched node v, if
Figure BDA0002523598990000162
Then v is an unprivileged (unprivising) node because branch v cannot get a better solution than the current best solution. During the search, no promising nodes may be pruned.
At the beginning of the process, the process is carried out,
Figure BDA0002523598990000163
using a branching policy, a node is selected and branches under the supervision of the PCF. Under supervision of pruning rule 1, the selected node is inserted into
Figure BDA0002523598990000164
In (1). Under supervision of pruning rule 2, newly generated nodes are inserted into
Figure BDA0002523598990000165
Performing the following steps; if a time-out less than
Figure BDA0002523598990000166
Will then
Figure BDA0002523598990000167
Updating the time as the completion time of the scheduling; once the cover is closed
Figure BDA0002523598990000168
Is updated at
Figure BDA0002523598990000169
Middle lower bound is greater than or equal to
Figure BDA00025235989900001610
The process continues until all nodes are branched or the CPU time is greater than the set maximum CPU time. The detailed steps of the deadlock-free fast branch-and-bound algorithm are as follows:
inputting: maximum CPU time
Figure BDA00025235989900001614
And (3) outputting: current best schedule v;
initialization:B 1={v0in which v is0Is an empty transition sequence;
order to
Figure BDA00025235989900001615
Let v be v0(ii) a Let the current search layer depth d be 1;
step 2.4.1: if the CPU
Figure BDA00025235989900001616
Circularly executing the steps 2.4.1.1-2.4.1.9, otherwise, jumping to the step 2.4.2;
step 2.4.1.1: let the input of the branching strategy be d, and execute the branching strategy, let the result of the branching strategy output be (flag, d, v, list);
step 2.4.1.2: if flag is false, jumping to step 2.4.2;
step 2.4.1.3: let the input of pruning rule 1 be v, execute pruning rule 1;
step 2.4.1.4: for all v1∈ list, circularly executing the step 2.4.1.5-2.4.1.8;
step 2.4.1.5: let the input of pruning rule 2 be v1Executing pruning rule 2;
step 2.4.1.6: if | v1And | +1 ═ d-
Figure BDA00025235989900001611
Then steps 2.4.1.7 and 2.4.1.8 are performed, otherwise go to step 2.4.1.4;
step 2.4.1.7: order to
Figure BDA00025235989900001612
Is tau (v)1) (ii) a Let v be v1
Step 2.4.1.8: fromBDeletion of v2BAnd satisfy
Figure BDA00025235989900001613
All v of2
Step 2.4.1.9: skipping to step 2.4.1;
step 2.4.2: v is returned.
Theorem 2: AB & B can generate a first schedule in polynomial time;
and (3) proving that: the PCF prohibits the initiation of transitions that cause deadlocks and all nodes are generated under the supervision of the PCF. This ensures that all slaves M0The identity of the arrival of the transition sequence in the originating node is secure. That is, for any one generated tag unless it is MfThere is at least one transition that can be initiated.
At the beginning of the process, the process is carried out,
Figure BDA0002523598990000171
when d is 1, the branching strategy selects v0Under the supervision of PCF, the branch generates all son nodes thereof to be stored in list, and v is set as v ═ v0And d is 2. Since there is at least one transition from M under the supervision of PCF0Is initiated so that
Figure BDA0002523598990000172
Because of the fact that
Figure BDA0002523598990000173
And
Figure BDA0002523598990000174
is empty, so v is inserted under the supervision of pruning rule 1
Figure BDA0002523598990000175
And all nodes in list are inserted under the supervision of pruning rule 2
Figure BDA0002523598990000176
In (1). At d ═ 2, the branching strategy is selected from
Figure BDA0002523598990000177
In (b) selection v1Under the supervision of PCF, the branch generates all son nodes thereof to be stored in list, and v is set as v ═ v1And d is 3. Let M0[v1>M1. Since there is at least one transition under the supervision of the PCF, the slave M can be used1Is initiated so that
Figure BDA0002523598990000178
Because of the fact that
Figure BDA0002523598990000179
And
Figure BDA00025235989900001710
is empty, so v is under the supervision of pruning rule 11Is inserted into
Figure BDA00025235989900001711
And all nodes in list are inserted under the supervision of pruning rule 2
Figure BDA00025235989900001712
In (1). This process can be repeated until d-1. In d-1, the branching strategy is selected from
Figure BDA00025235989900001713
In (b) selection v1Under the supervision of PCF, the branch generates all son nodes thereof to be stored in list, and v is set as v ═ v1And d is 0. Let M0[v1>M2. Since there is at least one transition under the supervision of the PCF, the slave M can be used2Is initiated so that
Figure BDA00025235989900001714
Because of the fact that
Figure BDA00025235989900001715
And
Figure BDA00025235989900001716
is empty, so v is inserted under the supervision of pruning rule 1
Figure BDA00025235989900001717
And all nodes in list are inserted under the supervision of pruning rule 2
Figure BDA00025235989900001718
In (1). Given v2∈ list, due to | v2|+1=d*,v2Is the first found schedule. Thus AB&B can obtain the first schedule at the (d x-1) th iteration. Each node has at most | T | child nodes. Thus, the complexity of the branching strategy is O (| T |). At each of the iterations it is desired to,
Figure BDA00025235989900001719
and
Figure BDA00025235989900001720
are all empty. Thus, the complexity of applying pruning rules 1 and 2 is both O (1). Thus, AB&B has a complexity of O (| T |, d |);
AB & B can quickly find the first solution. And it can quickly update the current best solution, giving a reasonably good solution in a short time. It can give a better solution if it is given more time.
The experimental results are as follows:
AB & B is realized by C + +, is compiled by MSbuild 4.0, and runs on a personal computer with 1.7-GHz CPU and 4GB memory. The operating system of the computer is Windows 7 professional edition. AB & B was tested by a widely used flexible manufacturing system whose Petri net model is shown in fig. 1. The processing time of the campaign is specified in table 1.
TABLE 1 processing time of the campaign
Figure BDA0002523598990000181
Test results of lower bound, branching strategy and pruning rules
The first experiment was aimed at testing the validity of the lower bound, branching strategy and pruning rules. Suppose the number of three types of workpieces is 8, 12, 8, m1-m4And r1-r3Are 2, 2, 2, 2, 1, for this example, d 8 × 4+12 × 6+8 × 6+1 153 for lower bound validity detection at CPU times of 2s, 5s, 10s, 20s, 50s, 100s, 200s, 500s, and 1000s,
Figure BDA0002523598990000182
the average lower bound of nodes with a medium depth of 10, 20, 30.., 150 is recorded. At the same time, at these moments
Figure BDA0002523598990000183
And is also recorded. The results are shown in Table 2, the average lower bound of the nodes and
Figure BDA0002523598990000184
the difference of (c) is shown in fig. 2. As can be seen from Table 2, as the depth increases, the average lower bound of the node becomes closer to
Figure BDA0002523598990000185
This indicates that the greater the depth, the more accurate the estimation of the lower bound of the node. It is worth mentioning that the number of nodes at depths 10 and 140 is 0 at CPU times of 100s, 200s, 500s, and 1000 s. This indicates that more and more nodes are at a relatively small depth ([1,10 ]]) And relatively large depth ([ d x-10, d x)]) Is pruned. As can be seen from FIG. 2, as the search progresses, the evaluation of the node is bounded by
Figure BDA0002523598990000186
The gap of (a) is getting smaller. This indicates that the proposed lower bound has a significant pruning effect on nodes that are not promising.
TABLE 2 average lower bound of nodes and
Figure BDA0002523598990000187
Figure BDA0002523598990000188
to test the effectiveness of the proposed branching strategy, the patent implements a depth-first strategy that is always on
Figure BDA0002523598990000189
And selecting the node with the maximum depth and the minimum lower bound for expansion. AB that will use this branching strategy&The B algorithm is represented as AB&B1. To test the effectiveness of the proposed pruning rules, this patent implements AB without using pruning rules 1 and 2&B Algorithm, denoted AB&B2。AB&B2Directly inserting all branched and non-branched nodes into the nodes respectively
Figure BDA0002523598990000191
And
Figure BDA0002523598990000192
in (1). Maximum run time of all algorithms
Figure BDA0002523598990000194
Is set to 1200 s. The results of the runs are shown in Table 3.AB&B will improve the completion time of the current best schedule (C)max) Spending 143.7s from 443 to 243. AB&B1It takes 190.5s to improve the currently best scheduled completion time from 443 to 363. AB&B2It takes 454.5s from 443 to 312 to improve the currently best scheduled completion time. Obviously, AB is the three algorithms&B is most efficient in searching. This indicates AB&The search efficiency of B has a great relationship with both branching strategies and pruning rules.
TABLE 3 scheduling results for AB & B, AB & B1 and AB & B2
Figure BDA0002523598990000193
Comparison with existing work
AB&B will be compared to all existing 6 methods, which are denoted M for the 6 algorithms respectively1(method of reference [ 2 ]), M2(method of reference [1 ]), M3(method of reference [ 4 ]), M4(method of reference [ 7 ]), M5(method of reference [ 8 ]) and M6(the method of document [ 9 ]), wherein document [ 7 ] is H.Lei, K.Y.Xing, Z.X.Gao, and F.L.Xiong, "A hybrid differential evaluation system" T.I.Meas.control, vol.38, No.10, pp.1270-1280,2016, document [ 8 ] is L.B.Han, K.Y.Xingn, X.Chen, and F.L.Xiong, "A hybrid differential evaluation system" 10, pp.1270-1280,2016, document [ 7 ] is L.B.Han, K.Y.Xingn, and F.L.Xiong, "A hybrid-based simulation evaluation system for scheduling analysis and analysis," L.F.F.Xingn. 1096,2018, and "L.Xingn.F.Gts and deadlocking controllers, "int.j.prod.res., vol.52, No.5, pp.1557-1572, oct.2014. the maximum run time of the setting algorithm is 1200 s. the testing is performed with 16 cases based on the criteria of fig. 1 in document [ 9 ]. in order to save space, the basic information of these standard cases is omitted, these cases are denoted as F1-16. for F16, the initial number of three types of workpieces is 20. therefore, for this example, d is 20 × 4+20 × 6+20 × 6+1 321. each node in the branching tree has at most 16 child nodes320(a rather bulky scale).
The results are shown in table 4, wherein other results are from documents [1, 2,4,7,8,9 ], respectively. In Table 4, BST represents the completion time of the current best solution, and AVG represents the average completion time of the current best solution found by multiple runs. AB&B all get the best solution better than the algorithm M2,M3And M6。AB&B finds the 12 current best solutions (in bold) of the 16 examples. For 3 of the remaining 4 examples, AB&The best solution found by B is better than M4
Importantly, AB&B is stable in performance, while M1,M2And M4-M6The performance of (c) is random. For 15 of 16 examples, AB&The completion time of the best solution found by B is much less than the average completion time of the best solutions obtained by running the algorithms several times. Furthermore, M1,M2And M4-M6Depends on the fine-tuning of at least 3 parameters, and AB&B contains only one parameter, the maximum CPU time, which usually does not need to be adjusted. When the maximum CPU time is tight, AB&B is able to output a feasible and satisfactory solution. If more time is allowed, AB&B can be better and better solved.
The initial number of three types of workpieces in cases F3, F7, F11, and F15 was 15, 20, and 25, respectively. The initial number of three types of workpieces in cases F4, F8, F12, and F16 was 20, 20, and 20, respectively. For all these cases, AB & B found the best solution better than all the methods available. This indicates that AB & B has the ability to find a good solution to large scale problems. The superior capabilities of AB & B are attributed to lower bounds, branching strategies and pruning rules.
TABLE 4 calculation results of AB & B and the existing 6 methods
Figure BDA0002523598990000201
TABLE 5 AB&B,M1,M3And M5Run the computer
Figure BDA0002523598990000211
TABLE 6 execution time of AB & B and existing algorithms
Figure BDA0002523598990000212
To find out if there is a difference between the best solutions found by these 7 algorithms, a parametric-free Friedman (Friedman) test was performed with a significance level of 0.05. The result of 90 indicates that AB&There are significant differences between B and these 6 algorithms. To be more specific, multiple comparisons were made at a significant level of 0.05 (described in [ 10 ] (M.Hollander and D.A.Wolfe, Nonparametric Statistical methods.New York: Wiley, 1973)), and the results indicated that AB was present at a significant level&B is significantly better than all existing algorithms. Furthermore, M1And M5Is obviously superior to M2-M4And M6
M4And M6Is not given in the document [ 9 ] and the document [ 7 ]. In the document [1 ], only M is given21900s and 178 s. Thus, only M1,M3And M5An execution time comparison is performed. The execution time of the algorithm is affected by the speed of the CPU and the size of the memory. Generally, the faster the CPU runs and the larger the memory, the shorter the time to run the algorithm. AB&B,M1,M3And M5The CPU and memory of the running computer of (a) are shown in table 5. It is clear that it is possible to use,AB&b runs the computer the slowest.
AB&B,M1,M3And M5Execution time of (2) is shown in Table 6, where M1,M3And M5The results are from documents [ 2,4,8 ], respectively. Note that only AB&B and M3The time taken to find the first schedule is given. From Table 6, AB&B to M3Finding the first schedule takes much less time. In addition, of the 16 examples, there are 12 examples AB&B takes the least time, there are 4 instances M3The time spent is minimal.
To find AB&B,M1,M3And M5Was tested at a significant level of 0.05 for a non-parametric friedman test. The results show that AB&B and M1,M3And M5There is a significant difference between the execution times of (c). To be more specific, we made multiple comparisons at a significance level of 0.05. The results show AB&B spends the least time in these 4 algorithms. Due to AB&B is the slowest of the 4 algorithms to run, so AB&B has the highest computational efficiency.
To summarize:
the invention provides a fast branch and bound algorithm (AB & B) for the first time aiming at a flexible manufacturing system easy to deadlock. AB & B searches the branch tree of the system for the best solution to the problem. In the searching process, the AB & B selects nodes which are not branched under the guidance of the proposed branching strategy, and the branching strategy enables the AB & B to quickly update the optimal solution. The branching of the nodes that are not branched is done under the supervision of an existing optimal control strategy. In the searching process, pruning is carried out according to the lower bound of the node, and repeated searching is avoided by using a pruning rule. The branching strategy and pruning rules together enable the AB & B to quickly find the optimal or near optimal solution. The test results on the standard case show that AB & B is significantly superior to all existing methods, and the superior performance of AB & B is due to the proposed lower bounds, branching strategies and pruning rules.
In summary, the present invention has the following advantages:
(1) a lower bound and two pruning rules are provided to prune nodes without future and avoid repeated searching;
(2) a new branching strategy is provided, so that deadlock can be avoided, and the algorithm can be enabled to quickly update the current optimal solution;
(3) a fast branch-and-bound algorithm with only one parameter is provided, which is superior to all existing deadlock-free scheduling algorithms for flexible manufacturing systems.

Claims (1)

1. A fast deadlock-free branch-and-bound scheduling method for a flexible manufacturing system is characterized by comprising the following steps:
step 1: flexible manufacturing system modeling
Step 1.1Petri Net preparation knowledge
The Petri net is a directed bipartite graph comprising vertices of two types, location (place) and transition (transition), where locations are represented by circles, transitions are represented by rectangles or thick solid lines, locations and transitions are connected by directed arcs,
Figure FDA0002523598980000011
a set of non-negative integers is represented,
Figure FDA0002523598980000012
a set of positive integers is represented that,
Figure FDA0002523598980000013
represents a set of positive integers {1, 2.., k }; the Petri net is specifically defined as follows:
a Petri net is a 3-tuple of N ═ (P, T, F), where P is the set of locations, T is the set of transitions,
Figure FDA0002523598980000014
Figure FDA0002523598980000015
for directed arc sets, P and T are finite disjointIs not empty, i.e.
Figure FDA0002523598980000016
In the Petri net N ═ (P, T, F), a vertex x ∈ P ∪ T is given, and·x ═ y ∈ P ∪ T | (y, x) ∈ F } and x·Y ∈ P ∪ T | (x, y) ∈ F represents a preamble set (preset) and a postset (postset) of x, respectively;
in a Petri net N ═ (P, T, F), a path (path) is a sequence α ═ x composed of adjacent vertices1,x2,...,xkWherein x isi∈P∪T,(xi,xi+1)∈F,i∈Zk-1
The state or identity (marking) of a Petri net N ═ P, T, F is a mapping M: P → Z from a set of positions to a set of non-negative integers*For position P ∈ P and marker M, M (P) represents the number of tokens in position P under marker M, the number of tokens in position being represented by a black dot number or a positive integer, with initial marker M0The Petri net N is called an identification Petri net and is marked as (N, M)0);
The identification is represented by a vector, i.e. M ═ M (p)1),M(p2),...,M(p|P|))TFor brevity, ∑p∈PM (p) p represents the identifier M;
given a Petri net N ═ (P, T, F), T ∈ T is a transition in N, M is an identification in N, if
Figure FDA0002523598980000017
Figure FDA0002523598980000018
M(p)>0, then the transition t is said to be enabled under the M identifier, denoted as M [ t>(ii) a Triggering a (fire) transition t under the identity M will cause the system to transition from the identity M to the identity M', denoted as M [ t ]>M', wherein,
Figure FDA0002523598980000019
M′(p)=M(p)-1;
Figure FDA00025235989800000110
m' (p) ═ M (p) + 1; otherwise, M' (p) ═ M (p); given a controller Δ, let M [ t, Δ > denote that initiating an enable transition t at an identification M is permitted by the controller Δ, enabling for a transition sequence τ t1t2...tk,ti∈T,i∈ZkIf M isi[ti>Mi+1Wherein M is1Let τ be feasible under M (feasible);
(N1,M10)=(P1,T1,F1,M10) And (N)2,M20)=(P2,T2,F2,M20) Is two labeled Petri nets, if
Figure FDA00025235989800000111
M10(p)=M20(p) is called (N)1,M10) And (N)2,M20) Is compatible; two compatible labeled Petri nets (N)1,M10) And (N)2,M20) The composition (composition) of (A) is a new identification Petri net
Figure FDA00025235989800000112
Figure FDA0002523598980000021
Wherein P ═ P1∪P2;T=T1∪T2;F=F1∪F2
Figure FDA0002523598980000022
M0(p)=M10(p),
Figure FDA0002523598980000023
M0(p)=M20(p);
For the logo Petri Net (N, M)0)=(P,T,F,M0) Let B (N, M)0) Is (V, E) represents(N,M0) Wherein V is (N, M)0) E is a set of directed edges between nodes; a node consists of a transition sequence; let v1And v2Respectively indicates that two nodes satisfy M0[v1>M1And M0[v2>M2If T ∈ T is present, so that M1[t>M2Then there is a slave v1To v1Directed arc of, in a branch tree, node v1Is of depth | v1L +1, where v1| represents v1The number of medium transitions; all nodes at the same depth form a search layer, and the layer with the largest depth is called a bottom layer (bottom level);
step 1.2 Flexible manufacturing System modeling based on position-timed (planned-timed) Petri Net
Assuming that the resource type and the workpiece type in the flexible manufacturing system are m and n, respectively, the resource set and the workpiece set are represented as m and n, respectively
Figure FDA0002523598980000024
And
Figure FDA0002523598980000025
given resource ri∈ R, order
Figure FDA0002523598980000026
Indicates its initial resource amount, order
Figure FDA0002523598980000027
Indicating the resource instance set, initially the number of unprocessed u-th class artifacts is Ψu
An unprocessed workpiece is processed sequentially on a series of resources, the processing sequence of which is called a path, such that
Figure FDA0002523598980000028
Figure FDA0002523598980000029
Representing a set of all machining paths, wherein the u-th workpiece has a plurality of machining paths; order to
Figure FDA00025235989800000210
Set of machining paths representing class u workpieces, let LiDenotes thetaiNumber of medium resources, then thetaiIs shown as
Figure FDA00025235989800000211
Wherein
Figure FDA00025235989800000212
Is thetaiThe j-th resource in (c); let aijIndicates a certain value at thetaiJ-th movement of the workpiece to be machined, thetaiCorresponding to a sequence of activities, i.e.
Figure FDA00025235989800000216
Resource rk∈ R is requested by multiple activities
Figure FDA00025235989800000213
Indicates all requests rkThe activity of (2); for thetauTwo paths θ in (b)iAnd thetajIf, if
Figure FDA00025235989800000214
Then activity aikAnd ajkAre the same; for the sake of simplicity, aikAnd ajkAre combined into one activity, the set of all activities is represented as
Figure FDA00025235989800000215
Given aij∈A(rk) Let path tijpijti(j+1)Representing its Petri Net model, where tijDenotes aijStart of) operation, ti(j+1)Denotes aijTo finishIn operation, pijDenotes aijThe active position of (a); resource rk∈ R resource location RkIs represented bykThe initial token number of CkAdding two arcs, one from rkTo tijRepresenting a request rkThe other one from ti(j+1)To rkRepresents the release of rkLet OPNijDenotes aijThe Petri Net model of (1);
for class u workpieces, two imaginary active positions p are addedu◇And pu◆Respectively representing the start and end of the motion of the u-th workpiece, for thetai∈ΘuAdding two arcs, one from pu◇To ti1Another one from ti(Li+1)To pu◆The overall flexible manufacturing system is modeled as:
Figure FDA0002523598980000031
wherein P is a set of active positions;
Figure FDA0002523598980000032
Figure FDA0002523598980000033
is a resource location set; t is a transition set; f is a set of arcs, M0Is an initial mark and is expressed as
Figure FDA0002523598980000034
M0(pu◇)=Ψu
Figure FDA0002523598980000035
Figure FDA0002523598980000036
M0(p)=0;
Figure FDA0002523598980000037
M0(ri)=Ci
For P ∈ P, let
Figure FDA0002523598980000038
Representing the processing time of the activity associated therewith, for
Figure FDA0002523598980000039
d (p) ═ 0, the Petri network with position assignment is called scheduling Petri network (PNS for short); let MfRepresents the termination identifier of N, wherein
Figure FDA00025235989800000310
Mf(pq◆)=Ψq
Figure FDA00025235989800000311
Mf(p)=0;
Figure FDA00025235989800000312
Figure FDA00025235989800000313
Mf(ri)=CiOne feasible schedule is a transition sequence of π and satisfies M0[π>MfLet S (N, M)0) Represents (N, M)0) A set of feasible schedules;
step 2: deadlock-free fast branch-and-bound scheduling algorithm
Based on a Petri network model of a system, a deadlock-free rapid branching and delimiting scheduling algorithm is provided, an optimal solution is searched in a branch tree of the system, the searching process is guided by a new branching strategy, the branching strategy overcomes the defects of breadth-first searching and depth-first searching, the lower bound of a node is provided for pruning nodes which are not promising, and in addition, two pruning rules are provided for avoiding repeated searching;
step 2.1, lower bound of the node;
let v equal t1t2...tqRepresents B (N, M)0) And M is one node in0[ v > M, [ tau (v) denotes tqInitiation time of l*(v)=min{τ(vv1)|v1∈{v2|M[v2>Mf}; if present
Figure FDA00025235989800000314
And l is less than or equal to l*(v) Then l is the lower bound of v; if the lower bound of node v is equal to l*(v) Then the lower bound is the maximum lower bound for v; l*(v) A minimum value equal to the maximum value of the completion time of the resource from M to complete the processing of all the remaining workpieces;
order to
Figure FDA00025235989800000329
Figure FDA00025235989800000315
Representing the first token or workpiece in p, assuming the workpiece
Figure FDA00025235989800000316
The time for entering p is tau (v)1) Then, at time τ (v),
Figure FDA00025235989800000317
the remaining time in p is
Figure FDA00025235989800000318
Figure FDA00025235989800000319
A path is said to be a machining path if all positions in the path are active, given that P '∈ P (P' ≠ P) satisfies the existence of a machining path ω ═ pt1p1t2…pk-1tkpk(pkP'), order
Figure FDA00025235989800000327
Figure FDA00025235989800000328
Is the process path from p to p';
given T ∈ T, let(a)t ═ p denotes the input active position of t, ζ (t, v) denotes the fastest time to complete the workpiece from τ (v) in position p; if M (p) is not less than 1
Figure FDA00025235989800000321
If M (p) is 0, let
Figure FDA00025235989800000322
Machining path
Figure FDA00025235989800000330
And is
Figure FDA00025235989800000323
Figure FDA00025235989800000324
If it is not
Figure FDA00025235989800000325
Then
Figure FDA00025235989800000326
Figure FDA0002523598980000041
If not, let ξ (r ∞)iV) denotes r starting from τ (v)iThe fastest time to request, ξ (r)i,v)=min{ζ(t,v)|t∈ri ·};
Given rik∈ΞiLet I (r)ikV) denotes that r is scheduled from τ (v) to the next activityikR betweenikA minimum idle time of; if r isikIs idle at τ (v), thatChinese character I (r)ik,v)=ξ(riV) - τ (v); otherwise
Figure FDA0002523598980000042
Figure FDA0002523598980000043
Wherein
Figure FDA0002523598980000044
Is being represented by r at τ (v) in qikJ-th activity of processing; let gamma (r)ikV) indicates that the next activity is scheduled at rikAt the earliest time of (i), then gamma (r)ik,v)=τ(v)+I(rik,v)+χ(rikV), wherein if rikAt τ (v) is idle, then χ (r)ikV) is 0; if at time r (v)ikIs being processed
Figure FDA0002523598980000045
Then
Figure FDA0002523598980000046
Figure FDA0002523598980000047
The path selection scheme assigns a processing path to each unfinished workpiece; let S (v) ═ s1,s2,...,shDenotes from M to MfGiven s ∈ S (v), let A (s, r)i) Indicating routing to r by the routing schemeiGiven activity ajk∈A(s,ri) Let p (a)jk) Indicates its active position, order
Figure FDA0002523598980000048
Figure FDA0002523598980000049
Xi when representing path selection scheme as siMinimum average processing time for medium resource instances;
definition 1: given B (N, M)0) Node v in (1), define
Figure FDA00025235989800000410
Theorem 1: given B (N, M)0) Is connected to the node v in (1),
Figure FDA00025235989800000411
lower bound of completion time of v, i.e.
Figure FDA00025235989800000412
Step 2.2 defining branching strategies
Let d denote the depth of the current search level, d denotes the maximum depth of the search tree, at the search level d, the branching policy preferentially selects the node with the smallest lower bound, if there is no node that is not branched at the search level d or d ═ d, then set d ═ d + 1)% d, and reselect the node; stopping selecting a node if all depths are searched and no nodes not branched are selected; otherwise, one node not branched is selected, d ═ d + 1)% d is set, and the node is reselected;
the branching of the selected node v is directed by the deadlock controller, assuming M0[ v > M, only transitions enabled under M and allowed by the controller can initiate and produce new unbranched nodes; vector quantity
Figure FDA00025235989800000413
And
Figure FDA00025235989800000414
are used to store branched and unbranched nodes respectively,
Figure FDA00025235989800000415
Figure FDA00025235989800000416
and
Figure FDA00025235989800000417
for storing lists of nodes at depth i that are branched and unbranched, respectively; the steps of the branching strategy are as follows:
inputting: depth d of the current search layer;
and (3) outputting: flag, d, v and list, wherein, flag true represents that a node which is not branched is selected, and flag false represents that a node which is not branched is selected; v is the selected non-branched node; list is used for storing newly generated nodes which are not branched;
initialization: d1=d,
Figure FDA0002523598980000051
flag=true,v=v0Wherein v is0Is an empty transition sequence;
step 2.2.1: when d is1D ═ or
Figure FDA0002523598980000052
When the collection is empty, the circulation of the steps 2.2.1.1 and 2.2.1.2 is carried out, and the following steps are specifically carried out:
step 2.2.1.1: let d1Is (d)1+1)%d*;
Step 2.2.1.2: if d is1If d is equal, the flag is made false, and the loop is ended, otherwise, the step 2.2.1 is skipped;
step 2.2.2: if flag is true, then:
step 2.2.2.1: from
Figure FDA0002523598980000053
In selection
Figure FDA0002523598980000054
Minimum node v1
Step 2.2.2.2: v is to be1From
Figure FDA0002523598980000055
Removing;
step 2.2.2.3: let M0[v1> M, let e (M) { T ∈ T | M [ T, PCF >);
step 2.2.2.4 for any change t ∈ E (M) { v1t } adding to list;
step 2.2.2.5: let v equal v1Where v is the selected unbranched node;
step 2.2.2.6: let d be (d)1+1)%d*;
Step 2.2.3: returning flag, d, v and list;
step 2.3 definition of pruning rules
Once an unbranched node is selected and branched, it is inserted into
Figure FDA0002523598980000056
In the method, a new node generated by a branch is inserted into
Figure FDA0002523598980000057
In the method, two pruning rules are proposed, which are respectively applied to inserting nodes into the tree
Figure FDA0002523598980000058
And
Figure FDA0002523598980000059
in the process of (2):
pruning rule 1
Inputting: a branched node v;
initialization: let M0[v>M;d=|v|+1;
Step A-1: if present
Figure FDA00025235989800000510
So that M0[v1If the value is more than M, executing the step A-1.1, otherwise executing the step A-2;
step A-1.1: if it is not
Figure FDA00025235989800000511
Then order
Figure FDA00025235989800000512
Is composed of
Figure FDA00025235989800000513
Finishing;
step A-2: order to
Figure FDA00025235989800000514
Is composed of
Figure FDA00025235989800000515
Pruning rule 2
Inputting: a newly generated unbranched node v;
initialization: let M0[v>M;d=|v|+1;
Step B-1: if present
Figure FDA0002523598980000061
So that M0[v1If the value is more than M, executing a step B-1.1, otherwise executing a step B-2;
step B-1.1: if it is not
Figure FDA0002523598980000062
Then order
Figure FDA0002523598980000063
Is composed of
Figure FDA0002523598980000064
Finishing;
step B-2: if present
Figure FDA0002523598980000065
So that M0[v1If the value is more than M, executing a step B-2.1, otherwise executing a step B-3;
step B-2.1: if it is not
Figure FDA0002523598980000066
Then order
Figure FDA0002523598980000067
Is composed of
Figure FDA0002523598980000068
Order to
Figure FDA0002523598980000069
Is composed of
Figure FDA00025235989800000610
Finishing; step B-3: order to
Figure FDA00025235989800000611
Is composed of
Figure FDA00025235989800000612
Step 2.4, a deadlock-free rapid branching and delimiting algorithm;
deadlock free fast Branch bounding method (Anytime Branch and Bound, hereinafter referred to as AB&B) Is a search algorithm for searching the optimal schedule in the branch tree of PNS
Figure FDA00025235989800000613
Representing the current best solution completion time; given an unbranched node v, if
Figure FDA00025235989800000614
Then v is an unprivileged node because branch v cannot get a better solution than the current best solution, and the unprivileged node will be pruned during the search process;
at the beginning of the process, the process is carried out,
Figure FDA00025235989800000615
using a branching strategy, a node is selected and branching is performed under the supervision of PCF, and the selected node is inserted under the supervision of a pruning strategy 1
Figure FDA00025235989800000616
Under supervision of pruning strategy 2, newly generated nodes are inserted into
Figure FDA00025235989800000617
If a completion time is found to be less than
Figure FDA00025235989800000618
Will then
Figure FDA00025235989800000619
Updated as the completion time of the schedule, once
Figure FDA00025235989800000620
Is updated at
Figure FDA00025235989800000621
Middle lower bound is greater than or equal to
Figure FDA00025235989800000622
The nodes are pruned, and the process is carried out until all the nodes are branched or the CPU time is more than the set maximum CPU time; the detailed steps of the deadlock-free fast branch-and-bound algorithm are as follows:
inputting: maximum CPU time
Figure FDA00025235989800000625
And (3) outputting: current best schedule v;
initialization:
Figure FDA00025235989800000623
wherein v is0Is an empty transition sequence;
order to
Figure FDA00025235989800000624
Let v be v0(ii) a Let the current search layer depth d be 1;
step 2.4.1: if the CPU
Figure FDA00025235989800000626
Circularly executing the steps 2.4.1.1-2.4.1.9, otherwise, jumping to the step 2.4.2;
step 2.4.1.1: let the input of the branching strategy be d, and execute the branching strategy, let the result of the branching strategy output be (flag, d, v, list);
step 2.4.1.2: if flag is false, jumping to step 2.4.2;
step 2.4.1.3: let the input of pruning rule 1 be v, execute pruning rule 1;
step 2.4.1.4: for all v1∈ list, circularly executing the step 2.4.1.5-2.4.1.8;
step 2.4.1.5: let the input of pruning rule 2 be v1Executing pruning rule 2;
step 2.4.1.6: if | v1And | +1 ═ d-
Figure FDA0002523598980000071
Then steps 2.4.1.7 and 2.4.1.8 are performed, otherwise go to step 2.4.1.4;
step 2.4.1.7: order to
Figure FDA0002523598980000072
Is tau (v)1) (ii) a Let v be v1
Step 2.4.1.8: from
Figure 1
Deletion in
Figure FDA0002523598980000074
And satisfy
Figure FDA0002523598980000075
All v of2
Step 2.4.1.9: skipping to step 2.4.1;
step 2.4.2: v is returned.
CN202010497896.4A 2020-06-04 2020-06-04 Rapid deadlock-free branch delimitation scheduling method for flexible manufacturing system Active CN111667113B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010497896.4A CN111667113B (en) 2020-06-04 2020-06-04 Rapid deadlock-free branch delimitation scheduling method for flexible manufacturing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010497896.4A CN111667113B (en) 2020-06-04 2020-06-04 Rapid deadlock-free branch delimitation scheduling method for flexible manufacturing system

Publications (2)

Publication Number Publication Date
CN111667113A true CN111667113A (en) 2020-09-15
CN111667113B CN111667113B (en) 2023-04-25

Family

ID=72386044

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010497896.4A Active CN111667113B (en) 2020-06-04 2020-06-04 Rapid deadlock-free branch delimitation scheduling method for flexible manufacturing system

Country Status (1)

Country Link
CN (1) CN111667113B (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114740718A (en) * 2022-03-26 2022-07-12 西北工业大学太仓长三角研究院 Robust control method for flexible assembly system containing single unreliable resource
CN117035255A (en) * 2023-05-31 2023-11-10 南通大学 Robust scheduling method for manufacturing system containing unreliable resources

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107491863A (en) * 2017-07-28 2017-12-19 东北大学 A kind of branch and bound method that initial lower bound beta pruning is used based on straight-line code mode
US20180189897A1 (en) * 2017-01-03 2018-07-05 Macau University Of Science And Technology System, method, computer program and data signal for scheduling at least one physical event
CN110046810A (en) * 2019-04-02 2019-07-23 南京理工大学 A kind of Shop Floor Multiobjective Scheduling method based on Timed Petri nets

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180189897A1 (en) * 2017-01-03 2018-07-05 Macau University Of Science And Technology System, method, computer program and data signal for scheduling at least one physical event
CN107491863A (en) * 2017-07-28 2017-12-19 东北大学 A kind of branch and bound method that initial lower bound beta pruning is used based on straight-line code mode
CN110046810A (en) * 2019-04-02 2019-07-23 南京理工大学 A kind of Shop Floor Multiobjective Scheduling method based on Timed Petri nets

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
JIANCHAO LUO ETC.: "Deadlock-Free Scheduling of Automated", 《 IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS: SYSTEMS》 *
周家忠 等: "间歇式化工系统的Petri网优化调度与控制方法", 《控制理论与应用》 *
王成龙等: "作业车间调度规则的挖掘方法研究", 《浙江大学学报(工学版)》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114740718A (en) * 2022-03-26 2022-07-12 西北工业大学太仓长三角研究院 Robust control method for flexible assembly system containing single unreliable resource
CN117035255A (en) * 2023-05-31 2023-11-10 南通大学 Robust scheduling method for manufacturing system containing unreliable resources
CN117035255B (en) * 2023-05-31 2024-02-06 南通大学 Robust scheduling method for manufacturing system containing unreliable resources

Also Published As

Publication number Publication date
CN111667113B (en) 2023-04-25

Similar Documents

Publication Publication Date Title
Li et al. Eecbs: A bounded-suboptimal search for multi-agent path finding
CN111667113A (en) Rapid deadlock-free branch-bound scheduling method for flexible manufacturing system
CN116166405B (en) Neural network task scheduling strategy determination method and device in heterogeneous scene
CN112836974B (en) Dynamic scheduling method for multiple field bridges between boxes based on DQN and MCTS
CN109857532A (en) DAG method for scheduling task based on the search of Monte Carlo tree
CN105955882B (en) A kind of method for generating test case and device of iterative learning model behavior similitude
CN113408949B (en) Robot time sequence task planning method and device and electronic equipment
CN114757512A (en) Job shop scheduling method based on graph neural network
CN106953801B (en) Random shortest path realization method based on hierarchical learning automaton
CN110689174A (en) Personnel route planning method and device based on public transport
CN113721622B (en) Robot path planning method
CN106354633B (en) Task schedule table generating method based on algorithm groupware
CN111190711B (en) BDD combined heuristic A search multi-robot task allocation method
Ling et al. Reinforcement learning for zone based multiagent pathfinding under uncertainty
CN116907490A (en) Multi-robot path planning method based on conflict search
CN107105052B (en) Heuristic Web service combination method based on graph planning
CN115759199A (en) Multi-robot environment exploration method and system based on hierarchical graph neural network
CN104462829B (en) The processing method of complicated multi-region grid in space propultion solution
CN108121868B (en) A kind of space face domain generation method and system based on KDtree for sheet metal component modeling
Hu et al. Cloud-computing-based resource allocation research on the perspective of improved ant colony algorithm
Mejía et al. A Petri Net based algorithm for minimizing total tardiness in flexible manufacturing systems
Pineda et al. Generalizing the role of determinization in probabilistic planning
Evgenyevna et al. Self-configuring evolutionary algorithms for travelling salesman problem
Huang et al. Dynamic task sequencing of manipulator by Monte Carlo tree search
Wang et al. Automatic discovery and transfer of maxq hierarchies in a complex system

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