[go: up one dir, main page]

CN111382941B - A Parallel Task Scheduling Method with Multiple Constraints - Google Patents

A Parallel Task Scheduling Method with Multiple Constraints Download PDF

Info

Publication number
CN111382941B
CN111382941B CN202010157895.5A CN202010157895A CN111382941B CN 111382941 B CN111382941 B CN 111382941B CN 202010157895 A CN202010157895 A CN 202010157895A CN 111382941 B CN111382941 B CN 111382941B
Authority
CN
China
Prior art keywords
candidate
string
candidate decoding
range
feasible solution
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010157895.5A
Other languages
Chinese (zh)
Other versions
CN111382941A (en
Inventor
杨启文
余诗琦
薛云灿
陈俊风
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hohai University HHU
Original Assignee
Hohai University HHU
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hohai University HHU filed Critical Hohai University HHU
Priority to CN202010157895.5A priority Critical patent/CN111382941B/en
Publication of CN111382941A publication Critical patent/CN111382941A/en
Application granted granted Critical
Publication of CN111382941B publication Critical patent/CN111382941B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

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

Landscapes

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

Abstract

本发明公开了一种多约束条件的并行任务调度方法,包括如下步骤:1.初始化过程:为每个并行任务设置特征编号,构建候选解编码串的编号池,设置候选解的初始可行解范围;2.重复寻优过程:利用编号池和可行解范围,产生多个候选解编码串;计算各编码串的适合度值,若满足迭代终止条件,则将适合度值最佳的候选解编码串作为最优调度方案;否则,分组统计候选解编码串的分布模型,并计算各组编码串的可行解范围;从可行解范围中产生新的候选解编码串,然后重复寻优过程。本发明采用了分组寻优以及搜索范围自适应调整策略,能够在很短的时间内搜索到最优调度方案。

Figure 202010157895

The invention discloses a parallel task scheduling method with multiple constraints, comprising the following steps: 1. Initialization process: setting a feature number for each parallel task, constructing a number pool of candidate decoding code strings, and setting an initial feasible solution range of the candidate solutions ; 2. Repeat the optimization process: use the number pool and the feasible solution range to generate multiple candidate decoding code strings; calculate the fitness value of each code string, if the iteration termination condition is met, the candidate decoding code with the best fitness value will be Otherwise, the distribution model of the candidate decoding strings is grouped, and the feasible solution range of each group of encoding strings is calculated; new candidate decoding strings are generated from the feasible solution range, and then the optimization process is repeated. The invention adopts the strategy of group optimization and self-adaptive adjustment of the search range, and can search for the optimal scheduling scheme in a very short time.

Figure 202010157895

Description

一种多约束条件的并行任务调度方法A Parallel Task Scheduling Method with Multiple Constraints

技术领域technical field

本发明涉及一种多约束条件的并行任务调度方法,属于生产调度技术领域。The invention relates to a parallel task scheduling method with multiple constraints, and belongs to the technical field of production scheduling.

背景技术Background technique

生产调度就是按照一定的生产作业条件,安排工序执行流程及人员分配的工作。合理的调度方案,可以高效地调配生产劳动力,提高工作的效率。Production scheduling is the work of arranging the process execution process and personnel assignment according to certain production operation conditions. A reasonable scheduling scheme can efficiently allocate production labor and improve work efficiency.

由于生产调度问题是一类NP-Hard,不适合传统的最优化技术进行求解。为了能有效求解生产调度问题,申请号为CN201610281979.3、CN201710866667.3以及CN201710965924.9的专利分别采用进化算法、改进的帝国竞争算法以及萤火虫算法实现柔性车间的任务调度;申请号为CN201710013045.6和CN201610628188.3的专利采用遗传算法分别实现了装配工艺优化和Codelet调度。这些以智能优化算法为核心的生产调度方法,计算量较大,寻优时间长,常常会出现“早熟收敛”的现象。因此,提高生产调度过程的寻优性能和寻优速度,对于生产实践具有现实的意义。Since the production scheduling problem is a kind of NP-Hard, it is not suitable for traditional optimization techniques to solve. In order to effectively solve the production scheduling problem, the patents with the application numbers CN201610281979.3, CN201710866667.3 and CN201710965924.9 respectively adopt the evolutionary algorithm, the improved empire competition algorithm and the firefly algorithm to realize the task scheduling of the flexible workshop; the application number is CN201710013045.6 And the patent of CN201610628188.3 adopts genetic algorithm to realize assembly process optimization and Codelet scheduling respectively. These production scheduling methods centered on intelligent optimization algorithms have a large amount of calculation and a long time for optimization, and often experience the phenomenon of "premature convergence". Therefore, improving the optimization performance and optimization speed of the production scheduling process has practical significance for production practice.

发明内容SUMMARY OF THE INVENTION

本发明的目的在于克服现有技术中的不足,针对一类具有约束条件的并行任务调度问题,提供一种方法简单、性能优良的快速生产调度方法。The purpose of the present invention is to overcome the deficiencies in the prior art, and to provide a fast production scheduling method with simple method and excellent performance for a class of parallel task scheduling problems with constraints.

为达到上述目的,本发明是采用下述技术方案实现的:To achieve the above object, the present invention adopts the following technical solutions to realize:

一种多约束条件的并行任务调度方法,包括如下步骤:A parallel task scheduling method with multiple constraints, comprising the following steps:

步骤A、为每个并行任务设置特征编号,形成候选解编码串的编号池;设置初始可行解范围;Step A, set the feature number for each parallel task, form the number pool of the candidate decoding code string; Set the initial feasible solution range;

步骤B、依据可行解范围以及编号池随机生成多个候选解编码串,并计算候选解编码串的适合度值;Step B, randomly generate a plurality of candidate decoding strings according to the feasible solution range and the number pool, and calculate the fitness value of the candidate decoding strings;

步骤C、根据所述适合度值判断是否满足寻优终止条件,则将适合度值最高的候选解编码串作为最优调度方案,结束迭代过程;否则执行步骤D;Step C, judge whether the optimization termination condition is satisfied according to the fitness value, then take the candidate decoding string with the highest fitness value as the optimal scheduling scheme, and end the iterative process; otherwise, perform step D;

步骤D、根据候选解编码串的适合度值,将候选解编码串分成若干组,分别计算各组候选解编码串的分布模型;Step D, according to the fitness value of the candidate decoding string, divide the candidate decoding string into several groups, and calculate the distribution model of each group of candidate decoding strings respectively;

步骤E、依据分布模型分组计算候选解编码串的可行解范围,然后转至步骤B。Step E: Grouping and calculating the feasible solution range of the candidate decoded code string according to the distribution model, and then going to step B.

进一步的,所述候选解编码串的生成方法包括如下步骤:Further, the method for generating the candidate decoding string includes the following steps:

选择候选解编码串的一个编码位,根据该编码位的可行解范围,从编号池中随机取出一个范围内的特征编号放入该编码位上,如果找不到满足该可行解范围的特征编号,则挑选最靠近该范围的特征编号放入该编码位上,直到所有编码位放置了特征编号为止,此时所得的编码串即为所生成的候选解编码串。Select a code bit of the candidate decoded code string, and randomly select a range of feature numbers from the number pool according to the feasible solution range of the code bit and put it on the code bit. If no feature number that satisfies the feasible solution range is found , then select the feature number closest to the range and put it on the code bit until all the code bits are placed with the feature number, and the obtained code string at this time is the generated candidate decoding code string.

进一步的,所述编号池的构成包括如下步骤:Further, the composition of the numbering pool includes the following steps:

编号池的所有编号由并行任务的特征编号组成,特征编号的数量等于各自子任务的数量。All numbers of the numbering pool consist of feature numbers of parallel tasks, and the number of feature numbers is equal to the number of respective subtasks.

进一步的,候选解编码串的可行解范围由如下方式确定:Further, the feasible solution range of the candidate decoding string is determined by the following methods:

设候选解编码串第k个编码位的重心为ak,则该编码位的可行解范围为[akk akk],其中σk为第k个编码位的标准差,该范围如果超过特征编号的许可范围,则用特征编号的许可范围代替。Suppose the center of gravity of the kth coded bit of the candidate decoding string is a k , then the feasible solution range of the coded bit is [ akk a kk ], where σ k is the standard deviation of the kth coded bit , if the range exceeds the permitted range of the feature number, it will be replaced by the permitted range of the feature number.

进一步的,候选解编码串适合度值的计算包括如下步骤:Further, the calculation of the fitness value of the candidate decoded string includes the following steps:

设并行任务的最后结束时间为T,则其适合度值为1/T;若当前候选解不满足预设的约束条件,则启用惩罚机制:将适合度值缩小两倍以上。Assuming the final end time of the parallel task is T, its fitness value is 1/T; if the current candidate solution does not meet the preset constraints, a penalty mechanism is enabled: the fitness value is reduced by more than two times.

进一步的,所述约束条件包括:Further, the constraints include:

1)同一任务内的各子任务满足执行的先后顺序要求和完成的时间长短要求;1) Each subtask in the same task meets the requirements of the sequence of execution and the length of time for completion;

