CN110928670A - Workflow optimization method based on partial sequence adaptive genetic algorithm in cloud computing environment - Google Patents

Workflow optimization method based on partial sequence adaptive genetic algorithm in cloud computing environment Download PDF

Info

Publication number
CN110928670A
CN110928670A CN201911261591.7A CN201911261591A CN110928670A CN 110928670 A CN110928670 A CN 110928670A CN 201911261591 A CN201911261591 A CN 201911261591A CN 110928670 A CN110928670 A CN 110928670A
Authority
CN
China
Prior art keywords
virtual machine
task
individual
list
time
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.)
Granted
Application number
CN201911261591.7A
Other languages
Chinese (zh)
Other versions
CN110928670B (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.)
Zhejiang Gongshang University
Original Assignee
Zhejiang Gongshang University
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 Zhejiang Gongshang University filed Critical Zhejiang Gongshang University
Priority to CN201911261591.7A priority Critical patent/CN110928670B/en
Publication of CN110928670A publication Critical patent/CN110928670A/en
Application granted granted Critical
Publication of CN110928670B publication Critical patent/CN110928670B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/48Indexing scheme relating to G06F9/48
    • G06F2209/483Multiproc
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5021Priority

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

The invention discloses a workflow optimization method based on a partial sequence adaptive genetic algorithm in a cloud computing environment, which comprises the following steps of: acquiring information required by executing optimization; calculating a level value of the task; initializing a contemporary population; decoding the improved current generation population and calculating a fitness value; carrying out cross variation operation on the contemporary population to form a new population; forming a new contemporary population from the contemporary population and the new population; outputting an execution optimization result until a termination condition is met; the invention adopts the methods and strategies of initial individual generation, adaptive genetic operation, topological sorting, non-decreasing partial order coding, serial individual decoding based on an insertion mode, forward and backward individual decoding improvement and the like based on the hierarchy and benefit ratio, realizes the integrated collaborative optimization of resource allocation and task scheduling, and improves the optimizing capability and the searching efficiency of the whole algorithm.

Description

