the set of items, be the set of knapsacks, be a function mapping items to their volume, and be a function mapping knapsacks to their capacities. To encode this problem as a DCOP, for each create one variable with associated domain . Then for all possible contexts :where represents the total weight assigned by context to knapsack : Distributed item allocation problem The item allocation problem is as follows. There are several items that have to be divided among several agents. Each agent has a different valuation for the items. The goal is to optimize some global goal, such as maximizing the sum of utilities or minimizing the envy. The item allocation problem can be formulated as a DCOP as follows. Add a binary variable vij for each agent i and item j. The variable value is "1" if the agent gets the item, and "0" otherwise. The variable is owned by agent i. To express the constraint that each item is given to at most one agent, add binary constraints for each two different variables related to the same item, with an infinite cost if the two variables are simultaneously "1", and a zero cost otherwise. To express the constraint that all items must be allocated, add an n-ary constraint for each item (where n is the number of agents), with an infinite cost if no variable related to this item is "1". Other applications DCOP was applied to other problems, such as: coordinating mobile sensors; meeting and task scheduling. Algorithms DCOP algorithms can be classified in several ways: Completeness - complete search algorithms finding the optimal solution, vs. local search algorithms finding a local optimum. Search strategy - best-first search or depth-first branch-and-bound search; Synchronization among agents - synchronous or asynchronous; Communication among agents - point-to-point with neighbors in the constraint graph, or broadcast; Communication topology - chain or tree. ADOPT, for example, uses best-first search, asynchronous synchronization, point-to-point communication between neighboring agents in the constraint graph and a constraint tree as main communication topology. Hybrids of these DCOP algorithms also exist. BnB-Adopt, for example, changes the search strategy of Adopt from best-first search to depth-first branch-and-bound search. Asymmetric DCOP An asymmetric DCOP is an extension of DCOP in which the cost of each constraint may be different for different agents. Some example applications are: Event scheduling: agents who attend the same event might derive different values from