Appl Intell DOI 10.1007/s10489-017-0905-4 An improved DPOP algorithm based on breadth first search pseudo-tree for distributed constraint optimization Ziyu Chen1 · Zhen He1 · Chen He1 © Springer Science+Business Media New York 2017 Abstract Depth First Search (DFS) pseudo-tree is popularly used as the communication structure in complete algorithms for solving Distributed Constraint Optimization Problems (DCOPs) from multiagent systems. The advantage of a DFS pseudo-tree lies in its parallelism derived from pseudo-tree branches because the nodes in different branches are relatively independent and can compute concurrently. However, the constructed DFS pseudo-trees in experiments often come to be chain-like and greatly impair the performances of solving algorithms. Therefore, we propose a new DPOP algorithm using a Breadth First Search (BFS) pseudo-tree as the communication structure, named BFSDPOP. Compared with a DFS pseudo-tree, a BFS pseudo-tree is more excellent on the parallelism as it has much more branches. Another notable advantage is that the height of a BFS pseudo-tree is much lower than that of a DFS pseudo-tree, which gives rise to the shorter communication paths and less communication time. The method of Cluster Removing is also presented to allocate cross-edge constraints to reduce the size of the largest message in BFSDPOP. In the experiment, BFSDPOP with a Ziyu Chen chenziyu@cqu.edu.cn Zhen He hezhen127287@163.com Chen He hechen316@163.com 1 College of Computer Science, Chongqing University, Chongqing, China BFS pseudo-tree and original DPOP with a DFS pseudotree are compared on three types of problems - graph coloring problems, meeting scheduling problems and random DCOPs. The results show that BFSDPOP outperforms original DPOP in most cases, which proves the excellent attributes of BFS pseudo-tree over DFS pseudo-tree. Keywords Multiagent system · Distributed constraint optimization · Breadth first search pseudo-tree · DPOP 1 Introduction Presently, multiagent systems (MAS) [1] are widely deployed in real life to accomplish distributed satisfaction and optimization tasks. Distributed Constraint Optimization Problems (DCOPs) [2] are a fundamental framework that can formalize various applications related to multi-agent cooperation such as sensor networks [3–5], meeting and task scheduling [6, 7], power networks [8–10] and so on. DCOPs can be considered as the extensive form of Distributed Constraint Satisfaction Problems (DCSPs) [11] firstly formalized in [12]. A DCOP is composed of a number of agents, each of which chooses a value from its finite domain for its variable under some constraints. Moreover, the agents have to cooperate with each other and coordinate their values to make all the constraints optimal. To solve DCOPs, large amounts of distributed algorithms are proposed and these algorithms can be divided into two categories, i.e., incomplete and complete. Incomplete DCOP algorithms find a suboptimal solution in given time, including three groups [13], i.e., local search algorithms, inference-based Z. Chen et al. algorithms and sampling-based algorithms. Local search incomplete algorithms typically use local knowledge of each agent to optimize its individual benefit and can thus potentially get trapped in local optima [14], including. DBA [15, 16], DSA [17], MGM [18, 19], etc. Inference-based incomplete algorithms like Max-Sum [20] and its variants [21, 22] gather global information by propagating and accumulating the max utilities of constraints but are more appropriate to acyclic DCOP graphs. Recently, samplingbased incomplete algorithms like DUCT [23] and D-Gibbs [24, 25] have been proposed to sample the search space to approximate a function as a product of statistical inference [13]. Summarily, incomplete algorithms require little local computation and communication to find solutions at the cost of sacrificing optimality. Complete algorithms are those that guarantee to find the optimal solution and can be further divided into two groups: partially centralized and fully decentralized. Partially centralized algorithms [26, 27] solve sub-problems faster but the privacy easy-leaking risk is high. Due to their good privacy and distributed feature, fully decentralized algorithms have attracted more attention, and can typically be divided into two subgroups: inference-based algorithms and search-based algorithms. SynchBB [28] is a typical search-based decentralized complete algorithm built on a chain communication structure, adopting backtracking and branch-and-bound search strategy. However, the synchronous execution of SynchBB wastes most computing resources. AFB [29] and ConcFB [30] were presented to enhance concurrent computation. For higher parallelism, Modi et al. presented an asynchronous complete algorithm named ADOPT [31], using a Depth First Search (DFS) pseudo-tree generated by DFS traversal as the communication structure and a best-first search strategy. Many search algorithms based on ADOPT thrive afterward [32, 33]. BnB-ADOPT [34] is an important variant of ADOPT, which improves search efficiency by replacing the bestfirst search strategy with a depth-first search strategy. Arc consistency was introduced into BnB-ADOPT to achieve better performance in [35, 36]. However, these search-based algorithms have an exponential number of messages, which may be a serious problem when the communication cost is expensive. Inspired by sum-product algorithm, Petcu and Faltings proposed an inference-based complete algorithm named DPOP [37] where a dynamic programming strategy and a pseudo-tree communication structure were adopted. In DPOP, the assignment combination utilities are sent bottomup and then the value decisions are propagated vice versa along the pseudo-tree. It just requires a linear number of messages and can deal with large DCOPs whose pseudotrees have low induced-width. Afterwards, Petcu and Faltings presented two improved algorithms, ODPOP [38] and MBDPOP [39], to solve memory-bounded problems. In addition, Vinyals et al. proposed generalizing DPOP of exploiting Action-GDL to improve the algorithm efficiency, where the constraint graph was transformed to a distributed junction tree [40]. Function filtering was used in [41] to exploit utility bounds for smaller runtimes, and branch consistency was used in [42] to deal with hard constraints and large message size. Our study focuses on the inference-based DPOP algorithm. Different from most research on improving its solution strategy, we catch the idea from another point, its pseudo-tree structure. It has been acknowledged that the generation of a pseudo-tree has a significant impact on the performance of DPOP. It also has been proved that finding a high-quality pseudo-tree with the minimal induced width is a NP-hard problem. A bad pseudo-tree will greatly impair the algorithm performance and even make the algorithm fail by timeout or out-of-memory exceptions in the worst case. Unfortunately, few studies have been made concerning the generation of a pseudo-tree. DFS pseudo-tree is the most commonly used pseudo-tree structure but DFS traversal often leads to a low-quality chain-like pseudo-tree with poor parallelism. Atlas et al. tried to construct a best-first pseudo-tree by best-first search traversal as the communication structure of DPOP [43]. However, DCPOP in [43] is more general and complex since it has to consider both back-edges and cross-edges. In the paper, we propose a pseudo-tree generated by Breadth First Search (BFS) traversal, called BFS pseudotree, as the communication structure of DPOP. For the same constraint graph, the height of a BFS pseudo-tree is often much lower than that of a DFS pseudo-tree, which means the communication path or message transmission path is shorter and the communication time is less. A BFS pseudotree is also better than a DFS pseudo-tree on the parallelism since the former has more branches and more agents can compute concurrently. Compared with the best-first pseudotree in [43], a BFS pseudo-tree also has better parallelism and can be less costly and time consuming to construct. Besides the difference on the pseudo-tree structure, the methods of disposing cross-edges in [43] and our proposed BFSDPOP are also different. In [43], the cross-edge constraints are always computed by their branch-parent nodes while the cross-edge constraints are allocated by the method of Cluster Removing in BFSDPOP. The rest of the paper is structured as follows. Section 2 presents the DCOP definition, pseudo-tree communication An improved DPOP algorithm based on breadth first search pseudo-tree... structures and notations along with DPOP and its variants. Section 3 illustrates the details of BFSDPOP and the theoretical analysis of its advantages and disadvantages. Section 4 gives the experimental evaluation and discussion of the results. Finally, we conclude and give our future research work in Section 5. 2 Background 2.1 Distributed constraint optimization problem A DCOP is defined as a tuple A, X, D, R such that: • • • A = {A1 , . . . , Aq } is a set of agents. X = {X1 , . . . , Xn } is a set of variables. Each variable Xi is controlled by an agent. D = {D1 , . . . , Dn } is a set of finite variable domains, variable Xi taking a value in Di . Fig. 1 The constraint graph (a) and corresponding constraint utilities (b) of a DCOP instance • R = {r1 , . . . , rm } is a set of constraints, where a con straint ri is any function with the scope Xi1 , . . . , Xik , ri : Di1 × . . . × Dik → R+ which denotes how much utility or cost is assigned to each possible combination of values of the involved variables. Without loss of generality, a solution to a DCOP is an assignment to all variables that maximizes (minimizes) the total utilities (costs) as shown by formula (1), which are the sum of all constraints: X ∗ = argmax X∈D i ri (X∗ = argminX∈D i ri ) (1) To facilitate understanding, the paper assumes that each agent has a single variable and constraints are binary relations. Here, the term “agent” and “variable” can be used interchangeably. A binary constraint is a constraint involving exactly two variables, which is defined as rij :Di ×Dj → R+ . Z. Chen et al. It is common that a DCOP problem is visualized as a constraint graph where the nodes are the agents and the edges are the constraints. Figure 1 shows an example of a DCOP problem whose constraint graph and constraint utilities are shown in Fig. 1a and b, respectively. The DCOP instance includes 11 variables, each of which takes its value in {1, 2, 3}. In this instance, the maximal sum of all utilities is 785 and X∗ = {2, 2, 2, 2, 3, 2, 1}. 2.2 Pseudo-tree communication structures and notations In order to solve a DCOP, DCOP algorithms must perform on the communication structures derived from its constraint graph. A communication structure is an ordered constraint graph, which decides the agent ordering to send and receive messages. There are three types of communication structures: original graph, chain structure and pseudo-tree structure. Original graph is commonly used in incomplete algorithms to find a suboptimal solution rapidly, where each agent can communicate with all its connected agents. Chain structure and pseudo-tree structure are often used in complete algorithms, where the agents make decisions by accumulated information which is propagated with a pre-defined order, and work cooperatively to find out the optimal solution. Chain structure is the earlier used communication structure in complete DCOP algorithms, where agents are prioritized to a chain. However, limited by chain structure, the agents execute in sequence, which leads to poor efficiency. To improve the efficiency, pseudo-tree structure was proposed as it enables agents in different branches to Fig. 2 A DFS pseudo-tree (a) and a BFS pseudo-tree (b) derived from Fig. 1a compute independently and concurrently. In [44], we gave an overview of these different communication structures and analyzed their effects on solving a DCOP. A pseudo-tree is a spanning tree with non-tree edges. At present, pseudo-tree structure is the most commonly used communication structure. The performance of algorithm heavily relies on the quality of constructed pseudo-tree. Generally, a pseudo-tree can be generated by traversing the original constraint graph using three types of strategies: depth-first search (DFS), breadth-first search (BFS) and best-first search. A pseudo-tree generated by DFS traversal, called a DFS pseudo-tree, is a DFS spanning tree with back-edges which connect two nodes in the same tree branch. A pseudo-tree generated by BFS traversal, called a BFS pseudo-tree, is a BFS spanning tree with cross-edges which connect two nodes in two different tree branches. A pseudo-tree generated by best-first search traversal, called a best-first pseudo-tree, is a best-first spanning tree with both back-edges and cross-edges. DFS pseudo-trees are widely used in DCOP algorithms. Specifically, DFS starts exploration from the selected root and recursively visits a neighbor of the current node. If all neighbors of the current node are visited, DFS backtracks to the previous node. Distributed DFS pseudo-tree construction algorithms can be found in [45, 46]. However, DFS pseudo-tree has its “bottleneck” when the branches may be very few since DFS always explores as far as possible along each branch before backtracking. Taking Fig. 1a for example, if we select X1 as the root, the trace of DFS would be X1 , X2 , X3 , X4 , X5 , X6 , X7 , whose corresponding DFS spanning tree only has two branches. Thus, in many An improved DPOP algorithm based on breadth first search pseudo-tree... cases, the constructed DFS pseudo-trees are more just like a chain with poor parallelism. Atlas et al. used distributed best-first search traversal to construct a best-first pseudotree for DCPOP [43], but DCPOP has to deal with backedges and cross-edges simultaneously, which makes it more complex. Additionally, it cannot fully exploit the parallelism coming from multiple branches like a BFS pseudo-tree. In this paper, we propose to use a BFS pseudo-tree as the communication structure. Compared with a DFS pseudotree and a best-first pseudo-tree, a BFS pseudo-tree has more branches and a shorter message transmission path, which gives rise to better parallelism and less network transmission time. A distributed BFS pseudo-tree construction algorithm is shown by Algorithm 1 in Section 3.1. In contrast to DFS, BFS starts at the root node and explores the neighbors first before moving to the next level neighbors. Figure 2 shows an example of a DFS pseudo-tree and a BFS pseudo-tree both derived from the constraint graph in Fig. 1a, where tree edges and non-tree edges are shown as solid lines and dotted lines, respectively. It can be seen from Fig. 2 that the BFS pseudo-tree has more branches and a shorter message transmission path than the DFS pseudo-tree. To describe a pseudo-tree and DCOP solution space, some notations are defined as follows: • • • • • • • • • • Pi − the parent of node Xi : the single higher node directly connecting Xi through a tree edge (e.g., P2 = X1 in both Fig. 2a and b). P P i − the set of pseudo-parents of node Xi : the higher nodes directly connecting Xi through back edges (e.g., P P 5 = {X2 , X3 } in Fig. 2a). Ci − the set of children of node Xi : the lower nodes directly connecting Xi through tree edges (e.g., C1 = {X2 } in Fig. 2a and C1 = {X2 , X3 } in Fig. 2b). P C i − the set of pseudo-children of node Xi : the lower nodes directly connecting Xi through back edges (e.g., P C 3 = {X5 , X6 , X7 } in Fig. 2a). Ni − the set of neighbors of node Xi : the neighboring nodes that directly connect Xi (e.g., N2 = {X1 , X3 , X4 , X5 } in both Fig. 2a and b). P N i − the set of pseudo-neighbors of node Xi : the neighboring nodes that directly connect Xi through non-tree edges; P N i ⊆ Ni (e.g., P N 2 = {X4 , X5 } in Fig. 2a and P N 2 = {X3 } in Fig. 2b). wi − the width of node Xi : the number of high-priority neighbors (i.e., Pi and P P i ) of Xi (e.g., w5 = 3 in Fig. 2a). w∗ − the induced width of a pseudo-tree: the maximal width over all agents of a pseudo-tree (e.g., w ∗ = 3 in Fig. 2a). E(Xi , Xj )− the edge connecting node Xi and Xj . BE(Xi , Xj )− back-edge, a non-tree edge in a DFS pseudo-tree, which directly connects node Xi and Xj • • • • • in the same branch (e.g., BE(X2 , X4 ) is a back-edge in Fig. 2a). CE(Xi , Xj )− cross-edge, a non-tree edge in a BFS pseudo-tree, which directly connects node Xi and Xj in two different branches (e.g., CE(X2 , X3 ) is a crossedge in Fig. 2b). CT (Xi , Xj )− the constraint on edge E(Xi , Xj ), which is a two-dimensional matrix data (e.g., CT (X1 , X2 ) is the constraint utility in Fig. 1b). CEC i − cross-edge cluster: a set of cross-edges connecting the mutual node Xi which is called the center of CEC i (e.g., CEC 3 ⊆ {E(X2 , X3 ), E(X3 , X4 ), E(X3 , X5 )} in Fig. 2b). DI M = {dim1 , . . . , dimn }− the set of the dimensionalities in multi-dimensional data wrapped in a utility message. dimi is the dimensionality corresponding to node Xi with the size of |Di |. MD S , S ⊆ DI M− the multi-dimensional data wrapped in a utility message that involves the dimensionalities in the set S. CT Xi , Xj = MD {dimi ,dimj } and the solution space of a DCOP is MD DI M (e.g., the constraint utility in Fig. 1b can be expressed as MD {x1 ,x2 } ). 2.3 DPOP and its variants Distributed Pseudo-tree Optimization Procedure (DPOP) [37] is an inference-based complete algorithm using a dynamic programming strategy and a DFS pseudo-tree as the communication structure. DPOP performs the following three phases in sequence. Firstly, it performs a preprocessing phase to transform the constraint graph of a DCOP into a DFS pseudo-tree. After this phase, each agent Xi knows Pi , P P i , Ci and P C i . Then, a utility propagation phase starts from the leaf agents. In the phase, each agent joins the received utilities from its children with local constraint utilities for its parent and pseudo-parents, reduces its dimensionality from the joint utilities by calculating the optimal utility for each combination of remaining dimensionalities and then propagates the calculated utilities to its parent. Finally, a value propagation phase starts from the root agent. In the phase, each agent selects its optimal assignment based on the utilities calculated in the previous phase and the assignment received from its parent, and broadcasts its assignment to its children. The algorithm terminates when all agents have chosen their optimal assignments. During the utility propagation phase, UTIL messages are sent from an agent to its parent. A UTIL message contains the multi-dimensional utilities for each set of assignments from the sub-problem started in the sender agent. An agent can only send a UTIL message to its parent after receiving the UTIL messages from all its children. During the value propagation phase, VALUE messages are sent from an agent Z. Chen et al. to its children. A VALUE message carries the received assignments and the optimal assignment of the sender agent. DPOP requires a linear number of messages that is O(|X|) to solve a DCOP since the number of utility and value messages are both (|X| − 1), where |X| is the number of agents. However, the maximal message size in DPOP is exponen∗ tial in the induced width of the DFS pseudo-tree: O(d w ). Here, d = max Di ∈D |Di |. Many research efforts have been made to reduce the maximal message size in DPOP. ODPOP [38] is an optimization algorithm for DPOP by replacing the utility propagation phase with a ASK/GOOD phase where each node iteratively asks (via ASK messages) its children for valuations (goods) until it can compute suggested optimal assignments for its ancestors. ODPOP can generate smaller messages but more messages. MB-DPOP [39] uses the idea of cycle-cuts [47] to deal with the high-width areas of the pseudo-tree in DPOP. In MB-DPOP, a control parameter k is introduced to specify the maximal amount of inference (i.e., maximal message dimensionality) and bounded inference is performed in the areas of width higher than k. Anyway, ODPOP and MB-DPOP both trade the number of messages for smaller messages. Besides, Action-GDL [40] extends Generalized Distributive Law (GDL) to solve DCOPs by means of a distributed junction tree, which generalizes DPOP. Inspired by DCTE-based algorithms [48], BT-IDPOPf [41] was proposed to improve DPOP by introducing cost function filtering pertaining to a global upper bound UB on the maximum acceptable cost of any solution and a bucket tree (BT) derived from the DFS pseudotree of a DCOP. Recently, BrC-DPOP [42] was proposed to apply branch consistency to paths in DFS pseudo-trees and introduce two phases, arc consistency (AC) propagation phase and branch consistency (BrC) propagation phase, into DPOP. 3 BFSDPOP To achieve better parallelism and higher communication efficiency, we propose BFSDPOP using a BFS pseudotree in place of a DFS pseudo-tree in original DPOP [37] as the communication structure. In the section, we firstly introduce a distributed algorithm for BFS pseudotree construction and give the proofs of its feasibility (see Section 3.1). Secondly, the solution space operations in DPOP are analyzed and thus a method of disposing crossedges in a BFS pseudo-tree, cluster removing, is presented (see Section 3.2). Next, an example is given to compare the execution process on a DFS pseudo-tree with that on a BFS pseudo-tree (see Section 3.3). Then, the BFSDPOP algorithm is detailed (see Section 3.4). Finally, the complexity of BFSDPOP is analyzed (see Section 3.5). 3.1 BFS Pseudo-tree construction A distributed algorithm for constructing a BFS pseudo-tree is given in Algorithm 1. Algorithm 1 The distributed synchronous algorithm for constructing a BFS pseudo-tree Procedure initialize 1: Elect the root node 2: Set , , 3: Set 4: if node has at least one neighbor then 5: if is the root then 0 6: Set 7: Add into 8: for each node in do 9: Send to by LAYER message 10: end When received LAYER message from node 11: Mark has received a message from 12: if 1 then 13: Set 1 14: Set 15: Add into 16: for each node in 17: Send to by LAYER message 18: end 19: Send ACK message to 20: else 21: Remove from 22: Add into 23: if has received a message from each neighbor then 24: terminate When received ACK message from node Xy 25: Mark has received a message from 26: if has received a message from each neighbor then 27: terminate In Algorithm 1, Lx denotes the layer index of node Xx in the constructed BFS pseudo-tree. If Xx is the root node, then Lx = 0 (lines 5–6). A LAYER message carries the layer index and a ACK message carries nothing. LAYER messages are sent from a node to all its neighbors except its parent (lines 7–10 and 15–18). ACK message is a message acknowledgement sent from a node to its parent (line 19), which is used to determine whether to terminate the algorithm. After it receives messages from all its neighbors, an agent terminates execution (lines 23–24 and 26–27). Like most distributed DFS pseudo-tree construction algorithms [45], Algorithm 1 is also executed synchronously in a preprocessing phase. In Algorithm 1, each node learns its position in the pseudo-tree, which is given by its knowledge of its parent, children and pseudo-neighbors, from LAYER An improved DPOP algorithm based on breadth first search pseudo-tree... messages that carry its layer index and are exchanged only with its neighbors. However, each agent in distributed DFS pseudo-tree construction algorithms knows its position in the pseudo-tree, which is given by its knowledge of its parent, children, pseudo-parents and pseudo-children, by a unique message that includes all the visiting node indices and is circulated to all the nodes in the graph. Proposition 1 According to Algorithm 1, the agents added into the BFS spanning tree in the N-th cycle have the identical layer index. Proof Assume that there exist two agents, Xi and Xj , added into the BFS spanning tree in the N-th cycle and the two agents have different layer indices (i.e., Li = Lj ). It can be inferred from line 13 that the parents of Xi and Xj also have different layer indices in the (N − 1)-th cycle (i.e., Li − 1 = Lj − 1 ⇔ LPi = LPj ). So the assumption holds for the (N − 1)-th cycle. By the mathematical induction, it can be concluded that the assumption holds for every cycle before the N-th cycle. Accordingly, the root node has two different layer indices in the first cycle (i.e., Li − N + 1 = Lj − N + 1 ⇔ Lroot = Lroot ), which is contradictory. Thus, by reduction to absurdity, all agents added into the BFS spanning tree in the N-th cycle should have the identical layer index. Proposition 1 is proved. Proposition 1 indicates that the newly added agents in every cycle have the identical layer index. It manifests that Algorithm 1 is synchronous under a multi-agent context. Theorem 1 Algorithm 1 constructs a BFS pseudo-tree and guarantees topology privacy. Proof Since Algorithm 1 executes synchronously, the layer index is increased by 1 in each cycle. From lines 8–10 and 15–18, it can be inferred that each node Xx will receive one LAYER message with (Ly + 1) < Lx from its parent and one LAYER message with (Ly + 1) ≥ Lx from each of its pseudo-neighbors. And so all nodes will get their correct pseudo-tree information of parent, children, pseudoneighbors and layer index by lines 6–7, 13–15 and 21–22. As each node sends LAYER messages to all its neighbors except its parent and an ACK message to its parent, all nodes will receive one message from each neighbor. Thus, each node will meet the termination condition (lines 23–24 and 26–27) and the algorithm will terminate soundly with the result of a BFS pseudo-tree. Before running Algorithm 1, each node knows the topological construct in which it is involved, i.e., who are connected to it. Algorithm 1 introduces two types of messages, LAYER messages and ACK messages, to establish a BFS pseudo-tree. In other words, topology privacy leaking risk comes only from the two types of messages. An ACK message is only sent to one neighbor (connected node) of a node (i.e., its parent) and carries nothing, so it does not incur any privacy leak. LAYER messages are sent from a node to all its neighbors except its parent and carry only the layer index of the node. Thus, there is not any message communication among non-connected nodes. Compared to its previous knowledge, each node only knows one more information about the layer indices of its neighbors. Yet, the layer indices only help a node to label its neighbors as its parent, children or pseudo-neighbors and cannot reveal the topological constructs of its neighbors. Therefore, after running Algorithm 1, no node should be able to discover the existence of topological constructs in the constraint graph unless it is involved in the construct, which satisfies topology privacy [46]. So, Theorem 1 is proved. 3.2 Cluster removing - method of allocating cross-edge belonger 3.2.1 Solution space operations in DPOP-dimensionality reduction and dimensionality union BFSDPOP is a variant of DPOP, which only changes the communication structure. So it is necessary to illustrate how DPOP works out the solution assignment. In fact, DPOP solves a DCOP by gradually reducing the dimensionalities of MD DI M which is the solution space of the DCOP. During the process, the two operations, dimensionality reduction and dimensionality union, are utilized alternately. Dimensionality reduction reduces the size of solution space; dimensionality union joins two multi-dimensional data together and merges the same dimensionalities. The two operations can be expressed as follows: RD dimi (MD S ) = minv∈Di (MD S ) = MD S\{dimi } , dimi ∈ S (2) B U D (MD A , MD B ) = MD A A∪B + MD A∪B = MD A∪B , A ∩ B = ∅ (3) RD dimi is the operation of reducing the dimensionality dimi . U D (MD A , MD B ) is the operation of uniting two multi-dimensional data, MD A and MD B , where MD A A∪B and MD B A∪B denote the extended multi-dimensional data from MD A and MD B , respectively. More precisely, the core of DPOP is the RD operation on the solution space. DFS and BFS pseudo-trees prioritize the order of reducing dimensionality. In a DFS pseudo-tree, all agents can reduce the dimensionality of itself locally. However, it is different in a BFS pseudo-tree because the dimensionalities may be incomplete. A dimensionality of multi-dimensional data can be reduced if and only if the dimensionality is complete. To illustrate the RD Z. Chen et al. condition clearly, we give the definitions of Dimensionality Completeness and Dimensionality Complete Value. • • DC i − the Dimensionality Completeness of dimensionality dimi . DCV i − the Dimensionality Complete Value of dimensionality dimi . For DC i and DCV i , there are: 1) DCV i = |Ni | 2) DC i = DC j = 1 for MD {dimi ,dimj } of CT (Xi , Xj ) A B 3) DC C i = DC i + DC i for U D (MD A , MD B ) = A MD C , where DC i is the Dimensionality Completeness of dimi in MD A , DC B i is the Dimensionality Completeness of dimi in MD B and DC C i is the Dimensionality Completeness of dimi in the united MD C The RD condition is that RD dimi (MD S ) can be executed if and only if DC i = DCV i . DCV i is a fixed value and DC i increases from 1 to |Ni |. When DC i increases to |Ni |, the dimensionality of Xi meets the RD condition. In BFSDPOP, the RD and UD operations are the same as in DPOP. However, BFSDPOP performs these operations on a BFS pseudo-tree where the cross-edges must be properly disposed. Since a cross-edge connects two nodes in different branches, the constraint on it should be computed by only one, rather than both, of them. The constraint computation must be properly allocated. Otherwise, the dimensionalities of many nodes cannot meet the RD condition, which will lead to very large message size. 3.2.2 The method of cluster removing The method of Cluster Removing is used to dispose the constraints on cross-edges to make the maximal message size as small as possible. If the constraint CT (Xi , Xj ) on a non-tree edge E(Xi , Xj ) (including a back-edge in a DFS pseudo-tree and a cross-edge in a BFS pseudo-tree) is computed by Xi (or Xj ), we call Xi (or Xj ) the belonger of this non-tree edge. The dimensionality of the non-belonger of a nontree edge cannot be reduced locally and will be transmitted upward because only the node which is the belonger of all its connected edges satisfies the condition of locally reducing dimensionality (i.e., DC i = DCV i ). In other words, each non-tree edge (Xi , Xj ) forms a ring with the tree edges in the pseudo-tree and the dimensionality dimj (or dimi ) of the non-belonger is transmitted upward along the ring. And, the reduction of the dimensionality takes place at the highest node of the ring. To take CE(X3 , X5 ) in Fig. 2b for example, assume that the belonger of CE (X3 , X5 ) is X3 . It can be seen that CE(X3 , X5 ) forms a ring of (X5 , X2 , X1 , X3 ). And so the dimensionality dim5 is transmitted upward along the ring till X1 where dim5 is reduced. In a DFS pseudo-tree, the non-tree edges are back-edges and the constraints on them are always computed by pseudochildren. In a BFS pseudo-tree, the non-tree edges are crossedges and should be properly allocated. If the cross-edge belongers are allocated randomly, the maximal dimensions of utility message involved in the algorithm may be very large. For example, if the belongers of CE(X5 , X6 ) and CE(X5 , X7 ) are allocated to X5 in Fig. 2b, the dimensionality of dim6 and dim7 will both be transmitted along path (X5 , X2 , X1 ) and (X3 , X1 ). However, if their belongers are set to be X6 and X7 , the transmitted dimensionality along path (X5 , X2 , X1 ) and (X3 , X1 ) will be only dim5 . We propose the method of Cluster Removing to allocate cross-edge belongers after a BFS pseudo-tree construction. The pseudo-code is shown by Algorithm 2. Algorithm 2 The cluster removing algorithm for allocating cross-edge belonger Procedure initialize 01: Compute CE and is not allocated 02: if is a leaf then 03: Send and to by CEC message When received CEC message from 04: Mark has received a CEC message from 05: if has received a CEC message from each child then 06: Select the max from all and 07: if is not the root then 08: Send and to by CEC message 09: else 10: if is equal to 0 then 11: terminate 12: for each in do 13: Send to by ALLOCATE message 14: end When received ALLOCATE message from 15: if is then 16: for each do 18: Set belonged to 19: end 20: Compute 21: Send and to by CEC message 22: else 23: for each in do 24: Send to by ALLOCATE message 25: end The Cluster Removing has two phases: phase 1 is a propagation process of CEC messages from bottom to top along the BFS pseudo-tree to find the maximal CEC; phase 2 is a propagation process of ALLOCATE An improved DPOP algorithm based on breadth first search pseudo-tree... Fig. 3 The execution process of original DPOP with the DFS pseudo-tree in Fig. 2a X5 X6 X4 X7 X2 X1 messages from top to bottom to allocate the belongers of crossedges in the maximal CEC. Initially, Xi computes CEC i and the leaf agents activate the message-driven process by sending CEC messages carrying the size and center of CEC i to their parents (lines 1–3). Phase 1 When receiving CEC messages from all its children, Xi selects the maximal one from the received |CEC j | and |CEC i | (lines 4–6). If it is not the root, Xi sends a CEC message carrying the max |CEC k | and its center Xk to its parent (lines 7–8). Otherwise, Xi terminates execution when the received |CEC j | is 0 (lines 9–11) or broadcasts the center Xk of the max |CEC k | to its children via ALLOCATE messages when not (lines 12–14). Phase 2 When receiving an ALLOCATE message from its parent, Xi first judges whether it is the center carried by the message (line 15). If so, it allocates the cross-edges in CEC i to its neighbors, then re-computes CEC i and sends the size and center of CEC i to its parent via a CEC message Fig. 4 The execution process of BFSDPOP with the BFS pseudo-tree in Fig. 2b X4 (lines 16–21). Otherwise, it broadcasts ALLOCATE messages carrying the received center to its children (lines 23–25). In fact, the Cluster Removing divides the whole crossedge set into several subsets. Each subset includes all the cross-edges connecting the mutual node, that is, each subset is a cross-edge cluster. And, the cross-edge belongers are allocated to the nodes that are not the cluster center so only the cluster center is the non-belonger in each cluster. Since each cross-edge and the tree edges form a ring along which the dimensionality of the non-belonger is transmitted upward, the dimensionality of the cluster center is only transmitted along the rings formed by the cross-edges in a cross-edge cluster. So the Cluster Removing makes most nodes meet the condition of locally reducing dimensionality. If a constraint graph is a tree, all dimensionalities can be reduced locally and the maximal dimensions of utility message will be only 2. If the cross-edges are randomly allocated, the utility message size can be very large. The Cluster Removing guarantees the maximal dimensions no more than (|CEC| + 2) X2 X5 X6 X7 X3 X3 X1 Z. Chen et al. (see Section 3.5). With the help of Cluster Removing, we can easily exploit the excellent attributes of a BFS pseudotree on the parallelism and communication time without causing too large of a utility message. To take the BFS pseudo-tree in Fig. 2b as an example, the execution process of the Cluster Removing is as follows: (1) The largest CEC, CEC 5 with size 4, is selected out by phase 1 of cycle 1; (2) The belongers of CE (X3 ,X5 ), CE (X4 ,X5 ), CE (X5 ,X6 ) and CE (X5 ,X7 ) are allocated to X3 , X4 , X6 and X7 respectively by phase 2 of cycle 1; (3) The largest CEC, CEC 3 with size 2, is selected out by phase 1 of cycle 2; (4) The belongers of CE (X2 ,X3 ) and CE (X3 ,X4 ) are allocated to X2 and X4 respectively by phase 2 of cycle 2. Since the selected CECs are CEC 3 and CEC 5 , all dimensionalities will satisfy the dimensionality reduction condition and be reduced locally except for dim3 and dim5 . And, dim3 and dim5 will be reduced in the root agent X1 . 3.3 Execution procedures on DFS and BFS pseudo-tree To take the DFS pseudo-tree in Fig. 2a as an example, the execution process of original DPOP is shown by Fig. 3. By the Cluster Removing, the cross-edges in Fig. 2b are divided into two CECs: CEC 5 and CEC 3 . Accordingly, the execution process of BFSDPOP with the BFS pseudotree is given by Fig. 4. Here, “}” denotes the operation of dimensionality union, “ ⇒ ” represents the operation of dimensionality reduction, and “ → ” means just sending the data to the parent with no operation. (Xi , Xj , . . .) is local constraint data, [X i , Xj , . . .] is the received constraint data from child, and Vi is the optimal assignment of node Xi . It can be seen from Fig. 3 that original DPOP can perform dimensionality reduction locally since the dimensionalities of agents are complete (e.g., the local dimensionality completeness of X5 is 3, the dimensionality completeness sent by X6 and X7 both are 1, and thus DC 5 = DCV 5 = 5). However, DPOP keeps the dimensionality completeness at the cost of sacrificing parallelism. In other words, agents need DFS pseudo-tree structure which has poor parallelism to guarantee dimensionality completeness in every step. Thus, it needs 6 steps to eliminate all dimensionalities, just performing a chain-like process. In contrast, with the help of Cluster Removing, our method utilizes better parallelism of BFS pseudo-tree and makes most nodes meet the condition of locally reducing dimensionality. As seen from Fig. 4, the leaf agents X4 , X5 , X6 and X7 send utilities concurrently and most of them can perform dimensionality reduction locally (e.g., X4 , X6 and X7 in Fig. 4). Consequently, our method uses 3 serial steps to solve the problem, which is superior to original DPOP. Besides, we can see from Figs. 3 and 4 that our method does not generate larger message than original DPOP and their maximal message sizes are both 3-dimensional. 3.4 The BFSDPOP algorithm The detailed procedure of BFSDPOP is shown by Algorithm 3. Algorithm 3 BFSDPOP for distributed constraint optimization problems executes: BFSDPOP(X, D, R): each agent Procedure Preprocessing 01: Generate a BFS pseudo-tree by Algorithm 1 //now knows and 02: Allocate cross-edge belongers by Algorithm 2 Procedure Initialize 03: Unite the local constraints to 04: if is a leaf then 05: if of is reducible then 06: Reduce the dimensionality 07: Send to by utility message When received UTILj from Xj 08: Unite and , is the multi-dimensional data wrapped in 09: if utility messages from all children have been received then 10: for each in do 11: if is reducible then 12: Reduce the dimensionality 13: end 14: if is the root then 15: Compute if is reduced here // is the optimal assignment of 16: for each in do 17: Send to by value message 18: end 19: Terminate 20: else 21: Send to by utility message When received VALUEj from Xj 22: Compute if is reduced here 23: Set is the optimal assignment set wrapped in is the optimal assignment of 24: if is not a leaf then 25: for each in do 26: Send to by value message 27: end 28: Terminate execution An improved DPOP algorithm based on breadth first search pseudo-tree... U T I Li and V ALU E i in Algorithm 3 represent two types of messages transmitted by Xi , utility message and value message. The former contains multi-dimensional utility data and the latter contains a set of optimal assignments for high-priority agents. The agents communicate by sending utility and value messages to cooperatively work out the optimal assignments that maximize the total constraint utility. Preprocessing and Initializing The algorithm starts by the preprocessing and initializing steps. In the preprocessing step, the algorithm constructs a BFS pseudo-tree (line 1). Then, the method of Cluster Removing is used to allocate cross-edge belongers (line 2). The leaf agents compute the local constraints (line 3) and reduce their own dimensionalities locally if reducible (lines 4–6). Then, they send the utilities to their parents (line 7). After initializing, the whole message-driven process is activated. UTIL Propagation The UTIL propagation process starts from the leaves and ends at the root. Each time a utility message is received, Xi unites the received multi-dimensional data and its local utility data (line 8) together. After receiving utility messages from all its children, Xi reduces all reducible dimensionalities (lines 9–13). The utility data is sent upward if Xi has parent (lines 20–21). If it is the root, Xi obtains the optimal assignments (lines 14–15). After sending the assignments to its children (lines 16–18), it terminates execution (line 19). VALUE Propagation The VALUE propagation process starts from the root and ends at the leaves. When receiving a value message, Xi computes the optimal assignments (line 22). The optimal assignments are sent downward continually till reaching the leaf agents (lines 23–27) and then the algorithm terminates (line 28). To take the DCOP in Fig. 1 as an example, assume that X1 is the root. In the preprocessing procedure, X1 starts the BFS pseudo-tree construction by sending a LAYER message with L1 = 0 to its neighbors, X2 and X3 . X2 and X3 set their layer indices to 1, their parents to X1 , and broadcast their layer indices to its remaining neighbors. Since they have the same layer index, X2 and X3 add each other into pseudo-neighbors after receiving each other’s messages. Other agents do the same. Consequently, each agent knows its parent, children and pseudo-neighbors, and the BFS pseudo-tree is constructed, shown as Fig. 2b. The leaf agents, X4 , X5 , X6 and X7 , start the Cluster Removing process by sending the sizes and the centers of their CECs to their parents (e.g., the size of CEC 4 is 2 and the center of CEC 4 is X4 ). The intermediate agents collect CEC messages from their children, then select the maximal size of CEC from the received |CEC s | and local |CEC i |, and send a CEC message to their parents (e.g., X2 sends a CEC message to X1 with |CEC 5 | and the center X5 ). The root selects maximal size of CEC and broadcasts the corresponding center to its children via ALLOCATE messages (e.g., X1 broadcasts the center X5 to X2 and X3 ). The agent who is the center carried in an ALLOCATE message allocates the cross-edges to its neighbors (e.g., X5 allocates CE(X3 , X5 ), CE (X4 , X5 ), CE(X5 , X6 ) and CE(X5 , X7 ) to X3 , X4 , X6 and X7 , respectively). The procedure terminates when the root detects that the maximal size of CEC is 0. Next, the leaf agents start the UTIL propagation process by sending local utilities to their parents (e.g., X4 → X2 , X5 → X2 , X6 → X3 and X7 → X3 in Fig. 4). Notice that X5 cannot reduce its dimensionality since DC 5 (= 1) is less than DCV 5 (= 5). When receiving the utility messages, X2 unites the received utilities and local constraint utilities, then reduces its dimensionality according to the RD condition, and sends MD {X1 ,X3 ,X5 } to X1 . In contrast, X3 cannot reduce any dimensionality and sends MD {X1 ,X3 ,X5 } to X1 . Upon receiving the utility messages, X1 unites the utilities from X2 and X3 , and computes optimal assignments for X1 , X3 and X5 . The root starts the VALUE propagation process by broadcasting the optimal assignments to its children (e.g., X1 broadcasts V = {V1 = 2, V3 = 2, V5 = 3} to X2 and X3 ). When receiving the optimal assignments from X1 , X2 and X3 compute the optimal assignments for their reducible dimensionalities, then combine the assignments with the received assignments except for their parent assignments, and send the joint assignments to their children (e.g., X2 computes the optimal assignment for dimensionality X2 and broadcasts V = {V2 = 2, V3 = 2, V5 = 3} to its children). The algorithm terminates after all agents have chosen their assignments. 3.5 Complexity analysis The complexity of a complete DCOP algorithm depends on the number of messages and the temporal and space complexities of disposing a message. For inference-based complete algorithms, the temporal and space complexities of disposing a message both lie on the maximal message size. DPOP, a classical inference-based algorithm, requires a linear number of messages to solve a DCOP since the number of utility and value messages are both (|X| − 1). A value message contains at most (|X| − 1) assignments while a utility message can contain exponentially many feasibility values. Thus, for DPOP, the temporal and space complexities of disposing a message both lie on the maximal utility message size which is exponential in the induced ∗ width of the DFS pseudo-tree: O(d w ). Like DPOP, BFSDPOP executes a bottom-up utility propagation process and a Z. Chen et al. top-down value propagation process, and thus also requires 2(|X|−1) messages. Similarly, the temporal and space complexities of disposing a message also depend on the maximal utility message size in BFSDPOP. Next, we prove that the largest utility message in BFSDPOP is space-exponential in (|CEC| +2) at most. 2(|X| − 1) messages, the temporal and space complexities of BFSDPOP are both O(|X| · d |CEC|+2 ). 4 Experimental evaluation 4.1 Experimental configuration Theorem 2 The largest utility message produced by Algorithm 3 is space-exponential at most in the number of cross-edge clusters which divide all cross-edges plus 2, i.e., the largest utility message is space-exponential in (|CEC| +2) at most where CEC = {CEC 1 , . . . , CEC m }, CEC k = CE and CEC i ∩CEC j = ∅ (CE is the k set of all cross-edges in a BFS pseudo-tree, i, j, k = 0, 1, . . . , m, i = j ). Proof If there are no cross-edges in the BFS pseudo-tree, i.e., the BFS spanning tree, the maximal dimensions of multi-dimensional data wrapped in a utility message are 2. Then, we add the cross-edges to the tree one by one to form the original constraint graph. During the process, the cross-edge clusters are produced and expanded continually. According to the method of Cluster Removing, only the centers of the cross-edge clusters are not reduced locally. So they will be transmitted upward to the lowest mutual ancestors where they are reduced finally. That is, all dimensionalities except for the cross-edge cluster centers will be reduced locally and will not be involved into latter multidimensional data. So the maximal dimensionality number is the number of CEC i plus 2 at most (2 is the minimal utility message dimensions when the pseudo-tree is a pure tree). If two CECs do not overlap, which means the dimensionalities of the two CEC centers are transmitted upward and finally reduced in different branches, the maximal dimensions only add 1. For example, the maximal dimensions are 3 in Fig. 5. So the exact maximal dimensions is no more than (|CEC| +2). Thus, Theorem 2 is proved. According to Theorem 2, the maximal utility message size in BFSDPOP is exponential in (|CEC| +2). Thus, the temporal and space complexities of disposing a message are both O(d |CEC|+2 ). Since BFSDPOP exchanges Fig. 5 An example that two CECs do not overlap We use three DCOP problem types in our experiment: graph coloring, meeting scheduling and general random DCOPs. Runtime and maximal dimensions of utility messages are adopted as the performance metrics. To prove the excellent attributes of BFS pseudo-tree over DFS pseudo-tree, we compare BFSDPOP with original DPOP in terms of the two metrics. To provide more detailed comparison of the two algorithms, we also examine Phase Transition which refers to a phenomenon of a system where some global properties change rapidly and dramatically when a control or order parameter goes across a critical value [49]. The algorithms in [38] and [39] are not put into comparison because the transformation methods from normal execution to memory-bounded execution can also be applied to BFSDPOP. The main innovation of BFSDPOP lies in using a BFS pseudo-tree as the communication structure and it is more persuasive to compare the two different communication structures, BFS pseudo-tree and DFS pseudo-tree. In [43], DCPOP was proposed using a best-first pseudo-tree as the communication structure. However, it is with regret that we didn’t get the source code from the authors and the given pseudo-code is incomplete. And so DCPOP is not put into comparison in our experiment. For runtime, to make the experimental environment approximate the real situation, we take the message transmission time into consideration by setting it as 50ms between each two agents. The experiment is conducted under win8.1×64 operating system on a notebook with an AMD Athlon II Dual-Core M340 2.20GHz CPU and a 4GB Memory. 4.2 Graph coloring problems In graph coloring problems, each vertex should be colored with a color and two adjacent vertices must have different colors. The agents are the vertices and the domains are the colors available. The constraint costs can be selected in { 0, 1} or {0, 10000}. The non-zero values are penalty for violating the restriction that two adjacent vertices must have different colors. In our experiment, we set three different colors. We vary the number of vertices from 15 to 34 and graph density is set to be 0.2 (graph density is the ratio of the constraint number to n ∗ (n − 1)/2, n is the number of vertices). The influence of graph density is evaluated on general random DCOPs and not shown on graph coloring problems An improved DPOP algorithm based on breadth first search pseudo-tree... Fig. 6 Comparison of BFSDPOP and DPOP on runtime and the number of vertices for graph coloring problems since the cases are similar. We average the experimental results over 30 DCOP instances with randomly generated constraints and randomly generated integer constraint costs in {0, 1}. As can be seen in Fig. 6, with the increase of the vertex number of graph coloring problems, the runtime also goes up and BFSDPOP spends less time. The positive results of BFSDPOP are due to the fact that the communication path of a BFS pseudo-tree is shorter than that of a DFS pseudo-tree. There are also more branches in a BFS pseudotree than those in a DFS pseudo-tree. So BFS pseudo-tree also exceeds DFS pseudo-tree on the parallelism, which is another influencing factor on algorithm runtime. Figure 6 also shows that the runtime of DPOP increases abruptly and dramatically when the number of vertices goes across 28, which indicates that DPOP experiences a Phase Transition. In contrast to the sharp transition in DPOP, the transition of BFSDPOP is relative smooth, which indicates that our method can utilize the parallelism of BFS pseudo-tree to accelerate computation with the increase of the vertex number. The complexity of inference-based algorithms lies on the maximal utility message size or maximal dimensions of utility messages. As shown by Fig. 7, BFSDPOP with a BFS pseudo-tree involves smaller maximal utility message size than DPOP with a DFS pseudo-tree. This is owing to the cross-edge allocation method, Cluster Removing, which guarantees maximal dimensions no more than the number of cross-edge clusters plus 2. Without proper allocation of the cross-edges in a BFS pseudo-tree, the maximal dimensions can be much larger and is equal to the total vertex number in the worst case. It is worth mentioning that the existing parameters (i.e., the vertex number and graph density) cannot totally depict the complexity of DCOPs. In effect, those parameters can reflect the general complexity of a DCOP in most cases, but they fail to depict the complexity of problems with unusual edge distributions which may lead to abnormal cases. As a result, the experimental results shown in Fig. 7 cannot hold the strict growing trend. 4.3 Meeting scheduling problems A meeting scheduling problem consists of meetings, employees to participate the meetings and time slots to hold the meetings. Two meetings that have shared participants should be held at different time slots. Since one participant cannot attend two meetings at the same slot, the shared participants will be absent from one of them. The agents 3500 DPOP BFSDPOP 3000 Runtime(ms) 2500 2000 1500 1000 500 0 4 6 8 10 12 14 16 18 Meetings Fig. 7 Comparison of BFSDPOP and DPOP on maximal dimensions and the number of vertices for graph coloring problems Fig. 8 Comparison of BFSDPOP and DPOP on runtime and the number of meetings for meeting scheduling problems Z. Chen et al. are meetings and the domains are the time slots to hold the meetings [34]. The constraint costs are the shared participant number of each two meetings, which denotes the number of absent persons. We vary the number of meetings from 5 to 18, always use 10 employees and 3 time slots, and each meeting has 3 participants. We also average the experimental results over 30 DCOP instances with randomly generated constraints. The experimental results of runtime on meeting scheduling problems are shown as Fig. 8. As the number of meetings increases, the runtime increases and BFSDPOP has a significant advantage over DPOP. It can be explained that the larger the constraint graph is, the greater the advantages of BFS pseudo-tree on the parallelism and communication efficiency are. Figure 9 shows the maximal dimensions of utility messages generated in the two algorithms. BFSDPOP with a BFS pseudo-tree involves smaller maximal-size utility message than DPOP with a DFS pseudo-tree in most cases. When the number of meetings is 12, the maximal-size utility message of BFSDPOP is larger than that of DPOP. In fact, the maximal dimensions of utility messages generated in BFSDPOP are decided by two factors: the constructed BFS pseudo-tree and the cross-edge allocation. Algorithm 1 constructs an ordinary BFS pseudo-tree and the proposed Cluster Removing cannot guarantee to find the optimal cross-edge allocation solution. So BFSDPOP cannot guarantee to make the maximal message size optimal and may be inferior to DPOP in a small number of cases. Though it doesn’t get the optimal solution, the Cluster Removing finds a relatively good one. The experiment proves that BFSDPOP outperforms DPOP on the maximal message size in most cases with the help of Cluster Removing. Fig. 10 Comparison of BFSDPOP and DPOP on runtime and the number of agents for random DCOPs with graph density=0.2 4.4 Random DCOPs Random DCOPs are the general form of distributed constraint optimization problems. Graph coloring, meeting scheduling and nearly all types of DCOP application problems can be induced and transformed to be random DCOPs. The general definition is given in Section 2.1. The constraints are two-dimensional matrixes with randomly generated cost values in the range of [0, 100]. We set the domain size to be 3 and vary the agent number from 14 to 34 with the increment of 1 and graph density from 0.15 to 0.60 with the increment of 0.03. We also average the experimental results over 30 DCOP instances with randomly generated constraints. 14 4000 DPOP BFSDPOP 12 DPOP BFSDPOP 3500 3000 Runtime(ms) Max Dimensions 10 8 6 2500 2000 1500 1000 4 500 2 4 6 8 10 12 Meetings 14 16 18 Fig. 9 Comparison of BFSDPOP and DPOP on maximal dimensions and the number of meetings for meeting scheduling problems 0 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5 0.55 0.6 Graph Density Fig. 11 Comparison of BFSDPOP and DPOP on runtime and graph density for random DCOPs with 20 agents An improved DPOP algorithm based on breadth first search pseudo-tree... 14 DPOP BFSDPOP 13 12 Max Dimensions 11 10 9 8 7 6 5 4 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5 0.55 0.6 Graph Density Fig. 12 Comparison of BFSDPOP and DPOP on maximal dimensions and the number of agents for random DCOPs with graph density=0.2 As shown in Figs. 10 and 11, BFSDPOP with a BFS pseudo-tree exhibits better efficiency than DPOP with a DFS pseudo-tree on the runtime for general random DCOPs. By comparing Figs. 10 with 11, we can find that the curves of Fig. 11 are more regular and smooth than those of Fig. 10. The reason is that graph density has a greater influence on problem complexity than the agent number. That means graph density describes the problem complexity more fully and completely. The advantage of BFSDPOP with a BFS pseudo-tree over DPOP with a DFS pseudo-tree on the runtime mainly attributes to the better parallelism coming from more branches and higher communication efficiency coming from shorter message transmission path. For example, when a constraint graph is a simple ring with n nodes, the DFS pseudo-tree will be a chain with height n while the BFS pseudo-tree will be a pseudo-tree with height n/2 + 1. So, compared with the DFS pseudo-tree, the BFS pseudo-tree has two times the branches and halflength message transmission path. It can also be inferred that BFSDPOP is more appropriate for the cases where the communication time cannot be neglected, which is often the exact situation in real scenarios. The Phase Transitions are also observed in Fig. 10. A Phase Transition occurs in both DPOP and BFSDPOP when the number of agents goes across 29. Again, the Phase Transition in DPOP is much sharper than that in BFSDPOP, which underlines the significance of parallelism. The comparisons of BFSDPOP and DPOP on the maximal dimensions of utility messages for random DCOPs are shown in Figs. 12 and 13. The maximal dimensions of utility messages generated in BFSDPOP are smaller than those in DPOP by 1 to 3 dimensions in most cases. Though the two parameters, the agent number and graph density, Fig. 13 Comparison of BFSDPOP and DPOP on maximal dimensions and graph density for random DCOPs with 20 agents cannot totally describe the problem complexity and may result in abnormal cases, the curves still generally exhibit regular trends which are convictive on showing the algorithm performance. It can also be inferred that BFSDPOP is more appropriate for solving the problems with constraints compactly clustered. In these cases, it is more likely to reduce dimensionality locally and less dimensions should be transmitted upward according to the Cluster Removing. 5 Conclusions and future work In this paper we present a new complete algorithm for solving DCOPs by replacing the communication structure of a DFS pseudo-tree with a BFS pseudo-tree in DPOP, since a BFS pseudo-tree is more excellent than a DFS pseudo-tree on both the communication efficiency and the parallelism. However, the cross-edges in a BFS pseudo-tree may result in very large utility message with improper allocation. Thus, the Cluster Removing method is proposed to allocate the cross-edges with the guarantee that the maximal dimensions of utility messages are no more than the number of cross-edge clusters plus 2. By the experimental evaluation, BFSDPOP proves to be much better than original DPOP on runtime and also slightly prior on maximal dimensions of utility messages. The maximal dimensions of utility messages generated in BFSDPOP are decided by two factors: the constructed BFS pseudo-tree and cross-edge allocation. In the future, we will study how to construct a good BFS pseudo-tree so as to further reduce utility message size. It can also be seen from the experimental results that the existing performance metrics do not exhibit strict growing trends. It is because the two problem parameters, the agent number and graph Z. Chen et al. density, can only reflect the general complexity of problems and cannot precisely manifest the edge distributions which depict the internal structures of problems. Given the agent number and graph density, the complexity of DCOPs can still vary a lot under different edge distributions. Since the edge distribution is hard to quantify, our future work is to describe it from the perspective of graph theory. A possible alternative is the connectivity of a graph. As a metric of the resilience of a graph, the connectivity can also mirror the edge distribution. A graph with higher connectivity usually exhibits better robustness and has a more uniform edge distribution, while lower connectivity often renders a graph to be decomposed more easily and have a more centralized edge distribution. Thus, given the agent number and graph density, we can employ the connectivity as an extra parameter to manifest the internal structures of problems and depict the complexity of DCOPs more precisely. Acknowledgments This work is partly supported by Chongqing University Postgraduates’ Innovation Project (Project No. CYS14018), the Fundamental Research Funds for the Central University of China (Project No. 106112013CDJZR180013) and the Postdoctoral Science Foundation of Chongqing in China (Project No. Xm201324). References 1. Cerquides J, Farinelli A, Meseguer P et al (2014) A tutorial on optimization for multi-agent systems. Comput J 57(6):799–824 2. Leite A, Fabrı́cio E, Jean-Paul A (2014) Distributed Constraint Optimization Problems: Review and perspectives. Expert Syst Appl 41(11):5139–5157 3. Farinelli A, Rogers A, Jennings N (2013) Agent-based decentralised coordination for sensor networks using the max-sum algorithm. Auton Agent Multi-Agent Syst 28(3):337–380 4. Hosseini S, Basir O (2013) Target to sensor allocation: A hierarchical dynamic Distributed Constraint Optimization approach. Comput Commun 36(9):1024–1038 5. Zivan R, Yedidsion H, Okamoto S et al (2015) Distributed constraint optimization for teams of mobile sensing agents. Auton Agent Multi-Agent Syst 29(3):495–536 6. Sultanik E, Modi P, Regli W (2007) On modeling multiagent task scheduling as a distributed constraint optimization problem. In: Proceedings of the 20th international joint conference on artificial intelligence, pp 1531–1536 7. Enembreck F, André J (2012) Distributed constraint optimization with MULBS: a case study on collaborative meeting scheduling. J Netw Comput Appl 35(1):164–175 8. Petcu A, Faltings B (2008) Distributed constraint optimization applications in power networks. Int J Innov Energy Syst Power 3(1):1–12 9. Kumar A, Faltings B, Petcu A (2009) Distributed constraint optimization with structured resource constraints. In: Proceedings of the 8th international conference on autonomous agents and multiagent systems, pp 923–930 10. Miller S, Ramchurn S, Rogers A (2012) Optimal decentralised dispatch of embedded generation in the smart grid. In: Proceedings of the 11th international conference on autonomous agents and multiagent systems, pp 281–288 11. Mandiau R, Vion J, Piechowiak S et al (2014) Multi-variable distributed backtracking with sessions. Appl Intell 41(3):736–758 12. Yokoo M, Ishida T, Durfee E et al (1992) Distributed constraint satisfaction for formalizing distributed problem solving. In: Proceedings of the 12th international conference on distributed computing systems, pp 614–621 13. Fioretto F, Pontelli E, Yeoh W (2016) Distributed con-straint optimization problems and applications: A survey. arXiv preprint arXiv:1602.06347 14. Zivan R, Okamoto S, Peled H (2014) Explorative anytime local search for distributed constraint optimization. Artif Intell 212(4):1–26 15. Hirayama K, Yokoo M (2005) The distributed breakout algorithms. Artif Intell 161(1):89–115 16. Okamoto S, Zivan R, Nahon A (2016) Distributed breakout: Beyond satisfaction. In: Proceedings of the 25th international joint conference on artificial intelligence pp 447–453 17. Zhang W, Wang G, Xing Z (2005) Distributed stochastic search and distributed breakout: properties, comparison and applications to constraint optimization problems in sensor networks. Artif Intell 161(1):55–87 18. Maheswaran R, Pearce J, Tambe M (2006) A family of graphicalgame-based algorithms for distributed constraint optimization problems. Coordination of large-scale multia-gent systems, pp 127–146 19. Chapman A, Rogers A, Jennings N et al (2011) A unifying framework for iterative approximate best-response algorithms for distributed constraint optimization problems. Knowl Eng Rev 26(4):411–444 20. Farinelli A, Rogers A, Petcu A et al (2008) Decentralised coordination of low-power embedded devices using the max-sum algorithm. In: Proceedings of the 7th international conference on autonomous agents and multiagent systems, pp 639–646 21. Rogers A, Farinelli A, Stranders R et al (2011) Bounded approximate decentralised coordination via the max-sum algorithm. Artif Intell 175(2):730–759 22. Rollon E, Larrosa J (2012) Improved bounded max-sum for distributed constraint optimization. Principles and Practice of Constraint Programming of the series Lecture Notes in Computer Science, pp 624–632 23. Ottens B, Dimitrakakis C, Faltings B (2012) DUCT: An upper confidence bound approach to distributed constraint optimization problems. In: Proceedings of the 11th international conference on autonomous agents and multiagent systems, pp 528–534 24. Nguyen DT, Yeoh W, Lau HC (2013) Distributed Gibbs: A memory-bounded sampling-based DCOP algorithm. In: Proceedings of the 12th international conference on autonomous agents and multiagent systems, pp 167–174 25. Fiorretto F, Campeotto F, Fiorretto L et al (2014) GD-Gibbs: A GPU-based Sampling Algorithm for Solving Distributed Constraint Optimization Problems. In: Proceedings of the 13th international conference on autonomous agents and multiagent systems, pp 1339–1340 26. Mailler R, Lesser V (2004) Solving distributed constraint optimization problems using cooperative mediation. In: Proceedings of the third international joint conference on autonomous agents and multiagent systems, pp 438–445 27. Grinshpoun T, Meisels A (2008) Completeness and performance of the APO algorithm. J Artif Intell Res 33:223–258 28. Hirayama K, Yokoo M (1997) Distributed partial constraint satisfaction problem. Principles and Practice of Constraint Programming, pp 222–236 29. Gershman A, Meisels A, Zivan R (2009) Asynchronous forward bounding. J Artif Intell Res 34:25–46 30. Netzer A, Grubshtein A, Meisels A (2012) Concurrent forward bounding for distributed constraint optimization problems. Artif Intell 193:186–216 An improved DPOP algorithm based on breadth first search pseudo-tree... 31. Modi PJ, Shen WM, Tambe M et al (2005) ADOPT: Asynchronous Distributed constraint optimization with quality guarantees. Artif Intell 161(1):149–180 32. Silaghi M, Yokoo M (2006) Nogood based asynchronous distributed optimization (adopt-ng). In: Proceedings of the 5th international conference on autonomous agents and multiagent systems,pp 1389--396 33. Silaghi M, Yokoo M (2009) Adopt-ing: unifying asynchronous distributed optimization with asynchronous backtracking. Auton Agent Multi-Agent Syst 19(2):89–123 34. Yeoh W, Felner A, Koenig S (2010) BnB-ADOPT: An asynchronous branch-and-bound DCOP algorithm. Journal of Artificial Intelligence Research, pp 85–133 35. Gutierrez P, Meseguer P (2012) Improving bnb-ADOPT+ -AC. In: Proceedings of the 11th international conference on autonomous agents and multiagent systems, pp 273–280 36. Gutierrez P, Lee JHM, Lei KM et al (2013) Maintaining Soft Arc Consistencies in bnb-ADOPT+ during Search. In: Principles and practice of constraint programming of the series lecture notes in computer science, pp 365–380 37. Petcu A, Faltings B (2005) A scalable method for multiagent constraint optimization. In: Proceedings of the 19th international joint conference on artificial intelligence, pp 266–271 38. Petcu A, Faltings B (2006) ODPOP: An algorithm for open distributed constraint optimization. In: Proceedings of AAAI conference on artificial intelligence, pp 703–708 39. Petcu A, Faltings B (2007) MB-DPOP: A new Memory-Bounded algorithm for distributed optimization. In: Proceedings of the 20th international joint conference on artificial intelligence, pp 1452– 1457 40. Vinyals M, Rodrı́guez-aguilar JA, Cerquides J (2009) Generalizing DPOP: Action-GDL, a new complete algorithm for DCOPs. In: Proceedings of the 8th international conference on autonomous agents and multiagent systems, pp 1239–1240 41. Brito I, Meseguer P (2010) Improving DPOP with function filtering. In: Proceedings of the 9th international conference on autonomous agents and multiagent systems pp 141–158 42. Fioretto F, Le T, Yeoh W et al (2014) Improving DPOP with branch consistency for solving distributed constraint optimization problems Principles and Practice of Constraint Programming of the series Lecture Notes in Computer Science, pp 307–323 43. Atlas J, Keith D (2007) A complete distributed constraint optimization method for non-traditional pseudotree arrangements. In: Proceedings of the 6th international joint conference on autonomous agents and multiagent systems, pp 741–748 44. Chen Z, Wang L, He Z et al (2015) Analysis of complete DCOP algorithms’ communication structures. J Comput Inf Syst 11(8):2971–2979 45. Petcu A (2007) A class of algorithms for distributed constraint optimization. Ecole Polytechnique Federale de Lausanne (EPFL), Switzerland 46. Leaute T, Faltings B (2013) Protecting privacy through distributed computation in multi-agent decision making. J Artif Intell Res 47(4):649–695 47. Dechter R (2003) Constraint processing. Morgan Kaufmann 48. Brito I, Meseguer P (2010) Cluster tree elimination for distributed constraint optimization with quality guarantees. Fund Inf 102(3):263–286 49. Hogg T, Huberman BA, Williams C (1996) Phase transitions and the search problem. Artif Intell 81:115 Ziyu Chen received her M.Sc. and Ph.D. degrees in 2002 and 2009 in computer science from Chongqing University, Chongqing, China. She is currently a senior lecturer in the College of Computer Science, Chongqing University. Her main research interests include distributed artificial intelligence and machine learning. Zhen He received his BS degree in computer science and technology at Chongqing University in 2013, and he is currently working toward the M.Sc. degree in computer science at Chongqing University. Chen He received his BS degree in mathematics and applied mathematics at Hunan University of Science and Engineering in 2013, and he is currently working toward the M.Sc. degree in computer science at Chongqing University.