Workflow optimization method based on partial sequence adaptive genetic algorithm in cloud computing environment
Technical Field
The invention relates to the field of computer technology, information technology and system engineering, in particular to a cloud workflow optimization method, and more particularly relates to a workflow optimization method based on a partial order adaptive genetic algorithm in a cloud computing environment.
Background
The workflow under the cloud computing environment, called 'cloud workflow' for short, is the integration of cloud computing and workflow related technologies, and is used for scientific computing and cross-organization business cooperation requiring high-efficiency computing performance and large-scale storage support, such as: the system has wide application prospect in the fields of e-commerce, emergency management, supply chain management, health care and the like. In a cloud workflow, there are multiple types of computing resources and multiple tasks, and there are timing constraints between tasks, and a virtual machine is generally responsible for receiving and processing these tasks as a minimum allocation unit of computing resources during execution. Cloud workflow execution or scheduling optimization refers to how to reasonably configure virtual machines under the constraint of meeting the workflow task timing and user requirements, how to allocate workflow tasks to proper virtual machines and determine the execution sequence of the workflow tasks to optimize certain performance indexes such as: cost of implementation, response time, etc. The performance of the whole cloud workflow system is directly determined by cloud workflow execution optimization, and with the rapid increase of process automation requirements in a cloud computing environment, particularly requirements of large-scale assistance and distributed e-commerce and scientific computing applications, the cloud workflow execution optimization has become an important research content.
When cloud workflow execution optimization is performed, the optimization is generally performed only from the perspective of resource configuration or task scheduling, and collaborative optimization research on the resource configuration and the task scheduling is lacked. In fact, the resource allocation and the task scheduling of the cloud workflow are interacted as two optimization stages, the performance index of the cloud workflow execution is influenced together, and the execution performance of the cloud workflow can be effectively improved through collaborative optimization research aiming at the two optimization stages.
Therefore, with the increase of the complexity of the cloud workflow and the application requirements thereof, it is urgently needed to design a more efficient integrated collaborative optimization method to solve the problems of resource allocation and task scheduling optimization of the cloud workflow and improve the performance of cloud workflow execution.
Disclosure of Invention
Aiming at the defects that the current optimization is usually performed only from the perspective of resource allocation or task scheduling, an integrated collaborative optimization method of the resource allocation and the task scheduling is lacked, the cloud workflow execution performance is low and the like in the cloud workflow execution, the invention provides a workflow optimization method based on a partial order adaptive genetic algorithm in a cloud computing environment, and the cloud workflow execution performance is effectively improved.
The technical scheme adopted by the invention for solving the technical problems is as follows: a workflow optimization method based on a partial order adaptive genetic algorithm in a cloud computing environment comprises the following steps:
step 1: acquiring information required by executing optimization of the cloud workflow;
get task set T ═ T1,...,tI},tiRepresenting a task i, namely a task with the number i; wherein I is the number of tasks to be scheduled;
acquiring a time sequence relation between tasks: parent task set PR of task iiSubstask set SC for task iiWherein I is 1, …, I;
Figure BDA0002311740090000021
acquiring task related parameters: length len of task ii、leni>0, i.e. the number of instructions that need to be consumed by the virtual machine when task i is processed, the list of input files IFL that is needed when task i is processedi
Figure BDA0002311740090000022
Output file list OFL generated after task i is processedi
Figure BDA0002311740090000023
And the size of the file in the file list, wherein: i is 1, …, I; task i is task i+The requirements of the parent task are as follows: there is a file that is the output file of task i and is also task i+The input file of (a), namely:
Figure BDA0002311740090000027
obtaining a virtual machine type set VM ═ VM in a cloud computing environment1,vm2,…,vmJWhere J is the number of types of virtual machines, vmjRepresenting a j-class virtual machine;
acquiring related parameters of the virtual machine: computing power ps of class j virtual machinesjBandwidth bw of class j virtual machinesjCost per unit time vc for class j virtual machinesjFixed lease-starting cost fc of j-class virtual machinejMinimum billing time unit ut for class j virtual machinesjMinimum lease-on time ft of class j virtual machinej(ii) a The cost of renting a class j virtual machine is calculated as follows:
Figure BDA0002311740090000025
wherein: lt is lease time, J is 1,2 …, J;
acquiring cost constraint Budget and time constraint Deadline executed by a workflow in a cloud computing environment; if no cost constraint exists, setting Budget as MBV, and if no time constraint exists, setting Deadline as MDV; wherein: MBV is the upper cost limit, and MDV is the upper time limit;
step 2: calculating a level value of the task;
for a starting task i without a parent task, the hierarchy value is:
lvli=1 (1)
the hierarchy values of other tasks are calculated using the following recursive formula:
Figure BDA0002311740090000026
and step 3: initializing a contemporary population;
generating 1 individual by an individual generation method based on the hierarchy and the benefit ratio, and generating the remaining N-1 different individuals by an individual random generation method based on the hierarchy to form an initial contemporary population; wherein N is an even number is the population size;
the individual encoding method is as follows: ch ═ gr1,…,grI;gs1,…,gsI;gt1,…,gtIWhere { gr1,…,grIThe scheduling order list is a topological order of task numbers; { gs1,…,gsIIs the virtual machine allocation list, gsiIndicating the virtual machine instance number, gs, assigned to task i1,…,gsITaking an integer value between 1 and I; { gt1,…,gtIIs a list of virtual machine types, gtiType of virtual machine instance denoted i, i.e. type of virtual machine instance i, gt1,…,gtIIs a non-decreasing permutation;
the individual random generation method based on the hierarchy and the benefit ratio comprises the following steps:
step A1: according to the random arrangement of tasks with the level values of the tasks from small to large, namely the random arrangement with the level values of the tasks arranged in front of the tasks with small level values and the same level values, generating an individual task scheduling sequence list { gr1,…,grI};
Step A2: randomly generating I random integers from 1 to J: pi1、……、πI(ii) a The arrangement from small to large is not assumed:
Figure BDA0002311740090000031
order:
Figure BDA0002311740090000032
generating a list of individual virtual machine types { gt1,…,gtI};
Step A3: generating individual virtual machine allocation list { gs) based on benefit ratio1,…,gsI}:
Step A3.1: enabling a set of virtual machine instances for assigned tasks
Figure BDA0002311740090000033
Ready time rt of all tasks1=…=rtI0; available time period list of all virtual machine instances, vatlk={[0,∞]1,2, …, I; let the variable δ be 1;
step A3.2: let variable i become grδThe variable k is 1; calculating the handle tiThe comprehensive benefit ratio after being respectively allocated to each potential virtual machine instance is as follows:
step A3.2.1: calculating tiExecution time after assignment to virtual machine instance numbered k
Figure BDA0002311740090000034
Wherein:
Figure BDA0002311740090000035
is a handle tiThe processing time of the task when the virtual machine instance with the number k is processed,
Figure BDA0002311740090000036
Figure BDA0002311740090000037
is the processing power of the virtual machine instance numbered k;
Figure BDA0002311740090000038
is a handle tiThe virtual machine instance with the number k needs to obtain the file transfer time of the input file from other virtual machines when processing,
Figure BDA0002311740090000039
k-is to treat
Figure BDA00023117400900000314
The number of the virtual machine instance of (c),
Figure BDA00023117400900000310
and
Figure BDA00023117400900000311
is numbered k and k-Bandwidth of the virtual machine instance of (1);
Figure BDA00023117400900000312
is a handle tiThe virtual machine instance with number k needs to obtain the file transfer time of the input file from the shared database when processing,
Figure BDA00023117400900000313
step A3.2.2: in vatlkFinding out an idle time period [ v ] from morning to eveningkk]Satisfy upsilonkk≥eti,kAnd upsilonk-eti,k≥rti
Step A3.2.3: calculating tiStarting time s after assigning to virtual machine instance numbered ki,k=max{νk,rtiH, completion time fi,k=si,k+eti,k
Step A3.2.4, calculating the comprehensive benefit ratio ξi,k
If inskE.g. INS, wherein INSkRepresenting the virtual machine instance numbered k, then
Figure BDA0002311740090000041
Wherein: theta belongs to [0,1] and is a weight coefficient, and mu is a coordination coefficient of cost and time;
Figure BDA0002311740090000042
Rnt′k}-min{si,k,Hrt′kassign existing tasks to inskIn the case of (2), t isiIs assigned to inskHindinskLease time of'k=Rnt′k-Hrt′kIs tiHave not been assigned to inskFront inskThe time of lease of (a) is,
Figure BDA0002311740090000043
is tiHave not been assigned to inskFront inskThe return time of (c);
Figure BDA0002311740090000044
is tiHave not been assigned to inskFront inskThe start lease time;
if it is not
Figure BDA00023117400900000419
Then
Figure BDA0002311740090000045
Wherein
Figure BDA0002311740090000046
For no task yet assigned to inskIn the case of (2), t isiIs assigned to inskHindinskThe lease time of;
step A3.2.5: let k be k +1, if k ≦ I, go to step A3.2.1; otherwise go to step A3.3;
step A3.3-in sequence from ξi,1,…,ξi,IFind a minimum among them, do not set as
Figure BDA0002311740090000047
If the number is
Figure BDA0002311740090000048
Virtual machine instance of
Figure BDA0002311740090000049
Then
Figure BDA00023117400900000410
Step A3.4: assign task i to a number of
Figure BDA00023117400900000411
Virtual machine instance of (1), order
Figure BDA00023117400900000412
Step A3.4.1: calculating a start time of a task
Figure BDA00023117400900000413
End time
Figure BDA00023117400900000414
Step A3.4.2: updating the Ready time of a subtask of task i
Figure BDA00023117400900000415
Step A3.4.3: in that
Figure BDA00023117400900000416
Finding out an idle period from morning to evening
Figure BDA00023117400900000417
Satisfy the requirement of
Figure BDA00023117400900000418
And
Figure BDA0002311740090000051
step A3.4.4: in that
Figure BDA0002311740090000052
Deletion in
Figure BDA0002311740090000053
With intervening interval length greater than 0
Figure BDA0002311740090000054
And
Figure BDA0002311740090000055
step A3.5: let δ be δ + 1; if delta is less than or equal to I, go to step A3.2, otherwise go to step A3.6;
step A3.6: obtaining a virtual machine allocation list gs1,…,gsI};
Step A4: output individual ch ═ gr1,…,grI;gs1,…,gsI;gt1,…,gtIFourthly, the operation is finished;
the individual random generation method based on the hierarchy comprises the following steps:
step B1: according to the random arrangement of tasks with the same hierarchy value and with the hierarchy value in front of the small hierarchy value, the tasks are randomly arranged from small to largeIndividual task scheduling order list { gr1,…,grI};
Step B2: randomly generating I random integers from 1 to J: pi1、……、πI(ii) a The arrangement from small to large is not assumed:
Figure BDA0002311740090000056
order:
Figure BDA0002311740090000057
generating a list of individual virtual machine types { gt1,…,gtI};
Step B3: randomly generating I random integers from 1 to I, which are not set as: pi'1、……、π′I(ii) a Order: gs is1=π′1、……、gsI=π′IGenerating an individual virtual machine allocation list { gs1,…,gsI};
Step B4: output individual ch ═ gr1,…,grI;gs1,…,gsI;gt1,…,gtIFourthly, the operation is finished;
and 4, step 4: decoding and improving each individual in the contemporary population by adopting FBI & D to obtain the workflow response time and the execution cost of each individual, and then calculating the relative fitness value of all infeasible individuals and the absolute fitness value of feasible individuals;
for individual chnThe FBI&D comprises the following steps:
step C1: make workflow reverse response time
Figure BDA0002311740090000058
Step C2: individual ch adopting serial individual decoding method based on insertion modenDecoding is carried out to obtain the completion time f of all tasks1,…,fIAnd its workflow response time rsn(ii) a If rsnIs less than
Figure BDA0002311740090000059
Go to step C3, otherwise, go to step C6;
step C3: an individual chnAccording to the task completion time fiRearranging from large to small, i.e. chnGene gr in (1)iSet to the I-last completed task, I-1, …, I, forming an inverted individual
Figure BDA00023117400900000510
Step C4: method for decoding reverse individuals by adopting serial reverse individuals based on insertion mode
Figure BDA00023117400900000511
Decoding to obtain the reverse completion time of all tasks
Figure BDA00023117400900000512
And its workflow reverse response time
Figure BDA00023117400900000513
If it is
Figure BDA00023117400900000514
Less than rsnGo to step C5, otherwise go to step C6;
step C5: make the opposite direction single body
Figure BDA0002311740090000061
According to the task reverse completion time of the task scheduling sequence list in (1)
Figure BDA0002311740090000062
Rearranged from large to small, i.e.
Figure BDA0002311740090000063
Gene gr in (1)iSet to the I-last completed task, I-1, …, I, forming an individual chnGo to step C2;
step C6: output individual chnAnd its workflow response time rsnAnd calculating the workflow execution cost ctnAnd the operation is finished;
the serial individual decoding method based on the insertion mode is used for individual chnThe decoding comprises the following steps:
step D1: let ready times rt of all tasksi0, I-1, …, I; let the variable δ be 1; make available time period list of all virtual machine instances vatlk={[0,∞]},k=1,…,I;
Step D2: selecting the serial number i-grδThe task of (1);
step D3: assigning task i to a number k-gs based on an insertion patterniThe virtual machine instance of (1);
step D3.1: computing the execution time of task i
Figure BDA0002311740090000064
Step D3.2: in vatlkFinding out an idle time period [ v ] from morning to eveningkk]Satisfy upsilonkk≥etiAnd upsilonk-eti≥rti
Step D3.3: calculating the start time s of task ii=max{νk,rtiH, completion time fi=si+eti
Step D3.4: updating the Ready time of a subtask of task i
Figure BDA0002311740090000065
Step D3.5: list of time slots available in virtual machine, vatlkDeletion of [ v ]kk]V, with insertion interval length greater than 0k,si]And [ fik];
Step D4: let δ be δ +1, if δ ≦ I, go to step D2, otherwise step D5;
step D5: obtaining a start time and an end time of the task: si,fiI1, …, I, calculating the execution cost of the workflowctnAnd response time rsnAnd the operation is finished;
the serial reverse individual decoding method based on the insertion mode is used for decoding reverse individuals
Figure BDA0002311740090000066
The decoding comprises the following steps:
step E1: make reverse ready time of all tasks
Figure BDA0002311740090000067
Wherein SFLiIs the set of output files that task i outputs to the shared database, i.e.
Figure BDA0002311740090000068
I is 1, …, I; let the variable δ be 1; make virtual machine available a time period list vatlk={[0,∞]},k=1,…,I;
Step E2: selecting the serial number i-grδThe task of (1);
step E3: assigning task i to a number k-gs based on an insertion patterniThe virtual machine instance of (2):
step E3.1: computing the execution time of task i
Figure BDA0002311740090000071
Step E3.2: in vatlkFinding out an idle time period [ v ] from morning to eveningkk]Satisfy upsilonkk≥etiAnd
Figure BDA0002311740090000072
step E3.3: calculating a reverse start time for task i
Figure BDA0002311740090000073
Reverse completion time
Figure BDA0002311740090000074
Step E3.4: updatingReverse ready time of parent task of task i
Figure BDA0002311740090000075
Step E3.5: list of time slots available in virtual machine, vatlkDeletion of [ v ]kk]With an insertion interval length greater than 0
Figure BDA0002311740090000076
And
Figure BDA0002311740090000077
step E4: let δ be δ +1, if δ ≦ I, go to step E2, otherwise step E5;
step E5: obtaining a reverse start time for a task
Figure BDA0002311740090000078
And reverse completion time
Figure BDA0002311740090000079
I-1, …, I, and its workflow reversal response time
Figure BDA00023117400900000710
Finishing the operation;
and 5: judging whether a termination condition is met, if so, turning to a step 8 after the evolution is finished, and otherwise, turning to a step 6;
the termination condition is that no feasible individual or optimal feasible individual is improved when iteration is carried out to a specified generation TG or continuous iteration GG generation;
step 6: performing cross and variation operations on the contemporary population to form a new population;
step 6.1: making the new population empty;
step 6.2: randomly selecting two different individuals from the contemporary population as a father 1 and a father 2 based on a ranking round-robin method;
step 6.3: randomly selecting a cross method to carry out cross operation on the father body 1 and the father body 2 by adopting a value-based round-robin method according to the fitness value of the cross method to generate two daughter bodies; decoding and improving by adopting FBI & D, if the daughter is a feasible individual, calculating an absolute fitness value of the daughter, and otherwise, calculating a relative fitness value of the daughter; updating the fitness value of the intersection method according to the formula (3);
step 6.4: generating a random number lambda1E [0,1), if λ1<pmThen, randomly selecting a variation method for the daughter 1 according to the fitness value of the variation method by adopting a value-based betting method to perform variation operation; using FBI&D, decoding and improving; if the daughter 1 is a viable individual, calculating its absolute fitness value, otherwise calculating its relative fitness value; updating the adaptability value of the variation method according to the formula (4);
step 6.5: generating a random number lambda2E [0,1), if λ2<pmThen, randomly selecting a variation method for the daughter 2 according to the fitness value of the variation method by adopting a value-based betting method to perform variation operation; using FBI&D, decoding and improving; if the daughter 2 is a viable individual, calculating its absolute fitness value, otherwise calculating its relative fitness value; updating the adaptability value of the variation method according to the formula (4);
step 6.6: adding daughter 1 and daughter 2 to the new population; if the number of the new population is less than N, go to step 6.2, otherwise go to step 7;
wherein: p is a radical ofm∈(0,1]Is the rate of variation;
the crossing method comprises the following steps: the task scheduling sequence lists are crossed, the virtual machine distribution lists are crossed, and the types of the virtual machines are crossed;
the father 1 and the father 2 are not:
Figure BDA0002311740090000081
Figure BDA0002311740090000082
daughter 1 and daughter 2 were:
Figure BDA0002311740090000083
the crossing method 1: the task scheduling sequence list intersection comprises the following steps:
step F1, randomly generating a positive integer α from 1 to I-1;
step F2: ch (channel)c1The first α genes in the task scheduling order list of (1) are from chp1The first α genes of the task scheduling order list of (1), gri c1=gri p1I is more than or equal to 1 and less than or equal to α, and the last I- α genes come from chp2Task scheduling order list { gr1 p2,…,grI p2The deleted gene value in the } is equal to
Figure BDA0002311740090000084
The latter gene list; ch (channel)c1The virtual machine allocation list and the virtual machine type list come from the chp1Namely:
Figure BDA0002311740090000085
1≤i≤I;
step F3: ch (channel)c2The first α genes in the task scheduling order list of (1) are from chp2The first α genes of the task scheduling order list of (1), gri c2=gri p2I is more than or equal to 1 and less than or equal to α, and the last I- α genes come from chp1Task scheduling order list of
Figure BDA0002311740090000086
Middle deletion gene value equal to
Figure BDA0002311740090000087
The latter gene list; ch (channel)c2The virtual machine allocation list and the virtual machine type list come from the chp2Namely:
Figure BDA0002311740090000088
1≤i≤I;
step F4: output chc1And chc2And the operation is finished;
and (3) a crossing method 2: the virtual machine distribution list intersection comprises the following steps:
g1, randomly generating a positive integer α from 1 to I-1;
step G2: ch (channel)c1The first α genes of the virtual machine assignment list in (1) are from chp1The first α genes of the virtual machine allocation list of (1), namely:
Figure BDA0002311740090000089
i is more than or equal to 1 and less than or equal to α, and the last I- α genes come from chp2The last I- α genes of the virtual machine allocation list of (1), namely:
Figure BDA00023117400900000810
α+1≤i≤I;chc1the task scheduling order list and the virtual machine type list come from the chp1Namely: gr is a group ofi c1=gri p1
Figure BDA00023117400900000811
1≤i≤I;
Step G3: ch (channel)c2The first α genes of the virtual machine assignment list in (1) are from chp2The first α genes of the virtual machine allocation list of (1), namely:
Figure BDA0002311740090000091
i is more than or equal to 1 and less than or equal to α, and the last I- α genes come from chp1The last I- α genes of the virtual machine allocation list of (1), namely:
Figure BDA0002311740090000092
α+1≤i≤I;chc2the task scheduling order list and the virtual machine type list come from the chp2Namely: gr is a group ofi c2=gri p2
Figure BDA0002311740090000093
1≤i≤I;
Step G4: output chc1And chc2And the operation is finished;
and (3) a crossing method: the virtual machine type crossing comprises the following steps:
step H1, randomly generating a positive integer α from 1 to I-1;
step H2: ch (channel)c1The task scheduling order list and the virtual machine allocation list are from chp1Namely: gr is a group ofi c1=gri p1
Figure BDA0002311740090000094
1≤i≤I;chc1The first α genes of the virtual machine type list from chp1The first α genes of the list of virtual machine types of (c), namely:
Figure BDA0002311740090000095
1≤i≤α;chc1the last I- α genes of the list of virtual machine types from chp2The last I- α genes of the list of virtual machine types of (2), namely:
Figure BDA0002311740090000096
α + 1. ltoreq. i.ltoreq.I, if
Figure BDA0002311740090000097
Go to step H3, otherwise go to step H4;
step H3: generating a random number lambda epsilon [0, 1); if λ<0.5, then
Figure BDA0002311740090000098
Figure BDA0002311740090000099
Otherwise
Figure BDA00023117400900000910
Step H4: ch (channel)c2The task scheduling order list and the virtual machine allocation list are from chp2Namely: gr is a group ofi c2=gri p2
Figure BDA00023117400900000911
1≤i≤I;chc2The first α genes of the virtual machine type list from chp2The first α genes of the list of virtual machine types of (c), namely:
Figure BDA00023117400900000912
1≤i≤α;chc2the last I- α genes of the list of virtual machine types from chp1The last I- α genes of the list of virtual machine types of (2), namely:
Figure BDA00023117400900000913
α + 1. ltoreq. i.ltoreq.I, if
Figure BDA00023117400900000914
Go to step H5, otherwise go to step H6;
step H5: generating a random number lambda epsilon [0, 1); if λ<0.5, then
Figure BDA00023117400900000915
Figure BDA00023117400900000916
Otherwise
Figure BDA00023117400900000917
Step H6: output chc1And chc2And the operation is finished;
the mutation method comprises the following steps: the task scheduling sequence list is mutated, the virtual machine distribution list is mutated, and the virtual machine type list is mutated;
mutation method 1: scheduling sequential list variation, comprising the steps of:
step I1: from the task scheduling order list { gr1,…,grIRandomly select a gene, not set as gri
Step I2: if task griFinding the first parent task gr forward if there is a parent taski′Let the position value pos1If not, let pos11 is ═ 1; if task griFinding backwards if there is a subtaskTo the first subtask gri″Let the position value pos2Else let pos be2=I;
Step I3: in [ pos ]1,pos2]Randomly selects a position to insert griAnd the operation is finished;
mutation method 2: the virtual machine allocation list mutation comprises the following steps:
step J1, generating a random integer from 1 to I, which is not set to ξ;
step J2: from { gs1,…,gsIξ genes are randomly selected, an example number is randomly selected from 1, … and I again for each selected gene, and the operation is finished;
mutation method 3: the method for mutating the virtual machine type list comprises the following steps:
step K1: let0=1,gtI+1J; finding a valid set of positions for a variation
SPS={i|(gti≠gti-1∨gti≠gti+1)∧1≤i≤I};
Step K2: randomly selecting a position from the SPS, and setting the position as i;
step K3: in [ gti-1,gti+1]Randomly selects an integer value between the two, let it be j, let gtiJ, finishing the operation;
the fitness value of the intersection method and the mutation method and the updating method thereof are described as follows:
setting a fitness value cf for each intersection method iiE (0, 1); setting a fitness value mf for each variation method iiE (0,1), randomly selecting one to perform genetic operation by adopting a round-robin method based on fitness value when performing cross or mutation operation each time, and updating the fitness value after each genetic operation by adopting the following method:
Figure BDA0002311740090000101
Figure BDA0002311740090000102
wherein:
cfi′,cfirespectively representing the fitness values of the intersection method i before and after use;
mfi′,mfirespectively representing the fitness values of the mutation method i before and after use;
nbc: the degree of change of the individual quality after the crossing is shown,
Figure BDA0002311740090000103
Figure BDA0002311740090000111
indicates that the individual ch ' is not superior to the individual ch, namely one of the following conditions that ① ch and ch ' are both infeasible individuals, but the relative fitness value of the ch is less than or equal to that of the ch ';
chp1,chp2showing two parents, without provision for
Figure BDA0002311740090000112
chc1,chc2Showing two sub-bodies 1 and 2, without providing
Figure BDA0002311740090000113
nbm: indicates the degree of change of the quality of the individual after the variation,
Figure BDA0002311740090000114
Figure BDA0002311740090000115
is the update rate;
and 7: selecting N different individuals from the current generation population and the new population from the superior to the inferior to form a new current generation population, and turning to the step 5;
and 8: and if the feasible individuals exist in the contemporary population, outputting the individual with the minimum absolute fitness value in the contemporary population, wherein the corresponding execution scheme is the optimization scheme, otherwise, no feasible execution scheme exists.
Further, a specific calculation method of the MBV and MDV is as follows:
Figure BDA0002311740090000116
wherein:
Figure BDA0002311740090000117
is tiThe maximum execution time.
Further, for individual chnCalculating the workflow response time rs in said step C5nAnd an execution cost ctnThe specific calculation method is as follows:
Figure BDA0002311740090000118
wherein: rf (radio frequency)iIs the response time of the task i,
Figure BDA0002311740090000119
Figure BDA00023117400900001110
wherein:
Figure BDA00023117400900001111
is the fixed lease start cost for the virtual machine instance numbered k,
Figure BDA00023117400900001112
is the cost per unit time of the virtual machine instance numbered k,
Figure BDA00023117400900001113
is the minimum billing time unit for the virtual machine instance numbered k,
Figure BDA00023117400900001114
is the minimum lease-on time for the virtual machine instance numbered k,
Figure BDA00023117400900001115
is the bandwidth of the virtual machine instance numbered k, ltk=Rntk-HrtkIs the lease time, Hrt, of the virtual machine instance numbered kkThe start lease time of the virtual machine instance numbered k; rntkThe return time of the virtual machine instance with the number of k is obtained;
Figure BDA0002311740090000121
tfiis to complete OFLiIf t is the maximum time at which the file in (1) is output to the corresponding recipientiWithout exporting files to the shared database
Figure BDA0002311740090000122
Then the corresponding recipient is processing tiIf t is a virtual machine of the subtask ofiWithout subtasks, i.e.
Figure BDA0002311740090000123
The respective recipient is a shared database, otherwise if tiWith both file output to the shared database and subtasks
Figure BDA0002311740090000124
Then the corresponding recipient is processing tiThe virtual machines and the shared database of the subtasks,
Figure BDA0002311740090000125
further, for individual ch in the populationnN is 1,2 …, N if ctn≤Budget∨rsnWhen the adaline is not more than the preset value, ch isnAs viable individuals, otherwise chnIs not feasible(ii) an individual;
the specific calculation method of the relative fitness value of the infeasible individual is as follows:
Figure BDA0002311740090000126
the specific calculation method of the absolute fitness value of the feasible individual is as follows: afitn=θ×μ×ctn+(1-θ)×rsn
Wherein: theta belongs to [0,1] and is a weight coefficient, and mu is a coordination coefficient of cost and time;
when the individual quality is compared, the feasible individual is superior to the infeasible individual; for all feasible individuals, the smaller the absolute fitness value is, the better the individual is; for all infeasible individuals, the smaller the relative fitness value, the better the individual.
Further, the specific steps of randomly selecting two different individuals from the contemporary population as father 1 and father 2 based on the ranking round-robin in the step 6.2 are as follows:
step L1: sequencing the individuals in the current generation population from good to bad to obtain the sequencing value rk of the individual nnN is 1, …, N, where the first row takes 1, the second row takes 2, and so on, and the last row takes N;
step L2: calculating the probability that the individual n is selected
Figure BDA0002311740090000127
n=1,…,N,R>1 is a discrimination coefficient;
step L3: calculating cumulative probability
Figure BDA0002311740090000128
n=1,…,N;
Step L4: generating a random number lambda1E [0,1) if
Figure BDA0002311740090000131
Then individual n is selected as father 1;
step L5: generating a random number lambda2E [0,1) if
Figure BDA0002311740090000132
And n '≠ n, then individual n' is selected as parent 2, proceeding to step L6, otherwise to step L5;
step L6: the individual selection operation ends.
Further, the specific steps of randomly selecting a crossover method by the value-based betting round method in the step 6.3 are as follows:
step M1: calculating the probability of the cross method i being selected according to the fitness value
Figure BDA0002311740090000133
i=1,…,3;
Step M2: calculating cumulative probability
Figure BDA0002311740090000134
i=1,…,3;
Step M3: generating a random number λ ∈ [0,1) if
Figure BDA0002311740090000135
if i is 1, …,3, then the crossover method i is selected and the crossover method selection operation ends.
Further, the value-based betting round in step 6.4 and step 6.5 comprises the following steps:
step N1: calculating the probability of the selected variant method i according to the fitness value
Figure BDA0002311740090000136
i=1,…,3;
Step N2: calculating cumulative probability
Figure BDA0002311740090000137
i=1,…,3;
Step N3: generating a random number λ ∈ [0,1) if
Figure BDA0002311740090000138
if i is 1, …,3, then the variant is selectedAnd F, finishing the mutation method selection operation.
The invention has the beneficial effects that:
(1) compared with the workflow scheduling optimization method under the existing cloud computing environment, the method simultaneously considers resource allocation and task scheduling, and realizes integrated collaborative optimization of the resource allocation and the task scheduling.
(2) Compared with a heuristic method, a semi-intelligent calculation method combined with the heuristic method and the existing intelligent calculation method based on layered coding, the invention adopts an integer coding method, and any scheduling scheme can have an individual corresponding to the integer coding method, so the search space is complete and the global search can be realized.
(3) Compared with the traditional fixed genetic operation method, the adaptive genetic operation method is adopted in the design of the invention, and the appropriate genetic operation can be dynamically selected according to the operation fitness value, thereby being beneficial to generating more and better individuals and keeping the diversity of the population.
(4) Compared with a common coding mode based on priority, the task scheduling sequence adopts an integer coding method based on topological sorting, and the time sequence relation among tasks is considered, so that the decoding is simpler, the decoding efficiency can be effectively improved, and the overall efficiency of the algorithm is further improved.
(5) Compared with a general full-order coding mode, the method adopts a non-decreasing partial-order coding mode for the virtual machine type list, so that the coding search space is effectively reduced on the premise of ensuring the completeness of the search space, and the overall efficiency of the algorithm is further improved.
(6) Compared with the traditional non-insertion mode and parallel decoding methods, the serial individual decoding method which is used for arranging the task execution as early as possible based on the insertion mode can generally find a better corresponding scheduling scheme.
(7) Compared with the common one-way decoding method, the forward and backward individual decoding and improvement strategy FBI & D adopted by the design of the invention enhances the neighborhood optimizing capability of the individual, thereby improving the optimizing capability and the searching efficiency of the whole algorithm.
(8) The invention adopts a strategy of generating a new contemporary population by combining the contemporary population and the new population, thereby ensuring that the optimal individual is inherited to the next generation and leading the algorithm to be monotonously converged.
(9) Compared with the traditional random initialization method, the invention adopts the generation method based on the hierarchy and the benefit ratio when initializing the seed group, so that the algorithm can start searching from the vicinity of the better individual satisfying the hierarchical coding, thereby improving the searching efficiency and shortening the searching time.
(10) The invention designs a new individual fitness value calculation and quality comparison method for optimizing the workflow execution cost and the response time in the cloud computing environment, and can quickly and conveniently realize the quality comparison among individuals.
(11) The invention designs a universal virtual machine renting charging model which is suitable for charging rules of all IaaS platforms such as Amazon EC2, Microsoft Azure, Google cloud, Array cloud, Tencent cloud and the like.
Drawings
FIG. 1 is a schematic flow chart of the workflow optimization method based on the partial order adaptive genetic algorithm in the cloud computing environment.
FIG. 2 is a timing diagram of tasks of a Montage workflow according to an embodiment of the present invention.
Detailed Description
The present invention will be described in further detail with reference to fig. 1 and 2 and examples, but the present invention is not limited to the examples.
Suppose that there are 5 virtual machine types vm numbered 1 to 5 under a cloud computing service provider, i.e., a cloud computing environment1、vm2、vm3、vm4、vm5The computing power, bandwidth, unit time cost, fixed lease initiation cost, minimum billing time unit and minimum lease initiation time of various virtual machine types are shown in table 1; the time sequence relationship between one Montage workflow task is shown in FIG. 2, which is composed of 15 tasks t numbered from 1 to 151、t2、…、t15Composition, execution length of each task, names of input files required for processing and output files after processing,The lengths are shown in table 2.
Figure BDA0002311740090000141
Figure BDA0002311740090000151
TABLE 1
Figure BDA0002311740090000152
TABLE 2
For the above case, as shown in fig. 1, a workflow optimization method based on a partial order adaptive genetic algorithm in a cloud computing environment includes the following implementation steps:
executing the step 1: acquiring information required by executing optimization of the cloud workflow;
get task set T ═ T1,t2,t3,t4,t5,t6,t7,t8,t9,t10,t11,t12,t13,t14,t15};
Obtaining the time sequence relation between tasks, namely a parent task set PR of the task iiAnd a set of subtasks SCi
Figure BDA0002311740090000161
Figure BDA0002311740090000162
PR4={t1},PR5={t1,t2},PR6={t1,t3},PR7={t4,t5,t6},PR8={t7},PR9={t1,t8},PR10={t2,t8},PR11={t3,t8},PR12={t9,t10,t11},PR13={t12},PR14={t13},PR15={t14};
SC1={t4,t5,t6,t9},SC2={t5,t10},SC3={t6,t11},SC4={t7},SC5={t7},SC6={t7},SC7={t8},SC8={t9,t10,t11},SC9={t12},SC10={t12},SC11={t12},SC12={t13},SC13={t14},SC14={t15},
Figure BDA0002311740090000163
Acquiring relevant parameters of the task: len (a)1=42×107MI,IFL1={fd1,fd2},OFL1={f1-1,f1-2};
len2=36×107MI,IFL2={fd1,fd3},OFL2={f2-1,f2-2};len3=63×107MI,IFL3={fd1,fd4},OFL3={f3-1,f3-2};len4=46×107MI,IFL4={fd1,f1-1,f1-2},OFL4={f4-1,f4-2};……;
len15=48×107MI,IFL15={f14-1},OFL15={f15-1};fd1.size=36000MB,fd2.size=43200MB,f1-1.size=39600MB,f1-2.size=39600MB,……,f14-1.size=356000MB,f15-1.size=42000MB;
Acquiring a virtual machine type set in a cloud computing environment: VM ═ VM1,vm2,vm3,vm4,vm5};
Acquiring related parameters of the virtual machine: ps is1=10000MI/s,bw1=200Mbit/s,vc10.5-membered, fc13 yuan, ut1=600s,ft1=7200s;ps2=20000MI/s,bw2=200Mbit/s,vc20.8 membered, fc24 yuan, ut2=600s,ft2=7200s;ps3=40000MI/s,bw3=300Mbit/s,vc31.4-membered, fc36 yuan, ut3=600s,ft3=7200s;ps4=40000MI/s,bw4=400Mbit/s,vc41.7 membered, fc47 yuan, ut4=600s,ft4=7200s;ps5=60000MI/s,bw5=400Mbit/s,vc52.1 yuan, fc58 Yuan, ut5=600s,ft5=7200s;
Acquiring a cost constraint Budget of workflow execution under a cloud computing environment as 1500 yuan, and a time constraint Deadline as 150000 s;
and (3) executing the step 2: calculating a level value of the task;
if task 1, task 2 and task 3 have no parent task, lvl1=lvl2=lvl3=1;
Task 4 has only one parent task 1, then
Figure BDA0002311740090000171
Similarly, the hierarchy values of other tasks may be obtained: lvl5=lvl6=2;lvl7=3;lvl8=4;lvl9=lvl10=lvl11=5;lvl12=6;lvl13=7;lvl14=8;lvl15=9。
And (3) executing the step: initializing contemporary populations
Taking the population size N as 10; generating 1 individual based on a level and benefit ratio individual generation method, and generating the remaining 9 different individuals based on a level individual random generation method to form an initial contemporary population;
taking the weight coefficient theta as 0.4 and the coordination coefficient mu of the cost and the time as 250;
the specific implementation process of 1 individual generated by the individual generation method based on the hierarchy and the benefit ratio is as follows:
step a1 is executed: randomly arranging tasks according to the level values of the tasks from small to large, and randomly arranging the tasks with the level value of 1 into a sequence which is as follows: 3.1, 2; randomly arranging tasks with a hierarchy value of 2, wherein the tasks are 6,4 and 5; the task of the level value 3 is only 7; the task with the hierarchy value of 4 is only 8; randomly arranging tasks with a hierarchy value of 5, wherein the tasks are 11,10 and 9; the task for the hierarchy value 6 is only 12; the task for the level value 7 is only 13; the task of the level value 8 is only 14; the task for the hierarchy value 9 is only 15; sequentially connecting the arrangements according to the hierarchy values from small to large to generate an individual task scheduling sequence list {3,1,2,6,4,5,7,8,11,10,9,12,13,14 and 15 };
step a2 is executed: randomly generating 15 random integers of 1 to 5: pi1、……、π15It is as follows: 1. 2,1, 4,1, 2,3,1, 5, 3,1,4, 5, 2, 5; arranged from small to large
Figure BDA0002311740090000172
Comprises the following steps: 1.1, 2,3,4, 5; order:
Figure BDA0002311740090000173
generating a list of individual virtual machine types {1,1,1,1,1,2,2,2,3,3,4,4,5,5,5 };
step a3 is executed: generating individual virtual machine allocation list { gs) based on benefit ratio1,…,gs15}:
I.e. step a 3.1: enabling a set of virtual machine instances for assigned tasks
Figure BDA0002311740090000174
Ready time for all tasks: rt is an integer of1=…=rt150; available time period list of all virtual machine instances, vatl1=…=vatl15={[0,∞]},δ=1;
Step a3.2 is performed: i-gr13, k is 1; calculating the handle t3The comprehensive benefit ratio after being respectively allocated to each potential virtual machine instance is as follows: step A3.2.1 is executed: calculating t3Execution time after assignment to virtual machine instance number 1
Figure BDA0002311740090000175
Execution of step A3.2.2: in vatl1Finding out an idle time period [0, ∞ from morning to evening]Satisfy ∞ -0 ≥ et3,166168 and ∞ -66168 ≧ rt3=0;
Execution of step A3.2.3: calculating t3Starting time s after virtual machine instance number 1 is assigned3,1=max{ν1,rt3Max {0,0}, 0, completion time f3,1=s3,1+et3,166168, proceed to A3.2.4 calculating a combined benefit ratio ξ3,1: due to the fact that
Figure BDA0002311740090000181
Therefore, it is
Figure BDA0002311740090000182
Figure BDA0002311740090000183
Execution of step A3.2.5: k is 1+1 — 2, and since k is 2 ≦ I ≦ 15, go to step A3.2.1; execution of step A3.2.1: calculating t3Execution time after assignment to virtual machine instance number 2
Figure BDA0002311740090000184
Execution of step A3.2.2: in vatl2Finding out an idle time period [0, ∞ from morning to evening]Satisfy ∞ -0 ≥ et3,266168 and ∞ -66168 ≧ rt30; execution of step A3.2.3: calculating t3Start time s after assignment to virtual machine instance number 23,2=max{ν2,rt3Max {0,0} -, 0, completion timef3,2=s3,2+et3,266168, proceed to A3.2.4 calculating a combined benefit ratio ξ3,247644; execution of step A3.2.5: k 2+1 — 3, and go to step A3.2.1 since k3 ≦ I ≦ 15; …, respectively; the steps A3.2.1 to A3.2.5 are repeated until k is 16>The obtained comprehensive benefit ratio is ξ when I is 153,1=47644,ξ3,2=47644,ξ3,3=47644,ξ3,4=47644,ξ3,5=47644,ξ3,6=28084,ξ3,7=28084,ξ3,8=28084,ξ3,9=17306,ξ3,10=17306,ξ3,11=17462,ξ3,12=17462,ξ3,13=13802,ξ3,14=13802,ξ3,15=13802;
Step A3.3 is performed, in order from ξ3,1,…,ξ3,15Find a minimum of ξ3,13(ii) a Due to the virtual machine instance numbered 13
Figure BDA0002311740090000185
Then INS ∪ INS13={ins13};
Step a3.4 is performed: assignment of task 3 to virtual machine instance numbered 13, gs313: step A3.4.1: calculating the start time s of a task3=s3,130, end time f3=f3,1312084; step a3.4.2 is performed: updating the Ready time rt of a subtask of task 36=max{rt6,f3}=12084,rt11=max{rt11,f312084; execution of step A3.4.3: in vatl13Finding out an idle time period [0, ∞ from morning to evening]Satisfy ∞ -0 ≥ et3,1312084 and infinity-12084 ≧ rt30; execution of step A3.4.4: in vatl13Deletion of [0, ∞]Insertion interval length of [12084, ∞ ] of more than 0](ii) a Step a3.5 is performed: δ 1+1 — 2; since δ 2 ≦ I ≦ 15, go to step a 3.2;
step a3.2 is performed: i-gr21, k is 1; calculating the handle t1Is respectively distributed to eachThe comprehensive benefit ratio after the potential virtual machine instance is as follows: step A3.2.1 is executed: calculating t1Execution time after assignment to virtual machine instance number 1
Figure BDA0002311740090000191
Execution of step A3.2.2: in vatl1Finding out an idle time period [0, ∞ from morning to evening]Satisfy ∞ -0 ≥ et1,145168 and ∞ -45168 ≧ rt10; execution of step A3.2.3: calculating t1Starting time s after virtual machine instance number 1 is assigned1,1=max{ν1,rt10, completion time f1,1=s1,1+et1,1=45168;
Step A3.2.4 is performed calculating the overall benefit ratio ξ1,133351.6: execution of step A3.2.5: if k is 1+1 — 2, go to step A3.2.1, since k is 2 ≦ I ≦ 15; … …, respectively; thus, steps A3.2.1 to A3.2.5 are repeatedly executed until k is 13, and step A3.2.1 is executed: calculating t1Execution time after assignment to virtual machine instance number 13
Figure BDA0002311740090000192
Execution of step A3.2.2: in vatl13Finding an idle period [12084, ∞ from morning to evening]Satisfies ∞ -12083 ≥ et1,138584 and ∞ -8584 ≧ rt10; execution of step A3.2.3: calculating t1Start time s after assignment to virtual machine instance number 131,13=max{ν13,rt112084, completion time f1,13=s1,13+et1,1320668; execution of step A3.2.4: calculating the comprehensive benefit ratio: due to ins13Belongs to INS, so:
Figure BDA0002311740090000193
Figure BDA0002311740090000194
Figure BDA0002311740090000195
Figure BDA0002311740090000196
execution of step A3.2.5: if k is 13+1 is 14, go to step A3.2.1, since k is 14 ≦ I is 15; … …, respectively; thus, the steps A3.2.1 to A3.2.5 are repeated until k is 16> I is 15, resulting in the overall benefit ratio:
ξ1,1=33351.6,ξ1,2=33351.6,ξ1,3=33351.6,ξ1,4=33351.6,ξ1,5=33351.6,ξ1,6=20481.6,ξ1,7=20481.6,ξ1,8=20481.6,ξ1,9=12934.4,ξ1,10=12934.4,ξ1,11=12810.8,ξ1,12=12810.8,ξ1,13=16501.2,ξ1,14=10470.8,ξ1,1510470.8, go to step a 3.3;
step A3.3 is performed, in order from ξ1,1,…,ξ1,15Find a minimum of ξ1,14(ii) a Due to virtual machine instance number 14
Figure BDA0002311740090000203
Then INS ∪ INS14={ins13,ins14};
Step a3.4 is performed: assignment of task 1 to virtual machine instance numbered 14, gs114: execution of step A3.4.1: calculating the start time s of a task1=s1,140, end time f1=f1,148584; step a3.4.2 is performed: updating the Ready time rt of a subtask of a task 144=max{rt4,f1}=8584,rt5=8584,rt6=max{12084,8584}=12084,rt98584; execution of step A3.4.3: in vatl14Finding out an idle time period [0, ∞ from morning to evening]Satisfy ∞ -0 ≥ et1,148584 and ∞ -8584 ≧ rt10; handleLine step A3.4.4: in vatl14Deletion of [0, ∞]Insertion interval length of [8584, ∞ ] of more than 0];
Step a3.5 is performed: δ 2+1 — 3; since δ ≦ I ≦ 15, go to step a 3.2;
……
so that step a3.2 to step a3.5 are repeatedly executed until δ ═ 16> I ═ 15, go to step a 3.6;
step a3.6 is performed: obtaining a virtual machine allocation list {14,15,13,14,15,13,15,15,11,15,15,15,15,15,15 };
step A4: output unit
ch11, {3,1,2,6,4,5,7,8,11,10,9,12,13,14, 15; 14,15,13,14,15,13,15,15,11,15,15,15,15,15, 15; 1,1,1,1,1,2,2,2,3,3,4,4,5,5,5}, and the operation is finished;
the specific implementation process of generating 1 individual based on the level individual random generation method is as follows:
step B1 is executed: randomly arranging tasks according to the task hierarchy value from small to large, and randomly arranging the tasks with the hierarchy value of 1, wherein the tasks are 1,2 and 3; randomly arranging tasks with a hierarchy value of 2, wherein the tasks are 5,6 and 4; the task of the level value 3 is only 7; the task with the hierarchy value of 4 is only 8; randomly arranging tasks with a hierarchy value of 5, wherein the tasks are 10,9 and 11; the task for the hierarchy value 6 is only 12; the task for the level value 7 is only 13; the task of the level value 8 is only 14; the task for the hierarchy value 9 is only 15; sequentially connecting the sequences according to the hierarchy values from small to large to generate an individual task scheduling sequence list {1,2,3,5,6,4,7,8,10,9,11,12,13,14 and 15 };
step B2 is executed: randomly generating 15 random integers of 1 to 5: pi1、……、π15It is as follows: 1.4, 3,4, 1,4, 3,5, 3,1,4, 5; arranged from small to large
Figure BDA0002311740090000201
Comprises the following steps: 1.1, 3,4, 5; order:
Figure BDA0002311740090000202
generating a list of individual virtual machine types {1,1,1,3,3,3,3,4,4,4,4,4,5,5,5 };
step B3 is executed: randomly producing 15 random integers of 1 to 15: pi'1、……、π′15It is as follows: 6. 9,4, 12,13,9,15,10,1,11,1,5,8, 10; order: gs is1=π1=6,……,gs15=π15Generating an individual virtual machine allocation list {6,9,4,4,12,13,9,15,10,1,11,1,5,8,10 };
step B4 is executed: output unit
ch 21,2,3,5,6,4,7,8,10,9,11,12,13,14, 15; 6,9,4,4,12,13,9,15,10,1,11,1,5,8, 10; 1,1,1,3,3,3,3,4,4,4,4,4,5,5,5}, and the operation is finished;
similarly, other different individuals generated by the individual random generation method based on the hierarchy are as follows:
ch3={3,2,1,5,4,6,7,8,10,11,9,12,13,14,15;6,3,6,2,1,15,10,11,6,8,13,7,13,9,3;1,1,2,2,3,3,3,4,4,4,4,4,5,5,5}
ch4={3,1,2,6,5,4,7,8,10,9,11,12,13,14,15;9,15,2,10,5,3,10,5,12,15,8,11,4,9,4;1,1,1,1,2,2,2,3,3,4,4,4,5,5,5}
ch5={1,3,2,5,6,4,7,8,10,11,9,12,13,14,15;12,14,7,13,1,11,15,9,5,7,1,9,13,8,9;1,1,1,1,1,2,3,3,3,3,4,5,5,5,5}
ch6={2,3,1,6,4,5,7,8,10,11,9,12,13,14,15;5,8,3,13,11,3,14,7,12,13,3,2,14,6,11;1,1,1,1,1,2,2,3,4,4,4,4,5,5,5}
ch7={2,1,3,6,5,4,7,8,9,11,10,12,13,14,15;13,10,13,12,7,7,8,9,5,12,6,15,8,6,5;1,1,1,2,2,2,2,3,3,3,4,5,5,5,5}
ch8={3,1,2,4,5,6,7,8,11,10,9,12,13,14,15;11,5,4,10,7,14,13,7,10,13,15,12,3,6,1;1,1,2,2,2,3,3,3,3,3,4,4,4,5,5}
ch9={2,3,1,4,6,5,7,8,10,11,9,12,13,14,15;10,11,10,5,9,13,12,4,6,11,1,3,7,12,12;2,2,3,3,3,3,4,4,4,5,5,5,5,5,5}
ch10={2,1,3,5,6,4,7,8,10,11,9,12,13,14,15;8,7,1,6,5,2,5,1,1,14,10,2,2,5,13;1,1,1,1,2,2,2,2,3,3,4,4,5,5,5}
and (4) executing: decoding and improving each individual in the contemporary population by adopting FBI & D to obtain the workflow response time and the execution cost of each individual, and then calculating the relative fitness value of all the individuals and the absolute fitness value of a feasible individual;
improvement of each individual in the contemporary population by FBI & D methods, e.g. in the sub-population 1
ch3={3,2,1,5,4,6,7,8,10,11,9,12,13,14,15;6,3,6,2,1,15,10,11,6,8,13,7,13,9,3;1,1,2,2,3,3,3,4,4,4,4,4,5,5,5}
The procedure modified with FBI & D method is as follows:
step C1 is executed: make workflow reverse response time
Figure BDA0002311740090000211
Step C2 is executed: individual ch adopting serial individual decoding method based on insertion mode3Decoding is carried out, and the completion time of all tasks is obtained: f. of1=30474,f2=21168,f3=17862,f4=81082,f5=89146,f6=43920.67,f7=131066,f8=147726,f9=168716,f10=159470,f11=157054,f12=221029.33,f13=232309.33,f14=264209.33,f15302449.33; and its workflow response time rs3=304129.33;
Due to rs3304129.33 is less than
Figure BDA0002311740090000212
Go to step C3;
step C3 is executed: an individual ch3According to the task completion time fiRearranging from large to small, i.e. ch3Gene gr in (1)iSet to the i-th task to be completed, i1, …,15, forming the reverseBody
Figure BDA0002311740090000221
Step C4 is executed: method for decoding reverse individuals by adopting serial reverse individuals based on insertion mode
Figure BDA0002311740090000222
Decoding is carried out, and reverse completion time of all tasks is obtained:
Figure BDA0002311740090000223
Figure BDA0002311740090000224
Figure BDA0002311740090000225
and its workflow reverse response time
Figure BDA0002311740090000226
Due to the fact that
Figure BDA0002311740090000227
Less than rs3When the result is 304129.33, go to step C5;
step C5 is executed: make the opposite direction single body
Figure BDA0002311740090000228
According to the task reverse completion time of the task scheduling sequence list in (1)
Figure BDA0002311740090000229
Rearranged from large to small, i.e.
Figure BDA00023117400900002210
Gene gr in (1)iSet to the i-last completed task, i1, …,15, forming an individual ch 32,1,5,4,3,6,7,8,9,10,11,12,13,14, 15; 6,3,6,2,1,15,10,11,6,8,13,7,13,9, 3; 1,1,2,2,3,3,3,4,4,4,4,4,5,5,5}, go to step C2;
step C2 is executed: individual ch adopting serial individual decoding method based on insertion mode3Decoding is carried out, and the completion time of all tasks is obtained: f. of1=12612,f2=21168,f3=30474,f4=63220,f5=79840,f6=43920.67,f7=121760,f8=138420,f9=159410,f10=150164,f11=147748,f12=211723.33,f13=223003.33,f14=254903.33,f15293143.33; and its workflow response time rs3294823.33; due to rs3294823.33 equal to
Figure BDA00023117400900002211
Go to step C6;
step C6 is executed: output unit
ch32,1,5,4,3,6,7,8,9,10,11,12,13,14, 15; 6,3,6,2,1,15,10,11,6,8,13,7,13,9, 3; 1,1,2,2,3,3,3,4,4,4,4,4,5,5,5} and its workflow response time rs3294823.33, and calculates its workflow execution cost: due to f1=12612,f2=21168,f3=30474,f4=63220,f5=79840,f6=43920.67,f7=121760,f8=138420,f9=159410,f10=150164,f11=147748,f12=211723.33,f13=223003.33,f14=254903.33,f15=293143.33;s1=0,s2=0,s3=12612,s4=12612,s5=21168,s6=30474,s7=79840,s8=121760,s9=138420,s10=138420,s11=138420,s12=159410,s13=211723.33,s14=223003.33,s15=254903.33;
Figure BDA00023117400900002212
Figure BDA0002311740090000231
Figure BDA0002311740090000232
Therefore, it is
Figure BDA0002311740090000233
For the same reason, tf2=142164,tf3=140948,tf4=105520,tf5=105520,tf6=105520,tf7=122960,tf8=140948,tf9=188743.33,tf10=188743.33,tf11=188743.33,tf12=214283.33,tf13=237403.33,tf14269143.33; due to the fact that
Figure BDA0002311740090000234
Therefore, it is
Figure BDA0002311740090000235
Therefore, there are: rnt1=max{tf5}=max{105520}=105520,Hrt1=min{s5}=min{21168}=0,lt1=Rnt1-Hrt184352; in a similar way, lt2=92908,lt3=294823.33,lt6=188743.33,lt7=54873.33,lt8=50323.33,lt9=46140,lt10=43120,lt11=20404,lt13=98983.33,lt1575046; thereby the device is provided with
Figure BDA0002311740090000236
Finishing the operation;
wherein, the above-mentioned individuals
ch3={3,2,1,5,4,6,7,8,10,11,9,12,13,14,15;6,3,6,2,1,15,10,11,6,8,13,7,13,9,3;1,1,2,2,3,3,3,4,4,4,4,4,5,5,5}
For example, the serial individual decoding method based on the insertion mode is implemented as follows:
step D1 is executed: let ready times for all tasks: rt is an integer of1=0,rt2=0,……,rt150; δ is 1; let list of available slots for all virtual machine instances: vatl1={[0,∞]},vatl2={[0,∞]},……,vatl15={[0,∞]};
Step D2 is executed: selecting the serial number i-grδ=gr1A task of 3;
step D3 is executed: assignment of task 3 to a number k-gs based on the insertion pattern3A virtual machine instance of 6; step D3.1 is performed: computing execution time of task 3
Figure BDA0002311740090000237
Step D3.2 is performed: in vatl6Finding out an idle time period [0, ∞ from morning to evening]Satisfy ∞ -0 ≥ et317862 and ∞ -17862 ≧ rt30; step D3.3 is performed: calculate the start time s of task 33=max{ν6,rt3Max {0,0}, 0, completion time f3=s3+et317862; step D3.4 is performed: updating the sub-task ready time rt of task 36=max{rt6,f3}=max{0,17862}=17862,rt1117862; step D3.5 is performed: list of time slots available in virtual machine, vatl6Deletion of [0, ∞][17862, ∞ with an insertion interval length greater than 0];
Step D4 is executed: if δ is 1+1 — 2, go to step D2, since δ is 2 ≦ I ≦ 15;
step D2 is executed: selecting the serial number i-gr2A task of 2;
step D3 is executed: assignment of task 2 to a number k-gs based on the insertion pattern2A virtual machine instance of 3; step D3.1 is performed: computing the execution time of task 2
Figure BDA0002311740090000241
Step D3.2 is performed: in vatl3Finding out an idle time period [0, ∞ from morning to evening]Satisfy ∞ -0 ≥ et221168 and ∞ -21168 ≧ rt20; step D3.3 is performed:calculating the start time s of task 22=max{ν3,rt2Max {0,0}, 0, completion time f2=s2+et221168; step D3.4 is performed: updating the sub-task ready time rt of task 25=max{rt5,f2}=max{0,21168}=21168,rt1021168; step D3.5 is performed: list of time slots available in virtual machine, vatl3Deletion of [0, ∞][21168, ∞ with an insertion interval length greater than 0];
Step D4 is executed: if δ 2+1 is 3, and δ 3 ≦ I ≦ 15, go to step D2;
……
the steps D2 to D4 are repeatedly executed until δ ═ 16> I ═ 15, and the process goes to step D5;
step D5 is executed: obtaining a start time of a task: s1=17862,s2=0,s3=0,s4=30474,s5=30474,s6=30474,s7=89146,s8=131066,s9=147726,s10=147726,s11=147726,s12=168716,s13=221029.33,s14=232309.33,s15264209.33; end time: f. of1=30474,f2=21168,f3=17862,f4=81082,f5=89146,f6=43920.67,f7=131066,f8=147726,f9=168716,f10=159470,f11=157054,f12=221029.33,f13=232309.33,f14=264209.33,f15302449.33; calculating a response time rs of a workflow3: due to the fact that
Figure BDA0002311740090000242
And SFL15={f15-1Get the results
Figure BDA0002311740090000243
Computing the execution cost ct of a workflow32303, the operation ends;
wherein, the above-mentioned individuals
Figure BDA0002311740090000244
For example, the serial reverse individual decoding method based on the insertion mode is implemented as follows:
step E1 is executed: due to the fact that
Figure BDA0002311740090000251
And SFL15={f15-1So reverse ready time of all tasks
Figure BDA0002311740090000252
δ is 1; make the virtual machine available a list of time periods: vatl1={[0,∞]},vatl2={[0,∞]},……,vatl15={[0,∞]};
Step E2 is executed: selecting the serial number i-grδ=gr1Task 15;
step E3 is executed: assignment of task 15 to a number k-gs based on insertion pattern15Virtual machine instance of 3: i.e. step E3.1 is performed: computing the execution time of a task 15
Figure BDA0002311740090000253
Step E3.2 is performed: in vatl3Finding out an idle time period [0, ∞ from morning to evening]Satisfy ∞ -0 ≥ et1538240 and
Figure BDA0002311740090000254
step E3.3 is performed: calculating the reverse start time of task 15
Figure BDA0002311740090000255
Reverse completion time
Figure BDA0002311740090000256
Step E3.4 is performed: updating the reverse ready time of the parent task of task 15
Figure BDA0002311740090000257
Step E3.5 is performed: list of time slots available in virtual machine, vatl3Deletion of [0, ∞]Insertion interval length greater than 0 [0,1680]And [39920, ∞];
Step E4 is executed: if δ is 1+1 — 2, go to step E2, since δ is 2 ≦ I ≦ 15;
step E2 is executed: selecting the serial number i-gr2A task of 14;
step E3 is executed: assignment of task 14 to a number k-gs based on insertion pattern14Virtual machine instance of 9: i.e. step E3.1 is performed: computing the execution time of a task 14
Figure BDA0002311740090000258
Step E3.2 is performed: in vatl9Finding out an idle time period [0, ∞ from morning to evening]Satisfy ∞ -0 ≥ et1431900 and
Figure BDA0002311740090000259
step E3.3 is performed: calculating the reverse start time of task 14
Figure BDA00023117400900002510
Reverse completion time
Figure BDA00023117400900002511
Step E3.4 is performed: updating the reverse ready time of the parent task of task 14
Figure BDA00023117400900002512
Step E3.5 is performed: list of time slots available in virtual machine, vatl9Deletion of [0, ∞]Insertion interval length greater than 0 [0,39920]And [71820, ∞];
Step E4 is executed: if δ 2+1 is 3, go to step E2, since δ 3 ≦ I ≦ 15;
……
the steps E2 to E4 are repeated until δ ≦ I ≦ 15, and the process goes to step E5;
step E5 is executed: obtaining a reverse start of a taskTime:
Figure BDA0002311740090000261
Figure BDA0002311740090000262
Figure BDA0002311740090000263
Figure BDA0002311740090000264
reverse completion time:
Figure BDA0002311740090000265
Figure BDA0002311740090000266
Figure BDA0002311740090000267
and workflow reverse response time
Figure BDA0002311740090000268
Finishing the operation;
individuals in the population become, after the improvement of the FBI & D method:
ch1={3,1,2,6,4,5,7,8,11,10,9,12,13,14,15;14,15,13,14,15,13,15,15,11,15,15,15,15,15,15;1,1,1,1,1,2,2,2,3,3,4,4,5,5,5}
ch2={1,2,3,5,6,4,7,8,10,9,11,12,13,14,15;6,9,4,4,12,13,9,15,10,1,11,1,5,8,10;1,1,1,3,3,3,3,4,4,4,4,4,5,5,5}
ch3={2,1,5,4,3,6,7,8,9,10,11,12,13,14,15;6,3,6,2,1,15,10,11,6,8,13,7,13,9,3;1,1,2,2,3,3,3,4,4,4,4,4,5,5,5}
ch4={3,1,2,6,5,4,7,8,10,9,11,12,13,14,15;9,15,2,10,5,3,10,5,12,15,8,11,4,9,4;1,1,1,1,2,2,2,3,3,4,4,4,5,5,5}
ch5={1,3,2,5,6,4,7,8,10,11,9,12,13,14,15;12,14,7,13,1,11,15,9,5,7,1,9,13,8,9;1,1,1,1,1,2,3,3,3,3,4,5,5,5,5}
ch6={2,3,1,6,4,5,7,8,10,11,9,12,13,14,15;5,8,3,13,11,3,14,7,12,13,3,2,14,6,11;1,1,1,1,1,2,2,3,4,4,4,4,5,5,5}
ch7={2,1,3,6,5,4,7,8,9,11,10,12,13,14,15;13,10,13,12,7,7,8,9,5,12,6,15,8,6,5;1,1,1,2,2,2,2,3,3,3,4,5,5,5,5}
ch8={3,1,2,4,5,6,7,8,11,10,9,12,13,14,15;11,5,4,10,7,14,13,7,10,13,15,12,3,6,1;1,1,2,2,2,3,3,3,3,3,4,4,4,5,5}
ch9={2,3,1,4,6,5,7,8,10,11,9,12,13,14,15;10,11,10,5,9,13,12,4,6,11,1,3,7,12,12;2,2,3,3,3,3,4,4,4,5,5,5,5,5,5}
ch10={2,1,3,5,6,4,7,8,10,11,9,12,13,14,15;8,7,1,6,5,2,5,1,1,14,10,2,2,5,13;1,1,1,1,2,2,2,2,3,3,4,4,5,5,5}
the individual workflow response times are respectively: rs1=126275.33,rs2=306824.67,rs3=294823.33,rs4=436043.33,rs5=339337.33,rs6=463282.67,rs7=367794.67,rs8=311119.33,rs9=212389.33,rs10=584216;
The individual workflow execution costs are respectively: ct1=929.2,ct2=2125.1,ct3=2244.1,ct4=3313.7,ct5=3825.5,ct6=4345.5,ct7=3142.2,ct8=2152.3,ct9=2246.5,ct10=3071.8;
Calculating the relative fitness value of all the infeasible individuals and the absolute fitness value of the feasible individuals in the population:
since the cost constraint Budget is 1500, the cost constraint Deadline is 150000; therefore ch1As feasible individual, ch2、ch3、ch4、ch5、ch6、ch7、ch9、ch10Is an infeasible individual;
for infeasible subject ch2、ch3、ch4、ch5、ch6、ch7、ch8、ch9、ch10Calculating a relative fitness value:
Figure BDA0002311740090000271
in the same way, rfit3=3.46、rfit4=5.12、rfit5=4.81、rfit6=5.99、rfit7=4.55、rfit8=3.51、rfit9=2.91、rfit10=5.94;
For feasible individual ch1Calculating an absolute fitness value:
afit1=0.4×250×929.2+0.6×126275.33=168685.20;
and 5, executing the step: judging whether a termination condition is met, if so, turning to a step 8 after the evolution is finished, and otherwise, turning to a step 6;
the termination condition is set as iteration to a specified algebra TG (100), and the current population is iterated and evolved by 1 generation and does not meet the iteration termination condition, so that the step 6 is carried out;
and 6, executing the step: performing cross and variation operations on the contemporary population to form a new population;
the specific implementation steps of various cross mutation operations in this step are illustrated as follows:
the crossing method 1: task scheduling order list interleaving
Without ch being provided7And ch9As the father body, chp1=ch7,chp2=ch9I.e. by
chp1={2,1,3,6,5,4,7,8,9,11,10,12,13,14,15;13,10,13,12,7,7,8,9,5,12,6,15,8,6,5;1,1,1,2,2,2,2,3,3,3,4,5,5,5,5},
chp2={2,3,1,4,6,5,7,8,10,11,9,12,13,14,15;10,11,10,5,9,13,12,4,6,11,1,3,7,12,12;2,2,3,3,3,3,4,4,4,5,5,5,5,5,5},
The specific implementation steps of the task scheduling order list intersection are as follows:
step F1 is performed: randomly generating a positive integer from 1 to 14, which is 8;
step F2 is performed: ch (channel)c1The first 8 genes of the task scheduling order list of (1) are from chp1The first 8 genes of the task scheduling order list of (1), namely: { gr1 c1,…,gr8 c12,1,3,6,5,4,7,8 }; the last 7 genes are from chp2Is equal to the gene list after the deleted gene value is 2,1,3,6,5,4,7,8 in the task scheduling order list {2,3,1,4,6,5,7,8, 7, 11,6, 5,4,7,8}, i.e. 10,11,9,12,13,14,15, then
Figure BDA0002311740090000272
chc1The virtual machine allocation list and the virtual machine type list come from the chp1Namely:
Figure BDA0002311740090000273
Figure BDA0002311740090000281
step F3 is performed: ch (channel)c2The first 8 genes of the task scheduling order list of (1) are from chp2The first 8 genes of the task scheduling order list of (1), namely:
Figure BDA0002311740090000282
the last 7 genes are from chp1Is equal to the gene list after deleting the gene value of 2,3,1,4,6,5,7,8, 9,11,10,12,13,14,15 in the task scheduling order list {2,1,3,6,5,4,7,8}, i.e. 9,11,10,12,13,14,15, then
Figure BDA0002311740090000283
chc2The virtual machine allocation list and the virtual machine type list come from the chp2Namely:
Figure BDA0002311740090000284
Figure BDA0002311740090000285
step F4 is performed: output of
ch c12,1,3,6,5,4,7,8,10,11,9,12,13,14, 15; 13,10,13,12,7,7,8,9,5,12,6,15,8,6, 5; 1,1,1,2,2,2,2,3,3,3,4,5,5,5,5} and
chc2={2,3,1,4,6,5,7,8,9,11,10,12,13,14,15;10,11,10,5,9,13,12,4,6,11,1,3,7,12,12;2,2,3,3,3,3,4,4,4,5,5,5,5,5,5},
finishing the operation;
and (3) a crossing method 2: virtual machine allocation list interleaving
Without ch being provided6And ch8As the father body, chp1=ch6,chp2=ch8
chp1={2,3,1,6,4,5,7,8,10,11,9,12,13,14,15;5,8,3,13,11,3,14,7,12,13,3,2,14,6,11;1,1,1,1,1,2,2,3,4,4,4,4,5,5,5},
chp2={3,1,2,4,5,6,7,8,11,10,9,12,13,14,15;11,5,4,10,7,14,13,7,10,13,15,12,3,6,1;1,1,2,2,2,3,3,3,3,3,4,4,4,5,5},
The specific implementation steps of the virtual machine allocation list intersection are as follows:
step G1 is executed: randomly generating a positive integer 10 of 1 to 14;
step G2 is executed: ch (channel)c1The first 10 genes of the virtual machine allocation list of (2) are from chp1The virtual machines of (2) allocate the top 10 genes of the list, namely:
Figure BDA0002311740090000286
the last 5 genes are from chp2The last 5 genes of the list are assigned by the virtual machine of (1), namely:
Figure BDA0002311740090000287
chc1the task scheduling order list and the virtual machine type list come from the chp1Namely:
Figure BDA0002311740090000288
Figure BDA0002311740090000289
step G3 is executed: ch (channel)c2The first 10 genes of the virtual machine allocation list of (2) are from chp2The virtual machines of (2) allocate the top 10 genes of the list, namely:
Figure BDA00023117400900002810
the last 5 genes are from chp1The last 5 genes of the list are assigned by the virtual machine of (1), namely:
Figure BDA0002311740090000291
chc2the task scheduling order list and the virtual machine type list come from the chp2Namely:
Figure BDA0002311740090000292
Figure BDA0002311740090000293
step G4 is executed: output of
ch c12,3,1,6,4,5,7,8,10,11,9,12,13,14, 15; 5,8,3,13,11,3,14,7,12,13,15,12,3,6, 1; 1,1,1,1,1,2,2,3,4,4,4,4,5,5,5} and
chc2={3,1,2,4,5,6,7,8,11,10,9,12,13,14,15;11,5,4,10,7,14,13,7,10,13,3,2,14,6,11;1,1,2,2,2,3,3,3,3,3,4,4,4,5,5},
finishing the operation;
and (3) a crossing method: virtual machine type crossing
Without ch being provided8And ch9As the father body, chp1=ch8,chp2=ch9
chp1={3,1,2,4,5,6,7,8,11,10,9,12,13,14,15;11,5,4,10,7,14,13,7,10,13,15,12,3,6,1;1,1,2,2,2,3,3,3,3,3,4,4,4,5,5},
chp2={2,3,1,4,6,5,7,8,10,11,9,12,13,14,15;10,11,10,5,9,13,12,4,6,11,1,3,7,12,12;2,2,3,3,3,3,4,4,4,5,5,5,5,5,5},
The specific implementation steps of the virtual machine type crossing are as follows:
step H1 is performed: randomly generating a positive integer 8 from 1 to 14;
step H2 is performed: ch (channel)c1The task scheduling order list and the virtual machine allocation list are from chp1Namely:
Figure BDA0002311740090000294
Figure BDA0002311740090000295
chc1the first 8 genes of the list of virtual machine types in (1) are from chp1The first 8 genes of the list of virtual machine types of (c), namely:
Figure BDA0002311740090000296
chc1the last 7 genes of the list of virtual machine types in (1) are from chp2The last 7 genes of the list of virtual machine types of (a), namely:
Figure BDA0002311740090000297
due to the fact that
Figure BDA0002311740090000298
Go to step H4;
step H4 is performed: ch (channel)c2The task scheduling order list and the virtual machine allocation list are from chp2Namely:
Figure BDA0002311740090000299
Figure BDA00023117400900002910
chc2the first 8 genes of the list of virtual machine types in (1) are from chp2The first 8 genes of the list of virtual machine types of (c), namely:
Figure BDA00023117400900002911
chc2virtual machine type column ofThe last 7 genes in the table are from chp1The last 7 genes of the list of virtual machine types of (a), namely:
Figure BDA00023117400900002912
due to the fact that
Figure BDA00023117400900002913
Go to step H5;
step H5 is performed: generating a random number λ, which is 0.88; since λ is 0.88>0.5, therefore
Figure BDA0002311740090000301
Figure BDA0002311740090000302
Step H6 is performed: output of
chc11, {3,1,2,4,5,6,7,8,11,10,9,12,13,14, 15; 11,5,4,10,7,14,13,7,10,13,15,12,3,6, 1; 1,1,2,2,2,3,3,3,4,5,5,5,5,5,5} and
ch c22,3,1,4,6,5,7,8,10,11,9,12,13,14, 15; 10,11,10,5,9,13,12,4,6,11,1,3,7,12, 12; 2,2,3,3,3,3,4,4,4,4,4,4,4,5,5}, and the operation is finished;
mutation method 1: scheduling order list variation
Without being provided with
ch11, {3,1,2,6,4,5,7,8,11,10,9,12,13,14, 15; 14,15,13,14,15,13,15,15,11,15,15,15,15,15, 15; 1,1,1,1,1,2,2,2,3,3,4,4,5,5,5} are individuals to be mutated, and the specific implementation steps of the scheduling order list mutation are as follows:
step I1 is executed: randomly selecting a gene from the task scheduling order list {3,1,2,6,4,5,7,8,11,10,9,12,13,14,15}, which is gr9=11;
Step I2 is executed: since task 11 has a parent, find the first parent gr forward8=8,pos18+ 1-9; since task 11 has subtasks, find the first subtask gr backward12=12,pos2=12-1=11;
ExecuteStep I3: in [9,11 ]]Randomly selects a position between the two to insert, which is gr10After mutation ch 111The following steps are changed: {3,1,2,6,4,5,7,8,10,11,9,12,13,14, 15; 14,15,13,14,15,13,15,15,11,15,15,15,15,15, 15; 1,1,1,1,1,2,2,2,3,3,4,4,5,5,5 }; finishing the operation;
mutation method 2: virtual machine allocation list mutation
Without being provided with
ch11, {3,1,2,6,4,5,7,8,11,10,9,12,13,14, 15; 14,15,13,14,15,13,15,15,11,15,15,15,15,15, 15; 1,1,1,1,1,2,2,2,3,3,4,4,5,5,5} are individuals to be mutated, and the specific implementation steps of the virtual machine allocation list mutation are as follows:
step J1 is executed: generating a random integer from 1 to I, which is 3;
step J2 is executed: randomly selecting 3 genes from {14,15,13,14,15,13,15,15,11,15,15,15,15,15 } with gs2、gs5、gs6(ii) a Gs in 1, …,152、gs5、gs6Re-randomly choose instance numbers, 11, 8,5, so gs2=11、gs5=8、gs6(ii) 5; ch after such mutation1The following steps are changed:
{3,1,2,6,4,5,7,8,11,10,9,12,13,14, 15; 14,11,13,14,8,5,15,15,11,15,15,15,15, 15; 1,1,1,1,1,2,2,2,3,3,4,4,5,5,5 }; finishing the operation;
mutation method 3: virtual machine type list mutation
Without being provided with
ch11, {3,1,2,6,4,5,7,8,11,10,9,12,13,14, 15; 14,15,13,14,15,13,15,15,11,15,15,15,15,15, 15; 1,1,1,1,1,2,2,2,3,3,4,4,5,5,5} is an individual to be mutated, and the specific implementation steps of the mutation of the virtual machine type list are as follows:
step K1 is executed: let0=1,gt16(ii) 5; finding a variant effective position set SPS {5,6,8,9,10,11,12,13 };
step K2 is executed: randomly selecting a position from the SPS, which is 5;
step K3 is executed: in [1,2 ]]Random between each otherSelecting an integer value of 2, then52; ch after such mutation1To {3,1,2,6,4,5,7,8,11,10,9,12,13,14, 15; 14,15,13,14,15,13,15,15,11,15,15,15,15,15, 15; 1,1,1,1,2,2,2,2,3,3,4,4,5,5,5 }; finishing the operation;
the specific implementation process of performing cross mutation operation on the contemporary population is as follows:
taking the rate of variation pm0.2, update rate:
Figure BDA0002311740090000311
the initial fitness value of all three cross operations is taken to be 0.5, namely cf1=cf2=cf3The initial fitness value for each of the three mutation operations was 0.5, mf1=mf2=mf3=0.5;
Step 6.1 is executed: making the new population empty;
and 6.2: randomly selecting two different individuals from the contemporary population as a father 1 and a father 2 based on a ranking round-robin method; i.e. step L1 is executed: sequencing the individuals in the current generation population from good to bad to obtain the sequencing values of the individuals: rk1=1,rk2=4,rk3=3,rk4=8,rk5=7,rk6=10,rk7=6,rk8=5,rk9=2,rk10(iii) 9, let R ═ 1+1/N ═ 1.1; step L2 is executed: calculating the probability that the individual 1 is selected
Figure BDA0002311740090000312
Same principle A2=0.111,A3=0.122,A4=0.076,A5=0.083,A6=0.063,A7=0.092,A8=0.101,A9=0.135,A100.069; step L3 is executed: calculating the cumulative probability:
Figure BDA0002311740090000313
Figure BDA0002311740090000314
Figure BDA0002311740090000315
step L4 is executed: generating a random number lambda1It is 0.554, since
Figure BDA0002311740090000316
So that individual ch is selected6As a father 1; step L5 is executed: generating a random number lambda2It is 0.214; due to the fact that
Figure BDA0002311740090000317
And 2 ≠ 6, so individual ch is selected2As father 2, go to step L6; step L6 is executed: ending the individual selection operation; then father 1 and father 2 are respectively:
chp1={2,3,1,6,4,5,7,8,10,11,9,12,13,14,15;5,8,3,13,11,3,14,7,12,13,3,2,14,6,11;1,1,1,1,1,2,2,3,4,4,4,4,5,5,5},
chp2={1,2,3,5,6,4,7,8,10,9,11,12,13,14,15;6,9,4,4,12,13,9,15,10,1,11,1,5,8,10;1,1,1,3,3,3,3,4,4,4,4,4,5,5,5};
step 6.3 is executed: and randomly selecting an intersection method according to the fitness value of the intersection method by using a value-based round-robin method to perform intersection operation on the father 1 and the father 2, namely executing the step M1: and calculating the probability of each cross method being selected according to the fitness value: cross method 1, i.e. probability of selection of task scheduling order list cross method
Figure BDA0002311740090000321
Similarly, the crossover method 2 is the probability A that the virtual machine assignment list is selected crossways20.5/1.5-0.333, crossover method 3, i.e., probability a that virtual machine type crossover is selected30.333; step M2 is executed: calculating the cumulative probability:
Figure BDA0002311740090000322
Figure BDA0002311740090000323
step M3 is executed: a random number of [0,1) is generated, which is 0.528, since
Figure BDA0002311740090000324
Therefore, a crossing method 2 is selected, namely, the virtual machine distribution list crossing method is crossed; and (3) generating the daughter 1 and the daughter 2 by adopting a virtual machine distribution list to the father body 1 and the father body 2 in a crossed manner:
ch c12,3,1,6,4,5,7,8,10,11,9,12,13,14, 15; 5,8,3,13,11,3,14,15,10,1,11,1,5,8, 10; 1,1,1,1,1,2,2,3,4,4,4,4,5,5,5} and
chc2={1,2,3,5,6,4,7,8,10,9,11,12,13,14,15;6,9,4,4,12,13,9,7,12,13,3,2,14,6,11;1,1,1,3,3,3,3,4,4,4,4,4,5,5,5};
after decoding and improvement by adopting FBI & D, the method becomes:
chc1={2,3,1,6,4,5,7,8,10,11,9,12,13,14,15;5,8,3,13,11,3,14,15,10,1,11,1,5,8,10;1,1,1,1,1,2,2,3,4,4,4,4,5,5,5},
chc2={1,2,3,5,6,4,7,8,10,9,11,12,13,14,15;6,9,4,4,12,13,9,7,12,13,3,2,14,6,11;1,1,1,3,3,3,3,4,4,4,4,4,5,5,5},
since the relative fitness values of the two parents are: 3.46, 5.99, the relative fitness values of the two subvolumes are: 5.29, 3.96; two daughters are inferior to one parent and superior to the other, so nbcIf 2, the fitness value of the intersection method is updated according to equation (3)
Figure BDA0002311740090000325
And 6.4: generating a random number lambda1It is 0.14 due to λ1=0.14<pm0.2, so for chc1Randomly selecting a variation method to perform variation operation by using a value-based betting round according to the fitness value of the variation method, namely executing the step N1: and (3) calculating the probability of the selected mutation method i according to the fitness value: mutation method 1, i.e. probability of being selected by task scheduling order list mutation method
Figure BDA0002311740090000326
Similarly, mutation method 2 is the probability A that the virtual machine distribution list mutation method is selected20.5/1.5 ═ 0.333, mutation method 3, i.e., probability a that virtual machine type list mutation method was selected30.333; step N2 is executed: calculating the cumulative probability:
Figure BDA0002311740090000331
Figure BDA0002311740090000332
step N3 is executed: a random number λ is generated which is 0.337, since
Figure BDA0002311740090000333
Therefore, a variation method 2 is selected, and the virtual machine allocation list is varied to be varied; for chc1After performing the virtual machine allocation list variation, the child chc1Become into
ch′1={2,3,1,6,4,5,7,8,10,11,9,12,13,14,15;5,1,9,13,11,11,4,15,14,11,11,1,5,9,10;1,1,1,1,1,2,2,3,4,4,4,4,5,5,5};
After decoding and improvement by adopting FBI & D, the method becomes:
ch′1={2,3,1,6,4,5,7,8,10,11,9,12,13,14,15;5,1,9,13,11,11,4,15,14,11,11,1,5,9,10;1,1,1,1,1,2,2,3,4,4,4,4,5,5,5};
the variant individuals are infeasible individuals, and the relative fitness value is as follows: 5.32, greater than 5.29 relative fitness of the individual before mutation, so nb is presentm0; updating the fitness value of the mutation method according to formula (4): mf (m) of2=(1-0.2)×0.5+0.2×0=0.4;
And 6.5, executing: generating a random number lambda2It is 0.08 due to λ2=0.08<pmWhen the value is equal to 0.2, a variation method is randomly selected by using a value-based round-robin method, namely, the step N1 is executed: and calculating the probability of each mutation method being selected according to the fitness value: mutation method 1, i.e. probability of being selected by task scheduling order list mutation method
Figure BDA0002311740090000334
In the same way, A2=0.4/1.4=0.286,A30.357; step N2 is executed: calculating the cumulative probability:
Figure BDA0002311740090000335
Figure BDA0002311740090000336
step N3 is executed: a random number λ is generated which is 0.502, since
Figure BDA0002311740090000337
Therefore, the mutation method 2 is selected, and the virtual machine distribution list mutation pair chc2And (5) carrying out mutation. After the variation of the virtual machine distribution list, the child chc2Become into
ch′2={1,2,3,5,6,4,7,8,10,9,11,12,13,14,15;5,9,4,10,13,13,9,11,12,10,3,2,14,1,11;1,1,1,3,3,3,3,4,4,4,4,4,5,5,5}
After decoding and improvement by adopting FBI & D, the method becomes:
ch′2={1,2,3,5,6,4,7,8,10,9,11,12,13,14,15;5,9,4,10,13,13,9,11,12,10,3,2,14,1,11;1,1,1,3,3,3,3,4,4,4,4,4,5,5,5};
the variant individuals are infeasible individuals, and the relative fitness value is as follows: 4.67, greater than 3.96 relative fitness of the individuals before mutation, so nb is presentm0; updating the fitness value of the mutation method according to formula (4): mf (m) of2=(1-0.2)×0.4+0.2×0=0.32;
Step 6.6 is executed: prepared from ch'1And ch'2Adding into a new population; since the number of new populations is less than 10, go to step 6.2;
……
this is repeated from step 6.2 to step 6.6 until the number of new populations equals 10, and the individuals in the new populations are:
ch′1={2,3,1,6,4,5,7,8,10,11,9,12,13,14,15;5,1,9,13,11,11,4,15,14,11,11,1,5,9,10;1,1,1,1,1,2,2,3,4,4,4,4,5,5,5}
ch′2={1,2,3,5,6,4,7,8,10,9,11,12,13,14,15;5,9,4,10,13,13,9,11,12,10,3,2,14,1,11;1,1,1,3,3,3,3,4,4,4,4,4,5,5,5}
ch′3={1,3,2,6,5,4,7,8,10,11,9,12,13,14,15;12,14,7,13,12,13,9,15,10,1,11,1,5,8,10;1,1,1,1,1,2,3,3,3,3,4,5,5,5,5}
ch′4={1,2,3,5,6,4,7,8,10,9,11,12,13,14,15;6,9,4,4,1,11,15,9,5,7,1,9,13,8,9;1,1,1,3,3,3,3,4,4,4,4,4,4,5,5}
ch′5={2,3,1,4,6,5,7,8,9,10,11,12,13,14,15;10,11,10,5,9,13,12,4,6,11,1,3,7,12,12;2,2,3,3,3,3,3,3,3,3,4,4,5,5,5}
ch′6={2,1,3,5,6,4,7,8,10,11,9,12,13,14,15;8,7,1,6,5,2,5,1,1,14,10,2,2,5,13;1,1,1,1,2,2,2,2,3,5,5,5,5,5,5}
ch′7={3,1,2,6,5,4,7,8,11,10,9,12,13,14,15;9,15,2,10,5,3,10,5,12,15,8,11,4,9,4;1,1,1,1,1,2,2,3,3,4,4,4,5,5,5}
ch′8={3,1,2,6,4,5,7,8,10,9,11,12,13,14,15;11,5,4,10,7,14,13,7,10,13,15,12,3,6,1;1,1,2,2,2,3,3,3,3,3,4,4,4,5,5}
ch′9={2,1,3,5,6,4,7,8,10,9,11,12,13,14,15;6,9,4,4,12,13,9,15,10,13,15,12,3,6,1;1,1,1,3,3,3,3,4,4,4,4,4,5,5,5}
ch′10={3,1,2,4,5,6,7,8,11,10,9,12,13,14,15;1,5,5,7,7,14,15,11,6,7,1,7,13,7,15;1,1,2,2,2,3,3,3,3,3,4,4,4,5,5}
the workflow response time of the individuals in the new population is respectively as follows: rs'1=466780.67,rs′2=402761.33,rs′3=368915.33,rs′4=291642.67,rs′5=246914,rs′6=584216,rs′7=465043.33,rs′8=311119.33,rs′9=306882.67,rs′10=291406.67;
The workflow execution costs of the individuals in the new population are respectively: ct'1=3309.2,ct′2=2971.7,ct′3=2415.4,ct′4=2561,ct′5=2112.3,ct′6=3224.3,ct′7=3433.2,ct′8=2152.3,ct′9=2251.3,ct′10=2197;
All individuals in the new population are infeasible individuals, and the relative fitness values are respectively as follows: rf it'1=5.32,rfit′2=4.67,rfit′3=4.07,rfit′4=3.65,rfit′5=3.05,rfit′6=6.04,rfit′7=5.39,rfit′8=3.51,rfit′9=3.55,rfit′10=3.41;
And 7, executing the step: selecting N different individuals from the current generation population and the new population from the superior to the inferior to form a new current generation population, and turning to the step 5;
selecting the ch of the current generation from good to bad1、ch9、ch2、ch3、ch8And ch 'of the New population'5、ch′10、ch′8、ch′9、ch′4Forming the next generation group GP ═ ch1,ch9,ch′5,ch′10,ch2,ch3,ch8,ch′8,ch′9,ch′4}; let CP be GP, forming a new contemporary population, then all individuals of the contemporary population become:
ch1={3,1,2,6,4,5,7,8,11,10,9,12,13,14,15;14,15,13,14,15,13,15,15,11,15,15,15,15,15,15;1,1,1,1,1,2,2,2,3,3,4,4,5,5,5}
ch2={2,3,1,4,6,5,7,8,10,11,9,12,13,14,15;10,11,10,5,9,13,12,4,6,11,1,3,7,12,12;2,2,3,3,3,3,4,4,4,5,5,5,5,5,5}
ch3={2,3,1,4,6,5,7,8,9,10,11,12,13,14,15;10,11,10,5,9,13,12,4,6,11,1,3,7,12,12;2,2,3,3,3,3,3,3,3,3,4,4,5,5,5}
ch4={3,1,2,4,5,6,7,8,11,10,9,12,13,14,15;1,5,5,7,7,14,15,11,6,7,1,7,13,7,15;1,1,2,2,2,3,3,3,3,3,4,4,4,5,5}
ch5={1,2,3,5,6,4,7,8,10,9,11,12,13,14,15;6,9,4,4,12,13,9,15,10,1,11,1,5,8,10;1,1,1,3,3,3,3,4,4,4,4,4,5,5,5}
ch6={2,1,5,4,3,6,7,8,9,10,11,12,13,14,15;6,3,6,2,1,15,10,11,6,8,13,7,13,9,3;1,1,2,2,3,3,3,4,4,4,4,4,5,5,5}
ch7={3,1,2,4,5,6,7,8,11,10,9,12,13,14,15;11,5,4,10,7,14,13,7,10,13,15,12,3,6,1;1,1,2,2,2,3,3,3,3,3,4,4,4,5,5}
ch8={3,1,2,6,4,5,7,8,10,9,11,12,13,14,15;11,5,4,10,7,14,13,7,10,13,15,12,3,6,1;1,1,2,2,2,3,3,3,3,3,4,4,4,5,5}
ch9={2,1,3,5,6,4,7,8,10,9,11,12,13,14,15;6,9,4,4,12,13,9,15,10,13,15,12,3,6,1;1,1,1,3,3,3,3,4,4,4,4,4,5,5,5}
ch10={1,2,3,5,6,4,7,8,10,9,11,12,13,14,15;6,9,4,4,1,11,15,9,5,7,1,9,13,8,9;1,1,1,3,3,3,3,4,4,4,4,4,4,5,5}
the individual workflow response times are respectively: rs1=126275.33,rs2=212389.33,rs3=246914,rs4=291406.67,rs5=306824.67,rs6=294823.33,rs7=311119.33,rs8=311119.33,rs9=306882.67,rs10=291642.67;
The individual workflow execution costs are respectively: ct1=929.2,ct2=2246.5,ct3=2112.3,ct4=2197,ct5=2125.1,ct6=2244.1,ct7=2152.3,ct8=2152.3,ct9=2251.3,ct10=2561;
The relative fitness values of the infeasible individuals are respectively as follows: rfit2=2.91,rfit3=3.05,rfit4=3.41,rfit5=3.46,rfit6=3.46,rfit7=3.51,rfit8=3.51,rfit9=3.55,rfit10=3.65;
The absolute fitness values of feasible individuals are respectively as follows: afit1=168685.20;
Turning to step 5;
……
this is repeated from step 5 to step 7 until iteration to 100 generations, the contemporary population becoming:
ch1={2,1,3,4,5,6,7,8,9,11,10,12,13,14,15;13,13,11,12,13,11,13,13,14,13,13,13,13,13,13;1,1,1,1,1,1,1,1,1,3,5,5,5,5,5}
ch2={2,1,3,4,5,6,7,8,9,11,10,12,13,14,15;13,13,11,12,13,11,13,13,14,13,13,13,13,13,13;1,1,1,1,1,1,1,1,1,5,5,5,5,5,5}
ch3={2,1,3,4,5,6,7,8,9,11,10,12,13,14,15;13,13,11,12,13,11,13,13,14,13,13,13,13,13,13;1,1,1,1,1,1,1,1,3,3,5,5,5,5,5}
ch4={2,1,3,4,5,6,7,8,9,11,10,12,13,14,15;13,13,11,12,13,11,13,13,14,13,13,13,13,13,13;1,1,1,1,1,1,1,1,3,5,5,5,5,5,5}
ch5={2,1,3,4,5,6,7,8,9,11,10,12,13,14,15;13,13,11,12,13,11,13,13,14,13,13,13,13,13,13;1,1,1,1,1,1,1,1,4,4,5,5,5,5,5}
ch6={2,1,3,4,5,6,7,8,9,11,10,12,13,14,15;13,13,11,12,13,11,13,13,14,13,13,13,13,13,13;1,1,1,1,1,1,1,1,4,5,5,5,5,5,5}
ch7={2,1,3,4,5,6,7,8,9,11,10,12,13,14,15;13,13,11,12,13,11,13,13,14,13,13,13,13,13,13;1,1,1,1,1,1,1,1,5,5,5,5,5,5,5}
ch8={2,1,3,4,5,6,7,8,11,9,10,12,13,14,15;13,13,11,12,13,11,13,13,14,13,13,13,13,13,13;1,1,1,1,1,1,1,1,1,5,5,5,5,5,5}
ch9={2,1,3,4,5,6,7,8,11,9,10,12,13,14,15;13,13,11,12,13,11,13,13,14,13,13,13,13,13,13;1,1,1,1,1,1,1,1,3,5,5,5,5,5,5}
ch10={2,1,3,4,5,6,7,8,11,9,10,12,13,14,15;13,13,11,12,13,11,13,13,14,13,13,13,13,13,13;1,1,1,1,1,1,1,1,4,4,5,5,5,5,5}
the individual workflow response times are respectively: rs1=123576,rs2=123576,rs3=123576,rs4=123576,rs5=123576,rs6=123576,rs7=123576,rs8=123576,rs9=123576,rs10=123576;
The individual workflow execution costs are respectively: ct1=804.8,ct2=804.8,ct3=804.8,ct4=804.8,ct5=804.8,ct6=804.8,ct7=804.8,ct8=804.8,ct9=804.8,ct10=804.8;
All individuals were viable and their absolute fitness values were: afit1=154625.6,afit3=154625.6,afit3=154625.6,afit4=154625.6,afit5=154625.6,afit6=154625.6,afit7=154625.6,afit8=154625.6,afit9=154625.6,afit10=154625.6;
If the termination condition is met, executing the step 8;
and step 8 is executed: and if the feasible individuals exist in the contemporary population, outputting the individual with the minimum absolute fitness value in the contemporary population, wherein the corresponding execution scheme is the optimization scheme, otherwise, no feasible execution scheme exists.
Feasible individuals exist in the contemporary population, so the individual with the minimum absolute fitness value in the output contemporary population is ch 12,1,3,4,5,6,7,8,9,11,10,12,13,14, 15; 13,13,11,12,13,11,13,13,14,13,13,13,13, 13; 1,1,1,1,1,1,1,1,3,5,5,5, 5}, which corresponds to an absolute fitness value of 154625.6, a working response time of 123576s, and an execution cost of 804.8 yuan, and the corresponding execution scheme is shown in table 3.
Figure BDA0002311740090000361
Figure BDA0002311740090000371
TABLE 3
The above embodiments are only preferred embodiments of the present invention, and are not intended to limit the technical solutions of the present invention, so long as the technical solutions can be realized on the basis of the above embodiments without creative efforts, which should be considered to fall within the protection scope of the patent of the present invention.

