b

DiscoverSearch
About
My stuff
C-CoCoA: A Continuous Cooperative Constraint Approximation Algorithm to Solve Functional DCOPs
2020·arXiv
Abstract
Abstract

Distributed Constraint Optimization Problems (DCOPs) have been widely used to coordinate interactions (i.e. constraints) in cooperative multi-agent systems. The traditional DCOP model assumes that variables owned by the agents can take only discrete values and constraints’ cost functions are defined for every possible value assignment of a set of variables. While this formulation is often reasonable, there are many applications where the variables are continuous decision variables and constraints are in functional form. To overcome this limitation, Functional DCOP (F-DCOP) model is proposed that is able to model problems with continuous variables. The existing F-DCOPs algorithms experience huge computation and communication overhead. This paper applies continuous non-linear optimization methods on Cooperative Constraint Approximation (CoCoA) algorithm. We empirically show that our algorithm is able to provide high-quality solutions at the expense of smaller communication cost and execution time compared to the existing F-DCOP algorithms.

Distributed Constraint Optimization Problems (DCOPs) are a powerful framework to model cooperative multi-agent systems wherein multiple agents communicate directly or indirectly with each other. The agents act autonomously in a common environment in order to optimize a global objective which is an aggregation of their corresponding constraint cost functions. Each of the functions is associated with a set of variables controlled by the corresponding agents. In DCOPs, agents need to coordinate value assignments to their variables in such a way that maximize their aggregated utility or minimize the overall cost [Modi et al., 2005; Petcu and Faltings, 2005]. A number of multi-agent coordination problems, such as meeting scheduling [Maheswaran et al., 2004], multi-robot coordination [Yedidsion and Zivan, 2016] and smart homes [Fioretto et al., 2017; Rust et al., 2016], have been dealt with this model.

The DCOP model is based on an assumption; that is, each of the variables that are involved in the constraints can take values from discrete domain(s) and a constraint is typically represented in a cost (i.e. utility) table. Nevertheless, a number of applications, such as target tracking sensor orientation [Fitzpatrick and Meetrens, 2003], cooperative air and ground surveillance [Grocholsky et al., 2006], Network coverage using low duty-cycled sensors [Hsin and Liu, 2004] and many others besides, can be best modeled with continuous-valued variables. Therefore, the traditional DCOP setting is not wellsuited to such algorithms. To address this, the regular DCOP model is extended for continuous-valued variables [Stranders et al., 2009]. Later, [Hoang et al., 2019] refer this continuous version of DCOP as Functional DCOPs (F-DCOPs).

In more detail, [Stranders et al., 2009] propose a new version of the Max-Sum algorithm (i.e. Continuous Max-Sum -CMS) in order to solve continuous-valued DCOPs. CMS approximates constraint utilities as piece-wise linear functions. However, this approximation has not been widely recognised due to the unavailability of real-world applications having piece-wise linear functions. Then, Hybrid CMS (HCMS) uses discrete Max-Sum as the underlying framework with the addition of a continuous non-linear optimization method [Voice et al., 2010]. Notably, none of CMS and HCMS provides quality guarantees on the solutions as both of them are based on discrete Max-Sum which does not provide any quality guarantees when applied to general graphs [Hoang et al., 2019]. To address this, three extensions of the Distributed Pseudo-tree Optimization Procedure (DPOP) [Petcu and Falt- ings, 2005] algorithm has been proposed. The first one is an exact algorithm-Exact Functional DPOP (EF-DPOP) and the remaining two are non-exact methods  −Approximate Functional DPOP (AF-DPOP) and Clustered AF-DPOP (CAFDPOP) [Hoang et al., 2019]. EF-DPOP can solve F-DCOPs with tree-structured graphs and with linear or quadratic utility functions. AF-DPOP and CAF-DPOP can solve F-DCOPs without imposing restriction on the graph structure. However, as they are based on DPOP, a key limitation of these approximate algorithms is that they require exponential memory.

Against this background, we extend the Cooperative Constraint Approximation (CoCoA) [van Leeuwen and Pawel- czak, 2017] algorithm so that it can solve functional DOCPs. We choose CoCoA as it is a non-iterative, semi-greedy approach that is able to find high-quality solutions with a smaller communication overhead than the state-of-the-art DCOP solvers. Our continuous version of CoCoA, that we call C-CoCoA, is an approximate local search algorithm that can solve F-DCOPs without any restriction on the graph structure and with a very lower communication cost. In CCoCoA, we combine the discrete CoCoA algorithm with continuous non-linear optimization methods. Our target is to improve on continuous optimization by using the CoCoA algorithm to make the initial choice less critical. We empirically show that C-CoCoA outperforms HCMS and AF-DPOP in terms of solution quality, number of messages and time.

