A single-objective flexible manufacturing system joint scheduling method considering RGV and multi-machine preventive maintenance
By establishing a joint scheduling method for RGV and multi-machine preventive maintenance in a flexible manufacturing system, the problem of lack of integrated scheduling for transportation equipment and machine maintenance in flexible manufacturing systems is solved, achieving efficient coordination between production and maintenance and improving the stability and efficiency of the system.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- UNIV OF ELECTRONICS SCI & TECH OF CHINA
- Filing Date
- 2025-12-11
- Publication Date
- 2026-06-19
AI Technical Summary
The lack of integrated scheduling of transport vehicles (RGVs) and preventive maintenance of multiple machines in existing flexible manufacturing systems leads to frequent production interruptions and equipment failures, affecting production efficiency and stability.
A joint scheduling method for a single-objective flexible manufacturing system integrating RGV and multi-machine preventive maintenance is proposed. By establishing a mathematical model and optimizing the scheduling scheme using the dung beetle algorithm, preventive maintenance is reasonably embedded to ensure that the scheduling and path planning of RGV and machines meet the constraints, thereby achieving integrated scheduling of production and maintenance.
It enables efficient and coordinated operation between RGV and machines, reduces production interruptions, extends equipment life, lowers maintenance and replacement costs, and improves the stability and efficiency of the production system.
Smart Images