Claims (7)

1. A workflow optimization method based on a partial order adaptive genetic algorithm in a cloud computing environment is characterized by comprising the following steps: the method comprises the following steps:
step 1: acquiring information required by executing optimization of the cloud workflow;
get task set T ═ T1,…,tI},tiRepresenting a task i, namely a task with the number i; wherein I is the number of tasks to be scheduled;
acquiring a time sequence relation between tasks: parent task set PR of task iiSubstask set SC for task iiWherein I is 1, …, I;
Figure FDA0002311740080000011
acquiring task related parameters: length len of task ii、leni>0, i.e. the number of instructions that need to be consumed by the virtual machine when task i is processed, the list of input files IFL that is needed when task i is processedi
Figure FDA0002311740080000012
Output file list OFL generated after task i is processedi
Figure FDA0002311740080000013
And the size of the file in the file list, wherein: i is 1, …, I; task i is task i+The requirements of the parent task are as follows: there is a file that is the output file of task i and is also task i+The input file of (a), namely:
Figure FDA0002311740080000014
obtaining cloud computing environmentVirtual machine type set VM ═ VM1,vm2,…,vmJWhere J is the number of types of virtual machines, vmjRepresenting a j-class virtual machine;
acquiring related parameters of the virtual machine: computing power ps of class j virtual machinesjBandwidth bw of class j virtual machinesjCost per unit time vc for class j virtual machinesjFixed lease-starting cost fc of j-class virtual machinejMinimum billing time unit ut for class j virtual machinesjMinimum lease-on time ft of class j virtual machinej(ii) a The cost of renting a class j virtual machine is calculated as follows:
Figure FDA0002311740080000015
wherein: lt is lease time, J is 1,2 …, J;
acquiring cost constraint Budget and time constraint Deadline executed by a workflow in a cloud computing environment; if no cost constraint exists, setting Budget as MBV, and if no time constraint exists, setting Deadline as MDV; wherein: MBV is the upper cost limit, and MDV is the upper time limit;
step 2: calculating a level value of the task;
for a starting task i without a parent task, the hierarchy value is:
lvli=1 (1)
the hierarchy values of other tasks are calculated using the following recursive formula:
Figure FDA0002311740080000021
and step 3: initializing a contemporary population;
generating 1 individual by an individual generation method based on the hierarchy and the benefit ratio, and generating the remaining N-1 different individuals by an individual random generation method based on the hierarchy to form an initial contemporary population; wherein N is an even number is the population size;
the individual encoding method is as follows: ch ═ gr1,…,grI;gs1,…,gsI;gt1,…,gtIWhere { gr1,…,grIThe scheduling order list is a topological order of task numbers; { gs1,…,gsIIs the virtual machine allocation list, gsiIndicating the virtual machine instance number, gs, assigned to task i1,…,gsITaking an integer value between 1 and I; { gt1,…,gtIIs a list of virtual machine types, gtiType of virtual machine instance denoted i, i.e. type of virtual machine instance i, gt1,…,gtIIs a non-decreasing permutation;
the individual random generation method based on the hierarchy and the benefit ratio comprises the following steps:
step A1: according to the random arrangement of tasks with the level values of the tasks from small to large, namely the random arrangement with the level values of the tasks arranged in front of the tasks with small level values and the same level values, generating an individual task scheduling sequence list { gr1,…,grI};
Step A2: randomly generating I random integers from 1 to J: pi1、……、πI(ii) a The arrangement from small to large is not assumed:
Figure FDA0002311740080000022
order:
Figure FDA0002311740080000023
generating a list of individual virtual machine types { gt1,…,gtI};
Step A3: generating individual virtual machine allocation list { gs) based on benefit ratio1,…,gsI}:
Step A3.1: enabling a set of virtual machine instances for assigned tasks
Figure FDA0002311740080000024
Ready time rt of all tasks1=…=rtI0; available time period list of all virtual machine instances, vatlk={[0,∞]1,2, …, I; let the variable δ be 1;
step A3.2: let variable i become grδThe variable k is 1; calculating the handle tiThe comprehensive benefit ratio after being respectively allocated to each potential virtual machine instance is as follows:
step A3.2.1: calculating tiExecution time after assignment to virtual machine instance numbered k
Figure FDA0002311740080000025
Wherein:
Figure FDA0002311740080000026
is a handle tiThe processing time of the task when the virtual machine instance with the number k is processed,
Figure FDA0002311740080000027
Figure FDA0002311740080000028
is the processing power of the virtual machine instance numbered k;
Figure FDA0002311740080000029
is a handle tiThe virtual machine instance with the number k needs to obtain the file transfer time of the input file from other virtual machines when processing,
Figure FDA00023117400800000210
k-is to treat
Figure FDA00023117400800000211
The number of the virtual machine instance of (c),
Figure FDA00023117400800000212
and
Figure FDA00023117400800000213
is numbered k and k-Bandwidth of the virtual machine instance of (1);
Figure FDA0002311740080000031
is a handle tiThe virtual machine instance with number k needs to obtain the file transfer time of the input file from the shared database when processing,
Figure FDA0002311740080000032
step A3.2.2: in vatlkFinding out an idle time period [ v ] from morning to eveningkk]Satisfy upsilonkk≥eti,kAnd upsilonk-eti,k≥rti
Step A3.2.3: calculating tiStarting time s after assigning to virtual machine instance numbered ki,k=max{νk,rtiH, completion time fi,k=si,k+eti,k
Step A3.2.4, calculating the comprehensive benefit ratio ξi,k
If inskE.g. INS, wherein INSkRepresenting the virtual machine instance numbered k, then
Figure FDA0002311740080000033
Wherein: theta belongs to [0,1] and is a weight coefficient, and mu is a coordination coefficient of cost and time;
Figure FDA0002311740080000034
assignment of existing tasks to inskIn the case of (2), t isiIs assigned to inskHindinskLease time of'k=Rnt′k-Hrt′kIs tiHave not been assigned to inskFront inskThe time of lease of (a) is,
Figure FDA0002311740080000035
is tiHave not been assigned to inskFront inskThe return time of (c);
Figure FDA0002311740080000036
is tiHave not been assigned to inskFront inskThe start lease time;
if it is not
Figure FDA0002311740080000037
Then
Figure FDA0002311740080000038
Wherein
Figure FDA0002311740080000039
For no task yet assigned to inskIn the case of (2), t isiIs assigned to inskHindinskThe lease time of;
step A3.2.5: let k be k +1, if k ≦ I, go to step A3.2.1; otherwise go to step A3.3;
step A3.3-in sequence from ξi,1,…,ξi,IFind a minimum among them, do not set as
Figure FDA00023117400800000310
If the number is
Figure FDA00023117400800000311
Virtual machine instance of
Figure FDA0002311740080000041
Then
Figure FDA0002311740080000042
Step A3.4: assign task i to a number of
Figure FDA0002311740080000043
Virtual machine instance of (1), order
Figure FDA0002311740080000044
Step A3.4.1: calculating a start time of a task
Figure FDA0002311740080000045
End time
Figure FDA0002311740080000046
Step A3.4.2: updating the Ready time of a subtask of task i
Figure FDA0002311740080000047
Step A3.4.3: in that
Figure FDA0002311740080000048
Finding out an idle period from morning to evening
Figure FDA0002311740080000049
Satisfy the requirement of
Figure FDA00023117400800000410
And
Figure FDA00023117400800000411
step A3.4.4: in that
Figure FDA00023117400800000412
Deletion in
Figure FDA00023117400800000413
With intervening interval length greater than 0
Figure FDA00023117400800000414
And
Figure FDA00023117400800000415
step A3.5: δ is δ + 1; if delta is less than or equal to I, go to step A3.2, otherwise go to step A3.6;
step A3.6: obtaining a virtual machine allocation list gs1,…,gsI};
Step A4: output individual ch ═ gr1,…,grI;gs1,…,gsI;gt1,…,gtIFourthly, the operation is finished;
the individual random generation method based on the hierarchy comprises the following steps:
step B1: according to the random arrangement of tasks with the level values of the tasks from small to large, namely the random arrangement with the level values of the tasks arranged in front of the tasks with small level values and the same level values, generating an individual task scheduling sequence list { gr1,…,grI};
Step B2: randomly generating I random integers from 1 to J: pi1、……、πI(ii) a The arrangement from small to large is not assumed:
Figure FDA00023117400800000416
order:
Figure FDA00023117400800000417
generating a list of individual virtual machine types { gt1,…,gtI};
Step B3: randomly generating I random integers from 1 to I, which are not set as: pi'1、……、π′I(ii) a Order: gs is1=π′1、……、gsI=π′IGenerating an individual virtual machine allocation list { gs1,…,gsI};
Step B4: output individual ch ═ gr1,…,grI;gs1,…,gsI;gt1,…,gtIFourthly, the operation is finished;
and 4, step 4: decoding and improving each individual in the contemporary population by adopting FBI & D to obtain the workflow response time and the execution cost of each individual, and then calculating the relative fitness value of all infeasible individuals and the absolute fitness value of feasible individuals;
for individual chnThe FBI&D bagThe method comprises the following steps:
step C1: make workflow reverse response time
Figure FDA00023117400800000418
Step C2: individual ch adopting serial individual decoding method based on insertion modenDecoding is carried out to obtain the completion time f of all tasks1,…,fIAnd its workflow response time rsn(ii) a If rsnIs less than
Figure FDA00023117400800000419
Go to step C3, otherwise, go to step C6;
step C3: an individual chnAccording to the task completion time fiRearranging from large to small, i.e. chnGene gr in (1)iSet to the I-last completed task, I-1, …, I, forming an inverted individual
Figure FDA0002311740080000051
Step C4: method for decoding reverse individuals by adopting serial reverse individuals based on insertion mode
Figure FDA0002311740080000052
Decoding to obtain the reverse completion time of all tasks
Figure FDA0002311740080000053
And its workflow reverse response time
Figure FDA0002311740080000054
If it is
Figure FDA0002311740080000055
Less than rsnGo to step C5, otherwise go to step C6;
step C5: make the opposite direction single body
Figure FDA0002311740080000056
According to the task reverse completion time of the task scheduling sequence list in (1)
Figure FDA0002311740080000057
Rearranged from large to small, i.e.
Figure FDA0002311740080000058
Gene gr in (1)iSet to the I-last completed task, I-1, …, I, forming an individual chnGo to step C2;
step C6: output individual chnAnd its workflow response time rsnAnd calculating the workflow execution cost ctnAnd the operation is finished;
the serial individual decoding method based on the insertion mode is used for individual chnThe decoding comprises the following steps:
step D1: let ready times rt of all tasksi0, I-1, …, I; let the variable δ be 1; make available time period list of all virtual machine instances vatlk={[0,∞]},k=1,…,I;
Step D2: selecting the serial number i-grδThe task of (1);
step D3: assigning task i to a number k-gs based on an insertion patterniThe virtual machine instance of (1);
step D3.1: computing the execution time of task i
Figure FDA0002311740080000059
Step D3.2: in vatlkFinding out an idle time period [ v ] from morning to eveningkk]Satisfy upsilonkk≥etiAnd upsilonk-eti≥rti
Step D3.3: calculating the start time s of task ii=max{νk,rtiH, completion time fi=si+eti
Step D3.4: updating the Ready time of a subtask of task i
Figure FDA00023117400800000510
Step D3.5: list of time slots available in virtual machine, vatlkDeletion of [ v ]kk]V, with insertion interval length greater than 0k,si]And [ fik];
Step D4: let δ be δ +1, if δ ≦ I, go to step D2, otherwise step D5;
step D5: obtaining a start time and an end time of the task: si,fiI1, …, I, calculating the execution cost ct of the workflownAnd response time rsnAnd the operation is finished;
the serial reverse individual decoding method based on the insertion mode is used for decoding reverse individuals
Figure FDA00023117400800000511
The decoding comprises the following steps:
step E1: make reverse ready time of all tasks
Figure FDA0002311740080000061
Wherein SFLiIs the set of output files that task i outputs to the shared database, i.e.
Figure FDA0002311740080000062
Let the variable δ be 1; make virtual machine available a time period list vatlk={[0,∞]},k=1,…,I;
Step E2: selecting the serial number i-grδThe task of (1);
step E3: assigning task i to a number k-gs based on an insertion patterniThe virtual machine instance of (2):
step E3.1: computing the execution time of task i
Figure FDA0002311740080000063
Step E3.2: in vatlkFinding out an idle time period [ v ] from morning to eveningkk]Satisfy upsilonkk≥etiAnd
Figure FDA0002311740080000064
step E3.3: calculating a reverse start time for task i
Figure FDA0002311740080000065
Reverse completion time
Figure FDA0002311740080000066
Step E3.4: updating the reverse ready time of the parent task of task i
Figure FDA0002311740080000067
Step E3.5: list of time slots available in virtual machine, vatlkDeletion of [ v ]kk]With an insertion interval length greater than 0
Figure FDA0002311740080000068
And
Figure FDA0002311740080000069
step E4: let δ be δ +1, if δ ≦ I, go to step E2, otherwise step E5;
step E5: obtaining a reverse start time for a task
Figure FDA00023117400800000610
And reverse completion time
Figure FDA00023117400800000611
And its workflow reverse response time
Figure FDA00023117400800000612
Finishing the operation;
and 5: judging whether a termination condition is met, if so, turning to a step 8 after the evolution is finished, and otherwise, turning to a step 6;
the termination condition is that no feasible individual or optimal feasible individual is improved when iteration is carried out to a specified generation TG or continuous iteration GG generation;
step 6: performing cross and variation operations on the contemporary population to form a new population;
step 6.1: making the new population empty;
step 6.2: randomly selecting two different individuals from the contemporary population as a father 1 and a father 2 based on a ranking round-robin method;
step 6.3: randomly selecting a cross method to carry out cross operation on the father body 1 and the father body 2 by adopting a value-based round-robin method according to the fitness value of the cross method to generate two daughter bodies; decoding and improving by adopting FBI & D, if the daughter is a feasible individual, calculating an absolute fitness value of the daughter, and otherwise, calculating a relative fitness value of the daughter; updating the fitness value of the intersection method according to the formula (3);
step 6.4: generating a random number lambda1E [0,1), if λ1<pmThen, randomly selecting a variation method for the daughter 1 according to the fitness value of the variation method by adopting a value-based betting method to perform variation operation; using FBI&D, decoding and improving; if the daughter 1 is a viable individual, calculating its absolute fitness value, otherwise calculating its relative fitness value; updating the adaptability value of the variation method according to the formula (4);
step 6.5: generating a random number lambda2E [0,1), if λ2<pmThen, randomly selecting a variation method for the daughter 2 according to the fitness value of the variation method by adopting a value-based betting method to perform variation operation; using FBI&D, decoding and improving; if the daughter 2 is a viable individual, calculating its absolute fitness value, otherwise calculating its relative fitness value; updating the adaptability value of the variation method according to the formula (4);
step 6.6: adding daughter 1 and daughter 2 to the new population; if the number of the new population is less than N, go to step 6.2, otherwise go to step 7;
wherein: p is a radical ofm∈(0,1]Is the rate of variation;
the crossing method comprises the following steps: the task scheduling sequence lists are crossed, the virtual machine distribution lists are crossed, and the types of the virtual machines are crossed;
the father 1 and the father 2 are not:
Figure FDA0002311740080000071
Figure FDA0002311740080000072
daughter 1 and daughter 2 were:
Figure FDA0002311740080000073
the crossing method 1: the task scheduling sequence list intersection comprises the following steps:
step F1, randomly generating a positive integer α from 1 to I-1;
step F2: ch (channel)c1The first α genes in the task scheduling order list of (1) are from chp1The first α genes of the task scheduling order list of (1), gri c1=gri p1I is more than or equal to 1 and less than or equal to α, and the last I- α genes come from chp2Task scheduling order list of
Figure FDA0002311740080000074
Middle deletion gene value equal to
Figure FDA0002311740080000075
The latter gene list; ch (channel)c1The virtual machine allocation list and the virtual machine type list come from the chp1Namely:
Figure FDA0002311740080000076
step F3: ch (channel)c2Before the task scheduling order listα genes are derived from chp2The first α genes of the task scheduling order list of (1), gri c2=gri p2I is more than or equal to 1 and less than or equal to α, and the last I- α genes come from chp1Task scheduling order list of
Figure FDA0002311740080000077
Middle deletion gene value equal to
Figure FDA0002311740080000078
The latter gene list; ch (channel)c2The virtual machine allocation list and the virtual machine type list come from the chp2Namely:
Figure FDA0002311740080000079
step F4: output chc1And chc2And the operation is finished;
and (3) a crossing method 2: the virtual machine distribution list intersection comprises the following steps:
g1, randomly generating a positive integer α from 1 to I-1;
step G2: ch (channel)c1The first α genes of the virtual machine assignment list in (1) are from chp1The first α genes of the virtual machine allocation list of (1), namely:
Figure FDA0002311740080000081
the last I- α genes are from chp2The last I- α genes of the virtual machine allocation list of (1), namely:
Figure FDA0002311740080000082
chc1the task scheduling order list and the virtual machine type list come from the chp1Namely: gr is a group ofi c1=gri p1
Figure FDA0002311740080000083
Step G3: ch (channel)c2The first α genes of the virtual machine allocation listFrom chp2The first α genes of the virtual machine allocation list of (1), namely:
Figure FDA0002311740080000084
the last I- α genes are from chp1The last I- α genes of the virtual machine allocation list of (1), namely:
Figure FDA0002311740080000085
chc2the task scheduling order list and the virtual machine type list come from the chp2Namely: gr is a group ofi c2=gri p2
Figure FDA0002311740080000086
Step G4: output chc1And chc2And the operation is finished;
and (3) a crossing method: the virtual machine type crossing comprises the following steps:
step H1, randomly generating a positive integer α from 1 to I-1;
step H2: ch (channel)c1The task scheduling order list and the virtual machine allocation list are from chp1Namely: gr is a group ofi c1=gri p1
Figure FDA0002311740080000087
chc1The first α genes of the virtual machine type list from chp1The first α genes of the list of virtual machine types of (c), namely:
Figure FDA0002311740080000088
chc1the last I- α genes of the list of virtual machine types from chp2The last I- α genes of the list of virtual machine types of (2), namely:
Figure FDA0002311740080000089
if it is not
Figure FDA00023117400800000810
Go to step H3, otherwise go to step H4;
step H3: generating a random number lambda epsilon [0, 1); if λ<0.5, then
Figure FDA00023117400800000811
Figure FDA00023117400800000812
Otherwise
Figure FDA00023117400800000813
Step H4: ch (channel)c2The task scheduling order list and the virtual machine allocation list are from chp2Namely: gr is a group ofi c2=gri p2
Figure FDA00023117400800000814
chc2The first α genes of the virtual machine type list from chp2The first α genes of the list of virtual machine types of (c), namely:
Figure FDA00023117400800000815
chc2the last I- α genes of the list of virtual machine types from chp1The last I- α genes of the list of virtual machine types of (2), namely:
Figure FDA00023117400800000816
if it is not
Figure FDA00023117400800000817
Go to step H5, otherwise go to step H6;
step H5: generating a random number lambda epsilon [0, 1); if λ<0.5, then
Figure FDA00023117400800000818
Figure FDA00023117400800000819
Otherwise
Figure FDA00023117400800000820
Step H6: output chc1And chc2And the operation is finished;
the mutation method comprises the following steps: the task scheduling sequence list is mutated, the virtual machine distribution list is mutated, and the virtual machine type list is mutated;
mutation method 1: scheduling sequential list variation, comprising the steps of:
step I1: from the task scheduling order list { gr1,…,grIRandomly select a gene, not set as gri
Step I2: if task griFinding the first parent task gr forward if there is a parent taski′Let the position value pos1If not, let pos11 is ═ 1; if task griFinding the first subtask gr backwards if there are subtasksi″Let the position value pos2Else let pos be2=I;
Step I3: in [ pos ]1,pos2]Randomly selects a position to insert griAnd the operation is finished;
mutation method 2: the virtual machine allocation list mutation comprises the following steps:
step J1, generating a random integer from 1 to I, which is not set to ξ;
step J2: from { gs1,…,gsIξ genes are randomly selected, an example number is randomly selected from 1, … and I again for each selected gene, and the operation is finished;
mutation method 3: the method for mutating the virtual machine type list comprises the following steps:
step K1: let0=1,gtI+1J; finding a variant valid position set SPS ═ { i | (gt)i≠gti-1∨gti≠gti+1)∧1≤i≤I};
Step K2: randomly selecting a position from the SPS, and setting the position as i;
step K3: in [ gti-1,gti+1]Randomly selects an integer value between the two, let it be j, let gtiJ, finishing the operation;
the fitness value of the intersection method and the mutation method and the updating method thereof are described as follows:
setting a fitness value cf for each intersection method iiE (0, 1); setting a fitness value mf for each variation method iiE (0,1), randomly selecting one to perform genetic operation by adopting a round-robin method based on fitness value when performing cross or mutation operation each time, and updating the fitness value after each genetic operation by adopting the following method:
Figure FDA0002311740080000091
Figure FDA0002311740080000092
wherein:
cfi′,cfirespectively representing the fitness values of the intersection method i before and after use;
mfi′,mfirespectively representing the fitness values of the mutation method i before and after use;
nbc: the degree of change of the individual quality after the crossing is shown,
Figure FDA0002311740080000101
Figure FDA0002311740080000102
indicating that the individual ch ' is not superior to the individual ch, namely satisfying one of the following conditions that ① ch and ch ' are both infeasible individuals but the relative fitness value of the ch is less than or equal to that of the ch ', ② ch is a feasible individual but the ch ' is an infeasible individual, ③ ch and ch ' are both feasible individuals but the absolute fitness value of the ch is less than or equal to that of the individual chAbsolute fitness value at ch';
chp1,chp2showing two parents, without provision for
Figure FDA0002311740080000103
chc1,chc2Showing two sub-bodies 1 and 2, without providing
Figure FDA0002311740080000104
nbm: indicates the degree of change of the quality of the individual after the variation,
Figure FDA0002311740080000105
Figure FDA0002311740080000109
is the update rate;
and 7: selecting N different individuals from the current generation population and the new population from the superior to the inferior to form a new current generation population, and turning to the step 5;
and 8: and if the feasible individuals exist in the contemporary population, outputting the individual with the minimum absolute fitness value in the contemporary population, wherein the corresponding execution scheme is the optimization scheme, otherwise, no feasible execution scheme exists.
2. The workflow optimization method based on the partial order adaptive genetic algorithm in the cloud computing environment according to claim 1, wherein: one specific calculation method for the MBV and MDV is as follows:
Figure FDA0002311740080000106
wherein:
Figure FDA0002311740080000107
is tiThe maximum execution time.
3. The workflow optimization method based on the partial order adaptive genetic algorithm in the cloud computing environment according to claim 1, wherein: for individual chnCalculating the workflow response time rs in said step C5nAnd an execution cost ctnThe specific calculation method is as follows:
Figure FDA0002311740080000108
wherein:
Figure FDA0002311740080000111
Figure FDA0002311740080000112
wherein:
Figure FDA0002311740080000113
is the fixed lease start cost for the virtual machine instance numbered k,
Figure FDA0002311740080000114
is the cost per unit time of the virtual machine instance numbered k,
Figure FDA0002311740080000115
is the minimum billing time unit for the virtual machine instance numbered k,
Figure FDA0002311740080000116
is the minimum lease-on time for the virtual machine instance numbered k,
Figure FDA0002311740080000117
is the bandwidth of the virtual machine instance numbered k, ltk=Rntk-HrtkIs the lease time, Hrt, of the virtual machine instance numbered kkThe start lease time of the virtual machine instance numbered k; rntkThe return time of the virtual machine instance with the number of k is obtained;
Figure FDA0002311740080000118
tfiis to complete OFLiIf t is the maximum time at which the file in (1) is output to the corresponding recipientiWithout exporting files to the shared database
Figure FDA0002311740080000119
Then the corresponding recipient is processing tiIf t is a virtual machine of the subtask ofiWithout subtasks, i.e.
Figure FDA00023117400800001110
The respective recipient is a shared database, otherwise if tiWith both file output to the shared database and subtasks
Figure FDA00023117400800001111
Then the corresponding recipient is processing tiThe virtual machines and the shared database of the subtasks,
Figure FDA00023117400800001112
4. the workflow optimization method based on the partial order adaptive genetic algorithm in the cloud computing environment according to claim 1, wherein: for individual ch in the populationnN is 1,2 …, N if ctn≤Budget∨rsnWhen the adaline is not more than the preset value, ch isnAs viable individuals, otherwise chnIs an infeasible individual;
the specific calculation method of the relative fitness value of the infeasible individual is as follows:
Figure FDA00023117400800001113
the specific calculation method of the absolute fitness value of the feasible individual is as follows: afitn=θ×μ×ctn+(1-θ)×rsn
Wherein: theta belongs to [0,1] and is a weight coefficient, and mu is a coordination coefficient of cost and time;
when the individual quality is compared, the feasible individual is superior to the infeasible individual; for all feasible individuals, the smaller the absolute fitness value is, the better the individual is; for all infeasible individuals, the smaller the relative fitness value, the better the individual.
5. The workflow optimization method based on the partial order adaptive genetic algorithm in the cloud computing environment according to claim 1, wherein: the specific steps of randomly selecting two different individuals from the contemporary population as the father 1 and the father 2 based on the sorted round-robin in the step 6.2 are as follows:
step L1: sequencing the individuals in the current generation population from good to bad to obtain the sequencing value rk of the individual nnN is 1, …, N, where the first row takes 1, the second row takes 2, and so on, and the last row takes N;
step L2: calculating the probability that the individual n is selected
Figure FDA0002311740080000121
R>1 is a discrimination coefficient;
step L3: calculating cumulative probability
Figure FDA0002311740080000122
Step L4: generating a random number lambda1E [0,1) if
Figure FDA0002311740080000123
Then individual n is selected as father 1;
step L5: generating a random number lambda2E [0,1) if
Figure FDA0002311740080000124
And n '≠ n, then individual n' is selected as parent 2, passing to step L6Otherwise go to step L5;
step L6: the individual selection operation ends.
6. The workflow optimization method based on the partial order adaptive genetic algorithm in the cloud computing environment according to claim 1, wherein: the value-based betting round method in step 6.3 randomly selects a crossover method as follows:
step M1: calculating the probability of the cross method i being selected according to the fitness value
Figure FDA0002311740080000125
Step M2: calculating cumulative probability
Figure FDA0002311740080000126
Step M3: generating a random number λ ∈ [0,1) if
Figure FDA0002311740080000127
Then cross method i is selected and the cross method selection operation ends.
7. The workflow optimization method based on the partial order adaptive genetic algorithm in the cloud computing environment according to claim 1, wherein: the specific steps of the value-based betting round in step 6.4 and step 6.5 to select a variant method are as follows:
step N1: calculating the probability of the selected variant method i according to the fitness value
Figure FDA0002311740080000128
Step N2: calculating cumulative probability
Figure FDA0002311740080000129
Step N3: generating a random number λ ∈ [0,1) if
Figure FDA00023117400800001210
Then mutation method i is selected and the mutation method selection operation ends.
CN201911261591.7A 2019-12-10 2019-12-10 Workflow optimization method based on partial sequence adaptive genetic algorithm in cloud computing environment Active CN110928670B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911261591.7A CN110928670B (en) 2019-12-10 2019-12-10 Workflow optimization method based on partial sequence adaptive genetic algorithm in cloud computing environment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911261591.7A CN110928670B (en) 2019-12-10 2019-12-10 Workflow optimization method based on partial sequence adaptive genetic algorithm in cloud computing environment