In this section, we discuss the background which is necessary to completely understand our proposed algorithm. We first describe the traditional DCOP model and then F-DCOP model. We then discuss the CoCoA algorithm and the challenges we face to incorporate CoCoA with the F-DCOP model.

2.1 Distributed Constraint Optimization Problems

A DCOP is defined as a tuple  ⟨A, X, D, F, α⟩, where,

A =  {a1, a2, ..., an}is a finite set of agents.

X =  {x1, x2, ..., xm}is a finite set of discrete decision variables where each variable  xiis controlled by one of the agents  ai ∈ A.

D =  {D1, D2, ..., Dm}is a set of finite discrete domains where each  Dicorresponds to the domain of variable  xi.

F =  {f1, f2, ..., fk}is a finite set of cost functions, with each  fi : �xj∈xi Dj →Rdefined over a set of variables xi ⊆ Xand the cost C for the function  fiis defined for every possible value assignment of  xi, that is, C : Di1 × Di2 × ... × Dik →R.

 α : X → Ais a mapping function, which associates each variable  xi ∈ Xto an agent  ai ∈ A. An agent can control multiple variables. However, for simplicity, we assume each agent controls only one variable.

A value assignment is complete if every variable is assigned a value. The goal in a DCOP is to find a complete assignment that minimizes the cost of the global objective function:

image

2.2 Functional Distributed Constraint Optimization Problems

A Functional DCOP (F-DCOP) can be described by a tuple ⟨A, X, D, F, α⟩, where A, F, and  αare exactly the same as those in a DCOP. X and D are defined as follows:

X =  {x1, x2, ..., xm}is a finite set of continuous decision variables.

D =  {D1, D2, ..., Dm}is a set of continuous domains. Each variable  xican choose any value from a range, Di = [LBi, UBi].

As aforementioned in the previous section, the difference between F-DCOPs and DCOPs is found in the representation of the cost function. In DCOPs, cost functions are represented in a tabular form. However, in F-DCOPs, we use a function to represent a constraint cost instead of the traditional tabular form. The goal of an F-DCOP is the same as a DCOP, which is finding a complete assignment that minimizes the cost of the global objective function. An example of an FDCOP is presented in Figure 1 where Figure 1(a) represents a constraint graph with four variables. Each variable  xiis controlled by one of the agent  ai. The edges between the variables represent the cost functions that are defined in Figure 1(b). The domain  Diis defined as [-20, 20] in this example.

image

Figure 1: Example of an F-DCOP

2.3 Cooperative Constraint Approximation (CoCoA)

The CoCoA algorithm starts with randomly activating an agent. Upon activation, the agent sends an inquiry message to its neighboring agents. We define the set of direct neighbors of the agent  aiis  Ni. When an agent  aisends an inquiry message to the neighboring agents  aj ∈ Ni, each  ajcalculates cost messages for every value in the domain of  aiusing Equation 2. Here,  ζj,kis the cost for the  kthvalue of agent ai’s domain which is calculated by the neighbor  aj, xj,lindicates that  xjis assigned the  lthvalue of  aj’s domain,  Dj, C is the cost for the function which is an element of all the constraint function set  Fjbetween agent  aiand  aj, �xjis the current partial assignment sent from  aito  ajthat contains the known assigned values of the neighbors of  ai, xi,kindicates that  xiis assigned the  kthvalue of agent  ai’s domain  Di. Agent  ajcalculates  ζj,kfor all the values of  k ∈ Diand the resulting cost map  ζj = {ζj,1, ζj,2, . . . . ,  ζj,|Di|}is sent to the inquiring agent  ai. Then,  aifinds the value of its variable  xifrom (Equation 3). Here,  δis the minimum aggregated cost received from the neighbors for each  k ∈ Di, ρis a set of values from agent  ai’s domain for which the cost is minimum and  ζj,kis the received cost messages from its neighbors.

image

