Covering in that an “item” may take up different amounts of space in different “bins”. In this way, an analogy can be seen between our static MSTA instance, Bin Covering, Multiple Knapsack and the Generalized Assignment [35] problems.
Many weaker and often fractional models of sensor-task assignment can be reduced to maximum matching or network flow problems, and thus can be solved optimally in polynomial time [11].
Combinatorial Auctions. Another way of understanding our problem is as a combin- atorial auction, that is a silent auction in which bidders (tasks) can express preferences on bundles or combinations of items (sensors) [1]. Given a fixed supply of goods, the goal of the winner determination problem [103] is to maximize revenue earned from the sale of disjoint item combinations. Given that there may be exponentially many bids, this is a difficult problem to solve and therefore much of the research focus has been on AI or algorithm-engineering approaches [28].
A view expressed in the literature is that combinatorial auctions can in practice provide good approximate solutions within reasonable time for problem instances of reason- able size (in terms of number of bids) [28]. To test if this was the case for the static MSTA problem, we modeled it using the combinatorial auction formalism and we used a well-known existing algorithm for general combinatorial auctions called CASS (Combinatorial Auctions Structured Search) [38] to solve it.
3.2
Static MSTA Problem Definition
With multiple sensors and multiple tasks, sensors should be assigned in the “best” way. This goal is shared by all the both static and dynamic settings we consider in the rest of this thesis. There are a number of attributes, however, that characterize the nature and difficulty of the problem. In this section, we start by defining our network model.
Then, we propose a formal model for the MSTA problem identified by ST-MS-IA-HE in static settings.
3.2.1
Network Model
In our network model, we assume a set of static sensors pre-deployed in a field in a uniformly random manner. Task requests arrive all at once. By a task, we mean a sensing task that requires information of a certain type, which may be contributed by one or more deployed sensors. Each task is defined by a specific geographic loca- tion. (While task locations could be chosen from any distribution in principle, in the simulation described below task locations are chosen uniformly at random.) An ex- ample of a task is video monitoring an area of interest. General tasks that cover large areas, such as perimeter monitoring, can be decomposed into multiple subtasks, each with its own (discrete) location. The deployed sensors are directional in nature, and hence can be assigned to tasks individually. Sensors have limited sensing range Rs; a
sensor provides no utility to any task that is located beyond this distance. The sensors are equipped with wireless communication equipment and have limited communica- tion range Rc. The communication range is defined as the maximum distance over
which two sensors can directly communicate. Note that in this chapter we consider a simple utility function based on signal strength, and we do not consider qualitative semantic-based measures such as if a particular type of sensor can match the sens- ing requirements of a particular task. These will instead be included and discussed in Chapter 4 and 5.
3.2.2
Static MSTA Problem Model
The static MSTA problem on which we first focus can be represented as a complete weighted bipartite graph, shown in Figure 3.1, where the vertex sets are composed of a set of sensors S = {S1, ..., Sn} and a set of tasks T = {T1, ..., Tm}. Each task Tj is
3.2 Static MSTA Problem Definition 62 S1 S2 S3 S4 T1 T2 Sensors Tasks (e11, c11) (p1, d1, b1) (e 12, c 12) (p2, d2, b2)
e = utility of sensor to a task c = cost of a sensor to a task p = task priority
d = task utility demand b = task budget
Figure 3.1: Static MSTA problem as a bipartite graph.
associated with a utility demand dj, indicating the amount of sensing resources needed,
and a profit pj, indicating the importance of the task. Each sensor-task pair is associated
with a utility value eij that task Tj will receive if sensor Si is assigned to it. This can
be a measure of the quality of information that a sensor can provide to a particular task. To simplify the problem, we assume that the utility values eij received by a task
Tj are additive. While this may be realistic in some settings, in others it is not. For
example, in a localization application, the utility provided by sensors is not additive as it depends on the relative angles by which they view the target. For our purpose of comparing the different centralized algorithms for the static setting, however, this utility model is sufficient for now. In Chapter 4 we will extensively address this issue, exploring more sophisticated utility models. Finally, a budgetary restriction is given in some form, either constraining the entire problem solution or constraining individual tasks as follows: each task has a budget bj, and each potential sensor allocation has cost
cij. All the aforementioned values are positive reals, except for costs and utility, which
could be zero. The most general problem is defined by the following mathematical program (MP) P:
maximize: Pm j=1pj(yj) such that: Pn i=1xijeij ≥ djyj, ∀ Tj ∈ T, Pn i=1xijcij ≤ bj, ∀ Tj ∈ T, Pm j=1xij ≤ 1, ∀ Si ∈ S, xij ∈ {0, 1}, ∀ (Si, Tj) ∈ S × T, yj ∈ [0, 1], ∀ Tj ∈ T,
A sensor can be assigned at most once (Pm
j=1xij ≤ 1). Profits are received per task,
based on its satisfaction level yj. Note that yj corresponds to the fraction of utility
demand met by the sensors assigned to it, i.e. uj/dj within the range [0,1] where uj
is the utility cumulated by the task. With strict profits, a task receives exactly profit pj
iff uj ≥ dj, that is iff yj = 1 (provided that yj ∈ [0, 1]). With fractional profits, a task
receives a fraction of pj proportional to its satisfaction level yj and at most pj. More
generally, profits can be awarded fractionally, after reaching a fractional satisfaction threshold T : pj(yj) = pj· yj, if yj ≥ T 0, otherwise
For simplicity in the later description of our algorithms and to make more explicit the dependency of this profit function on uj, we express pj(·) as a function of uj which
maps directly to the values of pj(yj). As a matter of fact, what really varies in yj is
the absolute utility cumulated by the task (uj) while instead the demand of utility (dj)
does not vary per task in our model. Therefore using pj(yj) is effectively the same as
adopting pj(uj), but the second definition allows us to explicitly indicate that allocating
an amount of utility which exceeds the task demands, i.e. uj > dj, does not benefit the
task as it would obtain the same amount of profit pj. We therefore express the function
pj(·) with respect to the variable uj:
pj(uj) = pj, if uj ≥ dj pj · uj/dj, if T dj ≤ uj < dj 0, otherwise
3.2 Static MSTA Problem Definition 64
When T = 1, program P is an integer program; when T = 0, it is a mixed integer pro- gram with the decision variables xij still integral. Note that if we impose no restriction
on T , an alternative way of expressing our mathematical program P as a mixed-integer linear program is to use the method in [112] which allows the inclusion of step and ramp functions into a linear programming model. However, it is non-trivial to express our model through the use of that technique, in particular considering that our object- ive function is a sum of ramp and step functions. This would imply including 3 × m extra constraints and 2 × m extra variables, therefore increasing the cost associated to implementing such a model. Since our focus in this thesis is on timely solutions, this approach has not been pursued further.
The edge values eij may be arbitrary non-negative values, or may have additional struc-
ture. If sensors and tasks lie in a metric space, such as the line or plane, then edge values may be based in some way on the distance Dij between sensor Si and task Tj.
In the binary sensing model, eij is equal to 1 if distance Dij is at most the sensing
range RS, and 0 otherwise. In another geometric setting, eij may vary smoothly based
on distance, according to a function such as 1/(1 + Dij).
Similarly, the cost values cij could be arbitrary or could exhibit some structure: the
cost could depend on the sensor involved, or could e.g. correlate directly with distance Dij to represent the difficulty of moving a sensor to a certain position. It could also be
unit, in which case the budget would simply constrain the number of sensors.
Even if profits are unit, demands are integers, edge values are 0/1 (though not necessar- ily depending on distance), and budgets are infinite, then this problem is NP-hard and as hard to approximate as Maximum Independent Set [106]. If we also add the restric- tion that sensors and tasks lie in the plane and that 0/1 edge utility depends on distance (i.e., the edges form a bipartite unit-disk graph), then solving the problem optimally remains NP-hard [106].
Algorithm 3.1: Greedy
1: while true do
2: for each available task Tj do
3: uj ← P Siunusedeij 4: j ← arg maxjpj(uj) 5: if pj(uj) = 0 then 6: break 7: uj ← 0 8: cj ← 0
9: for each unused Si in decreasing order of eij/cij do
10: if uj ≥ dj or eij = 0 then 11: break 12: if cj+ cij ≤ bj then 13: assign Si to Tj 14: uj ← uj+ eij 15: cj ← cj+ cij