An improved RGV multi-objective optimization scheduling method based on melolontha algorithm
Patent Information
- Application Number
- CN202610163746.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-02-05
- Publication Date
- 2026-10-27
AI Technical Summary
本发明针对原始蜣螂算法全局探索与局部开发能力不平衡、易陷入局部最优的问题,通过改进蜣螂算法,增强其在复杂离散调度问题中的搜索能力和收敛速度,实现对多目标的有效优化,应用于柔性制造系统中物料搬运系统RGV的调度,实现完工时间以及能耗多方面的最优分配
[0104]本发明面向柔性制造系统的物料调度建立了一种基于改进蜣螂优化算法的RGV多目标优化调度方法。通过繁殖机制对任务进行动态分组,确保每个任务池中的任务是当前阶段最紧急的任务,并用于优化任务调度顺序;最后引入借用机制,以小概率从其他个体中借用任务,增加解的多样性,避免算法陷入局部最优,同时通过扰动概率控制扰动强度,在搜索初期增强扰动,后期减少扰动以提高收敛精度。
Smart Images

Figure CN122988458A_ABST
Abstract
Description
Technical Field
[0001] This invention patent relates to the field of production scheduling in flexible manufacturing systems, specifically a multi-objective optimization scheduling method for RGV based on an improved dung beetle algorithm. Background Technology
[0002] Flexible Manufacturing Systems (FMS) are highly integrated and automated production systems capable of rapidly responding to changes in market demand through flexible equipment configuration and intelligent scheduling management, achieving efficient production of multiple varieties and small batches. Guided Rail Vehicles (RGVs), as key logistics equipment in FMSs, are responsible for transporting materials and workpieces within the production workshop; their scheduling efficiency directly impacts the overall operational efficiency and cost control of the production system. The scheduling of this intelligent machining system, consisting of RGVs, several CNC machine tools, and related auxiliary equipment, can be considered a special type of job shop scheduling problem. Algorithmically, the job shop scheduling problem is NP-hard, meaning a linear optimal solution cannot be found. Common solution methods include heuristic algorithms, greedy algorithms, harmonic search algorithms, and various swarm intelligence search algorithms represented by genetic algorithms.
[0003] While these methods improve scheduling efficiency to some extent, they still have the following shortcomings: existing methods mostly focus on single-objective optimization, making it difficult to simultaneously consider multiple objectives such as scheduling time, task completion rate, and energy consumption. In complex and uncertain production environments, existing algorithms struggle to achieve globally optimal scheduling. For specific shop floor scheduling problems, the above-mentioned algorithms only provide a general framework; specific solution schemes must be designed based on the characteristics of the specific problem. Therefore, this invention selects RGV (Resource Transport Vehicle) equipment in flexible manufacturing systems as the object, and studies the model construction and solution method for the RGV scheduling problem from the perspectives of completion time and energy reduction. This invention lays the foundation for dynamic scheduling under uncertain environments and provides guidance for solving scheduling problems in actual production. Summary of the Invention
[0004] This invention addresses the shortcomings of the original dung beetle algorithm in handling RGV scheduling problems in flexible manufacturing systems, proposing an improved RGV multi-objective optimization scheduling method. This invention addresses the imbalance between the original dung beetle algorithm's global exploration and local exploitation capabilities, and its tendency to get trapped in local optima. By improving the dung beetle algorithm, its search capability and convergence speed in complex discrete scheduling problems are enhanced, achieving effective optimization of multiple objectives. Applied to the scheduling of RGVs in the material handling system of flexible manufacturing systems, it achieves optimal allocation in terms of completion time and energy consumption.
[0005] The technical solution of this invention is a multi-objective optimization scheduling method for RGV based on an improved dung beetle algorithm, which includes the following steps:
[0006] Step 1: Establish an RGV multi-objective optimization scheduling model;
[0007] Based on the scenario layout diagram and processing information table of the flexible manufacturing system, the objective function and constraints based on processing time and workstation capacity are determined for the RGV multi-objective optimization scheduling problem; RGV represents a track-guided vehicle.
[0008] Step 1.1: Determine the constraint model;
[0009] The constraint model includes a three-dimensional warehouse, a loading and unloading station, d machine tools, w workpieces, and an RGV traveling on a linear track. The process is carried out according to a specified process route. Each process can be processed on different machines with the same processing capacity.
[0010] Step 1.2: Determine the objective function of the RGV scheduling problem;
[0011] An RGV scheduling optimization model is established with the objectives of minimizing the total task completion time and minimizing RGV energy consumption; the formula for calculating the minimum total task completion time, i.e., the minimum start time of the last task, is as follows:
[0012] f1=Minimize ;
[0013] Minimum total energy consumption The calculation formula is:
[0014] ;
[0015] Minimize means to take the minimum value of the objective function, that is, to perform minimization optimization, where w represents the number of workpieces, v i S represents the number of processing steps required for workpiece i. i Let d represent the start time of the i-th action executed by RGV, d represent the number of workpieces, and c represent the number of workpieces. -1&j This indicates the time it takes for RGV to move from the automated storage and retrieval system to the machine tool j. This indicates the time it takes for the RGV to move from the loading / unloading station to the machine tool j. This indicates the time during which the RGV remains stationary at the loading and unloading stations. This indicates the time it takes for the RGV to move from the loading / unloading station to the automated storage and retrieval system. This means that if its value is 1, during the l-th action of the RGV, the RGV moves the i-th workpiece from the automated storage and retrieval system (AS / RS) to the machine tool j during the k-th action. This means that if its value is 1, during the l-th action of the RGV, the RGV moves the i-th workpiece from the loading / unloading station to the machine tool j during the k-th action. This indicates the time it takes for RGV to move from machine tool j to the loading / unloading station. This means that if its value is 1, during the l-th action of the RGV, the RGV moves the i-th workpiece from machine tool j to the loading / unloading station during the k-th action. This means that if its value is 1, the RGV will not move at the loading / unloading station during the lth execution of the action. This means that if its value is 1, during the l-th execution of the RGV, the RGV moves the i-th workpiece from the loading / unloading station to the automated storage and retrieval system during the k-th execution. This represents the idle time of RGV during the lth action;
[0016] Step 2: Create a task pool;
[0017] Step 2.1: Extract task information;
[0018] Based on the established scheduling mathematical model, the product serial number, initial storage location, target machine number, processing time, start time, and end time of the workpiece are read; by parsing the production task list, the task list and relevant parameters of each task are compiled.
[0019] Step 2.2: Task pool initialization;
[0020] Each task in the task pool corresponds to a unique identifier and contains all the constraints of the task. During task pool initialization, the initial state of the task pool is created by directly copying task data. Task pool T = {T...} _1 T _2 ,…,T _n}, each task T _i Includes the following information:
[0021] T _i =(Product Serial Number, Initial Storage Location, Target Machine, Start Time, End Time, Waiting Time, Task Type);
[0022] Step 2.3: Define task priorities;
[0023] Based on the product's processing sequence and the task's urgency, task priorities are defined; priorities are determined by calculating the "earliest start time" and "latest finish time" for each task. The calculation formula is as follows:
[0024] ;
[0025] Task T _i The priority of tasks is inversely proportional to their earliest start time; the most urgent tasks are more likely to be selected.
[0026] Step 3: Encoding and Decoding Mechanism;
[0027] Step 3.1: Encoding mechanism;
[0028] Step 3.2: Use semi-active decoding to convert the encoded task sequence into a specific scheduling scheme, including allocating time and machine location for each task;
[0029] Step 4: Iterative optimization process based on the improved dung beetle optimization algorithm;
[0030] Step 4.1: Initialize the population;
[0031] Initialize multiple random scheduling schemes, with each individual representing a complete scheduling scheme. The population size is N. Calculate the objective function value for each individual, including completion time and energy consumption. The initial individuals are randomly generated to ensure that the process priority constraint is met, that is, the order of tasks needs to meet certain process requirements.
[0032] Step 4.2: Calculate fitness;
[0033] The two targets are mapped to the [0,1] interval using linear normalization:
[0034] ;
[0035] in, and Let represent the minimum and maximum values of the i-th target in the current population; This represents the dimensionless value of the objective function f1 after linear normalization. This represents the dimensionless value of the objective function f2 after linear normalization;
[0036] Based on the normalized objective function, the final fitness function The weighted linear combination form is expressed as follows:
[0037] ;
[0038] and These are the weighting coefficients for the task completion time target and the energy consumption target, respectively, reflecting the importance of the two types of targets in the overall fitness.
[0039] Step 4.3: Rolling ball mechanism;
[0040] Introduce a task "urgency" metric and combine it with a probability selection mechanism for sorting optimization;
[0041] Step 4.4: Dancing Mechanism;
[0042] When the actual start time of a candidate task exceeds its planned latest start time, the task order is forcibly adjusted to ensure that the time window constraint is met; that is, the task must be executed before the latest allowed time, otherwise the most urgent task needs to be selected immediately; this ensures that all tasks are completed within the time constraint and avoids time conflicts.
[0043] Step 4.5: Reproduction Mechanism;
[0044] The search scope is limited to the pool of most urgent tasks. The most urgent tasks in the task pool are used to form a "safe zone", and individuals are reproduced based on this zone to generate new scheduling schemes.
[0045] Step 4.6: Borrow tasks from the same locations of other individuals to increase population diversity;
[0046] The borrowing operation method is as follows:
[0047] ;
[0048] Among them, P s Let r be the probability of borrowing, U(0,1) be a uniformly random number, and T be the probability of borrowing. i rand For tasks randomly selected from the same position of other solutions; This represents the task selection result of the i-th task in the current individual during the t-th iteration of the algorithm;
[0049] Step 4.7: In each generation, retain the best individual to ensure that the best solution is not lost; retain the task scheduling scheme of the current best individual for the generation of the next generation;
[0050] Step 5: Output the optimal scheduling scheme;
[0051] After multiple generations of iterative optimization, the optimal scheduling scheme is finally output.
[0052] (1) Output scheduling scheme:
[0053] Output detailed information for each task, including start time, end time, executing machine, and energy consumption.
[0054] (2) Gantt chart visualization:
[0055] Use Gantt charts to display the final scheduling plan, visually showing the time arrangement for task execution and the execution process of each task;
[0056] (3) Objective function value:
[0057] Output the optimized objective function value, including minimizing the completion time and minimizing energy consumption.
[0058] Furthermore, the specific method of step 3.1 is as follows:
[0059] Step 3.1.1: Encoding format;
[0060] Using an integer encoding method, the tasks in the task pool are numbered sequentially, with each task represented by an integer;
[0061] Step 3.1.2: Chromosome representation;
[0062] Each chromosome is an array of length n, where n is the total number of tasks; the number at each position represents a task number in the task pool; each individual is represented by a chromosome, which is a task sequence; in this task sequence, each task is represented by its position in the task pool.
[0063] Step 3.1.3: Coding order and process priority;
[0064] When coding tasks, it is necessary to ensure that the priority of the work process is constrained, that is, the execution order between tasks cannot be disrupted.
[0065] Furthermore, the specific method of step 4.3 is as follows:
[0066] Step 4.3.1: Calculate the urgency of the task;
[0067] In task set T, each task T i The corresponding latest allowed start time is L i The earliest available service time calculated under the current system state is E. i Introducing an urgency factor The definition is as follows:
[0068] ;
[0069] Where ε is a small constant to prevent division by zero, the physical meaning of this index is: the closer the task is to its latest start time, the higher its urgency.
[0070] Step 4.3.2: Roulette mechanism;
[0071] To construct the probability distribution for task selection, a roulette wheel betting mechanism is used, defining task T. i The probability P of being selected i for:
[0072] ;
[0073] Using this probability distribution, a task is randomly selected from the candidate task pool each time to construct a scheduling sequence; this process is repeated during the population initialization phase until a complete and feasible task sequence is constructed as an individual.
[0074] Furthermore, the specific method of step 4.4 is as follows:
[0075] Step 4.4.1: Obstacle assessment;
[0076] Let task T be i The latest start time is The actual planned start time is ,but:
[0077] ;
[0078] Step 4.4.2: Selecting the most urgent task;
[0079] The most urgent task is defined as:
[0080] ;
[0081] Represents task T j The earliest planable start time, i.e., the system time for task T in the current scheduling state. j The calculated executable start time. If the current task cannot be executed on time, the earliest task T to be executed is selected. k Replace the current task;
[0082] Step 4.4.3: Update the task sequence iteration formula;
[0083] .
[0084] Furthermore, the specific method of step 4.5 is as follows:
[0085] Step 4.5.1: Delineate the safe zone;
[0086] For each product or task group, select the most urgent task to form a set of safety zones. :
[0087] ;
[0088] This represents the set of start times for all tasks;
[0089] Step 4.5.2: Iterative formula for task sequence transformation;
[0090] ;
[0091] Where α∈[0,1] is the adjustment factor, which determines the degree of task adjustment.
[0092] Furthermore, the specific method of step 4.7 is as follows:
[0093] Step 4.7.1: Select the optimal solution;
[0094] Select the current optimal solution X best As part of a new population:
[0095] ;
[0096] in, As the current optimal individual, The objective function value;
[0097] Where P represents the current population;
[0098] Step 4.7.2: Population update iterative formula;
[0099] ;
[0100] in, It is a collection of mutated individuals;
[0101] Step 4.7.3: Final Individual Update Iteration Formula;
[0102] ;
[0103] Where S is the new task sequence adjusted based on the rolling ball mechanism, coefficient α represents the degree of adjustment of the task order and is used to control the impact of the rolling ball mechanism on the solution, and coefficient β is the global optimal guiding weight, which measures the progress towards the optimal solution X. best (t) The degree of convergence is used to accelerate convergence; the coefficient γ is a random perturbation weight, and a random perturbation X is introduced. rand This increases population diversity and prevents them from getting trapped in local optima.
[0104] This invention establishes a multi-objective optimization scheduling method based on an improved dung beetle optimization algorithm for material scheduling in flexible manufacturing systems. A breeding mechanism dynamically groups tasks to ensure that the tasks in each task pool are the most urgent at the current stage, and this is used to optimize the task scheduling order. Finally, a borrowing mechanism is introduced to borrow tasks from other individuals with a small probability, increasing the diversity of solutions and preventing the algorithm from getting trapped in local optima. Simultaneously, the perturbation intensity is controlled by perturbation probability, increasing perturbation in the early stages of the search and decreasing it in the later stages to improve convergence accuracy. Attached Figure Description
[0105] Figure 1 This is a schematic diagram of a flexible manufacturing system production line scenario.
[0106] Figure 2 This is a Gantt chart of the production task list.
[0107] Figure 3 This is a Gantt chart of the RGV scheduling results.
[0108] Figure 4 This is a schematic diagram of the overall process of the RGV scheduling algorithm. Detailed Implementation
[0109] The implementation of this invention includes the following steps:
[0110] Step 1: Establish an RGV multi-objective optimization scheduling model;
[0111] Based on the scenario layout diagram and processing information table of the flexible manufacturing system, the objective function and constraints based on processing time, RGV speed, workstation capacity, etc., are determined for the RGV multi-objective optimization scheduling problem.
[0112] Step 1.1: Define parameters and variable symbols:
[0113] Table 1. Parameter Symbols and Their Meanings
[0114]
[0115] Table 2. Variable Symbols and Their Meanings
[0116]
[0117] The following constraints apply to RGV transportation:
[0118] (1) An RGV can only perform one action at a time, that is, the RGV moves the i-th workpiece in the k-th time, from the automated warehouse to machine tool j, or from the loading / unloading station to machine tool j, or from machine tool j to the loading / unloading station, or does not move in the loading / unloading station, etc. The RGV can only perform the l-th action once:
[0119] ;
[0120] ;
[0121] ;
[0122] ;
[0123] (2) Idle time:
[0124] ;
[0125] ;
[0126] (3) The start time of the first movement of the RGV and the idle time are 0:
[0127] S1=0, u1=0;
[0128] (4) The difference between the start times of the RGV's l-th and l+1-th actions should be less than or equal to the sum of the travel time and the idle time:
[0129] ;
[0130] (5) RGV sets the sequence of actions for material i: First movement action: from the automated warehouse to machine tool j or from the loading / unloading station to machine tool j; second action: from machine tool j to the loading / unloading station; third action: no movement at the loading / unloading station or from the loading / unloading station to the automated warehouse. After the third action is completed, the next action can only be the first action, and so on.
[0131] ;
[0132] ;
[0133] ;
[0134] (6) For the i-th workpiece, the start time of the k-th processing is the start time of the (l+1)-th action of RGV:
[0135] ;
[0136] (7) For the i-th workpiece, the end time of the k-th processing is the sum of the start time of the l-th action of the RGV and the idle time:
[0137] ;
[0138] (8) For the i-th workpiece, the difference between the start and end times of the k-th operation must be greater than or equal to its given operation time:
[0139] ;
[0140] (9) The start time of the calibration of the loading and unloading station for the i-th workpiece and the k-th process is the start time of the (l+1)-th action of RGV:
[0141] ;
[0142] (10) The calibration end time of the loading and unloading station for the i-th workpiece and the k-th process is the sum of the start time of the l-th action of RGV and the idle time:
[0143] ;
[0144] (11) For the i-th workpiece, the calibration time at the loading / unloading station of the k-th process must be greater than or equal to 5 minutes:
[0145]
[0146] (12) Workpiece quantity limit: The automated warehouse can store a maximum of 40 workpieces, the machine tool can only process 1 workpiece at a time, and the loading and unloading station can only store 1 workpiece at a time.
[0147] M -1&l∈{0, 1, …, 40}, l∈{1, 2, …, };
[0148] M 0&l ∈{0, 1}, l∈{1, 2, …, };
[0149] M j&l ∈{0, 1}, j∈{1, 2, …, d} l∈{1, 2, …, };
[0150] Step 1.2: Determine the objective function of the RGV scheduling problem;
[0151] An RGV scheduling optimization model is established with the objectives of minimizing the total task completion time and minimizing RGV energy consumption; the formula for calculating the minimum total task completion time, i.e., the minimum start time of the last task, is as follows:
[0152] f1 = Minimize ;
[0153] The formula for calculating the minimum total energy consumption is:
[0154] ;
[0155] Step 2: Creating the task pool;
[0156] Step 2.1: Extract task information;
[0157] Based on the established scheduling mathematical model, read the workpiece information, such as product serial number, initial storage location, target machine number, processing time, start time, and end time. By parsing the production task list, organize the task list and relevant parameters for each task (such as the time window, start location, and destination for each task).
[0158] Step 2.2: Task pool initialization;
[0159] Each task in the task pool corresponds to a unique identifier and contains all the task's constraints (such as time window, machine requirements, etc.). During task pool initialization, the initial state of the task pool can be created by directly copying task data. For example, task pool T = {T _1 T _2 ,…,T _n}, each task T _i Includes the following information:
[0160] T _i = (Product Number, Initial Storage Location, Target Machine, Start Time, End Time, Waiting Time, Task Type).
[0161] In a flexible manufacturing system comprising 5 workpieces (w=5) and 3 machine tools (d=3):
[0162] Workpiece 1 (v1=2 operations): Initial storage location -1, target machine sequence [3,1], processing time [15min, 20min]
[0163] Workpiece 2 (v2=3 operations): Initial storage location -1, target machine sequence [2,3,1], processing time [10min,25min,15min]
[0164] Example of task pool initialization: T = {T1: (1, -1, 3, null, null, 0, "Transportation"),T2: (1, 3,0, null, null, 0, "Return"),T3: (1, 0, 1, null, null, 0, "Secondary Transportation"),... (Total ∑3vᵢ=3×(2+3+...)=42 tasks)}
[0165] Step 2.3: Defining task priorities;
[0166] Task priorities are defined based on the product's processing sequence and the task's urgency. Priority is determined by calculating the "earliest start time" and "latest finish time" for each task. The priority calculation formula is as follows:
[0167] ;
[0168] Task T _i The priority of a task is inversely proportional to its earliest start time, with the most urgent task having a higher probability of being selected.
[0169] When the earliest start time of workpiece 3 is E3=30min, its priority P(T3)=1 / (30+ε), where ε is 0.01 to prevent division by zero.
[0170] Step 3: Encoding and Decoding Mechanism;
[0171] Step 3.1: Encoding mechanism;
[0172] In this invention, a sequential encoding method based on task sequences is used. Each solution represents a sequential arrangement of a set of tasks, that is, a permutation and combination of tasks.
[0173] Step 3.1.1: Encoding format;
[0174] Integer encoding is used to sequentially number the tasks in the task pool, with each task represented by an integer. For example, suppose there are 5 tasks in the task pool [T...]. _1, T _2 , T _3 , T _4 , T _5 If we consider the given information, a possible encoding scheme would be [2, 4, 1, 3, 5], representing the execution order of tasks 2, 4, 1, 3, and 5.
[0175] Step 3.1.2: Chromosome representation;
[0176] Each chromosome is an array of length n, where n is the total number of tasks. The number at each position represents a task number (task identifier) in the task pool. Each individual (solution) is represented by a chromosome, i.e., a task sequence. In this task sequence, each task is represented by its position in the task pool. For example, [3,1,5,2,4,7,6,...] indicates the execution order is:
[0177] Transport of workpiece 2 in the first process (T3)
[0178] Transport of workpiece 1 in the first process (T1)
[0179] The second process of workpiece 3 is returned (T5)...
[0180] Step 3.1.3: Coding order and process priority;
[0181] When coding tasks, it's necessary to ensure that the priority constraints of the processes are met, meaning the execution order between tasks cannot be disrupted. For example, if task T... _1 Must be in task T _2 If execution is completed, then T should be guaranteed during coding. _1 Ranked in T _2 Before.
[0182] Step 3.2: Decoding mechanism;
[0183] Semi-active decoding is employed to convert the encoded task sequence into a specific scheduling scheme, including allocating time and machine location for each task. Specifically, the decoding process is as follows:
[0184] Iterate through each task in the coding sequence and assign a suitable start and end time to the task based on scheduling constraints (such as the earliest start time of the task, machine available time, etc.).
[0185] The time intervals between tasks (such as transport time between tasks and transition time between machines) are calculated and incorporated into the scheduling during decoding. During decoding, the transport path and energy consumption of the RGV are also considered. For the execution location of each task (transportation between the machine and the storage location), energy consumption and path selection are dynamically calculated and updated during decoding.
[0186] For example, when decoding chromosome [2,4,1]: Execute T2 (workpiece 1 returns from machine tool 3 to the loading / unloading station):
[0187] Calculate transportation time c3→0=2min; update RGV position to 0 (loading / unloading station); cumulative energy consumption +2 units.
[0188] Execute T4 (workpiece 2 returns from machine tool 2): requires unloaded movement c0→2=3min; total time cumulative +5min; energy consumption cumulative +5 units.
[0189] Step 4: Iterative optimization process based on the improved dung beetle optimization algorithm;
[0190] Step 4.1: Initialize the population;
[0191] Initialize multiple random scheduling schemes (population), where each individual (solution) represents a complete scheduling scheme, and the population size is N. Calculate the objective function value for each individual, including completion time and energy consumption. These initial individuals are randomly generated, but must ensure that they meet the process priority constraints, i.e., the order of tasks must conform to certain process requirements.
[0192] Step 4.1.2: Calculate the fitness function;
[0193] To facilitate the integration of the two objectives into the solution framework of the IDBO algorithm, this paper employs a weighted normalized linear combination method to design the fitness function. Since the two objective functions have different units and dimensions, and their optimization directions are consistent (both are minimization), linear normalization is used to map the two objectives to the interval [0, 1].
[0194] ;
[0195] Among them, f i min with f i max This represents the minimum and maximum values of the i-th target in the current population.
[0196] Based on the normalized objective function, the final fitness function is expressed in the form of a weighted linear combination as follows:
[0197] ;
[0198] Step 4.2: Rolling ball mechanism;
[0199] To improve the quality of the initial solution and guide the search to converge to a more reasonable region, an emergency-oriented search strategy is proposed. The task "urgency" index is introduced into the rolling ball behavior, and a probabilistic selection mechanism is combined for ranking optimization.
[0200] Step 4.2.1: Calculate the urgency of the task;
[0201] Consider the task set [T1, T2, T3, T4, T5], for each task T i The corresponding latest allowed start time is L i The earliest available service time calculated under the current system state is E. i To measure the time urgency of a task, an urgency factor η is introduced. i The definition is as follows:
[0202] ;
[0203] Where ε is a small constant to prevent division by zero, the physical meaning of this index is: the closer the task is to its latest start time (i.e., L... i - E i The smaller the size, the higher its urgency.
[0204] For example, when the latest start time L = [50, 30, 40] min for a task set [T1, T2, T3], and the earliest available service time E = [20, 25, 35] min:
[0205] Urgency calculation: η1 = 1 / (50-20+0.01) = 0.033 η2 = 1 / (30-25+0.01) = 0.199 ← Highest priority η3 = 1 / (40-35+0.01) = 0.199
[0206] Step 4.2.2: Roulette gambling mechanism;
[0207] To construct the task selection probability distribution, a roulette wheel selection mechanism is used, defining task T. i The probability P of being selected i for:
[0208] ;
[0209] Using this probability distribution, a task is randomly selected from the candidate task pool each time to construct a scheduling sequence. This process is repeated during the population initialization phase until a complete and feasible task sequence is constructed as an individual.
[0210] Step 4.3: Dancing Mechanism;
[0211] When a candidate task's actual start time exceeds its planned latest start time, the task order is forcibly adjusted to ensure that the time window constraint is met. That is, tasks must be executed before the latest allowed time; otherwise, the most urgent task must be selected immediately. This ensures that all tasks are completed within the time constraint, avoiding time conflicts.
[0212] Step 4.3.1: Obstacle assessment;
[0213] Let task T be i The latest start time is T latest,i The actual planned start time is T. plan,i ,but:
[0214]
[0215] Step 4.3.2: Select the most urgent task;
[0216] The most urgent task is defined as:
[0217] ;
[0218] If the current task cannot be executed on time, the earliest task T that can be executed will be selected. k Replace current task T i .
[0219] Step 4.3.3: Update the task sequence iteration formula;
[0220] ;
[0221] Step 4.4: Reproduction Mechanism;
[0222] The search scope is limited to the pool of most urgent tasks to improve computational efficiency. The most urgent tasks in the task pool are used to form a "safe zone" and individuals are reproduced in this zone to generate new scheduling schemes.
[0223] Step 4.4.1: Delineate the safe zone;
[0224] For each product or task group, select the most urgent task to form a set of safe zones S. safe :
[0225] ;
[0226] When T5's plan starts at time T plan When L5 = 60 min > L5 = 65 min:
[0227] In safe zone S safe Select from {T2,T4}; select T2 to replace (because its T... sta ᵣ t =25min < L2=30min); update the sequence to [...T2,...].
[0228] Step 4.4.2: Iterative formula for task sequence transformation;
[0229] ;
[0230] Where α ∈ [0, 1] is an adjustment factor that determines the degree of task adjustment.
[0231] Step 4.5: Borrowing Mechanism;
[0232] With a small probability, tasks can be "stolen" from other individuals, that is, tasks can be borrowed from the same position of other individuals, thereby increasing population diversity.
[0233] Step 4.5.1: Borrowing operation;
[0234] ;
[0235] Among them, P s For the probability of borrowing (P) s =0.1), r~U(0,1) are uniform random numbers, T i rand It is a task randomly selected from the same position of other solutions.
[0236] Given an individual X=[1,3,5,2,4], when r=0.05 <P s When =0.1: Steal the 3rd task from other individuals Y=[2,4,1,5,3]; obtain the new sequence X'=[1,3,1,2,4] (requires subsequent repair of duplicate tasks).
[0237] Step 4.5.2: Update the sequence iteration formula;
[0238] ;
[0239] Step 4.6: Elite Strategy;
[0240] In each generation, the best individual is retained to ensure that the optimal solution is not lost. The elite strategy retains the task scheduling scheme of the current best individual for the generation of the next generation.
[0241] Step 4.6.1: Optimal solution selection;
[0242] Select the current optimal solution X best As part of a new population:
[0243] ;
[0244] Among them, X best (t) Let f(X) be the current optimal individual, and f(X) be the objective function value.
[0245] Where P represents the current population.
[0246] Step 4.6.2: Population update iterative formula;
[0247] ;
[0248] Among them, X (t+1) mutated It is a collection of mutated individuals.
[0249] Step 4.6.3: Final Individual Update Iteration Formula;
[0250] ;
[0251] Where S is the new task sequence adjusted based on the rolling ball mechanism; the coefficient α represents the degree of adjustment of the task order, used to control the influence of the rolling ball mechanism on the solution. When α is large, the algorithm tends to use the new task sequence S adjusted based on task urgency. When α is small, the algorithm relies more on the current solution X(t) for searching. The value range is α ∈ [0.3, 0.7]; the coefficient β is the global optimal guiding weight, which measures the progress towards the optimal solution X. best (t) The degree of convergence is used to accelerate convergence, and its value range is β∈[0.2,0.5]; the coefficient γ is a random perturbation weight, which introduces a random perturbation X. rand To increase population diversity and prevent getting trapped in local optima, the value range is: γ∈[0.1,0.3].
[0252] Step 5: Output the optimal scheduling scheme;
[0253] The specific parameter settings are as follows: weight coefficients: α=0.5, β=0.3, γ=0.2; population size N=50, number of iterations G=50; fitness function weights w1=0.6 (completion time), w2=0.4 (energy consumption). After multiple generations of iterative optimization, the optimal scheduling scheme is finally output.
[0254] (1) Output scheduling scheme:
[0255] Output detailed information for each task, including start time, end time, executing machine, and energy consumption.
[0256] (2) Gantt chart visualization:
[0257] Use Gantt charts to display the final scheduling scheme, visually showing the time arrangement for task execution and the execution process of each task.
[0258] (3) Objective function value:
[0259] Output the optimized objective function value, including minimizing the completion time and minimizing energy consumption.
[0260] Table 3 is a data table of processing tasks.
[0261]
Claims
1. A multi-objective optimization scheduling method for RGV based on an improved dung beetle algorithm, comprising the following steps: Step 1: Establish an RGV multi-objective optimization scheduling model; Based on the scenario layout diagram and processing information table of the flexible manufacturing system, the objective function and constraints based on processing time and workstation capacity are determined for the RGV multi-objective optimization scheduling problem; RGV represents a track-guided vehicle. Step 1.1: Determine the constraint model; The constraint model includes a three-dimensional warehouse, a loading and unloading station, d machine tools, w workpieces, and an RGV traveling on a linear track. The process is carried out according to a specified process route. Each process can be processed on different machines with the same processing capacity. Step 1.2: Determine the objective function of the RGV scheduling problem; An RGV scheduling optimization model is established with the objectives of minimizing the total task completion time and minimizing RGV energy consumption; the formula for calculating the minimum total task completion time, i.e., the minimum start time of the last task, is as follows: f1=Minimize ; Minimum total energy consumption The calculation formula is: ; Minimize means to take the minimum value of the objective function, that is, to perform minimization optimization, where w represents the number of workpieces, v i S represents the number of processing steps required for workpiece i. i Let d represent the start time of the i-th action executed by RGV, d represent the number of workpieces, and c represent the number of workpieces. -1&j This indicates the time it takes for RGV to move from the automated storage and retrieval system to the machine tool j. This indicates the time it takes for the RGV to move from the loading / unloading station to the machine tool j. This indicates the time during which the RGV remains stationary at the loading and unloading stations. This indicates the time it takes for the RGV to move from the loading / unloading station to the automated storage and retrieval system. This means that if its value is 1, during the l-th action of the RGV, the RGV moves the i-th workpiece from the automated storage and retrieval system (AS / RS) to the machine tool j during the k-th action. This means that if its value is 1, during the l-th action of the RGV, the RGV moves the i-th workpiece from the loading / unloading station to the machine tool j during the k-th action. This indicates the time it takes for RGV to move from machine tool j to the loading / unloading station. This means that if its value is 1, during the l-th action of the RGV, the RGV moves the i-th workpiece from machine tool j to the loading / unloading station during the k-th action. This means that if its value is 1, the RGV will not move at the loading / unloading station during the lth execution of the action. This means that if its value is 1, during the l-th execution of the RGV, the RGV moves the i-th workpiece from the loading / unloading station to the automated storage and retrieval system during the k-th execution. This represents the idle time of RGV during the lth action; Step 2: Create a task pool; Step 2.1: Extract task information; Based on the established scheduling mathematical model, the product serial number, initial warehouse location, target machine number, processing time, start time and end time of the workpiece are read; by parsing the production task list, the task list and relevant parameters of each task are compiled. Step 2.2: Task pool initialization; Each task in the task pool corresponds to a unique identifier and contains all the constraints of the task. During task pool initialization, the initial state of the task pool is created by directly copying task data. Task pool T = {T...} _1 T _2 ,…,T _n }, each task T _i Includes the following information: T _i =(Product Serial Number, Initial Storage Location, Target Machine, Start Time, End Time, Waiting Time, Task Type); Step 2.3: Define task priorities; Based on the product's processing sequence and the task's urgency, task priorities are defined; priorities are determined by calculating the "earliest start time" and "latest finish time" for each task. The calculation formula is as follows: ; Task T _i The priority of tasks is inversely proportional to their earliest start time; the most urgent tasks are more likely to be selected. Step 3: Encoding and Decoding Mechanism; Step 3.1: Encoding mechanism; Step 3.2: Use semi-active decoding to convert the encoded task sequence into a specific scheduling scheme, including allocating time and machine location for each task; Step 4: Iterative optimization process based on the improved dung beetle optimization algorithm; Step 4.1: Initialize the population; Initialize multiple random scheduling schemes, with each individual representing a complete scheduling scheme. The population size is N. Calculate the objective function value for each individual, including completion time and energy consumption. The initial individuals are randomly generated to ensure that the process priority constraint is met, that is, the order of tasks needs to meet certain process requirements. Step 4.2: Calculate fitness; The two targets are mapped to the [0,1] interval using linear normalization: ; in, and Let represent the minimum and maximum values of the i-th target in the current population; This represents the dimensionless value of the objective function f1 after linear normalization. This represents the dimensionless value of the objective function f2 after linear normalization; Based on the normalized objective function, the final fitness function The weighted linear combination form is expressed as follows: ; and These are the weighting coefficients for the task completion time target and the energy consumption target, respectively, reflecting the importance of the two types of targets in the overall fitness. Step 4.3: Rolling ball mechanism; Introduce a task "urgency" metric and combine it with a probability selection mechanism for sorting optimization; Step 4.4: Dancing Mechanism; When the actual start time of a candidate task exceeds its planned latest start time, the task order is forcibly adjusted to ensure that the time window constraint is met; that is, the task must be executed before the latest allowed time, otherwise the most urgent task needs to be selected immediately; this ensures that all tasks are completed within the time constraint and avoids time conflicts. Step 4.5: Reproduction Mechanism; The search scope is limited to the pool of most urgent tasks. The most urgent tasks in the task pool are used to form a "safe zone", and individuals are reproduced based on this zone to generate new scheduling schemes. Step 4.6: Borrow tasks from the same locations of other individuals to increase population diversity; The borrowing operation method is as follows: ; Among them, P s Let r be the probability of borrowing, U(0,1) be a uniformly random number, and T be the probability of borrowing. i rand For tasks randomly selected from the same position of other solutions; This represents the task selection result of the i-th task in the current individual during the t-th iteration of the algorithm; Step 4.7: In each generation, retain the best individual to ensure that the best solution is not lost; retain the task scheduling scheme of the current best individual for the generation of the next generation; Step 5: Output the optimal scheduling scheme; After multiple generations of iterative optimization, the optimal scheduling scheme is finally output. (1) Output scheduling scheme: Output detailed information for each task, including start time, end time, executing machine, and energy consumption. (2) Gantt chart visualization: Use Gantt charts to display the final scheduling plan, visually showing the time arrangement for task execution and the execution process of each task; (3) Objective function value: Output the optimized objective function value, including minimizing the completion time and minimizing energy consumption.
2. The RGV multi-objective optimization scheduling method based on the improved dung beetle algorithm as described in claim 1, characterized in that, The specific method for step 3.1 is as follows: Step 3.1.1: Encoding format; Using an integer encoding method, the tasks in the task pool are numbered sequentially, with each task represented by an integer; Step 3.1.2: Chromosome representation; Each chromosome is an array of length n, where n is the total number of tasks; the number at each position represents a task number in the task pool; each individual is represented by a chromosome, which is a task sequence; in this task sequence, each task is represented by its position in the task pool. Step 3.1.3: Coding order and process priority; When coding tasks, it is necessary to ensure that the priority of the work process is constrained, that is, the execution order between tasks cannot be disrupted.
3. The RGV multi-objective optimization scheduling method based on the improved dung beetle algorithm as described in claim 1, characterized in that, The specific method for step 4.3 is as follows: Step 4.3.1: Calculate the urgency of the task; In task set T, each task T i The corresponding latest allowed start time is L i The earliest available service time calculated under the current system state is E. i Introducing an urgency factor The definition is as follows: ; Where ε is a small constant to prevent division by zero, the physical meaning of this index is: the closer the task is to its latest start time, the higher its urgency. Step 4.3.2: Roulette gambling mechanism; To construct the task selection probability distribution, a roulette wheel betting mechanism is adopted, defining task T. i The probability P of being selected i for: ; Using this probability distribution, a task is randomly selected from the candidate task pool each time to construct a scheduling sequence; this process is repeated during the population initialization phase until a complete and feasible task sequence is constructed as an individual.
4. The RGV multi-objective optimization scheduling method based on the improved dung beetle algorithm as described in claim 3, characterized in that, The specific method for step 4.4 is as follows: Step 4.4.1: Obstacle assessment; Let task T be i The latest start time is The actual planned start time is ,but: ; Step 4.4.2: Selecting the most urgent task; The most urgent task is defined as: ; Indicates task T j The earliest planable start time, i.e., the system time for task T in the current scheduling state. j The calculated executable start time. If the current task cannot be executed on time, the earliest task T to be executed is selected. k Replace the current task; Step 4.4.3: Update the task sequence iteration formula; 。 5. The RGV multi-objective optimization scheduling method based on the improved dung beetle algorithm as described in claim 4, characterized in that, The specific method for step 4.5 is as follows: Step 4.5.1: Delineate the safe zone; For each product or task group, select the most urgent task to form a set of safety zones. : ; This represents the set of start times for all tasks; Step 4.5.2: Iterative formula for task sequence transformation; ; Where α∈[0,1] is the adjustment factor, which determines the degree of task adjustment.
6. The RGV multi-objective optimization scheduling method based on the improved dung beetle algorithm as described in claim 5, characterized in that, The specific method for step 4.7 is as follows: Step 4.7.1: Select the optimal solution; Select the current optimal solution X best As part of a new population: ; in, As the current optimal individual, The objective function value; Where P represents the current population; Step 4.7.2: Population update iterative formula; ; in, It is a collection of mutated individuals; Step 4.7.3: Final Individual Update Iteration Formula; ; Where S is the new task sequence adjusted based on the rolling ball mechanism, coefficient α represents the degree of adjustment of the task order and is used to control the impact of the rolling ball mechanism on the solution, and coefficient β is the global optimal guiding weight, which measures the progress towards the optimal solution X. best (t) The degree of convergence is used to accelerate convergence; the coefficient γ is a random perturbation weight, and a random perturbation X is introduced. rand This increases population diversity and prevents them from getting trapped in local optima.