Notably, for more than one value in  ai’s domain in  ρ, the unique-first approach is followed to determine whether the current solution is accepted or not. In this approach,  |ρ|is compared with a bound  β. The initial value of  βis set to 1. This means that the value is acceptable if it is a unique local optimum. If  |ρ| > β, agent  aigoes into HOLD state and waits for more information. Otherwise, a value is selected randomly from  ρand is assigned to its controlled variable. After assigning a value to  xi, every agent  aj ∈ Niupdates its current partial assignment and repeats the algorithm. If the value assignment is not possible for all the agents,  βis increased by 1, and the algorithm is repeated. This approach prevents the agents from assigning a value prematurely to their variables.

2.4 Challenges

We need to address the following challenges to develop an F-DCOP algorithm that adapts CoCoA.

Infinite Domain: For F-DCOPs, the domain is an infi-nite number of values within a range. In effect, an agent needs to assign a value to its variables from an infinite number of points. Thus, an F-DCOP solver requires an extensive amount of time and memory to converge.

Discretization: F-DCOP solvers need to discretize the continuous state space to operate. The choice of discrete points can be random; however, setting up the number of discrete points is critical. The quality of solutions found by an F-DCOP algorithm increases with the increasing number of points.

Initializing Parameters: If the cost functions are not convex, initializing the parameters in continuous non-linear optimization methods is significant. Because, even with infinite computing power and time, the gradient approach can still stuck with local minimum or saddle point.

In the following section, we devise a novel method to apply CoCoA in F-DCOPs.

To address the challenges discussed in the previous section, we propose C-CoCoA, a non-exact algorithm that uses Cooperative Constraint Approximation (CoCoA) as the underlying algorithmic framework. To be precise, we combine the discrete CoCoA algorithm and the continuous non-linear optimization technique. C-CoCoA is also a non-iterative algorithm like CoCoA in the sense that each agent can only assign its value once and once assigned, it cannot change its value.

3.1 C-CoCoA: Algorithm Description

C-CoCoA (i.e. Algorithm 1) defines  Nias the set of direct neighbors of the agent  ai. We assume that, an agent  aicommunicates only with those agents whose variables affect  ai’s cost function. In other words,  aicommunicates only with aj ∈ Ni. This ensures a low communication overhead as well as a fully decentralized solution. For this reason, the total cost of an individual agent  aionly depends on  |Ni|rather than the size of the constraint graph. We also assume that each agent knows its neighbors’ discretized domain and the nodes of the constraint graph are reachable from any other node.

The C-CoCoA algorithm uses the same message passing technique as described in Section 2.3 for the discrete CoCoA, using the current discretizations of the domain of each variable  xi. However, as the cost functions are not in the tabular form, each agent calculates the cost by evaluating C = fi(xi), where  xiis the set of variables related to  fi.

The key difference between the C-CoCoA and discrete CoCoA is that, in C-CoCoA each agent  aicalculates the cost by considering its domain discretizations  xi(1), xi(2),...,  xi(k)(Algorithm 1: Line 1) instead of the actual continuous domain, where k is the total number of random discrete points taken from  Di. We select the discrete points randomly because, as aforementioned, we use the non-linear optimization technique to adjust these random discrete points later. For the example of Figure 1, for simplicity, let us assume that k = 2. So, we discretize the domains of  x0, x1, x2and  x3into 2

image

random discrete points (x0: [1, 2],  x1: [3, 4],  x2: [7, 8] and x3: [5, 9]) from the domain range [-20, 20].

The states of the agents are defined as IDLE, ACTIVE, HOLD and DONE [van Leeuwen and Pawelczak, 2017]. The current partial assignment (CPA) denotes the known assigned values of the neighbors of  ai. We define a set  ψthat contains the set of agents who finish their variable assignments. Therefore,  A − ψis the set of unassigned agents (value assignment to their variables is not finished). Then in the initialization step, each agent  aiinitializes its state to IDLE, the current partial assignment with an empty assignment and ψwith an empty set. (Algorithm 1: Line 5-8). After this step, similar to the discrete CoCoA algorithm, our algorithm activates an agent  airandomly, because, starting with any agent yields the same result. Agent  aiactivates each agent aj ∈ Ni(Procedure 2) and sends an inquiry message (Procedure 1) to each of the  aj(Algorithm 1: Line 9-13). We define  ζj = {ζj,xi(1), ζj,xi(2), ..., ζj,xi(k)}as the overall cost map that contains the minimum cost for each of the discrete points of  ai’s domain and is calculated by the agent  aj. We define each element of the cost map as  ζj,xi(k) = {vj : C},