2)不同并行任务间的子任务满足执行先后的顺序要求;2) The subtasks between different parallel tasks meet the sequence requirements of execution sequence;

3)完成并行任务的总人数及参与子任务的人数满足限额要求。3) The total number of people completing parallel tasks and the number of people participating in subtasks meet the quota requirements.

与现有技术相比,本发明提供的一种多约束条件的并行任务调度方法所达到的有益效果包括:采用候选解分组搜索的策略,提高的候选解的多样性,避免了迭代过程过早停止;通过动态计算候选解编码串的可行解范围,提高了问题求解的自适应能力,加快了寻优速度。Compared with the prior art, the beneficial effects achieved by the multi-constraint parallel task scheduling method provided by the present invention include: adopting the strategy of candidate solution grouping search, improving the diversity of candidate solutions, and avoiding premature iteration process Stop; by dynamically calculating the feasible solution range of the candidate decoding code string, the self-adaptive ability of problem solving is improved, and the optimization speed is accelerated.

附图说明Description of drawings

图1是本发明实施例提供的一种多约束条件的并行任务调度方法的流程图。FIG. 1 is a flowchart of a parallel task scheduling method with multiple constraints provided by an embodiment of the present invention.

具体实施方式Detailed ways

下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。The present invention will be further described below in conjunction with the accompanying drawings. The following examples are only used to illustrate the technical solutions of the present invention more clearly, and cannot be used to limit the protection scope of the present invention.

