• No results found

4.4 Dynamic MSTA Problem Definition

4.4.1 Dynamic MSTA Problem Model

Our dynamic MSTA problem can be modelled as a tripartite graph whose vertices consist of a set of sensors S = {S1, . . . , Sn}, a set of bundles B = {B1, . . . , Bl} and a

set of tasks T = {T1, . . . , Tm} as represented in Fig. 4.1.

Each task Tj is associated with pj, representing the priority and/or importance of the

task. For each task Tj, we are given a set of sensor bundles, each of which would

at least minimally satisfy the task’s utility demand dj. Each possible assignment of a

bundle Bkto a task Tj is associated with a joint utility value ekj, which is an estimate

of how well a bundle of sensors is able to satisfy the sensing requirements of a task. We make no assumptions on the utility function: it could be for instance subadditive,

superadditive or linear. We assume that each of the bundle utilities would at least minimally satisfy the task’s utility demand; i.e., ekj ≥ dj. Instead, if bundle Bk has a

joint utility smaller than the demand or it cannot serve task Tj at all, we set ekj = −1.

We describe more in detail how these values are computed in Section 4.4.2.

We define the profit as the utility ekj of a sensor bundle Bk allocated to the task Tj

scaled by the priority pj. Therefore the goal in this problem is to maximize the profits

of the satisfied tasks, subject to the constraint that no sensor or task is used more than once. This problem is essentially the NP-hard SET PACKING problem [39], and an offline1 version of it can be formulated as the following integer program (IP):

Maximize: Pl k=1 Pm j=1pjekj· ykj Such that: Pl k=1ykj ≤ 1, for all Tj ∈ T, Pl k=1 Pm j=1Iikykj ≤ 1, for all Si ∈ S ykj ∈ {0, 1}, for all (Bk, Tj) ∈ B × T

The decision variables ykj indicate whether bundle Bkis assigned to task Tj. The first

set of constraints prevents more than one bundle from being assigned to any one task. The second set of constraints prevents any sensor from being used more than once, in multiple chosen bundles. Matrix I specifies the membership relationship between sensors and bundles; i.e., Iik = 1 iff sensor Si appears in bundle Bk. We assume

that we are given this matrix as an input to the problem, this could for example be set using knowledge of which sensor type is compatible with which task. In Chapter 5, we analyze a method to compute both the elements of matrix I and the ekj joint utility

values, using knowledge based metrics combined with numerical utility functions. Here our main interest lies in a dynamic (i.e., online) scenario. We include the time dimension in the previous static IP formulation, in order to model tasks arriving over

4.4 Dynamic MSTA Problem Definition 96

time and having different durations. We adopt a discrete model of time in which we have discrete timeslots t. Tasks might arrive at the start of any timeslot and may last for any discrete duration. We assume that the profit for a task that lasts for multiple timeslots is the sum of the profits earned over all timeslots during the task’s lifetime. In such a dynamic scenario, we consider the possibility of preempting sensors already serving other tasks in the case these might be more useful for satisfying newly arrived higher priority tasks. Of course we want to avoid preempting sensors too often from ongoing tasks otherwise the allocation strategy could interrupt the support of a task too frequently, quite literally making sensors undecided as to which task they should contribute. We express this by including in the objective function a cost cijj0 subtracted

from the profits for each individual preemption event; i.e., a sensor assigned to an ongoing task Tj at time t − 1 which at time t is reassigned to a different task Tj0. Thus

the goal in this problem is to maximize the profits of the tasks and minimize the cost of the sensor-task allocation over all the timesteps. We formalize the dynamic MSTA problem as the following IP:

Maximize: P

t(

P

kjpjekjykjt−

P

ijj0cijj0zijj0t)

Such that: P kykjt ≤ 1, for all Tj ∈ T, t ≥ 0 P kjIikykjt ≤ 1, for all Si ∈ S, t ≥ 0 ykjt ≤ Cjt, for all Bk ∈ B, Tj ∈ T, t ≥ 0 zijj0t≥ yk0j0t+ yk,j,t−1− 1, for all Si ∈ S, t > 1, Tj 6= Tj0, Bk∧ Bk0 ∈ B such that Iik = Iik0 = Cj,t−1 = Cjt = 1

ykjt, zijj0t∈ {0, 1} for all Tj∧ Tj0 ∈ T, Bk ∈ B, t ≥ 0

Similar to the offline formulation above, the decision variables ykjt indicate whether

one bundle from being assigned to any one task at each timestep. The second set of constraints prevents any sensor from being used more than once at the same timestep, in multiple chosen bundles. We introduce a third set of constraints which prevents a bundle from being assigned to an inactive task; for this we define a matrix C as Cjt = 1

if task Tj is active at time t and 0 otherwise. Additionally, we use a decision variable

zijj0twhich is 1 if sensor Siwas assigned (within some bundle Bk) to one ongoing task

Tj at time t − 1 but is then reassigned (within some bundle Bk0) to another task Tj0 at

time t. The fourth set of constraints forces zijj0tto be 1 if both yk0,j0,t and yk,j,t−1 are

equal to 1. These constraints apply only if sensor Siappears in bundles Bkand Bk0 (i.e.

Iik = Iik0 = 1), and task Tj is active at both times t − 1 and t (i.e. Cj,t−1 = Cjt = 1).

Note that no reassignment cost is charged when a sensor switches from a task that is ending.

As a generalization of the static MSTA problem in Chapter 3, the offline version of this dynamic problem is again NP-hard. For small instances of the dynamic MSTA prob- lem, optimal solutions can be obtained by solving this IP; given the problem hardness, larger instances require to be solved with heuristics, which in our case are implemented by the distributed system architecture in Chapter 5.