Acessibilidade / Reportar erro

COMBINATORIAL DUAL BOUNDS ON THE LEAST COST INFLUENCE PROBLEM

ABSTRACT

The Least Cost Influence Problem is a combinatorial optimization problem that appears in the context of social networks. The objective is to give incentives to individuals of a network, such that some information spreads to a desired fraction of the network at minimum cost. We introduce a problem-dependent algorithm in a branch-and-bound scheme to compute a dual bound for this problem. The idea is to exploit the connectivity properties of sub-graphs of the input graph associated with each node of the branch-and-bound tree and use it to increase each sub-problem’s lower bound. Our algorithm works well and finds a lower bound tighter than the LP-relaxation in linear time in the size of the graph. Computational experiments with synthetic graphs and real-world social networks show improvements in using our proposed bounds. The improvements are gains in running time or gap reduction for exact solutions to the problem.

Keywords:
combinatorial optimization; social networks; diffusion of information

1 INTRODUCTION

In the context of diffusion of information in social networks, early studies on sociology (Rogers, 2010ROGERS EM. 2010. Diffusion of innovations. Simon and Schuster.) observe that information spreads through a social system like a contagious process, starting with a small group and spreading to other individuals in the system through the relationship between them. One relevant problem that emerges from this background is identifying a good set of individuals to target, the early adopters, and hoping that the chosen individuals can persuade their friends to adopt a new behavior, which also influences friends of friends by generating a chain of adoption. For example, in applications like viral marketing, the early adopters can be influenced by receiving products for free or by getting discounts for buying a new product.

Kempe et al. (Kempe et al., 2003KEMPE D, KLEINBERG J & TARDOS É. 2003. Maximizing the spread of influence through a social network. In: Proceedings of the 9th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. pp. 137-146. ACM.) approached this problem from the discrete optimization perspective. They considered a maximization version where the goal is to find a fixed size set of individuals such that the expected influence of these individuals is the largest possible. They show that the INFLUENCE MAXIMIZATION PROBLEM is NP-hard in stochastic diffusion models and propose a (1-1e)-approximate greedy algorithm. They also have shown that the influence function is submodular and monotone in randomized settings. The approximation ratio was originally proved by Nemhauser et al. (Nemhauser et al., 1978NEMHAUSER GL, WOLSEY LA & FISHER ML. 1978. An analysis of approximations for maximizing submodular set functions-I. Mathematical Programming , 14(1): 265-294.) and is valid for every submodular and monotone maximization function. Furthermore, computing the expected influence of a given set of individuals is a #P-hard problem (Chen et al., 2010aCHEN W, WANG C & WANG Y. 2010a. Scalable influence maximization for prevalent viral marketing in large-scale social networks. In: Proceedings of the 16th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. pp. 1029-1038. ACM.,bCHEN W, YUAN Y & ZHANG L. 2010b. Scalable influence maximization in social networks under the linear threshold model. In: 2010 IEEE International Conference on Data Mining. pp. 88-97. IEEE.).

Chen (Chen, 2009CHEN N. 2009. On the approximability of influence in social networks. SIAM Journal on Discrete Mathematics, 23(3): 1400-1415.) studied the minimization version of the INFLUENCE MAXIMIZATION PROBLEM, which seeks a target set of minimum size, ensuring the activation of a given fraction of the network. The literature refers to this problem as the TARGET SET SELECTION (TSS). Besides being NP-hard to solve, this problem is also hard to approximate. Chen (Chen, 2009CHEN N. 2009. On the approximability of influence in social networks. SIAM Journal on Discrete Mathematics, 23(3): 1400-1415.) proved that TSS cannot be approximated within a poly-logarithmic ratio. Even with explicitly deterministic thresholds, the problem is NP-hard to approximate within a ratio of n 1−ε for every ε > 0 (Chen, 2009CHEN N. 2009. On the approximability of influence in social networks. SIAM Journal on Discrete Mathematics, 23(3): 1400-1415.; Kempe et al., 2003KEMPE D, KLEINBERG J & TARDOS É. 2003. Maximizing the spread of influence through a social network. In: Proceedings of the 9th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. pp. 137-146. ACM.). This problem becomes tractable in some restricted class of graphs. For example, the problem can be solved in linear time if the underlying graph is a tree (Chen, 2009CHEN N. 2009. On the approximability of influence in social networks. SIAM Journal on Discrete Mathematics, 23(3): 1400-1415.), a block-cactus graph (Chiang et al., 2013CHIANG CY, HUANG LH, LI BJ, WU J & YEH HG. 2013. Some results on the target set selection problem. Journal of Combinatorial Optimization, 25(4): 702-715.), or a bounded treewidth graph (Ben-Zwi et al., 2011BEN-ZWI O, HERMELIN D, LOKSHTANOV D & NEWMAN I. 2011. Treewidth governs the complexity of target set selection. Discrete Optimization, 8(1): 87-96.).

In this work, we investigate an extension of the TSS problem called LEAST COST INFLUENCE PROBLEM (LCIP). Rather than searching a group of individuals to start a propagation, this problem offers incentives for individuals to adopt new behaviors and then trigger a cascade that spreads to a given fraction of the network. Demaine et al. (Demaine et al., 2014DEMAINE ED, HAJIAGHAYI MT, MAHINI H, MALEC DL, RAGHAVAN S, SAWANT A & ZADIMOGHADAM M. 2014. How to influence people with partial incentives. In: Proceedings of the 23rd International Conference on World Wide Web. pp. 937-948. ACM.) extend the INFLUENCE MAXIMIZATION PROBLEM by proposing a fractional version that incorporates the idea of offering discounts instead of making a binary choice of individuals. Günneç et al. (Günneç et al., 2020aGÜNNEÇ D, RAGHAVAN S & ZHANG R. 2020a. A branch-and-cut approach for the least cost influence problem on social networks. Networks, 76(1): 84-105.,bGÜNNEÇ D, RAGHAVAN S & ZHANG R. 2020b. Least-cost influence maximization on social networks. INFORMS Journal on Computing, 32(2): 289-302.) focused on mathematical programming models for the LCIP and described algorithms for the problem on trees. Besides that, they observe that the LCIP is a generalization of the TSS problem, so the LCIP has at least the same complexity as the TSS problem from a the-oretical point of view. Fischetti et al. (Fischetti et al., 2018FISCHETTI M, KAHR M, LEITNER M, MONACI M & RUTHMAIR M. 2018. Least cost influence propagation in (social) networks. Mathematical Programming, pp. 1-33.) present a generalization of the LCIP and introduce the concept of activation functions, which extends the commonly used threshold functions. They also propose a mathematical heuristic and an exact algorithm based on column generation.