假设有一个调度任务由四个并行任务组成,各子任务的预设完成时间(单位:分钟)和参与人数如表1所示。执行任务的总人数为5人,同一任务中的各子任务按照序号先后关系执行,并且要求任务A的子任务3必须在任务B的子任务2之前结束;候选解规模为27,分为三组,每组9个候选解;最短完工时间的持续次数为5次。Assuming that a scheduling task consists of four parallel tasks, the preset completion time (unit: minutes) and number of participants of each subtask are shown in Table 1. The total number of people performing the task is 5. The subtasks in the same task are executed according to the sequence number, and it is required that subtask 3 of task A must end before subtask 2 of task B; the candidate solution scale is 27, divided into three groups, each with 9 candidate solutions; the duration of the minimum makepan is 5 times.

表1调度任务的预设时间及参与人数安排表Table 1 The preset time of the scheduling task and the number of participants

Figure BDA0002404739120000031
Figure BDA0002404739120000031

Figure BDA0002404739120000041
Figure BDA0002404739120000041

步骤1,设置必要参数。Step 1. Set the necessary parameters.

根据问题描述和表1,确定任务调度的各个必要参数。According to the problem description and Table 1, determine the necessary parameters of task scheduling.

步骤2,构造编号池、设置初始可行解范围。Step 2: Construct the number pool and set the initial feasible solution range.

按照并行任务编号,设置四个任务的特征编号分别为1、2、3、4.由四个并行任务的子任务数量知,编号池可表示为:According to the parallel task numbers, set the feature numbers of the four tasks as 1, 2, 3, and 4. Knowing the number of subtasks of the four parallel tasks, the number pool can be expressed as:

X={1,1,1,1,1,2,2,2,2,3,4,4,4,4}X={1,1,1,1,1,2,2,2,2,3,4,4,4,4}

