Weighted Target Set Selection on Social...
Transcript of Weighted Target Set Selection on Social...
Weighted Target Set Selection on Social NetworksS. Raghavan
Robert H. Smith School of Business and Institute for Systems Research, University of Maryland, Maryland 20742, USA [email protected]
Rui ZhangLeeds School of Business, University of Colorado, Boulder, Colorado 80309, USA [email protected]
The study of viral marketing strategies on social networks has become an area of significant research interest. In this
setting we consider a combinatorial optimization problem referred to as the weighted target set selection (WTSS) problem.
Earlier research focused on approximation algorithms for the unweighted case of the problem which is known to be NP-
hard. Motivated by the desire to develop a better understanding of fundamental problems in social network analytics, we
seek to develop mathematical programming approaches to solve the WTSS problem exactly. With the goal of generating
insights to solve the WTSS problem on arbitrary graphs, we first study the WTSS problem on trees. We present a tight and
compact extended formulation whose projection onto the space of the natural node variables describes the polytope of the
WTSS problem on trees. We then build upon the result for trees. Based on the observation that the influence propagation
network in any arbitrary graph is acyclic, we add an exponential set of inequalities that enforce this condition and show
how to apply the extended formulation for trees to arbitrary graphs. Using this idea we develop and implement a branch-
and-cut approach to solve the WTSS problem on arbitrary graphs. Our computational experience on a test-bed of 90
real-world network instances (with up to 10,000 nodes) demonstrates the quality and efficacy of our solution approach.
The branch-and-cut approach finds solutions that are on average 0.44% from optimality, and solves 36 out of the 90
instances to optimality. On the other hand the best heuristic solutions generated are on average 46.82% larger than the
solutions generated by the branch-and-cut approach.
Key words: Social Networks, Influence Maximization, Integer Programming, Strong Formulation, Branch-and-Cut
1. IntroductionSocial networks play a fundamental role in the spread of influence, information and ideas. Consequently,
there is significant interest in understanding the dynamics of adoption within a social network which may
yield clues to better marketing strategies. Recently, the following viral marketing problem has generated
significant interest from algorithmic researchers. Suppose we want to promote a new product over a given
social network and wish for this product to be adopted by everyone in this network. We can initialize the
diffusion process by “targeting” some influential people. Other people start to adopt this product due to the
influence they receive from these early adopters. Ideally, as the number of people who have adopted the
product grows a cascade will be caused encompassing the entire network. But how should we select these
influential people who are targeted initially?
Kempe et al. (2003) first considered this problem employing a well-known “threshold” model from math-
ematical sociology (see Granovetter 1978) that explicitly represents the step-by-step dynamics of adoption.
They considered a budgeted version of the problem (i.e., given a budget of k seed products identify the k
individuals to target so as to maximize the adoption of the product in the social network) in a randomized
1
2
setting and showed it is NP-hard. Based on the submodularity property of the objective function (which
is due to the particular randomized assumption in the problem data they make) they developed a (1− 1e)-
approximation algorithm for the problem. Their work led to follow-up work on the problem that mostly
focused on speeding up the algorithm (because their algorithm has a costly simulation in each step). Ini-
tiated by Chen (2009), another stream of follow-up work has focused on the problem in a deterministic
setting with a cost minimization aspect (i.e., instead of the marketer being given a budget k, the desire is to
find the minimum number of nodes to target in the network so that the entire network is influenced). Chen
et al. (2013)’s recent monograph nicely summarizes most of the relevant work in the area.
Chen (2009) initiated the study of the Target Set Selection (TSS) problem. In the TSS problem we are
given a connected undirected graph G= (V,E), where for each node i∈ V there is a threshold gi which is
between 1 and deg(i) (the degree of node i). All nodes are inactive initially. We select a subset of nodes, the
target set, and they become active.1 After that, in each step, we update the state of nodes by the following
rule: an inactive node i becomes active if at least gi of its neighbors are active in the previous step.2 The
goal is to find the minimum cardinality target set while ensuring that all nodes are active by the end of
this activation process. In this paper, we introduce and consider the weighted TSS (WTSS) problem. In the
WTSS problem, for each node i ∈ V , there is a positive weight, denoted by bi, which models the situation
that different nodes might require differing levels of effort to become initial adopters.
Chen (2009) showed that the TSS problem is hard to approximate within a polylogarithmic factor. He
also provided a polynomial time algorithm for the TSS problem on trees. Chiang et al. (2013) provided a
linear-time algorithm for the TSS problem on block-cactus graphs. They also showed that the problem is
polynomially solvable on chordal graphs when gi ≤ 2 and on Hamming graphs when gi = 2. Ben-Zwi et al.
(2011) showed that for a graph with treewidth bounded by ω the TSS problem can be solved in V ω time.
Ackerman et al. (2010) provided some combinatorial bounds for the TSS problem under majority (gi ≥deg(i)
2) and strict majority (gi >
deg(i)
2) influences. In passing they also described an integer programming
model for the TSS problem. Spencer and Howarth (2013) consider a problem of providing incentives to
consumers to promote “green” (i.e., environmental friendly) behavior. In that context, they consider the TSS
problem (although they refer to it as the Min-Cost Complete Conversion problem). To model the influence
propagation process they use a time-indexed integer programming formulation with as many time periods
as the number of nodes in the network. This model grows very rapidly and is not a computationally viable
model (in their experiments they were only able to solve problems with 30 nodes and 75 edges). The same
time-indexed integer program is described in Shakarian et al. (2013). A serious issue with the previously
1 Following the literature on the diffusion of innovations (Granovetter 1978) we will use the term that a node is active (or influenced)if it has adopted the product and the term that a node is inactive (or not influenced) if it has not adopted the product.2 The threshold represents how easily a node is influenced by its neighbors. A higher threshold indicates that it needs a largernumber of active neighbors to be influenced and become active.
3
discussed integer programming formulations in Ackerman et al. (2010), Spencer and Howarth (2013), and
Shakarian et al. (2013) is the fact that they are weak (we empirically demonstrate this in §4.2). In other
words, the gap between the value of the optimal solution to the integer programming formulation and the
value of the optimal solution to its linear programming (LP) relaxation is large, and even on trees their LP
relaxation provides fractional solutions.
Shakarian et al. (2013) proposed the best known heuristic for the TSS problem, that we discuss and
adapt to the WTSS problem in §4 of this paper. Parallel to our work, Cordasco et al. (2015) discussed a
heuristic for the WTSS problem that essentially applies the same idea as Shakarian et al. (2013) with a
different weighting function in the selection procedure. For complete graphs, under the assumption that
bi ≥ bj whenever gi ≥ gj for any two nodes i and j, Cordasco et al. show their heuristic provides an optimal
solution. In the appendix to this paper we show the same holds for our adaptation of Shakarian et al.’s
heuristic. Interestingly, Cordasco et al.’s heuristic actually performs very poorly (and significantly worse
than our adaptation of Shakarian et al.’s heuristic) for the WTSS problem. In fact (as will be evident later)
on the real-world network instances tested, even our adaptation of Shakarian et al.’s heuristic performs
poorly (with solutions that are on average 46.82% larger than the solutions generated by the branch-and-cut
approach) demonstrating the need for better heuristic procedures for the WTSS problem.
Our Contributions: To our knowledge, all previous work involving influence maximization problems has
focused on heuristics and approximation. Existing formulations are not sufficient for finding good quality
solutions nor for providing meaningful lower bounds. Our research is motivated by the desire to rectify
this deficiency. In §2, we first study the WTSS problem on trees. This is important for two reasons. First,
it provides a crucial ingredient for our procedure to solve the WTSS problem on arbitrary graphs. Second,
Adcock et al. (2013) analyzed large real-world social networks, and empirically demonstrated that they
have meaningful tree-like structure. Our contributions to the WTSS problem on trees are three-fold. First,
in §2.1, we propose a polynomial-time dynamic programming algorithm for the WTSS problem on trees.
Our algorithm significantly differs from Chen (2009), and his algorithm can be viewed as a special case
of ours. Second, and more importantly, in §2.2 we present a tight and compact extended formulation for
the WTSS problem on trees. Third, in the appendix, we project the extended formulation onto the space
of the natural node variables yielding the polytope of the WTSS problem on trees. The projection leads to
an exponentially sized set of valid inequalities whose polynomial time separation is also discussed. In §3,
we focus on arbitrary graphs and build upon the result for trees. Using the observation that the influence
propagation network must be a directed acyclic graph (DAG), the extended formulation for trees can be
embedded into a formulation on arbitrary graphs, where an additional exponentially sized set of constraints
is added to ensure that the arcs selected form a DAG. We use this to design and implement a branch-and-cut
approach for the WTSS problem on arbitrary graphs. In §4 we discuss our computational study, where we
are able to obtain high quality solutions for real-world graph instances with up to 10,000 nodes and 40,000
4
edges (80,000 arcs) within a one hour time limit. In fact on a test-bed of 90 real-world network instances
our branch-and-cut approach finds solutions that are on average 0.44% from optimality (and solves 36 out
of the 90 instances to optimality), while the best heuristic solutions generated are on average 46.82% larger.
2. The WTSS Problem on TreesThe independent study of the WTSS problem on trees is important for several reasons. Adcock et al. (2013)
empirically demonstrated that real social and information networks have meaningful large-scale tree-like
structure in terms of their decomposability. In fact, Kwak et al. (2010) showed that the information propaga-
tion procedure on Twitter can be represented as a tree. More importantly, the formulation we derive for the
WTSS on trees plays a crucial role in developing our model (and branch-and-cut approach) for the WTSS
problem on arbitrary graphs. In this section, we first show that the WTSS problem on trees can be solved
by a linear time algorithm. Second, a tight and compact extended formulation for the WTSS problem on
trees is presented. The linear time algorithm plays an important role in proving the tightness of the proposed
formulation.
2.1. A Linear Time Algorithm
We present a dynamic programming (DP) algorithm to solve the WTSS problem on trees. The DP algorithm
decomposes the problem into subproblems, starting from the leaves of the tree. A subproblem is defined on
a star network which has a single central node and (possibly) multiple leaf nodes. The DP algorithm then
solves the star subproblem for two cases. Consider the link that connects the star to the rest of the tree. We
will refer to the node adjacent to the central node on this link as its parent. In the first case there is influence
coming into the central node from its parent (this kind of influence is referred to as external influence),
whereas in the second case there is no external influence. Next, the star is contracted into a leaf node for its
parent node’s star network. This process of solving star subproblems for two cases followed by contraction
of the star node is repeated until we are left with a single star. The last star only requires the solution of one
case; where there is no external influence. After we exhaust all subproblems, a backtracking method is used
to identify a final solution which combines the solution candidates of the star subproblems for the tree.
Algorithm 1 shows the pseudocode of the proposed algorithm. To create an ordering amongst the sub-
problems considered in the algorithm it is convenient (but not necessary) to arbitrarily pick a root node
(which we will denote by r). We will then prioritize subproblems in order of how far their central nodes are
from the root node of the tree (i.e., at every step among the remaining subproblems we consider a subprob-
lem whose central node is farthest from the root node). We call this a bottom up traversal of the tree (this
ordering can easily be determined a priori by conducting breadth first search (BFS) from the root node and
considering the non-leaf nodes of the tree in reverse BFS order). The global variable C∗ contains the cost
of the optimal solution.
5
Algorithm 1 Algorithm for the WTSS problem on trees
1: Arbitrarily pick a node as the root node of the tree and let C∗ = 0.2: Define the order of star problems based on the bottom-up traversal of the tree.3: for each star subproblem do4: StarHandling5: end for6: SolutionBacktrack
For a star subproblem consider the situation when there is no external influence. We wish to find the
minimum weight solution that makes all nodes active. Observe that a leaf node only requires one active
neighbor to make itself active. Therefore, in this star network, if the central node is selected, all nodes
become active. However, there is another possibility. Denote the central node by c and refer to this star as
star c. Sort all leaf nodes in ascending order of their weight. Then, if the total weight of the gc smallest
weight leaf nodes is less than the central node’s weight, bc, we can select the first gc leaf nodes to activate the
central node. Then, the active central node will activate the remaining leaf nodes. Consequently, when the
central node receives no external influence, the candidate solution is the one with smaller weight between the
central node and the first gc leaf nodes.3 In the situation where the central node receives external influence
from its parent node we only need to select the first (gc− 1) leaf nodes to activate the central node. Hence,
when the central node receives external influence, the candidate solution is the one with smaller weight
between the central node and the first (gc− 1) leaf nodes.
After we determine the solution candidates for the current star subproblem, the star is contracted into a
single leaf node for its parent’s star subproblem. This new single node has its threshold set to 1. To determine
the weight of the contracted node, observe in the optimal solution the star this contracted node represents
either receives influence from its parent (with the candidate solution corresponding to when there is external
influence) or it sends influence to its parent (with the candidate solution corresponding to when there is no
external influence). Observe, for a star the weight of the candidate solution obtained when there is external
influence is less than or equal to the weight of the candidate solution when there is no external influence.
Thus, the weight of the candidate solution obtained when there is external influence must be incurred at a
minimum. The incremental amount, representing the difference in weight between the candidate solution
without external influence and the candidate solution with external influence must be incurred if the star
sends influence to its parent in the optimal solution; and is represented as the weight of the contracted node.
There are three cases to consider.
Case 1: If the central node’s weight is smaller than the total weight of the first (gc − 1) smallest weight
leaf nodes, then, both candidate solutions (when there is external influence and otherwise) select the central
node for current star. So, the contracted node has weight 0.
3 For the TSS problem, where all nodes have bi = 1, it is easy to see that in a star a leaf node will never be selected in the target set.This makes it easy to find a solution for the TSS problem (as in Chen 2009) in one shot without backtracking and the contractionprocedure that we discuss next.
6
Algorithm 2 StarHandling
Input: star c1: if bc <
∑l∈s(gc−1)
bl then2: Xc
I ← c, XcNI← c, and C∗ =C∗+ bc.
3: if star c is not the last star . Case 14: Contract star c to a node with weight 0 and threshold 1.5: end if6: else if bc >
∑l∈sgc
bl then7: Xc
I ← s(gc−1), XcNI← sgc , and C∗ =C∗+
∑l∈s(gc−1)
bl.8: if star c is not the last star . Case 29: Contract star c to a node with weight bgc and threshold 1.
10: else11: C∗ =C∗+ bgc .12: end if13: else14: Xc
I ← s(gc−1), XcNI← c, and C∗ =C∗+
∑l∈s(gc−1)
bl.15: if star c is not the last star . Case 316: Contract star c to a node with weight bc−
∑l∈s(gc−1)
bl and threshold 1.17: else18: C∗ =C∗+ bc−
∑l∈s(gc−1)
bl.19: end if20: end if
Case 2: If the central node’s weight is bigger than the total weight of the first gc lowest weight leaf nodes,
the candidate solution for the external influence situation selects the first (gc−1) smallest weight leaf nodes,
while the candidate solution for the no external influence situation selects the first gc smallest weight leaf
nodes. Thus, the weight of the contracted node is equal to the weight of the gcth smallest weight leaf node.
Case 3: If the central node’s weight is not in the above two cases, the candidate solution for the external
influence situation selects the first (gc− 1) smallest weight leaf nodes, while the candidate solution for the
no external influence situation selects the central node. Thus, the weight of the contracted node is equal
to the difference between the central node’s weight and the total weight of the first (gc − 1) cheapest leaf
nodes.
We summarize the above procedure in Algorithm 2 StarHandling with the following notation: let XcI
denote the solution candidate with external influence, XcNI denote the solution candidate without external
influence, sgc denotes the set of gc cheapest leaf nodes, and s(gc−1) denotes the set of (gc− 1) cheapest leaf
nodes.
After we obtain the solution of the last star which has the root node as its central node, we invoke a
backtracking procedure to obtain the final solution for this tree. For each leaf node in this star, we know
if there is external influence coming into it or not. For instance, if the central node is selected, then, the
central node sends out influence to all its leaf nodes. If the gc cheapest leaf nodes are selected, then, these gc
cheapest leaf nodes do not receive external influence but the remaining leaf nodes do. With this information
we can now proceed down the tree, incorporating the partial solution at a node based on whether it receives
7
Algorithm 3 SolutionBacktrack
Input: the last star with root node r and its solution XrNI
1: X∗←XrNI .
2: if X is r then3: ∀l ∈L(r)∩NL call EXT-INFLUENCE(l, X∗).4: else5: ∀l ∈ sgr ∩NL call NOEXT-INFLUENCE(l, X∗).6: ∀l ∈ {L(r) \ sgr}∩NL call EXT-INFLUENCE(l, X∗).7: end if8: return X∗.9: function EXT-INFLUENCE(c, X)
10: X← (X \ c)∪XcI .
11: ∀l ∈L(c)∩XcI ∩NL call NOEXT-INFLUENCE(l, X).
12: ∀l ∈L(c) \XcI ∩NL call EXT-INFLUENCE(l, X).
13: return X .14: end function15: function NOEXT-INFLUENCE(c, X)16: X← (X \ c)∪Xc
NI .17: ∀l ∈L(c)∩Xc
NI ∩NL call NOEXT-INFLUENCE(l, X).18: ∀l ∈L(c) \Xc
NI ∩NL call EXT-INFLUENCE(l, X).19: return X .20: end function
external influence or not (which we now know). This backtracking procedure is described in Algorithm 3
SolutionBacktrack. We use V (c) to denote the set of nodes, L(c) to denote the set of leaf nodes in the star
c, NL to denote the set of non-leaf nodes in the tree, and X∗ to denote the final solution of the tree. In
this algorithm, we have two recursive functions: EXT-INFLUENCE and NOEXT-INFLUENCE. They choose
the solution for a star c and recursively choose solutions for stars whose central nodes are leaf nodes of the
star c.
PROPOSITION 1. The WTSS problem on trees can be solved in O(|V |) time.
Proof. Correctness of the algorithm can be established via induction, using identical arguments to the
preceding discussion. We now discuss the running time. There are at most |V | − 1 stars. For each star, we
need to find gi cheapest children which takes O(deg(i)) time. (Finding the gith order statistics can be done
in O(deg(i)) time by the Quickselect method in Chapter 9 of Stein et al. 2009, thus it takes O(deg(i)) time
to go through the list to collect the gi cheapest children.) For the whole tree, this is bounded by O(|V |)
time. In the backtracking procedure, we pick the final solution for each node which takes O(|V |) time over
the tree. �
Figure 1(a) displays an instance of the WTSS problem. There are 11 nodes and the numbers beside a
node are its weight and threshold. The root of this tree is node 4. Stars 1, 2, and 3 correspond to Case
1, 2, and 3 respectively. Star 1 has X1NI = X1
I = {1}. Star 2 has X2NI = {7,8,9} and X2
I = {7,8}. Star
3 has X3NI = {3} and X3
I = {10}. After we contract these stars, we have the final star in Figure 1(b)
and the solution X4NI = {1,2}. Next, we start the backtracking procedure. Initially X∗ = X4
NI = {1,2}.
8
4
1
2
3
5 6
7 8 9
10 11
𝑏"𝑔"
𝑖152
42
51
61
71
81
91
101
111
303
202
4
1
2
3
152
01
91
101
4
1
2
3
5 6
7 8 9
10 11
152
42
51
61
71
81
91
101
111
303
202
Figure 1 (a) WTSS Instance (b) Final Star (c) Solution of Algorithm 1
Both stars 1 and 2 do not receive external influence, while star 3 receives external influence. Hence, X∗ =
X∗ \ {1,2,3} ∪X1NI ∪X2
NI ∪X3I ; which yields X∗ = {1,7,8,9,10} and C∗ = 4 + 7 + 8 + 9 + 10 = 38.
Figure 1(c) illustrates the solution obtained by Algorithm 1, where the selected nodes are shaded.
2.2. A Tight and Compact Extended Formulation
In this section, we first discuss existing formulations for the TSS problem in the literature. They apply
to the WTSS problem with the addition of weights in the objective function. We show that even on trees
the LP relaxations of these existing formulations provide fractional solutions. In §4 we also empirically
demonstrate that they are weak and not computationally viable for solving the WTSS problem. We then
present a tight and compact extended formulation for the WTSS problem on trees. (As an aside a tight and
compact formulation is another way to show the polynomial solvability and is of independent interest.) This
tight and compact extended formulation provides useful insights to the problem; which are then adapted
in §3 for the formulation for the WTSS problem on arbitrary graphs (which is APX-hard). As we will
see in §4 this provides significant computational advantages over the existing formulations; and yields a
computationally viable and quality approach for solving the problem.
A time indexed formulation was proposed independently by Spencer and Howarth (2013) and Shakarian
et al. (2013). To model the order in which nodes get active an artificial time index t is created taking
values from 1 to |V |. The formulation uses a binary variable xi,t, that is set to 1 if node i is active in time
period t and is 0 otherwise. For any node i ∈ V , let a(i) denote the set of node i’s neighbors. The model
“TimeIndexed” is as follows:
(TimeIndexed) Minimize∑
i∈V bixi,1 (1)
subject to: xi,|V | = 1 (2)
gixi,t−1 +∑
j∈a(i) xj,t−1 ≥ gixi,t ∀i∈ V, t∈ {2,3, . . . , |V |} (3)
xi,t ∈ {0,1} ∀i∈ V, t∈ {1,2, . . . , |V |}. (4)
The objective function (1) minimizes the total weight of the nodes activated in time period 1 (i.e., nodes
selected in the target set). Constraint (2) makes sure all nodes are active in time period |V | (i.e., by the end of
9
the diffusion process). Constraint (3) says that a node i is active in time period t only if it was active in time
period t− 1, or if it has at least gi neighbors that were active in time period t− 1. We note this formulation
is weak for the instance in Figure 2(a). The LP relaxation of TimeIndexed has a fractional optimal solution
with x1,1 = x2,1 = 0.0334 and x3,1 = x4,1 = x3,1 = x4,1 = 0, and an objective value of 0.0668. However, the
optimal integer solution selects nodes 1 and 2 (i.e., x1,1 = x2,1 = 1 and x3,1 = x4,1 = x3,1 = x4,1 = 0) and
has an objective value of 2.
Ackerman et al. (2010) introduce a different formulation. Here, for each node i∈ V , a binary variable xi
is created denoting whether node i is selected in the target set. Then, to model the (implicit) order in terms
of when nodes become active, a linear order is created among the nodes. For any two distinct nodes i and j
in V , two binary variables hij and hji are created, with hij = 1 if node i is before node j in the linear order,
and hji = 1 if node j is before node i in the linear order. Notice, the pair of variables hij, hji is created for
every pair of nodes in the graph regardless of whether they have an edge between them in the graph. The
model “ACK” is as follows.
(ACK) Minimize∑
i∈V bixi (5)
subject to: hij +hji = 1 ∀i 6= j ∈ V (6)∑j∈a(i) hji + gixi ≥ gi ∀i∈ V (7)
hij +hjk +hki ≤ 2 ∀i 6= j 6= k ∈ V (8)
xi ∈ {0,1} ∀i∈ V (9)
hij, hji ∈ {0,1} ∀i 6= j ∈ V. (10)
The objective function (5) minimizes the total weight of nodes selected in the target set. Constraint (6)
makes sure either node i is before node j or node j is before node i in the linear order. Constraint (7) says
that a node i∈ V must be selected in the target set or at least gi of its neighbors become active before node
i. Constraint (8) ensures there is a linear ordering.
Figure 2(a) provides a WTSS instance, and Figure 2(b) describes a fractional optimal solution to the LP
relaxation of ACK. This solution has x1 = 1, x2 = 0.5, with all other x decision variables equal to zero.
The non-zero h variables for the edges in the graph are shown in Figure 2(b). For the remaining node pairs
h15 = h16 = h23 = h24 = h34 = h35 = h36 = h45 = h46 = h56 = 1 and the rest are zero. The objective value
is 1.5. While ACK is stronger than TimeIndexed, it is still weak, and solving its LP relaxation does not
provide integer solutions for the WTSS problem on trees.
We now present a tight and compact extended formulation for the WTSS problem on trees. From the
input graph G, we create a new graph Gt by adding one dummy node to each edge in G. For each edge
{i, j} ∈ E, insert a dummy node d. Let D denote the set of dummy nodes. Since the dummy nodes have
effectively split each edge into two in the original graph, we replace each of the original edges {i, j} ∈E by
10
Figure 2 (a) WTSS Instance (b) Fractional Optimal Solution to ACK
two edges {i, d} and {d, j} in the new graph Gt. Let Et denote the set of edges in Gt (Gt = (V ∪D,Et)).
The dummy nodes cannot be selected in the target set, and all have threshold 1 (thus if one of its neighbors
is activated the dummy node will become activated and propagate the influence to the other neighbor). As
before, for each node i∈ V binary variable xi denotes whether node i is selected in the target set (these are
the natural node variables). For each edge {i, d} ∈Et, where i∈ V and d∈D (notice Gt is bipartite and Et
only contains edges between the nodes in V and D), create two binary arc variables yid and ydi to represent
the direction of influence propagation. If node i sends influence to node d, yid is 1 and 0 otherwise. As
before, for any node i∈ V ∪D, a(i) denotes the set of node i’s neighbors. We can now write the following
compact extended formulation “BIPtree” for the WTSS problem on trees.
(BIPtree) Minimize∑
i∈V bixi (11)
subject to:∑
i∈a(d) yid ≥ 1 ∀d∈D (12)
xi ≤ yid ∀i∈ V,d∈ a(i) (13)
yid + ydi = 1 ∀{i, d} ∈Et (14)∑d∈a(i) ydi + gixi ≥ gi ∀i∈ V (15)
xi ∈ {0,1} ∀i∈ V (16)
yid, ydi ∈ {0,1} ∀{i, d} ∈Et (17)
Constraint (12) says that each dummy node has at least one incoming arc (since dummy nodes cannot be
selected and have threshold 1). Constraint (13) says that if a node is selected, then, it sends out influence to
all its neighbors (notice this type of constraint (e.g., xi ≤ hij) would not be valid in ACK, since there could
be two neighboring nodes that are in the target set). Constraint (14) makes sure on each edge influence is
only propagated in one direction. Constraint (15) says that a node i ∈ V must be selected or have gi or
more incoming arcs. If a node i ∈ V is selected, then from constraint (13) it has no incoming arcs and
constraint (15) is satisfied. On the other hand if a node i∈ V is not selected it must have at least gi incoming
arcs. Constraints (16) and (17) are binary constraints. We now show the validity of BIPtree.
PROPOSITION 2. BIPtree is a valid formulation for the WTSS problem on trees.
11
4
1
2
3
5 6
7 8
10 11
𝒃𝒊𝒈𝒊 𝒊
15𝟐
𝟒2
𝟓𝟏
𝟔𝟏
7𝟏
8𝟏
9𝟏
𝟏𝟎𝟏 𝟏𝟏
𝟏
𝟑𝟎𝟑
𝟐𝟎𝟐
𝒂
𝒃
𝒄
𝒅 𝒆
𝒇 𝒈 𝒉
𝒊 𝒋
9
4
1
2
3
5 6
7 8
10 11
15𝟐
𝟒2
𝟓𝟏
𝟔𝟏
7𝟏
8𝟏
9𝟏
𝟏𝟎𝟏 𝟏𝟏
𝟏
𝟑𝟎𝟑
𝟐𝟎𝟐
𝒂
𝒃
𝒄
𝒅 𝒆
𝒇 𝒈 𝒉
𝒊 𝒋
9
Figure 3 (a) Gt (b) A Valid Solution to BIPtree
Proof. From the discussion above we can see that if (x,y) is a feasible solution to BIPtree, then x must
be a feasible target set (one that activates all nodes in the graph). We now show how any feasible target set
vector x can be extended to a feasible solution (x,y) to BIPtree proving validity. Let P be the set of nodes
selected in a feasible target set. For each p in P , we set xp as 1 and set the remaining x variables as 0.
Next, all outgoing arcs of a node p in P are set to 1 and all its incoming arcs are set to 0, i.e. ypd = 1 and
ydp = 0 ∀p ∈ P,d ∈ a(p) (this ensures constraint (13) is satisfied). Next, for any dummy node d that has
y values set for only one of its adjacent edges we set the y values as follows. Without loss of generality,
let node i and j be adjacent to dummy node d and yid is set to 1 now. Then we set yjd = 0 and ydj = 1 to
propagate the influence. After that we check for any new nodes i∈ V that have been activated by incoming
influence (arcs). If so, node i sends out influence to those adjacent dummy nodes that do not send influence
to it, i.e. yid = 1 and ydi = 0 for all d ∈ a(i) such that yid and ydi are not set yet. We repeat this whole
procedure until all nodes are active and all x and y values are set. Observe that the procedure so far satisfies
constraints (12), (13), (14) and (15). However, at this point, there might be a node i in V that has more than
gi incoming arcs. Note that we can always reverse an appropriate number of these incoming arcs to have
exactly gi incoming arcs; and thus satisfy constraint (15) as a binding inequality. Figure 3 illustrates the
outcome of the procedure described in Proposition 2. �
The linear relaxation of BIPtree is the following LP that we refer to as “LPtree”:
(LPtree) Minimize∑
i∈V bixi (18)
subject to: (12), (13), (14), (15)
xi ≥ 0 ∀i∈ V (19)
yid ≥ 0 ∀i∈ V,d∈ a(i) (20)
ydi ≥ 0 ∀d∈D, i∈ a(d) (21)
Let ud, wid, zid and vi be dual variables for constraint sets (12), (13), (14), and (15) respectively. The dual
to LPtree can be written as follows, which we refer to as “DLPtree”:
(DLPtree) Maximize∑
d∈D ud +∑
i∈V givi +∑{i,d}∈Et
zid (22)
12
subject to: wid +ud + zid ≤ 0 ∀i∈ V,d∈ a(i) (23)
vi + zid ≤ 0 ∀d∈D, i∈ a(d) (24)
givi−∑
d∈a(i)wid ≤ bi ∀i∈ V (25)
ud ≥ 0 ∀d∈D (26)
vi ≥ 0 ∀i∈ V (27)
wid ≥ 0 ∀i∈ V,d∈ a(i) (28)
Let conv(X) denote the convex hull of feasible target set vectors x, and let ETSS denote the feasible region
of LPtree. We now show Projx(ETSS) = conv(X). To prove this result we will demonstrate for every objec-
tive function in the x-space an optimal solution (x,y) with integral x. To do so, we use the complementary
slackness (CS) conditions between LPtree and DLPtree.
(gi−∑
d∈a(i) ydi− gixi)vi = 0 ∀i∈ V (29)
(1−∑
i∈a(d) yid)ud = 0 ∀d∈D (30)
(xi− yid)wid = 0 ∀i∈ V,d∈ a(i) (31)
(bi− givi +∑
d∈a(i)wid)xi = 0 ∀i∈ V (32)
(−vi− zid)ydi = 0 ∀d∈D, i∈ a(d) (33)
(−wid−ud− zid)yid = 0 ∀i∈ V,d∈ a(i) (34)
THEOREM 1. Projx(ETSS) = conv(X).
Proof. Let L be the set of leaf nodes inGt, and let r be the root of the tree as determined by Algorithm 1
(the central node in the last star in Algorithm 1). We will start from the leaf nodes and then follow the
sequence of stars that Algorithm 1 considers (the proof works with any sequence, but for expositional
reasons it is best to consider the same sequence of stars) and construct a dual feasible solution to DLPtree
that satisfies the CS conditions.
For the purposes of this proof we will construct a specific form of the extended solution (x,y) from
the (integral) solution x obtained by Algorithm 1. Recall as we backtrack for each central node of a star
encountered we know whether it obtains external influence or not in the final solution. Thus, even prior to
inserting dummy nodes, we simply direct the arc from central node c’s parent to it in the case of external
influence, and the arc to node c’s parent in the case of no influence. For any leaf node that is picked we direct
the arc from the leaf to its parent and for leaf nodes that are not picked we direct the arc from its parent to it.
It is easy to observe (before dummy nodes are inserted and the solution extended) that in a solution obtained
by Algorithm 1 a node i that is not selected has by design exactly gi incoming arcs. We now insert dummy
nodes on each edge. If the influence on the edge propagates from i to j, then with the dummy node d inserted
13
in the middle of the edge the influence propagates from i to d to j with the y values set accordingly. Now to
satisfy constraints (13) for any node i that is selected and has external influence we simply reverse the arc
from node i to the dummy node between it and its parent. An important (and meaningful) consequence of
this construction is that if a dummy node p in this extended solution has two incoming arcs (from nodes i
and j with node i being node j’s child in Algorithm 1), then node i must have been picked in the solution.
Notice this results in always satisfying constraint (15) as a binding inequality, implying that CS condition
(29) is always satisfied between the primal solution (x,y) and every dual feasible solution. In other words
for the rest of the proof we can focus on CS conditions (30), (31), (32), (33), and (34).
We start with the leaf nodes and show how to set the dual variables associated with them to satisfy the
CS conditions. Specifically for each leaf node l in L and the dummy node d adjacent to node l, we set
vl = bl, ud = bl, wld = 0 and zld =−bl. Figure 5 in the appendix to this paper illustrates this construction.
With these choices constraints (23), (24), and (25) associated with l, d and edge {l, d}, are satisfied and
always binding. Consequently, regardless of the primal solution conditions (32), (33), and (34) are satisfied
for nodes l ∈ L and the edge {i, d} adjacent to it. Condition (31) is satisfied because wld is 0. For (30), if
1− yld− yid is not equal to 0 where node i is the other node adjacent to node d, it means node l is selected
when it can be activated by an incoming arc which never happens in Algorithm 1 (otherwise that would
imply in stars solely containing leaf nodes of the original tree Algorithm 1 selects both a leaf node and its
parent node at the same time). Hence, we have 1− yld − yid = 0 and (30) is satisfied. Therefore, the CS
conditions are satisfied for this part of the dual solution.
Now we consider the remaining dual variables. For the center c of a star that Algorithm 1 considers we
iteratively show how to set vc, ud for the dummy node between node c and its parent, wcd for all d ∈ a(c),
and zcd for all {c, d} ∈Et while ensuring all the associated CS conditions are satisfied. Start with the first
star that Algorithm 1 considers. The center of this star i must have child dummy nodes that have their u
variables set. Relabel these child dummy nodes in ascending order based on their u values. Let Sgi−1 be
the first (gi − 1) child dummy nodes and Sgi be the first gi child dummy nodes. If node i is not the root
node r, let p be the parent dummy node of node i and set the value up in the following way: We have three
cases corresponding identically to the three cases in how a star is handled and contracted in Algorithm 1.
If bi <∑
d∈Sgi−1ud, set up = 0. If bi >
∑d∈Sgi
ud, set up = ugi . Otherwise, set up = bi−∑
d∈Sgi−1ud. We
refer to these as Case 1, 2 and 3 respectively. If gi is equal to deg(i), then, there is no Sgi and we only have
Cases 1 and 3. By setting up in the aforementioned way for a dummy node p which is the parent of the
central node of a star encountered by Algorithm 1, (30) is satisfied. To show this, we only need to worry
about the value of up when the dummy node p has two incoming arcs. Let i and j be the two adjacent nodes
to this dummy node p (with i the central node of the current star and j its parent in Algorithm 1). As we
argued above, node i must have been selected by Algorithm 1. But then we have up = 0 because node p’s
value would be set based on Case 1, thus satisfying (30). Figure 6 in the appendix to this paper illustrates
14
this construction. Now we will focus on selecting feasible values for the remaining dual variables to satisfy
conditions (31), (32), (33) and (34).
Sort the dummy nodes adjacent to node i based on their u values in ascending order. Let Fgi be the first
gi dummy nodes. We consider two situations. In situation 1, node i is selected in the solution. So, xi = 1.
Then, we set vi as the gith smallest value in {ud : d ∈ a(i)}. Let W = givi− bi. Because node i is selected
in the solution, bi is smaller than∑
d∈Fgiud and W has a positive value due to the fact that u(gi) is bigger
than bigi
. We have yid = 1 for all d ∈ a(i) due to (13) and ydi = 0 for all d ∈ a(i) due to (14). So, (23) and
(25) must be binding based on condition (32) and condition (34). Meanwhile, we need to satisfy (24). We
set zid =−vi and wid = vi−ud for all d∈ Fgi . Then, zid =−ud and wid = 0 for all d∈ {a(i)\Fgi}. Lastly,
let w=W −∑
d∈Fgiwid. Pick any dummy node d in a(i) \Fgi and set wid =w and zid =−ud−w. Here,
we reset the value of wid to distribute the excess amount of W in order to satisfy that∑
d∈a(i)wid =W and
ensure (25) is binding. For any d ∈ a(i), (23) is binding. Furthermore, (24) is binding for any d ∈ Fgi and
is satisfied as an inequality for any d ∈ a(i) \ Fgi . So, condition (31) is satisfied because xi = yid = 1 and
condition (33) is satisfied because ydi = 0. We have (23) and (25) binding, so, condition (32) and condition
(34) are satisfied. Therefore, the CS conditions are satisfied for this part of the dual solution. Figure 7 in the
appendix to this paper illustrates this construction.
In situation 2, node i is not selected but it has exactly gi incoming arcs. We have xi = 0 and condition
(32) is satisfied. Let I be the set of dummy nodes that sends influence to node i, i.e. ydi = 1 for all d in I .
We set vi = ud where d= arg max{ud : d∈ I}. Then, for all d∈ I , we also have ydi = 1 and yid = 0 due to
(14). So, (24) must be binding due to condition (33). Therefore, we set zid =−vi and wid = 0 for all d∈ I .
LetW = givi− bi. IfW has a positive value, it means (25) is violated. So, following the ascending ordering
of ud for all d in I, we set wid = min{vi − ud,W −∑
j∈I wij} to get (25) satisfied. Because node i is not
selected, it implies that bi ≥∑
d∈I ud. So, vigi − bi ≤ vigi −∑
d∈I ud. Therefore, we can distribute W in
this way (i.e.,∑
d∈I wid =W ) and ensure that condition (23) holds. Then, for all d∈ I , (23) is satisfied, (24)
is binding and (25) is satisfied. Condition (31) is satisfied because xi = yid = 0, Condition (33) is satisfied
because zid = −vi and condition (34) is satisfied because yid = 0. Next, for all d ∈ a(i) \ I , yid = 1 and
ydi = 0 due to (14) and (15). Hence, (23) must be binding due to condition (34). Then, we set zid =−ud and
wid = 0 for all d ∈ a(i) \ I . So, for all d ∈ a(i) \ I , (23) is binding, and (24) is satisfied because ud ≥ u(gi).
Condition (31) is satisfied because wid = 0, condition (33) is satisfied because ydi = 0 and condition (34) is
satisfied because zid =−ud andwid = 0. So, the CS conditions are satisfied for this part of the dual solution.
Figure 8 in the appendix to this paper illustrates this construction.
Repeating this procedure for each star in the order that they are encountered in Algorithm 1 provides a
dual feasible solution to DLPtree that satisfies the CS conditions associated with our primal solution obtained
from Algorithm 1. �
15
We illustrate the procedure for finding the dual solution with the solution in Figure 3(b). Firstly, for
leaf nodes (5,6,7,8,9,10,11) and dummy nodes adjacent to them (d, e, f, g,h, i, j), we have v5 = 5, v6 =
6, v7 = 7, v8 = 8, v9 = 9, v10 = 10, v11 = 11 and ud = 5, ue = 6, uf = 7, ug = 8, uh = 9, ui = 10, uj = 11.
For those edges between them, we have w5d = 0,w6e = 0,w7f = 0,w8g = 0,w9h = 0,w10i = 0,w11j = 0
and z5d =−5, z6e =−6z7f =−7, z8g =−8, z9h =−9, z10i =−10, z11j =−11.
Then, we have nodes 1, 2 and 3 ready for the next step. We start with node 1. Node 1’s parent dummy
node is node a and ua = 0 because node 1 is a Case 1 node. Node 1 is in situation 1. We have v1 = 5 because
g1 = 2 and the second smallest value among {0,5,6} is 5. W = 5× 2− 4 = 6. Hence, z1a =−5, w1a = 5
and z1d =−5, w1a = 0 for edges (1, a) and (1, d). Then, w1e = 6− 5 = 1 and z1e =−(6 + 1) =−7.
Next, node 2’s parent dummy node is node b and ub = 9 because node 2 is a Case 2 node. Node 2 is in
situation 2. We have v2 = 9 because it has incoming arcs (f,2), (g,2) and (h,2) and the biggest value among
{7,8,9} is 9. Hence, z2f =−9, z2g =−9, z2h =−9 and w2f = 0, w2g = 0, w2h = 0. W = 27− 30 =−3.
Then, z2b =−9 and w2b = 0.
We now look at node 3. Node 3’s parent dummy node is node c and uc = 10 because node 3 is a Case
3 node. Node 3 is in situation 2. So, v3 = 10 because it has incoming arcs (c,3) and (i,2) and the biggest
value among {10,10} is 10. So, z3c = −10, z3i = −10 and w3c = 0 w3i = 0. W = 20 − 20 = 0. Then,
z2b =−11 and w2b = 0.
Now, node 4 is ready. It is in situation 2. So, v4 = 9 because it has incoming arcs (a,4) and (b,4) and the
biggest value among {0,9} is 9. Then, z4a =−9, z4b =−9 and w3c = 0, w3i = 0. W = 18− 15 = 3. Start
from node a. w4a = min{9− 0,3}= 3. Also, z4c =−10 and w4c = 0. The sum of 2v4, z3c, z3i and z3j is
−10. The dual objective value is 38 which is exactly equal to the primal objective value.
Theorem 1 shows that every extreme point solution found by LPtree has x variables binary (this does
not necessarily mean ETSS is integral). Interestingly, we can show that any extreme point of LPtree with x
variables binary also has the y variables binary (which also implies that LPtree provides solutions with both
x and y variables integral).
THEOREM 2. Every extreme point of ETSS with x variables binary has y variables binary.
Proof. See Appendix. �
2.3. Polytope of the WTSS Problem on Trees
To derive the polytope of the WTSS problem on trees we follow a method, proposed by Balas and Pul-
leyblank (1983). This method is based upon a theorem of the alternatives and enables us to project the
extended formulation LPtree onto the space of the node (i.e., x) variables by projecting out all the arc (i.e.,
y) variables. After applying this method (which is fairly involved) as shown in the appendix, we obtain the
projection of the feasible region of LPtree onto the x space as:
|a(S)|+ (|S| − 1) +∑
i∈S(gi−λSi )xi ≥
∑i∈S gi ∀S ⊆ V & S is connected, (35)
0≤ xi ≤ 1 ∀i∈ V. (36)
16
1
32
81
91
101
Figure 4 The Problem with Influence Propagation Around a Cycle
Here, S ⊆ V is a connected set of nodes in the original graph G, a(S) denotes the set of nodes adjacent to
set S, and λSi = |a(i)∩ a(S)| (in other words λS
i is the number of neighbors of node i in the original graph
G that are outside the set S).
Intuitively, given a connected component S, its corresponding inequality (35) can be interpreted as fol-
lows. The first two terms are the total number of edges associated with nodes in S. They represent the
maximum amount of influence that come from the arcs (|a(S)| arcs from outside of S and |S| − 1 internal
to S). The right hand side is the total amount of influence required for this connected component S. Thus,
the third term accounts for the fact that if a node i in S is selected, its threshold (i.e., gi) is satisfied and
those edges from a(S) to node i cannot be used to satisfy the requirement of the other nodes in S \ {i}.
Observe there are exponential number of constraints in (35). However, in the appendix we show how to
solve its associated separation problem in O(|V |3) time.
To illustrate inequality (35), we use the instance in Figure 2. Recall the LP relaxation of ACK has a
fractional optimal solution with x1 = 1, x2 = 0.5 and all other xi = 0. However, applying inequality (35)
with S = {2,5,6} gives 1 + 2 + (2 − 1)x2 + (1 − 0)x5 + (1 − 0)x6 ≥ 2 + 1 + 1. Simplification gives
x2 +x5 +x6 ≥ 1 which is violated by the fractional optimal solution.
3. A Branch-and-Cut Approach for Arbitrary NetworksThe extended formulation BIPtree (discussed in Section 2.2) can be embedded into a larger model and
applied to arbitrary graphs. The idea is based on the simple observation that the influence propagation
process can be modeled as a directed acyclic graph (DAG). We note that BIPtree is not a valid formulation on
any graph that contains a cycle. Figure 4 provides an example illustrating the problem caused by a cycle. In
this figure, we have a directed influence cycle of node 1, 2 and 3. Each of them has threshold 1 and has one
directed incoming arc. This means all 3 nodes become active by being influenced by the others. However, in
this cycle, nothing indicates which node is the first active one to initialize the influence propagation process.
In other words, the target set is empty and this is not a feasible solution.
We now discuss how BIPtree can be embedded into a bigger model to apply it to arbitrary graphs. We first
show that BIPtree is a valid formulation for a DAG (with appropriate modifications since the original graph
is a DAG as opposed to a bidirected graph) and its LP relaxation returns integral solutions on DAGs. First,
we observe that the WTSS problem can be solved trivially on DAGs.
17
PROPOSITION 3. The WTSS problem on a DAG can be solved in O(|E|) time.
Proof. Given a DAG, the optimal solution of the WTSS problem is trivial to find. For a node i, set
xi = 1 if the number of its incoming arcs is smaller than its threshold. Otherwise, set xi = 0. Notice that, the
WTSS must contain these nodes (set to xi = 1) at a minimum. We now argue that this is a feasible solution.
Consider the nodes of the DAG in the topological order. By design when we reach a node, its predecessors
are all active. Therefore, if it has more than gi incoming arcs, this node will become active. Otherwise, it
has less than gi incoming arcs, which means we have selected it in the target set. Since we did not select
any nodes other than those which are selected by necessity, this solution is optimal. The time complexity is
O(|E|) because we need to scan through all nodes and check their adjacent arcs. �
Given a DAG, we put this data into BIPtree in the following way. For any arc (j, i) in the DAG, we set
yjd = 1 and ydj = 0 (to ensure that in BIPtree node j cannot receive influence from node i) and leave ydi and
yid as decision variables in the model. Notice this implies constraint (12) can be removed from BIPtree as it
is always satisfied. Let p(i) denote the set of dummy nodes which are adjacent to node i while considering
the incoming arc (j, i) in the DAG. We refer to the resulting integer program as BIPDAG. Its linear relaxation
is the following linear program that we refer to as LPDAG.
(LPDAG) Minimize∑
i∈V bixi (37)
Subject to xi ≤ yid ∀i∈ V,d∈ p(i) (38)
yid + ydi = 1 ∀i∈ V,d∈ p(i) (39)∑d∈p(i) ydi + gixi ≥ gi ∀i∈ V (40)
xi ≥ 0 ∀i∈ V (41)
yid, ydi ≥ 0 ∀i∈ V,d∈ p(i) (42)
In the dual to LPDAG (which we refer to as DLPDAG) we have wid, zid and vi as dual variables for constraint
sets (38), (39), and (40) respectively. DLPDAG can be written as follows:
(DLPDAG) Maximize∑
i∈V givi +∑
i∈V∑
d∈p(i) zid (43)
Subject to wid + zid ≤ 0 ∀i∈ V,d∈ p(i) (44)
vi + zid ≤ 0 ∀i∈ V,d∈ p(i) (45)
givi−∑
d∈p(i)wid ≤ bi ∀i∈ V (46)
vi ≥ 0 ∀i∈ V (47)
wid ≥ 0 ∀i∈ V,d∈ p(i) (48)
THEOREM 3. LPDAG has an optimal solution with x and y variables binary.
18
Proof. Proposition 3 provides an optimal target set which can be converted to a feasible solution to
LPDAG (in a similar fashion to how a target set for a tree is converted to a feasible solution to LPtree in
Proposition 2). Let S be the set of selected nodes. We will now construct a dual feasible solution to DLPDAG
that satisfies the complementary slackness (CS) conditions. The CS conditions between LPDAG and DLPDAG
are as follows:
(gi−∑d∈p(i)
ydi− gixi)vi = 0 ∀i∈ V (49)
(xi− yid)wid = 0 ∀i∈ V,d∈ p(i) (50)
(bi− givi +∑d∈p(i)
wid)xi = 0 ∀i∈ V (51)
(−vi− zid)ydi = 0 ∀i∈ V,d∈ p(i) (52)
(−wid− zid)yid = 0 ∀i∈ V,d∈ p(i) (53)
Because constraint (40) is always binding for the (primal) feasible solution we constructed, the CS condi-
tion (49) is always satisfied (for any dual feasible solution). We now discuss the remaining CS conditions.
For a node i ∈ S, xi = 1. For these nodes i ∈ S we also have yid = 1 and ydi = 0 for all d in p(i).
Set vi = wid = bigi−|p(i)| and zid = − bi
gi−|p(i)| , for nodes i ∈ S. Observe constraints (44), (45), and (46) are
binding with this choice andwid = bigi−|p(i)| > 0 because |p(i)|< gi (otherwise node iwould not be selected),
showing the solution is dual feasible. Since constraints (44), (45), and (46) are binding all the CS conditions
are satisfied as well.
For a node i ∈ V \ S, xi = 0. We set all dual variables associated with node i ∈ V \ S to zero, i.e.,
vi =wid = zid = 0 for all d ∈ p(i). Then, it is easy to see this choice of dual variables are feasible. Further
conditions (50), (52), and (53) are always satisfied since the dual variables are zero, while condition (51) is
satisfied since xi = 0 (or all the CS conditions are satisfied).
Notice with this choice of dual variables, the dual objective value is∑
i∈S (givi +∑
d∈p(i) zid) =∑i∈S (givi−
∑d∈p(i)wid) =
∑i∈S bi. This proves the integrality of the x variables. Once we have the x
variables binary, using an identical argument to that in Theorem 2, we find that all extreme points of LPDAG
that have x variables binary, also have the y variables binary. �
Our model for arbitrary graphs will introduce additional variables and constraints to model the fact that
the influence propagation network implied by a feasible solution to the WTSS problem should be acyclic. In
this model, we introduce a new variable set, hij and hji for all {i, j} in E (these are defined on the original
graph). If hij = 1, it means node i gives influence to node j. Otherwise, hij = 0. A new constraint set which
ensures that the directed graph formed by h, denoted by G(h), has to be a DAG is needed as well. With this
in hand, we have the following formulation that we refer to as BIP:
(BIP) Minimize∑
i∈V bixi (54)
19
Subject to (12), (13), (14), (15), (16), (17)
hij +hji = 1 ∀{i, j} ∈E (55)∑(i,j)∈C hij ≤ |C| − 1 ∀dicycles C in G (56)
hij ≤ yid, hji ≤ yjd ∀{i, j} ∈E&(i, d), (j, d)∈Et (57)
hij, hji ∈ {0,1} ∀{i, j} ∈E. (58)
The objective function is the same as before. Constraint set (55) says that influence must go in one direction
between two nodes in the original graph. Constraint set (56) called k-dicycle inequalities ensure that influ-
ence cannot propagate around a directed cycle (dicycle). Here k refers to the cardinality |C| of the dicycle.
For any dicycle C the constraint says at most |C| − 1 of the hij variables can be 1. Because h variables are
defined on the original graph G and y variables are on the transformed graph Gt, we need constraint set
(57) to serve as linking constraints which synchronize the influence propagation process between these two
graphs (notice when hij = 1, yid = 1; and when hji = 1, yjd = 1). Note that this is how we obtained LPDAG
earlier. Constraint set (58) enforce the binary constraint on h variables.
To solve the LP relaxation of BIP, it is necessary to solve the separation problem for the exponential set of
k-dicycle inequalities (56). Grotschel et al. (1985) present a separation procedure for k-dicycle inequalities
which is based on the shortest path algorithm. We implement this separation procedure in our approach.
Further, we make an important observation that in BIP it suffices to define the h variables as binary (i.e.,
integrality can be relaxed on the x and y variables). This can be helpful in terms of branching.
COROLLARY 1. It suffices to define the h variables as binary in BIP.
Proof. Once the h variables are binary and satisfy constraints (56) and (55), we have a DAG and the
integrality of x and y follow as a direct consequence of Theorem 3. �
We take advantage of Corollary 1 in implementing a branching rule. In BIP we give branching priority to
the h variables. We call this the H-branching rule.
We note that it is possible to derive a formulation without the h variables and work directly with the x
and y variables (i.e., a formulation that works on the transformed graph directly). This formulation would
simply add k-dicycle constraints defined on the transformed graph (i.e., with the y variables) to BIPtree.
However, there are three reasons for focusing on (working with) BIP. First, in terms of its LP relaxation, it
is easy to show that any feasible solution to the LP relaxation of BIP is feasible to the LP relaxation of this
alternate model (showing that in terms of LP relaxations it is no worse than the alternate model). Second,
BIP requires fewer binary variables (which makes a significant difference in branch-and-cut). Lastly, with
the help of h variables, BIP has a much smaller supporting graph for the separation procedure which saves
significantly on time (in fact solving the LP relaxation of BIP is 10 times faster than this alternate model).
20
Algorithm 4 Feasibility Lift and Inactive Induced Graph
Input: Graph G and the solution (x,y) in current node1: Let x1 = {i∈ V : xi = 1}.2: Let Va be the set of nodes activated by the target set x1.3: if Va == V then4: A feasible target set is found and the current node is fathomed.5: else6: Let GIIG =G−Va :=G[V \Va] be the subgraph induced by the inactive nodes (Inactive Induced Graph).7: Run the separation procedure on GIIG for violated k-dicycle inequalities.8: end if
We now discuss some additional features of the branch-and-cut procedure. In the extended formulation
BIP, we use additional variables to model the influence propagation process. Thus, the MIP search process
spends a significant amount of time on these variables because of the binary requirement on these variables.
However, we actually are only interested in the target set (i.e., the natural node (x) variables). Consequently,
for a given x, we consider the integral portion of the solution (i.e., those nodes with xi = 1) and determine
the set of nodes (denoted by Va) that can be activated using this target set. We call this process Feasibility
Lift. If all nodes are activated by these selected nodes (Va == V ), we have obtained an integral feasible
solution and the current node of the branch-and-bound tree can be fathomed. Otherwise, we can continue
the branch-and-cut search as usual. One advantage of Feasibility Lift is that we can focus the separation
procedure on the subgraph induced by the inactive nodes (because there must be some cycles to help them
satisfy their thresholds). We refer to this subgraph as the Inactive Induced Graph and denote it as GIIG =
G− Va := G[V \ Va]. In this way, we have a much smaller supporting graph and can add fewer violated
inequalities in the branch-and-cut procedure. Algorithm 4 presents the pseudocode of this procedure.
Lastly, we realize that the separation procedure is expensive. Therefore, we modified the branch-and-
cut procedure in the following way: In the root node, we do our best to find violated inequalities in order
to achieve a better dual bound (i.e., we focus on the cutting plane method). However, once we enter the
branching phase, the separation procedure is only invoked when the integrality constraints are satisfied at a
node. We refer to this as “lazy separation”.
4. Computational ExperimentsWe now discuss our computational experience with the branch-and-cut approach. First, in §4.1 we describe
our data sets consisting of one real-world, and two simulated data sets. We conducted four sets of experi-
ments. First, we compared the strength of our proposed model BIP to the previous models in the literature
by solving their LP relaxations. Next, we evaluated the efficacy of the proposed branch-and-cut approach
on the real-world data set. In the third set of experiments we evaluated the weight of the optimal solution
against differing measures and compared the optimal solution to a set of existing heuristics in the literature.
In the final set of experiments we study the effect of graph density on the proposed branch-and-cut approach.
21
G04 G05 G06 G08 G09 B-Alpha B-OTC AS01 AS02# of Nodes 10,876 8,846 8,717 6,301 8,114 3,783 5,881 10,670 10,900# of Edges 39,994 31,839 31,525 20,777 26,013 24,186 35,592 22,002 31,180
Table 1 Real-World Graphs Structure
To conduct our experiments, we used CPLEX 12.7 with the Python API and ran our tests on a machine with
an Intel Xeon E5-2630V4 processor, 64 GB of RAM, under the Ubuntu 14.04 operating system.
4.1. Data Sets
We generated three data sets. The first one is based on real-world graphs available in the Stanford Large
Network Dataset Collection (Leskovec and Krevl 2014). The particular graphs we use are Gnutella (Ripeanu
et al. 2002, Leskovec et al. 2007), Bitcoin (Kumar et al. 2016), and Autonomous Systems graph (Leskovec
et al. 2005). Table 1 provides information on the number of nodes and edges in these 9 real-world graphs.
For example, the Gnutella graphs G04, G05, G06, G08, and G09 are snapshots of the Gnutella network on
August 4, 5, 6, 8 and 9 of 2002. Nodes represent hosts in the Gnutella network topology and edges represent
connections between the Gnutella hosts. The column “G04” in Table 1 shows the Gnutella network on
August 4, 2002 had 10,876 nodes and 39,994 edges. We consider two Bitcoin networks, Bitcoin Alpha
and Bitcoin OTC, which are shown in columns “B-Alpha” and “B-OTC”. Columns “AS01” and “AS02”,
provide information on two Autonomous Systems graphs (these are graphs of portions of the internet) from
March 31 2001. For each of these nine real-world graphs, ten WTSS problem instances are generated. Thus,
we have 90 WTSS problem instances in total based on real-world graphs.
The second and third data set are based on simulated graphs. We generated these simulated networks
using the method proposed by Watts and Strogatz (1998) in their pioneering work on social network ana-
lytics. We chose the rewiring probability p as 0.3 (loosely, it is the probability that an edge is reconnected
to a uniformly chosen node after initializing a ring with pre-specified average degree), because Watts and
Strogatz (1998) showed this corresponds most closely to the social networks they studied. The second data
set consists of simulated graphs with 200 nodes and varied graph density where the number of edges takes
values {400, 600, 800, 1000, 1200}. For each setting, ten instances are generated and there are 50 small
simulated instances in total. The third data set consists of large simulated graphs with 2500, 5000, and
10000 nodes respectively and exactly 20,000 edges. For each setting, ten instances are generated giving 30
instances in total.
For all the three data sets (real-world, small simulated, and large simulated), we generated a WTSS prob-
lem instance by randomly generated node type gi from a discrete uniform distribution between [1, |a(i)|]and weight bi from a discrete uniform distribution between [1,100].
4.2. Comparing the LP Relaxations of Formulations
Typically, a combinatorial optimization can be formulated in many different ways. One common way to
compare these different formulations for the same problem is to solve their LP relaxations. Then, these
22
‘G04 G05 G06 G08 G09 B-Alpha B-OTC AS01 AS021 152.67% 158.22% 155.35% 147.75% 143.74% 207.09% 174.60% 110.93% 136.69%2 156.97% 150.66% 160.84% 137.20% 136.29% 191.49% 169.63% 106.07% 140.33%3 163.94% 155.25% 158.01% 141.51% 139.45% 162.11% 172.85% 113.97% 135.47%4 168.71% 156.60% 156.08% 142.64% 141.86% 152.92% 172.61% 106.93% 124.60%5 154.72% 137.79% 166.62% 145.03% 133.88% 168.54% 177.92% 105.81% 136.23%6 155.61% 149.76% 154.48% 140.66% 142.34% 156.11% 194.08% 111.70% 129.23%7 171.53% 168.40% 153.77% 123.73% 154.63% 175.73% 179.16% 105.24% 128.23%8 178.58% 165.41% 161.70% 126.64% 139.64% 168.08% 182.69% 103.32% 129.66%9 160.81% 166.96% 139.33% 144.31% 146.59% 178.00% 168.50% 121.29% 129.77%10 159.33% 150.86% 150.10% 130.05% 139.09% 181.29% 175.02% 108.84% 135.52%Avg 162.29% 155.99% 155.63% 137.95% 141.75% 174.14% 176.71% 109.41% 132.57%Min 152.67% 137.79% 139.33% 123.73% 133.88% 152.92% 168.50% 103.32% 124.60%Max 178.58% 168.40% 166.62% 147.75% 154.63% 207.09% 194.08% 121.29% 140.33%
Table 2 Relative Improvement of the LP relaxation of BIP over that of ACKD on Real-World Instances.
formulations are evaluated by the optimal objective values of their LP relaxations. Given two different
formulations A and B of a given minimization problem, let zLPA and zLP
B be the optimal objective value
of their LP relaxations, respectively. We say formulation A is stronger (or tighter) than formulation B if
zLPA > zLP
B . A stronger formulation is typically more computationally efficient (Barnhart et al. 1993). Now,
we compare the strength of the LP relaxations of TimeIndexed, ACK and BIP.
We first analytically show that the LP relaxation of the TimeIndexed formulation can be arbitrarily weak!
Consider a WTSS instance on a complete graph. For each node i in V , bi = 1 and gi = |V |−1. Consider the
LP relaxation of TimeIndexed. For this instance, a feasible solution to the LP relaxation has xi,t = (12)|V |−t
for all i in V and t ∈ {1,2, . . . , |V | − 1} and xi,|V | = 1 for all i in V . The objective value of this fractional
solution is |V |( 12)|V |−1; which decreases to 0 in the limit as the size of the graph increases (while the optimal
integer objective has value |V | − 1!). In fact, when implemented, the LP relaxation of TimeIndexed could
not solve any real-world instance within a 1 hour time limit, thus making it a non-viable option to solve the
WTSS problem.
The LP relaxation of the ACK formulation is also unable to solve any real-world instance within a 1
hour time limit. Here the problem (which is also a problem with TimeIndexed) is the number of variables.
Although ACK is a compact formulation, it has a variable for every node pair (or O(|V |2) variables) which
makes the formulation grow very rapidly with the result that even its LP relaxation cannot be solved in a
1 hour time limit. Needless to say, when the LP relaxation of an Integer Programming formulation cannot
be solved the model is not computationally viable (because a branch-and-bound approach is predicated on
solving the initial LP relaxation); indicating that TimeIndexed ad ACK are not computationally viable for
the WTSS problem.
In order to obtain a baseline to compare with the LP relaxation of BIP, we modify ACK to make its LP
relaxation computationally viable. First, instead of defining hij for every pair of node, we only define the
hij variables for edges {i, j} in E. This greatly reduces the number of variables. To enforce the (implicit)
ordering between nodes we replace constraint (8) by constraint (56) (the k-dicycle inequalities). We refer to
23
G04 G05 G06 G08 G09 B-Alpha B-OTC AS01 AS021 1.44% 0.08% 0.24% 0.00% 0.00% 0.00% 0.34% 0.55% 1.16%2 1.98% 0.33% 0.00% 0.61% 0.09% 0.00% 0.90% 0.00% 1.34%3 0.24% 0.10% 0.00% 0.00% 0.00% 0.72% 1.08% 0.00% 1.27%4 0.19% 0.00% 0.10% 0.00% 0.00% 0.45% 0.34% 0.00% 1.29%5 0.13% 3.68% 0.36% 0.00% 0.07% 0.00% 0.77% 0.00% 0.07%6 0.51% 0.21% 0.27% 0.00% 0.00% 0.44% 0.30% 0.00% 0.63%7 0.00% 0.00% 0.13% 0.04% 0.00% 0.00% 0.41% 0.05% 4.72%8 0.14% 0.00% 0.27% 0.00% 0.00% 0.00% 0.57% 0.00% 1.49%9 0.90% 0.00% 0.95% 0.00% 0.00% 0.00% 0.13% 0.00% 2.45%10 0.56% 1.34% 0.06% 0.00% 0.12% 0.00% 1.95% 0.03% 0.91%Avg 0.61% 0.57% 0.24% 0.07% 0.03% 0.16% 0.68% 0.06% 1.53%Min 0.00% 0.00% 0.00% 0.00% 0.00% 0.00% 0.13% 0.00% 0.07%Max 1.98% 3.68% 0.95% 0.61% 0.12% 0.72% 1.95% 0.55% 4.72%
Table 3 Optimality Gap of BIP-Full on Real-World Instances with a 1-hour Time Limit.
this formulation as ACKD. A natural question is the equivalence of ACKD to ACK. Following an identical
procedure to Theorem 1 in Newman and Vempala (2001), we can show that ACK and ACKD are equivalent
in terms of the strength of LP relaxation (i.e., their LP relaxations have the same objective value). Although
ACKD has exponentially many k-dicycle constraints, we can add violated constraints on the fly and solve
its LP relaxation.
Table 2 shows the relative improvement of the LP relaxation of BIP over that of ACKD on the 90 real-
world instances. Let zLPBIP and zLP
ACKD denote the optimal objective value of the LP relaxations of BIP
and ACKD, respectively. The relative improvement is calculated as zLPBIP−z
LPACKD
zLPACKD
× 100. Among these 90
instances, the smallest relative improvement is 103.32%, and the largest one is over 200%. On average, the
relative improvement is about 150%. Therefore, as these experiments demonstrate, BIP is a much stronger
formulation than ACKD!
4.3. Testing the Proposed Branch-and-Cut Approach
In the second set of experiments, we test the proposed Branch-and-Cut approach on the 90 real-world
instances. To test the benefits of the enhancements applied in our branch-and-cut approach we compare two
settings. “BIP-Basic” is the direct implementation of the BIP formulation with k-dicycle separation. “BIP-
Full” uses all of the enhancements discussed previously. Specifically, it adds to “BIP-Basic” the greedy
initial solution, H-branching rule, Feasibility Lift, Inactive Induced Graph separation, and lazy separation.
In our implementation, we removed the constraint hij + hji = 1 and used only variables hij where i < j in
V . In this way, we reduced the size of the model by |E| constraints and |E| variables. In order to isolate
the effect of our enhancements, we turn off CPLEX’s cuts and only allow one thread in both settings. Other
than that, we keep the default setting for CPLEX. For each instance, running time is capped as 1 hour.
BIP-Basic performs poorly in our experiments. Within the 1-hour time limit, BIP-Basic can only find a
feasible solution for 43 out of 90 real-world instances. Furthermore, the average gap between the upper and
lower bound exceeds 93% over these 43 instances. On the other hand, BIP-Full performs very well in our
24
G04 G05 G06 G08 G09 B-Alpha B-OTC AS01 AS021 63.55% 64.96% 63.81% 55.90% 56.34% 55.82% 57.62% 46.51% 55.21%2 64.47% 60.99% 60.52% 54.54% 54.68% 57.50% 59.35% 44.67% 58.15%3 64.86% 61.18% 59.63% 54.44% 58.11% 57.00% 61.50% 44.87% 53.32%4 61.24% 59.80% 57.97% 54.11% 54.27% 48.70% 57.33% 45.11% 57.37%5 58.06% 56.15% 61.53% 55.76% 58.26% 54.62% 59.97% 41.25% 51.08%6 61.47% 58.11% 58.43% 54.85% 55.31% 51.91% 58.28% 45.99% 54.84%7 63.23% 60.20% 60.55% 57.20% 55.27% 48.89% 56.41% 41.27% 56.37%8 62.85% 60.54% 60.27% 51.34% 54.65% 50.23% 57.60% 41.81% 57.10%9 60.92% 64.25% 61.14% 56.26% 54.58% 48.40% 55.62% 53.44% 53.54%10 60.60% 57.57% 58.30% 53.97% 54.83% 53.76% 54.42% 45.52% 53.40%Avg 62.13% 60.38% 60.22% 54.84% 55.63% 52.68% 57.81% 45.04% 55.04%Min 58.06% 56.15% 57.97% 51.34% 54.27% 48.40% 54.42% 41.25% 51.08%Max 64.86% 64.96% 63.81% 57.20% 58.26% 57.50% 61.50% 53.44% 58.15%Table 4 Optimality Gap of ACKD-Full on Real-World Instances with a 1-hour Time Limit.
experiment clearly demonstrating the benefits of the enhancements applied in our branch-and-cut approach.
Not only is a feasible solution is obtained for each of the 90 instances, but they are also proven to be of
high quality. Over the 90 instances, the average gap is 0.44% and the largest gap is 4.72%. Furthermore, 36
instances are solved to the optimality. Of the 54 instances that were not solved to optimality, the average
gap is 0.73%. Table 3 provides information on the optimality gaps of the BIP-Full implementation for each
of the 90 real-world instances.
We note that the enhancements applied to BIP-Full (over BIP-Basic) can also be applied to the ACKD for-
mulation. We wanted to see if ACKD with similar enhancements as BIP-Full was capable of solving WTSS
problem instances; and to better gauge the differences in terms of computational performance between these
two formulations. Consequently, we created a setting “ACKD-Full”, that is ACKD executed with all the
enhancements applied to BIP-Full (this also provides for a fairer comparison between BIP and ACKD).
For ACKD-Full setting, the results on the optimality gap are in Table 4 provides information on the opti-
mality gaps of the ACKD-Full implementation for each of the 90 real-world instances. The average gap is
about 56% and the maximum gap is about 65%; which is significantly worse than BIP-Full! None of the 90
real-world instances are solved optimally.
Next, we compared the quality of the solutions (upper bounds) obtained by BIP-Full and ACKD-Full.
Let zUBBIP-Full and zUB
ACKD-Full denote the objective value of the best feasible solution obtained by BIP-Full
and ACKD-Full, respectively. The relative improvement is calculated aszUBACKD-Full−z
UBBIP-Full
zUBACKD-Full
× 100. Table 5
shows that BIP-Full is able to find a better solution (upper bound) than ACKD-Full for each of the 90 real-
world instances! The average improvement is about 9% and the largest improvement is about 22%. Thus,
compared to ACKD-Full, BIP-Full not only is able to find a better primal solution (upper bound), but also
can prove its quality by obtaining a better dual (lower) bound.
4.4. Evaluating the Performance of Heuristics
The third set of experiments use the Watts-Strogatz simulated networks with 200 nodes where we evaluate
the weight of the optimal solution against differing measures. Recall, in these small instances we varied
25
G04 G05 G06 G08 G09 B-Alpha B-OTC AS01 AS021 15.56% 16.84% 16.77% 4.85% 5.21% 7.81% 12.66% 7.97% 15.62%2 14.79% 12.69% 6.07% 4.59% 4.13% 16.72% 17.37% 7.03% 15.62%3 16.43% 9.83% 6.78% 5.01% 11.05% 16.08% 21.64% 2.72% 15.63%4 6.46% 6.54% 5.93% 3.81% 2.48% 8.49% 12.49% 4.61% 20.46%5 2.90% 1.39% 7.59% 5.03% 12.57% 13.74% 16.13% 1.29% 10.67%6 9.73% 4.09% 6.25% 4.64% 3.81% 13.17% 7.34% 4.50% 17.12%7 8.19% 4.80% 10.36% 12.98% 0.79% 3.16% 9.93% 0.88% 16.07%8 5.36% 7.49% 6.42% 3.65% 5.26% 8.77% 9.51% 5.46% 20.66%9 5.93% 14.18% 14.07% 6.70% 1.59% 0.48% 10.04% 15.88% 13.99%10 6.06% 3.96% 5.29% 6.99% 2.56% 10.94% 8.82% 7.44% 12.07%Avg 9.14% 8.18% 8.55% 5.83% 4.95% 9.94% 12.59% 5.78% 15.79%Min 2.90% 1.39% 5.29% 3.65% 0.79% 0.48% 7.34% 0.88% 10.67%Max 16.43% 16.84% 16.77% 12.98% 12.57% 16.72% 21.64% 15.88% 20.66%
Table 5 Improvement in BIP-Full Upper Bound over ACKD-Full Upper Bound on Real-World Instances with a 1-hour TimeLimit.
Percentage of Total Weight Random Adoption Percentage Greedy Adoption PercentageEdges # of Instances Avg Max Avg Max Avg Max400 10 10.71% 11.67% 59.15% 68.00% 88.25% 94.00%600 10 7.83% 9.95% 58.25% 85.00% 91.65% 94.50%800 10 5.23% 7.07% 64.20% 82.00% 91.45% 97.00%1000 10 5.12% 6.85% 65.30% 79.00% 90.75% 98.00%1200 10 4.99% 7.57% 67.15% 84.50% 90.10% 95.50%
Table 6 Heuristic for Fixed Budget on Simulated 200-Node Instances.
graph density and created 50 instances where the number of edges takes values {400, 600, 800, 1000, 1200}.
These instances are solved to optimality using BIP-Full.
Table 6 displays the results. First, we wanted to see what percentage of the total weight results in 100%
adoption in the WTSS problem. We compare the optimal objective value to the sum of all node weights,∑i∈V bi. The results are shown in the “Percentage of Total Weight” column of Table 6. We can see that
on average, about 11% of the total weight is needed for graphs with 400 edges, and it decreases to about
5% for graphs with 1200 edges. Next, we used two different measures to assess the quality of the solutions
obtained by the branch-and-cut approach. The first measure tries to evaluate the benefit of optimal targeting
by using the optimal objective value as a budget (upper bound) for a heuristic target set and evaluate the
fraction of the graph that is influenced by this heuristic target set. We considered two budget constrained
heuristic target sets. The first evaluates the benefit of optimal targeting against a random solution, and the
second against a greedy solution. In both cases the budget is exceeded but the set of nodes must satisfy
the following property: if any node is removed from this set, then the budget is respected. For the budget
constrained target set that is generated randomly, we find 100 random solutions and select the one with the
highest adoption (fraction of graph influenced). In the greedy heuristic we greedily pick the node with the
smallest weight until the total weight of selected nodes violates the bound. From the column “Random”
in Table 6, we can see that the random selection strategy does not perform well. The average adoption
rate increases from 59% to 67% when the number of edges increases from 400 to 1200. But even the best
26
Greedy to Opt Gap Shakarian to Opt Gap Cordasco to Opt GapEdges # of Instances Avg Max Avg Max Avg Max400 10 46.38% 52.74% 13.94% 27.94% 25.70% 45.03%600 10 49.64% 60.33% 33.98% 105.03% 45.26% 129.42%800 10 55.34% 100.83% 39.58% 73.31% 56.91% 121.25%1000 10 56.09% 80.35% 33.83% 57.24% 51.01% 90.86%1200 10 67.35% 92.02% 34.28% 125.85% 62.62% 154.76%
Table 7 Optimality Gaps for Greedy, Shakarian, and Cordasco Heuristic for 100% Adoption on 200-Node SimulatedInstances.
one among the 5,000 samples only has 85% adoption. The greedy strategy has a much better performance.
Column “Greedy” shows that on average the adoption rate is around 90% with the best at 98%.
The second measure evaluates the weight of optimal targeting by comparing the optimal solution against
heuristic solutions that have 100% adoption. We consider three heuristics. The first is our initial heuristic
which is a greedy algorithm. The second is based on a heuristic proposed by Shakarian et al. (2013) for
the TSS problem. In this heuristic, a measure dist equal to deg(i)− gi is computed for each node i in V .
At each iteration, the heuristic picks the node with the smallest nonnegative dist and removes it. Then, the
graph and dist are updated accordingly (the degree of nodes adjacent to node i is reduced by one). Once all
nodes have negative dist, the remaining nodes in the network are used as the target set. Since the heuristic
does not consider weights, to adapt it for the WTSS problem, we use the node weights to break ties (by
choosing the node with the higher weight) when picking the node with the smallest nonnegative dist. The
third heuristic, proposed by Cordasco et al. (2015), is similar to the Shakarian et al. one but with two minor
differences. First, it selects a node for removal from the graph by looking for the node with the largest
value of bigideg(i)(deg(i)+1)
(instead of the smallest nonnegative dist). Second, it immediately adds a node into
the target set (instead of waiting till the end) when its degree is strictly smaller than its threshold value
(deg(i)< gi) and updates the graph by propagating influence from the nodes added into the target set.
Table 7 summarizes the results providing the gap between the heuristic solution and the optimal solution
value (the gap is calculated as the difference between the heuristic solution and the optimal solution divided
by the value of the optimal solution). The column “Greedy to Opt Gap” shows that the solutions obtained
by the greedy strategy are about 50% greater than the weight of the optimal ones. Furthermore, this gap
increases with graph density. The column “Shakarian to Opt Gap” shows that on average the Shakarian et al.
heuristic performs better, although its maximum gap values can be significantly greater than the greedy
heuristic. The average gap for the Shakarian et al. heuristic is 14% when the number of edges is 400 and
is greater than 30% for the other test sets. The last column “Cordasco to Opt Gap” shows that on average
the Cordasco et al. heuristic performs worse than the Shakarian et al. heuristic. The average gap for the
Cordasco et al. heuristic is 26% when the number of edges is 400 and is greater than 62% when the number
of edges is 1200. Thus, the Shakarian heuristic is the best one based on our experiments.
We decided to run the Shakarian heuristic (as it was the best one) on the 90 real-world instances and
compare its performance with the upper bound obtained by BIP-Full. Let zUBBIP-Full and zHShak denote the
27
G04 G05 G06 G08 G09 B-Alpha B-OTC AS01 AS021 21.00% 21.90% 21.86% 19.64% 22.73% 31.83% 110.65% 47.03% 92.84%2 23.75% 26.29% 19.99% 26.62% 29.34% 68.83% 42.68% 93.99% 75.13%3 19.31% 18.97% 23.60% 21.95% 25.94% 50.70% 55.56% 50.23% 70.31%4 20.20% 23.51% 16.75% 26.31% 32.63% 42.56% 82.71% 77.91% 70.88%5 22.30% 20.64% 19.79% 27.46% 24.72% 38.66% 57.00% 91.27% 127.46%6 21.31% 21.45% 23.42% 22.87% 21.29% 41.38% 46.95% 184.52% 113.78%7 18.70% 19.27% 27.90% 21.09% 27.35% 53.27% 82.05% 114.16% 102.72%8 18.81% 26.31% 21.76% 25.31% 27.44% 71.23% 49.97% 172.59% 55.80%9 19.93% 18.33% 20.80% 33.49% 27.89% 77.85% 129.18% 46.97% 125.62%10 20.05% 22.06% 20.95% 25.13% 27.07% 43.46% 28.73% 57.76% 80.76%Avg 20.54% 21.87% 21.68% 24.99% 26.64% 51.98% 68.55% 93.64% 91.53%Min 18.70% 18.33% 16.75% 19.64% 21.29% 31.83% 28.73% 46.97% 55.80%Max 23.75% 26.31% 27.90% 33.49% 32.63% 77.85% 129.18% 184.52% 127.46%
Table 8 Comparing the Upper Bound of BIP-Full to the Shakarian Heuristic on Real-World Instances.
Nodes Avg Degree 1 2 3 4 5 6 7 8 9 10 Avg Max
Gap (%)10000 4 0.04 0.06 0.00 0.00 0.00 0.23 0.17 0.11 0.05 0.17 0.08 0.235000 8 2.81 10.46 19.25 23.42 5.71 17.20 3.52 9.24 6.23 25.63 12.35 25.632500 16 14.14 4.56 9.24 8.37 14.72 42.04 9.91 32.99 7.20 14.65 15.78 42.04
Imp. (%)10000 4 30.23 31.15 31.34 30.01 31.53 30.46 31.16 30.10 30.05 31.45 30.75 31.535000 8 37.72 32.77 27.19 24.07 37.86 28.45 37.11 34.31 39.78 22.13 32.14 39.782500 16 39.80 40.60 43.37 38.59 40.00 14.90 43.42 23.08 46.88 38.86 36.95 46.88
Table 9 Analyzing the Effect of Graph Density on the Branch-and-Cut procedure with time limit 5 minutes, 1 hours and 2hours for 10000-node, 5000-node, and 2500-node simulated graphs, respectively.
objective value of the best feasible solution obtained by BIP-Full and the Shakarian heuristic, respectively.
The gap between these two solutions is calculated aszHShak−z
UBBIP-Full
zUBBIP-Full
× 100, and is shown in Table 8 for the
90 real world instances. The average gap is 46.82% over the 90 instances. The Shakarian heuristic performs
somewhat better on the Gnutella networks. The gap is between 17% to 33% with an average about 23%. But
it performs much worse on other graphs. Specifically, the gap is between 47% and 184% with an average
about 93% for Autonomous Systems graphs. This clearly demonstrates that BIP-Full outperforms the best
heuristic for the problem (and shows that even the best heuristic is unable to find good quality solutions for
the problem).
4.5. Studying the Effect of Graph Density
The last set of experiments investigate the role graph density plays in the difficulty of solving the problem.
For this, we use the large simulated networks. Recall, we generated ten instances with 10,000 nodes and an
average degree of 4, ten instances with 5,000 nodes and an average degree of 8 and ten instances with 2,500
nodes and an average degree of 16. We give 5 minutes, 1-hour, and 2-hour time limits to the 10,000-node,
5,000-node, and 2,500-node instances respectively (as will be evident graph density plays a huge role in
terms of the running time). We use the BIP-Full setting, but add 3-dicycle inequalities a priori (3-dicycles
have |C|= 3 and are easy to add at the outset).
Table 9 shows the results. Here, “Gap” provides the optimality gap at termination and “Imp.” provides the
percentage improvement of BIP-Full’s upper bound over the initial greedy solution. The last two columns
28
of the table show the average and maximum values of Gap and Imp over the 10 instances. The average
gap increases from 0.08% to 12.35% when the average degree increases from 4 to 8. Then, it increases
to 15.78% when the average degree becomes 16.4 Further, as indicated by the increased time limit for the
problems with greater graph density—it should be evident that the denser the graph the harder a problem
is to solve. Although the WTSS problem instances become harder to solve as the graph density increases,
we note our branch-and-cut approach is able to improve the solution quality significantly compared to the
initial greedy solution. On average, we can improve the initial solution by about 30%.
5. ConclusionsWith the widespread use of online social networks there is significant interest in solving problems dealing
with viral marketing and influence maximization on social networks. There has been a flurry of activity by
researchers on algorithmic (and approximation) aspects of problems in this arena. However, there seems
to be little in terms of developing good optimization models and associated (exact) solution algorithms for
these important research problems. Our research is motivated by the desire to rectify this deficiency.
In this paper we studied the weighted version of the well-studied TSS problem. We showed that the
WTSS problem can be solved polynomially (via dynamic programming) when the underlying graph is a
tree. Our dynamic programming algorithm generalizes Chen (2009)’s algorithm and runs in O(|V |) time.
More importantly, we present a tight and compact extended formulation whose LP relaxation provides inte-
gral solutions for the WTSS problem on trees. We also project this formulation onto the space of the natural
node variables and thus find the polytope of the WTSS problem on trees. By observing the influence prop-
agation network forms a DAG we show how the extended formulation for trees can be embedded into a
formulation on arbitrary graphs, where an additional exponentially sized set of k-dicycle constraints are
added. We design and implement a branch-and-cut approach for the WTSS problem on arbitrary graphs.
Our computational results on a test-bed of 90 real-world network instances is a testament to the quality
of the formulation and the branch-and-cut approach. Over these 90 instances the branch-and-cut approach
finds solutions that are on average 0.44% from optimality, and solves 36 out of the 90 instances to optimal-
ity. Compared to the heuristic solutions our branch-and-cut procedure provides significantly better upper
bounds. Indeed, the performance of the heuristics on the WTSS problem suggests that there remains sig-
nificant work to be done by the research community in developing improved heuristic procedures for the
WTSS problem.
One generalization to the WTSS problem has unequal influence from neighbors. A natural question
is whether the tree formulation and algorithm applies to this problem. Unfortunately, as we show in the
4 We should note that Instances 6 and 8 with 2,500 nodes are particularly bad for the branch-and-cut procedure. With a differentinitial heuristic procedure (the Shakarian one) the branch-and-cut procedure obtains gaps of 18.39% and 24.58% respectivelyfor these two instances. Unfortunately, this alternate initial heuristic procedure yields significantly worse results on all the otherinstances.
29
appendix to this paper, this problem is even NP-complete on stars (i.e., a tree where all nodes are leaves other
than a single central node). Deriving strong formulations for other closely related influence maximization
problems is an avenue of our current and future research.
In the WTSS problem, the diffusion process continues until complete (i.e., we are allowed as many
steps/time periods as needed for the influence to propagate through the entire network). However, if we
restrict the number of steps/time periods to be one (i.e., the entire network must be influenced after one
time step5), we obtain a weighted version of a problem called the Positive Influence Dominating Set (PIDS)
problem (proposed by Wang et al. 2009). In the PIDS problem, either a node is selected at a weight of bi,
or it requires gi of its neighbors to be selected (notice when both bi and gi are 1 we get the dominating set
problem). In a parallel research effort we study the polytope of the PIDS problem.
Another generalization is a prize-collecting variant of the WTSS problem that does not require 100%
adoption. In addition to the weight, each node also has a profit. Instead of minimizing the cost of a target
set activating all nodes, the goal is to capture the tradeoff between the total weight and the ultimate profit
resulting from the influence propagation process of a target set. All of these are avenues for future research.
ReferencesE. Ackerman, O. Ben-Zwi, and G. Wolfovitz. Combinatorial model and bounds for target set selection. Theoretical
Computer Science, 411(44):4017–4022, 2010.
A. B. Adcock, B. D. Sullivan, and M. W. Mahoney. Tree-like structure in large social and information networks. In
Data Mining (ICDM), 2013 IEEE 13th International Conference on, pages 1–10. IEEE, 2013.
E. Balas and W. Pulleyblank. The perfectly matchable subgraph polytope of a bipartite graph. Networks, 13(4):
495–516, 1983.
C. Barnhart, E. L. Johnson, G. L. Nemhauser, G. Sigismondi, and P. Vance. Formulating a mixed integer programming
problem to improve solvability. Operations Research, 41(6):1013–1019, 1993.
O. Ben-Zwi, D. Hermelin, D. Lokshtanov, and I. Newman. Treewidth governs the complexity of target set selection.
Discrete Optimization, 8(1):87–96, 2011.
C. Blum. Revisiting dynamic programming for finding optimal subtrees in trees. European Journal of Operational
Research, 177(1):102–115, 2007.
N. Chen. On the approximability of influence in social networks. SIAM Journal on Discrete Mathematics, 23(3):
1400–1415, 2009.
W. Chen, C. Castillo, and L. V. Lakshmanan. Information and Influence Propagation in Social Networks. Morgan &
Claypool Publishers, 2013.
C.-Y. Chiang, L.-H. Huang, B.-J. Li, J. Wu, and H.-G. Yeh. Some results on the target set selection problem. Journal
of Combinatorial Optimization, 25(4):702–715, 2013.
5 This models the situation that the marketer would like the diffusion process to take place immediately.
30
G. Cordasco, L. Gargano, A. A. Rescigno, and U. Vaccaro. Optimizing spread of influence in social networks
via partial incentives. In C. Scheideler, editor, Structural Information and Communication Complexity: 22nd
International Colloquium, SIROCCO 2015, Montserrat, Spain, July 14-16, 2015. Proceedings, pages 119–134.
Springer, Berlin, Heidelberg, 2015.
M. Granovetter. Threshold models of collective behavior. American Journal of Sociology, 83(6):1420–1443, 1978.
M. Grotschel, M. Junger, and G. Reinelt. On the acyclic subgraph polytope. Mathematical Programming, 33(1):
28–42, 1985.
H. Kellerer, U. Pferschy, and D. Pisinger. Knapsack Problems. Springer, 2004.
D. Kempe, J. Kleinberg, and E. Tardos. Maximizing the spread of influence through a social network. In Proceedings
of the 9th ACM SIGKDD international conference on knowledge discovery and data mining, pages 137–146.
ACM, 2003.
S. Kumar, F. Spezzano, V. Subrahmanian, and C. Faloutsos. Edge weight prediction in weighted signed networks. In
Data Mining (ICDM), 2016 IEEE 16th International Conference on, pages 221–230. IEEE, 2016.
H. Kwak, C. Lee, H. Park, and S. Moon. What is twitter, a social network or a news media? In Proceedings of the
19th international conference on World wide web, pages 591–600. ACM, 2010.
J. Leskovec and A. Krevl. SNAP Datasets: Stanford large network dataset collection. http://snap.stanford.
edu/data, June 2014.
J. Leskovec, J. Kleinberg, and C. Faloutsos. Graphs over time: Densification laws, shrinking diameters and possible
explanations. In In KDD, pages 177–187. ACM Press, 2005.
J. Leskovec, J. Kleinberg, and C. Faloutsos. Graph evolution: Densification and shrinking diameters. ACM Transac-
tions on Knowledge Discovery from Data (TKDD), 1(1):2, 2007.
A. Newman and S. Vempala. Fences are futile: On relaxations for the linear ordering problem. Integer Programming
and Combinatorial Optimization, pages 333–347, 2001.
M. Ripeanu, I. Foster, and A. Iamnitchi. Mapping the Gnutella network: Properties of large-scale peer-to-peer systems
and implications for system design. IEEE Internet Computing Journal, 6(1):50–57, 2002.
P. Shakarian, S. Eyre, and D. Paulo. A scalable heuristic for viral marketing under the tipping model. Social Network
Analysis and Mining, 3(4):1225–1248, 2013.
G. Spencer and R. Howarth. Maximizing the spread of stable influence: Leveraging norm-driven moral-motivation for
green behavior change in networks. CoRR, abs/1309.6455, 2013. URL http://arxiv.org/abs/1309.6455.
C. Stein, T. Cormen, R. Rivest, and C. Leiserson. Introduction to Algorithms. MIT Press, Cambridge, MA, 2009.
F. Wang, E. Camacho, and K. Xu. Positive influence dominating set in online social networks. In D.-Z. Du, X. Hu, and
P. M. Pardalos, editors, Combinatorial Optimization and Applications: Third International Conference, COCOA
2009, Huangshan, China, June 10-12, 2009. Proceedings, pages 313–321. Springer, Berlin, Heidelberg, 2009.
D. J. Watts and S. H. Strogatz. Collective dynamics of small-world networks. Nature, 393(6684):440–442, 1998.
31
Appendix.
A. Figures Illustrating Proof of Theorem 1
The figures below illustrate the proof of Theorem 1.
𝑖
𝑙
𝑑
𝑣% = 𝑏% ,𝑢* = 𝑏%,𝑤%* = 0, 𝑧%* = −𝑏% .
(30):𝑦*% + 𝑦*2 − 1 = 0(31): 𝑤%* = 0(32): 𝑏% − 𝑣% +𝑤%* = 0(33): 𝑣% + 𝑧%* = 0(34): −𝑢*−𝑤%* − 𝑧%* = 0
𝑖
𝑙
𝑑
𝑖
𝑙
𝑑
𝑖
𝑙
𝑑
𝑦*% + 𝑦*2 = 1. 𝑦*% + 𝑦*2 = 0 cannot happen because the leaf and its parent will never be picked simultaneously.
Figure 5 Leaf Nodes and Complementary Slackness conditions.
𝑖
𝑝
𝑑$ 𝑑&'($ 𝑑&)… 𝑑+…
𝑢- = 0 if 𝑏) <∑ 𝑢3�3∈6(8'9:)
𝑢- = 𝑢&' if 𝑏) >∑ 𝑢3�3∈68'
𝑢- = 𝑏) −∑ 𝑢3�3∈6(8'9:)
Otherwise
𝑗
𝑖
𝑝
𝑑$ 𝑑&'($ 𝑑&)… 𝑑+…
𝑗
𝑦-) + 𝑦-A = 0 only happens when node 𝑖 is selected and 𝑢- = 0. In other cases, 1 −𝑦-) − 𝑦-A = 0. Thus, (30) is satisfied.
Figure 6 Setting up and Condition (30).
32
𝑖
𝑑# 𝑑%&'# 𝑑%(… 𝑑*…
(31): 𝑥( = 1,𝑦(* = 1, so, x( − 𝑦(* = 0(32): ∑ 𝑤(* =�
*∈7 ( ∑ 𝑤(*�*∈89&
+𝑤(*; = 𝑊= 𝑔(𝑣( − 𝑏(, so, 𝑏( − 𝑔(𝑣( + ∑ 𝑤(* = 0�
*∈7 ( (33): y*( = 0,𝑣( = 𝑢*9&
𝑧(* = −𝑣(, so, 𝑧(* + 𝑣( = 0 ∀𝑑 ∈ 𝐹%&𝑧(* =−𝑢*− 𝑤, so, 𝑧(* + 𝑣( < 0 for 𝑑 = ��𝑧(* =−𝑢*<−𝑢*9&, so, 𝑧(* + 𝑣( < 0 otherwise
(34): 𝑤(* = 𝑣( − 𝑢*, so, 𝑤(* + 𝑢*+ 𝑧(* = 0 ∀𝑑 ∈ 𝐹%&𝑤(* = 𝑤, so, 𝑤(* + 𝑢* + 𝑧(* = 0 for 𝑑 = ��𝑤(* = 0, so, 𝑤(* + 𝑢*+ 𝑧(* = 0 otherwise
𝑑GHI(()
𝐹%&
Figure 7 Situation 1: Non-Leaf Node i is Selected in the Solution.
𝑖
𝑑# 𝑑%&'# 𝑑%(… …
(31): x( = 0,𝑤(/ ≥ 0, 𝑦(/ = 0∀𝑑 ∈ 𝐼𝑤(/ = 0, 𝑦(/ = 1∀𝑑 ∈ 𝑎(𝑖)\𝐼
(32): x( = 0 and 𝑏( − 𝑔(𝑣( +∑ 𝑤(/ ≤ 0�/∈B ( .
(33): 𝑣( = 𝑢/𝑑 = 𝑎𝑟𝑔𝑚𝑎𝑥{𝑢/:𝑑 ∈ 𝐼}𝑦/( = 1, 𝑧(/ = −𝑣(, so, 𝑧(/ + 𝑣( = 0 ∀𝑑 ∈ 𝐼𝑦/( = 0, 𝑧(/ = −𝑢/, so, 𝑧(/ + 𝑣( < 0 otherwise
(34): 𝑦(/ = 0, 𝑤(/ ≤ −𝑧(/ − 𝑢/so, 𝑤(/ + 𝑢/+ 𝑧(/ ≤ 0∀𝑑 ∈ 𝐼𝑦(/ = 1, so, 𝑤(/ + 𝑢/+ 𝑧(/ = 0 otherwise
𝑑LMN(()
𝐼
Figure 8 Situation 2: Non-Leaf Node i is Not Selected in the Solution.
B. Proof of Theorem 2
Proof. Assume this is not true and there is an extreme point (x∗,y∗) where x∗ is binary and y∗ is fractional.
Observe when x∗i = 1, y∗id = 1 and y∗di = 0 for all d ∈ a(i) due to constraints (13) and (14). Since the x variables are
binary, this implies fractional y values must correspond to arcs adjacent to a node i∈ V that is not in the target set.
We look at the supporting graph that is formed by the fractional y∗ values. In other words, only arcs with fractional
values of y are kept in the supporting graph. Consider a connected component of the supporting graph as shown in
33
321
𝑑
𝑐
𝑎 𝑏
(a) A connected component of the supporting
graph formed by the fractional y∗ values
321 𝑎 𝑏 𝑐+𝜖(−𝜖) +𝜖(−𝜖) +𝜖(−𝜖) +𝜖(−𝜖) +𝜖(−𝜖)
−𝜖(+𝜖) −𝜖(+𝜖) −𝜖(+𝜖) −𝜖(+𝜖) −𝜖(+𝜖)
(b) Constructing two new feasible solutions using
the fractional paths between end node 1 and cFigure 9 Illustrating Proof of Theorem 2
Figure 9(a). We show that an end node in this connected component that is a dummy node (e.g., c, and d) must have
constraint (12) satisfied as a non-binding constraint, and an end node of this connected component that is not a dummy
node (e.g., 1) must have constraint (15) satisfied as a non-binding constraint. When an end node is a node in D, it has
one fractional incoming arc. Because it is an end node and constraint (12) is satisfied, it must have the other incoming
arc have value 1. Thus, constraint (12) is non-binding. When an end node is a node in V (node 1 in Figure 9(a), it has
one fractional incoming arc and all other incoming arcs are integer. Given that gi is an integer, constraint (15) must be
satisfied as a non-binding constraint.
Consider any two end nodes, denoted as s and t, in a connected component of the supporting graph. Let Pst =
{(s, l), . . . , (k, t)} and Pts = {(t, k), . . . , (l, s)} denote the fractional paths from node s to t and from node t to s,
respectively. We construct two new feasible solutions (x,y) and (x, y) as follows:
x = x∗; ya =
y∗a + ε, a∈ Pst,
y∗a− ε, a∈ Pts,
y∗a, a∈Et \ {Pst ∪Pts}.
and
x = x∗; ya =
y∗a− ε, a∈ Pst,
y∗a + ε, a∈ Pts,
y∗a, a∈Et \ {Pst ∪Pts}.
where ε is a sufficiently small positive value (ε should be less than the slack in both the non-binding constraints at the
two end nodes s and t and also satisfy 0≤ y∗a ± ε≤ 1 for all a ∈ {Pst ∪Pts}). Thus, (x∗,y∗) is not an extreme point
because (x∗,y∗) = 12(x,y) + 1
2(x, y). �
C. Polytope of the WTSS Problem on Trees
Consider LPtree. Because yid + ydi = 1, we first project out all yid variables setting them to 1− ydi (so we only have
xi and ydi variables in the formulation) and obtain the following formulation whose feasible region is denoted as Pd.
Minimize∑
i∈V bixi (59)
Subject to −∑
i∈a(d) ydi ≥−1 ∀d∈D (60)
−ydi−xi ≥−1 ∀i∈ V,d∈ a(i) (61)∑d∈a(i) ydi + gixi ≥ gi ∀i∈ V (62)
ydi ≥ 0 ∀{i, d} ∈Et (63)
xi ≥ 0 ∀i∈ V (64)
34
We define a projection cone W that is described by (w,u,v) that satisfy the following linear inequalities:
wi−ud− vid ≤ 0 ∀i∈ V & d∈ a(i) (65)
wi ≥ 0, ud ≥ 0, vid ≥ 0 ∀i∈ V & d∈ a(i) (66)
Here ud, vid and wi are dual multipliers corresponding to constraints (60), (61) and (62) respectively. If Pd is written
in matrix notation as {(x,y) : Ax +Gy ≥ b, (x,y)≥ 0}, based on Balas and Pulleyblank (1983), then any feasible
vector (w,u,v) to W , defines a valid inequality: (w,u,v)TAx≥ (w,u,v)
Tb to the projection of Pd (in the space of
the node (x) variables). Furthermore, the projection of Pd is defined by the valid inequalities defined by the extreme
rays of W . Recall that a polyhedral cone C is the intersection of a finite number of half-spaces through the origin, and
a pointed cone is one in which the origin is an extreme point. A ray of a cone C is the set R(y) of all non-negative
multipliers of some y ∈ C, called the direction (vector) of R(y). A vector y ∈ C is extreme, if for any y1,y2 ∈ C,
y = 12(y1 + y2) implies y1, y2 ∈R(y). A ray R(y) is extreme if its direction vector y is extreme. We now identify
the extreme rays of W .
THEOREM 4. The vector r = (w,u,v) ∈W is extreme if and only if there exists a positive α such that one of the
following three cases holds:
Case 1. ud = α for one d∈D. All other w,u, v are 0.
Case 2. vid = α for one {i, d} ∈Et. All other w,u, v are 0.
Case 3. wi = α for all i∈ S where S ⊆ V and S is connected in the original graph G. Then ud = α for all d∈D(S)
where D(S) is the set of dummy nodes belonging to Gt(S), the induced subgraph of S in the transformed
graph Gt. In addition, either vid = α or ud = α for all d∈ a(S)\D(S). All other w,u, v are 0.
Proof. For ease of exposition, we use Figure 10 to illustrate the notation in Case 3. Figure 10(a) shows the original
graph G and Figure 10(b) shows the transformed graph Gt. Here, w1,w2,w3 and w4 have positive values α. Thus, S
contains node 1, 2, 3 and 4. (Notice S is connected in the original graph G.) The induced subgraph Gt(S) is shown in
Figure 10(c). Based on Gt(S), we obtain D(S) = {a, b, c} and a(S)\D(S) = {d, e, f, g,h, i, j}. Note, a(S) denotes
the set of nodes adjacent to set S.
Sufficiency. Let r∈W be of the form Case 1 and assume that r = 12(r1 +r2) for some r1, r2 ∈W. Then, except u1
d and
u2d, all other entries are 0. Then, r1, r2 are in R(r). So, r is extreme.
Case 2 is similar to Case 1.
Let r ∈W be of the form Case 3 and assume that r = 12(r1 + r2) for some r1, r2 ∈W. So, for any component of
r with value 0, their corresponding components in r1 and r2 are also 0. Given i and d, let pkid, k = 1,2, represent the
positive component ukd or vkid, k = 1,2. Then, we have w1
i +w2i = 2α and p1
id + p2id = 2α for all d ∈ a(i) and for all
i∈ S. Then, if there is a pair d1 and d2, we have p1id1> p1
id2if and only if p2
id1< p2
id2. But constraint (65) imposes that
wki ≤ pkid, k = 1,2. Hence, pkid1 = pkid2 = αk, k = 1,2, for all d1, d2 ∈ a(i). Otherwise, either constraint (65) would be
violated or w1i +w2
i < 2α because wki would take the smaller value between pkid1 and pkid2 , k= 1,2. Therefore, r1, r2
are in R(r). Thus, r is extreme.
Necessity. Let r be an extreme vector of W. Let Cr = {S ⊆ V : wi > 0 ∀i ∈
S & S is connected in the original tree graph G and maximal}, Sd = {d ∈D : ud > 0} and Sid = {{i, d} ∈Et : vid >
35
4
1
2
3
5 6
7 8
10 11
152
42
51
61
71
81
91
101 11
1
303
202
𝑎
𝑏
𝑐
𝑑 𝑒
𝑓 𝑔 ℎ
𝑖 𝑗
9
𝑆 = {1, 2, 3, 4} 4
1
2
342
303
202
𝑎
𝑏
𝑐
𝑐 𝐺< (𝑆)
1524
1
2
3
5 6
7 8
10 11
152
42
51
61
71
81
91
101 11
1
303
202
9
𝑏 𝐺<𝑎 𝐺
Figure 10 Illustration of Notation in Theorem 4
4
1
2
3
5 6
7 8
10 11
𝑎
𝑏
𝑐
𝑑 𝑒
𝑓 𝑔 ℎ
𝑖 𝑗
9
4
1
2
3
5 6
7 8
10 11
𝑎
𝑏
𝑐
𝑑 𝑒
𝑓 𝑔 ℎ
𝑖 𝑗
9
4
1
2
3
5 6
7 8
10 11
𝑎
𝑏
𝑐
𝑑 𝑒
𝑓 𝑔 ℎ
𝑖 𝑗
9
𝒓: 𝑢/ = 𝛼2,𝑢4 = 𝛼5,𝑢6 = 𝛼7,𝑆6 = 𝑎, 𝑐, 𝑑 , 𝑆96 = ∅.
𝒓𝟏: 𝑢/ = 2𝛼2,𝑢4 = 2𝛼5. 𝒓𝟐: 𝑢6 = 2𝛼7.
Figure 11 Cr = ∅ and |Sd|+ |Sid|> 1. Figure shows that if Cr = ∅, r must be of the form Case 1 or Case 2.
0} based on this r. First, we consider the situation where Cr = ∅ and assume |Sd|+ |Sid|> 1. Let r1 contain all but
one of the positive components in r with double their values. Let r2 contain the one positive component omitted by
r1 in r with double its value. Then, r1,r2 ∈W and r = 12(r1 + r2). So, if |Sd|+ |Sid|> 1, r is not extreme, contrary
to the assumption. We conclude that if Cr = ∅, then |Sd|+ |Sid|= 1 and thus r is either in the form of Case 1 or Case
2. Figure 11 illustrates this situation for the problem considered in Figure 10. Here a shaded node indicates that the
node has an associated dual variable with positive value.
Now consider the situation when Cr 6= ∅. When |Cr| > 1, it means there is more than one connected component.
Consider any set S ∈Cr. r1 has values w1i = 2wi and u1
d = 2ud, v1id = 2vid for all d∈ a(i) and all i∈ S and 0s in other
components. Then, let r2 be 2r− r1. Hence, we have r = 12(r1 + r2) and r1,r2 are different in at least one direction.
So, if |Cr|> 1, r is not extreme, contrary to the assumption. Figure 12 illustrates this situation.
When |Cr| = 1 (so the set of nodes with wi > 0 in the original tree G forms a single connected component) and
S ∈Cr, define S0 = {{j, d} ∈Et : pjd > 0 & j ∈ V \S}. (Recall that we use pjd to generically represent either of the
positive components ud or vjd.) Suppose S0 6= ∅, let r1 have w1i = 2wi and u1
d = 2ud, v1id = 2vid for all d ∈ a(i) and
all i∈ S and 0s in other components. Then, let r2 be 2r− r1. r2 is feasible and it has at least one positive component
36
4
1
2
3
5 6
7 8
10 11
𝑎
𝑏
𝑐
𝑑 𝑒
𝑓 𝑔 ℎ
𝑖 𝑗
9
4
1
2
3
5 6
7 8
10 11
𝑎
𝑏
𝑐
𝑑 𝑒
𝑓 𝑔 ℎ
𝑖 𝑗
9
4
1
2
3
5 6
7 8
10 11
𝑎
𝑏
𝑐
𝑑 𝑒
𝑓 𝑔 ℎ
𝑖 𝑗
9
𝐫:𝑤1 = 𝛼1,𝑤5 = 𝛼6,𝑤7 = 𝛼8,𝑤8 = 𝛼9,𝑤1: = 𝛼5,𝑤11 = 𝛼7,𝑢< = 𝛼=,𝑢> = 𝛼?,𝑢@ = 𝛼A𝑢B = 𝛼1:,𝑢C = 𝛼11,𝑢D = 𝛼16,𝑆1 = 1,5,6 , 𝑆6 = 3,10, 11 .
𝐫𝟏:𝑤1 = 2𝛼1,𝑤5 = 2𝛼6,𝑤7 = 2𝛼8,𝑢< = 2𝛼=,𝑢> = 2𝛼?,𝑢@ = 2𝛼A.
𝐫6:𝑤8 = 2𝛼9,𝑤1: = 2𝛼5,𝑤11 = 2𝛼7,𝑢B = 2𝛼1:,𝑢C = 2𝛼11,𝑢D = 2𝛼16.
Figure 12 When |Cr|> 1, r is not extreme.
4
1
2
3
5 6
7 8
10 11
𝑎
𝑏
𝑐
𝑑 𝑒
𝑓 𝑔 ℎ
𝑖 𝑗
9
4
1
2
3
5 6
7 8
10 11
𝑎
𝑏
𝑐
𝑑 𝑒
𝑓 𝑔 ℎ
𝑖 𝑗
9
4
1
2
3
5 6
7 8
10 11
𝑎
𝑏
𝑐
𝑑 𝑒
𝑓 𝑔 ℎ
𝑖 𝑗
9
𝐫:𝑤1 = 𝛼1,𝑤5 = 𝛼6,𝑤7 = 𝛼8,𝑢: = 𝛼;,𝑢< = 𝛼=,𝑢> = 𝛼?,𝑢@ = 𝛼1A,𝑢B = 𝛼11,𝑢C = 𝛼16,
𝑆A = 𝑐, 𝑖, 𝑗 .
𝐫𝟏:𝑤1 = 2𝛼1,𝑤5 = 2𝛼6,𝑤7 = 2𝛼8,𝑢: = 2𝛼;,𝑢< = 2𝛼=,𝑢> = 2𝛼?.
𝐫6:𝑢@ = 2𝛼1A,𝑢B = 2𝛼11,𝑢C = 2𝛼16.
Figure 13 When |Cr|= 1 and S0 6= ∅ (some u’s and v’s outside S have positive value), r is not extreme.
because S0 is not empty and its corresponding components are not in r1. Hence, we have r= 12(r1 +r2) and r1,r2 are
different in at least one direction. So, if |Cr|= 1 and S0 6= ∅, r is not extreme, contrary to the assumption. Figure 13
illustrates this situation.
When |Cr|= 1, define S1 = {{i, d} ∈Et : i ∈ S,ud > 0 ⊕ vid > 0} and S2 = {{i, d} ∈Et : i ∈ S,ud > 0 & vid >
0}. Suppose S2 6= ∅, let α1 = 2min{wi, ud, vid : i ∈ S, (i, d) ∈ S2}, then, we make r1 have w1i = α1 for all i ∈ S. For
{i, d} ∈ S2, we have v1id = α1. Also, for {i, d} ∈ S1, if ud > 0, we have u1
d = α1. Otherwise, we have v1id = α1. The
remaining components are 0s. Then, let r2 be 2r− r1. Hence, we have r = 12(r1 + r2) and r1,r2 are different in at
least one direction because the component which is arg min{wi, ud, vid : i ∈ S,{i, d} ∈ S2} is positive in r1 but zero
in r2. Thus we must have |S2|= ∅. Figure 14 illustrates this situation.
Next, suppose |Cr|= 1 and |S2|= ∅, consider a node i ∈ S and let wi = α. Define S+ = {{i, d} ∈ S1 : pid > α}.
When S+ 6= ∅, consider an edge {i, d} ∈ S+ with ud > 0. We can make r1 have u1d = 2(ud − α) and 0s in the other
37
4
1
2
3
5 6
7 8
10 11
𝑎
𝑏
𝑐
𝑑 𝑒
𝑓 𝑔 ℎ
𝑖 𝑗
9
4
1
2
3
5 6
7 8
10 11
𝑎
𝑏
𝑐
𝑑 𝑒
𝑓 𝑔 ℎ
𝑖 𝑗
9
4
1
2
3
5 6
7 8
10 11
𝑎
𝑏
𝑐
𝑑 𝑒
𝑓 𝑔 ℎ
𝑖 𝑗
9
𝐫:𝑤1 = 𝛼1,𝑤5 = 𝛼6,𝑤7 = 𝛼8,𝑢: = 𝛼;,𝑢< = 𝛼5,𝑢= = 𝛼7𝑣1< = 𝛼?,𝑣5< = 𝛼@,𝑆1 = 1, 𝑎 , 1, 𝑒 , 6, 𝑒 ,𝑆6 = 1,𝑑 , 5, 𝑑 .
Let 𝑎1 be the smallest one.
𝐫𝟏:𝑤1 = 2𝛼1,𝑤5 = 2𝛼1,𝑤7 = 2𝛼1,𝑢: = 2𝛼1,𝑢< = 2𝛼1,𝑢= = 2𝛼1,𝑣1< = 𝛼1,𝑣5< = 𝛼1.
𝐫6:𝑤5 = 𝛽6,𝑤7 = 𝛽8, 𝑢: = 𝛽;,𝑢< = 𝛽5,𝑢= = 𝛽7,
𝑣1< = 𝛽?,𝑣5< = 𝛽@,𝛽G = 2 𝛽G − 𝛼1 𝑖 = 2,3… ,8.
Figure 14 When |Cr| = 1, S0 = ∅, and S2 6= ∅ (ud and vid are nonzero for some node i ∈ S) r is not extreme.
Bold line represents the associated dual variable v takes positive value.
4
1
2
3
5 6
7 8
10 11
𝑎
𝑏
𝑐
𝑑 𝑒
𝑓 𝑔 ℎ
𝑖 𝑗
9
4
1
2
3
5 6
7 8
10 11
𝑎
𝑏
𝑐
𝑑 𝑒
𝑓 𝑔 ℎ
𝑖 𝑗
9
4
1
2
3
5 6
7 8
10 11
𝑎
𝑏
𝑐
𝑑 𝑒
𝑓 𝑔 ℎ
𝑖 𝑗
9
𝐫:𝑤1 = 𝛼1,𝑤5 = 𝛼6,𝑤7 = 𝛼8,𝑢: = 𝛼1 + 𝜖, 𝑢= = 𝛼5,𝑢> = 𝛼7,
𝑆@ = 1, 𝑎 .
𝐫𝟏:𝑤1 = 2𝛼1,𝑤5 = 2𝛼6,𝑤7 = 2𝛼8,𝑢: = 2𝛼1,𝑢= = 2𝛼5,𝑢> = 2𝛼5.
𝐫6:𝑢: = 2𝜖.
Figure 15 When |Cr|= 1, S0 = ∅, S2 = ∅, and S+ 6= ∅ (either ud or vid is greater than α for some node i ∈ S) r
is not extreme.
components. Then, let r2 be 2r−r1 (note that r2 is feasible). Hence, we have r = 12(r1 +r2) and r1,r2 are different in
at least one direction because r1 only has one positive component and r2 has at least two positive components. Thus,
if |Cr|= 1 then S+ = ∅. Figure 15 illustrates this situation.
Next, define Sv = {{i, d} ∈Gt(S) : vid > 0}. Suppose Sv 6= ∅, consider an edge {i, d} ∈ Sv with j adjacent to d. We
decompose S into two connected components (in the original tree graph G) by using the edge {i, j} (removing {i, j}
in G separates S into two connected components). Let Si be the one containing node i. We make r1 have w1i = 2wi,
u1d = 2ud, and v1
id = 2vid for all i in Si and d in a(i). Additionally, it has 0s in the remaining components. Then, let r2
be 2r− r1 (which is feasible). Hence, we have r = 12(r1 + r2) and r1,r2 are different in at least one direction. Thus.
if |Cr|= 1 then Sv = ∅. Figure 16 illustrates this situation.
38
4
1
2
3
5 6
7 8
10 11
𝑎
𝑏
𝑐
𝑑 𝑒
𝑓 𝑔 ℎ
𝑖 𝑗
9
4
1
2
3
5 6
7 8
10 11
𝑎
𝑏
𝑐
𝑑 𝑒
𝑓 𝑔 ℎ
𝑖 𝑗
9
4
1
2
3
5 6
7 8
10 11
𝑎
𝑏
𝑐
𝑑 𝑒
𝑓 𝑔 ℎ
𝑖 𝑗
9
𝐫:𝑤1 = 𝛼1,𝑤5 = 𝛼6,𝑤7 = 𝛼8,𝑢: = 𝛼;,𝑢< = 𝛼5,𝑣1> = 𝛼7,𝑣5> = 𝛼?,
𝑆A = 1, 𝑑 , 5,𝑑 .
𝐫𝟏:𝑤1 = 2𝛼1,𝑤7 = 2𝛼8, 𝑢: = 2𝛼;,𝑢< = 2𝛼5,𝑣1> = 2𝛼7.
𝐫6:𝑤5 = 2𝛼6,𝑣5> = 2𝛼?.
Figure 16 When |Cr|= 1, S0 = ∅, S2 = ∅, S+ = ∅, and Sv 6= ∅ (vid is nonzero for some edge {i, d} in Gt(S), the
induced graph of S), r is not extreme.
Consider an edge {i, j} in the original graph G where both i, j ∈ S; and the edges {i, d} and {d, j} in Gt(S)
associated with {i, j}. Here only ud > 0 because Sv = ∅. So, wi =wj = ud because S+ = ∅. Given S is a connected
component, we have wi =wj for i, j in S; and so ud = α for d ∈D(S). This proves that if Cr 6= ∅, then r must be in
the form of Case 3. �
Using these three types of extreme rays we obtain the following inequalities to define the projection. Case 1 extreme
directions generate the valid inequality 0 ≥ −1 which is not very useful, while Case 2 extreme directions generate
−xi ≥ −1 or the inequalities, xi ≤ 1 for all i ∈ V . Given a extreme ray r of the form described in Case 3, define
Vi = {d ∈ a(i) : vid > 0} for all i ∈ S based on r. Consequently, Case 3 extreme directions generate the following
valid inequality in the original graph G:∑i∈S
(gi− |Vi|)xi ≥∑i∈S
gi− |a(S)| − |S|+ 1 ∀i∈ S ⊆ V & S is connected & |Vi|= 0,1, . . . , λSi .
Here λSi = |V S
i |, and recall a(S) denotes the neighbors of set S in the original graph G. Note that for a given set
S, there are many extreme rays r satisfying Case 3, and giving rise to sets Vi. The tightest valid inequality for a
given set S is obtained when the coefficient of xi on the left hand side has the smallest value. This is obtained when
Vi = V Si = a(i)∩a(S) (in other words V S
i is the set of neighbors of node i in the original graph G that are outside the
set S). After removing dominated inequalities, the projection of Pd onto the x space is:
|a(S)|+ (|S| − 1) +∑
i∈S(gi−λSi )xi ≥
∑i∈S gi ∀S ⊆ V & S is connected, (67)
0≤ xi ≤ 1 ∀i∈ V. (68)
PROPOSITION 4. The valid inequalities (67) can be separated in O(|V |3) time.
Proof. The generalized k-minimum spanning tree (k-MST) problem on trees is defined as follows: Given a tree
GB = (VB,EB) and an integer k < |VB|, each node i in VB has a nonnegative weight wi and each edge in EB has a
nonnegative weight eij , the goal is to find a subtree T of k edges whose weight∑
i∈T wi +∑
(i,j)∈T eij is minimum.
Given an instance of the separation problem with the cardinality of S specified to be h, we show that it can be
transformed to the generalized k-MST problem on trees with k = 2|S| − 2. From the input graph G (which is a
39
tree), we transform it into graph Gt which was used to derive the extended formulation. Thus, Gt = (V ∪D,Et).
Recall that we have a current solution x and deg(i) denotes the degree of node i. For all i in V , set its weight wi =
(1− xi)(deg(i)− gi). Then, for all d in D, set its weight wd = M where M = max{deg(i) : i ∈ V }. (This ensures
that an optimal k-MST on Gt does not have nodes in D as leaves when k is an even number.) Lastly, for each {i, d} in
Et, we have edge weight eid = xi. We also set k= 2(h− 1) as the target cardinality for the k-MST.
For a node i∈ V and a given optimal k-MST T , let ETi be the set of its adjacent edges in T . The objective value of
T is:∑
i∈T∩V (1−xi)(deg(i)−gi) +∑
(i,d)∈T xi + (h−1)M =∑
i∈T∩V (deg(i)−gi−deg(i)xi +gixi + |ETi |xi) +
(h− 1)M . Note that∑
i∈T∩V ETi = 2(h− 1) is the number of edges in T , which we add and subtract to the objective
value of T obtaining:∑
i∈T∩V {(gi + |ETi | − deg(i))xi − gi + (deg(i) − |ET
i |)} + 2(h − 1) + (h − 1)M . Let T
denote T ∩ V . In the original graph deg(i) − |ETi | is identical to λS
i . If we consider the nodes in T ,∑
i∈T λSi is
equal to |a(T )|; the cardinality of the set of neighbors of T in the original graph. Thus, the objective value is equal to∑i∈T (gi−λS
i )xi−∑
i∈T gi + |a(T )|+ (h− 1)(M + 2). Other than (h− 1)(M + 2) this is exactly the left hand side
of constraint (67) with S = T after some rearrangement (we move∑
i∈S gi to the left hand side and move |S| − 1 to
the right hand side). Thus, if∑
i∈T (gi − λSi )xi −
∑i∈T gi + |a(T )|< 1− h we have a violated inequality. Or, if the
objective value of this k-MST is strictly less than (h− 1)(M + 1), we have found a violated inequality. Otherwise,
there is no violated inequality for sets S with cardinality h.
Blum (2007) provides a O(k2|VB|) algorithm for the (k-MST) problem on trees. It returns the values of the best
l-cardinality trees in GB for all l values in the range 0≤ l≤ k. Thus, we only need to run it once by setting k= |VB|=2|V |. Thus, the time complexity is O(|V |3). �
D. WTSS with Unequal Influence
We prove that when a node i receives unequal influence from its neighbors, the WTSS problem is NP-complete on stars.
In the propagation progress in the unequal influence case, the incoming influence of node i is calculated as∑
j∈s(i) dji
where dji is the amount of influence from node j and s(i) is the set of node i’s active neighbors. Furthermore, each
node’s threshold value gi can take a value between 1 and∑
j∈a(i) dji.
THEOREM 5. The WTSS problem with unequal influence is NP-complete on stars.
Proof. The decision version of the 0-1 knapsack problem is NP-complete (Kellerer et al. 2004) and is defined as
follows: Given a set of n items numbered from 1 up to n, each item i with a weight wi and a value vi, along with a
maximum weight capacity W , can we select a subset of these items such that a value of at least V will be achieved
without exceeding the weight W ?
We construct a star network from this 0-1 knapsack problem. For each item i, we put a node i in the graph as a leaf
node. After that, we add one extra node and label it as node 0 which is the central node. All leaf nodes connect to the
central node but do not connect to each other. Thus, there are n+1 nodes numbered from 0 up to n in the graph. Then,
for each leaf node i, we have gi = 1, d0i = 1 and bi = wi. For the central node 0, we have g0 = V , di0 = vi for all
i∈ a(0) and b0 =W + 1. The constructed star is shown in Figure 17. The decision question is: Can we select a subset
of nodes without total weight exceeding W to activate the whole network? It is easy to see that we should never select
the central node 0. So, it is equivalent to ask: Can we select a subset of leaf nodes such that the incoming influence of
the central node is at least V and the total weight of those selected leaf nodes does not exceed W ? Therefore, if the
answer is “Yes”, those selected leaf nodes also solve the 0-1 knapsack problem. �
40
Figure 17 Transforming a 0-1 knapsack problem to the WTSS problem with unequal influence on stars
E. Optimality of Shakarian et al. Heuristic on Complete Graphs
Given a complete graph with the assumption that bi ≥ bj whenever gi > gj for any two nodes i and j, we show that our
adaptation of the Shakarian et al. heuristic returns the optimal solution. Since we are dealing with a complete graph, the
node selected for removal in the heuristic is the node with the highest threshold value among those with nonnegative
dist. Without loss of generality, assume node i is the first node with a negative dist. In other words, node i is added
first to the target set. Denote the set of nodes selected for removal before node i’s dist value becomes negative as Ni.
Observe that all j ∈ Ni, we have gj ≥ gi and bj ≥ bi. Consequently, replacing node i in the target set by any node
j ∈Ni results in a feasible target set with no better objective value. Because node i’s dist value is negative at least one
of the nodes in {i ∪Ni} must be in the optimal target set. Repeating this argument iteratively for each of the nodes
added into the target set in the order they are added completes the proof.