1.1 Contributions

While previous works provided relevant exact solutions (Ackerman et al., 2010ACKERMAN E, BEN-ZWI O & WOLFOVITZ G. 2010. Combinatorial model and bounds for target set selection. Theoretical Computer Science, 411(44-46): 4017-4022.; Fischetti et al., 2018FISCHETTI M, KAHR M, LEITNER M, MONACI M & RUTHMAIR M. 2018. Least cost influence propagation in (social) networks. Mathematical Programming, pp. 1-33.; Günneç et al., 2020bGÜNNEÇ D, RAGHAVAN S & ZHANG R. 2020b. Least-cost influence maximization on social networks. INFORMS Journal on Computing, 32(2): 289-302.) and heuristic algorithms that can be used as upper bounds for this problem (Chen et al., 2009CHEN W, WANG Y & YANG S. 2009. Efficient influence maximization in social networks. In: Proceedings of the 15th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. pp. 199-208. ACM.; Cordasco et al., 2015CORDASCO G, GARGANO L, RESCIGNO AA & VACCARO U. 2015. Optimizing spread of influence in social networks via partial incentives. In: International Colloquium on Structural Information and Communication Complexity. pp. 119-134. Springer.; Demaine et al., 2014DEMAINE ED, HAJIAGHAYI MT, MAHINI H, MALEC DL, RAGHAVAN S, SAWANT A & ZADIMOGHADAM M. 2014. How to influence people with partial incentives. In: Proceedings of the 23rd International Conference on World Wide Web. pp. 937-948. ACM.; Kempe et al., 2003KEMPE D, KLEINBERG J & TARDOS É. 2003. Maximizing the spread of influence through a social network. In: Proceedings of the 9th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. pp. 137-146. ACM.), nothing beyond the standard LP-relaxation was proposed to compute lower bounds on the LCIP.

Observing that the influence propagation network is a directed acyclic graph (DAG), we derive a problem-dependent relaxation algorithm. The proposed algorithm exploits the connectivity properties of graphs to obtain a lower bound for the problem. Furthermore, we prove that the algorithm is correct and show experimentally that our lower bounds are tighter than the linear programming relaxation, providing smaller optimality gaps. To the best of our knowledge, there are no works on combinatorial lower bounds for this problem. The main objective of our relaxation is for fathoming in a branch-and-bound algorithm and helping reduce the computational effort to obtain exact solutions. We provide theoretical analysis on the complexity of our algorithm when dealing with a particular case of the problem, where the diffusion needs to reach only a fraction of the network instead of the whole network. In this case, our analysis leads to a related problem whose optimal solution is a dual bound for the original problem. This related problem is NP-hard, but it paves the way for improving the dual bound. To make our dual bound stronger, we also propose a branching rule that prioritizes the exploration of some branches of the decision tree. Such a prioritization leads to disconnected sub-graphs associated with the sub-problems of the branch-and-bound tree, which in turn improves the quality of our lower bounds.

The rest of this paper is organized as follows. Section 2 contains a brief overview of the social network diffusion process and the problem definition. Section 3 describes the mathematical programming formulation of the problem and the exact method to solve it. Section 4 proposes an algorithm to find lower bounds on the problem and presents a theoretical analysis of our findings. We introduce a branching rule to strengthen our dual bound algorithm in Section 5. Computational experiments are presented in Section 6. We conclude the paper in Section 7.

2 PROBLEM DEFINITION

Let G be a directed graph that models a social network. The vertex set V(G) represents individuals, and the arc set E(G) corresponds to the relationships between these individuals. We denote the vertex set and arc set by V and E, respectively, when the context is explicit. Each arc (i, j) ∈ E has an associated weight d ij > 0 that models the influence of i over j.

To model the diffusion of influence between the individuals in a social network, we consider a well-known model called the threshold model, presented by (Granovetter, 1978GRANOVETTER M. 1978. Threshold models of collective behavior. American Journal of Sociology, pp. 1420-1443.). In this model, we say that a vertex i is active when persuaded to adopt new behavior and inactive, otherwise. Every iV has a threshold t i > 0 which indicates the amount of influence needed to activate i, coming from i’s neighbors. The activation process is progressive, i.e., each vertex can be active or inactive, and a vertex can change from inactive to active, but not the other way around. Initially, a subset A 0V is chosen to be active. Then, the vertices in A 0 send influence to their inactive neighbors. These neighbors might become active in the next iteration and give rise to a new set A 1V of active vertices. This process is repeated until no vertex can be activated. Let Aττ=0T be the sequence of vertices activated during the diffusion process, where A T is the first set in the sequence that cannot activate any other vertex in the graph. We say that any vertex iA T \ A 0 has been influenced by A 0.

Also, we consider the offer of external influences. These influences, which we call incentives, aim to break an individual’s resistance in being influenced in the activation process. The incentives are represented by a vector y ∈ ℤ|V| , where each coordinate y i ∈ ℕ0 denotes the amount of incentive given to a vertex iV . Applying the incentive y i on a vertex i decreases its threshold t i and makes it more susceptible to activation. This incentive is added with the influence coming from the other vertices. Thus, the initial set of active vertices is given by A0=iV:yiti. The vertices in A 0 begin the process as active and all the others as inactive. Time progresses in discrete steps τ = 0, 1, ..., T , and an inactive vertex i becomes active at time τ if the total influence of its active in-neighbors plus its incentive exceeds the threshold t i , i.e., if

j N i A τ - 1 d j i t i - y i ,

where N i denotes the set of in-neighbors of i.

Figure 1 illustrates the activation process in the threshold model with incentives. Again, we have a directed graph with thresholds on the vertices and weights of influence on the arcs. Suppose that we want to activate 100% of the vertices. The process starts by setting the vertex a as active and all the others as inactive. We are paying enough incentive to achieve a’s threshold without the influence of the neighbors, so vertex a receives 1 unit of incentive. We will try to activate the remaining vertices using incentives to decrease their threshold. Vertex b has threshold 1 and will be activated only by a in the next step, so no incentive is necessary. Next, in Figure 1c, vertex c has two active neighbors in which the weight of incoming arcs sums to 3 units. To achieve c’s threshold, we must pay one incentive unit, so c is activated. The process continues as a cascade until all vertices are activated. Hence, in this example, we paid a total of 3 units of incentive to activate the whole network, that is, y a = y c = y e = 1 and y b = y d = 0.