由于特征编号的数值范围在1到4之间,候选解编码串各编码位的可行解初始范围均设为[1 4]。Since the value range of the feature number is between 1 and 4, the initial range of feasible solutions for each coded bit of the candidate decoding string is set to [1 4].

步骤3,产生初始候选解。Step 3, generate initial candidate solutions.

表2是随机产生的9个候选解编码串。例如,候选解1可表示为:Table 2 is the randomly generated 9 candidate decoding strings. For example, candidate solution 1 can be expressed as:

x1={24412214412113}x1={24412214412113}

表2 9个候选解编码串Table 2 9 candidate decoding strings

编码位置encoding position 11 22 33 44 55 66 77 88 99 1010 1111 1212 1313 1414 候选解1Candidate solution 1 22 44 44 11 22 22 11 44 44 11 22 11 11 33 候选解2Candidate solution 2 44 11 22 11 44 22 11 11 22 33 44 44 11 22 候选解3Candidate solution 3 22 22 22 44 11 11 44 44 11 44 11 33 22 11 候选解4Candidate solution 4 44 44 33 11 11 11 11 44 22 11 22 22 22 44 候选解5Candidate solution 5 22 11 33 44 44 22 22 11 11 11 11 22 44 44 候选解6Candidate solution 6 11 11 44 44 11 44 22 11 11 22 22 44 22 33 候选解7Candidate Solution 7 44 33 22 22 11 11 22 11 11 11 22 44 44 44 候选解8Candidate solution 8 11 44 22 44 11 22 33 22 44 22 44 11 11 11 候选解9Candidate solution 9 11 11 44 44 11 22 44 44 11 22 33 22 22 11

步骤4,计算并行任务的完工时间和适合度值Step 4, calculate the completion time and fitness value of parallel tasks

以候选解1的编码串x1为例,说明并行任务的完工时间和候选解适合度值的计算过程。Taking the encoded string x1 of the candidate solution 1 as an example, the calculation process of the completion time of the parallel task and the fitness value of the candidate solution is described.

由于候选解编码串中,同一任务中的各子任务均采用相同的特征编号,为了识别子任务,故做如下规定:同一特征编码在候选解编码串中出现的顺序代表子任务的序号。表3是候选解1的编码串位与各任务的子任务对应关系。Since in the candidate decoding string, each subtask in the same task adopts the same feature number, in order to identify the subtask, the following provisions are made: the order in which the same feature code appears in the candidate decoding string represents the serial number of the subtask. Table 3 shows the correspondence between the encoded string bits of the candidate solution 1 and the subtasks of each task.

表3候选解1的编码位与子任务对应关系Table 3 Correspondence between coding bits and subtasks of candidate solution 1

编码位code bits 子任务1subtask 1 子任务2subtask 2 子任务3subtask 3 子任务4subtask 4 子任务5subtask 5 任务Atask A 44 77 1010 1212 1313 任务Btask B 11 55 66 1111 任务Ctask C 1414 任务Dtask D 22 33 88 99

下面按照候选解编码串x1从左到右的顺序,逐位计算每个子任务的开始时间和待岗人数(如表4所示)。In the following, according to the sequence from left to right of the candidate decoding code string x1, the start time of each subtask and the number of people waiting for work are calculated bit by bit (as shown in Table 4).

任务B和任务D的第一个子任务分别需要两个人参与,当前总人数为5人,所以这两子任务可以同时开始,此时待岗人数为1人。The first sub-task of task B and task D requires two people to participate, and the current total number of people is 5, so these two sub-tasks can be started at the same time, and the number of people waiting for the job is 1 at this time.

根据任务D子任务1的完成时间,5分钟就完成该子任务。当任务D的子任务1结束后,待岗人数为3人。按照编码串顺序,需要安排任务D的子任务2,由于该子任务所需人数为2人,因此,可以马上安排任务D的子任务2。此时待岗人数又为1人。According to the completion time of subtask 1 of task D, the subtask will be completed in 5 minutes. When sub-task 1 of task D is over, the number of people waiting to be posted is 3. According to the sequence of the code string, subtask 2 of task D needs to be arranged. Since the number of people required for this subtask is 2, subtask 2 of task D can be arranged immediately. At this time, the number of people waiting for work is 1.