image

where, C is the minimum cost and  vj = argminj (C)denotes the value of  aj’s domain that gives the minimum cost C. The agent  aithen calculates  ρusing the Equation 3.  ρcontains the values of  xithat is near-optimal within the discretized points xi(1), xi(2),...,  xi(k)of the agent  ai’s domain.  aialso stores the values of  vj ∈ ζj,xi(k)in a set  χ(Algorithm 1: Line 14-15). For the example of Figure 1, we assume that the agent  a0is selected randomly.  a0then activates its neighbors  a1, a2, a3and sends an inquiry message to all of them. Upon receiving the inquiry message,  a1, a2and  a3calculate the cost map ζ1 = {3: 13, 3: 10}, ζ2 = {7: 154, 7: 161}, ζ3 = {5: 30, 5: 35} respectively (Figure 2) and send these cost maps to the inquiring agent  a0. After receiving the cost map,  a0calculates  ρby using the Equation 3 and for this example  a0assigns  ρ = {1}and  χ = {x1= 3,  x2= 7,  x3= 5}. We describe this example elaborately in the Figure 2.

image

Similar to the discrete CoCoA algorithm, more than one value in  ai’s domain can achieve the minimum cost [van Leeuwen and Pawelczak, 2017], that is  |ρ| > 1. In this case, we follow a unique-first approach which is described in the CoCoA algorithm (Section 2.3). Algorithm 1: Line 31-34, describes the case when  |ρ| > β. In this case,  aigoes into HOLD state and waits until another agent has completed its assignment and repeats the Algorithm 1 from Line 9. Otherwise (when  |ρ| ≤ β), a value is selected randomly from the set  ρ. We assign this value to  Θxiand add this  Θxito the set  χ(Algorithm 1: Line 17-18). This assignment is near-optimal within the discretized domain. In order to find the best solution within the actual domain  Di, we use a non-linear optimization technique. We choose gradient-based optimization approach because we can implement it in a decentralized way using only local information. Now, for employing the gradient-based non-linear optimization, agent  aicalculates the local objective function  F aiNi(Algorithm 1: Line 19) by

using the following equation:

image

where,  f(ai, aj)is the cost function that is related to agent  aiand its direct neighbor  aj ∈ Ni. For the example of Figure 1, agent  a0assigns  Θx0= 1 from  ρand appends this value with the set  χ. Hence, the set  χ = {x0 = 1, x1 = 3, x2 = 7, x3 =5}. Thereafter, the agent  a0calculates the local objective function  F aiNi=  x20 −2x0x1 +2x21 +x0x2 +3x22 +x0x3 +x23.

image

for optimizing its local objective function  F aiNi(xaiNi)where, xaiNiis the set of all the related variables with  F aiNi(Algo- rithm 1: Line 20). Agent  aiassigns every variable  x ∈ xaiNiwith the corresponding value from the set  χas the initial values in the gradient-based optimization method (Algorithm 1: Line 21-22). Specifically, the agent  aiminimizes the local objective function  F aiNiand updates the value  vxof each vari- able  x ∈ xaiNiaccording to the following equation:

image

where  αis the learning rate of the algorithm (Algorithm 1: Line 23-24). For the example of Figure 1,  xa0N0= {x0, x1, x2, x3}. Agent  a0initializes all the variables in  xa0N0from the set  ρin the gradient-based optimization. In this example, the initial values are set as  x0 = 1, x1 = 3, x2 =7, x3 = 5. Then the agent  a0starts updating the values of the variables  xa0N0by using the Equation 5.

image

The agent continues this update process until it converges or a maximum number of iterations is reached. After termination, the current value of  vxis actually the approximate optimal assignment for the variable  xi(Algorithm 1: Line 25). Then the agent  aiupdates its state to DONE, updates the set ψand communicates to its neighbors  aj ∈ Niin a SetValue message (Algorithm 1: Line 26-30). By receiving this message, each neighbor  ajupdates its CPA with the value of  xiand repeats the Algorithm 1 from Line 9 for the unassigned agents (ai ∈ A − ψ). When the set  A − ψis empty (all the agents finish their variable assignment), the algorithm terminates. For our example, after 100 iterations, the final assignments for these variables are  {x0 = −0.572}. Then the agent a0assigns  x0with this final value. Agent  a0’s state is marked as done,  a0is added to the set  ψand  a0sends a SetValue message to all the neighbors of  a0 (a1, a2, a3). The neighbors update their CPA with  x0and repeats the Algorithm 1 from Line 9 for the unassigned agents. Note that, each agent can only assign its value once and once assigned it cannot change its value. To be precise, each agent updates its value locally with gradient descent and sends the setValue() message only once to a neighbor and thus C-CoCoA is a non-iterative approach.