Publications (2)

Publication Number Publication Date
CN110928670A true CN110928670A (en) 2020-03-27
CN110928670B CN110928670B (en) 2022-04-08

Family

ID=69859610

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911261591.7A Active CN110928670B (en) 2019-12-10 2019-12-10 Workflow optimization method based on partial sequence adaptive genetic algorithm in cloud computing environment

Country Status (1)

Country Link
CN (1) CN110928670B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117130790A (en) * 2023-10-23 2023-11-28 云南蓝队云计算有限公司 Dynamic scheduling method for cloud computing resource pool

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103345657A (en) * 2013-04-02 2013-10-09 江苏大学 Task scheduling method based on heredity and ant colony in cloud computing environment
CN107133091A (en) * 2017-05-08 2017-09-05 武汉轻工大学 The cloud workflow task dispatching method being classified based on top-down task
CN108829501A (en) * 2018-05-18 2018-11-16 天津科技大学 A kind of batch processing scientific workflow task scheduling algorithm based on improved adaptive GA-IAGA
CN109992355A (en) * 2019-01-30 2019-07-09 北京理工大学 A kind of multiple target cloud workflow schedule method based on the non-dominant genetic algorithm of improvement

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103345657A (en) * 2013-04-02 2013-10-09 江苏大学 Task scheduling method based on heredity and ant colony in cloud computing environment
CN107133091A (en) * 2017-05-08 2017-09-05 武汉轻工大学 The cloud workflow task dispatching method being classified based on top-down task
CN108829501A (en) * 2018-05-18 2018-11-16 天津科技大学 A kind of batch processing scientific workflow task scheduling algorithm based on improved adaptive GA-IAGA
CN109992355A (en) * 2019-01-30 2019-07-09 北京理工大学 A kind of multiple target cloud workflow schedule method based on the non-dominant genetic algorithm of improvement

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
AMANDEEP VERMA, SAKSHI KAUSHAL: "Budget constrained priority based genetic algorithm for workflow scheduling in cloud", 《IEEE》 *
胡能发,康立山,陈毓屏: "基于偏序关系的遗传算法求解多峰函数优化问题", 《计算机工程与应用》 *
魏秀然,王峰: "一种可靠性驱动的云工作流调度遗传算法", 《计算机应用研究》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117130790A (en) * 2023-10-23 2023-11-28 云南蓝队云计算有限公司 Dynamic scheduling method for cloud computing resource pool
CN117130790B (en) * 2023-10-23 2023-12-29 云南蓝队云计算有限公司 Dynamic scheduling method for cloud computing resource pool