任务A的子任务1需要5人参加,因此,尽管任务D的子任务2在第10分钟结束,但此时待岗人数只有3人,必须等任务B的子任务1结束,待岗总人数才能达到5人。这样,任务A的子任务1的开始时间就从任务B的子任务1结束时间开始计算,此时待岗人数为0。Subtask 1 of task A requires 5 people to participate. Therefore, although subtask 2 of task D ends at the 10th minute, there are only 3 people waiting for work at this time, and the total number of people waiting for work must wait for subtask 1 of task B to end. 5-people. In this way, the start time of subtask 1 of task A is calculated from the end time of subtask 1 of task B, and the number of people waiting for work is 0 at this time.

后续任务B的子任务2、3必须顺序执行,因此,任务B的子任务3的开始时间必须从任务B的子任务2结束时间开始。另外,由于任务B的子任务2开始工作时,待岗3人,后续任务A的子任务2只需要2人,因此任务A的子任务2可以和任务B的子任务2可以同时开始。Subtasks 2 and 3 of subsequent task B must be executed sequentially. Therefore, the start time of subtask 3 of task B must start from the end time of subtask 2 of task B. In addition, when subtask 2 of task B starts to work, there are 3 people waiting, and only 2 people are needed for subtask 2 of subsequent task A, so subtask 2 of task A and subtask 2 of task B can start at the same time.

依照上述过程,计算出每个并行任务的最后一个子任务的结束时间。四个并行任务结束的时间分别为80、85、125、50分钟,由此知:完成该工作总计需要T=125分钟。将f=1/T=1/125作为候选解x1的适合度值。According to the above process, the end time of the last subtask of each parallel task is calculated. The completion time of the four parallel tasks is 80, 85, 125, and 50 minutes, respectively. From this, we know that it takes T=125 minutes in total to complete the work. Let f=1/T=1/125 be the fitness value of the candidate solution x1.

表4候选解1解码过程Table 4 Candidate solution 1 decoding process

编码串code string 22 44 44 11 22 22 11 开始时间Starting time 00 00 55 1515 3030 5555 3030 结束时间End Time 1515 55 1010 3030 5555 6060 3535 待岗人数Number of people waiting 33 11 11 00 33 33 11

由于任务A的子任务3在任务B的子任务2之后才开始,不满足约束条件要求。因此,本次调度方案的适合度值为f=1/250.Since subtask 3 of task A starts after subtask 2 of task B, the constraints are not satisfied. Therefore, the fitness value of this scheduling scheme is f=1/250.

表5为上述9个候选解的完工时间和适合度值。Table 5 shows the completion time and fitness value of the above 9 candidate solutions.

表5候选解的完工时间及适合度值Table 5 Completion time and fitness value of candidate solutions

候选解candidate solution 11 22 33 44 55 66 77 88 99 完工时间Completion Time 125125 110110 140140 135135 120120 110110 115115 105105 105105 适合度值ffitness value f 1/2501/250 1/2201/220 1/2801/280 1/1351/135 1/2401/240 1/1101/110 1/2301/230 1/2101/210 1/1051/105

步骤5,判断迭代终止条件。Step 5: Determine the iteration termination condition.

假设前4次迭代的最大适合度值大于或等于=1/110,即已经有连续5次的最短完工时间没有超过110分钟了,则停止迭代过程,将候选解6的编码串作为最优调度方案,否则进入步骤6。Assuming that the maximum fitness value of the first 4 iterations is greater than or equal to = 1/110, that is, the shortest completion time has not exceeded 110 minutes for 5 consecutive times, stop the iterative process, and take the code string of candidate solution 6 as the optimal scheduling scheme, otherwise go to step 6.

步骤6,候选解分组。Step 6, candidate ungrouping.

将实施例所得的27个候选解按照其适合度值由大到小的顺序分成3组,每组9个候选解。The 27 candidate solutions obtained in the embodiment are divided into 3 groups according to their suitability values in descending order, and each group has 9 candidate solutions.

步骤7,分组计算分布模型参数及可行解范围。Step 7: Calculate the parameters of the distribution model and the range of feasible solutions in groups.