image

(a) Inquiry messages from  a0

image

image

(c) Inquiry messages from  a1

Figure 2: Message passing process of the C-CoCoA algorithm to solve the F-DCOP shown in Figure 1.

This section describes a complete example of our algorithm C-CoCoA. We use the F-DCOP shown in Figure 1 as the example problem and show the result that is obtained by the C-CoCoA algorithm. In this example, we assume that the variable  xiis controlled by the agent  aiand  x0: [1, 2],  x1: [3, 4],  x2: [7, 8],  x3: [5, 9] are the 2 random discrete points taken from the actual domain [-20, 20]. We also assume that,  ζj,kis the cost for the  kthvalue of agent  ai’s domain which is calculated by neighbor  ajand  ζjis the overall cost map that is calculated by the neighbor  aj. We use the arrows between the nodes of the constraint graph to indicate the direction of the corresponding messages. Figure 2 shows the message passing process and the results are as follows:

C-CoCoA Algorithm starts by randomly selecting an agent  a0. a0sends inquiry message to  a1, a2and  a3, blue arrows represent the inquiry messages, grey node represents the inquiring agent.  a1, a2and  a3calculates the cost map,  ζ, yellow nodes represent the active neighbors (Figure 2(a)).

Agent  a1calculates  ζ3,1= 13,  ζ4,1= 25, therefore, appends [3: 13] with  ζ1. The agent also calculates  ζ3,2= 10, ζ4,2= 20, therefore, appends [3: 10] with  ζ1. a1sends the final cost map  ζ1= [3: 13, 3: 10] to  a0. Agent  a2calculates ζ7,1= 154,  ζ8,1= 200, therefore, appends [7: 154] with  ζ2. The agent also calculates  ζ7,2= 161,  ζ8,2= 208, therefore, appends [7: 161] with  ζ2. a2sends the final  ζ2= [7: 154, 7: 161] to  a0. Agent  a3calculates  ζ5,1= 30,  ζ9,1= 90, therefore, appends [5: 30] with  ζ3. The agent also calculates  ζ5,2= 35, ζ9,2= 99, therefore, appends [5: 35] with  ζ3. a3sends the final  ζ3= [5: 30, 5: 35] to  a0.

Agent  a0receives cost maps from  a1, a2and  a3, red arrows represent the cost messages (Figure 2(b)). Agent  a0calculates  ρusing Equation 3. For the discretized domain value 1,  a0calculates cost = 13 + 154 + 30 = 197. For the discretized domain value 2,  a0calculates cost = 10 + 161 + 35 = 206. Therefore,  ρ= 1 and  χ = {x0 = 1, x1 = 3, x2 = 7, x3 =5}. After 100 iterations of the gradient-based approach, we get,  x0= -0.572.

After the completion of  a0, algorithm selects the agent a1. a1sends inquiry message to  a0and  a2, blue arrows represent the inquiry messages (Figure 2(c)). Agents  a0and  a2calculate the cost maps.

Agent  a0calculates  ζ−0.572,3= 21.756, therefore, appends [-0.572: 21.756] with  ζ0. The agent also calculates ζ−0.572,4= 36.899, therefore, appends [-0.572: 36.899] with ζ0. a0sends the final  ζ0= [-0.572: 21.756, -0.572: 36.899] to  a1. Agent  a2calculates  ζ7,3= 86,  ζ8,3= 113, therefore, appends [7: 86] with  ζ2. The agent also calculates  ζ7,4= 86, ζ8,4= 112, therefore, appends [7: 86] with  ζ2. a2sends the final  ζ2= [7: 86, 7: 86] to  a1.

Agent  a1receives cost maps from  a0and  a2, red arrows represent the cost messages (Figure 2(d)). Agent  a1calcu-