Also Published As

Publication number Publication date
CN110928670B (en) 2022-04-08

Similar Documents

Publication Publication Date Title
Shen et al. Mathematical modeling and multi-objective evolutionary algorithms applied to dynamic flexible job shop scheduling problems
CN109190857B (en) Optimization algorithm based on multi-target resource limited project scheduling model
CN108829501B (en) Batch processing scientific workflow task scheduling algorithm based on improved genetic algorithm
CN109522104B (en) Method for optimizing scheduling of two target tasks of Iaas by using differential evolution algorithm
CN112685138B (en) Multi-workflow scheduling method based on multi-population hybrid intelligent optimization in cloud environment
WO2021088436A1 (en) Project scheduling method and apparatus for multi-language collaborative development
CN110909787A (en) Method and system for multi-objective batch scheduling optimization based on clustering evolutionary algorithm
CN104572297A (en) Hadoop job scheduling method based on genetic algorithm
CN110321217A (en) A kind of cloud resource dispatching method, device, equipment and the storage medium of multiple target
CN111126800A (en) Multi-mode resource-limited project scheduling method using layered adaptive intelligent algorithm
CN111026534B (en) Workflow execution optimization method based on multiple group genetic algorithms in cloud computing environment
CN110928670B (en) Workflow optimization method based on partial sequence adaptive genetic algorithm in cloud computing environment
CN111008745A (en) Multi-mode resource-limited project scheduling optimization method based on hybrid heuristic and intelligent algorithms
CN110928648B (en) Heuristic and intelligent computing-fused cloud workflow segmentation online scheduling optimization method
CN111090510A (en) Two-stage cloud workflow scheduling optimization method based on hybrid heuristic algorithm and genetic algorithm
CN110991917B (en) Multi-mode resource-limited project scheduling optimization method adopting two-stage genetic algorithm
CN112884368A (en) Multi-target scheduling method and system for minimizing delivery time and delay of high-end equipment
CN110968428A (en) Cloud workflow virtual machine configuration and task scheduling collaborative optimization method
CN111026533A (en) Workflow execution optimization method based on distributed estimation algorithm in cloud computing environment
CN111078361A (en) Cloud workflow scheduling optimization method based on distributed estimation algorithm
CN114980216A (en) Dependent task unloading system and method based on mobile edge calculation
CN111047183A (en) Cloud workflow scheduling optimization method based on layered self-adaptive intelligent computing algorithm
CN113220437A (en) Workflow multi-target scheduling method and device
CN111026507A (en) Cloud workflow virtual machine configuration and task scheduling collaborative optimization method in heterogeneous environment
CN110928671B (en) Cloud workflow scheduling optimization method based on hierarchy and load balancing genetic 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