假设表2中9个候选解分在同一组中。以第6号编码位为例说明分布模型的参数计算过程.It is assumed that the 9 candidate decompositions in Table 2 are in the same group. Taking the 6th code bit as an example to illustrate the parameter calculation process of the distribution model.

首先计算第6号编码位的编号均值:First calculate the number mean of the 6th code bit:

Figure BDA0002404739120000071
Figure BDA0002404739120000071

然后计算第6号编码位的编号标准差:Then calculate the numbered standard deviation of the 6th coded bit:

Figure BDA0002404739120000072
Figure BDA0002404739120000072

最后计算第6号编码位的编号重心:Finally, calculate the number center of gravity of the 6th code bit:

Figure BDA0002404739120000073
Figure BDA0002404739120000073

则第6号编码位的编号范围为:[1.128 2.983]≈[1 3]。Then the numbering range of the 6th code bit is: [1.128 2.983]≈[1 3].

若采用同样的方法计算第3号编码位的可行解范围为:[0.48 5.72]≈[0 6].考虑到特征编号上限为4,下限为1,则3号编码位最后的可行解范围[1 4]。If the same method is used to calculate the feasible solution range of the No. 3 code bit: [0.48 5.72]≈[0 6]. Considering that the upper limit of the feature number is 4 and the lower limit is 1, the final feasible solution range of the No. 3 code bit [ 14].

把编码串所有编码位的可行解范围计算出来后,转至步骤3。After calculating the feasible solution range of all coded bits of the coded string, go to step 3.

综上,本发明实施例由于采用了分组寻优以及搜索范围自适应调整策略,能够在很短的时间内搜索到最优调度方案。To sum up, the embodiments of the present invention can search for the optimal scheduling scheme in a very short period of time due to the adoption of the grouping optimization and the adaptive adjustment strategy of the search range.

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。As will be appreciated by those skilled in the art, the embodiments of the present application may be provided as a method, a system, or a computer program product. Accordingly, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the present application may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) having computer-usable program code embodied therein.

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。The present application is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the present application. It will be understood that each process and/or block in the flowchart illustrations and/or block diagrams, and combinations of processes and/or blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to the processor of a general purpose computer, special purpose computer, embedded processor or other programmable data processing device to produce a machine such that the instructions executed by the processor of the computer or other programmable data processing device produce Means for implementing the functions specified in a flow or flow of a flowchart and/or a block or blocks of a block diagram.

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory result in an article of manufacture comprising instruction means, the instructions The apparatus implements the functions specified in the flow or flows of the flowcharts and/or the block or blocks of the block diagrams.

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。These computer program instructions can also be loaded on a computer or other programmable data processing device to cause a series of operational steps to be performed on the computer or other programmable device to produce a computer-implemented process such that The instructions provide steps for implementing the functions specified in the flow or blocks of the flowcharts and/or the block or blocks of the block diagrams.

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。The above are only the preferred embodiments of the present invention. It should be pointed out that for those skilled in the art, without departing from the technical principles of the present invention, several improvements and modifications can be made. These improvements and modifications It should also be regarded as the protection scope of the present invention.

Claims (4)

