CN112605988B - Random multi-product robot disassembly line balance control method - Google Patents
Random multi-product robot disassembly line balance control method Download PDFInfo
- Publication number
- CN112605988B CN112605988B CN202011354473.3A CN202011354473A CN112605988B CN 112605988 B CN112605988 B CN 112605988B CN 202011354473 A CN202011354473 A CN 202011354473A CN 112605988 B CN112605988 B CN 112605988B
- Authority
- CN
- China
- Prior art keywords
- product
- disassembly
- robot
- workstation
- cost
- 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
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1602—Programme controls characterised by the control system, structure, architecture
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1679—Programme controls characterised by the tasks executed
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Automation & Control Theory (AREA)
- Manipulator (AREA)
Abstract
The invention provides a random multi-product robot disassembly line balance control method, which comprises the following steps: s1, establishing a mathematical model aiming at dismantling profit, maximizing the balance rate and minimizing the energy consumption; s2, initializing a population; s3, carrying out initial populationDecoding; s4, evaluating the objective function value of each feasible solution obtained in the step S3; s5, calculating by adopting a PIMBO algorithm to obtain a non-dominated solution set, storing the non-dominated solution set in an external file, and evolving the external file; s6, judging the current fitness value fvWhether a preset total fitness value f is reachedtvStopping iteration of the algorithm, and outputting a non-dominated solution set in an external file; otherwise, S5 is repeated. The invention designs a Pareto-improved multi-target brainstorming storm optimization algorithm (PIMBO) to solve the problem according to the characteristics of the multi-target multi-product robot disassembly line balance problem (MMRDP). The control method can solve the problem of balance of the disassembly line of the multi-target multi-product robot and provide a better solution.
Description
Technical Field
The invention belongs to the technical field of information and control, and particularly relates to a random multi-product robot disassembly line balance control method.
Background
With the development of industry, a large amount of products are scrapped, causing many environmental problems. Recycling is one of the effective methods for treating EOL products (waste products). The value of recycling the EOL product is embodied in two aspects: 1) is beneficial to environmental protection; 2) saving resources and reducing production cost. Disassembly is an important step in the recovery process. Most disassembly operations are still performed manually due to the flexibility of human operation, but the disassembly costs are high. In recent years, more and more research has focused on robotic assisted automated disassembly. It can reduce the dismantlement cost, improves and dismantles efficiency, guarantees the part quality, prevents that mankind from contacting dangerous part. Therefore, it is necessary to study the Robot Disassembly Line Balance (RDLB) problem. Some scholars at home and abroad research the situation. For example, Zeynel Abidin Cil et al studied the RDLB problem for a single product. Liujiayi et al have solved the cooperative optimization problem of dismantlement sequence planning and RDLB. However, the above studies have focused on the disassembly of a single product. In practice, it is often necessary to disassemble multiple products simultaneously to meet customer needs. Therefore, the research on the multi-product disassembly method is of great significance.
To solve this problem, researchers have sought effective methods. Zeynel Abidin Cil et al propose an interval search ant colony optimization algorithm to solve the RDLB problem, and a positive feedback mechanism is adopted to make the search process continuously converge and finally approach the optimal solution. Liujiayi et al propose an improved multi-target discrete bee algorithm to solve the RDLB problem, sort the population by combining the non-dominant Pareto sorting method, and generate a feasible solution by using a spatial interference matrix method. Fang Yilin et al developed a problem-specific dual-criteria evolutionary algorithm to solve the disassembly line balancing problem for a hybrid model with multi-robot workstations.
However, we have found that the disassembly line balance problem (DLB) is typically a multi-objective optimization problem with the goal of maximizing total profit, minimizing cycle time, minimizing the number of workstations and resources, and removing hazardous parts as early as possible. In DLB, the balance ratio is used to evaluate the workload between workstations, and is one of the main indicators for evaluating the solution performance of DLB. Therefore, we propose a multi-objective multi-product robot disassembly line balancing problem (MMRDP) with the goal of maximizing disassembly profit and balancing rate and minimizing disassembly energy consumption, and it is crucial to make a good trade-off between these goals.
In recent years, the brainstorming optimization algorithm (BSO) has been considered by scholars in the field as a promising new group of intelligent algorithms. It balances global and local searches and has been successfully applied to the solution of many optimization problems. For example, the shores and the like propose a predator-bait BSO to solve the optimization problem of the dc brushless motor, and improve the diversity of the population on the basis of the BSO by combining a predator-bait mechanism. Duochiben et al propose a quantum-behaved BSO to solve the Loney solenoid problem, by combining quantum-behaved to improve population diversity. However, at present, these algorithms are not suitable for solving the RDLB problem, and are even less suitable for solving the MMRDP. Therefore, a control method capable of solving MMRDP is now required.
Disclosure of Invention
The invention aims to overcome the problems and provides a random multi-product robot disassembly line balance control method, and a Pareto-based improved multi-objective brainstorming storm optimization algorithm (PIMBO) is designed according to the characteristics of a multi-objective multi-product robot disassembly line balance problem (MMRDP) to solve the problem. The control method can solve the problem of balance of the disassembly line of the multi-target multi-product robot and provide a better solution.
The invention establishes a random multi-product robot disassembly line balance model based on an AND/OR diagram AND considering the disassembly failure risk, AND aims to maximize the disassembly profit AND the balance rate AND minimize the energy consumption. The present invention builds a mathematical model of MMRDP that takes into account the uncertainty of the disassembly process. In the actual disassembly process, due to the quality difference of waste products and the disassembly difficulty, the disassembly operation cannot be performed according to a plan due to the uncertainty of the disassembly time. Therefore, the risk of failure of disassembly should be considered.
In order to achieve the purpose, the invention adopts the following technical scheme: a random multi-product robot disassembly line balance control method comprises the following steps:
s1, establishing a mathematical model aiming at dismantling profit, maximizing the balance rate and minimizing the energy consumption;
s2, initializing the population: randomly generating a plurality of solutions in a search space, and initializing individuals which do not meet the priority and conflict constraint conditions in the solutions by adopting an adjusting method to form an initial population;
s3, decoding the initial population: distributing the disassembly operation to be executed to each work station, determining the sequence of the disassembly operation on each work station, and distributing the robot to each work station to execute the disassembly operation;
s4, evaluating the objective function value of each feasible solution obtained in the step S3;
s5, calculating by adopting a PIMBO algorithm to obtain a non-dominated solution set, storing the non-dominated solution set in an external file, and evolving the external file;
s6, stop criterion: determining iteration times by using the fitness value, and judging the current fitness value fvWhether a preset total fitness value f is reachedtvThe initial fitness value is equal to 0, and when evaluating a new individual, the fitness value is increased by 1 until the current fitness value fvReach the preset total adaptability value ftvStopping iteration of the algorithm, and outputting a non-dominated solution set in an external file; otherwise, S5 is repeated.
Further, the step S1 specifically includes the following steps:
s101: establishing a priority matrix AND a disassembly association matrix for the multi-product needing disassembly based on the AND/OR graph of the multi-product as follows:
(1) priority matrix P ═ Pjk]The priority and conflict relationship for two teardown operations is expressed as follows:
(2) the disassembly association matrix D ═ Dij]: for representing the relationship between the assembly and the disassembly operation, defined as follows:
where i is the component index, i ∈ {1,2, …, NgIn which N isgRepresenting the number of components in product g;
j, k is the operation index, J, k ∈ {0,1, …, JgIn which JgRepresenting operands in product g, 0 is a virtual operation;
pjkis one element in the jth row and kth column of the priority matrix P;
dijto detach one element in the ith row and jth column of the incidence matrix D;
s102: establishing a mathematical model aiming at dismantling profit, balancing rate maximization and energy consumption minimization:
wherein, each symbol represents the following meanings:
i denotes the component index, i ∈ {1,2, …, NgIn which N isgRepresenting the number of components in product g;
j, k denotes an operation index, J, k ∈ {0,1, …, JgIn which JgRepresenting operands in product g, 0 is a virtual operation;
l, M represents the workstation index, l, M ∈ {1,2, …, M }, where M is the number of workstations;
r represents the index of robot type, R ∈ {1,2, …, R }, where R represents the number of robot types;
a set time indicating that the robot r is ready to perform an operation k in the product g, the operation k being performed immediately after an operation j in the product g;
indicating that robot r is ready to execute a productThe set time of operation k in (1), operation k being performed immediately after operation j in product g;
represents the energy consumption per unit time of the robot r for executing the operation j in the product g;
a set energy consumption per unit time indicating that the robot r is ready to perform an operation k in the product g, the operation k being performed immediately after an operation j in the product g;
indicating that robot r is ready to execute a productSetting energy consumption per unit time of operation k in (1), which is performed immediately after operation j in product g;
elrepresenting the energy consumption per unit time during the operation of the ith workstation;
presentation machineThe person r prepares to perform a set unit time cost of an operation k in the product g, the operation k being performed immediately after an operation j in the product g;
indicating that robot r is ready to execute a productThe set unit time cost of operation k in (1), operation k being performed immediately after operation j in product g;
clrepresents the cost per unit time during the operation of the ith workstation;
Tlrepresents the cycle time of the l workstation;
representing the failure probability of the robot executing operation k in the product g immediately after operation j in the product g;
indicating that the robot performs the product immediately after j is operated in the product gThe failure probability of operation k;
theta represents the probability of failure cost of the disassembly process, and the minimum probability that the requirement is met, namely the failure cost of the disassembly process is less than or equal to the maximum failure cost;
the decision variables are respectively:
Indicating that if operation k in product g is performed by robot r immediately after operation j in product g, thenOtherwise
Indicates if the product isOperation k in (1) is performed by robot r immediately after operation j in product g, thenOtherwise
Indicating that if an operation j in a product g is performed by the robot r and assigned to the ith workstationOtherwise
Indicating that if an operation k in a product g is performed by the robot r and assigned to the mth workstationOtherwise
ulIndicates if the ith station, u, is usedl1 is ═ 1; otherwise ul=0;
Wherein the objective function (1) is to maximize the expected disassembly margin, which is equal to the total disassembly revenue minus the total disassembly cost, which includes the total cost of the disassembly operation, the total set-up cost of adjacent operations in the same product, the total set-up cost of adjacent operations in a different product, and the cost of the workstation; the objective function (2) is to minimize the expected energy consumption, including the total energy consumption of the disassembly operation, the total set energy consumption of the adjacent operation in the same product, the total set energy consumption of the adjacent operation in different products, and the energy consumption of the workstation; the objective function (3) is to maximize the desired balance rate, i.e., the average of the total work time divided by the total cycle time of the workstation on;
equations (4) to (12) are constraints:
the constraint (4) is to ensure that at least one disassembly operation is performed per product, except for a dummy operation; the constraint (5) is that each disassembling operation in the multi-product can be executed at most once; the constraint (6) is that each disassembly operation in the multi-product can be only distributed to one work station and executed by one robot; the constraint (7) is that each open workstation is assigned at least one operation; the constraint condition (8) is to ensure that the feasible disassembly sequence of the multiple products meets the preferential constraint; the constraint (9) is to ensure that the feasible disassembly sequence of the multiple products meets the conflict constraint; the constraint (10) indicates that the operating time of all workstations used does not exceed the disassembly line total cycle time; (11) the probability that the failure cost of the disassembly process is required to be less than or equal to the maximum failure cost is greater than a preset value theta > 0; the constraints (12) give the range of decision variables.
Further, the specific steps of initializing the population S2 are as follows:
s201, randomly generating a solution pi;
s202, adjusting pi according to the priority matrix P1In order to satisfy the priority relationship between the multi-product disassembly operations: traverse the whole disassembly operation sequence pi1If disassembly operation ojAt okThen and P in the priority matrix P jk1, then ojAnd okExchanging, simultaneously rjAnd rkExchanging, otherwise, continuously traversing the next operation;
s203, if |)1In (a) detaching operationjIs the initial disassembly operation of the product, pi2Binary value x injX is 0jResetting to 1, otherwise, entering step S204;
s204, adjusting pi according to the priority matrix P2To satisfy the precedence relationship between the same product disassembly operation: traverse the whole binary vector pi2If is pi2Binary value x ink1, P in the priority matrix P jk1, then pi2Binary value x injIs arranged as1;
S205, adjusting pi according to the priority matrix P2Eliminating the conflict relationship between the disassembling operations of the same product: traverse the whole binary vector pi2If is pi2Binary value x ink1, P in the priority matrix PjkWhen is equal to-1, then2Binary value x inkSet to 0;
s206, taking all individuals meeting the priority and conflict constraint conditions as an initial population;
further, the specific process of decoding pi in step S201 is: using a three-vector representation of a solution, i.e. pi-pi (pi)1,π2,π3) In which pi1=(o1,o2,…,oJ) Is an integer string representing a sequence of teardown operations, where ojRepresenting the dismounting operation of the J bit, wherein J is the total operation number of a plurality of products to be dismounted; pi2=(x1,x2,…,xJ) Is an integer string representing a binary vector containing J binary values; if xjIf 1, then pi is executed1Operation o inj(ii) a Otherwise, o is not performedj;π3=(r1,r2,…,rJ) Is an integer string representing a robot-type sequence in which each element is an integer between 1 and R, corresponding to the type of robot performing a disassembly operation.
Further, the specific step of S3 is:
s301, setting a disassembling operation k to be 1;
s302, determining whether to execute a disassembling operation k; if pi2Binary value x ink1 and kfWherein k isfWhen the first disassembly operation in the whole disassembly sequence is performed, a new work station is opened, i is equal to 1, and the operation time T of the first work stationldSet to 0, set of disassembly operations C in the l-th workstationlSet to ζ, where ζ represents an empty set, and the set of robots R of the l-th workstationlSet to r, where r denotes the machine performing the disassembling operation kHuman type, if xk1 and k ≠ kfIf yes, execute the detaching operation k and go to step 302; otherwise, go to S308;
s303, setting the current operation time T of the first workstationld=Tld+tjkrWherein t isjkrRepresents a set time for which the detaching operation k is performed by the robot r immediately after the detaching operation j, and determines the l-th station cycle time TlWith the current operating time T of the ith workstationldIf T isld>TlGo to S304, otherwise go to S305;
s304, opening a new workstation, and setting l to l +1, Cl=ζ,Rl=r,Tld=tjkr;
S305, setting Tld=Tld+tkrWherein t iskrRepresents the disassembly time of the robot r for performing the disassembly operation k; and determining TlAnd TldIf T isld>TlGo to S306, otherwise go to S307;
s306, opening a new workstation, and setting l to l +1, Cl=ζ,RlR and Tld=tjkr+tkr;
S307, distributing the disassembling operation k to the ith work station, and updating ClAnd Rl,Cl=Cl∪k,Rl=Rl∩r;
S308, if k ≠ J, setting k ≠ k +1, and repeating steps S302-S307; otherwise, outputting a feasible solution;
further, the step S4 adopts a random simulation method of monte carlo simulation to evaluate the objective function value of each feasible solution obtained in the step S3.
Further, the step S5 specifically includes the following steps:
s501, performing Pareto-based clustering operation on each feasible solution obtained in the S4 to ensure that individuals of the same grade are classified into the same class;
s502, new individual generation operation: generating new individuals by executing a crossover operator and a mutation operator on the individuals of the current population, and storing the new individuals into a new individual set;
s503, selecting operation: and (4) comparing the objective function values of the mixed population consisting of the new individual set and the current population obtained by the calculation in the step (S502) through a Pareto rule to obtain a non-dominated solution set, storing the non-dominated solution set in an external archive, and evolving the external archive.
Compared with the prior art, the invention has the beneficial effects that: the invention designs a reasonable and feasible coding mode and a decoding method according to the characteristics of the multi-target multi-product robot disassembly line balance problem (MMRDP). The original brainstorm optimization algorithm (BSO) adopts a k-means clustering algorithm to realize clustering operation on populations, and the algorithm has the advantages of large calculated amount, low efficiency, need of manually determining the clustering number and inapplicability to a solving method of the problem. Therefore, the non-dominant quick sorting method is selected to perform clustering operation on the population, the method can reduce the calculation amount, and the artificial determination of the cluster number is not needed. Considering that the problem studied by the present invention is the discrete combination problem, the original BSO generates a new solution by adding a perturbation random number, but does not apply to the solution of the problem, so the present invention combines the idea of genetic algorithm to design a position-based crossover operator and a position-based mutation operator to generate a new solution. In the original BSO, when an individual is selected from a subclass to generate a new individual, only one individual participates in generating the new individual. The invention combines the class center of the first subclass with the currently selected individuals to generate new individuals, which improves the convergence speed of the algorithm. Meanwhile, considering that the research problem of the invention is a multi-objective optimization problem, the invention selects Pareto rules to compare the quality of individuals, and adopts an external document technology to store a non-dominated solution set obtained in the solving process. The method adopts a Pareto improved multi-target brainstorming optimization algorithm (PIMBO) based control method, can solve the problem of balance of the disassembly line of the multi-target multi-product robot, and provides a better solution.
Drawings
FIG. 1 is a schematic flow diagram of the present invention;
FIG. 2 is a schematic view of a ball point pen;
FIG. 3 is a schematic view of a lamp;
FIGS. 4(i) AND (ii) are respectively AND/OR graphs of a ball-point pen AND a desk lamp;
FIG. 5 is a schematic illustration of a priority matrix P for a ball point pen and a desk lamp;
FIG. 6 is a schematic representation of an association matrix D of a ball point pen and a desk lamp;
FIG. 7 is a robot detachment line layout example of a ball-point pen and a desk lamp;
FIG. 8 is a flow chart for decoding an initial population;
FIG. 9 is a schematic diagram of a crossover operation;
FIG. 10 is a schematic diagram of a mutation operation;
FIG. 11 is a schematic view of a hammer drill;
FIG. 12 is a schematic view of a washing machine;
FIG. 13 is a schematic view of a radio;
FIG. 14 is an AND/OR graph of a hammer drill;
FIG. 15 is an AND/OR diagram of the washing machine;
FIG. 16 is an AND/OR graph of a radio;
FIG. 17 is a box plot of the results of five algorithmic IGD-metrology experiments;
FIG. 18 is a boxplot of the results of five algorithm hyper-volume-metric experiments;
Detailed Description
The invention is further illustrated by the following specific examples. It is important to note here that this example is for illustrative purposes only and that the scope of protection of the present invention is not limited to the illustrative scope.
Examples
This embodiment will be described in connection with the problem of robot disassembly line balance for EOL products in practice, ballpoint pens and table lamps.
Referring to fig. 1, the invention provides a random multi-product robot disassembly line balance control method, which comprises the following steps:
s1, establishing a mathematical model aiming at dismantling profit, maximizing the balance rate and minimizing the energy consumption;
s101: establishing a priority matrix AND a disassembly association matrix for the multi-product needing disassembly based on the AND/OR graph of the multi-product as follows:
(1) priority matrix P ═ Pjk]The priority and conflict relationship for two teardown operations is expressed as follows:
(2) the disassembly association matrix D ═ Dij]: for representing the relationship between the assembly and the disassembly operation, defined as follows:
where i is the component index, i ∈ {1,2, …, NgIn which N isgRepresenting the number of components in product g;
j, k is the operation index, J, k ∈ {0,1, …, JgIn which JgRepresenting operands in product g, 0 is a virtual operation;
pjkis one element in the jth row and kth column of the priority matrix P;
dijto detach one element in the ith row and jth column of the incidence matrix D;
the AND/OR graph may represent a priority relationship AND a conflict relationship between the teardown operation AND the teardown operation, AND may also represent a relationship between the component AND the teardown operation. Taking a ball-point pen AND a desk lamp which need to be disassembled as an example, as shown in figures 2 AND 3, the structures of the ball-point pen AND the desk lamp are shown respectively, AND the AND/OR diagrams of the ball-point pen AND the desk lamp are shown in figures 4(i) AND (ii) respectively. In fig. 4(i) and (ii), the disassembly operations are represented by integers 1,2 … …, and J, where J is the total number of disassembly operations. The nodes represent components indexed from <1> to < I >, where I is the number of all components. If component b is obtained by tearing down a, then component a is called the parent component of component b and component b is called the child component of component a, where a, b e {1,2, … …, I }. For example, component <1> is a parent of <2> and <15>, and <2> is a child of <1 >. Therefore, based on the AND/OR diagram of the ballpoint pen AND the desk lamp, the priority matrix P of the ballpoint pen AND the desk lamp is shown in FIG. 5 AND the disassembly association matrix D of the ballpoint pen AND the desk lamp is shown in FIG. 6 according to the definition of the priority matrix P.
Description of robot detachment line: as shown in fig. 5, one ball-point pen includes 15 components and 13 disassembly operations, and one desk lamp includes 7 components and 6 disassembly operations. Robot detachment line in fig. 7, numerals in a triangle represent detachment operations, numerals in a circle represent types of robots performing detachment operations, numerals in a rectangle represent inseparable components, and numbers on a conveyor belt represent components to be detached in which a ball-point pen and a table lamp are broken down into inseparable components. The robotic disassembly line has several work stations, and each robot performs a disassembly operation assigned to each work station. And (4) selectively disassembling the ball-point pen and the desk lamp. Thus, the disassembling operations 1-13 and the assemblies 1-15 are related to ball-point pens, and the disassembling operations 14-19 and the assemblies 16-22 are related to table lamps. The i-type robot being called a robot ri. One possible disassembly solution comprises a disassembly operation sequence 1, 3, 14, 5, 17, 7, 10 and a robot type sequence 1, 3, 2, 1. Each disassembly operation in the sequence of disassembly operations is assigned to each workstation according to a constraint of cycle time. The robot type for each workstation is based on the robot type assigned to the disassembly operation for each workstation. For example, the first workstation is assigned to the dismantling operations 1, 3 and 14, the types of robots performing these dismantling operations being 1, 3 and 2, respectively. Thus, r1、r2And r3Is assigned to the first workstation. In addition, the non-separable components 15, 14, 22, 10, 21, 20, 11, 12, 13 result from a possible disassembly solution, i.e. r1、r2And r3Assigned to the first work station, where the disassembly operations 1, 3 and 14 are carried out, r2And r3Assigned to a second station where the disassembly operations 5 and 17 are carried out, and3assigned to the third station where the disassembling operations 7 and 10 are carried out.
S102: establishing a mathematical model aiming at dismantling profit, balancing rate maximization and energy consumption minimization:
to build a mathematical model, first we need the following assumptions:
1. for each type of robot, the average detach time and setup time for each detach operation is known.
2. For each type of robot, the cost per unit time and energy consumption per unit time of the disassembly operation are known.
3. The conversion cost per time unit and the conversion energy consumption per time unit are known.
The supply of EOL products is unlimited.
5. Only the robot is responsible for performing the disassembly operation. Any one robot can only perform one disassembly operation at a time, and each operation must be performed by one robot.
6. The AND/OR diagrams of a plurality of waste products that need to be dismantled are known.
7. If a disassembly task is assigned to a workstation and performed by a robot of a certain type, the robot type is assigned to the workstation.
The symbols and decision variables to which the present invention relates are listed below.
1) Symbol
i denotes the component index, i ∈ {1,2, …, NgIn which N isgRepresenting the number of components in product g;
j, k denotes an operation index, J, k ∈ {0,1, …, JgIn which JgRepresenting operands in product g, 0 is a virtual operation;
l, M represents the workstation index, l, M ∈ {1,2, …, M }, where M is the number of workstations;
r represents the index of robot type, R ∈ {1,2, …, R }, where R represents the number of robot types;
a set time indicating that the robot r is ready to perform an operation k in the product g, the operation k being performed immediately after an operation j in the product g;
indicating that robot r is ready to execute a productThe set time of operation k in (1), operation k being performed immediately after operation j in product g;
represents the energy consumption per unit time of the robot r for executing the operation j in the product g;
a set energy consumption per unit time indicating that the robot r is ready to perform an operation k in the product g, the operation k being performed immediately after an operation j in the product g;
indicating that robot r is ready to execute a productSetting energy consumption per unit time of operation k in (1), which is performed immediately after operation j in product g;
elrepresenting the energy consumption per unit time during the operation of the ith workstation;
a set unit time cost indicating that the robot r is ready to perform an operation k in the product g, the operation k being performed immediately after an operation j in the product g;
indicating that robot r is ready to execute a productThe set unit time cost of operation k in (1), operation k being performed immediately after operation j in product g;
clrepresents the cost per unit time during the operation of the ith workstation;
Tlrepresents the cycle time of the l workstation;
representing the failure probability of the robot executing operation k in the product g immediately after operation j in the product g;
indicating that the robot performs the product immediately after j is operated in the product gThe failure probability of operation k;
theta represents the probability of failure cost of the disassembly process, and the minimum probability that the requirement is met, namely the failure cost of the disassembly process is less than or equal to the maximum failure cost;
the decision variables are respectively:
Indicating that if operation k in product g is performed by robot r immediately after operation j in product g, thenOtherwise
Indicates if the product isOperation k in (1) is performed by robot r immediately after operation j in product g, thenOtherwise
Indicating that if an operation j in a product g is performed by the robot r and assigned to the ith workstationOtherwise
Indicating that if an operation k in a product g is performed by the robot r and assigned to the mth workstationOtherwise
ulIndicates if the ith station, u, is usedl1 is ═ 1; otherwise ul=0;
The mathematical model established with the goals of disassembly profit, balancing rate maximization and energy consumption minimization is as follows:
wherein the objective function (1) is to maximize the expected disassembly margin, which is equal to the total disassembly revenue minus the total disassembly cost, which includes the total cost of the disassembly operation, the total set-up cost of adjacent operations in the same product, the total set-up cost of adjacent operations in a different product, and the cost of the workstation; the objective function (2) is to minimize the expected energy consumption, including the total energy consumption of the disassembly operation, the total set energy consumption of the adjacent operation in the same product, the total set energy consumption of the adjacent operation in different products, and the energy consumption of the workstation; the objective function (3) is to maximize the desired balance rate, i.e., the average of the total work time divided by the total cycle time of the workstation on;
equations (4) to (12) are constraints:
the constraint (4) is to ensure that at least one disassembly operation is performed per product, except for a dummy operation; the constraint (5) is that each disassembling operation in the multi-product can be executed at most once; the constraint (6) is that each disassembly operation in the multi-product can be only distributed to one work station and executed by one robot; the constraint (7) is that each open workstation is assigned at least one operation; the constraint condition (8) is to ensure that the feasible disassembly sequence of the multiple products meets the preferential constraint; the constraint (9) is to ensure that the feasible disassembly sequence of the multiple products meets the conflict constraint; the constraint (10) indicates that the operating time of all workstations used does not exceed the disassembly line total cycle time; the constraint condition (11) is that the probability that the failure cost of the disassembly process is less than or equal to the maximum failure cost is greater than a preset value theta > 0; the constraints (12) give the range of decision variables.
S2, initializing the population: randomly generating a plurality of solutions in a search space, initializing individuals which do not meet the priority and conflict constraint conditions in the solutions by adopting an adjusting method to form an initial population, and specifically comprising the following steps:
s201, randomly generating a solution pi;
the specific process of decoding pi is as follows: using a three-vector representation of a solution, i.e. pi-pi (pi)1,π2,π3) In which pi1=(o1,o2,…,oJ) Is an integer string representing the sequence of disassembly operations, ojRepresenting the dismounting operation of the J bit, wherein J is the total operation number of a plurality of products to be dismounted; pi2=(x1,x2,…,xJ) Is an integer string representing a binary vector containing J binary values; if xjIf 1, then pi is executed1Operation o inj(ii) a Otherwise, o is not performedj;π3=(r1,r2,…,rJ) Is an integer string representing a robot-type sequence, wherein each element is an integer between 1 and R, corresponding to the type of robot performing a disassembly operation;
s202, adjusting pi according to the priority matrix P1In order to satisfy the priority relationship between the multi-product disassembly operations: traverse the whole disassembly operation sequence pi1If disassembly operation ojAt okThen and P in the priority matrix P jk1, then ojAnd okExchanging, simultaneously rjAnd rkExchanging, otherwise, continuously traversing the next operation;
s203: if pi1In (a) detaching operationjIs the initial disassembly operation of the product, pi2Binary value x injX is 0jResetting to 1, otherwise, entering step S204;
s204, adjusting pi according to the priority matrix P2To satisfy the sameA priority relationship between product removal operations: traverse the whole binary vector pi2If is pi2Binary value x ink1, P in the priority matrix P jk1, then pi2Binary value x injIs set to 1;
s205, adjusting pi according to the priority matrix P2Eliminating the conflict relationship between the disassembling operations of the same product: traverse the whole binary vector pi2If is pi2Binary value x ink1, P in the priority matrix PjkWhen is equal to-1, then2Binary value x inkSet to 0;
s206, taking all individuals meeting the priority and conflict constraint conditions as an initial population;
s3, decoding: distributing the disassembly operation to be executed to each work station, determining the sequence of the disassembly operation on each work station, and distributing the robot to each work station to execute the disassembly operation;
the decoding process is to assign the disassembly operation to be performed to each workstation, determine the sequence of the disassembly operation on each workstation, and assign the robot to each workstation to perform the disassembly operation. If the detachment operation j assigned to the i-th workstation is performed by the robot r, the robot r is assigned to the i-th workstation. Furthermore, the cycle time constraints of the workstation need to be met when dispensing disassembly operations. The decoding process is shown in fig. 8, and the specific decoding steps are as follows:
s301, setting k to be 1;
s302, determining whether to execute k; if pi2Binary value x ink1 and kfWherein k isfThe first disassembly operation in the entire disassembly sequence, a new workstation is opened, l is set to 1, and the operating time T of the ith workstation is setldSet to 0, set of disassembly operations C in the l-th workstationlSet to ζ, where ζ represents an empty set, and the set of robots R of the l-th workstationlSet to r, where r represents the type of robot performing the detach operation k, if xk1 and k ≠ kfThen to holdDetach operation k and go to step 302; otherwise, go to S308;
s303, setting the current operation time T of the first workstationld=Tld+tjkrWherein t isjkrRepresents a set time for which the detaching operation k is performed by the robot r immediately after the detaching operation j, and determines the l-th station cycle time TlWith the current operating time T of the ith workstationldIf T isld>TlGo to S304, otherwise go to S305;
s304, opening a new workstation, and setting l to l +1, Cl=ζ,Rl=r,Tld=tjkr;
S305, setting Tld=Tld+tkrWherein t iskrRepresents the detachment time of the robot r for performing the detachment operation k, and determines TlAnd TldIf T isld>TlGo to S306, otherwise go to S307;
s306, opening a new workstation, and setting l to l +1, Cl=ζ,RlR and Tld=tjkr+tkr;
S307, distributing the disassembling operation k to the ith work station, and updating ClAnd Rl,Cl=Cl∪k,Rl=Rl∩r;
S308, if k ≠ J, setting k ≠ k +1, and repeating steps S302-S307; otherwise, outputting a feasible solution;
s4, evaluating the objective function value of each feasible solution obtained in the step S3 by adopting a random simulation method of Monte Carlo simulation;
the invention designs a random simulation method based on Monte Carlo simulation. Let pi be a solution and Γ denote that the number of samples is equal to 10. The objective function value and feasibility of pi were evaluated using the following procedure. It should be noted that the objective function f is1And f3Are to find their maximum value, so the objective function f to be obtained1And f3Respectively multiplied by-1 in order to compare the quality of the solution.
Step S401: set up f1(π):=0,f2(π):=0,f3(π):=0,fc(π):=0,Γ:=10;
Step S402: generating delta samples, each sample pδIs generated according to a normal distribution of the set-up and set-up times, δ ═ 1,2, …, Γ;
step S403: calculating the disassembly profit f1δ(π), energy consumption f2δ(π) balance ratio f3δ(π) and cost of failed disassembly fcδ(pi), where δ ═ 1,2, …, Γ;
step S404: cost of failure to disassemble f for all samplescδ(π) in ascending order, δ' being equal toIf it is notN is feasible, fc(π):=fcδ′(π) and then goes to step S405. Otherwise, π is not feasible, f1(π)、f2(π) and f3(π) are respectively equal to a larger integer, and proceed to step S406.
Step S405: expected profit of disassembly f1(π), energy consumption f2(π) and equilibrium ratio f3(π) is approximated as:
step S406: return f1(π)、f2(π) and f3(π) as said step S1, an approximation of the objective function (1), the objective function (2) and the objective function (3).
S5, calculating by adopting a PIMBO algorithm (a Pareto improved multi-objective brainstorm optimization algorithm) to obtain a non-dominated solution set, storing the non-dominated solution set in an external file, and evolving the external file, wherein the method specifically comprises the following steps:
s501, clustering operation based on Pareto: sequencing and clustering each feasible solution (individual) obtained by S4 according to a Pareto rule, and ensuring that individuals of the same grade are classified into the same class; the specific clustering operation is as follows:
step S5011: initializing two sets δ and subclass Cp. Grading each individual obtained in the step S4 according to a Pareto rule; δ is set as the population, C, obtained in step S4pSetting an empty set, setting an integer gamma to represent the rank of an individual, and setting gamma to 1;
step S5012: all individuals with a grade of gamma are selected from delta to be added to CpAnd removing these individuals from δ;
step S5013: handle CpAdd to a class cluster C and select CpAs the subclass CpClass center of (1); then C is mixedpSetting as an empty set, and adding 1 to gamma;
step S5014: if delta is not an empty set, repeating the steps S5012-S5013, otherwise, ending the process;
s502, new individual generation operation: generating new individuals by performing cross operation and mutation operation on the individuals of the current population, and storing the new individuals into a new individual set;
step S5021: randomly generating a value of [0,1]If it is notIs less than pcWherein p iscIs the probability of replacing the class center, randomly selects a class center and generates a new individual to replace it; otherwise, turning to the step S5022;
step S5022: initializing a new individual set X, randomly generating a value of [0,1]If it is notIs less than pgWherein p isgIs the probability of generating a new individual from a subclass, randomly selecting a class from the class cluster C, and randomly generating a value of [0,1]If it is notIs less than poWherein p isoGenerating a new individual according to the probability of class centers of subclasses, selecting the class center of the class and the class center of a first class to execute a position-based crossover operator (PBX) to generate a new individual, executing a position-based mutation operator (PBM) on the new individual, adjusting the new individual to a feasible solution through S3, evaluating through S4, and storing to X;
otherwise, randomly selecting other individuals of the class and the class center of the first class to execute a position-based crossover operator (PBX) to generate a new individual, executing a position-based mutation operator (PBM) on the new individual, adjusting the new individual to a feasible solution through S3, evaluating through S4, and storing to X, otherwise, turning to the step 3;
step S5023: randomly selecting two classes from the class cluster C, and randomly generating a value of [0,1]If it is notIs less than ptWherein p istIs the probability of combining the class centers of the two subclasses to generate a new individual. Class-centric execution based on selecting the two classes separatelyGenerating a new individual by a position crossover operator (PBX), executing a position-based mutation operator (PBM) on the new individual, adjusting the new individual to a feasible solution by S3, evaluating by S4, and storing to X, or randomly selecting other individuals of the two classes to execute the position-based crossover operator (PBX) to generate a new individual, executing the position-based mutation operator (PBM) on the new individual, adjusting the new individual to a feasible solution by S3, evaluating by S4, and storing to X;
step S5024: and ending the process until the number of the individuals in the X reaches the population number.
In order to increase the diversity of the solution, the cross operator (PBX) adopted in step S5023 is implemented by the following method:
step (1): generate a [1, J]Random integer ofAnd initialize a new individual pinew=(πnew 1,πnew 2,πnew 3);
Step (2): random generationA 1, J]Then a parent pi1In (1)1 1Wherein the elements at the positions of the integers are stored to pinew 1Elements in the same position, likewise πnew 2And pinew 3Performing the same operation;
and (3): pinew 1The elements in other positions being pi-replaced by another parent2In (1)2 1Neutralization of pinew 1Wherein the existing elements are orderly replaced by different elements, and the same pinew 2And pinew 3The same operation is performed.
For example, as shown in FIG. 9, π1And pi2Two parents that are considered to be location-based crossover operations. From pi1In which several positions are randomly selected. To generate pi1New individual of (2), pi1Are used as parents and reference individuals. Pi1Several positions selected in the sequence remain unchanged, and other positions are sequentially passed through pi2The same sequence map of (2). In FIG. 9, π1The selected ones are operations 2, 16, 3, 12, 13. Keeping these positions unchanged, and dividing {1}, {14, 15}, {4, 11}, {17, 18, 5} and {19, 6, 7, 9, 10, 8} by pi2The same sequence in (1) is mapped in sequence. Then according to pi1Pair pi2And pi3The same operation is carried out on the same position to obtain a new individual pinew。
Meanwhile, the mutation operator (PBM) based on position adopted in step S5023 is realized by the following method:
let pi be (pi)1,π2,π3) Is an individual in need of mutation and is,and p is the interval [0,1] respectively]Random number and interval [0,3 ] of (1)]Is a random integer of (1). η is the probability of an individual performing a mutation.
step 2: generating a random number p, and if p is 0, randomly generating 2 [1, J]Respectively, then exchange pi separately1,π2,π3Elements at the meso- μ position and the γ position; if p is 1, randomly generating 1 [1, J]Then pi is2The element corresponding to this integer position in the sequence is changed to another binary number; if p is 2, randomly generating 1 [1, J]Then pi is3The element corresponding to the integer position becomes another robot type; i.e. q is a random binary number, if the element value is 1, when q is 0,1To 2, when q is 1,1 becomes 3; if the element value is 2, when q is 0, 2 becomes 1, and when q is 1,2 becomes 3; if the element value is 3, when q is 0,3 becomes 1, and when q is 1, 3 becomes 2; if p is 3, the operations when p is 0, p is 1 and p is 2 are sequentially performed on pi.
For example, in FIG. 10, ifp=0,π1Two positions in (2) and (13). Keeping {1}, {14, 15, 16, 3, 4, 11, 12, 17, 18, 5} and {19, 6, 7, 9, 10, 8} unchanged, and exchanging {2} and {13 }. Then according to pi1Pair pi2And pi3The same operations are performed at the same locations in the same. If p is 1, only pi in pi is adjusted2,π2Is binary value 0, holds pi2And changes 0 to a binary 1. If p is 2, only modifying pi in pi3,π3Is r1Robot, holding pi3Is unchanged at other positions in (1), r1The robot is changed to another robot type. q is a binary number, and when q is 0,1 becomes 2, and when q is 1,1 becomes 3. If p is 3, all the operations described above need to be performed.
S503, selecting operation: comparing the mixed population composed of the new individual set and the current population obtained by the calculation in the step S502 through a Pareto rule to obtain a non-dominated solution set, storing the non-dominated solution set in an external archive, and evolving the external archive, wherein the method specifically comprises the following steps:
the objective function is denoted max f1(π)、min f2(π) and max f3(π), where π ∈ Ω, π is the feasible solution, Ω is the set of all feasible solutions. For theIf it is notSatisfy fi(π1)≤fi(π2) And is andsatisfy fi(π1)<fi(π2) Then pi1Dominating pi2Is shown asIf it is notAndthen pi is the Pareto optimal solution and S is called Pareto solution set, i.e. the non-dominated solution set.
An external archive is then constructed to store the obtained non-dominated solution. First, the external archive is updated based on Pareto rules with all newly generated solutions. After each iteration is completed, the external archive is updated based on Pareto rules by using the current population to ensure that all non-dominant solutions in the external archive are always current global non-dominant solutions.
S6 stop criteria: the number of iterations is determined using a fitness value, the initial fitness value being equal to 0, and when evaluating a new individual, the fitness value is increased by 1 until the current fitness value fvReach the preset total adaptability value ftvStopping iteration of the algorithm, and outputting a non-dominated solution set in an external file; otherwise, S5 is repeated.
Specific experimental examples
In order to test the performance of the random multi-product robot disassembly line balance control method based on the Pareto improved multi-objective brainstorming optimization algorithm (PIMBO) in the aspect of processing the multi-objective multi-product robot disassembly line balance problem (MMRDP), a group of waste (EOL) products is adopted for carrying out experiments. In addition, MDGWO and NSGAII (i.e., the multi-objective discrete grayish optimization algorithm and the non-dominated ranking genetic algorithm II) were selected as comparison algorithms.
1. Test case generation
The actual need to dismantle used and old (EOL) product case that we adoptedFor example. They are as follows: ball-point pen (BP), Hammer Drill (HD), Washing Machine (WM), wireless motor (RS). One BP contains 15 components, which requires 13 disassembly operations to disassemble it. One HD comprised 62 components, with 46 disassembly operations. One WM comprises 15 components and 13 disassembly operations are used to disassemble it. There are 29 modules in one RS, with 30 disassembly operations. HD. The schematic diagrams of WM and RS are shown in FIGS. 11-13. The AND/OR diagram is shown in FIGS. 14-16. We generated 10 test cases using BP, HD, WM and RS, each containing multiple disassembled products. The corresponding relationship is shown in Table 1, whereinThe maximum failure cost of the corresponding disassembly process for each instance is indicated.
TABLE 1 test examples of BP, HD, WM and RS
2. Performance index
To analyze the performance of the Pareto-based modified multi-objective brainstorm optimization algorithm (PIMBO) of the present invention and its peer algorithms (MDGWO and NSGAII), we used three indices to compare their results, namely the C-metric (solution coverage), IGD-metric (Inverted Generational Distance) and hyper-volume-metric.
The C-metric may measure the dominance percentage of both solution sets.
The purpose of the IGD-metric is to compute the average distance of the resulting solution to the nearest solution in the optimal solution set. The smaller the IGD of the solution set, the better the approximability and the distributivity. Note that we cannot obtain in advance the optimal solution set for the problem we are considering. Therefore, all solution sets obtained by the Pareto-improved multi-objective brainstorm optimization algorithm (PIMBO) and the peer-to-peer algorithm (MDGWO and NSGAII) of the invention are combined, and then all the obtained non-dominant solutions are used as the optimal solution set. In addition, the objective function values of all solutions are normalized to [0,1], and then the IGD value is calculated.
The hyper-volume-metric is essentially the computation of the volume made up of the resulting solution and the reference point in all solution sets containing the three largest target values. The larger the super-volume of the solution set, the better the approximability and the distributivity. When calculating the hyper-volume, the objective function values of all solutions are normalized to [0,1], and the reference point is set to (1,1, 1).
For each instance, PIMBO and its peer algorithm were performed 20 times and the average of the three metrics was calculated to evaluate their performance. In addition, we analyzed the experimental results using a single-tailed t-test with a degree of freedom of 38 and a significance level of 0.05. The results are indicated by the symbols "+", "-" or "-". The "+" symbol indicates that PIMBO is significantly better than its peer algorithm, "-" indicates that PIMBO is significantly worse than its peer algorithm, and "-" indicates that PIMBO is statistically equivalent to its peer algorithm.
3. Parameter setting
The parameter setting of the Pareto improved multi-target brainstorming optimization algorithm (PIMBO) is as follows: p is a radical ofc=0.0,pg=0.8,po=0.5,pt0.4, wherein pcIs the probability of replacing class centers, pgIs the probability, p, of generating a new individual from a subclassoIs the probability, p, of generating a new individual based on the class center of the subclasstIs the probability of combining the class centers of the two subclasses to generate a new individual. The parameter settings for all algorithms are as follows: the population size Q is 120, the variation probability eta is 0.3, and the total adaptive value ftvIs 2000. The parameters involved in the objective function are set as: c. Cl=0.03,el=0.05,TlWhen 50, theta is 0.90, and R is 3. All algorithms were run 20 times independently and the average run-time comparison across 10 test cases of the design is shown in table 2. From this we can conclude that PIMBO can find an effective solution set in less time.
TABLE 2 average run-time comparison of the three algorithms over 10 test cases
4. Case analysis
From Table 3, PIMBO provides 10 non-dominant solutions for solving test example 2(BP, HD), where f1、f2、f3、fcAnd rsRespectively representing total profit, energy consumption, balance rate, failure cost and robot type set assigned to the open workstations. It should be noted that BP has 13 disassembly operations, while HD has 46 disassembly operations. Thus, the disassembly operations 1-13 in these solutions represent the disassembly operation of BP, and 14-59 represent the disassembly operation of HD. For example, in the first solution, the disassembly operation 1 is from BP, and the disassembly operations 14, 15, 16, 18, 22, 29, 24, 31, and 33 are from HD. The disassembling operations 14, 15, 1 and 16 are performed by r of the first station2、r1And r3The robot performing the dismantling operations 18, 22 and 29 by r of the second station3The robot performs the disassembling operations 24, 31 and 33 by r of the third station1And r3And (4) executing by a robot. The total profit was 827.66, the energy consumption was 976.31, the balance was 0.8395, and the failure cost was 48.95. Thus, such a solution to the problem under study is feasible.
Table 3 results of example 2 disassembly sequence by PIMBO algorithm
5. Results of the experiment
Three algorithms were used to process 10 test cases, and their experimental results were finally analyzed using C-metric, IGD-metric and hyper-volume-metric.
The C-metrics for the five algorithms are shown in table 4, where A, B and E are used to represent PIMBO, MDGWO and NSGAII, respectively, in table 4. From these experimental results, it can be seen that since C (a, B) and C (a, E) are greater than C (B, a) and C (E, a), respectively, PIMBO can yield a majority of solutions that are superior to those of MDGWO and NSGAII. The average values of C (A, B), C (B, A), C (A, E) and C (E, A) were 0.8150, 0.0604, 0.9136 and 0.0202, respectively. These results demonstrate that PIMBO performs better than MDGWO and NSGAII in terms of treatment-related problems.
TABLE 4 comparison of results of C-metric experiments for three algorithms
The IGD indicator results for the three algorithms are shown in table 5. From these results, we can conclude that PIMBO is better than MDGWO and NSGAII in solving the relevant problems, because the IGD value of PIMBO is smaller than MDGWO and NSGAII in all cases. The average IGD values for the three algorithms over 10 instances were 0.1077, 0.2084, and 0.2457, respectively. The result shows that PIMBO can find a non-dominated solution set with good convergence and diversity.
TABLE 5 IGD-metrology experimental result comparison of the three algorithms
The hypervolume values for the three algorithms are shown in table 6. The results show that PIMBO gives a higher value of the hyper-volume than NSGAII in all cases. And the PIMBO obtained the over volume value over 9 examples was greater than the MDGWO. The mean values of the hypervolume values of the three algorithms over 10 examples were 0.5349, 0.4568 and 0.4216, respectively. The results show that the solution set obtained by the PIMBO method has better approximability and more uniform distribution than MDGWO and NSGAII.
TABLE 6 comparison of results of the hyper-volumetric-metric experiments for the three algorithms
To show the experimental results more clearly and intuitively, box plots of the experimental results of the three algorithms were plotted on 10 examples with IGD-metric and hyper-volume-metric as shown in fig. 17 and 18. In fig. 18, "HV" represents an excess volume. From the experimental results of fig. 17 and 18, it can be seen that the IGD and HV values of PIMBO are less and greater than MDGWO and NSGAII, respectively, in all the examples, and therefore it can be concluded that PIMBO has better performance than MDGWO and NSGAII in dealing with the problem posed.
Therefore, it can be seen that the PIMBO of the invention establishes a corresponding mathematical model in an uncertain environment with a multi-objective multi-product robot disassembly line balance problem (MMRDP) with the objectives of maximizing profit, maximizing balance rate and minimizing energy consumption. Then, a PIMBO algorithm combined with random simulation is designed for solving. Through comparative experiments, it can be seen that the method provided by the invention shows good performance in solving the problem. An effective method is provided for MMPDP considering uncertainty and multi-objective optimization.
Claims (6)
1. A random multi-product robot disassembly line balance control method comprises the following steps:
s1, establishing a mathematical model aiming at dismantling profit, maximizing the balance rate and minimizing the energy consumption;
s2, initializing the population: randomly generating a plurality of solutions in a search space, and initializing individuals which do not meet the priority and conflict constraint conditions in the solutions by adopting an adjusting method to form an initial population;
s3, decoding the initial population: distributing the disassembly operation to be executed to each work station, determining the sequence of the disassembly operation on each work station, and distributing the robot to each work station to execute the disassembly operation;
s4, evaluating the objective function value of each feasible solution obtained in the step S3;
s5, calculating by adopting a PIMBO algorithm to obtain a non-dominated solution set, storing the non-dominated solution set in an external file, and evolving the external file;
s6, stop criterion: determining iteration times by using the fitness value, and judging the current fitness value fvWhether a preset total fitness value f is reachedtvThe initial fitness value is equal to 0, and when evaluating a new individual, the fitness value is increased by 1 until the current fitness value fvReach the preset total adaptability value ftvStopping iteration of the algorithm, and outputting a non-dominated solution set in an external file; otherwise, repeating S5;
the step S1 specifically includes the following steps:
s101: establishing a priority matrix AND a disassembly association matrix for the multi-product needing disassembly based on the AND/OR graph of the multi-product as follows:
(1) priority matrix P ═ Pjk]The priority and conflict relationship for two teardown operations is expressed as follows:
(2) the disassembly association matrix D ═ Dij]: for representing the relationship between the assembly and the disassembly operation, defined as follows:
where i is the component index, i ∈ {1,2, …, NgIn which N isgRepresenting the number of components in product g;
j, k is the operation index, J, k ∈ {0,1, …, JgIn which JgRepresenting operands in product g, 0 is a virtual operation;
pjkis one element in the jth row and kth column of the priority matrix P;
dijto detach one element in the ith row and jth column of the incidence matrix D;
s102: establishing a mathematical model aiming at dismantling profit, balancing rate maximization and energy consumption minimization:
wherein, each symbol represents the following meanings:
i denotes the component index, i ∈ {1,2, …, NgIn which N isgRepresenting the number of components in product g;
j, k denotes an operation index, J, k ∈ {0,1, …, JgIn which JgRepresenting operands in product g, 0 is a virtual operation;
l, M represents the workstation index, l, M ∈ {1,2, …, M }, where M is the number of workstations;
r represents the index of robot type, R ∈ {1,2, …, R }, where R represents the number of robot types;
a set time indicating that the robot r is ready to perform an operation k in the product g, the operation k being performed immediately after an operation j in the product g;
indicating that robot r is ready to execute a productThe set time of operation k in (1), operation k being performed immediately after operation j in product g;
represents the energy consumption per unit time of the robot r for executing the operation j in the product g;
a set energy consumption per unit time indicating that the robot r is ready to perform an operation k in the product g, the operation k being performed immediately after an operation j in the product g;
indicating that robot r is ready to execute a productSetting energy consumption per unit time of operation k in (1), which is performed immediately after operation j in product g;
elrepresenting the energy consumption per unit time during the operation of the ith workstation;
indicating that robot r is ready to perform operation k in product gSetting a unit time cost, wherein the operation k is executed immediately after the operation j in the product g;
indicating that robot r is ready to execute a productThe set unit time cost of operation k in (1), operation k being performed immediately after operation j in product g;
clrepresents the cost per unit time during the operation of the ith workstation;
Tlrepresents the cycle time of the l workstation;
representing the failure probability of the robot executing operation k in the product g immediately after operation j in the product g;
indicating that the robot performs the product immediately after j is operated in the product gThe failure probability of operation k;
theta represents the probability of failure cost of the disassembly process, and the minimum probability that the requirement is met, namely the failure cost of the disassembly process is less than or equal to the maximum failure cost;
the decision variables are respectively:
Indicating that if operation k in product g is performed by robot r immediately after operation j in product g, thenOtherwise
Indicates if the product isOperation k in (1) is performed by robot r immediately after operation j in product g, thenOtherwise
Indicating that if an operation j in a product g is performed by the robot r and assigned to the ith workstationOtherwise
Indicating that if an operation k in a product g is performed by the robot r and assigned to the mth workstationOtherwise
ulIndicates if the ith station, u, is usedl1 is ═ 1; otherwise ul=0;
Wherein the objective function (1) is to maximize the expected disassembly margin, which is equal to the total disassembly revenue minus the total disassembly cost, which includes the total cost of the disassembly operation, the total set-up cost of adjacent operations in the same product, the total set-up cost of adjacent operations in a different product, and the cost of the workstation; the objective function (2) is to minimize the expected energy consumption, including the total energy consumption of the disassembly operation, the total set energy consumption of the adjacent operation in the same product, the total set energy consumption of the adjacent operation in different products, and the energy consumption of the workstation; the objective function (3) is to maximize the desired balance rate, i.e., the average of the total work time divided by the total cycle time of the workstation on;
equations (4) to (12) are constraints:
the constraint (4) is to ensure that at least one disassembly operation is performed per product, except for a dummy operation; the constraint (5) is that each disassembling operation in the multi-product can be executed at most once; the constraint (6) is that each disassembly operation in the multi-product can be only distributed to one work station and executed by one robot; the constraint (7) is that each open workstation is assigned at least one operation; the constraint condition (8) is to ensure that the feasible disassembly sequence of the multiple products meets the preferential constraint; the constraint (9) is to ensure that the feasible disassembly sequence of the multiple products meets the conflict constraint; the constraint (10) indicates that the operating time of all workstations used does not exceed the disassembly line total cycle time; (11) the probability that the failure cost of the disassembly process is required to be less than or equal to the maximum failure cost is greater than a preset value theta > 0; the constraints (12) give the range of decision variables.
2. The method for controlling balance of the disassembly line of the random multi-product robot of claim 1, wherein the initialization of the S2 population comprises the following steps:
s201, randomly generating a solution pi;
s202, adjusting pi according to the priority matrix P1In order to satisfy the priority relationship between the multi-product disassembly operations: traverse the whole disassembly operation sequence pi1If disassembly operation ojAt okThen and P in the priority matrix Pjk1, then ojAnd okExchanging, simultaneously rjAnd rkExchanging, otherwise, continuously traversing the next operation;
s203, if |)1In (a) detaching operationjIs the initial disassembly operation of the product, pi2Binary value x injX is 0jResetting to 1, otherwise, entering step S204;
s204, adjusting pi according to the priority matrix P2To satisfy the precedence relationship between the same product disassembly operation: traverse the whole binary vector pi2If is pi2Binary value x ink1, P in the priority matrix Pjk1, then pi2Binary value x injIs set to 1;
s205, adjusting pi according to the priority matrix P2Eliminating the conflict relationship between the disassembling operations of the same product: traverse the whole binary vector pi2If is pi2Binary value x ink1, P in the priority matrix PjkWhen is equal to-1, then2Binary value x inkSet to 0;
and S206, taking all the individuals meeting the priority and conflict constraint conditions as an initial population.
3. The method for controlling balance of disassembly lines of a random multi-product robot as claimed in claim 2, wherein the specific process of decoding pi in the step S201 is: using a three-vector representation of a solution, i.e. pi-pi (pi)1,π2,π3) In which pi1=(o1,o2,…,oJ) Is an integer string representing a sequence of teardown operations, where ojRepresenting the dismounting operation of the J bit, wherein J is the total operation number of a plurality of products to be dismounted; pi2=(x1,x2,…,xJ) Is an integer string representing a binary vector containing J binary values; if xjIf 1, then pi is executed1Operation o inj(ii) a Otherwise, o is not performedj;π3=(r1,r2,…,rJ) Is an integer string representing a robot-type sequence in which each element is an integer between 1 and R, corresponding to the type of robot performing a disassembly operation.
4. The method for controlling balance of a random multi-product robot disassembly line of claim 1, wherein the step S3 comprises the following steps:
s301, setting a disassembling operation k to be 1;
s302, determining whether to execute a disassembling operation k; if pi2Binary value x ink1 and kfWherein k isfWhen the first disassembly operation in the whole disassembly sequence is performed, a new work station is opened, i is equal to 1, and the operation time T of the first work stationldSet to 0, set of disassembly operations C in the l-th workstationlSet to ζ, where ζ represents an empty set, and the set of robots R of the l-th workstationlSet to r, where r represents the type of robot performing the detach operation k, if xk1 and k ≠ kfIf yes, execute the detaching operation k and go to step 302; otherwise, go to S308;
s303, setting the current operation time T of the first workstationld=Tld+tjkrWherein t isjkrRepresents a set time for which the detaching operation k is performed by the robot r immediately after the detaching operation j, and determines the l-th station cycle time TlWith the current operating time T of the ith workstationldIf T isld>TlGo to S304, otherwise go to S305;
s304, opening a new workstation, and setting l to l +1, Cl=ζ,Rl=r,Tld=tjkr;
S305, setting Tld=Tld+tkrWherein t iskrRepresents the disassembly time of the robot r for performing the disassembly operation k; and determining TlAnd TldIf T isld>TlGo to S306, otherwise go to S307;
s306, opening a new workstation, and setting l to l +1, Cl=ζ,RlR and Tld=tjkr+tkr;
S307, distributing the disassembling operation k to the ith work station, and updating ClAnd Rl,Cl=Cl∪k,Rl=Rl∩r;
S308, if k ≠ J, setting k ≠ k +1, and repeating steps S302-S307; otherwise, a feasible solution is output.
5. The method as claimed in claim 1, wherein the step S4 adopts a random simulation method of monte carlo simulation to evaluate the objective function value of each feasible solution obtained in the step S3.
6. The method for controlling balance of the disassembly line of the random multi-product robot of claim 1, wherein the step S5 specifically comprises the following steps:
s501, performing Pareto-based clustering operation on each feasible solution obtained in the S4 to ensure that individuals of the same grade are classified into the same class;
s502, new individual generation operation: generating new individuals by executing a crossover operator and a mutation operator on the individuals of the current population, and storing the new individuals into a new individual set;
s503, selecting operation: and (4) comparing the objective function values of the mixed population consisting of the new individual set and the current population obtained by the calculation in the step (S502) through a Pareto rule to obtain a non-dominated solution set, storing the non-dominated solution set in an external archive, and evolving the external archive.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011354473.3A CN112605988B (en) | 2020-11-27 | 2020-11-27 | Random multi-product robot disassembly line balance control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011354473.3A CN112605988B (en) | 2020-11-27 | 2020-11-27 | Random multi-product robot disassembly line balance control method |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112605988A CN112605988A (en) | 2021-04-06 |
CN112605988B true CN112605988B (en) | 2021-11-26 |
Family
ID=75225579
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011354473.3A Active CN112605988B (en) | 2020-11-27 | 2020-11-27 | Random multi-product robot disassembly line balance control method |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112605988B (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111860990B (en) * | 2020-07-10 | 2023-09-15 | 辽宁石油化工大学 | Multi-product disassembly-oriented multi-target disassembly sequence planning method |
CN113191085B (en) * | 2021-05-07 | 2022-06-07 | 西南交通大学 | Setting method of incomplete disassembly line considering tool change energy consumption |
CN113858196A (en) * | 2021-09-26 | 2021-12-31 | 中国舰船研究设计中心 | Robot disassembly sequence planning method considering robot collision avoidance track |
CN114448911B (en) * | 2022-01-28 | 2023-09-22 | 重庆邮电大学 | Multi-objective-based industrial communication protocol test case priority ordering method |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102830621A (en) * | 2012-09-05 | 2012-12-19 | 西南交通大学 | Balance control method of multi-objective disassembly line |
CN103707025B (en) * | 2012-09-29 | 2016-06-08 | 鸿富锦精密工业(深圳)有限公司 | Disassembling system |
CN108038339A (en) * | 2017-12-31 | 2018-05-15 | 武汉企鹅能源数据有限公司 | A kind of multiple target mixed flow two-sided assembly line balance method based on migratory bird optimization algorithm |
US10695902B2 (en) * | 2018-06-04 | 2020-06-30 | Express Scripts Strategic Development, Inc. | Pharmacy order processing system |
US11611266B2 (en) * | 2018-12-18 | 2023-03-21 | Ut-Battelle, Llc | Automated recovery of rare earth permanent magnets from electric machines |
CN109872046B (en) * | 2019-01-21 | 2023-03-28 | 同济大学 | Task allocation and production scheduling integrated optimization method for mixed-flow assembly line |
CN111860990B (en) * | 2020-07-10 | 2023-09-15 | 辽宁石油化工大学 | Multi-product disassembly-oriented multi-target disassembly sequence planning method |
-
2020
- 2020-11-27 CN CN202011354473.3A patent/CN112605988B/en active Active
Also Published As
Publication number | Publication date |
---|---|
CN112605988A (en) | 2021-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112605988B (en) | Random multi-product robot disassembly line balance control method | |
Wang et al. | Modeling and optimization of multi-objective partial disassembly line balancing problem considering hazard and profit | |
Dai et al. | Multi-objective optimization for energy-efficient flexible job shop scheduling problem with transportation constraints | |
Sun et al. | Hybrid genetic algorithm with variable neighborhood search for flexible job shop scheduling problem in a machining system | |
Kim et al. | A mathematical model and a genetic algorithm for two-sided assembly line balancing | |
Chen et al. | A novel approach to production planning of flexible manufacturing systems using an efficient multi-objective genetic algorithm | |
CN101916404A (en) | Multi-factory cooperative scheduling optimization method during equipment manufacturing | |
CN110580530A (en) | Bilateral disassembly line setting method considering station constraint and energy consumption | |
CN106611230A (en) | Critical process-combined genetic local search algorithm for solving flexible job-shop scheduling | |
Zhang et al. | Multi-objective discrete grey wolf optimizer for solving stochastic multi-objective disassembly sequencing and line balancing problem | |
CN114282370B (en) | Disassembly line setting method considering physical and mental loads of operator | |
CN112381343A (en) | Flexible job shop scheduling method based on genetic-backbone particle swarm hybrid algorithm | |
Atabaki et al. | Hybrid genetic algorithm and invasive weed optimization via priority based encoding for location-allocation decisions in a three-stage supply chain | |
CN112348314A (en) | Distributed flexible workshop scheduling method and system with crane | |
CN113962091A (en) | Balance design method for multi-person co-station incomplete disassembly line for processing mixed waste products | |
Chen et al. | Process synthesis and design problems based on a global particle swarm optimization algorithm | |
CN116756918A (en) | Fuzzy time-based lithium battery echelon utilization disassembly line multi-objective optimization mathematical model establishment and solving method | |
Wu et al. | A cooperative coevolutionary algorithm with problem-specific knowledge for energy-efficient scheduling in seru system | |
Zhang et al. | An improved multi-objective multi-verse optimization algorithm for multifunctional robotic parallel disassembly line balancing problems | |
CN111652392B (en) | Low-carbon efficient disassembly line balance optimization method for waste mobile terminal | |
Rifai et al. | Multi-operator hybrid genetic algorithm-simulated annealing for reentrant permutation flow-shop scheduling | |
CN116822217A (en) | Man-machine double-resource constraint multi-target production scheduling method considering man-hour uncertainty | |
Yusof et al. | Constraint-chromosome genetic algorithm for flexible manufacturing system machine-loading problem | |
Laili et al. | Rotated neighbor learning-based auto-configured evolutionary algorithm | |
CN111625996B (en) | Hierarchical parallel multi-station assembly sequence planning method |
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 |