Figure 1
Activation process in the threshold model considering incentives, starting from a target set S = {a}. The number attached to each vertex represents its threshold. Sets Aτ contains the active vertices at time τ, for τ = 0, ..., 4. Labels in each arc (i, j) denote the weight of influence d ij . Highlighted arcs indicate who influences whom in the process. The vector y indexed by the vertices contains the incentive offered to each vertex.

The problem consists of offering incentives to the vertices to trigger a cascade of influence that spreads to a given fraction α of the whole network. The goal is to minimize the sum of incentives given to individuals on the social network. The definition is given below.

Problem 1 (Least Cost Influence Problem (LCIP)).We are given a real number α ∈ [0, 1], a directed graph G with weights d i j on each arc (i, j) ∈ E, and a threshold t i , for each vertex iV. The goal is to find a vector y ∈ ℤ|V| of incentives that minimizes the sumi∈V y i , ensuring that at leastα|V |⌉ vertices are activated by the end of the activation process.

In the remainder of this text, we will refer explicitly to the graph associated with a solution y. Thus we introduce the following notation. For time steps τ = 0, 1, . . . , T − 1, let Eτ=i,jE:iAτ,jAτ+1\Aτ, be the set of arcs in which the influence was exerted at time τ. Consider the set E*=τ=0T-1Eτ. We say that the propagation graph G * = (A T , E *) is the graph induced by the solution y. The graph in Figure 1e is an example of a propagation graph. It follows from the definition of the activation process that the propagation graph is acyclic.

3 INTEGER LINEAR PROGRAMMING FORMULATION

Different integer linear programming (ILP) formulations express the propagation using variables on the arcs (Ackerman et al., 2010ACKERMAN E, BEN-ZWI O & WOLFOVITZ G. 2010. Combinatorial model and bounds for target set selection. Theoretical Computer Science, 411(44-46): 4017-4022.; Günneç et al., 2020aGÜNNEÇ D, RAGHAVAN S & ZHANG R. 2020a. A branch-and-cut approach for the least cost influence problem on social networks. Networks, 76(1): 84-105.,bGÜNNEÇ D, RAGHAVAN S & ZHANG R. 2020b. Least-cost influence maximization on social networks. INFORMS Journal on Computing, 32(2): 289-302.; Raghavan & Zhang, 2019RAGHAVAN S & ZHANG R. 2019. A branch-and-cut approach for the weighted target set selection problem on social networks. INFORMS Journal on Optimization, 1(4): 304-322.). The following formulation is a particular case of the model proposed by Fischetti et al. (Fischetti et al., 2018FISCHETTI M, KAHR M, LEITNER M, MONACI M & RUTHMAIR M. 2018. Least cost influence propagation in (social) networks. Mathematical Programming, pp. 1-33.). For each vertex iV , let x i be a binary variable indicating whether i is active at the end of the diffusion process. Similarly, for each arc (i, j) ∈ E, let z ij be a binary variable indicating whether i exerts influence over j. As mentioned previously, the integer variable y i is the incentive to be paid to a vertex iV.

m i n i V y i s . t . i N j z i j d i j t j x j - y j j V , (1)

i , j C z i j i V C \ k x i k C , c y c l e C E , (2)

z i j x i i , j E , j , i E , (3)

i V x i α V , (4)

x i 0 , 1 i V , (5)

y i 0 i V , (6)

z i j 0 , 1 i , j E . (7)

The objective function minimizes the total incentive offered to influence a given portion of the network. Constraints (1) models the condition that a vertex iV gets active only when the total influence received from its active neighbors plus its incentive is greater than or equal to its threshold. The cycle elimination constraints in (2) generalize the classic cycle elimination from (Grötschel et al., 1985GRÖTSCHEL M, JÜNGER M & REINELT G. 1985. On the acyclic subgraph polytope. Mathematical Programming , 33(1): 28-42.) and impose that the propagation graph must be acyclic. Meaning that the number of chosen arcs in a cycle C cannot be greater than the number of active vertices in V (C)\{k}, where V (C) is the set of vertices in the cycle. Constraints (3) ensures that an arc (i, j) can be chosen only if vertex i is activated. Note that if there is an arc (j, i) in G, constraints (2) imply that z ij + z jix i , and therefore, z ijx i is redundant. Finally, constraints (4) impose that, by the end of the diffusion process, the number of active vertices is at least ⌈α|V|⌉.

3.1 Solving the LCIP using branch-and-cut

Due to the number of possible cycles in the graph G, the number of constraints in (2) grows exponentially. The exact standard procedure for solving integer linear programs with exponential constraints is the branch-and-cut method, which combines LP-based branch-and-bound and constraint generation techniques. For completeness, we will take a brief look at the branch-and-bound approach. If the reader is already familiar with the concepts in this algorithm, you can go straight to Section 4.

The branch-and-bound method solves the problem by dividing it into smaller sub-problems. The principle is to split the feasible space into successively smaller subsets so that distinct subsets can be evaluated directly by implicit enumeration until the best solution is found. The method employs a tree structure consisting of nodes and branches to manage the subdivisions of the feasible region. In this tree, each node represents a sub-problem. To generate the solutions and efficiently explore the feasible region, two problem-specific routines are required, the branch and the bound.

Frm01 zz*

Frm02 zz*

Frm03 zz

  • Branching is the procedure that splits a parent node into smaller sub-problems generating child nodes. In our case, we chose a binary variable x i (or z ij ) and solve two sub-cases, namely the case x i = 0 and the case x i = 1.

  • Bounding is the computation of lower and upper bounds used to avoid the complete exploration of all sub-trees. Since we are looking for the optimality conditions that will provide stopping criteria, an important task is to find a lower (dual) bound frm01 and an upper (primal) bound frm02, where z * is the optimum value for the objective function of the original problem. If FRM03, we do not need to consider the current sub-problem. Every feasible solution provides an upper bound (we can use heuristics to find it). The dual bound is an optimistic estimation of the objective function for the region represented by the node at hand. The most common approach to get dual bounds is by relaxing the integrality constraints of the original problem.