lates  ρusing Equation 3. For the discretized domain value 3,  a0calculates cost = 21.756 + 86 = 107.756. For the discretized domain value 4,  a0calculates cost = 36.899 + 86 = 122.899. Therefore,  ρ= 3 and  χ = {x0 = −0.572, x1 =3, x2 = 7}. After 100 iterations of the gradient-based approach, we get,  x1= -0.122.

Agents  a2and  a3calculate the values for their variables by repeating the algorithm. We get  x2= 0.124 and  x3= 0.911 when it terminates. Hence, the near-optimal assignment is, X∗=  {x0= -0.572,  x1= -0.122,  x2= 0.124 and  x3= 0.911}

In C-CoCoA, we define the total number of agents |A| = n and  Niis the set of direct neighbors of the agent  ai. After the activation of an agent  ai, it sends  2∗|Ni|messages (UpdateState and InquiryMSG) to its neighbors as well as  aireceives |Ni|messages from its neighbors against the reply of the inquiry messages. Therefore, at this stage (Algorithm 1: Line 11-13), the number of messages is  3 ∗ |Ni|. Then, after a successful assignment to its variable, the agent  aisends  2 ∗ |Ni|messages (UpdateState and SetValue) to its neighbors (Algorithm 1: Line 28-30). As a result, the number of messages transmitted so far is  5 ∗ |Ni|. However, an agent sends additional  |Ni|messages each time it enters into the HOLD state (Algorithm 1: Line 33-34). Although an agent may never enter into the HOLD state, in the worst case, it may enter into the HOLD state k times at most, where, k is the total number of discrete points taken from the agents’ domain. For this reason,  5∗|Ni|+H ∗|Ni|is the total number of messages an agent sends and receives, where, H = 0, 1, ..., k defines the number of times an agent enters into the HOLD state. In the worst case, the graph is complete where,  |Ni| = n − 1 ≈ nand H = k. Therefore, the total number of messages sent or received by an agent  aiis O(5n + kn) in the worst case.

The size of each UpdateState message is constant and in each of the InquiryMSG and SetValue message, the agent  aisends the  CPAaithat contains the set of known assigned values of all the neighbors  aj ∈ Ni. Hence, the size of each InquiryMSG and SetValue message is  |Ni|. aisends total  |Ni|InquiryMSG and SetValue messages to its neighbors. So, the summation of message size complexity of InquiryMSG and SetValue messages is  |Ni|2 + |Ni|2 = 2|Ni|2. When the neighboring agents send inquiry message to  ai, it sends a reply message of size k as well that contains the cost map ζ. Therefore,  aisends  |Ni|reply messages of size k to the neighbors. Hence, the total message size for an agent  aiis O(2|Ni|2 + k|Ni|) ≈ O(2n2 + kn)in the worst case in CCoCoA.

After the initialization and the transmission of UpdateState and InquiryMSG (Algorithm 1: Line 5-13), the computational complexity of an agent is  |Ni| + |Ni| ∗ k2(k2is the

image

Figure 3: Solution cost comparison of C-CoCoA and the competing algorithms varying the number of agents.

complexity of calculating an InquiryMSG). In the gradient-based optimization, an agent needs  |xaiNi| + b ∗ |xaiNi|com- putational complexity, where, b is the number of times an agent updates the values of the variables (Algorithm 1: Line 21-24). After a successful assignment or each of the unsuccessful attempt (HOLD state) to assign a value, an agent again iterates over the set of its neighbors (Algorithm 1: Line 28-34). This step adds  |Ni| + H ∗ |Ni|complexity. After adding all these, the overall computational complexity is O(n + n ∗ k2 + n + n ∗ b + n + H ∗ n) ≈ O(n(k2 + b)); where, in the worst case  |Ni| ≈ n, |xaiNi| ≈ nand H = k.

In this section, we empirically evaluate the performance of C-CoCoA with HCMS and AF-DPOP. The performance metrics are solution quality, time, and number of messages. Two types of graphs are used for comparison, namely, Random Graphs and Random Trees. Although [Hoang et al., 2019] proposed three versions of Functional DPOP, we only compare with AF-DPOP in this paper. The reason is AF-DPOP is reported to provide the best solution among the approximate algorithms proposed in their work. However, CMS is not used in the benchmark since it uses only piecewise linear functions which are not applicable for most of the real-world problems. For all the experiments, binary quadratic functions are used which are of the form  ax2 + bxy + cy2. However, it is worth mentioning that although we choose binary quadratic functions for evaluation, C-CoCoA is broadly applicable to other classes of problems. We choose coefficients of the cost functions (a, b, c) randomly between  [−5, 5]and set the domains of each agent to  [−50, 50]. The averages are taken over 50 randomly generated problems. The experiments are carried out on a machine with an Intel core i5-6500 cpu, 3.2 GHz processor and 8 GB RAM.

Random Graphs: We use three different settings for random graphs - sparse, dense and scale-free. For all the algorithms, we choose the number of discrete points to be 3. However, we compare the performance of C-CoCoA varying the number of discrete points later in this section. For C-CoCoA, we set the maximum number of iterations for Equation 5 to be 100 and  α = 0.01(which is the best result found on the empirical evaluation). Moreover, we stop HCMS after 100 iterations in Figures 3a, 3b, 3c and 4. Note that, although AF-DPOP requires fewer messages than HCMS, we do not limit the number of messages for HCMS since AF-DPOP requires much more computation to calculate one message. The detailed analysis of computation, time, and number of messages for each of the algorithms are given in Table 1. Figure 3a shows the comparison of average costs on Erd˝os-R´enyi topology [Erd˝os and R´enyi, 1960] with sparse settings (edge probability 0.2) varying the number of agents. This figure shows that C-CoCoA performs better than both HCMS and AF-DPOP on average. For  no. of agents ≥ 20, AF-DPOP runs out of memory. Thus, we omit the result of AF-DPOP for  no. of agents ≥ 20.

We choose dense graphs as our second random graph settings. Figure 3b shows the cost comparison between the CCoCoA and HCMS on Erd˝os-R´enyi topology with dense settings (edge probability 0.6). C-CoCoA shows comparatively better performance than HCMS. Note that, AF-DPOP is not used in the dense graph setting due to the huge computation overhead. We then choose scale-free graphs as our final random graph setting to show the comparison with AF-DPOP in random graphs. Figure 3c shows that C-CoCoA outperforms both HCMS and AF-DPOP by a significant margin.

Table 1 shows the comparison between C-CoCoA and HCMS on three random graph settings in terms of solution cost (C), time in sec (T) and the number of messages (M). We set the number of agents to 50 for sparse and scale-free graphs and 30 for the dense graph. Other settings are the same as the above experiments. Moreover, we stop HCMS after 500 iterations (I). C-CoCoA outperforms both HCMS and AF-DPOP in terms of solution quality, time, and number of messages in sparse and dense graphs. Note that, even after increasing the number of iterations for HCMS to 500, CCoCoA still manages to outperform it by a significant margin (16% for sparse graph and 8% for the dense graph). Moreover, HCMS requires roughly 40 times more messages in the sparse graph and 200 times more messages in the dense graph than C-CoCoA. For 50 agents, AF-DPOP runs out of memory in sparse and dense settings. Thus, we omit the result of AF-DPOP for sparse and dense graph. In the scale-free setting, C-CoCoA outperforms HCMS and AF-DPOP in terms of solution quality and computation time. The closest competitor of C-CoCoA in the scale-free setting is HCMS which is outperformed by a 19% margin in terms of solution quality and AF-DPOP is outperformed by 57% margin roughly. Although AF-DPOP requires much less messages compared to HCMS and C-CoCoA, it requires much more time than both of these algorithms. It is worth noting that all the results are statistically significant for p-value <0.05.

Random Trees: We use the random tree configuration in our last experimental setting since the memory requirement of AF-DPOP is less on trees. The experimental configura-

image

Table 1: Comparison between C-CoCoA and the competing algo- rithms in terms of Solution Cost, Time and No. of messages

image

Figure 4: Solution Cost Comparison of C-CoCoA and the competing algorithms varying the number of agents (random trees)

tions are similar to the random graph settings. Figure 4 shows the comparison graph between C-CoCoA and the competing algorithms on random trees. The closest competitor of CCoCoA in this setting is HCMS. On an average, C-CoCoA outperforms HCMS which in turn outperforms AF-DPOP.

The classical DCOP model deals with discrete variables. But this assumption of the variables being discrete is not applicable to many real-world problems. Hence, the F-DCOP framework has been proposed which is a variant of DCOPs that has continuous variables. In this paper, we propose an algorithm C-CoCoA that uses Cooperative Constraint Optimization (CoCoA) technique as the underlying algorithmic framework to solve F-DCOPs. To be exact, C-CoCoA combines the discrete CoCoA algorithm with the gradient-based non-linear optimization method to solve F-DCOPs. Finally, the empirical analysis shows that C-CoCoA outperforms the state-of-the-art F-DCOP solvers, HCMS and AF-DPOP. In all the experimental settings, C-CoCoA shows better results than the other benchmarking algorithms in terms of solution quality, time, and number of message passing. In the future, we would like to further investigate the potential of C-CoCoA on various F-DCOP applications. We would also like to explore the ways to extend C-CoCoA to solve multi-objective and asymmetric F-DCOPs.

[Erd˝os and R´enyi, 1960] Paul Erd˝os and Alfr´ed R´enyi. On the evolution of random graphs. Publ. Math. Inst. Hung. Acad. Sci, 5(1):17–60, 1960.

[Fioretto et al., 2017] Ferdinando Fioretto, William Yeoh, and Enrico Pontelli. A multiagent system approach to scheduling devices in smart homes. In Proceedings of the 16th Conference on Autonomous Agents and MultiAgent

Systems, pages 981–989. International Foundation for Autonomous Agents and Multiagent Systems, 2017.

[Fitzpatrick and Meetrens, 2003] Stephen Fitzpatrick and L Meetrens. Distributed sensor networks a multiagent perspective, chapter distributed coordination through anarchic optimization, 2003.

[Grocholsky et al., 2006] Ben Grocholsky, James Keller, Vijay Kumar, and George Pappas. Cooperative air and ground surveillance. IEEE Robotics & Automation Magazine, 13(3):16–25, 2006.

[Hoang et al., 2019] Khoi D Hoang, William Yeoh, Makoto Yokoo, and Zinovi Rabinovich. New algorithms for functional distributed constraint optimization problems. arXiv preprint arXiv:1905.13275, 2019.

[Hsin and Liu, 2004] Chih-fan Hsin and Mingyan Liu. Net- work coverage using low duty-cycled sensors: random & coordinated sleep algorithms. In Proceedings of the 3rd international symposium on Information processing in sensor networks, pages 433–442. ACM, 2004.

[Maheswaran et al., 2004] Rajiv T Maheswaran, Milind Tambe, Emma Bowring, Jonathan P Pearce, and Pradeep Varakantham. Taking dcop to the real world: Efficient complete solutions for distributed multi-event scheduling. In Proceedings of the Third International Joint Conference on Autonomous Agents and Multiagent Systems-Volume 1, pages 310–317. IEEE Computer Society, 2004.

[Modi et al., 2005] Pragnesh Jay Modi, Wei-Min Shen, Milind Tambe, and Makoto Yokoo. Adopt: Asynchronous distributed constraint optimization with quality guarantees. Artificial Intelligence, 161(1-2):149–180, 2005.

[Petcu and Faltings, 2005] Adrian Petcu and Boi Faltings. A scalable method for multiagent constraint optimization. Technical report, 2005.

[Rust et al., 2016] Pierre Rust, Gauthier Picard, and Fano Ramparany. Using message-passing dcop algorithms to solve energy-efficient smart environment configuration problems. In IJCAI, pages 468–474, 2016.

[Stranders et al., 2009] Ruben Stranders, Alessandro Farinelli, Alex Rogers, and Nick R Jennings. Decentralised coordination of continuously valued control parameters using the max-sum algorithm. In Proceedings of The 8th International Conference on Autonomous Agents and Multiagent Systems-Volume 1, pages 601–608. International Foundation for Autonomous Agents and Multiagent Systems, 2009.

[van Leeuwen and Pawelczak, 2017] Cornelis Jan van Leeuwen and Przemyslaw Pawelczak. Cocoa: A non-iterative approach to a local search (a) dcop solver. In Thirty-First AAAI Conference on Artificial Intelligence, 2017.

[Voice et al., 2010] Thomas Voice, Ruben Stranders, Alex Rogers, and Nicholas R Jennings. A hybrid continuous max-sum algorithm for decentralised coordination. In ECAI, pages 61–66, 2010.

[Yedidsion and Zivan, 2016] Harel Yedidsion and Roie Zi- van. Applying dcop mst to a team of mobile robots with directional sensing abilities. In Proceedings of the 2016 International Conference on Autonomous Agents & Multiagent Systems, pages 1357–1358. International Foundation for Autonomous Agents and Multiagent Systems, 2016.


Designed for Accessibility and to further Open Science