Figure CN122242992A_ABST
Abstract
Description
Technical Field
[0001] This invention patent relates to the field of integrated scheduling of production and preventive maintenance in flexible manufacturing systems, specifically a joint scheduling method for a single-objective flexible manufacturing system that simultaneously considers RGV and multi-machine preventive maintenance. Background Technology
[0002] Flexible manufacturing systems can efficiently handle multi-variety, small-batch orders, enabling rapid responses to diverse and personalized market demands. Transportation equipment in flexible manufacturing systems undertakes high-frequency, continuous material transport tasks, serving as a crucial link connecting various processing steps in the production process. Its operational status directly impacts the efficiency and stability of the entire production system. Considering preventative maintenance of transportation equipment can effectively reduce material delays and production interruptions caused by unexpected failures, ensuring the continuity of the production process and the overall operational efficiency of the system. Simultaneously, regular preventative maintenance can extend the service life of transportation equipment, avoiding frequent failures due to aging or wear, thereby reducing maintenance and replacement costs and minimizing downtime. Therefore, this invention selects a flexible manufacturing system using RGVs as transportation equipment as its object, studying the scheduling problem of flexible manufacturing systems from the perspectives of RGV maintenance, machine maintenance, and machine production integration. This invention lays the foundation for subsequent dynamic scheduling and provides guidance for solving scheduling problems in actual production. Summary of the Invention
[0003] This invention addresses the lack of consideration for preventive maintenance of transportation equipment in the integrated scheduling of production and maintenance in flexible manufacturing systems. It proposes a single-objective integrated scheduling method for flexible manufacturing systems that simultaneously considers RGV (Remotely Receiving Vehicle) and preventive maintenance of multiple machines. Based on the consideration of RGV preventive maintenance, the method integrates machine preventive maintenance during the maximum idle time period, thereby achieving integrated scheduling of production and preventive maintenance in flexible manufacturing systems.
[0004] The technical solution of this invention is a joint scheduling method for a single-objective flexible manufacturing system that simultaneously considers RGV (Remote Generation Vehicle) and multi-machine preventive maintenance, characterized by comprising:
[0005] Step 1: Establish a mathematical model for scheduling in a flexible manufacturing system;
[0006] Step 1.1: Determine the constraint model;
[0007] Based on the specific production scenarios and processing and maintenance information of the flexible manufacturing system, a constraint model for joint scheduling of production and preventive maintenance is constructed. This model must ensure that workpieces are processed sequentially according to the established process and strictly follow the sequential relationship between processes. At the same time, the processing and maintenance of machines must be coordinated and arranged so that maintenance operations are reasonably embedded into processing tasks and meet the preset maintenance duration and time window. In addition, the operation and maintenance of RGVs must also be included in the constraints to ensure that their scheduling and path planning meet the requirements of task continuity and maintenance duration and time window.
[0008] Step 1.2: Determine the objective function of the scheduling problem in the flexible work shop;
[0009] A flexible workshop scheduling optimization model is established with the objective of minimizing the maximum completion time; assuming... The total number of workpieces. For the first If the completion time of each workpiece is given, then the maximum completion time is... The calculation formula is:
[0010]
[0011] Step 2: Determine the encoding / decoding method and complete the dung beetle population initialization;
[0012] Step 2.1: Determine the encoding method and decoding method;
[0013] Step 2.1.1: Encode using the MAOS encoding method;
[0014] Step 2.1.2: Decode using an active decoding method;
[0015] Step 2.2: Dung beetle population initialization;
[0016] Step 2.2.1: Generate using a random initialization strategy A random scheduling scheme;
[0017] Step 2.2.2: Convert the discrete bidirectional code into a continuous position vector of dung beetles to obtain the population size. Random dung beetle populations;
[0018] Step 2.2.3: Randomly divide the initial population into four groups: rolling dung beetle, egg-producing dung beetle, small dung beetle, and thieving dung beetle, accounting for 20%, 20%, 23.3%, and 36.6% of the population, respectively.
[0019] Step 3: Determine the maintenance downtime for each machine;
[0020] Step 3.1: Convert the continuous position vector of the dung beetle population into a discrete two-vector code to obtain the scheduling scheme;
[0021] Step 3.2: Active decoding by the scheduling scheme:
[0022] Step 3.2.1: Use the objective function from Step 1 as the fitness function;
[0023] Step 3.2.2: Determine if the process can be inserted into the machine's idle time period before the process; if yes, move the process forward; otherwise, decode normally.
[0024] Step 3.2.3: Determine whether RGV maintenance is required before the process, and determine the RGV preventive maintenance time period and the process processing time period;
[0025] Step 3.1.4: Repeat steps 3.1.2 and 3.1.3 until the process and RGV preventive maintenance are completed;
[0026] Step 3.1.5: Obtain the plan excluding machine preventive maintenance, the total scheduling time of the plan, and the maintenance idle time periods of each machine corresponding to the plan;
[0027] Step 4: Calculate the flexible time interval for the start of preventive maintenance. Using the idle maintenance time periods of each machine recorded in the scheduling scheme generated in Step 3, and combining them with the flexible time interval for the start of preventive maintenance, determine the machine preventive maintenance time window:
[0028] Step 4.1: Determine the flexible time interval for initiating preventive maintenance of the machine;
[0029] Step 4.1.1: Determine the flexible time interval for the next maintenance of the machine based on the machine's initial reliability and the Weibull distribution curve;
[0030] Step 4.1.2: Reliability restoration of the machine;
[0031] Step 4.1.3: Repeat steps 4.1.1 and 4.1.2 until the preventive maintenance start time exceeds the total time without considering machine operation;
[0032] Step 4.1.4: Determine the flexible time interval for starting maintenance for each machine;
[0033] Step 4.2: Find the machine's maximum available idle time period and label the idle time period type:
[0034] Step 4.2.1: Loop through the idle time periods to check if there is any overlap with the machine maintenance flexible time intervals, find the available portions of all idle time, mark the idle time period type, and record them in the idle time period set;
[0035] Step 4.2.2: If the set of available free time slots is not empty, loop through to find the largest available free time slot;
[0036] Step 4.3: Determine the time window for preventative maintenance of the machine;
[0037] Step 4.3.1: If there is no available idle time period, machine maintenance shall begin from the end of the reliability maintenance interval;
[0038] Step 4.3.2: If a maximum available time period exists, determine the start and end times of machine maintenance based on the type of the maximum available time period;
[0039] Step 5: Incorporate preventative maintenance of the machines to generate the final integrated scheduling solution;
[0040] Step 5.1: Convert the continuous position vector of the dung beetle population into a discrete two-vector code to obtain the scheduling scheme;
[0041] Step 5.2: Active decoding based on the scheduling plan and machine preventive maintenance time window:
[0042] Step 5.2.1: Use the objective function from Step 1 as the fitness function;
[0043] Step 5.2.2: Determine the maintenance idle time period for each machine based on Step 3;
[0044] Step 5.2.3: Determine the preventive maintenance time window for each machine based on Step 4;
[0045] Step 5.2.4: Determine if the process can be inserted into the machine's idle time period before the process; if yes, move the process forward; otherwise, decode normally.
[0046] Step 5.2.5: Determine whether RGV maintenance is required before the process and determine the time period for RGV preventive maintenance;
[0047] Step 5.2.6: Determine whether the machine's preventative maintenance will affect the process and determine the processing time period for the process;
[0048] Step 5.2.7: Repeat steps 5.2.5 and 5.2.6 until the process, RGV preventive maintenance, and machine preventive maintenance are completed;
[0049] Step 5.2.8: Obtain the integrated scheduling scheme for generation and maintenance that takes into account RGV and machine preventive maintenance, and its corresponding total scheduling time;
[0050] Step 5.3: Use the dung beetle algorithm to iterate the dung beetle position scheme to obtain the optimal scheme:
[0051] Step 5.3.1: Determine the current iteration number Has the maximum number of iterations been reached? If yes, proceed to step 5.2.7; otherwise, continue with step 5.2.2 to iterate the dung beetle's position.
[0052] Step 5.3.2: The dung beetle changes position
[0053] The formula for updating the cockroach's position during the rolling process is as follows:
[0054] ;
[0055] In the formula, Indicates the current iteration number. Indicates the first Only one dung beetle in the first Position information at the next iteration This represents a constant, which is the defect coefficient. Indicates belonging to The constant, It is a natural coefficient that is assigned a value of -1 or 1. Indicates the worst position globally. Used to simulate changes in light intensity;
[0056] When a dung beetle is blocked by an obstacle and cannot move forward, it needs to dance to reorient itself and find a new route. To simulate this dancing behavior, a tangent function is used to obtain the new rolling direction. After obtaining the new rolling direction, the dung beetle's position is updated using the following formula:
[0057] ;
[0058] in ;
[0059] Step 5.3.3: Change of position of the ovum;
[0060] A boundary selection strategy is used to simulate the egg-laying area of female dung beetles, defined as:
[0061] ;
[0062] in This indicates the current local optimal position. , These represent the upper and lower boundaries of the spawning area, respectively. ,in Indicates the maximum number of iterations. , These represent the lower and upper bounds of the optimization problem, respectively.
[0063] The oviposition area changes dynamically with each iteration. Once the oviposition area is determined, the female dung beetle will choose to lay its eggs in that area. In the DBO algorithm, each female dung beetle produces only one egg in each iteration. The position of the hatching ball is also dynamic during the iteration process, defined as:
[0064] ;
[0065] For the first The incubation ball was in the first Position at the next iteration and Let them represent two independent random vectors of size . , The dimension of the optimization problem;
[0066] Step 5.3.4: The dung beetles change positions;
[0067] In the DBO algorithm, adult dung beetles are referred to as juvenile dung beetles. Their foraging behavior requires establishing an optimal foraging area to guide the beetle's foraging activities, and this is simulated. The boundary of the optimal foraging area is defined as follows:
[0068] ;
[0069] in This indicates the current local optimal position. , These represent the upper and lower boundaries of the oviposition area, respectively; the location of the dung beetle has been updated as follows:
[0070] ;
[0071] Represents a random number that follows a normal distribution. This represents a random vector belonging to (0,1);
[0072] Step 5.3.5: Steal the dung beetle's change of position;
[0073] In addition, some dung beetles in the population are dung-stealing dung beetles, stealing dung balls from other dung beetles. It is the best foraging location, and therefore also the best location for dung beetles to steal dung balls. Therefore, we can assume that... The vicinity is the best place to compete for food. The location of the dung beetle thief has been updated as follows:
[0074] ;
[0075] It is the size of A random vector, which follows a normal distribution. Represent a constant;
[0076] Step 5.3.6: Jump to step 3;
[0077] Step 5.3.7: Obtain the optimal integrated scheduling scheme for generation and maintenance, taking into account RGV and machine preventive maintenance.
[0078] Furthermore, the specific method for determining the constraint model in step 1.1 includes:
[0079] Flexible work workshops have One workpiece to be processed. Taiwanese processing machines, each workpiece includes Each process is carried out according to the specified technological route. It can be processed on different machines, and the processing capacity of the machines is the same;
[0080] The start time and processing time of the workpiece must be less than the completion time.
[0081] ;
[0082] In the formula Indicates workpiece The start time, Indicate process In the machine On the processing time, Indicates workpiece Completion time;
[0083] The end time of the previous process must be less than the start time of the next process:
[0084] ;
[0085] In the formula Indicate process In the machine The time required to complete the processing. Indicate process In the machine The time when processing begins;
[0086] The completion time of each workpiece should be before the total completion time:
[0087] ;
[0088] At any given time, a machine can only produce one workpiece.
[0089] ;
[0090] in Indicate process Is the machine currently in use? The processing is indicated by 1, where 1 represents processing and 0 represents no processing.
[0091] RGV maintenance does not affect the processes currently being performed on the machine. Once the current process is completed, the machine will stop production, and subsequent processes can only be performed after the RGV maintenance is completed.
[0092] RGV maintenance is performed simultaneously with machine maintenance;
[0093] The maintenance of the machine does not affect the production of other machines or the operation of the RGV;
[0094] Preventative maintenance and production cannot be carried out simultaneously:
[0095] ;
[0096] in Indicates machine Whether preventative maintenance is being performed, 1 indicates preventative maintenance is being performed, 0 indicates maintenance is not being performed.
[0097] Furthermore, the specific method of step 2.2 includes:
[0098] Step 2.2.1: Perform random population initialization to obtain an initial population with discrete bi-vector codes as the location information of individual dung beetles:
[0099] A random dung beetle population was obtained by randomly generating process codes and machine codes using a random function.
[0100] Step 2.2.2: Then convert the discrete dual-vector code into the continuous position information of the dung beetle:
[0101] Machine code portion:
[0102] The following expression converts the sequence number of the selected machine in the machine set for the process to the corresponding individual position vector element value:
[0103] , ;
[0104] in, The first element representing the individual position vector One machine, Indicates machine The number of machines that can be selected for the corresponding process; Indicates the total number of machines; This indicates the index of the selected machine within the set of available machines; if =1, then exist The value can be any value within the range;
[0105] Work code section:
[0106] First generate A set of random numbers corresponding to the process sequencing scheme are generated and arranged in ascending order. Each random number is assigned a unique ROV value according to the ROV rule, so that each ROV value corresponds to a process. Then, the ROV values are rearranged according to the coding order of the processes. The order of the random numbers corresponding to the rearranged ROV values is the value of each element in the individual position vector.
[0107] Furthermore, the specific method for active decoding in step 2.1.2 includes:
[0108] Indicates the first step on the process code The start time of each process. This indicates the machine time for the process in which the process is located. Indicate process The corresponding machine number for processing. This indicates the workpiece time corresponding to the process. Indicate process The corresponding workpiece number, Indicates the end time of the process. Indicate process Whether preventative maintenance of the RGV is required. Set to 1 if required, and 0 if not. Indicates machine The corresponding number Start time of preventive maintenance idle period Indicates machine The corresponding number The end time of a preventive maintenance idle period; the preventive maintenance idle period is the idle time period that can be used for preventive maintenance of the machine. Indicates machine The corresponding number The start time of the segment's idle time.
[0109] Indicates machine The corresponding number The end time of a processing idle period can be used for preventative machine maintenance or for moving processes forward. This indicates the workpiece time before the update;
[0110] When machine time exceeds workpiece time:
[0111] There is no idle time before the process begins:
[0112] Set the initial process start time as follows:
[0113] ;
[0114] Determine whether RGV maintenance is required before the process.
[0115] ;
[0116] If so, preventative maintenance is required; otherwise, preventative maintenance is not required.
[0117] When preventative maintenance is required before a process:
[0118] Set the RGV preventive maintenance variable corresponding to this process to 1:
[0119] ;
[0120] Record the start time of the process as follows:
[0121] ;
[0122] Update machine time and workpiece time:
[0123] ;
[0124] ;
[0125] Record the end time of the process as follows:
[0126] ;
[0127] When preventative maintenance is not required before the process:
[0128] Set the RGV preventive maintenance variable corresponding to this process to 0:
[0129] ;
[0130] The process start time is the initial process start time, the update machine time, and the workpiece time.
[0131] ;
[0132] ;
[0133] Record the end time of the process as follows:
[0134] ;
[0135] There is an idle period before the process begins:
[0136] The operation of the process is shifted to the left, moving to an earlier start time; let... For machines The processing idle time interval, Indicates the start time of idle period. Indicates the idle end time. For process In the machine On the processing time, For process Processing completion time; procedures Able to be inserted into the machine Processing during previous idle periods requires satisfying the following inequality in the time interval:
[0137] ;
[0138] If an available time interval is found, then the process... start time for:
[0139] ;
[0140] Update and maintenance off-peak hours:
[0141] The maintenance idle time period includes the processing idle time period. There will be one and only one maintenance idle time period that is utilized. The utilized maintenance idle time period is found by looping and the maintenance idle time period is updated as needed.
[0142] if ;
[0143] The maintenance idle time utilized is:
[0144] [ ; ];
[0145] If the insertion of a process divides the original idle time period into two:
[0146] ;
[0147] Added idle time slots:
[0148] [ , ];
[0149] Update the original idle time period end time:
[0150] ;
[0151] If the process is inserted before the original idle time period, the latter part is the remaining idle time period, that is:
[0152] ;
[0153] Update the start time of the previously available time slot:
[0154] ;
[0155] If the process is inserted after the original idle time period, the preceding part is the remaining idle time period, that is:
[0156] ;
[0157] Updated end time of the previously available time slot:
[0158] ;
[0159] Otherwise, after the process is inserted, the original idle time period will be filled, and the idle time period that was used will be deleted.
[0160] Update processing idle time periods:
[0161] If the insertion of a process divides the original idle time period into two:
[0162] ;
[0163] Added idle time slots:
[0164] [ , ];
[0165] Update the original idle time period end time:
[0166] ;
[0167] If the process is inserted before the original idle time period, the latter part is the remaining idle time period, that is:
[0168] ;
[0169] Update the start time of the previously available time slot:
[0170] ;
[0171] If the process is inserted after the original idle time period, the preceding part is the remaining idle time period, that is:
[0172] ;
[0173] Updated end time of the previously available time slot:
[0174] ;
[0175] Otherwise, after the process is inserted, the original idle time period will be filled, and the idle time period that was used will be deleted.
[0176] If no available free time period is found, the decoding is performed in the same way as if there were no free time periods before the process.
[0177] When the workpiece time exceeds the machine time, the process cannot be inserted into the previous idle time period, and normal decoding is required.
[0178] Determine whether RGV maintenance is required before the process.
[0179]
[0180] If so, preventative maintenance is required; otherwise, preventative maintenance is not required.
[0181] When preventative maintenance is required before a process:
[0182] Set the RGV preventive maintenance variable corresponding to this process to 1:
[0183] ;
[0184] Record the start time of the process as follows:
[0185] ;
[0186] Update machine time and workpiece time:
[0187] ;
[0188] ;
[0189] Record the end time of the process as follows:
[0190] ;
[0191] When preventative maintenance is not required before the process:
[0192] Set the RGV preventive maintenance variable corresponding to this process to 0:
[0193] ;
[0194] Update workpiece time and machine time:
[0195] ; ;
[0196] Record the end time of the process as follows:
[0197] .
[0198] Furthermore, the specific method for determining the maintenance idle time period in step 3 includes:
[0199] There are four possible scenarios:
[0200] Indicate process The machine time of the machine in question. Indicate process The corresponding workpiece time. Indicates the reliability of RGV before the process. This indicates the reliability threshold for RGV maintenance. Indicates machine Machine time, Indicates the RGV maintenance start time. Indicates the RGV maintenance end time. Indicate process Time required to carry out;
[0201] The machine time of the process is greater than or equal to the workpiece time, and preventative maintenance is required for the RGV before the process.
[0202] , ;
[0203] The machine performing the process does not have any idle processing time periods. The newly added maintenance idle time periods for the machine are:
[0204] [ , ];
[0205] The remaining machines perform conditional checks; if New maintenance off-peak hours for the machine:
[0206] [ , ];
[0207] if The machine has added idle processing time periods:
[0208] [ , ];
[0209] The machine time of the process is greater than or equal to the workpiece time, and the RGV does not require preventative maintenance before the process.
[0210] , ;
[0211] No additional processing or maintenance downtime will be added to the machines involved in the process.
[0212] The machine time for the process is less than the workpiece time, and preventative maintenance is required for the RGV before the process, i.e.:
[0213] , ;
[0214] New maintenance idle time periods for the machines involved in the process:
[0215] [ , ];
[0216] Added processing idle time periods:
[0217] [ , ];
[0218] The remaining machines perform conditional judgments if New maintenance off-peak hours for the machine:
[0219] [ , ];
[0220] if The machine has added idle processing time periods:
[0221] [ , ];
[0222] The machine time of the process is less than the workpiece time, and the RGV does not require preventative maintenance before the process.
[0223] , ;
[0224] Additional idle time periods for the machine where the process is located:
[0225] [ , ].
[0226] Furthermore, the specific method for determining the machine's preventative maintenance time window in step 3.2.3 is as follows:
[0227] Indicates the machine number The lower bound of the flexible time window for preventative maintenance. Indicates the machine number The sum of the upper bound of the flexible time window for preventive maintenance and the time taken to carry out preventive maintenance. This indicates the start time of the machine's first idle period. This indicates the end time of the machine's first idle period. Indicates the machine number The upper bound of the flexible time window for secondary preventive maintenance. Indicates the start time of the maximum available time period. Indicates the time required for preventative maintenance of the machine;
[0228] First, the available idle time periods for each preventative maintenance of each machine are recorded cyclically:
[0229] Calculate the cycle interval for preventive maintenance of each machine, and use [ , Compare the available idle time periods with the machine's idle time periods and record the available idle time periods, which are divided into the following three cases:
[0230] if :
[0231] The available free time period is recorded as follows:
[0232] [ ;
[0233] [Marked as the first category of available idle time periods;]
[0234] if ;
[0235] and :
[0236] The available free time period is recorded as follows:
[0237] [ ;
[0238] [Marked as the second category of available idle time periods;]
[0239] if ;
[0240] and ;
[0241] The available free time period is recorded as follows:
[0242] [ ;
[0243] It is marked as a third category of available idle time period;
[0244] Then, within the loop, the start and end intervals for each preventative maintenance session for each machine are determined based on the type of available idle time period, falling into the following four categories:
[0245] If the available idle time period is classified as Category 1, the machine's preventative maintenance interval is:
[0246] [ , ];
[0247] If the available idle time period is classified as Category II, the machine's preventative maintenance interval is:
[0248] [ ; ];
[0249] If the available idle time period is classified as Category 3, the machine's preventative maintenance interval is:
[0250] [ , ];
[0251] If no available time period falls under category four, the machine's preventative maintenance interval is:
[0252] [ , ].
[0253] Furthermore, step 4 also requires determining the processing idle time period, and the specific methods include:
[0254] Used for recording machines Machine time before the update Indicates machine No. The start time of the next maintenance. Indicates machine No. The end time of this maintenance;
[0255] The determination of processing idle time periods can be categorized into the following eight situations:
[0256] Machine time is greater than workpiece time. :
[0257] Preventative maintenance of the RGV is required before the process begins. :
[0258] The execution of the process is affected by preventative machine maintenance, namely:
[0259] ;
[0260] (1) The process needs to be moved to a later time, resulting in idle time:
[0261] For machines that are not involved in the process:
[0262] Preventative maintenance for the machine occupies the latter part of the original idle time period. The end time of the idle time period is not the start time of the trolley maintenance, but the start time of the machine maintenance. A new idle time period has been added.
[0263] [ , ];
[0264] Preventative maintenance of the machine is entirely scheduled within the original idle time period. This divides the original idle time period in two, creating a new idle time period:
[0265] [ , ];
[0266] [ , ];
[0267] Preventative maintenance of the machine occupies the beginning of the original idle time period. The start time of the idle time is not the machine time, but the end time of the machine maintenance. A new idle time period has been added:
[0268] [ , ];
[0269] For the machine in which the process is performed:
[0270] When preventative maintenance of the machine begins after RGV maintenance is completed, the machine in question experiences a processing idle period:
[0271] [ , ];
[0272] (2) The process does not need to be moved to the next stage. The idle time period added to the machine that is not in the process is the same as that of the machine that is not in the process in the first case. The machine that is in the process does not generate idle time periods.
[0273] Preventive maintenance of the RCV trolley is not required before the process. :
[0274] The execution of the process is affected by preventative machine maintenance, namely:
[0275] ;
[0276] (3) If a process needs to be moved to a later stage, the machine not involved in the process will not generate idle time periods, while the machine involved in the process will generate additional idle time periods:
[0277] [ ; ];
[0278] (4) The process is not affected by machine preventive maintenance, does not need to be moved back, and does not generate idle time periods;
[0279] The workpiece time is greater than the machine time. :
[0280] Preventative maintenance of the RGV is required before the process begins. :
[0281] The execution of the process is affected by preventative machine maintenance, namely:
[0282] ;
[0283] (5) If the process needs to be moved to the next stage, the additional idle time period for machines other than the machines where the process is located is the same as that for machines other than the machines where the process is located in the first case;
[0284] The process is not affected by machine preventive maintenance and does not need to be moved. All machines have additional idle time periods as in the case of machines not involved in the process in the first scenario.
[0285] Preventive maintenance of the RCV trolley is not required before the process. :
[0286] (6) The implementation of the process is affected by the machine's preventive maintenance, namely:
[0287]
[0288] (7) The process needs to be moved to a later stage, and the idle time period is the same as in the third case;
[0289] (8) The process is not affected by the machine's preventive maintenance and does not need to be moved. The machine that is not in the process does not have an additional idle time period. The machine that is in the process has an additional idle time period, which is the same as the machine that is not in the process in the first case.
[0290] Furthermore, the specific method for active decoding in step 5.2 includes:
[0291] in This indicates whether preventive maintenance of the machine affects the process; set to 1 if it does, and 0 if it does not.
[0292] When machine time is greater than workpiece time:
[0293] There is no idle time before the process begins:
[0294] Set the initial process start time as follows:
[0295] ;
[0296] Determine whether RGV maintenance is required before the process.
[0297] ;
[0298] If so, preventative maintenance is required; otherwise, preventative maintenance is not required.
[0299] When preventative maintenance is required before a process:
[0300] Set the RGV preventive maintenance variable corresponding to this process to 1:
[0301] ;
[0302] Determine whether preventative maintenance of the machine affects the process. If it does, the process needs to be moved to the next step. Set the variable recording whether preventative maintenance affects the process to 1.
[0303] ;
[0304] The update process starts at:
[0305] ;
[0306] Update machine time:
[0307] ;
[0308] After assessing the impact of machine maintenance on the process and recording the workpiece time and process end time following related operations, the following steps were taken:
[0309] ;
[0310] ;
[0311] When preventative maintenance is not required before the process:
[0312] Set the RGV preventive maintenance variable corresponding to this process to 0:
[0313] ;
[0314] Determine whether preventative maintenance of the machine affects the process. If it does, the process needs to be moved to the next step. Set the variable recording whether preventative maintenance affects the process to 1.
[0315] ;
[0316] The update process starts at:
[0317] ;
[0318] Update machine time:
[0319] ;
[0320] If preventative maintenance of the machine does not affect the process, then there is no need to update the process start time and machine time.
[0321] The assessment of the impact of machine maintenance on the process, and the recording of workpiece time and process end time after related operations are completed, are as follows:
[0322] ;
[0323] ;
[0324] There is an idle period before the process begins:
[0325] The operation of the process is shifted to the left, moving to an earlier start time; let... For the first One machine, For machines The processing idle time interval, Indicates the start time of idle period. Indicates the idle end time. for In the machine On the processing time, For process Processing completion time; procedures Able to be inserted into the machine Processing during previous idle periods requires satisfying the following inequality in the time interval:
[0326] ;
[0327] If an available time interval is found, then the process... start time for:
[0328] ;
[0329] Update the processing idle time period, using the same method as the processing time period update in claim 5;
[0330] If no available free time period is found, the decoding is performed in the same way as if there were no free time periods before the process.
[0331] When the workpiece time is greater than the machine time:
[0332] The process cannot be inserted into a previous idle time period; normal decoding is possible.
[0333] Set the initial start time of the process as follows:
[0334] ;
[0335] Determine whether RGV maintenance is required before the process.
[0336] ;
[0337] If so, preventative maintenance is required; otherwise, preventative maintenance is not required.
[0338] When preventative maintenance is required before a process:
[0339] Set the RGV preventive maintenance variable corresponding to this process to 1:
[0340] ;
[0341] If preventative maintenance of the machine affects the process, the process needs to be moved to a later date:
[0342] Update process start time and machine time:
[0343] If preventative maintenance of the machine does not affect the process, there is no need to update the process start time and machine time;
[0344] Record the workpiece time and process end time:
[0345] ;
[0346] ;
[0347] When preventative maintenance is not required before the process:
[0348] Set the RGV preventive maintenance variable corresponding to this process to 0:
[0349] ;
[0350] If preventative maintenance of the machine affects the process, the process needs to be moved to a later date:
[0351] Update process start time and machine time:
[0352] If preventative maintenance of the machine does not affect the process, there is no need to update the process start time and machine time;
[0353] Record machine time and process end time:
[0354] .
[0355] This invention breaks away from the fragmented "schedule first, maintain later" model, incorporating both RGV maintenance and machine tool preventative maintenance into the scheduling constraint system simultaneously. By first identifying idle time periods of the machine tool and then combining this with the machine tool reliability elastic maintenance interval derived from the Weibull distribution, the maintenance time window is precisely matched. This avoids interference with normal processing during maintenance while ensuring long-term stable operation of the equipment, achieving dual optimization of production tasks and equipment management. Attached Figure Description
[0356] Figure 1 This is a schematic diagram of a production and maintenance scenario for a flexible manufacturing system.
[0357] Figure 2 This is a Gantt chart that does not consider the scheduling results of machine preventive maintenance.
[0358] Figure 3 A Gantt chart showing the scheduling results to take into account preventative machine maintenance.
[0359] Figure 4 An iterative diagram of the scheduling scheme considering preventive maintenance of machines.
[0360] Figure 5 This is the flowchart of the dung beetle algorithm.
[0361] Figure 6 This invention presents an overall flowchart of the joint scheduling of a single-objective flexible manufacturing system considering RGV preventive maintenance. Detailed Implementation
[0362] The implementation of this invention includes the following steps:
[0363] Step 1: Establish a production line scheduling model for the flexible manufacturing system;
[0364] Step 1.1: Determine the constraint model;
[0365] Based on the specific production scenarios and processing and maintenance information of the flexible manufacturing system, a constraint model for joint scheduling of production and preventive maintenance is constructed. This model must ensure that workpieces are processed sequentially according to a predetermined process, strictly adhering to the sequential relationships between operations. Simultaneously, machine processing and maintenance must be coordinated, ensuring that maintenance operations are appropriately embedded into processing tasks and conform to preset maintenance durations and selectable time windows. Furthermore, the operation and maintenance of the RGV (Remotely Controller Vehicle) must also be included in the constraints, ensuring that its scheduling and path planning meet task continuity requirements and comply with maintenance duration and selectable time window requirements, thereby guaranteeing stable system operation and overall scheduling optimization.
[0366] Therefore, the flexible manufacturing system is set to contain a total of One processing machine, one RGV transport vehicle, total Each workpiece is processed according to the specified process route, with each operation... It can be processed on different machines with the same processing capacity. Preventive maintenance is required when the reliability of the machine or RGV drops below a set threshold. The workpiece processing information table is shown in Table 1.
[0367] Table 1 Workpiece Machining Information
[0368]
[0369] The following constraints apply to the processing and maintenance of the flexible manufacturing system:
[0370] The start time and processing time of the workpiece must be less than the completion time.
[0371] ;
[0372] In the formula Indicates workpiece The start time, Indicate process In the machine On the processing time, Indicates workpiece The completion time.
[0373] The end time of the previous process must be less than the start time of the next process:
[0374] ;
[0375] In the formula Indicate process In the machine The time required to complete the processing. Indicate process In the machine The time when processing begins;
[0376] The completion time of each workpiece should be before the total completion time:
[0377] ;
[0378] At any given time, a machine can only produce one workpiece.
[0379] ;
[0380] in Indicate process Is the machine currently in use? The processing level is 1, indicating that the process is in progress, and 0 indicates that the process is not progressing.
[0381] RGV maintenance does not affect the processes currently being performed on the machine. Once the current process is completed, the machine will stop production, and subsequent processes can only be performed after the RGV maintenance is completed.
[0382] RGV maintenance can be performed simultaneously with machine maintenance.
[0383] The maintenance of the machine does not affect the production of other machines or the operation of the RGV.
[0384] Preventative maintenance and production cannot be carried out simultaneously:
[0385] ;
[0386] in Indicates machine Whether preventative maintenance is being performed, 1 indicates preventative maintenance is being performed, 0 indicates maintenance is not being performed.
[0387] Step 1.2: Determine the objective function of the scheduling problem in the flexible work shop;
[0388] A flexible workshop scheduling optimization model is established with the objective of minimizing the maximum completion time; assuming... The total number of workpieces. For the first If the completion time of each workpiece is given, then the maximum completion time is... The calculation formula is:
[0389] ;
[0390] Step 2: Determine the encoding / decoding method and complete the dung beetle population initialization;
[0391] Step 2.1: Determine the encoding method and decoding method;
[0392] Step 2.1.1: Encode using the MAOS encoding method;
[0393] Step 2.1.2: Decode using an active decoding method;
[0394] Step 2.2: Dung beetle population initialization;
[0395] Step 2.2.1: Generate using a random initialization strategy A random scheduling scheme (discrete dual-vector code);
[0396] Step 2.2.2: Convert the discrete bidirectional code into a continuous position vector of dung beetles to obtain the population size. Random dung beetle populations;
[0397] Step 2.2.3: Randomly divide the initial population into four groups: rolling dung beetle, egg-producing dung beetle, small dung beetle, and thieving dung beetle, accounting for 20%, 20%, 23.3%, and 36.6% of the population, respectively.
[0398] Step 3: Determine the maintenance downtime for each machine;
[0399] Step 3.1: Convert the continuous position vector of the dung beetle population into a discrete two-vector code to obtain the scheduling scheme;
[0400] Step 3.2: Active decoding by the scheduling scheme:
[0401] Step 3.2.1: Use the objective function from Step 1 as the fitness function;
[0402] Step 3.2.2: Determine if the process can be inserted into the machine's idle time period before the process. If yes, move the process forward; otherwise, decode normally.
[0403] Step 3.2.3: Determine whether RGV maintenance is required before the process, and determine the RGV preventive maintenance time period and the process processing time period;
[0404] Step 3.1.4: Repeat steps 3.1.2 and 3.1.3 until the process and RGV preventive maintenance are completed;
[0405] Step 3.1.5: Obtain the scheme excluding machine preventive maintenance, the total scheduling time of the scheme (fitness function value), and the maintenance idle time period of each machine corresponding to the scheme;
[0406] Step 4: Calculate the flexible time interval for the start of preventive maintenance. Using the idle maintenance time periods of each machine recorded in the scheduling scheme generated in Step 3, and combining them with the flexible time interval for the start of preventive maintenance, determine the machine preventive maintenance time window:
[0407] Step 4.1: Determine the flexible time interval for initiating preventive maintenance of the machine;
[0408] Step 4.1.1: Determine the flexible time interval for the next maintenance of the machine based on the machine's initial reliability and the Weibull distribution curve;
[0409] Step 4.1.2: Reliability restoration of the machine;
[0410] Step 4.1.3: Repeat steps 4.1.1 and 4.1.2 until the preventive maintenance start time exceeds the total time without considering machine operation;
[0411] Step 4.1.4: Determine the flexible time interval for starting maintenance for each machine;
[0412] Step 4.2: Find the machine's maximum available idle time period and label the idle time period type:
[0413] Step 4.2.1: Loop through the idle time periods to check if there is any overlap with the machine maintenance flexible time intervals, find the available portions of all idle time, mark the idle time period type, and record them in the idle time period set;
[0414] Step 4.2.2: If the set of available free time slots is not empty, loop through to find the largest available free time slot;
[0415] Step 4.3: Determine the machine's preventative maintenance time window
[0416] Step 4.3.1: If there is no available idle time period, machine maintenance shall begin from the end of the reliability maintenance interval, minimizing the impact on the process as much as possible;
[0417] Step 4.3.2: If a maximum available time period exists, determine the start and end times of machine maintenance based on the type of the maximum available time period;
[0418] Step 5: Incorporate preventative maintenance of the machines to generate the final integrated scheduling solution;
[0419] Step 5.1: Convert the continuous position vector of the dung beetle population into a discrete two-vector code to obtain the scheduling scheme;
[0420] Step 5.2: Active decoding based on the scheduling plan and machine preventive maintenance time window:
[0421] Step 5.2.1: Use the objective function from Step 1 as the fitness function;
[0422] Step 5.2.2: Determine the maintenance idle time period for each machine based on Step 3;
[0423] Step 5.2.3: Determine the preventive maintenance time window for each machine based on Step 4;
[0424] Step 5.2.4: Determine if the process can be inserted into the machine's idle time period before the process. If yes, move the process forward; otherwise, decode normally.
[0425] Step 5.2.5: Determine whether RGV maintenance is required before the process and determine the time period for RGV preventive maintenance;
[0426] Step 5.2.6: Determine whether the machine's preventative maintenance will affect the process and determine the processing time period for the process;
[0427] Step 5.2.7: Repeat steps 5.2.5 and 5.2.6 until the process, RGV preventive maintenance, and machine preventive maintenance are completed;
[0428] Step 5.2.8: Obtain the integrated scheduling scheme for generation and maintenance that takes into account RGV and machine preventive maintenance, and its corresponding total scheduling time (fitness function value);
[0429] Step 5.3: Use the dung beetle algorithm to iterate the dung beetle position scheme to obtain the optimal scheme:
[0430] Step 5.3.1: Determine the current iteration number Has the maximum number of iterations been reached? If yes, proceed to step 5.2.7; otherwise, continue with step 5.2.2 to iterate the dung beetle's position.
[0431] Step 5.3.2: The dung beetle changes position
[0432] The formula for updating the cockroach's position during the rolling process is as follows:
[0433] ;
[0434] In the formula Indicates the current iteration number. Indicates the first Only one dung beetle in the first Position information at the next iteration This represents a constant, which is the defect coefficient. Indicates belonging to The constant, It is a natural coefficient that is assigned a value of -1 or 1. Indicates the worst position globally. Used to simulate changes in light intensity.
[0435] When a dung beetle is blocked by an obstacle and cannot move forward, it needs to dance to reorient itself and find a new route. To simulate this dancing behavior, a tangent function is used to obtain the new rolling direction. After obtaining the new rolling direction, the dung beetle's position is updated using the following formula:
[0436] ;
[0437] in ;
[0438] Step 5.3.3: Change of position of ovum
[0439] A boundary selection strategy is used to simulate the egg-laying area of female dung beetles, defined as:
[0440] ;
[0441] in This indicates the current local optimal position. , These represent the upper and lower boundaries of the spawning area, respectively. ,in Indicates the maximum number of iterations. , These represent the lower and upper bounds of the optimization problem, respectively.
[0442] The oviposition area changes dynamically with each iteration. Once the oviposition area is determined, the female dung beetle will choose to lay her eggs in the egg clusters within that area. In the DBO algorithm, each female dung beetle lays only one egg per iteration. The location of the hatching cluster is also dynamic during the iteration process, defined as:
[0443] ;
[0444] For the first The incubation ball was in the first Position at the next iteration and Let them represent two independent random vectors of size . , This represents the dimension of the optimization problem.
[0445] Step 5.3.4: Dung beetle relocation
[0446] In the DBO algorithm, adult dung beetles are referred to as juvenile dung beetles. Their foraging behavior requires establishing an optimal foraging area to guide the beetle's foraging activities, and this is simulated. The boundary of the optimal foraging area is defined as follows:
[0447] ;
[0448] in This indicates the current local optimal position. , These represent the upper and lower boundaries of the oviposition area, respectively. The location of the dung beetle has been updated as follows:
[0449] ;
[0450] For the first A small dung beetle in the first Position at the next iteration Represents a random number that follows a normal distribution. This represents a random vector belonging to (0,1);
[0451] Step 5.3.5: Stealing the dung beetle's change of position
[0452] In addition, some dung beetles in the population are dung-stealing dung beetles, stealing dung balls from other dung beetles. It is the best foraging location, and therefore also the best location for dung beetles to steal dung balls. Therefore, we can assume that... The vicinity is the best place to compete for food. The location of the dung beetle thief has been updated as follows:
[0453] ;
[0454] Indicates the first The little dung beetle in the first Position information at the next iteration It is the size of A random vector, which follows a normal distribution. Represent a constant;
[0455] Step 5.3.6: Jump to step 3;
[0456] Step 5.3.7: Obtain the optimal integrated scheduling scheme for generation and maintenance, taking into account RGV and machine preventive maintenance.
Claims
1. A joint scheduling method for a single-objective flexible manufacturing system that simultaneously considers RGV (Remote Generation Vehicle) and multi-machine preventive maintenance, characterized in that, include: Step 1: Establish a mathematical model for scheduling in a flexible manufacturing system; Step 1.1: Determine the constraint model; Based on the specific production scenarios and processing and maintenance information of the flexible manufacturing system, a constraint model for joint scheduling of production and preventive maintenance is constructed. This model must ensure that workpieces are processed sequentially according to the established process and strictly follow the sequential relationship between processes. At the same time, the processing and maintenance of machines must be coordinated and arranged so that maintenance operations are reasonably embedded into processing tasks and meet the preset maintenance duration and time window. In addition, the operation and maintenance of RGVs must also be included in the constraints to ensure that their scheduling and path planning meet the requirements of task continuity and maintenance duration and time window. Step 1.2: Determine the objective function of the scheduling problem in the flexible work shop; A flexible workshop scheduling optimization model is established with the objective of minimizing the maximum completion time; assuming... The total number of workpieces. For the first If the completion time of each workpiece is given, then the maximum completion time is... The calculation formula is: ; Step 2: Determine the encoding / decoding method and complete the dung beetle population initialization; Step 2.1: Determine the encoding method and decoding method; Step 2.1.1: Encode using the MAOS encoding method; Step 2.1.2: Decode using an active decoding method; Step 2.2: Dung beetle population initialization; Step 2.2.1: Generate using a random initialization strategy A random scheduling scheme; Step 2.2.2: Convert the discrete bidirectional code into a continuous position vector of dung beetles to obtain the population size. Random dung beetle populations; Step 2.2.3: Randomly divide the initial population into rolling dung beetles, egg-producing dung beetles, small dung beetles, and thieving dung beetles; Step 3: Determine the maintenance downtime for each machine; Step 3.1: Convert the continuous position vector of the dung beetle population into a discrete two-vector code to obtain the scheduling scheme; Step 3.2: Active decoding by the scheduling scheme: Step 3.2.1: Use the objective function from Step 1 as the fitness function; Step 3.2.2: Determine if the process can be inserted into the machine's idle time period before the process; if yes, move the process forward; otherwise, decode normally. Step 3.2.3: Determine whether RGV maintenance is required before the process, and determine the RGV preventive maintenance time period and the process processing time period; Step 3.1.4: Repeat steps 3.1.2 and 3.1.3 until the process and RGV preventive maintenance are completed; Step 3.1.5: Obtain the plan excluding machine preventive maintenance, the total scheduling time of the plan, and the maintenance idle time periods of each machine corresponding to the plan; Step 4: Calculate the flexible time interval for the start of preventive maintenance. Using the idle maintenance time periods of each machine recorded in the scheduling scheme generated in Step 3, and combining them with the flexible time interval for the start of preventive maintenance, determine the machine preventive maintenance time window: Step 4.1: Determine the flexible time interval for initiating preventive maintenance of the machine; Step 4.1.1: Determine the flexible time interval for the next maintenance of the machine based on the machine's initial reliability and the Weibull distribution curve; Step 4.1.2: Reliability restoration of the machine; Step 4.1.3: Repeat steps 4.1.1 and 4.1.2 until the preventive maintenance start time exceeds the total time without considering machine operation; Step 4.1.4: Determine the flexible time interval for starting maintenance for each machine; Step 4.2: Find the machine's maximum available idle time period and label the idle time period type: Step 4.2.1: Loop through the idle time periods to check if there is any overlap with the machine maintenance flexible time intervals, find the available portions of all idle time, mark the idle time period type, and record them in the idle time period set; Step 4.2.2: If the set of available free time slots is not empty, loop through to find the largest available free time slot; Step 4.3: Determine the time window for preventative maintenance of the machine; Step 4.3.1: If there is no available idle time period, machine maintenance shall begin from the end of the reliability maintenance interval; Step 4.3.2: If a maximum available time period exists, determine the start and end times of machine maintenance based on the type of the maximum available time period; Step 5: Incorporate preventative maintenance of the machines to generate the final integrated scheduling solution; Step 5.1: Convert the continuous position vector of the dung beetle population into a discrete two-vector code to obtain the scheduling scheme; Step 5.2: Active decoding based on the scheduling plan and machine preventive maintenance time window: Step 5.2.1: Use the objective function from Step 1 as the fitness function; Step 5.2.2: Determine the maintenance idle time period for each machine based on Step 3; Step 5.2.3: Determine the preventive maintenance time window for each machine based on Step 4; Step 5.2.4: Determine if the process can be inserted into the machine's idle time period before the process; if yes, move the process forward; otherwise, decode normally. Step 5.2.5: Determine whether RGV maintenance is required before the process and determine the time period for RGV preventive maintenance; Step 5.2.6: Determine whether the machine's preventative maintenance will affect the process and determine the processing time period for the process; Step 5.2.7: Repeat steps 5.2.5 and 5.2.6 until the process, RGV preventive maintenance, and machine preventive maintenance are completed; Step 5.2.8: Obtain the integrated scheduling scheme for generation and maintenance that takes into account RGV and machine preventive maintenance, and its corresponding total scheduling time; Step 5.3: Use the dung beetle algorithm to iterate the dung beetle position scheme to obtain the optimal scheme: Step 5.3.1: Determine the current iteration number Has the maximum number of iterations been reached? If yes, proceed to step 5.2.7; otherwise, continue with step 5.2.2 to iterate the dung beetle's position. Step 5.3.2: The dung beetle changes position The formula for updating the cockroach's position during the rolling process is as follows: ; In the formula, Indicates the current iteration number. Indicates the first Only one dung beetle in the first Position information at the next iteration This represents a constant, which is the defect coefficient. Indicates belonging to constant, It is a natural coefficient that is assigned a value of -1 or 1. Indicates the worst position globally. Used to simulate changes in light intensity; When a dung beetle is blocked by an obstacle and cannot move forward, it needs to dance to reorient itself and find a new route. To simulate this dancing behavior, a tangent function is used to obtain the new rolling direction. After obtaining the new rolling direction, the dung beetle's position is updated using the following formula: ; in ; Step 5.3.3: Change of position of the ovum; A boundary selection strategy is used to simulate the egg-laying area of female dung beetles, defined as: ; in This indicates the current local optimal position. , These represent the upper and lower boundaries of the spawning area, respectively. ,in Indicates the maximum number of iterations. , These represent the lower and upper bounds of the optimization problem, respectively. The oviposition area changes dynamically with each iteration. Once the oviposition area is determined, the female dung beetle will choose to lay its eggs in that area. In the DBO algorithm, each female dung beetle produces only one egg in each iteration. The position of the hatching ball is also dynamic during the iteration process, defined as: ; For the first The incubation ball was in the first Position at the next iteration and Let them represent two independent random vectors of size . , The dimension of the optimization problem; Step 5.3.4: The dung beetles change positions; In the DBO algorithm, adult dung beetles are referred to as juvenile dung beetles. Their foraging behavior requires establishing an optimal foraging area to guide the beetle's foraging activities, and this is simulated. The boundary of the optimal foraging area is defined as follows: ; in This indicates the current local optimal position. , These represent the upper and lower boundaries of the oviposition area, respectively; the location of the dung beetle has been updated as follows: ; Represents a random number that follows a normal distribution. This represents a random vector belonging to (0,1); Step 5.3.5: Steal the dung beetle's change of position; In addition, some dung beetles in the population are dung-stealing dung beetles, stealing dung balls from other dung beetles. It is the best foraging location, and therefore also the best location for dung beetles to steal dung balls. Therefore, we can assume that... The vicinity is the best place to compete for food. The location of the dung beetle thief has been updated as follows: ; It is the size of A random vector, which follows a normal distribution. Represent a constant; Step 5.3.6: Jump to step 3; Step 5.3.7: Obtain the optimal integrated scheduling scheme for generation and maintenance, taking into account RGV and machine preventive maintenance.
2. The joint scheduling method for a single-objective flexible manufacturing system that simultaneously considers RGV and multi-machine preventive maintenance as described in claim 1, characterized in that, The specific method for determining the constraint model in step 1.1 includes: Flexible work workshops have One workpiece to be processed. Taiwanese processing machines, each workpiece includes Each process is carried out according to the specified technological route. It can be processed on different machines, and the processing capacity of the machines is the same; The start time and processing time of the workpiece must be less than the completion time. ; In the formula Indicates workpiece The start time, Indicate process In the machine On the processing time, Indicates workpiece Completion time; The end time of the previous process must be less than the start time of the next process: ; In the formula Indicate process In the machine The time required to complete the processing. Indicate process In the machine The time when processing begins; The completion time of each workpiece should be before the total completion time: ; At any given time, a machine can only produce one workpiece. ; in Indicate process Is the machine currently in use? The processing is indicated by 1, where 1 represents processing and 0 represents no processing. RGV maintenance does not affect the processes currently being performed on the machine. Once the current process is completed, the machine will stop production, and subsequent processes can only be performed after the RGV maintenance is completed. RGV maintenance is performed simultaneously with machine maintenance; The maintenance of the machine does not affect the production of other machines or the operation of the RGV; Preventative maintenance and production cannot be carried out simultaneously: ; in Indicates machine Whether preventative maintenance is being performed, 1 indicates preventative maintenance is being performed, 0 indicates maintenance is not being performed.
3. The joint scheduling method for a single-objective flexible manufacturing system that simultaneously considers RGV and multi-machine preventive maintenance as described in claim 1, characterized in that, The specific method of step 2.2 includes: Step 2.2.1: Perform random population initialization to obtain an initial population with discrete bi-vector codes as the location information of individual dung beetles: A random dung beetle population was obtained by randomly generating process codes and machine codes using a random function. Step 2.2.2: Then convert the discrete dual-vector code into the continuous position information of the dung beetle: Machine code portion: The following expression converts the sequence number of the selected machine in the machine set for the process to the corresponding individual position vector element value: , ; in, The first element representing the individual position vector One machine, Indicates machine The number of machines that can be selected for the corresponding process; Indicates the total number of machines; This indicates the index of the selected machine within the set of available machines; if =1, then exist The value can be any value within the range; Work code section: First generate A set of random numbers corresponding to the process sequencing scheme are generated and arranged in ascending order. Each random number is assigned a unique ROV value according to the ROV rule, so that each ROV value corresponds to a process. Then, the ROV values are rearranged according to the coding order of the processes. The order of the random numbers corresponding to the rearranged ROV values is the value of each element in the individual position vector.
4. The joint scheduling method for a single-objective flexible manufacturing system that simultaneously considers RGV and multi-machine preventive maintenance as described in claim 1, characterized in that, The specific methods for active decoding in step 2.1.2 include: Indicates the first step on the process code The start time of each process, This indicates the machine time for the process in which the process is located. Indicate process The corresponding machine number for processing. This indicates the workpiece time corresponding to the process. Indicate process The corresponding workpiece number, Indicates the end time of the process. Indicate process Whether preventative maintenance of the RGV is required. Set to 1 if required, and 0 if not. Indicates machine The corresponding number Start time of preventive maintenance idle period Indicates machine The corresponding number The end time of a preventive maintenance idle period; the preventive maintenance idle period is the idle time period that can be used for preventive maintenance of the machine. Indicates machine The corresponding number The start time of the segment's idle time. Indicates machine The corresponding number The end time of a processing idle period can be used for preventative machine maintenance or for moving processes forward. This indicates the workpiece time before the update; When machine time exceeds workpiece time: There is no idle time before the process begins: Set the initial process start time as follows: ; Determine whether RGV maintenance is required before the process. ; If so, preventative maintenance is required; otherwise, preventative maintenance is not required. When preventative maintenance is required before a process: Set the RGV preventive maintenance variable corresponding to this process to 1: ; Record the start time of the process as follows: ; Update machine time and workpiece time: ; ; Record the end time of the process as follows: ; When preventative maintenance is not required before the process: Set the RGV preventive maintenance variable corresponding to this process to 0: ; The process start time is the initial process start time, the update machine time, and the workpiece time. ; ; Record the end time of the process as follows: ; There is an idle period before the process begins: The operation of the process is shifted to the left, moving to an earlier start time; let... For machines The processing idle time interval, Indicates the start time of idle period. Indicates the idle end time. For process In the machine On the processing time, For process Processing completion time; procedures Able to be inserted into the machine Processing during previous idle periods requires satisfying the following inequality in the time interval: ; If an available time interval is found, then the process... start time for: ; Update and maintenance off-peak hours: The maintenance idle time period includes the processing idle time period. There will be one and only one maintenance idle time period that is utilized. The utilized maintenance idle time period is found by looping and the maintenance idle time period is updated as needed. if ; The maintenance idle time utilized is: [ ; ]; If the insertion of a process divides the original idle time period into two: ; Added idle time slots: [ , ]; Update the original idle time period end time: ; If the process is inserted before the original idle time period, the latter part is the remaining idle time period, that is: ; Update the start time of the previously available time slot: ; If the process is inserted after the original idle time period, the preceding part is the remaining idle time period, that is: ; Updated end time of the previously available time slot: ; Otherwise, after the process is inserted, the original idle time period will be filled, and the idle time period that was used will be deleted. Update processing idle time periods: If the insertion of a process divides the original idle time period into two: ; Added idle time slots: [ , ]; Update the original idle time period end time: ; If the process is inserted before the original idle time period, the latter part is the remaining idle time period, that is: ; Update the start time of the previously available time slot: ; If the process is inserted after the original idle time period, the preceding part is the remaining idle time period, that is: ; Updated end time of the previously available time slot: ; Otherwise, after the process is inserted, the original idle time period will be filled, and the idle time period that was used will be deleted. If no available free time period is found, the decoding is performed in the same way as if there were no free time periods before the process. When the workpiece time exceeds the machine time, the process cannot be inserted into the previous idle time period, and normal decoding is required. Determine whether RGV maintenance is required before the process. ; If so, preventative maintenance is required; otherwise, preventative maintenance is not required. When preventative maintenance is required before a process: Set the RGV preventive maintenance variable corresponding to this process to 1: ; Record the start time of the process as follows: ; Update machine time and workpiece time: ; ; Record the end time of the process as follows: ; When preventative maintenance is not required before the process: Set the RGV preventive maintenance variable corresponding to this process to 0: ; Update workpiece time and machine time: ; ; Record the end time of the process as follows: 。 5. The joint scheduling method for a single-objective flexible manufacturing system that simultaneously considers RGV and multi-machine preventive maintenance as described in claim 1, characterized in that, The specific methods for determining the maintenance idle time period in step 3 include: There are four possible scenarios: Indicate process The machine time of the machine in question. Indicate process The corresponding workpiece time. Indicates the reliability of RGV before the process. This indicates the reliability threshold for RGV maintenance. Indicates machine Machine time, Indicates the RGV maintenance start time. Indicates the RGV maintenance end time. Indicate process Time required to carry out; The machine time of the process is greater than or equal to the workpiece time, and preventative maintenance is required for the RGV before the process. , ; The machine performing the process does not have any idle processing time periods. The newly added maintenance idle time periods for the machine are: [ , ]; The remaining machines perform conditional checks; if New maintenance idle time periods for the machine: [ , ]; if The machine has added idle processing time periods: [ , ]; The machine time of the process is greater than or equal to the workpiece time, and the RGV does not require preventative maintenance before the process. , ; No additional processing or maintenance downtime will be added to the machines involved in the process. The machine time for the process is less than the workpiece time, and preventative maintenance is required for the RGV before the process, i.e.: , ; New maintenance idle time periods for the machines involved in the process: [ , ]; Added processing idle time periods: [ , ]; The remaining machines perform conditional judgments if New maintenance idle time periods for the machine: [ , ]; if The machine has added idle processing time periods: [ , ]; The machine time of the process is less than the workpiece time, and the RGV does not require preventative maintenance before the process. , ; Additional idle time periods for the machine where the process is located: [ , ]。 6. The joint scheduling method for a single-objective flexible manufacturing system that simultaneously considers RGV and multi-machine preventive maintenance according to claim 1, characterized in that, The specific method for determining the machine's preventive maintenance time window in step 3.2.3 is as follows: Indicates the machine number The lower bound of the flexible time window for preventative maintenance. Indicates the machine number The sum of the upper bound of the flexible time window for preventive maintenance and the time taken to carry out preventive maintenance. This indicates the start time of the machine's first idle period. This indicates the end time of the machine's first idle period. Indicates the machine number The upper bound of the flexible time window for secondary preventive maintenance. Indicates the start time of the maximum available time period. Indicates the time required for preventative maintenance of the machine; First, the available idle time periods for each preventative maintenance of each machine are recorded cyclically: Calculate the cycle interval for preventive maintenance of each machine, and use [ , Compare the available idle time periods with the machine's idle time periods and record the available idle time periods, which are divided into the following three cases: if : The available free time period is recorded as follows: [ ; [Marked as the first category of available idle time periods;] if ; and : The available free time period is recorded as follows: [ ; [Marked as the second category of available idle time periods;] if ; and ; The available free time period is recorded as follows: [ ; It is marked as a third category of available idle time period; Then, within the loop, the start and end intervals for each preventative maintenance session for each machine are determined based on the type of available idle time period, falling into the following four categories: If the available idle time period is classified as Category 1, the machine's preventative maintenance interval is: [ , ]; If the available idle time period is classified as Category II, the machine's preventative maintenance interval is: [ ; ]; If the available idle time period is classified as Category 3, the machine's preventative maintenance interval is: [ , ]; If no available time period falls under category four, the machine's preventative maintenance interval is: [ , ]。 7. The joint scheduling method for a single-objective flexible manufacturing system that simultaneously considers RGV and multi-machine preventive maintenance according to claim 1, characterized in that, Step 4 also requires determining the processing idle time period, and the specific methods include: Used for recording machines Machine time before the update Indicates machine No. Start time of the next maintenance Indicates machine No. The end time of this maintenance; The determination of processing idle time periods can be categorized into the following eight situations: Machine time is greater than workpiece time. : Preventative maintenance of the RGV is required before the process begins. : The execution of the process is affected by preventative machine maintenance, namely: ; (1) The process needs to be moved to a later time, resulting in idle time: For machines that are not involved in the process: Preventative maintenance for the machine occupies the latter part of the original idle time period. The end time of the idle time period is not the start time of the trolley maintenance, but the start time of the machine maintenance. A new idle time period has been added. [ , ]; Preventative maintenance of the machine is entirely scheduled within the original idle time period. This divides the original idle time period in two, creating a new idle time period: [ , ]; [ , ]; Preventative maintenance of the machine occupies the beginning of the original idle time period. The start time of the idle time is not the machine time, but the end time of the machine maintenance. A new idle time period has been added: [ , ]; For the machine in which the process is performed: When preventative maintenance of the machine begins after RGV maintenance is completed, the machine in question experiences a processing idle period: [ , ]; (2) The process does not need to be moved to the next stage. The idle time period added to the machine that is not in the process is the same as that of the machine that is not in the process in the first case. The machine that is in the process does not generate idle time periods. Preventive maintenance of the RCV trolley is not required before the process. : The execution of the process is affected by preventative machine maintenance, namely: ; (3) If a process needs to be moved to a later stage, the machine not involved in the process will not generate idle time periods, while the machine involved in the process will generate additional idle time periods: [ ; ]; (4) The process is not affected by machine preventive maintenance, does not need to be moved back, and does not generate idle time periods; The workpiece time is greater than the machine time. : Preventative maintenance of the RGV is required before the process begins. : The execution of the process is affected by preventative machine maintenance, namely: ; (5) If the process needs to be moved to the next stage, the additional idle time period for machines other than the machines where the process is located is the same as that for machines other than the machines where the process is located in the first case; The process is not affected by machine preventive maintenance and does not need to be moved. All machines have additional idle time periods as in the case of machines not involved in the process in the first scenario. Preventive maintenance of the RCV trolley is not required before the process. : (6) The implementation of the process is affected by the machine's preventive maintenance, namely: ; (7) The process needs to be moved to a later stage, and the idle time period is the same as in the third case; (8) The process is not affected by the machine's preventive maintenance and does not need to be moved. The machine that is not in the process does not have an additional idle time period. The machine that is in the process has an additional idle time period, which is the same as the machine that is not in the process in the first case.
8. The joint scheduling method for a single-objective flexible manufacturing system that simultaneously considers RGV and multi-machine preventive maintenance according to claim 1, characterized in that, The specific methods for active decoding in step 5.2 include: in This indicates whether preventive maintenance of the machine affects the process; set to 1 if it does, and 0 if it does not. When machine time is greater than workpiece time: There is no idle time before the process begins: Set the initial process start time as follows: ; Determine whether RGV maintenance is required before the process. ; If so, preventative maintenance is required; otherwise, preventative maintenance is not required. When preventative maintenance is required before a process: Set the RGV preventive maintenance variable corresponding to this process to 1: ; Determine whether preventative maintenance of the machine affects the process. If it does, the process needs to be moved to the next step. Set the variable recording whether preventative maintenance affects the process to 1. ; The update process starts at: ; Update machine time: ; After assessing the impact of machine maintenance on the process and recording the workpiece time and process end time following related operations, the following steps were taken: ; ; When preventative maintenance is not required before the process: Set the RGV preventive maintenance variable corresponding to this process to 0: ; Determine whether preventative maintenance of the machine affects the process. If it does, the process needs to be moved to the next step. Set the variable recording whether preventative maintenance affects the process to 1. ; The update process starts at: ; Update machine time: ; If preventative maintenance of the machine does not affect the process, then there is no need to update the process start time and machine time. The assessment of the impact of machine maintenance on the process, and the recording of workpiece time and process end time after related operations are completed, are as follows: ; ; There is an idle period before the process begins: The operation of the process is shifted to the left, moving to an earlier start time; let... For the first One machine, For machines The processing idle time interval, Indicates the start time of idle period. Indicates the idle end time. for In the machine On the processing time, For process Processing completion time; procedures Able to be inserted into the machine Processing during previous idle periods requires satisfying the following inequality in the time interval: ; If an available time interval is found, then the process... start time for: ; Update the processing idle time period, using the same method as the processing time period update in claim 5; If no available free time period is found, the decoding is performed in the same way as if there were no free time periods before the process. When the workpiece time is greater than the machine time: The process cannot be inserted into a previous idle time period; normal decoding is possible. Set the initial start time of the process as follows: ; Determine whether RGV maintenance is required before the process. ; If so, preventative maintenance is required; otherwise, preventative maintenance is not required. When preventative maintenance is required before a process: Set the RGV preventive maintenance variable corresponding to this process to 1: ; If preventative maintenance of the machine affects the process, the process needs to be moved to a later date: Update process start time and machine time: If preventative maintenance of the machine does not affect the process, there is no need to update the process start time and machine time; Record the workpiece time and process end time: ; ; When preventative maintenance is not required before the process: Set the RGV preventive maintenance variable corresponding to this process to 0: ; If preventative maintenance of the machine affects the process, the process needs to be moved to a later date: Update process start time and machine time: If preventative maintenance of the machine does not affect the process, there is no need to update the process start time and machine time; Record machine time and process end time: 。