1.一种多约束条件的并行任务调度方法,其特征在于,包括如下步骤:1. a parallel task scheduling method of multiple constraints, is characterized in that, comprises the steps: 步骤A、为每个并行任务设置特征编号,形成候选解编码串的编号池;设置初始可行解范围;Step A, set the feature number for each parallel task, form the number pool of the candidate decoding code string; Set the initial feasible solution range; 步骤B、依据可行解范围以及编号池随机生成多个候选解编码串,并计算候选解编码串的适合度值;Step B, randomly generate a plurality of candidate decoding strings according to the feasible solution range and the number pool, and calculate the fitness value of the candidate decoding strings; 步骤C、根据所述适合度值判断是否满足寻优终止条件,则将适合度值最高的候选解编码串作为最优调度方案,结束迭代过程;否则执行步骤D;Step C, judge whether the optimization termination condition is satisfied according to the fitness value, then take the candidate decoding string with the highest fitness value as the optimal scheduling scheme, and end the iterative process; otherwise, perform step D; 步骤D、根据候选解编码串的适合度值,将候选解编码串分成若干组,分别计算各组候选解编码串的分布模型;Step D, according to the fitness value of the candidate decoding string, divide the candidate decoding string into several groups, and calculate the distribution model of each group of candidate decoding strings respectively; 步骤E、依据分布模型分组计算候选解编码串的可行解范围,然后转至步骤B;Step E, calculate the feasible solution range of the candidate decoding code string according to the distribution model grouping, then go to step B; 所述候选解编码串的生成方法包括如下步骤:The method for generating the candidate decoding string includes the following steps: 选择候选解编码串的一个编码位,根据该编码位的可行解范围,从编号池中随机取出一个范围内的特征编号放入该编码位上,如果找不到满足该可行解范围的特征编号,则挑选最靠近该范围的特征编号放入该编码位上,直到所有编码位放置了特征编号为止,此时所得的编码串即为所生成的候选解编码串;Select a code bit of the candidate decoded code string, and randomly select a range of feature numbers from the number pool according to the feasible solution range of the code bit and put it on the code bit. If no feature number that satisfies the feasible solution range is found , then select the feature number closest to the range and put it on the code bit, until all the code bits have placed the feature number, and the resulting encoded string is the generated candidate decoded string; 候选解编码串的可行解范围由如下方式确定:The feasible solution range of the candidate decoding string is determined as follows: 设候选解编码串第k个编码位的重心为ak,则该编码位的可行解范围为[akk akk],其中σk为第k个编码位的标准差,该范围如果超过特征编号的许可范围,则用特征编号的许可范围代替。Suppose the center of gravity of the kth coded bit of the candidate decoding string is a k , then the feasible solution range of the coded bit is [ akk a kk ], where σ k is the standard deviation of the kth coded bit , if the range exceeds the permitted range of the feature number, it will be replaced by the permitted range of the feature number. 2.根据权利要求1所述的一种多约束条件的并行任务调度方法,其特征在于,所述编号池的构成包括如下步骤:2. a kind of parallel task scheduling method with multiple constraints according to claim 1, is characterized in that, the formation of described numbering pool comprises the steps: 编号池的所有编号由并行任务的特征编号组成,特征编号的数量等于各自子任务的数量。All numbers of the numbering pool consist of feature numbers of parallel tasks, and the number of feature numbers is equal to the number of respective subtasks. 3.根据权利要求1所述的一种多约束条件的并行任务调度方法,其特征在于,候选解编码串适合度值的计算包括如下步骤:3. a kind of parallel task scheduling method with multiple constraints according to claim 1, is characterized in that, the calculation of candidate decoding string fitness value comprises the following steps: 设并行任务的最后结束时间为T,则其适合度值为1/T;若当前候选解不满足预设的约束条件,则启用惩罚机制:将适合度值缩小两倍以上。Assuming the final end time of the parallel task is T, its fitness value is 1/T; if the current candidate solution does not meet the preset constraints, a penalty mechanism is enabled: the fitness value is reduced by more than two times. 4.根据权利要求3所述的一种多约束条件的并行任务调度方法,其特征在于,所述约束条件包括:4. The parallel task scheduling method with multiple constraints according to claim 3, wherein the constraints comprise: 1)同一任务内的各子任务满足执行的先后顺序要求和完成的时间长短要求;1) Each sub-task in the same task meets the requirements of the sequence of execution and the length of time for completion; 2)不同并行任务间的子任务满足执行先后的顺序要求;2) The subtasks between different parallel tasks meet the sequence requirements of execution sequence; 3)完成并行任务的总人数及参与子任务的人数满足限额要求。3) The total number of people completing parallel tasks and the number of people participating in subtasks meet the quota requirements.
CN202010157895.5A 2020-03-09 2020-03-09 A Parallel Task Scheduling Method with Multiple Constraints Active CN111382941B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010157895.5A CN111382941B (en) 2020-03-09 2020-03-09 A Parallel Task Scheduling Method with Multiple Constraints

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010157895.5A CN111382941B (en) 2020-03-09 2020-03-09 A Parallel Task Scheduling Method with Multiple Constraints

Publications (2)

Publication Number Publication Date
CN111382941A CN111382941A (en) 2020-07-07
CN111382941B true CN111382941B (en) 2022-08-02

Family

