Multi-processor workpiece scheduling method considering different construction period assignments
By using integer programming models and improved particle swarm optimization (IPSO) to optimize multi-processor job scheduling, the problem that traditional schedule models cannot meet personalized needs is solved, and the flexibility and efficiency of production scheduling are improved.
Patent Information
- Application Number
- CN202510821167.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-06-19
- Publication Date
- 2025-10-14
AI Technical Summary
The traditional method of determining the duration of workpiece scheduling in multi-processors cannot meet customers' personalized customization and diversified needs, resulting in delivery delays and losses in production management. In addition, the existing scheduling model cannot effectively optimize machine resource allocation and workpiece sorting.
A multi-processor job scheduling method considering different duration assignments is designed. Through the integer programming model, the greedy heuristic algorithms SS-SPT and SS-LRC, and the improved particle swarm optimization algorithm IPSO, the job sorting and duration assignment are optimized, taking into account both machine resource allocation and job scheduling.
It improves the flexibility of construction period decision-making, optimizes the overall production scheduling level, reduces the losses caused by delayed delivery, and provides a theoretical basis for construction period assignment and scheduling plans.
Smart Images

Figure CN120782152A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of multiprocessor job scheduling, in particular to a multiprocessor job scheduling method considering different job duration assignment. BACKGROUND
[0002] The multiprocessor job refers to the job processed by multiple machines at the same time. The machines and the jobs present a processing mode of many-to-one, which breaks through the limitation of the uniqueness of the job in the classic scheduling. The multiprocessor job scheduling problem (MJSP) refers to configuring the processing machines according to the number of machines required by the multiprocessor job under the given constraint condition, and deciding the processing order of the job according to the matching scheme of the machine-job, aiming to decide how to allocate the machines and how to schedule the jobs to achieve the optimization scheduling goal. The multiprocessor job scheduling realizes the collaborative configuration of the machines and the jobs by allocating the processing resources and excavating the internal relationship between the processing bottleneck and the job demand.
[0003] In actual production and service systems, the multiprocessor job is widely used. The structure of the aero-engine is highly complex, and the assembly precision requirement is high. In the assembly process, not only a large number of industrial robots and special equipment are needed, but also a large number of assembly workers are needed to ensure the assembly precision and efficiency through the collaborative assembly of man, machine and material. Taking the assembly of the case as an example, the workers need to position and align the upper and lower parts by means of the stop port, and then multiple workers tighten the screws in sequence. In the assembly process, the workers cannot directly observe the alignment of the stop port by naked eye, and need to cooperate with specific detection equipment or technicians to complete the work. The process of the assembly of the case by the multiple assembly workers and the multiple special equipment in cooperation is a typical multiprocessor job operation mode, which belongs to the typical multiprocessor job operation mode, and the man and the machine are regarded as the generalized machine. Meanwhile, the production of the aero-engine involves the collaborative work of multiple units and multiple departments, and the cooperation relationship between the component manufacturing units is close. The timely delivery of the components by the upstream production units has a great influence on the downstream production units. The core of the production management is to deliver on time with quality and quantity, and the delay of the delivery will cause great loss. In the traditional production mode, the job duration is usually given in advance as a constant. However, in order to meet the individual customization and diversified needs of customers, the job duration determination mode needs to be adjusted flexibly. The traditional given job duration model cannot meet the requirements. SUMMARY
[0004] In view of the problems in the prior art, the present application provides a multi-processor job scheduling method considering different job duration assignments, which is used for rigid multi-processor jobs, aims to minimize the sum of total weighted off-count and duration, studies the multi-processor job scheduling problem considering different job duration assignments, solves the problems of how to allocate machine resources, how to sort multi-processor jobs and how to develop reasonable duration, so as to improve the flexibility of duration decision and optimize the overall production scheduling level.
[0005] The technical scheme of the present application is:
[0006] A multi-processor job scheduling method considering different job duration assignments comprises the following steps:
[0007] Step 1: analysis of the influence of the multi-processor job scheduling considering different job duration assignments:
[0008]
[0009] An integer programming model is established:
[0010]
[0011] wherein a job set is defined as p j is the processing time of job J j , d j is the assigned duration of job J j , S j represents the start time of job J j , C j represents the completion time of job J j , S i,j represents the start time of job J i on machine M j ; U j represents the off-count of job J j ; if the completion time C j of job J j is greater than the assigned duration d j , the off-count value is 1, and α j is the off-count weight of job J j ; a job receiving set is defined as a job rejection set is defined as e j is the rejection cost of job J j ;
[0012] Step 2: the analysis problem of the multi-processor job scheduling considering different job duration assignments in step 1 is converted into
[0013]
[0014] where e j = a j ; first consider the number of required processors, then consider the processing time of the workpiece, design a heuristic algorithm SS-SPT based on the greedy idea:
[0015] Step 2.1.1: Arrange all workpieces in order of non-decreasing number of required machines, and arrange them in order of non-decreasing processing time if the number of required machines is the same, and number them according to this order
[0016] Step 2.1.2: Arrange all workpieces in order on the earliest available machine, which will not delay the start time of other workpieces, to form an initial scheduling scheme;
[0017] Step 2.1.3: Start the first round of rejection, from workpiece J1 to J n , try to reject in turn, find the workpiece that reduces the total target the most, add the workpiece to the rejected workpiece set receive the workpiece set synchronize update, the first round of rejection ends, update the scheduling scheme;
[0018] Step 2.1.4: Repeat the above process to start the second round of rejection, try to reject all workpieces in the workpiece set , find the workpiece that reduces the total target the most, add the workpiece to the rejected workpiece set receive the workpiece set synchronize update, the second round of rejection ends, update the scheduling scheme;
[0019] Step 2.1.5: Loop in turn until the total target no longer decreases, get the final scheduling scheme and get the project duration assignment scheme.
[0020] Further, in step 2, for
[0021]
[0022] problem, first consider the number of required processors, then consider the rejection cost of the workpiece, then design a heuristic algorithm SS-LRC based on the greedy idea:
[0023] Step 2.2.1: Arrange all workpieces in order of non-decreasing number of required machines, and arrange them in order of non-increasing workpiece rejection cost if the number of required machines is the same, and number them according to this order
[0024] Step 2.2.2: Arrange all jobs on the earliest available machine one by one, requiring that the start time of no other job is delayed, forming an initial scheduling scheme;
[0025] Step 2.2.3: Start the first round of rejection, try to reject jobs J1 to J n one by one, find the job that reduces the total objective function the most, add this job to the rejected job set receive the job set update synchronously, the first round of rejection ends, update the scheduling scheme;
[0026] Step 2.2.4: Repeat the above process, start the second round of rejection, try to reject all jobs in the job set , find the job that reduces the total objective function the most, add this job to the rejected job set receive the job set update synchronously, the second round of rejection ends, update the scheduling scheme;
[0027] Step 2.2.5: Loop one by one until the total objective no longer decreases, get the final scheduling scheme, and get the duration assignment scheme.
[0028] Further, for the
[0029]
[0030] problem, based on heuristic algorithms SS-SPT and SS-LRC, an improved particle swarm algorithm IPSO is designed:
[0031] Step 3.1: Initialize the particle swarm:
[0032] Each particle in the particle swarm is represented by a three-dimensional vector group to map the particle position vector to the scheduling scheme. The first dimension of each particle represents the nth job, and the initial job sequence is 1 to n. The second dimension of the particle represents the position vector corresponding to each job. The third dimension of the particle is represented by binary coding to indicate whether the job is rejected or not. y ij = 1 indicates that the job is accepted, y ij = 0 indicates that the job is rejected. The rejected job set is determined by rejecting the job that reduces the total objective the most each time, and setting its corresponding third dimension vector to 0 until the total objective function is constant. The third dimension vector of the accepted job is equal to 1. The initialization speed of each dimension of all particles is a random number between -2 and 2.
[0033] Step 3.2: Calculate the fitness function of each particle to determine the individual extreme value and global optimal solution:
[0034] Step 3.2.1: Each particle position vector is arranged in ascending order to determine the processing sequence of the workpiece;
[0035] Step 3.2.2: According to the sequence of particle workpiece, the workpiece is dispatched according to the rule of first-come-first-served; secondly, the workpiece is arranged on the first idle machine and requires that the starting time of other workpieces will not be delayed, and the active schedule is constructed; finally, by comparing the completion time of the workpiece with the rejection cost, the set of rejected workpieces is determined When C j ≥e j , the workpiece J j is rejected, and the binary vector y ij of the particle is assigned to 0; when C j <e j , the workpiece J j is accepted, the decoding is completed, and the fitness value corresponding to the particle is output, the smaller the fitness value, the better the scheduling scheme corresponding to the particle; wherein the fitness function of particle i is set as:
[0036]
[0037] Step 3.2.3: Compare the output particle fitness function value with the individual optimal particle and the global optimal particle, if better, update the individual optimal particle pbest and the global optimal particle gbest;
[0038] Step 3.3: Update the particle swarm:
[0039] According to the velocity update formula and position update formula of the particle, update the velocity and position of the particle:
[0040]
[0041] Wherein represents the velocity of particle i in the dth dimension in the kth iteration, w represents the inertia weight, c1 and c2 represent the learning factor, represents a random number between 0 and 1 in the kth iteration, represents the historical optimal position of particle i in the dth dimension in k iterations, represents the global optimal position of particle i in the dth dimension in k iterations;
[0042] Step 3.4: Determine whether the termination condition is met.
[0043] If the termination condition is met, the algorithm ends and the global optimal solution is output; otherwise, return to step 3.2 to continue iteration.
[0044] Further, in step 3.1, the generation strategy of the position vector is that 60% of the particles randomly generate a random number from 1 to n as the position vector and arrange them in ascending order, 20% of the particles generate the position vector of the corresponding size according to the order of the SS-SPT algorithm, and 20% of the particles generate the position vector of the corresponding size according to the order of the SS-LRC algorithm.
[0045] Further, in the integer programming model established in step 1, the objective function to be optimized is to minimize the sum of the total weighted idle time count and the duration; the first constraint represents that the multiple processors process the jobs J j Need m j machines to process cooperatively; the second constraint represents that the completion time of the job J j is equal to the sum of the start time and the processing time of the job J j , that is, the job processing cannot be interrupted; the third constraint represents that the start time of any job is not greater than the completion time; the fourth constraint represents that the start time of each job on the same machine is not less than the completion time of any previous job, that is, the machine can only process one job at the same time; the fifth constraint represents that the completion time of any job on the same machine is not greater than the start time of the next job, that is, the jobs are processed in sequence; the sixth constraint represents that if the job starts before the start time t of the unavailable interval, then the completion time should also be before t, that is, the machine starts to be unavailable at t; the seventh constraint represents that x ji is a 0-1 variable, x j = 1 when the job J i is processed on the machine M ji , otherwise x ji = 0; the eighth constraint represents that U j is a 0-1 variable, U j = 1 when the completion time C j of the job J j exceeds the assigned duration d j of the job J j , otherwise U j = 0; the ninth constraint represents that the processing time of the job is p j , the required number of machines is m j , and the weight of the idle time count is a j , all of which are positive; the tenth constraint represents that the start time, the completion time, and the assigned duration of any job are all non-negative.
[0046] Further, the impact analysis problem of the multiple processor job scheduling considering different duration assignments is a strong NP-hard problem.
[0047] Advantages
[0048] The present application aims at a multi-processor job scheduling problem of different due date assignment, establishes a multi-processor job scheduling model considering different due date assignment, expands the traditional given due date model into a due date assignment model, expands from an optimization problem of only deciding a scheduling scheme into a double optimization problem of simultaneously deciding a due date size and a scheduling scheme, takes into account the difference of the required machine number of multi-processor jobs, weighs the loss caused by delayed delivery, reveals the influence law of a scheduling scheme on a due date assignment scheme, proposes a job sequencing optimization and a due date assignment scheme making method, and verifies the performance of the method through a performance improvement rate, so as to provide a theoretical basis for enterprise processing arrangement and due date assignment of multi-processor jobs.
[0049] Additional aspects and advantages of the present application will be in part apparent and in part pointed out hereinafter. BRIEF DESCRIPTION OF DRAWINGS
[0050] The above and / or additional aspects and advantages of the present application will become apparent and be readily appreciated from the following description, taken in conjunction with the accompanying drawings, in which:
[0051] Figure 1 Example 1 scheduling scheme process Gantt chart
[0052] Figure 2 Example 1 final scheduling scheme Gantt chart
[0053] Figure 3 Example 2 scheduling scheme process Gantt chart
[0054] Figure 4 Example 2 final scheduling scheme Gantt chart
[0055] Figure 5 Example 3 final scheduling scheme Gantt chart
[0056] Figure 6 Average performance improvement rate (β) of algorithm IPSO for algorithms SS-SPT, SS-LRC and RAN-PSO j ~ U(1, 5)
[0057] Figure 7 Average performance improvement rate (β) of algorithm IPSO for algorithms SS-SPT, SS-LRC and RAN-PSO j ~ U(5, 10) DETAILED DESCRIPTION
[0058] Embodiments of the present application are described in detail below, which are exemplary and intended to explain the present application, and cannot be understood as a limitation of the present application.
[0059] The present application is based on the assembly background of multiple machines of an aero-engine being processed at the same time, takes minimizing the sum of total weighted tardiness and makespan as the scheduling objective, considers the loss caused by the tardy delivery of multi-processor jobs, analyzes the complexity of the problem, designs heuristic rules and intelligent search algorithms, solves the multi-processor job scheduling problem considering different makespan assignments, and improves the flexibility of makespan decision and optimizes the level of production scheduling.
[0060] For rigid multi-processor jobs, the multi-processor job scheduling problem considering the unavailable intervals of machines can be described as follows: given a job set consisting of n jobs and represent the 1-processor job set and the k-processor job set respectively, which can be expressed in mathematical symbols as wherein represents the first 1-processor job in the set , represents the first k-processor job in the set , and k≤m; the number of machines in the production system is m, and the machine set is denoted as The multi-processor job is a rigid job, i.e., the number of machines m j required by each job is fixed and unchanged, and for the jobs in the job set , m j =1 machine is required for processing; for the jobs in the job set , m j =k machines are required for simultaneous processing. Considering different makespan assignment models, each job has a different assigned makespan d j ≥0, and the assignment of makespan is not subject to any restrictions, where d j is a decision variable. A job includes two aspects of penalties: tardiness count and makespan assignment cost. The tardiness count is defined as follows: if the job completion time is less than the makespan, the tardiness count value is 0; if the job completion time is greater than the makespan, the tardiness count value is 1. The makespan assignment cost is defined as the size of the assigned makespan, i.e., d j . Let α j be the weight of the tardiness count of job J j , where α j >0. The scheduling objective is to minimize the sum of total weighted tardiness and makespan In order to verify the performance of the algorithm, the following indicators are used:
[0061] Performance improvement rate: for any instance I, let V H (I) and V H ′(I) represent the objective function values of instance I obtained by algorithms H and H′ respectively, and the performance improvement rate imp(H) of algorithm H′ with respect to algorithm H is defined as
[0062]
[0063] In view of the above problem description and performance indicators, the present application designs a heuristic algorithm and an intelligent search algorithm for multi-processor job scheduling considering different duration assignments, and analyzes the performance improvement rate of the algorithm through simulation experiments to verify the performance of the algorithm, mainly including the following parts:
[0064] 1) Propose a mathematical programming model of the related problem;
[0065] 2) Analyze the complexity of the problem;
[0066] 3) Design heuristic algorithms SS-SPT and SS-LRC based on the greedy idea;
[0067] 4) Design intelligent search algorithm IPSO based on heuristic algorithms SS-SPT and SS-LRC;
[0068] 5) Design example simulation experiments to verify the performance of algorithms SS-SPT, SS-LRC and IPSO.
[0069] Step 1: Integer programming model of multi-processor job scheduling considering different duration assignments.
[0070] According to the three-parameter representation method, the influence analysis problem of multi-processor job scheduling considering different duration assignments can be represented as: Define the job set p j is the processing time of job J j , d j is the assigned duration of job J j , S j represents the start time of job J j , C j represents the completion time of job J j , S i,j represents the start time of job J i on machine M j . Let U j represent the downtime count of job J j ; if the completion time C j of job J j is greater than the assigned duration d j , the downtime count value is 1, and α j is the downtime count weight of job J j ; define the job receiving set Job rejection set e j is the rejection cost of job J j , and its integer programming model is specifically represented as follows:
[0071]
[0072] Objective function (2) indicates that the objective function to be optimized is to minimize the sum of total weighted tardiness and makespan; constraint (3) indicates that the processing of job J j requires m j machines to be processed cooperatively; constraint (4) indicates that the completion time of job J j is equal to the sum of the start time and processing time of job J j , i.e. the processing of job is uninterrupted; constraint (5) indicates that the start time of any job is not greater than the completion time; constraint (6) indicates that the start time of each job on the same machine is not less than the completion time of any preceding job, i.e. only one job can be processed at the same time on the same machine; constraint (7) indicates that the completion time of any job on the same machine is not greater than the start time of the next job, i.e. the processing of jobs is sequential; constraint (8) indicates that if a job starts before the start time t of the unavailability interval, then the completion time should also be before t, i.e. the machine starts to be unavailable at t; constraint (9) indicates that x ji is a 0-1 variable, x j = 1 when job J i is processed on machine M ji , otherwise x ji = 0; constraint (10) indicates that U j is a 0-1 variable, U j = 1 when the completion time C j of job J j exceeds the assigned due date d j of job J j , otherwise U j = 0; constraint (11) indicates that the processing time of job is p j , the number of machines required is m j , and the weight of tardiness is a j , all of which are positive; constraint (12) indicates that the start time, completion time and assigned due date of any job are all non-negative.
[0073] Step 2: analyze the complexity of the problem.
[0074] Step 2.1: prove by contradiction that for any given scheduling scheme σ of the problem, there exists an optimal due date assignment scheme where
[0075]
[0076] Proof: prove by contradiction, assume that the above conclusion is not true, and discuss the following four cases:
[0077] Case 1 There exists an optimal schedule σ, where job J j satisfies C j > α j and Define a schedule identical to schedule σ, except that The difference in objective values of these two schedules is: This contradicts that schedule σ is optimal;
[0078] Case 2 There exists an optimal schedule σ', where job J j satisfies C j > α j and Define a schedule identical to schedule σ', except that The difference in objective values of these two schedules is: This contradicts that schedule σ' is optimal;
[0079] Case 3 There exists an optimal schedule σ, where job J j satisfies C j ≤ α and Define a schedule identical to schedule σ, except that The difference in objective values of these two schedules is: This contradicts that schedule σ is optimal;
[0080] Case 4 There exists an optimal schedule σ', where job J j satisfies C j ≤ α and Define a schedule identical to schedule σ', except that The difference in objective values of these two schedules is: This contradicts that schedule σ' is optimal.
[0081] Step 2.2: Based on the optimal duration assignment scheme D * (σ) of schedule σ, transform the original problem into an equivalent problem Pm|DIF,m j , p j |Z(σ, D * (σ)), i.e. where
[0082]
[0083] Step 2.3: Minimize i.e. For any job J in the scheduling scheme σ j , C j j , the job is accepted for processing, resulting in a makespan cost of Z j = C j ; when C j ≥ a j , the job is rejected, resulting in a rejection cost of Z j = a j .
[0084] Step 2.4: The original problem is equivalent to the problem where e j = a j .
[0085] Step 2.5: The multi-processor job scheduling problem P2 | m j |∑C j is strongly NP-hard, the original problem is also strongly NP-hard.
[0086] Step 3: Design the heuristic algorithms SS-SPT and SS-LRC based on the greedy idea.
[0087] Since the original problem is strongly NP-hard, i.e., it is impossible to find an optimal scheduling scheme in polynomial time for any given instance, unless P = NP, and the original problem is equivalent to the problem where e j = a j , two heuristic algorithms, Shortest Size-Shortest Processing Time (SS-SPT) priority and Shortest Size-Largest Rejection Cost (SS-LRC) priority, are designed based on the greedy idea for the problem .
[0088] Step 3.1: Design the heuristic algorithm SS-SPT based on the greedy idea.
[0089] For the problem , the heuristic algorithm SS-SPT based on the greedy idea is designed by considering the number of processors required first and then the processing time of the job.
[0090] Step 3.1.1: Arrange all jobs in non-decreasing order of their required machines, and in non-decreasing order of their processing times if they require the same number of machines, and number them accordingly
[0091] Step 3.1.2: Arrange all jobs in non-decreasing order of their required machines, and in non-decreasing order of their processing times if they require the same number of machines, and number them accordingly
[0092] Step 3.1.3: Start the first round of rejection, try to reject jobs J1 to J n , one by one, find the job that reduces the total objective the most, add it to the set of rejected jobs, and update the set of accepted jobs synchronously, the first round of rejection ends, and update the schedule
[0093] Step 3.1.4: Repeat the above process, start the second round of rejection, try to reject all jobs in the set of accepted jobs , find the job that reduces the total objective the most, add it to the set of rejected jobs, and update the set of accepted jobs synchronously, the second round of rejection ends, and update the schedule
[0094] Step 3.1.5: Loop until the total objective no longer decreases, get the final schedule, and get the due date assignment scheme.
[0095] Here we give the first example, consider the following 3 parallel machines, 6 jobs, the processing time, the number of machines required and the rejection cost as shown in Table 1.
[0096] Table 1 Job parameters in Example 1
[0097]
[0098] According to the SS-SPT algorithm, the scheduling process of this example is as follows:
[0099] Step 3.1.1: Arrange all jobs in non-decreasing order of their required machines, and in non-decreasing order of their processing times if they require the same number of machines, and number them accordingly
[0100] Step 3.1.2: Arrange all jobs in non-decreasing order of their required machines, and in non-decreasing order of their processing times if they require the same number of machines, and number them accordingly Figure 1 (a) shows, the objective value at this time
[0101] Step 3.1.3: Start the first round of rejection, try to reject from job J1 to J6 in turn, find the job which makes the total target value Decrease most job J6, add this job to the rejected job set Receive the job set Update synchronously, the first round of rejection ends. At this time, the scheduling scheme is as shown in Figure 1 (b), the target value
[0102] Step 3.1.4: Repeat the above process, start the second round of rejection, try to reject all jobs in the job set , find the job which makes the total target value Decrease most job J4, add this job to the rejected job set Receive the job set Update synchronously, the second round of rejection ends. At this time, the scheduling scheme is as shown in Figure 1 (c), the target value
[0103] Step 3.1.5: No rejected job is found in the third round which makes the target value smaller, the scheduling ends. The final scheduling scheme is obtained as shown in Figure 2 , and the job duration assignment scheme is obtained.
[0104] In the final scheduling scheme obtained by the SS-SPT algorithm in Example 1, the received job set is The rejected job set is The job arrangement order is The target function value is C1+C2+C3+e4+C5+e6=2+3+4+3+6+4=22, and the assigned duration of the received jobs J1, J2, J3, J5 is 2, 3, 4, 6 respectively. The Gantt chart of the final scheduling scheme of Example 1 is shown in Figure 2 .
[0105] Step 3.2: Design a heuristic algorithm SS-LRC based on the greedy idea.
[0106] For the problem First consider the number of processors required, and then consider the job rejection cost, design a heuristic algorithm SS-LRC based on the greedy idea.
[0107] Step 3.2.1: Arrange all jobs in the order of non-decreasing number of machines required, if the number of machines required by the job is the same, arrange them in the order of non-increasing job rejection cost, and number them according to this order
[0108] Step 3.2.2: Arrange all jobs in the earliest available machines one by one, requiring no delay of other jobs' starting time, form an initial schedule;
[0109] Step 3.2.3: Start the first round of rejection, try to reject from job J1 to J n , find the job which reduces the total objective most, add this job to the rejected job set receive the rejected job set update synchronously, the first round of rejection ends, update the schedule;
[0110] Step 3.2.4: Repeat the above process, start the second round of rejection, try to reject all jobs in the rejected job set , find the job which reduces the total objective most, add this job to the rejected job set receive the rejected job set update synchronously, the second round of rejection ends, update the schedule;
[0111] Step 3.2.5: Loop one by one until the total objective no longer decreases, get the final schedule and the job duration assignment scheme.
[0112] Here we give the second embodiment, consider the following 3 parallel machines, 6 jobs instance, the processing time of the job, the number of machines required and the rejection cost as shown in Table 2.
[0113] Table 2 Job parameters in example 2
[0114]
[0115] According to the SS-LRC algorithm, the scheduling process of this instance is as follows:
[0116] Step 3.2.1: Arrange all jobs in the order of non-decreasing number of machines required, if the jobs require the same number of processing machines, arrange them in the order of non-increasing rejection cost of the job, and arrange them according to this number
[0117] Step 3.2.2: Arrange all jobs in the earliest available machines one by one, requiring no delay of other jobs' starting time, form an initial schedule, as shown in Figure 3 (a), the objective value at this time is
[0118] Step 3.2.3: Start the first round of rejection, try to reject from job J1 to J6, find the job which reduces the total objective most, add this job J5 to the rejected job set Receiving the set of jobs The update is performed synchronously, and the first round of rejection ends. At this time, the scheduling scheme is as shown in Figure 3 (b), and the target value
[0119] Step 3.2.4: Repeat the above process to start the second round of rejection, and try to reject all jobs in the set of jobs , find the job J1 that reduces the total target value the most, and add this job to the set of rejected jobs Receiving the set of jobs The update is performed synchronously, and the second round of rejection ends. At this time, the scheduling scheme is as shown in Figure 3 (c), and the target value
[0120] Step 3.2.5: No rejected job is found in the third round of rejection that makes the target value smaller, and the scheduling ends.
[0121] In the final scheduling scheme obtained by the SS-LRC algorithm in Example 2, the set of receiving jobs is The set of rejected jobs is The job arrangement order is The target function value is e1+C2+C3+C4+e5+C6=3+2+3+6+4+4=22, and the assigned time periods of the receiving jobs J2, J3, J4, and J6 are 2, 3, 6, and 4 respectively. The Gantt chart of the final scheduling scheme of Example 2 is as shown in Figure 4 .
[0122] Step 4: Design an intelligent search algorithm IPSO based on the heuristic algorithms SS-SPT and SS-LRC.
[0123] For the scheduling problem Based on the heuristic algorithms SS-SPT and SS-LRC, an improved particle swarm optimization algorithm (IPSO) is designed.
[0124] Step 4.1: Initialize the particle swarm.
[0125] Each particle in the particle swarm is represented by a three-dimensional vector group to map the particle position vector to the scheduling scheme. The first dimension of each particle represents the nth job, and the initial job sequence is 1 to n. The second dimension of the particle represents the position vector corresponding to each job. The third dimension of the particle is represented by binary coding to indicate whether the job is rejected or not. y ij = 1 indicates that the job is received, and y ij= 0 indicates rejecting the workpiece. The generation strategy of the position vector is that 60% of the particles randomly generate a random number from 1 to n as the position vector and arrange it in ascending order, 20% of the particles generate the position vector of the corresponding size according to the order of the SS-SPT algorithm, and 20% of the particles generate the position vector of the corresponding size according to the order of the SS-LRC algorithm; the determination method of the rejected workpiece set is that the workpiece that reduces the total objective function the most is rejected each time, and the corresponding third-dimensional vector is equal to 0, until the total objective function is unchanged, and the third-dimensional vector of the received workpiece is equal to 1; the initialization speed of each dimension of all particles is a random number between -2 and 2. The particle representation form is shown in Table 3:
[0126] Table 3 Particle swarm representation form
[0127]
[0128] Step 4.2: Calculate the fitness function of each particle to determine the individual extreme value and the global optimal solution.
[0129] Step 4.2.1: Arrange the position vector of each particle in ascending order to determine the processing sequence of the workpiece;
[0130] Step 4.2.2: According to the order of the particle workpiece sequence, the workpiece is dispatched according to the rule of First Come First Service (FCFS); secondly, since the optimal scheduling must exist in the active scheduling, the workpiece is arranged on the first idle machine and requires not to delay the start time of other workpieces, to form the active scheduling; finally, by comparing the completion time of the workpiece with the rejection cost, the rejected workpiece set is determined When C j ≥ e j , reject the workpiece J j , and assign the binary vector y ij of the particle to 0; when C j < e j , accept the workpiece J j , complete the decoding, and output the fitness value of the particle corresponding to the particle, the smaller the fitness value, the better the scheduling scheme corresponding to the particle. The fitness function of the particle i is set as:
[0131]
[0132] Step 4.2.3: Compare the output particle fitness function value with the individual optimal particle and the global optimal particle, if it is better, update the individual optimal particle pbest and the global optimal particle gbest.
[0133] Step 4.3: Update the particle swarm.
[0134] According to the velocity update formula (14) and the position update formula (15), the velocity and position of the particle are updated.
[0135]
[0136] wherein denotes the velocity of the particle i in the dth dimension in the kth iteration, w denotes the inertia weight, c1 and c2 denote the learning factors, denotes a random number between 0 and 1 in the kth iteration, denotes the historical optimal position of the particle i in the dth dimension in the kth iteration, denotes the global optimal position of the particle i in the dth dimension in the kth iteration.
[0137] Step 4.4: Determine whether the termination condition is met.
[0138] If the termination condition (such as reaching the maximum number of iterations 100) is met, the algorithm ends and outputs the global optimal solution; otherwise, return to step 4.2 to continue iteration.
[0139] Here, a third embodiment is given, considering an instance of 5 parallel machines and 10 jobs, the processing time, required machine number and rejection cost of the jobs are shown in Table 4.
[0140] Table 4 Job parameters in Example 3
[0141]
[0142] Based on the dynamic inertia weight method, the parameters of the IPSO algorithm are designed, and the specific parameter design is as follows.
[0143] (1) c1=c2=1.49445;
[0144] (2) w=[0.5+(Rand / 2)], wherein Rand represents a random number ranging from 0 to 1;
[0145] (3) complies with uniform distribution,
[0146] (4) The population size of the particle swarm is set to 50;
[0147] (5) The number of iterations of the algorithm is limited to 100 times.
[0148] According to the IPSO algorithm, the scheduling process of this instance is as follows:
[0149] Step 4.1: Initialize the particle swarm. Each particle in the particle swarm is represented by a three-dimensional vector group, which represents the mapping relationship of the particle position vector to the scheduling scheme. The first dimension of each particle represents the nthworkpiece, and the initial workpiece sequence is 1 to n. The second dimension of each particle represents the position vector corresponding to each workpiece. The third dimension of each particle is represented by binary coding, y ij = 1 indicates that the workpiece is accepted, y ij = 0 indicates that the workpiece is rejected. The generation strategy of the position vector is as follows: 60% of the particles randomly generate a random number from 1 to n as the position vector and arrange them in ascending order; 20% of the particles generate a position vector of corresponding size according to the order of the SS-SPT algorithm; 20% of the particles generate a position vector of corresponding size according to the order of the SS-LRC algorithm; the determination method of the rejected workpiece set is as follows: reject the workpiece that reduces the total objective function the most each time, and set its corresponding third dimension vector to 0 until the total objective function is unchanged, and the third dimension vector of the accepted workpiece is equal to 1; the initialization speed of each dimension of all particles is a random number between -2 and 2.
[0150] Step 4.2: Calculate the fitness function of each particle to determine the individual extremum and the global optimal solution.
[0151] Step 4.2.1: Arrange the position vector of each particle in ascending order to determine the processing sequence of the workpiece;
[0152] Step 4.2.2: According to the order of the particle workpiece sequence, assign the workpiece according to the First Come First Service (FCFS) rule; secondly, since the optimal scheduling must exist in the active scheduling, arrange the workpiece to the first idle machine and require that it will not delay the start time of other workpieces to form the active scheduling; finally, determine the rejected workpiece set by comparing the completion time of the workpiece with the rejection cost When C j ≥ e j , reject the workpiece J j , and set the binary vector y ij of the particle to 0; when C j < e j , accept the workpiece J j , complete the decoding, and output the fitness value of the particle corresponding to the scheduling scheme. The smaller the fitness value, the better the scheduling scheme corresponding to the particle.
[0153] Step 4.2.3: Compare the output particle fitness function value with the individual optimal particle and the global optimal particle, and update the individual optimal particle pbest and the global optimal particle gbest if it is better.
[0154] Step 4.3: Update the particle swarm. Update the velocity and position of the particle according to the velocity update formula (14) and the position update formula (15).
[0155] Step 4.4: Determine whether the termination condition is met. If the termination condition is met (e.g., the maximum number of iterations 100 is reached), the algorithm ends and outputs the global optimal solution; otherwise, return to step 4.2 to continue iteration.
[0156] In the final scheduling scheme obtained by the IPSO algorithm in Example 3, the set of received workpieces is The set of rejected workpieces is The objective function value is 49, and the assigned durations of the received workpieces J1, J3, J4, J6, J8, and J 10 are 3, 4, 1, 5, 8, and 5, respectively. The Gantt chart of the final scheduling scheme of Example 3 is shown in Figure 5 .
[0157] Step 5: Design algorithm example simulation to verify the performance of the algorithms SS-SPT, SS-LRC, and IPSO.
[0158] Step 5.1: Design experimental parameters.
[0159] The experimental data of the example is generated by MATLAB, including the following five parameters: the number of machines m, the number of workpieces n, the number of machines required for processing the workpieces m j , the processing time of the workpieces p j , and the rejection cost of the workpieces e j .
[0160] Step 5.2: Design the parameters of the algorithm IPSO.
[0161] Based on the dynamic inertia weight method, the parameters of the algorithm IPSO are designed.
[0162] Step 5.3: Design the parameters of the random initial solution generation standard particle swarm algorithm RAN-PSO.
[0163] The parameters of the algorithm RAN-PSO for randomly generating initial solutions are set to be consistent with the parameters of the algorithm IPSO.
[0164] Step 5.4: Compare the performance improvement rate of the algorithm IPSO for the algorithms SS-SPT, SS-LRC, and RAN-PSO.
[0165] Calculate the performance improvement rate imp IPSO of the algorithm IPSO for the heuristic algorithms SS-SPT, SS-LRC, and the random initial solution generation standard particle swarm algorithm RAN-PSO. IPSO(H) < 0, means the solution obtained by algorithm H is better, if imp IPSO (H) > 0, means the solution obtained by algorithm IPSO is better, and the greater the value of imp(H) is, the better the performance of algorithm IPSO is to algorithm H. In particular, if imp IPSO (RAN-PSO) > 0, means that the heuristic algorithms SS-SPT and SS-LRC are effective algorithm initialization methods, which help to improve the search efficiency of the particle swarm algorithm.
[0166] Specifically, the fourth embodiment is given here:
[0167] Step 5.1: Design experimental parameters. The experimental data of the example is generated by MATLAB, including the following five parameters: the number of machines m, the number of workpieces n, the number of machines required for workpiece processing m j , workpiece processing time p j , workpiece rejection cost e j .
[0168] (1) The number of machines. Starting from m = 3, increasing by 2 successively until m = 9, a total of 4 groups of different sizes of machine numbers are set;
[0169] (2) The number of workpieces. Starting from n = 10, increasing by 10 successively until n = 100, a total of 10 groups of different sizes of workpiece numbers are set;
[0170] (3) The number of machines required for workpiece processing. Due to the processing constraint, it is necessary to satisfy m j ~ U(1, m);
[0171] (4) Workpiece processing time. According to the uniform distribution, it is randomly generated, i.e. p j ~ U(1, 10);
[0172] (5) Workpiece rejection cost. The rejection cost e j of the workpiece is positively correlated with its processing time p j , and is set as e j = β j p j , where β j ~ U(1, 5) and β j ~ U(1, 10).
[0173] The specific parameters of the example are shown in Table 4. 80 different parameter combinations are considered, and 10 examples are randomly generated for each size of workpiece number, a total of 800 examples are generated.
[0174] Table 5 Experimental parameters
[0175]
[0176] Step 5.2: Design the algorithm IPSO parameters.
[0177] Based on the dynamic inertia weight method, the algorithm IPSO parameters are designed, and the specific parameter design is as follows.
[0178] (1) c1 = c2 = 1.49445;
[0179] (2) w = [0.5 + (Rand / 2)], where Rand represents a random number ranging from (0, 1);
[0180] (3) Conforming to uniform distribution,
[0181] (4) The population size of the particle swarm is set to 100;
[0182] (5) The iteration number of the algorithm is limited to 100 times.
[0183] Step 5.3: Design the RAN-PSO parameters of the standard particle swarm algorithm for randomly generating initial solutions.
[0184] The RAN-PSO parameters of the algorithm for randomly generating initial solutions are set to be consistent with the IPSO parameters.
[0185] Step 5.4: Compare the performance improvement rate of algorithm IPSO for algorithms SS-SPT, SS-LRC, and RAN-PSO.
[0186] The experimental results include β j ~ U(1, 5) and β j ~ U(5, 10), and each figure represents the performance improvement rate under the conditions of machine numbers of 3, 5, 7, and 9. The horizontal coordinate in each subgraph represents the number of workpieces, and the vertical coordinate represents the performance improvement rate imp IPSO (H) of algorithm IPSO for algorithms SS-SPT, SS-LRC, and RAN-PSO. Each data point is the average performance improvement rate of 10 examples under the same scale, where the blue data point represents the average performance improvement rate of algorithm IPSO for heuristic algorithm SS-SPT, the red data point represents the average performance improvement rate of algorithm IPSO for heuristic algorithm SS-LRC, and the green data point represents the average performance improvement rate of algorithm IPSO for algorithm RAN-PSO. From the experimental results Figure 6 and Figure 7 The following conclusions can be drawn:
[0187] (1) Overall, for the problem The quality of the algorithm IPSO is better than the three compared algorithms under the same scale of examples, and the designed heuristic algorithms SS-SPT and SS-LRC are effective algorithm initialization methods, which help to improve the search efficiency of the particle swarm algorithm, compared with the standard particle swarm algorithm with randomly generated initial population, the algorithm IPSO combined with the heuristic algorithms SS-SPT and SS-LRC can find a better scheduling scheme under the same number of population iterations;
[0188] (2) Intra-subgraph comparison, when the number of workpieces is small, the performance of the algorithm IPSO is obviously improved by the two heuristic algorithms SS-SPT and SS-LRC, and the highest performance improvement rate reaches 40%, which indicates that the algorithm IPSO realizes effective search; when the number of machines is the same, the average performance improvement rate gradually tends to be stable with the increase of the number of workpieces, and finally stabilizes at about 10%.
[0189] In conclusion, the application can provide a theoretical basis for workpiece duration assignment scheme making, machining machine allocation and machining sequence decision.
[0190] Although the embodiments of the application have been shown and described above, it should be understood that the above embodiments are exemplary and should not be construed as limiting the application, and those skilled in the art can make changes, modifications, replacements and variations to the above embodiments without departing from the principles and purposes of the application within the scope of the application.
Claims
1. A multi-processor job scheduling method considering different work period assignments, characterized by: The following steps are involved: Step 1: Impact analysis of multi-processor job scheduling considering different deadline assignments: Build an integer programming model: obj. st C j =S j +p j ,j=1,2,…,n C j ≥S j +p j ×x ji ,j=1,2,…,n S j ′≥C j -M(2-x ji -x j′i ),j<j′;j,j′=1,2,…,n;i=1,2,…m S i,j ≥C i,j-1 ,j=1,2,…,n C j ≤t,S j ≤t;j=1,2,…,n x ji ={0,1},j=1,2,...,n;i=1,2,...,m U j ={0,1},j=1,2,...,n p j >0.m j >0,a j >0,j=1,2,…,n S j ≥0,C j ≥0,d j ≥0,j=1,2,…,n Which defines the artifact collection p j For workpiece J j Processing time, d j For workpiece J j The assigned duration, S j Indicates workpiece J j The start time of C j Indicates workpiece J j Completion time, S i,j Indicates machine M i Workpiece J j Start time of U j Indicates workpiece J j The work delay count; if the workpiece J j Completion time C j Greater than the assigned duration d j , the work delay count value is 1, α j For workpiece J j The weight of the missed workday count; Define artifact receiving collections Artifact Rejection Collection e j For workpiece J j the cost of rejection; Step 2: Convert the impact analysis problem of multi-processor job scheduling with different deadline assignments in step 1 into where e j =α j First consider the number of processors required, then consider the workpiece processing time, and design a heuristic algorithm SS-SPT based on greedy thinking: Step 2.1.1: Arrange all workpieces in the order of the number of machines they need, and if the workpieces need the same number of machines, arrange them in the order of the processing time, and number them accordingly. Step 2.1.2: Arrange all workpieces on the earliest available machine in sequence, without delaying the start time of other workpieces, to form an initial scheduling plan; Step 2.1.3: Start the first round of rejection, from workpiece J1 to J n , try to reject in turn, and find the total goal The artifact with the most reduction is added to the rejected artifact set Receiving artifact collections Updates are performed synchronously, the first round of rejections is completed, and the scheduling plan is updated; Step 2.1.4: Repeat the above process to start the second round of rejection for the artifact set All artifacts in the attempt to reject, find the total goal The artifact with the most reduction is added to the rejected artifact set Receiving artifact collections Updates are made synchronously, the second round of rejections is completed, and the scheduling plan is updated; Step 2.1.5: Repeat the process until the overall target stops decreasing, and obtain the final scheduling plan and the construction period assignment plan.
2. The multi-processor job scheduling method considering different work period assignments according to claim 1, characterized in that: In step 2, for To solve this problem, we first consider the number of processors required and then the rejection cost of the workpiece, and then design a heuristic algorithm SS-LRC based on the greedy idea: Step 2.2.1: Arrange all the workpieces in the order of the number of machines they need, which is not decreasing. If the workpieces need the same number of processing machines, arrange them in the order of the rejection cost, which is not increasing, and number them accordingly. Step 2.2.2: Arrange all workpieces on the earliest available machine in sequence, without delaying the start time of other workpieces, to form an initial scheduling plan; Step 2.2.3: Start the first round of rejection, from workpiece J1 to J n , try to reject in turn, and find the total goal The artifact with the most reduction is added to the rejected artifact set Receiving artifact collections Updates are performed synchronously, the first round of rejections is completed, and the scheduling plan is updated; Step 2.2.4: Repeat the above process to start the second round of rejection for the artifact set All artifacts in the attempt to reject, find the total goal The artifact with the most reduction is added to the rejected artifact set Receiving artifact collections Updates are made synchronously, the second round of rejections is completed, and the scheduling plan is updated; Step 2.2.5: Repeat the process until the overall target stops decreasing, and obtain the final scheduling plan and the construction period assignment plan.
3. A multi-processor job scheduling method considering different work period assignments according to claim 1 or 2, characterized in that: against Based on the heuristic algorithms SS-SPT and SS-LRC, an improved particle swarm optimization algorithm IPSO is designed: Step 3.1: Initialize the particle swarm: Each particle in the particle swarm represents the mapping relationship between the particle position vector and the scheduling plan through a three-dimensional vector group. The first dimension of each particle represents the nth workpiece, and the initial workpiece sequence is 1 to n; the second dimension of the particle represents the position vector corresponding to each workpiece; the third dimension of the particle represents whether the workpiece is rejected through binary coding, y ij =1 means accepting the workpiece, y ij = 0 means rejecting the workpiece; the rejected workpiece set is determined by rejecting the workpiece that reduces the total target the most each time and setting its corresponding third-dimensional vector to 0, until the total target function remains unchanged and the third-dimensional vector of the accepted workpiece is equal to 1; the initialization speed of each dimension of all particles is a random number between -2 and 2; Step 3.2: Calculate the fitness function of each particle and determine the individual extreme value and the global optimal solution: Step 3.2.1: Arrange the position vectors of each particle from small to large to determine the processing sequence of the workpiece; Step 3.2.2: According to the order of the particle workpiece sequence, the workpieces are assigned according to the first-come-first-served rule; secondly, the workpieces are arranged on the first idle machine without delaying the start time of other workpieces, forming an activity schedule; finally, by comparing the completion time of the workpiece with the rejection cost, the rejection workpiece set is determined. When C j ≥e j Reject workpiece J j , the binary vector y of the particle ij Assigned to 0; when C j <e j When the workpiece J is accepted j , complete the decoding, and output the fitness value corresponding to the particle. The smaller the fitness value, the better the scheduling scheme corresponding to the particle. Among them, the fitness function of particle i is set to: Step 3.2.3: Compare the output particle fitness function value with the fitness function values of the individual best particle and the global best particle. If they are better, update the individual best particle pbest and the global best particle gbest. Step 3.3: Update the particle swarm: Update the particle's speed and position according to the particle's speed update formula and position update formula: in represents the velocity of particle i in the dth dimension in the kth iteration, w represents the inertia weight, c1 and c2 represent the learning factors, represents a random number between 0 and 1 at the kth iteration, represents the historical optimal position of particle i in the dth dimension in k iterations, represents the global optimal position of particle i in the dth dimension in k iterations; Step 3.4: Determine whether the termination condition is met. If the termination condition is met, the algorithm ends and outputs the global optimal solution; otherwise, return to step 3.2 to continue iteration.
4. The multi-processor job scheduling method considering different work period assignments according to claim 3, characterized in that: In step 3.1, the strategy for generating position vectors is as follows: 60% of the particles randomly generate random numbers from 1 to n as position vectors and arrange them from small to large; 20% of the particles generate position vectors of corresponding sizes according to the order of the SS-SPT algorithm; and 20% of the particles generate position vectors of corresponding sizes according to the order of the SS-LRC algorithm.
5. The multi-processor job scheduling method considering different work period assignments according to claim 1, characterized in that: In the integer programming model established in step 1, the optimization objective function is to minimize the sum of the total weighted delay count and the construction period; the first constraint represents the multi-processor job J j Need m j The second constraint represents workpiece J j The completion time is equal to job J j The sum of the start time and processing time of the workpiece, that is, the workpiece processing cannot be interrupted; the third constraint indicates that the start time of any workpiece is not greater than the completion time; the fourth constraint indicates that the start time of each workpiece on the same machine is not less than the completion time of any previous workpiece, that is, the machine can only process one workpiece at the same time; the fifth constraint indicates that the completion time of any workpiece on the same machine is not greater than the start time of the next workpiece, that is, the workpiece front-end processing constraint; the sixth constraint indicates that if the workpiece starts before the start time t of the unavailable interval, then the completion time should also be before t, that is, the machine becomes unavailable at time t; the seventh constraint indicates that x ji is a 0-1 variable, when workpiece J j On machine M i During processing, x ji =1, otherwise x ji =0; the eighth constraint represents U j is a 0-1 variable, when workpiece J j Completion time C j Exceed workpiece J j The assigned duration d j When U j =1, otherwise U j =0; The ninth constraint indicates that the processing time of the workpiece is p j , the number of machines required is m j , and the weight of missed work count is α j are all positive; the tenth constraint indicates that the start time, completion time and assigned duration of any workpiece are non-negative.
6. The multi-processor job scheduling method considering different work period assignments according to claim 1, characterized in that: The impact analysis problem of multi-processor job scheduling considering different deadline assignments is a strong NP-hard problem.