The set of all cycle elimination constraints in the model (1)-(7) is too large to write down. So, at each node of the branch-and-bound tree, violated inequalities are dynamically generated by solving the separation problem associated with inequalities in (2). In this approach, we implement the separation procedure proposed by (Grötschel et al., 1985GRÖTSCHEL M, JÜNGER M & REINELT G. 1985. On the acyclic subgraph polytope. Mathematical Programming , 33(1): 28-42.). In short, the procedure adapts a shortest path algorithm to find a cycle that violates the cycle elimination constraints.

The branch-and-bound efficiency depends on how close to the optimal solution are the bounds of the sub-problems. Thus, we propose a combinatorial relaxation algorithm that can be used at each node of the branch-and-bound tree to obtain lower bounds.

4 LOWER BOUND ALGORITHM

Consider the following aspects of the LCIP. The associated propagation graph is a DAG for every solution y, with at least one vertex with no incoming arcs (source). Thus, at least one vertex needs to be paid the total threshold value for any solution. The vertices chosen to receive the total incentive have the minimum threshold value in the best case.

We introduce a combinatorial algorithm to obtain a dual (lower) bound for this problem. The idea is to use connectivity properties of a sub-graph of the input graph at each node of the branch-and-bound tree. In the branch-and-bound, the recursive decomposition of a problem into sub-problems generates a decision tree where its root corresponds to the original problem, and each node corresponds to a smaller sub-problem. A natural branching rule in a branch-and-bound algorithm is by variable fixing. In the case of the formulation (1)-(7), we can fix the values of the binary variables x and z. Suppose a binary variable, say z ij , is selected to be the branching variable. Then two sub-problems are generated by fixing z ij = 0 in one branch and z ij = 1 in the other. We observe that fixing some arc variables z ij (or vertex variables x i ) at zero means that these arcs (or vertices) were not chosen, which can disconnect the sub-graph related to that node of the decision tree. We are interested in using this information to increase the lower bound of each sub-problem during the branch-and-bound algorithm.

To illustrate the idea behind this strategy, consider the following example. Let the directed graph in Figure 2a be the input graph of the LCIP. We start the branch-and-bound tree by fixing some arc variables. Figure 3 shows the first levels of such structure, where the black node represents the sub-problem obtained by fixing the arc variables in z ae = 1 and z dc = 0. As the propagation graph of this sub-problem cannot contain the arc (d, c), we can represent the sub-graph associated with this node by removing the arc (d, c) from the original graph. In this way, we arrive at the sub-graph in Figure 2b, which is not strongly connected and is made of three different strongly connected components.

Figure 2
The directed graph in Figure (b) is obtained by removing the arc (d, c) of the graph in Figure (a). The vertex colors indicate the strongly connected components.

Figure 3
Example of a decision tree with branching decisions on the binary variables. The black node represents the sub-problem obtained by fixing variables z ae = 1 and z dc = 0.

Our algorithm uses the concept of condensed component graph.

Definition 1 (Condensed Component Graph).A condensed component graph H of a directed graph G is obtained by contracting the strongly connected components (s.c.c.) of G. Formally, each vV (H) is associated with a s.c.c. C v of G and there is an arc (u, v) ∈ E(H) if and only if an arc exists from a vertex iV (C u ) to a vertex jV (C v ), where C u and C v are the s.c.c.’s associated with u and v, respectively.

A different sub-graph G of the input graph G is considered at each branch-and-bound tree node. We obtain G from G by removing arcs and vertices in which the corresponding variables were fixed at zero by the decision tree. That is, VG'=VG\iVG:xi is fixed in zero and EG'=EG\i,jEG:zij is fixed in zero, at the current node of the branch-and-bound tree.

Let H be the condensed component graph of G . From now on, we consider that H has the arc weights and vertex thresholds defined as follows. Consider C u and C v the s.c.c.’s associated with u, vV (H) and Euv=i,jEG':iVCu and jVCv. We set the weight of each arc (u, v) ∈ E(H) to be the sum of all arc weights that go from C u to C v , that is, duv=i,jEuvdij.

Furthermore, for each vertex vV (H) we set tv=miniVCvti.

Figure 4 presents an example for the condensed component graph of a small graph. The labels in each vertex of the figure denote the name and the threshold, respectively. For instance, the vertex in upper left corner has name a and threshold t a = 1. In the leftmost graph, there are three strongly connected components C u ,C w and C v . For simplicity, we only show the arc weights between different components. In the second graph, we have the condensed component graph with the new thresholds and weights on arcs. For instance, the arc (u, v) has weight d uv = d ad + d cf = 4, and the vertex v has threshold t v = min{2, 2, 3}.

Figure 4
Example of a condensed component graph. The original graph is on the left, and the condensed component graph is on the right.

The algorithm to find a lower bound for the LCIP follows.

Let l LP be the lower bound obtained at the current node of the branch-and-bound tree by standard LP-relaxation, and let l be the lower bound obtained by the procedure described in Algorithm 1. When updating the lower bound l at the current node, we do l=maxlLP,l.

Algorithm 1:
Combinatorial Lower Bound

Now, we show that Algorithm 1 indeed returns a valid lower bound. If the sub-graph G is strongly connected, the lower bound l is trivial by the observations at the beginning of this section. We return this trivial lower bound if α < 1, even if G is not strongly connected. Finding a tighter lower bound in this case may be computationally costly. Consequently, the algorithm would no longer be scalable. In Section 4.1, we explain this situation in detail.

When G is not strongly connected and α = 1, we can improve the trivial lower bound by examining the condensed component graph H structure. In this case, computing the total cost for activating all the vertices in the graph H (step (6) of Algorithm 1) is a sub-problem. As H is a condensed component graph of G , H is directed and acyclic. Therefore, we apply the algorithm proposed by (Günneç et al., 2020aGÜNNEÇ D, RAGHAVAN S & ZHANG R. 2020a. A branch-and-cut approach for the least cost influence problem on social networks. Networks, 76(1): 84-105.) to get an optimal solution of the LCIP in DAGs in linear time.

The proof of correctness of our combinatorial relaxation follows.

Lemma 1.Let Gbe a sub-graph of a not strongly connected graph G and H be the condensed component graph of G. If α = 1, the optimum of the LCIP on H is a lower bound of the optimum of the LCIP on G .