ID=71218818

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010157895.5A Active CN111382941B (en) 2020-03-09 2020-03-09 A Parallel Task Scheduling Method with Multiple Constraints

Country Status (1)

Country Link
CN (1) CN111382941B (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112163387B (en) * 2020-09-07 2022-09-20 华南理工大学 Power electronic circuit optimization method based on brainstorming algorithm and its application
CN116663618B (en) * 2023-07-28 2023-12-05 之江实验室 Operator optimization method and device, storage medium and electronic equipment
CN119376898B (en) * 2024-12-27 2025-06-13 山东海量信息技术研究院 A task scheduling method, device, medium and computer program product

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1369970A (en) * 2001-02-09 2002-09-18 胡笑平 Position adaptive coding method using prefix prediction
CN108320059A (en) * 2018-02-22 2018-07-24 石家庄铁道大学 A kind of workflow schedule evolution optimization method and terminal device
CN109409763A (en) * 2018-11-08 2019-03-01 北京航空航天大学 A kind of dynamic test assignment dispatching method and dispatching platform based on Greedy grouping strategy
CN110489229A (en) * 2019-07-17 2019-11-22 长沙学院 A kind of multiple target method for scheduling task and system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1369970A (en) * 2001-02-09 2002-09-18 胡笑平 Position adaptive coding method using prefix prediction
CN108320059A (en) * 2018-02-22 2018-07-24 石家庄铁道大学 A kind of workflow schedule evolution optimization method and terminal device
CN109409763A (en) * 2018-11-08 2019-03-01 北京航空航天大学 A kind of dynamic test assignment dispatching method and dispatching platform based on Greedy grouping strategy
CN110489229A (en) * 2019-07-17 2019-11-22 长沙学院 A kind of multiple target method for scheduling task and system

Also Published As

Publication number Publication date
CN111382941A (en) 2020-07-07

Similar Documents

Publication Publication Date Title
CN111382941B (en) A Parallel Task Scheduling Method with Multiple Constraints
CN107862411A (en) A kind of extensive flexible job shop scheduling optimization method
CN110288185B (en) A Distributed Flexible Pipeline Scheduling Method
CN104268722B (en) Dynamic flexible job-shop scheduling method based on multi-objective Evolutionary Algorithm
CN113610233B (en) Flexible job shop scheduling method based on improved genetic algorithm
CN103809506B (en) The method of part processing optimal scheduling scheme is obtained based on a dimension particle cluster algorithm
CN110632907A (en) A dispatch optimization method and system for a distributed assembled replacement flow shop
CN108805403A (en) A kind of job-shop scheduling method based on improved adaptive GA-IAGA
CN110796355A (en) Flexible job shop scheduling method based on dynamic decoding mechanism
CN111079987A (en) Semiconductor workshop production scheduling method based on genetic algorithm
CN108460463B (en) High-end equipment assembly line production scheduling method based on improved genetic algorithm
CN111325356A (en) Neural network search distributed training system and training method based on evolutionary computation
CN106707990A (en) Multi-objective flexible job shop scheduling method based on discrete firefly algorithm
CN116227874B (en) A Genetic Algorithm-Based Flexible Job Shop Scheduling Method and Device
CN110288126A (en) A method for optimizing the production capacity of a robot casting production line
CN106933200A (en) The control method of the solution Flexible Job-shop Scheduling Problems based on genetic algorithm
CN112561225A (en) Flexible job shop scheduling method based on benchmarking coevolution algorithm
Duan et al. An improved artificial bee colony algorithm with MaxTF heuristic rule for two-sided assembly line balancing problem
CN111353646A (en) Steelmaking flexible scheduling optimization method, system, medium and equipment with switching time
CN108846480B (en) A method and device for multi-specification one-dimensional nesting based on genetic algorithm
CN112257922B (en) A flexible job shop scheduling optimization method
CN117745026A (en) Workshop scheduling method for improving genetic algorithm to meet single-task completion time constraint
CN118863307A (en) Flexible job shop scheduling method based on improved genetic algorithm of discrete Levy flight
CN112632777A (en) II-type bilateral assembly line balancing method and system for household appliance product assembly line
CN111596622B (en) Flexible Job Shop Scheduling Method Based on ECM Rule Distribution Estimation Algorithm

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant