CN109522107B - Task allocation method and system for space-time constraint - Google Patents
Task allocation method and system for space-time constraint Download PDFInfo
- Publication number
- CN109522107B CN109522107B CN201811254179.8A CN201811254179A CN109522107B CN 109522107 B CN109522107 B CN 109522107B CN 201811254179 A CN201811254179 A CN 201811254179A CN 109522107 B CN109522107 B CN 109522107B
- Authority
- CN
- China
- Prior art keywords
- task
- user
- time
- representing
- users
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
Abstract
A task allocation method and a system facing space-time constraint and acquiring data through a plurality of mobile terminals are disclosed, wherein the method comprises the following steps: a task requester submits a task requirement to the cloud platform; a plurality of users submit data to the cloud platform through respective mobile terminals; the cloud platform performs preliminary task allocation according to the task requirements and self data submitted by each mobile terminal; the cloud platform plans the sequence of executing the tasks by each user according to the result of the preliminary task allocation, and sends the sequence to the users; the users collect corresponding data by using the mobile terminals carried by the users according to the planned sequence, and return the collected data to the cloud platform; and the cloud platform transmits the returned data to the task requester. According to the method, the space-time constraint requirements of the tasks are met, and the selected task set is reasonably planned for the user through calculation.
Description
Technical Field
The disclosure belongs to the technical field of information, and particularly relates to a task allocation method and system for space-time constraint through data acquisition of a plurality of mobile terminals.
Background
In recent years, with the rapid development of mobile computing and wireless communication technologies, mobile smart devices (such as smart phones, tablet computers, smart watches, etc.) have become widely popular, the storage, computing and communication capabilities thereof have been continuously enhanced, and the mobile smart devices are equipped with numerous smart sensors, such as cameras, microphones, gravitometers, GPS, gyroscopes, temperature sensors, blood pressure sensors, etc. Therefore, people can automatically sense and collect surrounding environment information in real time through the mobile intelligent equipment and transmit the information to a server such as a cloud platform through the wireless communication module, and therefore complex environment and social sensing tasks can be completed. The cloud platform needs to allocate each task to a plurality of participating users according to task requirements of task requesters, and the allocation basis is to achieve a specific optimization target, such as maximizing a task receiving rate.
From the current research results, the current task allocation method only considers the task requirements from a single point of view, such as the task perception time length, the geographic location of the task, the task type and the user capacity requirements, but does not comprehensively consider the elastic space-time constraints of the task, such as the earliest starting time, the latest ending time, the perception time length, the geographic location requirements and the real-time location of the user. In fact, with the continuous development and deepening of mobile group awareness applications, complex tasks with comprehensive requirements, especially tasks with elastic space-time constraints, are receiving more and more attention. A task with elastic space-time constraint means that a perception task needs a user to complete in a certain area within a certain period of time, and the geographic area, the earliest starting time, the latest starting time and the perception time length of the task are all specified. More difficult, a user is often assigned with a plurality of tasks, and each task has the above-mentioned time-space constraint, so that the user is required to plan the execution sequence of all assigned tasks, and at this time, the cost of completing the tasks by the user and the cost generated by the movement of the user need to be further considered, which further increases the difficulty of the problem.
In order to ensure that the space-time constraint of the tasks is satisfied and reasonably plan the execution sequence of each task allocated to the user, it is necessary to design a space-time constraint-oriented task allocation method for acquiring data by a plurality of mobile terminals.
Disclosure of Invention
In view of this, the present disclosure provides a task allocation method for space-time constraint, in which data are collected by a plurality of mobile terminals, including the following steps:
s100: the task requester submits task requirements including a task position, earliest starting time, latest ending time, perception time length and task budget to the cloud platform;
s200: the method comprises the following steps that a plurality of users submit respective positions and latest working time to a cloud platform through respective mobile terminals;
s300: the cloud platform performs preliminary task allocation according to the task requirements and self data submitted by each mobile terminal;
s400: the cloud platform plans the sequence of executing the tasks by each user according to the result of the preliminary task allocation, and sends the sequence to the users;
s500: the users collect corresponding data by using the mobile terminals carried by the users according to the planned sequence, and return the collected data to the cloud platform;
s600: and the cloud platform transmits the returned data to the task requester.
The present disclosure also provides a space-time constraint oriented task allocation system for collecting data through a plurality of mobile terminals, including a task requester, a cloud platform, and a plurality of users, wherein,
the task requester submits task requirements to the cloud platform, wherein the task requirements comprise a task position, earliest starting time, latest ending time, perception time length and task budget;
the multiple users submit respective positions and latest working time to the cloud platform through respective mobile terminals;
the cloud platform performs preliminary task allocation according to the task requirements and self data submitted by each mobile terminal;
the cloud platform plans the sequence of executing the tasks by each user according to the result of the preliminary task allocation, and sends the sequence to the users;
the users collect corresponding data by using the mobile terminals carried by the users according to the planned sequence, and return the collected data to the cloud platform;
and the cloud platform transmits the returned data to the task requester.
By the technical scheme, the method and the system can ensure that the space-time constraint of the task is met by calculation, and the application range of the method is further expanded. Meanwhile, compared with the traditional method and system, the method and system provided by the invention have the advantages that the step of task planning for the user is added, the task set is planned, the task execution is more reasonable, and the efficiency is improved.
Drawings
FIG. 1 is a flow chart illustrating a spatio-temporal constraint-oriented task allocation method for data collection by a plurality of mobile terminals according to an embodiment of the present disclosure;
FIG. 2 is a schematic structural diagram of a task allocation system oriented to spatiotemporal constraints for data acquisition by a plurality of mobile terminals according to an embodiment of the present disclosure.
Detailed Description
Referring to fig. 1, in one embodiment, the present disclosure provides a spatiotemporal constraint-oriented task allocation method for collecting data by a plurality of mobile terminals, comprising the steps of:
s100: the task requester submits task requirements including a task position, earliest starting time, latest ending time, perception time length and task budget to the cloud platform;
s200: the method comprises the following steps that a plurality of users submit respective positions and latest working time to a cloud platform through respective mobile terminals;
s300: the cloud platform performs preliminary task allocation according to the task requirements and self data submitted by each mobile terminal;
s400: the cloud platform plans the sequence of executing the tasks by each user according to the result of the preliminary task allocation, and sends the sequence to the users;
s500: the users collect corresponding data by using the mobile terminals carried by the users according to the planned sequence, and return the collected data to the cloud platform;
s600: and the cloud platform transmits the returned data to the task requester.
For the embodiment, the space-time constraint of the tasks is ensured to be met, and the executable task set is selected for the user through calculation and the selected task set is planned, so that the application range of the method is expanded.
In another embodiment, the step S100 further includes the following steps:
the set S for task requirement is { S ═ S1,s2,...,si,...,snDenotes wherein s isiIt is the (i) th task that,n is a finite natural number which is,representing a task siIn the position of (a) in the first,representing a task siThe earliest start time of the start,representing a task siThe latest end time of the time (m),representing a task siThe length of the sensing time of (a), representing a task siThe budget of (2).
For this embodiment, representing the task requirements in the form of a set facilitates modeling of the latter distribution method.
In another embodiment, the step S200 further includes the following steps:
the plurality of users are in a set of U ═ { U ═ U1,u2,...,uj...,ukDenotes wherein ujIs the j-th user and is,k is a finite natural number which is,representing user ujIn the position of (a) in the first,indicating the latest work time of the user.
With this embodiment, representing multiple users in the form of collections facilitates modeling of the latter distribution method.
In another embodiment, the step S300 further includes the following steps:
the preliminary task allocation is calculated according to the following formula:
wherein, cijRepresenting user ujPerforming task siCost of dijRepresenting user ujMove to task siThe cost incurred by the required location,
the plurality of users are in a set of U ═ { U ═ U1,u2,...,uj...,ukDenotes wherein ujIs the j-th user and is,k is a finite natural number which is,representing user ujIn the position of (a) in the first,representing the latest work time of the user;
the set S for task requirement is { S ═ S1,s2,...,si,...,snDenotes wherein s isiIt is the (i) th task that,n is a finite natural number which is,representing a task siIn the position of (a) in the first,representing a task siThe earliest start time of the start,representing a task siThe latest end time of the time (m),representing a task siThe length of the sensing time of (a), representing a task siThe budget of (c);
xij1 denotes task siAssigned to user uj,xij0 means that the task s is not to be executediAssigned to user uj;
The objective of the objective function is to maximize the benefit, i.e., the difference between the sum of the budgets of all tasks and the sum of the costs incurred by the allocation of all tasks. One task assignment (user u)jIs assigned to perform task si) The resulting cost includes two parts: user ujPerforming task siCost c ofijUser ujMove to task siCost d from the required positionij,
Condition 1 indicates that a task can only be completed by one user; in condition 2 xij1 denotes task siAssigned to user ujOn the contrary, xij0 means that the task s is not to be executediAssigned to user uj(ii) a Condition 3 indicates allocation to user ujThe latest ending time of the task does not exceed the latest working time of the user; condition 4 represents user ujTo task siDoes not exceed the latest start time of the task; condition 5 indicates that the sum of the cost of the user to perform the task and the cost of the user moving to the location of the task does not exceed the budget of the task.
User ujPerforming task siThe gain of (a) is recorded as wijIts formula expresses: w is aij=bi-(cij+dij)。
Representing user ujThe position coordinates of the (c) and (d),representing a task siThe spatial distance between the two represents:user ujFrom its position to task siMoving cost d due to positionijCan be defined by the following function:
dij=f(sij)。
with this embodiment, the task allocation method is implemented by modeling.
In another embodiment, the step S300 further includes the following steps:
step 301: let set S 'represent the set of tasks to be allocated, S' being S initially; let U' denote an optional set of users, U ═ U initially, set U+Representing a set of users performing a task, initiallyUser uj(uje.U') is expressed asInitial
Step 302: according to the formulaComputing all tasks si(siE.g. S'), finding a task S with the minimum latest start timeiFinding an executive task s from the set of users UiUser u with maximum total profitj;
Step 303: judging user ujPerforming task siWhether three constraints are satisfied:
formula (1) represents ujPerforming task siDoes not exceed the total cost of the task siThe budget of (c); equation (2) represents task siDoes not exceed the latest end time of user ujLatest working time ofEquation (3) represents user ujTo task siDoes not exceed the latest start time of the task
If all three constraints are satisfied, go to step 304; if one of the conditions is not satisfied, deleting the task S in the set SiThen go to step 302;
step 304: task s is processed by cloud platformiAssigned to user ujI.e. order xijDeleting task S from set S ═ 1iUpdate user ujAssigned task set ofIf set U+Absence of user ujAdd it to the set U+(ii) a If the set S' is not empty, go to step 302; otherwise, the process goes to step S400.
For the embodiment, a solution of the model is provided, that is, a task with the minimum starting time is found, a user with the maximum total benefit for executing the task is found, the task meeting the condition is distributed to the user, and after all the tasks are circulated, the primary task distribution is completed.
In another embodiment, the step S400 further includes the following steps:
step 401: according to the formulaComputing user ujTo task collectionsDistance s of each task inijWhereinIs its assigned set of tasks; let TjRepresenting user ujOrder of execution of the assigned tasks, TjCan be described by an ordered linear table, which is initially empty;representing user ujThe position coordinates of the (c) and (d),representing a task siThe position coordinates of (a);
step 402: selecting distance user ujShortest task, denoted as siWill task siInsertion into a Linear Table TjAnd update user ujIs a set of assigned tasks of
Step 403: selecting the next taskMake itWherein the task siIs a linear meter TjThe last element of (a) is,
wherein s in the formula (4)ijRefer to user ujTo a linear meter TjThe first element siThe distance of (d);refers to a task siAnd taskSpace-time distance between, w1,w2Is a weight coefficient satisfying w1+w2=1,w1≥0,w2Not less than 0, taking w1=0.5,w2=0.5,Refers to a task siAnd taskThe distance of the space between the two plates,refers to a task siAnd taskThe time distance between;
if the formula (4) and the formula (5) are satisfied, the taskIs a task siTo user ujThe task with the shortest distance to the remaining assigned tasks, the taskInsertion into a Linear Table TjAfter the last element, and update user ujIs a set of assigned tasks ofIf it is notIf not empty, find the next taskTo a linear meter TjThe space-time distance of the last element is shortest; otherwise, abandoning the taskGo to step 403;
step 404: to find out from user ujPath planning to all tasks in the task set, wherein the path planning is a sequence which is sequentially increased according to space-time distance; deleting U+User u injIf U is present+If not, go to step 401.
With this embodiment, a method for planning the task execution order is provided, that is, the task execution order is planned in the order of increasing empty distance in turn, and by this planning method, the user can select the task sets to be executed and plan the order of the selected task sets reasonably.
In another embodiment, the calculation of the time distance in step S403 is as follows:
one user servicing tasks s in turniAnd taskTask siAnd taskRespectively isAnd satisfyOtherwise the taskExpiration; when two time windows are overlapped, the two tasks are considered to be served in the same time period, the distance between the time windows is 0, if the two time windows are not overlapped, the distance between the time windows is the starting time of the next time window minus the ending time of the previous time window, and the calculation formula is as follows:
wherein the content of the first and second substances,is the latter taskThe end time of (a) is set,is a previous task siThe start time of (c).
where v represents all users ujE.g. speed of U, sijRepresenting a user to a task siThe spatial distance of (a).
In another embodiment, the cost of the user to perform the task is related to the perceived length of time of the task.
For this embodiment, generally, the greater the perceived length of time of the task, the greater the cost, and a simple strategy is to define the cost of the user performing the task as a function of the perceived length of time of the task:
where v denotes all users ujE.g. speed of U, sijRepresenting a user to a task siThe spatial distance of (a).
In another embodiment, referring to fig. 2, a spatiotemporal constraint-oriented task allocation system for collecting data through a plurality of mobile terminals is disclosed, comprising a task requester, a cloud platform and a plurality of users, wherein,
the task requester submits task requirements to the cloud platform, wherein the task requirements comprise a task position, earliest starting time, latest ending time, perception time length and task budget;
the multiple users submit respective positions and latest working time to the cloud platform through respective mobile terminals;
the cloud platform performs preliminary task allocation according to the task requirements and self data submitted by each mobile terminal;
the cloud platform plans the sequence of executing the tasks by each user according to the result of the preliminary task allocation, and sends the sequence to the users;
the users collect corresponding data by using the mobile terminals carried by the users according to the planned sequence, and return the collected data to the cloud platform;
and the cloud platform transmits the returned data to the task requester.
For the embodiment, the system not only ensures that the space-time constraint of the tasks is met, but also can improve the participation enthusiasm of the user by selecting an executable task set for the user through calculation and planning the selected task set.
In another embodiment of the present invention, the substrate is,
step S100: the set of tasks submitted by the task requester is denoted as S ═ S1,s2,s3,s4Attributes of the task are shown in the following table:
task | Position of | Earliest start time | Latest end time | Sensing time length | Budget |
s1 | (2,6) | 1 | 5 | 2 | 10 |
s2 | (3,5) | 6 | 13 | 5 | 20 |
s3 | (4,6) | 2 | 10 | 6 | 10 |
s4 | (5,8) | 11 | 20 | 8 | 20 |
Step S200: the collected user set is U ═ U ═1,u2},u1=<(3,4),18>,u2=<(5,6),20>Wherein u is1The first attribute (3, 4) of (2) indicates the location of the user and 18 indicates the latest work time of the user.
Step S300: according to the formula (c)ij+dij) Calculating each user u in user set1,u2Performing task s1,s2,s3,s4Of c, wherein cijRefers to the cost of the user to perform the task, in this embodimentdijRefer to user ujFrom its position to task siThe moving cost caused by the position, d in this embodimentij=f(sij)=0.5×sijWherein(xi,yi),(xj,yj) Are respectively tasks siAnd user ujThe position of (a).
Each user u in the calculated user set1,u2Performing task s1,s2,s3,s4The value of the total cost of (a) is represented by a matrix (a):
according to the formula wij=bi-(cij+dij) Computing user ujPerforming task siThe gain of (a) is recorded as wijThen, then
User set each user u1,u2Performing task s1,s2,s3,s4The result of the yield of (a) is represented by a matrix (b):
step 301: let set S 'denote the set of tasks to be allocated, S' being initially S. Let U' denote an optional set of users, U ═ U initially, set U+Representing a set of users performing a task, initiallyUser uj(uje.U') is expressed asInitial
Step 302: according to the formulaComputing all tasks si(siE.g. S'), calculating all tasks S1,s2,s3,s4Is 3, 8, 4, 12, and is the task s with the smallest latest start time1Selecting users, and obtaining users U from a matrix of profits of executing all tasks in the user set U1Performing task s1Is more than user u2Performing task s1So consider user u1Performing task s1。
Step 303: judging user u1Performing task s1Whether three constraints are satisfied: can obtain the productNamely 2.12 is less than or equal to 10;namely 5 is less than or equal to 18,i.e., 2.24 is less than or equal to 3, the constraint condition is satisfied, and the process goes to step 304.
Step 304: task s is processed by cloud platform1Assigned to user u1I.e. order x11Deleting task S from set S ═ 11User u1Adding to the set U+Update user u1Assigned task set ofIf the set S' is not empty, the process goes to step 302.
Step 302: according to the formulaComputing all tasks si(siE.g. S'), calculating the task S2,s3,s4Is 8, 4 and 12 respectively, and is the task s with the minimum latest starting time3Selecting users, and obtaining users U from a matrix of profits of executing all tasks in the user set U2Performing task s3Is more than user u1Performing task s3So consider u2Performing task s3。
Step 303: judgment u2Performing task s3Whether three constraints are satisfied: can obtain the productNamely 3.5 is less than or equal to 10;namely 10 is less than or equal to 20,i.e., 1 is less than or equal to 4, the constraint condition is satisfied, and the process goes to step 304.
Step 304: task s is processed by cloud platform3Assigned to user u2I.e. order x32Deleting task S from set S ═ 13User u2Adding to the set U+Update user u2Assigned task set ofIf the set S' is not empty, the process goes to step 302.
In step 302: according to the formulaComputing all tasks si(siE.g. S'), calculating all tasks S2,s4Is 8 and 12 respectively, and is the task s with the minimum latest starting time2Selecting users, and obtaining users U from a matrix of profits of executing all tasks in the user set U1Performing task s2Is more than user u2Performing task s2The gains of (1) are consideredHuu (household)1Performing task s2。
In step 303: judging user u1Performing task s2Whether three constraints are satisfied: can obtain the productNamely 2.5 is less than or equal to 20;namely 13 is less than or equal to 18,i.e., 1 is less than or equal to 9, the constraint condition is satisfied, and the process goes to step 304. User u1Performing task s2Three constraints are satisfied.
Step 304: the cloud platform can be used for task s2Assigned to user u1I.e. order x21Deleting task S from set S ═ 12Due to the set U+Presence user u1Update user u1Assigned task set ofIf the set S' is not empty, the process goes to step 302.
In step 302: according to the formulaComputing all tasks si(siE.g. S'), calculating the task S4Is 12, respectively, as the last task s4Selecting users, and obtaining users U from the matrix of all task profits executed in the user set U2Performing task s4Is more than user u1Performing task s4So consider user u2Performing task s4。
In step 303: judging user u2Performing task s4Whether three constraints are satisfied: can obtain the productNamely 5 is less than or equal to 20;namely 20 is less than or equal to 20,i.e., 2 is less than or equal to 12, the constraint condition is satisfied, and the process goes to step 304.
Step 304: the cloud platform can be used for task s4Assigned to user u2I.e. order x42Deleting task S from set S ═ 14Due to the set U+Presence user u2Update user u2Assigned task set ofIf the set S' is empty, the process goes to step S400.
Step S400, the cloud platform plans a task execution sequence for each user assigned with a task, and further includes the following steps.
Step 401: according to the formulaComputing user u1To task collectionsDistance s of each task inijWherein Is the set of tasks to which it is assigned, finds s11=2.24,s211. Let T1Representing user u1Order of execution of the assigned tasks, T1Can be described by an ordered linear table, initially empty.
Step 402: selecting distance user u1The shortest task is s2Will task s2Is inserted into T1And update user u1Is a set of assigned tasks of
Step 403: because of the user u1The task list has only two elements, task s2Is the current T1So consider selecting user u1Task collectionLast task s in1。
Because of the task s1Has a time window of [1, 5 ]]Task s2Time window is [6, 13 ]]Finding user u in the calculation process1Performing task s2After completion of task s1When, because of task s2Is greater than task s1So task s1Has expired. So user u1The task s must be abandoned1,u1Linear table T of the execution order of the assigned tasks1=(s2)。
Step 401: according to the formulaComputing user u2To task setCombination of Chinese herbsDistance s of each task inijWhereinTo obtain s32=1,s422. Let T2Representing user u2Order of execution of the assigned tasks, T2Can be described by a linear table, which is initially empty.
Step 402: selecting distance user u2The shortest task is s3Will task s3Is inserted into T2And update user u2Is a set of assigned tasks of
Step 403: because of the user u2The task list has only two elements, task s3Is the current T2So consider selecting user u2Task collectionLast task s in4。
Calculating according to the space distance to obtain s34=2.24,s32Calculating T according to a time-distance formula as 134=1,w1s34+w2T34=1.62,
The calculation formula (4) yields that (1+1.62)/1 is 2.62, since 2.62 ≦ 20 (user u)2The latest work time of) is calculated, and formula (5) is calculated to find that 1.62/1 is 1.62 ≦ 4 (the latest start of the task)The start time).
Task s4Satisfy the above two conditions, the task s4Insertion into a Linear Table T2The last element (i.e. task s)3) Then, update user u2Is a set of assigned tasks ofu2Linear table T of the execution order of the assigned tasks2=(s3,s4)。
Step 404: after all user paths are planned, u1Linear table T of the execution order of the assigned tasks1=(s2);u2Linear table T of the execution order of the assigned tasks2=(s3,s4)。
S500:u1According to T1=(s2),u2According to T2=(s3,s4) Acquiring corresponding data by using a mobile terminal carried by the mobile terminal, and returning the acquired data to the cloud platform;
s600: and the cloud platform transmits the returned data to the task requester.
In another example:
step S100: the set of tasks submitted by the task requester is denoted as S ═ S1,s2,s3,s4,s5Attributes of the task are shown in the following table:
task | Position of | Earliest start time | Latest end time | Sensing time length | Budget |
s1 | (2,3) | 3 | 7 | 3 | 10 |
s2 | (3,6) | 2 | 5 | 2 | 20 |
s3 | (2,5) | 6 | 11 | 5 | 10 |
s4 | (4,6) | 14 | 22 | 14 | 20 |
s5 | (4,8) | 4 | 13 | 6 | 10 |
Step S200: the collected user set is U ═ U ═1,u2},u1=<(3,4),25>,u2=<(4,5),30>Wherein u is1The first attribute (3, 4) of (2) indicates the location of the user and 25 indicates the latest work time of the user.
Step S300: according to the formula (c)ij+dij) Calculating each user u in user set1,u2Performing task s1,s2,s3,s4,s5Of c, wherein cijRefers to the cost of the user to perform the task, in this embodimentdijRefer to user ujFrom its position to task siThe moving cost caused by the position, d in this embodimentij=f(sij)=0.5×sijWherein(xi,yi),(xj,yj) Are respectively tasks siAnd user ujThe position of (a).
Each user u in the calculated user set1,u2Performing task s1,s2,s3,s4,s5The value of the total cost of (a) is represented by a matrix (a):
according to the formula wij=bi-(cij+dij) Computing user ujPerforming task siIncome memoryIs wijThen, then
User set each user u1,u2Performing task s1,s2,s3,s4,s5The result of the yield of (a) is represented by a matrix (b):
step 301: let set S 'denote the set of tasks to be allocated, S' being initially S. Let U' denote an optional set of users, U ═ U initially, set U+Representing a set of users performing a task, initiallyUser uj(uje.U') is expressed asInitial
Step 302: according toComputing all tasks si(siE.g. S'), calculating all tasks S1,s2,s3,s4,s5Respectively 4, 3, 6, 8, 7, and is the task s with the smallest latest start time2Selecting users, and obtaining users U from a matrix of profits of executing all tasks in the user set U1Performing task s2Is more than user u2Performing task s2The gain of (1). So consider user u first1Performing task s2。
Step 303: judging user u1Performing task s2Whether three constraints are satisfied: can obtain the productNamely 2.91 is less than or equal to 20;namely 5 is less than or equal to 25,i.e., 1 is less than or equal to 3, the constraint condition is satisfied, and the process goes to step 304.
Step 304: the cloud platform can be used for task s2Assigned to user u1I.e. order x21Deleting task S from set S ═ 12User u1Adding to the set U+Update user u1Assigned task set ofIf the set S' is not empty, the process goes to step 302.
Step 302: according toComputing all tasks si(siE.g. S'), calculating all tasks S1,s3,s4,s5Is 4, 6, 8, 7 respectively, and is the task s with the minimum latest starting time1Selecting users, and obtaining users U from a matrix of profits of executing all tasks in the user set U1Performing task s1Is more than user u2Performing task s1So consider user u1Performing task s1。
Step 303: judging user u1Performing task s1Whether three constraints are satisfied: can obtain the productNamely 2 is less than or equal to 10;namely, the weight ratio of 7 to 25,i.e., 1.41 is less than or equal to 4, the constraint condition is satisfied, and the process goes to step 304.
Step 304: the cloud platform can be used for task s1Assigned to user u1I.e. order x11Deleting task S from set S ═ 11Due to the set U+Presence user u1Update user u1Assigned task set ofIf the set S' is not empty, the process goes to step 302.
Step 302: according toComputing all tasks si(siE.g. S'), calculating all tasks S3,s4,s5Is 6, 8, 7, and is the task s with the minimum latest start time3Selecting users, and obtaining users U from a matrix of profits of executing all tasks in the user set U1Performing task s3Is more than user u2Performing task s3The gain of (1). So consider user u first1Performing task s3。
Step 303: judging user u1Performing task s3Whether three constraints are satisfied: can obtain the productNamely 3.9l is less than or equal to 10;namely 11 is less than or equal to 25,i.e., 1.41 is less than or equal to 6, the constraint condition is satisfied, and the process goes to step 304.
Step 304: the cloud platform can be used for task s3Assigned to user u1I.e. order x31Delete 1 in set STask s3Due to the set U+Presence user u1Update user u1Assigned task set ofIf the set S' is not empty, the process goes to step 302.
Step 302: according toComputing all tasks si(siE.g. S'), calculating the task S4,s5Is 8 and 7 respectively, and is the task s with the minimum latest starting time5Selecting users, and obtaining users U from a matrix of profits of executing all tasks in the user set U2Performing task s5Is more than user u1Performing task s5The gain of (1). So consider user u2Completion of task s5。
Step 303: judging user u2Performing task s5Whether three constraints are satisfied: can obtain the productNamely 6 is less than or equal to 10;namely 16 is less than or equal to 30,i.e., 3 is less than or equal to 7, the constraint condition is satisfied, and the process goes to step 304.
Step 304: the cloud platform can be used for task s5Assigned to user u2I.e. order x52Deleting task S from set S ═ 15User u2Adding to the set U+Update user u2Assigned task set ofIf the set S' is not empty, the process goes to step 302.
Step 302: according toComputing all tasks si(siE.g. S'), calculating the task S4Is 8, is the last task s4Selecting users, and obtaining users U from the matrix of all task profits executed in the user set U2Performing task s4Is more than user u1Performing task s4So consider user u2Completion of task s4。
Step 303: judging user u2Performing task s4Whether three constraints are satisfied: can obtain the productI.e. 8 is less than or equal to 20;namely 22 is less than or equal to 30,i.e., 1 is less than or equal to 8, the constraint condition is satisfied, and the process goes to step 304.
Step 304: the cloud platform can be used for task s4Assigned to user u2I.e. order x42Deleting task S from set S ═ 14Due to the set U+Presence user u2Update user u1Assigned task set ofThe process goes to step S400.
In step S400, the cloud platform plans a task execution sequence for each user assigned with a task, and further includes the following steps.
Step 401: according to the formulaComputing user u1To task collectionsDistance s of each task inijWhereinIs composed ofIs the set of tasks to which it is assigned, finds s11=1.41,s21=1,s311.41. Order linear meter T1Representing user u1The execution order of the assigned tasks is initially null.
Step 402: selecting distance user u1The shortest task is s2Will task s2Insertion into a Linear Table T1And update user u1Is a set of assigned tasks of
Step 403: because of the user u1The task list has three elements, task s2Is the current linear table T1The last element of (2), select the next taskSo that
Calculating according to the space distance to obtain s21=3.16,s231.41, and calculating according to a time-distance formula to obtain T21=0,T23=l,w1s21+w2T21=1.58,w1s23+w2T23Since 1.58 > 1.21, task s is considered3As a linear table T1Task s in2The next task of (a) to (b),
Calculating to obtain task s3Satisfy the above two formulas, so will task s3Insertion into a Linear Table T1The last element (i.e. task s)2) Then, update user u1Is a set of assigned tasks of
Consider a task s3Next task later, becauseIn which only task s remains1Therefore, directly calculate w1s31+w2T31But finds user u1Performing task s3After completion of task s1Time, task s1Has expired. So user u1The task s must be abandoned1,u1Linear table T of the execution order of the assigned tasks1=(S2,S3)。
Step 401: according to the formula asComputing user u2To task collectionsDistance s of each task inijWhereinIs composed ofIs the set of tasks to which it is assigned, finds s42=1,s523. Order linear meter T2Representing user u2The execution order of the assigned tasks is initially null.
Step 402: selecting distance user u2The shortest task is s4Will task s4Insertion into a Linear Table T2And update user u2Is a set of assigned tasks of
Step 403: because of the user u2The task list has only two elements, task s4Is the current linear table T2Last element of (1), consider task s5Calculating w1s45+w2T45But finds user u2Performing task s4After completion of task s5Time, task s5Has expired. So user u2The task s must be abandoned5,u2Linear table T of the execution order of the assigned tasks2=(s4)。
Step 404: after all user paths are planned, u1Linear table T of the execution order of the assigned tasks1=(s2,s3);u2Linear table T of the execution order of the assigned tasks2=(s4)。
S500:u1According to T1=(s2,s3),u2According to T2=(s4) Acquiring corresponding data by using a mobile terminal carried by the mobile terminal, and returning the acquired data to the cloud platform;
s600: and the cloud platform transmits the returned data to the task requester.
The present disclosure has been described in detail, and the principles and embodiments of the present disclosure have been explained herein by using specific examples, which are provided only for the purpose of helping understanding the method and the core concept of the present disclosure; meanwhile, for those skilled in the art, according to the idea of the present disclosure, there may be variations in the specific embodiments and the application scope, and in summary, the content of the present description should not be construed as a limitation to the present disclosure.
Claims (9)
1. A task allocation method facing space-time constraint and acquiring data through a plurality of mobile terminals comprises the following steps:
s100: the task requester submits task requirements including a task position, earliest starting time, latest ending time, perception time length and task budget to the cloud platform;
s200: the method comprises the following steps that a plurality of users submit respective positions and latest working time to a cloud platform through respective mobile terminals;
s300: the cloud platform performs preliminary task allocation according to the task requirements and self data submitted by each mobile terminal;
s400: the cloud platform plans the sequence of executing the tasks by each user according to the result of the preliminary task allocation, and sends the sequence to the users;
s500: the users collect corresponding data by using the mobile terminals carried by the users according to the planned sequence, and return the collected data to the cloud platform;
s600: the cloud platform transmits the returned data to the task requester;
the step S400 further includes the following steps:
step 401: according to the formulaComputing user ujTo task collectionsDistance s of each task inijWherein m < k is its assigned set of tasks; let TjRepresenting user ujOrder of execution of the assigned tasks, TjCan be described by an ordered linear table, which is initially empty;representing user ujThe position coordinates of the (c) and (d),representing a task siThe position coordinates of (a);
set U+Representing a set of users performing a task;
the plurality of users are in a set of U ═ { U ═ U1,u2,...,uj...,ukDenotes wherein ujIs the j-th user and is,j is more than or equal to 1 and less than or equal to k, k is a limited natural number,representing user ujIn the position of (a) in the first,representing the latest work time of the user;
the task requirementsUsing set S ═ S1,s2,...,si,...,snDenotes wherein s isiIt is the (i) th task that,i is more than or equal to 1 and less than or equal to n, n is a limited natural number,representing a task siIn the position of (a) in the first,representing a task siThe earliest start time of the start,representing a task siThe latest end time of the time (m),representing a task siThe length of the sensing time of (a), representing a task siThe budget of (c);
step 402: selecting distance user ujShortest task, denoted as siWill task siInsertion into a Linear Table TjAnd update user ujIs a set of assigned tasks of
Step 403: selecting the next taskMake itWherein the task siIs a linear meter TjThe last element of (a) is,
wherein s in the formula (4)ijRefer to user ujTo a linear meter TjThe first element siThe distance of (d);refers to a task siAnd taskSpace-time distance between, w1,w2Is a weight coefficient satisfying w1+w2=1,w1≥0,w2Not less than 0, taking w1=0.5,w2=0.5,Refers to a task siAnd taskThe distance of the space between the two plates,refers to a task siAnd taskThe time distance between;
if the formula (4) and the formula (5) are satisfied, the taskIs a task siTo user ujThe task with the shortest distance to the remaining assigned tasks, the taskInsertion into a Linear Table TjAfter the last element, and update user ujIs a set of assigned tasks ofIf it is notIf not empty, find the next taskTo a linear meter TjThe space-time distance of the last element is shortest; otherwise, abandoning the taskGo to step 403;
step 404: to find out from user ujPath planning to all tasks in the task set, wherein the path planning is a sequence which is sequentially increased according to space-time distance; deleting U+User u injIf U is present+If not, go to step 401.
2. The method of claim 1, said step S100 further comprising the steps of:
the set S for task requirement is { S ═ S1,s2,...,si,...,snDenotes wherein s isiIt is the (i) th task that,i is more than or equal to 1 and less than or equal to n, n is a limited natural number,representing a task siIn the position of (a) in the first,representing a task siThe earliest start time of the start,representing a task siThe latest end time of the time (m),representing a task siThe length of the sensing time of (a), representing a task siThe budget of (2).
3. The method of claim 1, said step S200 further comprising the steps of:
4. The method of claim 1, said step S300 further comprising the steps of:
the preliminary task allocation is calculated according to the following formula:
wherein, cijRepresenting user ujPerforming task siCost of dijRepresenting user ujMove to task siThe cost incurred by the required location,si∈S;
the plurality of users are in a set of U ═ { U ═ U1,u2,...,uj...,ukDenotes wherein ujIs the j-th user and is,j is more than or equal to 1 and less than or equal to k, k is a limited natural number,representing user ujIn the position of (a) in the first,representing the latest work time of the user;
the set S for task requirement is { S ═ S1,s2,...,si,...,snDenotes wherein s isiIt is the (i) th task that,i is more than or equal to 1 and less than or equal to n, n is a limited natural number,representing a task siIn the position of (a) in the first,representing a task siThe earliest start time of the start,representing a task siThe latest end time of the time (m),representing a task siThe length of the sensing time of (a), representing a task siThe budget of (c);
xij1 denotes task siAssigned to user uj,xij0 means that the task s is not to be executediAssigned to user uj;
5. The method of claim 4, said step S300 further comprising the steps of:
step 301: let set S 'represent the set of tasks to be allocated, S' being S initially; let U' denote an optional set of users, U ═ U initially, set U+Representing a set of users performing a task, initiallyUser uj(uje.U') is expressed asInitial
Step 302: according to the formulaComputing all tasks si(siE.g. S'), finding a task S with the minimum latest start timeiFinding an executive task s from the set of users UiUser u with maximum total profitj;
Step 303: judging user ujPerforming task siWhether three constraints are satisfied:
formula (1) represents ujPerforming task siDoes not exceed the total cost of the task siThe budget of (c); equation (2) represents task siDoes not exceed the latest end time of user ujLatest working time ofEquation (3) represents user ujTo task siDoes not exceed the latest start time of the task
If all three constraints are satisfied, go to step 304; if one of the conditions is not satisfied, deleting the task S in the set SiThen go to step 302;
6. The method according to claim 1, wherein the time distance in step S403 is calculated as follows:
one user servicing tasks s in turniAnd taskTask siAnd taskRespectively isAnd satisfyOtherwise the taskExpiration; when two time windows are overlapped, the two tasks are considered to be served in the same time period, the distance between the time windows is 0, if the two time windows are not overlapped, the distance between the time windows is the starting time of the next time window minus the ending time of the previous time window, and the calculation formula is as follows:
8. The method of claim 4, wherein the cost of the user performing the task is related to a perceived length of time of the task.
9. A task distribution system facing space-time constraint and acquiring data through a plurality of mobile terminals comprises a task requester, a cloud platform and a plurality of users, wherein,
the task requester submits task requirements to the cloud platform, wherein the task requirements comprise a task position, earliest starting time, latest ending time, perception time length and task budget;
the multiple users submit respective positions and latest working time to the cloud platform through respective mobile terminals;
the cloud platform performs preliminary task allocation according to the task requirements and self data submitted by each mobile terminal;
the cloud platform plans the sequence of executing the tasks by each user according to the result of the preliminary task allocation, and sends the sequence to the users;
the users collect corresponding data by using the mobile terminals carried by the users according to the planned sequence, and return the collected data to the cloud platform; it further comprises the following steps:
step 401: according to the formulaComputing user ujTo task collectionsDistance s of each task inijWherein m < k is its assigned set of tasks; let TjRepresenting user ujOrder of execution of the assigned tasks, TjCan be described by an ordered linear table, which is initially empty;representing user ujThe position coordinates of the (c) and (d),representing a task siThe position coordinates of (a);
set U+Representing a set of users performing a task;
the plurality of users are in a set of U ═ { U ═ U1,u2,...,uj...,ukDenotes wherein ujIs the j-th user and is,j is more than or equal to 1 and less than or equal to k, k is a limited natural number,representing user ujIn the position of (a) in the first,representing the latest work time of the user;
the set S for task requirement is { S ═ S1,s2,...,si,...,snDenotes wherein s isiIt is the (i) th task that,i is more than or equal to 1 and less than or equal to n, n is a limited natural number,representing a task siIn the position of (a) in the first,representing a task siThe earliest start time of the start,representing a task siThe latest end time of the time (m),representing a task siThe length of the sensing time of (a), representing a task siThe budget of (c);
step 402: selecting distance user ujShortest task, denoted as siWill task siInsertion into a Linear Table TjAnd update user ujIs a set of assigned tasks of
Step 403: selecting the next taskMake itWherein the task siIs a linear meter TjThe last element of (a) is,
wherein s in the formula (4)ijRefer to user ujTo a linear meter TjThe first element siThe distance of (d);refers to a task siAnd taskSpace-time distance between, w1,w2Is a weight coefficient satisfying w1+w2=1,w1≥0,w2Not less than 0, taking w1=0.5,w2=0.5,Refers to a task siAnd taskThe distance of the space between the two plates,refers to a task siAnd taskThe time distance between;
if the formula (4) and the formula (5) are satisfied, the taskIs a task siTo user ujThe task with the shortest distance to the remaining assigned tasks, the taskInsertion into a Linear Table TjAfter the last element, and update user ujIs a set of assigned tasks ofIf it is notIf not empty, find the next taskTo a linear meter TjThe space-time distance of the last element is shortest; otherwise, abandoning the taskGo to step 403;
step 404: to find out from user ujPath planning to all tasks in the task set, wherein the path planning is a sequence which is sequentially increased according to space-time distance; deleting U+User u injIf U is present+If not, turning to step 401;
and the cloud platform transmits the returned data to the task requester.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811254179.8A CN109522107B (en) | 2018-10-25 | 2018-10-25 | Task allocation method and system for space-time constraint |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811254179.8A CN109522107B (en) | 2018-10-25 | 2018-10-25 | Task allocation method and system for space-time constraint |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109522107A CN109522107A (en) | 2019-03-26 |
CN109522107B true CN109522107B (en) | 2020-11-20 |
Family
ID=65773063
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811254179.8A Active CN109522107B (en) | 2018-10-25 | 2018-10-25 | Task allocation method and system for space-time constraint |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109522107B (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110401718A (en) * | 2019-07-29 | 2019-11-01 | 腾讯科技(深圳)有限公司 | Method for allocating tasks, device, server and storage medium based on space crowdsourcing |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1967488A (en) * | 2005-11-15 | 2007-05-23 | 索尼计算机娱乐公司 | Task allocation method and task allocation apparatus |
CN104778076A (en) * | 2015-04-27 | 2015-07-15 | 东南大学 | Scheduling method for cloud service workflow |
CN105183543A (en) * | 2015-08-28 | 2015-12-23 | 中国科学技术大学苏州研究院 | Crowd-sourcing calculation online task allocation method based on mobile social network |
CN106339924A (en) * | 2016-08-29 | 2017-01-18 | 东南大学 | Workflow based mixed renting method of cloud computing resources |
CN106557891A (en) * | 2016-12-05 | 2017-04-05 | 苏州大学 | Mass-rent method for allocating tasks based on user dependability |
CN108683743A (en) * | 2018-05-21 | 2018-10-19 | 陕西师范大学 | A kind of method for allocating tasks by multiple mobile terminal gathered datas |
-
2018
- 2018-10-25 CN CN201811254179.8A patent/CN109522107B/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1967488A (en) * | 2005-11-15 | 2007-05-23 | 索尼计算机娱乐公司 | Task allocation method and task allocation apparatus |
CN104778076A (en) * | 2015-04-27 | 2015-07-15 | 东南大学 | Scheduling method for cloud service workflow |
CN105183543A (en) * | 2015-08-28 | 2015-12-23 | 中国科学技术大学苏州研究院 | Crowd-sourcing calculation online task allocation method based on mobile social network |
CN106339924A (en) * | 2016-08-29 | 2017-01-18 | 东南大学 | Workflow based mixed renting method of cloud computing resources |
CN106557891A (en) * | 2016-12-05 | 2017-04-05 | 苏州大学 | Mass-rent method for allocating tasks based on user dependability |
CN108683743A (en) * | 2018-05-21 | 2018-10-19 | 陕西师范大学 | A kind of method for allocating tasks by multiple mobile terminal gathered datas |
Non-Patent Citations (2)
Title |
---|
基于树分解的空间众包最优任务分配算法;李洋等;《软件学报》;20171205;第29卷(第3期);全文 * |
时空众包数据管理技术研究综述;童咏昕等;《软件学报》;20161124;第28卷(第1期);第37页 * |
Also Published As
Publication number | Publication date |
---|---|
CN109522107A (en) | 2019-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9870531B2 (en) | Analysis system using brokers that access information sources | |
CN108804551B (en) | Spatial interest point recommendation method considering diversity and individuation | |
CN106096001A (en) | Information processor, information processing method and computer program | |
CN104820905A (en) | Space trajectory big data analysis-based person management and control method and system | |
CN103995859B (en) | A kind of hot spot region incident detection system based on geographical labels applied to LBSN networks | |
CN113240179A (en) | Method and system for predicting orbital pedestrian flow by fusing spatio-temporal information | |
CN108304266A (en) | A kind of mobile multiple target intelligent perception method for allocating tasks | |
CN109522107B (en) | Task allocation method and system for space-time constraint | |
CN109086976B (en) | Task allocation method for crowd sensing | |
WO2012159372A1 (en) | Method and system for calculating number of users | |
CN109101329B (en) | Fine-grained task allocation method and system for acquiring data through multiple mobile terminals | |
CN108683743B (en) | A kind of method for allocating tasks acquiring data by multiple mobile terminals | |
CN113627765B (en) | Distributed space crowdsourcing task distribution method and system based on user satisfaction | |
CN114706389A (en) | Social platform-based multi-robot dynamic environment search system and method | |
CN109143159B (en) | Fingerprint crowdsourcing indoor positioning incentive method based on joint pricing and task allocation | |
Sun et al. | Long-term matching optimization with federated neural temporal difference learning in mobility-on-demand systems | |
CN111475266B (en) | Diversity-constrained crowd sensing task allocation method | |
CN113591017B (en) | Method, system, device and readable storage medium for indoor navigation | |
CN115694877B (en) | Space crowdsourcing task allocation method based on federal preference learning | |
CN117593029A (en) | Method, device, equipment and storage medium for determining data acquisition resource rewards | |
JP2023149528A (en) | People flow estimation system, estimation parameter calculation apparatus, people flow estimation apparatus, estimation parameter calculation method, people flow estimation method, and non-transitory storage medium storing estimation parameter calculation program and people flow estimation program | |
CN112990548A (en) | Position point determination method and device, electronic equipment and readable storage medium | |
CN117540858A (en) | Demand response-oriented high-potential industrial user optimization method | |
CN112508725A (en) | Community structure-based location awareness influence maximization method | |
CN113299104A (en) | Augmented reality reverse vehicle searching system and method |
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 | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220915 Address after: Room 884, Room 406, No. 1 Yichuang Street, Huangpu District, Guangzhou City, Guangdong Province (Sino-Singapore Guangzhou Knowledge City) 510000 Patentee after: Guangzhou Aladdin Intelligent Technology Co.,Ltd. Address before: 710000 east side of Chang'an South Road, changyanbao office, Yanta District, Xi'an City, Shaanxi Province Patentee before: Shaanxi Normal University |