Proof. Let y and y * be the optimal solutions to the LCIP on H and G , respectively. We will prove that for each vV(H) and its associated s.c.c. C v of G , we have that

y v i V C v y i * .

If v is a source in H, we are obligated to pay the threshold value of at least one vertex in C v . Hence, it follows that

i V C v y i * m i n i V C v t i = t v = y v .

Now suppose that v is not a source in H. Let G * be the propagation graph associated with y * and let Gv* be the sub-graph of G induced by V(C v ). Since the propagation graph is acyclic, there must exist a vertex jV(C v ) that is a source in G * . Hence,

i V C v y i * y j * m a x 0 , t j - u N v d u v m a x 0 , t v - u N v d u v = y v ,

where the second inequality follows from the fact that j receives influence only from vertices outside of C v , and the third inequality follows the definition of t v .

Altogether, we conclude that

v V H y v v V H i V C v y i * = i V G ' y i * .

Theorem 1.The solution obtained by theAlgorithm 1is a lower bound for the LEAST COST INFLUENCE PROBLEM in the sub-graph G .

Proof. For the first case, the result is direct by the observations at the beginning of this section. The case in which G is not strongly connected and α = 1 (step 6 of the algorithm) holds by Lemma 1. □

Below we check that our algorithm has polynomial time complexity.

Theorem 2.Given a directed graph G with n vertices and m arcs,Algorithm 1takes O(n + m) time.

Proof. To construct the condensed component graph, we can use Kosaraju-Sharir’s algorithm (Sharir, 1981SHARIR M. 1981. A strong-connectivity algorithm and its applications in data flow analysis. Computers & Mathematics with Applications, 7(1): 67-72.), which runs in time O(n + m). Line 3 can be executed in O(n) time, and line 6 in O(n + m). □

4.1 The case of α < 1

Algorithm 1 is general and finds a dual bound for every case of the LCIP. However, there is room for improvement in the case where α < 1 and the sub-graph G is not strongly connected. The idea is to do something similar to the case of α = 1 and solve the problem on the condensed component graph, which leads to a new combinatorial problem, as we explain next.

To improve the lower bound for the case in which we are not interested in achieving 100% adoption, we propose assigning a weight to each vertex of the condensed component graph H and using the total weight of the activated vertices to satisfy the portion of achieved vertices on the original problem. In this way, we arrive at a new variant of the LCIP, defined in Problem 2.

To assign weights to the vertices, we proceed as follows. Let H be the condensed component graph of G . For each vV(H), define a weight wv=VCv, where V(C v ) is the set of vertices in the component C v of G associated with the vertex v of H and fix a value κ=αVG.

Problem 2 (Weighted Least Cost Influence Problem (WLCIP)).Given a directed graph H with weight w(v) on each vertex vV(H), weight of influence d uv > 0 on the arcs (u, v) ∈ E(H), and an integer κ. Find a vector y ∈ ℤ|V| of incentives which minimizes the sumvVHyv, ensuring that the total weight of active vertices is at least κ by the end of the activation process.

As we are assuming solving the WLCIP on DAGs, a natural integer linear programming formulation for this problem on DAGs follows.

m i n v V H y v s . t . v V H w v x v κ , v V H , (8)

u N v d u v x u + y v t v x v , v V H , (9)

x v 0 , 1 , v V H , (10)

y v 0 , v V H , (11)

where the binary decision variables x v indicate that v is active, and the integer variable y v ≥ 0 represents the incentive assigned to v.

In this model, the objective function minimizes the incentives paid to the vertices of graph H. The cover constraints in (8) ensure that the total weight of the active vertices is at least the parameter κ. Note that the value of κ relates to the original graph G because we still want to achieve the portion α of the original network. If we use κ=αVG' instead, we have a valid lower bound, but with ⌈α|V(G)|⌉, the lower bound can be higher (which is better). If we have κ>vVHwv for some reason during the branch-and-bound search, the problem (WLCIP) is infeasible, and we must cut off the current node. Constraints in (9) respect the thresholds, the total of influence coming from active neighbors of v together with an incentive need to be at least the threshold of v if it is active. Constraints (10) and (11) ensure the integrality of the variables.

When α = 1, we have a restricted case of the WLCIP in which we want to activate all the vertices. Therefore, we can ignore the weights of vertices of graph H, and the problem becomes the LCIP again.

Theorem 3 states that an optimal solution of the WLCIP on H provides a valid lower bound for the LCIP on G .

Theorem 3. Let G be a sub-graph of G and H a condensed component graph of G . The optimum of the WLCIP on H is a lower bound of the optimum of LCIP on G .

Proof. Let yv and yi* be the optimal incentive given for each vV(H) and iV(G ) for the WLCIP and the LCIP, respectively. We will show that it is always possible to construct a feasible solution y for the WLCIP on H from an optimal solution of the LCIP on G , such that vVHyviVG'yi*. We will see that this is sufficient to prove what we want.

Let A G ′ ⊆ V(G ) be the set of active vertices related to y *. Define a set of active vertices in H as AH=vVH:CvAG'0, where C v is the strongly connected component associated with a condensed vertex v. It means that we activate a vertex v of H if C v has at least one active verte. This way, we can compute the incentives to be paid as

y v = m a x 0 , t v - u N v A H d u v

for every vV(H).

It remains to compare the new solution y with y * (see Figure 5 for a concrete example of the notation used in the rest of the proof). So, let G * be the propagation graph of G associated with y * and denote as Gv* the sub-graph of G * induced by the vertices of C vA G ′. As Gv* is acyclic, consider a source vertex j of Gv*. We have that

y v m a x 0 , t j ' - u N v A H d u v (12)

m a x 0 , t j ' - i N j ' \ C v A G ' d i j ' = y j ' * j V C v y j * . (13)

Figure 5
The solution of the LCIP in Figure 5a has value 5, the incentives are: y a = 2, y b = y g = y h = 1 and y c = y d = y e = y f = 0. The solution of the WLCIP in Figure 5b has value 3, the incentives are: y u = 2, y w = 1 and y v = 0. In Figure 5a, A G′ = V (G′)\{c},Gv*=d,e,e,f , where d is the source of Gv* . In Figure 5b, from the solution of the LCIP on G’, we have A H = V(H). Considering j’ = d, in this example, {N j’ \C v } ∩ A G = {g}. Lastly, uNvAHduv=duv+dwv=4 and iNj'\CvAG'dij'=dgd=2.

Inequality 12 holds because t vt j ′ by the definition of the thresholds of H. Inequality 13 holds because

u N v A H d u v i N j ' \ C v A G ' d i j ' . (14)

To prove Inequality 14, let Euv=i,jEG':iVCu and jVCv be the set of arcs going from C u to C v . So, by the definition of the weight of the arcs of H, we have that

u N v A H d u v = u N v A H i , j E u v d i j (15)

u N v A H i N j ' C u A G ' d i j ' (16)

= i N j ' \ C v A G ' d i j ' (17)

for a source j’ of Gv*.

Therefore,

v V H y v v V H y v v V H i V C v y i * = i V G ' y i * ,

where the first inequality comes from the optimality of y. The second inequality holds by Inequalities 12 and 13. □

We are interested in solving the WLCIP in condensed component graphs in this work. Despite this, the problem is general and is defined for any directed graph. It is a generalization of the LCIP where, for each vertex i of a given input graph, a weight w(i) is attached to it. We can see the LCIP as a particular case where all vertices have the same weight. So, as the LCIP is NP-hard, WLCIP is NP-hard as well. Besides being difficult to solve in general cases, unfortunately, this problem is difficult to solve in DAGs, as stated in the following theorem.

Theorem 4. WLCIP is NP-hard on directed acyclic graphs.

Proof. Suppose that there is a polynomial-time algorithm for the WLCIP on DAGs. We show that we would be able to solve the minimization version of the knapsack problem (min-knapsack) in polynomial time in such a case. However, min-knapsack is a notorious NP-hard problem (Carnes & Shmoys, 2008CARNES T & SHMOYS D. 2008. Primal-dual schema for capacitated covering problems. In: International Conference on Integer Programming and Combinatorial Optimization. pp. 288-302. Springer.; Csirik, 1991CSIRIK J. 1991. Heuristics for the 0-1 min-knapsack problem. Acta Cybernetica, 10(1-2): 15-20.).

Let (I, c, b, B) be an instance of min-knapsack, where for each item iI, c(i) > 0 is its cost and b(i) > 0 its size. We aim to find a subset JI such that iJci is minimum and iJbiB. We can assume 0<BiIbi.

Create the following instance for the WLCIP. We set V=vi:iI,E=0,wvi=bi and tvi=ci for all iI. Moreover, set α=BiIbi. Note that αviVwvi=B. Let AV be the set of activated vertices in an optimal solution. Observe J = {i: v iA} is an optimal solution for min-knapsack. □

Even though the WLCIP is NP-hard on DAGs, demanding a somewhat elaborate mathematical approach, it deserves further consideration. If we solve the WLCIP to optimality to obtain a lower bound for α < 1, Algorithm 1 loses scalability. Furthermore, we observed in preliminary experiments that the LP-relaxation of the formulation (8)-(11) does not provide a better lower bound than miniVG'ti (line 3 of Algorithm 1). Because of this, we do not solve the WLCIP in the experiments of Section 6. Attempts should be made to find lower bounds for the WLCIP tighter than the LP-relaxation of the formulation (8)-(11). For example, such attempts could be made by a combinatorial relaxation or by the LP-relaxation of a stronger formulation.

5 BRANCHING RULE

Observe that the greater the number of s.c.c. in G , the greater the lower bound can be. To take advantage of this, we formulate a branching rule that increases the number of strongly connected components in the sub-graphs associated with the child nodes sub-problems in the branch-and-bound tree.

The idea is to give higher priority to branch on the fractional variables associated with strong bridges (Definition 2) or strong articulation points (Definition 3) of G . In this way, when we fix in zero a variable associated with a strong articulation point (or strong bridge) and remove the corresponding vertex (or arc) of G , the number of components in G increases. Consequently, the number of vertices of the condensed graph increases too, and, in turn, the lower bound can also increase.

Definition 2 (Strong Bridge). A strong bridge of a directed graph G is an arc whose removal increases the number of strongly connected components of G.

Definition 3 (Strong Articulation Point). A strong articulation point of a directed graph G is a vertex whose removal increases the number of strongly connected components of G.

All the strong bridges and strong articulation points can be computed in O(|V | + |E|) time for a directed graph G = (V, E) (Italiano et al., 2012ITALIANO GF, LAURA L & SANTARONI F. 2012. Finding strong bridges and strong articulation points in linear time. Theoretical Computer Science , 447: 74-84.).

Algorithm 2 describes a branching rule based on these concepts. To describe it, we define the following notation. Denote by S the set of all connectivity cuts of G, that is, S contains all strong bridges and strong articulation points. Also, let sc(G, s) represent the number of strongly connected components generated by removing s from G , where sS can be an arc or a vertex of G. For a solution x^,y^,z^ of the continuous relaxation of a sub-problem (or feasible region) P, the set F=iVG:x^ii,jEG:z^ij contains the elements of G associated with the fractional variables of an LP-relaxation of the ILP model in Section 3. The list ℒ represents the list of active nodes of the branch-and-bound tree. Each node represents a problem, and P denotes the current sub-problem.

Algorithm 2:
Branching Rule

In Algorithm 2, the first step is to compute all the strong bridges and strong articulation points. Subroutine CONNECTIVITY CUTS (G ) represents this procedure which can be done using the algorithm presented in (Italiano et al., 2012ITALIANO GF, LAURA L & SANTARONI F. 2012. Finding strong bridges and strong articulation points in linear time. Theoretical Computer Science , 447: 74-84.). If there are fractional variables associated with the connectivity cuts, we choose the one that generates more strongly connected components (line 5). So we branch on the chosen variable by fixing it in zero for one child node and in one for the other.

6 COMPUTATIONAL EXPERIMENTS

We conducted computational experiments with the branch-cut-and-price framework SCIP 6.0 running in an Intel Core i5-3210M 2.50GHz with 4GB of RAM. We used Gurobi Optimizer 8.1 as the underlying LP-solver and implemented the algorithms in C++. The test set is composed of synthetic random directed graphs and real networks.

6.1 Synthetic graphs

As in (Fischetti et al., 2018FISCHETTI M, KAHR M, LEITNER M, MONACI M & RUTHMAIR M. 2018. Least cost influence propagation in (social) networks. Mathematical Programming, pp. 1-33.; Günneç et al., 2020aGÜNNEÇ D, RAGHAVAN S & ZHANG R. 2020a. A branch-and-cut approach for the least cost influence problem on social networks. Networks, 76(1): 84-105.), we use the generative model proposed by (Watts & Strogatz, 1998WATTS DJ & STROGATZ SH. 1998. Collective dynamics of ‘small-world’ networks. Nature, 393(6684): 440.) for small-world random graphs. The rewiring probability parameter for the small world graph is limited to assume values β ∈ {0.1, 0.3}. The influence weights on the arcs are chosen uniformly at random from {1,..., 10}. Let N(µ, σ) be a normally-distributed random variable, with mean µ and standard deviation σ . For every iV , we set ti=max1,minNμ,σ,di, where di=j,iEdji, μ = 0.7d i and σ=diNi. We restrict the experiments with synthetic graphs for α = {1, 0.5, 0.1}.

Table 1 summarizes the difference in performance when we apply the lower bound in the branch-and-cut. Each value on the table is the average of 5 executions. Every execution generates a new graph of a given size and average degree. The first column contains the name of instances in format n-deg where n is the number of vertices, and deg is the average degree. The second column is the value of β , the rewiring probability of the generative random graph model. The third column is the value of α, the portion of the network to be activated in the LCIP. In the other columns, BC means the branch-and-cut algorithm using only the LP-relaxation, and BC+ means using our combinatorial relaxation to get the lower bound, including the branching rule (Algorithm 2). Next, we present the time in seconds for those that finished before the time limit. The time limit for these instances is set to 1800 seconds. Dashed cells in the column “time” indicate that the running time reached the time limit. We marked in boldface the best results. E.g., in the instance “50-4” with α = 1, our method (BC+) required less running time to find the optimum. In column “dual bound”, the higher, the better, while the contrary is in the “primal bound”. Observe that our algorithm finds a better value for the dual bound in most instances. We have the corresponding average optimality gap between the dual and primal bounds in the last column. The symbol ∞ in the column “gap” denotes the gap is infinity or very large. The optimality gap is computed as defined in both solvers SCIP and Gurobi. Let l be the dual bound, and u be the primal bound. We set the gap to ∞ if l = 0. Otherwise, the gap is (ul)/l. Recall that the values in Table 1 are averages, so the gaps on the table are the average gaps. The number in parentheses next to the infinity symbol is the number of instances where the lower bound is greater than zero.

Table 1
Experiments with synthetic small-world graphs.

The results exhibited in Table 1 illustrate our algorithm behavior for graphs of different sizes and densities. Our algorithm is not effective when the graphs are small (50-4, for example). In some cases, the running time is worse than the branch-and-cut using only the LP-relaxation (BC). However, as the density and the number of vertices increases, our algorithm (BC+) achieves better gaps. While the BC has lower bounds equal to zero in many instances, BC+ always provides a lower bound greater than zero, contributing to smaller gaps. In the vast majority of the instances, our algorithm provides smaller gaps.

6.2 Real world networks

We also performed experiments with real-world social networks to demonstrate the effects of applying the lower bound algorithm on real data. We used the datasets of the Koblenz Network Collection (Kunegis, 2013KUNEGIS J. 2013. KONECT - The Koblenz Network Collection. In: Proc. Int. Conf. on World Wide Web Companion. pp. 1343-1350. Available at: http://userpages.uni-koblenz.de/∼kunegis/ paper/kunegis-koblenz-network-collection.pdf.
http://userpages.uni-koblenz.de/∼kunegis...
), human social network category.

Table 2 shows a short description of each social network used here. For each network, n is the number of vertices, and m is the number of arcs. The weights on the arcs are the original weights of the networks. On graphs with no arcs weights, we set the weights to 1. Lastly, the threshold t i , for each vertex i, is defined in the same way as in the synthetic graphs (see Section 6.1).

Table 2
Real world social networks.

Table 3 summarizes the results for real-world social networks. Dashed cells indicate that the running time reached the time limit (1800 seconds). Also, we enabled all the presolving methods of the SCIP framework for both algorithms BC and BC+. These presolving methods provide gains in running time or gap reduction for our algorithm, except in the Residence hall and Advogato networks. In the column entitled “dual bound”, the higher the number, the better. This column shows that our algorithm provides higher lower bounds in the majority of the networks for different values of α. It implies gains in the running time or gap reduction.

Table 3
Experiments on real world based social networks for α = {1, 0.5, 0.1}.

Regarding the primal bounds, the reader can see that the gains of BC+ are not so expressive compared to BC. Despite that, the gains with the lower bounds outweigh the losses with the primal bound. Moreover, lower bounds are commonly used to approximate the optimality gap of heuristic methods. Note that for three networks (Wiki-vote, DBLP, Cora Citation), there is a small benefit in applying the dual bound algorithm, i.e., the performance of the branch-and-cut is almost the same whether using the lower bound or not. These networks have in common that the problem was entirely solved in the root node of the branch-and-bound tree for both algorithms BC and BC+. We believe this happens because such networks are more sparse than the others. Thus no branching is performed on the variables, and the lower bound algorithm has no chance to exploit the connectivity of the sub-graphs. In this way, when there are few changes in the structures of the sub-graphs obtained from the branches, it is expected that our algorithm cannot increase the dual bounds significantly.

7 CONCLUSION

We proposed and analyzed an algorithm to compute a lower bound for the Least Cost Influence Problem based on particular properties of the problem. In addition to the algorithm itself, some auxiliary strategies proved to be helpful to increase the lower bounds. We designed custom branching strategies to strengthen the lower bounds by using strong bridges and strong articulation points. We also provide computational experiments on large social networks to check for practical applicability, showing that our algorithm can out-perform the linear programming relaxation.

Our results show that the subject should be approached carefully, and we envision some space for improvements. For example, it is possible to improve the experimental results by finding a relaxed solution such that its value corresponds to the lower bound found by our algorithm. Also, in dense graphs, we observed that the bounds behave better when α = 1 than when α < 1. However, when we are not interested in influencing all the network individuals and the sub-graphs are not strongly connected, the task becomes significantly more complex. In this case, getting higher lower bounds implies solving a new NP-hard problem named Weighted Least Cost Influence Problem. Because of this, it may be preferable to keep the algorithm efficient and straightforward. Despite the theoretical conclusions about the WLCIP, we do not rule out the possibility of finding other methods for obtaining better dual bounds efficiently in the case of α < 1. Therefore, seeking new ways to approach this case is an open question in this study. To conclude, we believe that our theoretical findings on the WLCIP can open up the path for research on deriving a strong formulation for the WLCIP and finding combinatorial algorithms to solve it.

Acknowledgements

The present article is an expanded version of the conference paper (de Melo et al., 2020DE MELO RS, VIGNATTI AL, MIYAZAWA FK & OTA MJ. 2020. Tighter Dual Bounds on the Least Cost Influence Problem. In: Proceedings of the 52nd Brazilian Operational Research Symposium. SBPO.).

This study was financed in part by the Coordenação de Aperfeiçoamento de Pessoal de Nível Superior - Brasil (CAPES) - Finance Code 001, CNPq (Proc. 314366/2018-0, 425340/2016-3) and FAPESP (Proc. 2015/11937-9).

References

  • ACKERMAN E, BEN-ZWI O & WOLFOVITZ G. 2010. Combinatorial model and bounds for target set selection. Theoretical Computer Science, 411(44-46): 4017-4022.
  • BEN-ZWI O, HERMELIN D, LOKSHTANOV D & NEWMAN I. 2011. Treewidth governs the complexity of target set selection. Discrete Optimization, 8(1): 87-96.
  • CARNES T & SHMOYS D. 2008. Primal-dual schema for capacitated covering problems. In: International Conference on Integer Programming and Combinatorial Optimization. pp. 288-302. Springer.
  • CHEN N. 2009. On the approximability of influence in social networks. SIAM Journal on Discrete Mathematics, 23(3): 1400-1415.
  • CHEN W, WANG C & WANG Y. 2010a. Scalable influence maximization for prevalent viral marketing in large-scale social networks. In: Proceedings of the 16th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. pp. 1029-1038. ACM.
  • CHEN W, WANG Y & YANG S. 2009. Efficient influence maximization in social networks. In: Proceedings of the 15th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. pp. 199-208. ACM.
  • CHEN W, YUAN Y & ZHANG L. 2010b. Scalable influence maximization in social networks under the linear threshold model. In: 2010 IEEE International Conference on Data Mining. pp. 88-97. IEEE.
  • CHIANG CY, HUANG LH, LI BJ, WU J & YEH HG. 2013. Some results on the target set selection problem. Journal of Combinatorial Optimization, 25(4): 702-715.
  • CORDASCO G, GARGANO L, RESCIGNO AA & VACCARO U. 2015. Optimizing spread of influence in social networks via partial incentives. In: International Colloquium on Structural Information and Communication Complexity. pp. 119-134. Springer.
  • CSIRIK J. 1991. Heuristics for the 0-1 min-knapsack problem. Acta Cybernetica, 10(1-2): 15-20.
  • DE MELO RS, VIGNATTI AL, MIYAZAWA FK & OTA MJ. 2020. Tighter Dual Bounds on the Least Cost Influence Problem. In: Proceedings of the 52nd Brazilian Operational Research Symposium. SBPO.
  • DEMAINE ED, HAJIAGHAYI MT, MAHINI H, MALEC DL, RAGHAVAN S, SAWANT A & ZADIMOGHADAM M. 2014. How to influence people with partial incentives. In: Proceedings of the 23rd International Conference on World Wide Web. pp. 937-948. ACM.
  • FISCHETTI M, KAHR M, LEITNER M, MONACI M & RUTHMAIR M. 2018. Least cost influence propagation in (social) networks. Mathematical Programming, pp. 1-33.
  • GRANOVETTER M. 1978. Threshold models of collective behavior. American Journal of Sociology, pp. 1420-1443.
  • GRÖTSCHEL M, JÜNGER M & REINELT G. 1985. On the acyclic subgraph polytope. Mathematical Programming , 33(1): 28-42.
  • GÜNNEÇ D, RAGHAVAN S & ZHANG R. 2020a. A branch-and-cut approach for the least cost influence problem on social networks. Networks, 76(1): 84-105.
  • GÜNNEÇ D, RAGHAVAN S & ZHANG R. 2020b. Least-cost influence maximization on social networks. INFORMS Journal on Computing, 32(2): 289-302.
  • ITALIANO GF, LAURA L & SANTARONI F. 2012. Finding strong bridges and strong articulation points in linear time. Theoretical Computer Science , 447: 74-84.
  • KEMPE D, KLEINBERG J & TARDOS É. 2003. Maximizing the spread of influence through a social network. In: Proceedings of the 9th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. pp. 137-146. ACM.
  • KUNEGIS J. 2013. KONECT - The Koblenz Network Collection. In: Proc. Int. Conf. on World Wide Web Companion. pp. 1343-1350. Available at: http://userpages.uni-koblenz.de/∼kunegis/ paper/kunegis-koblenz-network-collection.pdf
    » http://userpages.uni-koblenz.de/∼kunegis/ paper/kunegis-koblenz-network-collection.pdf
  • NEMHAUSER GL, WOLSEY LA & FISHER ML. 1978. An analysis of approximations for maximizing submodular set functions-I. Mathematical Programming , 14(1): 265-294.
  • RAGHAVAN S & ZHANG R. 2019. A branch-and-cut approach for the weighted target set selection problem on social networks. INFORMS Journal on Optimization, 1(4): 304-322.
  • ROGERS EM. 2010. Diffusion of innovations. Simon and Schuster.
  • SHARIR M. 1981. A strong-connectivity algorithm and its applications in data flow analysis. Computers & Mathematics with Applications, 7(1): 67-72.
  • WATTS DJ & STROGATZ SH. 1998. Collective dynamics of ‘small-world’ networks. Nature, 393(6684): 440.

Publication Dates

  • Publication in this collection
    10 Nov 2023
  • Date of issue
    2023

History

  • Received
    07 June 2023
  • Accepted
    25 July 2023
Sociedade Brasileira de Pesquisa Operacional Rua Mayrink Veiga, 32 - sala 601 - Centro, 20090-050 Rio de Janeiro RJ - Brasil, Tel.: +55 21 2263-0499, Fax: +55 21 2263-0501 - Rio de Janeiro - RJ - Brazil
E-mail: sobrapo@sobrapo.org.br