Professional Documents
Culture Documents
Francesco Amigoni
Many of the following slides are taken from:
• the “lecture slides provided by authors”, Chapter 12, available
at:
http://www.the-mas-book.info/index.html
• the “Tutorial on Multi-agent Distributed Constrained
Optimization” at AAMAS2019, available at:
https://www2.isye.gatech.edu/~fferdinando3/cfp/AAMAS19/
Francesco Amigoni
Introduction
Distributed Constraint Reasoning
Applications and Exemplar Problems
Complete algorithms for DCOPs
Approximated Algorithms for DCOPs
Conclusions
1
Computer Science Department
University of Verona, Italy
2
Agents, Interaction and Complexity Group
School of Electronics and Computer Science
University of Southampton,UK
Constraints
Constraints
Constraint Processing
M2
M1
A1 A2 A2 A3
M2
M1
A2
A1 A3
Constraint Networks
Hard constraints
Ri ✓ Di1 ⇥ . . . ⇥ Dir
Dj = Dk = {0, 1} Ri xj xk
0 1
1 0
Soft constraints
Fi xj xk
2 0 0
0 0 1
0 1 0
1 1 1
x1
Binary constraint networks are those where:
F 1,3
,2
Each constraint (soft or hard) is defined
F1
over two variables.
Every constraint network can be mapped to
a binary constraint network x2 x3
,4
requires the addition of variables and
F1
constraints
4
F2,
may add complexity to the model
They can be represented by a constraint
graph x4
A1
When operating in a
decentralized context:
a set of agents control
variables
A2
agents interact to find a A4
solution to the constraint
network
A3
Motivation
Why distribute?
Privacy
Robustness
Scalability
Graph coloring
Popular benchmark
Simple formulation
Complexity controlled with few parameters:
Number of available colors
Number of nodes
Density (#nodes/#constraints)
Many versions of the problem:
CSP, MaxCSP, COP
Yes! No!
0 -1
0 -2
-1
-3 -2
-1
Each node:
controlled by one agent
Each agent:
Preferences for different colors
Communicates with its direct neighbours in the graph
-1
A1 A3 A1 and A2 exchange
-3 -2 preferences and conflicts
A3 and A4 do not
A2 A4 communicate
-1
Chapter 12: Distributed Constraint Handling and Optimization
Introduction
Distributed Constraint Reasoning
Graph coloring
Applications and Exemplar Problems
Meeting Scheduling
Complete algorithms for DCOPs
Target Tracking
Approximated Algorithms for DCOPs
Conclusions
Meeting Scheduling
Motivation:
Privacy
Robustness
Scalability
Meeting Scheduling
Meeting Scheduling
Meeting Scheduling
Window: 15:00-18:00
Duration: 2h
Window: 15:00-17:00
Duration: 1h
Objective: find a valid schedule for the meeting while maximizing the
sum of individuals’ preferences.
Target Tracking
Motivation:
Privacy
Robustness
Scalability
x3 x4
x5 x6
a1 a2
x1 x2
a3 c2 a4
c1
x3 x4
a5 a6
x5 x6
Complete Algorithms
Complete Algorithms
Completely decentralised
Search-based.
Synchronous: SyncBB, AND/OR search
Asynchronous: ADOPT, NCBB and AFB.
Dynamic programming.
Partially decentralised
OptAPO
DPOP
DFS arrangement
DPOP by example
x1 x1
Fi ,j xi xj
F 1,3
,2
F1
P2 , child !
2 0 0
, PP4 !
PP 3 , p
0 0 1
,4
F2,3
F1
x2 x3 0 1 0
ochild
seudo
1 1 1
pseud
x2
child
,4
F2
!
=>
P3
P4
, ch
ld ,
chi
x4
ild
DFS arrangement
!
Objective: find assignment x4 x3
with maximal value
DPOP phases
x1 Sep1 = 0/
P2 , child !
, PP4 !
PP 3 , p
ochild
seudo
pseud
x2 Sep2 = {x1 }
child
!
!
P3
P4
, ch
ld ,
chi
ild
!
Util message
Join operator
A1 (root)
U2!1 x1 Sep2
U1!2
0 10
Sep4 1 5
A2 max(U3!2 ⌦ U4!2 ⌦ F1,2 )
x2
U4!2 x1 x2 U3!2 x1 x2 Sep3
U3
4 0 0 4 0 0
!2
4!
!
U
2 0 1 2
2 0 1
2 1 0 2 1 0
2 1 1 A3 2 1 1
A4
1 max(F1,3 ⌦ F2,3 )
2
max(F1,4 ⌦ F2,4 )
x4 x3
Chapter 12: Distributed Constraint Handling and Optimization
Introduction
Distributed Constraint Reasoning
Applications and Exemplar Problems Search Based: ADOPT
Complete algorithms for DCOPs Dynamic Programming DPOP
Approximated Algorithms for DCOPs
Conclusions
Value message
S
where xp⇤ = Aj 2Pi [PPi {xj⇤ } is the set of optimal values for Ai ’s parent
and pseudoparents received from Ai ’s parent.
Propagates this value through children down the tree:
[
⇤
Vi !j = {xi = xi } [ {xs = xs⇤ }
xs 2Sepi \Sepj
V1!2
!
A2 x2⇤ = max(U3!2 (x1⇤ , x2 ) ⌦ U4!2 (x1⇤ , x2 ) ⌦ F1,2 (x1⇤ , x2 ))
x2
V2 !
4
2!
!
V
A4 A3
x4⇤ = max(F1,4 (x1⇤ , x4 ) ⌦ F2,4 (x2⇤ , x4 )) x3⇤ = max(F1,3 (x1⇤ , x3 ) ⌦ F2,3 (x2⇤ , x3 ))
x4 x3
DPOP extensions
D 5 5 5 3
A { } 8 10 4 8
{ } C 20 20 3 10
{ } 3 3 3 3
Katsutoshi Hirayama, Makoto Yokoo: Distributed Partial Constraint Satisfaction Problem. CP 1997: 222-236
D
A { } B { }
{ } C
{ }
Definition: A spanning tree of the constraint C D
UTIL C D
{ } { }
AAMAS-19 Tutorials Fioretto, Picard, Tran-Thanh, Rust
DPOP
Pseudo-tree Ordering
A { }
B D (B,D)
r r 3
r g 8
min{3, 8} = 3
g r 10 B { }
g g 3
min{10, 3} = 3
MSG to B
B cost
UTIL C D
r 3
g 3 { } { }
AAMAS-19 Tutorials Fioretto, Picard, Tran-Thanh, Rust
DPOP
Pseudo-tree Ordering
A B C (B,C) (A,C)
r r r 5 5 10 A { }
r r g 4 8 12
r g r 3 5 8
r g g 3 8 11
g r r 5 10 15
g r g 4 3 7 B { }
g g r 3 10 13
g g g 3 3 6
UTIL C D
{ } { }
AAMAS-19 Tutorials Fioretto, Picard, Tran-Thanh, Rust
DPOP
Pseudo-tree Ordering
A B C (B,C) (A,C)
r r r 5 5 10 A { }
r r g 4 8 12
r g r 3 5 8
r g g 3 8 11
g r r 5 10 15
g r g 4 3 7 B { }
g g r 3 10 13
g g g 3 3 6
UTIL
MSG to B A
r
B
r 10
C D
r
g
g
r
8
7
{ } { }
AAMAS-19 Tutorials g g 6 Fioretto, Picard, Tran-Thanh, Rust
DPOP
Pseudo-tree Ordering
A { }
Util Util
A B (A,B)
C D
r r 5 10 3 18
r g 8 8 3 19
g r 20 7 3 30
B { }
g g 3 6 3 12
UTIL C D
{ } { }
AAMAS-19 Tutorials Fioretto, Picard, Tran-Thanh, Rust
DPOP
Pseudo-tree Ordering
A { }
Util Util
A B (A,B)
C D
r r 5 10 3 18
r g 8 8 3 19
g r 20 7 3 30
B { }
g g 3 6 3 12
MSG to A
A cost
UTIL C D
r 18
g 12 { } { }
AAMAS-19 Tutorials Fioretto, Picard, Tran-Thanh, Rust
DPOP
Pseudo-tree Ordering
A { }
A cost
r 18
g 12
optimal cost = 12 B { }
UTIL C D
{ } { }
AAMAS-19 Tutorials Fioretto, Picard, Tran-Thanh, Rust
DPOP
Pseudo-tree Ordering
A { }
A cost
r 18 VALUE
g 12
agents C and D { } { }
AAMAS-19 Tutorials Fioretto, Picard, Tran-Thanh, Rust
DPOP
A B C (B,C) (A,C) Pseudo-tree Ordering
r r r 5 5 10
A { }
r r g 4 8 12
r g r 3 5 8 VALUE
r g g 3 8 11
g r r 5 10 15
g r g 4 3 7
g g r 3 10 13 B { }
g g g 3 3 6
{ } { }
AAMAS-19 Tutorials Fioretto, Picard, Tran-Thanh, Rust
DPOP
Pseudo-tree Ordering
A { }
VALUE
B D (B,D)
r r 3
r g 8
g r 10 B { }
g g 3
{ } { }
AAMAS-19 Tutorials Fioretto, Picard, Tran-Thanh, Rust
Introduction
Distributed Constraint Reasoning
Local greedy methods: DSA-1, MGM-1 (Heuristic)
Applications and Exemplar Problems
GDL-based approaches: Max-Sum (Heuristic)
Complete algorithms for DCOPs
Quality guarantees: k-optimality, region optimality, bounded Max-Sum
Approximated Algorithms for DCOPs
Conclusions
Approximate algorithms
Sacrify optimality in favor of computational and communication
efficiency
Well-suited for large scale distributed applications:
sensor networks
mobile robots
DSA ALGORITHM
Utility
Utility
xi xj
(A,B) (B,C)
5 5
A B C 5 0
{ } { } { } 0 0
8 8
Francesco Amigoni
Example run of DSA
DSA ALGORITHM
Assume that all agents are activated
xi xj Utility
Utility
U=10, Δ=5 (A,B) (B,C)
U=5, Δ=0 5 5
U=5 U=0
A B C 5 0
Francesco Amigoni
Example run of DSA
DSA ALGORITHM
Assume that only agent B is activated
Utility
Utility
U=0, Δ=0 xi xj
(A,B) (B,C)
U=16, Δ=16 5 5
U=0 U=0
A B C 5 0
Francesco Amigoni
Example run of DSA
DSA ALGORITHM
Assume that all agents are activated
xi xj Utility
Utility
U=0, Δ=-16 (A,B) (B,C)
U=16, Δ=0 5 5
U=8 U=8
A B C 5 0
Francesco Amigoni
Example run of DSA
DSA ALGORITHM
U=5 U=0
A B C Utility
Utility
xi xj
(A,B) (B,C)
U=8 U=0 5 5
A B C
5 0
U=0 U=0
A B C 0 0
U=8 U=8 8 8
A B C
Francesco Amigoni
Introduction
Distributed Constraint Reasoning
Local greedy methods: DSA-1, MGM-1 (Heuristic)
Applications and Exemplar Problems
GDL-based approaches: Max-Sum (Heuristic)
Complete algorithms for DCOPs
Quality guarantees: k-optimality, region optimality, bounded Max-Sum
Approximated Algorithms for DCOPs
Conclusions
DSA-1: discussion
3 4
5 6
Francesco Amigoni
Example run of MGM-1
1 2
3 4
5 6
Francesco Amigoni
Example run of MGM-1
1 2
3 4
5 6
Francesco Amigoni
Example run of MGM-1
❷❸❹ ❶❸❹❺
1 2
❶❷❺❻ ❶❷❺❻
3 4
❷❸❹❻ ❸❹❺
5 6
Francesco Amigoni
Example run of MGM-1
0 ❶ 0 ❷
1 2
0 ❸ 1 ❹
3 4
1 ❺ 2 ❻
5 6
Francesco Amigoni
Example run of MGM-1
1 2
3 4
5 6
Francesco Amigoni
Example run of MGM-1
0 ❶ 0 ❷
1 2
0,0,1 0,0,1,1
0 ❸ 1 ❹
3 4
0,0,1,2 0,0,1,2
1 ❺ 2 ❻
5 6
0,0,1,2 0,1,1
Francesco Amigoni
Example run of MGM-1
0 ❶ 0 ❷
1 2
0,0,1 0,0,1,1
0 ❸ 1 ❹
3 4
0,0,1,2 0,0,1,2
1 ❺ 2 ❻
5 6
0,0,1,2 0,1,1
Francesco Amigoni
Example run of MGM-1
0 ❶ 0 ❷
1 2
0,0,1 0,0,1,1
0 ❸ 1 ❹
3 4
0,0,1,2 0,0,1,2
1 ❺ 2 ❻
5 6
0,0,1,2 0,1,1
Francesco Amigoni
Example run of MGM-1
1 2
3 4
5 6
Francesco Amigoni
Example run of MGM-1
1 2
3 4
5 6
Francesco Amigoni
Example run of MGM-1
❷❸❹ ❶❸❹❺
1 2
❶❷❺❻ ❶❷❺❻
3 4
❷❸❹❻ ❸❹❺
5 6
Francesco Amigoni
Example run of MGM-1
0 ❶ 0 ❷
1 2
0 ❸ 0 ❹
3 4
0 ❺ 0 ❻
5 6
Francesco Amigoni
Example run of MGM-1
0 ❶ 0 ❷
1 2
0 ❸ 0 ❹
3 4
0 ❺ 0 ❻
5 6
Francesco Amigoni
Why?
Francesco Amigoni
Local maximum vs. global maximum
1 2
3 4
5 6
Francesco Amigoni
Local maximum vs. global maximum
1 2
3 4
5 6
Francesco Amigoni
Introduction
Distributed Constraint Reasoning
Local greedy methods: DSA-1, MGM-1 (Heuristic)
Applications and Exemplar Problems
GDL-based approaches: Max-Sum (Heuristic)
Complete algorithms for DCOPs
Quality guarantees: k-optimality, region optimality, bounded Max-Sum
Approximated Algorithms for DCOPs
Conclusions
MGM-1: discussion
1 2
𝑈(𝑟𝑒𝑑, 𝑟𝑒𝑑) = 0
𝑈(𝑟𝑒𝑑, 𝑔𝑟𝑒𝑒𝑛) = 𝑈(𝑔𝑟𝑒𝑒𝑛, 𝑟𝑒𝑑) = 1
𝑈(𝑔𝑟𝑒𝑒𝑛, 𝑔𝑟𝑒𝑒𝑛) = – 1000
If both agents are allowed to alter their value in the same round, we could end up in the adverse
state (green, green)
When using DSA, there is always a positive probability for any time horizon that (green, green)
will be the resulting assignment
Francesco Amigoni
MGM vs. DSA
When applying MGM, the global utility strictly increases at each round until convergence
Francesco Amigoni
Introduction
Distributed Constraint Reasoning
Local greedy methods: DSA-1, MGM-1 (Heuristic)
Applications and Exemplar Problems
GDL-based approaches: Max-Sum (Heuristic)
Complete algorithms for DCOPs
Quality guarantees: k-optimality, region optimality, bounded Max-Sum
Approximated Algorithms for DCOPs
Conclusions
A1
x1
m1
1)
!
1 (x
!
F 1,3
!1 )
,2
m3
2)
3 !
2!
(x 3
x
F1
2 (x
1(
!
m
)
)
1
4!
,4
1!
(x 1
x4
F2,3
F1
4(
m
m2!3 (x3 )
)
x2 x3 =>
1!
!
m
A2 A3
,4
m3!2 (x2 )
!)
x2
F2
2(
4!
)
x4
m
4(
x4 m
2!
A4
Max-Sum messages
where:
aij is a normalization constant added to all components of the
message so that Âxj mi !j (xj ) = 0
N (i ) is the set of indices for variables that are connected to xi
Max-Sum by example
A1
2)
2 (x
1!
m
A2 A3
m3!2 (x2 )
!2 )
x
2(
4!
m
A4
Shared constraint with A2 All incoming messages except from A2
Max-Sum assignments
sets its assignment as the value that maximizes its local function:
Max-Sum by example
A1
2)
2 (x
1!
m
A2 A3
m3!2 (x2 )
!2 )
x
2(
4!
m
A4
All incoming messages: from A4 , A3 and A1
Francesco Amigoni
Example run of Max-Sum
Bc 0
Cc 0
Francesco Amigoni
Example run of Max-Sum
and selects one value that maximizes z1(P1), namely ~P1 = Aa (according to the lexicographic
order)
Francesco Amigoni
Introduction
Distributed Constraint Reasoning
Local greedy methods: DSA-1, MGM-1 (Heuristic)
Applications and Exemplar Problems
GDL-based approaches: Max-Sum (Heuristic)
Complete algorithms for DCOPs
Quality guarantees: k-optimality, region optimality, bounded Max-Sum
Approximated Algorithms for DCOPs
Conclusions
A1
Optimal on acyclic graphs
Different branches are independent
z functions provide correct estimations of A2 A3
agents contributions to the global problem
Convergence guaranteed in a polynomial
number of cycles
A4
Quality guarantees
de Oliveira, D., Bazzan, A. L., & Lesser, V.. Using cooperative mediation to coordinate traffic lights: a case study. AAMAS 2005: 371-378
Junges, R., & Bazzan, A. L. Evaluating the performance of DCOP algorithms in a real world, dynamic problem. AAMAS 2008: 463-470
x1 x2 x3
de Oliveira, D., Bazzan, A. L., & Lesser, V.. Using cooperative mediation to coordinate traffic lights: a case study. AAMAS 2005: 371-378
Junges, R., & Bazzan, A. L. Evaluating the performance of DCOP algorithms in a real world, dynamic problem. AAMAS 2008: 463-470
x1 x2 x3
de Oliveira, D., Bazzan, A. L., & Lesser, V.. Using cooperative mediation to coordinate traffic lights: a case study. AAMAS 2005: 371-378
Junges, R., & Bazzan, A. L. Evaluating the performance of DCOP algorithms in a real world, dynamic problem. AAMAS 2008: 463-470
x1 x2 x3
de Oliveira, D., Bazzan, A. L., & Lesser, V.. Using cooperative mediation to coordinate traffic lights: a case study. AAMAS 2005: 371-378
Junges, R., & Bazzan, A. L. Evaluating the performance of DCOP algorithms in a real world, dynamic problem. AAMAS 2008: 463-470
thermostat cleanliness
sensor
Ferdinando Fioretto, William Yeoh, Enrico Pontelli. "A Multiagent System Approach to Scheduling Devices in Smart Homes". AAMAS, 2017.
AAMAS-19 Tutorials Fioretto, Picard, Tran-Thanh, Rust
117
SMART HOMES
DEVICE SCHEDULING
Smart device:
• A set of actions it can
perform (clean, charge)
• Power consumption
associated to each action.
Example 2 The scheduling rule (1) describes an ASR
a goal state where the living room floor is at least
defining
75%Scheduling
clean (i.e., at least Rules:
75% of the floor is cleaned by a
vacuum cleaning robot) by 1800 hrs:
living room cleanliness 75 before 1800 (1)
and scheduling rules (2) and (3) describe PSRs stating that
the battery charge of the vacuum cleaning robot zv needs to
be between 0 and 100 % of its full charge at all the times:
Ferdinando Fioretto, William Yeoh, Enrico Pontelli. "A Multiagent System Approach to Scheduling Devices in Smart Homes". AAMAS, 2017.
AAMAS-19 Tutorials
zv battery charge Fioretto,
0 always (2)
Picard, Tran-Thanh, Rust
118 zv battery charge 100 always (3)
SMART HOMES
Example 2 The scheduling rule (1) describes an ASR
8
DEVICE SCHEDULING
> min(20, 100 !)
>
<
defining a goal state where the living room floor is at least 25
75% clean (i.e., at least 75% of the floor is cleaned by a > 0
vacuum cleaning robot) by 1800 hrs: >
:
?
living room cleanliness 75 before 1800 (1)
In other words, at each tim
and scheduling rules (2) and (3) describe PSRs stating that will increase by 20% if it is
S the battery
R Rcharge
C of the
C vacuum
R R C robot
cleaning R zvDevice
needs to
Schedule decrease by 25% if it is ru
be between 0 and 100 % of its full charge at all the times: charge, and no change if it
0 15 30 30 30 45 60 60 75 Cleanliness (%)
DEVICE SCHEDULING
> min(20, 100 !)
>
<
defining a goal state where the living room floor is at least 25
75% clean (i.e., at least 75% of the floor is cleaned by a > 0
vacuum cleaning robot) by 1800 hrs: >
:
?
living room cleanliness 75 before 1800 (1)
In other words, at each tim
and scheduling rules (2) and (3) describe PSRs stating that will increase by 20% if it is
S the battery
R Rcharge
C of the
C vacuum
R R C robot
cleaning R zvDevice
needs to
Schedule decrease by 25% if it is ru
be between 0 and 100 % of its full charge at all the times: charge, and no change if it
0 15 30 30 30 45 60 60 75 Cleanliness (%)
SMART HOMES
2
x1 ing schema specified at regula
mostats, smart lightbulbs, smart washers, etc.)x in xour Costs
x4 i j
homes horizon
The SBDS H. We problemuse T is= the{1, .
and offices, building 0 0 20
a2 automation
x3 x4 within the larger smart grid intervals
vices of eachandbuilding ✓ : T ! in theR+
0the automated
1 8
DEVICE SCHEDULING
is becoming inevitable. Building automation is associated
fashion so as to with the pricing
minimize thescm
x3 1 0 10 theminimize
cost per kWh of energy co
control of the building’s devices with thex objective of3 im- time, the discomfort
a3 x5 x6 6 1 1
Within each smart buildin
proved comfort of the occupants, improved energy efficiency, objective optimization problem
electric devices Zi networke
and reduced operational costs. In this paper, we are interested tiveshome
intoautomation
a single objective
(a) Constraint Graph x 5
(b) Constraint Cost Table system. Alt
in the scheduling devices in smart buildings in a decentral- sum:(i.e., they cannot be stopped X X o
Domains Environmental
ized way, where each user is responsible for the schedule of szj and minimizezj to denote the sta
Figure 1: Example
the devices in her building, under the assumption that each variables
DCOP in exact multiples oft2T timehiin2
user cooperate to ensure that the total energy consumption of zj 2↵Ziand . ↵ are weights
A solution is a value assignment to a set of variables where
the neighborhood is always within some maximum threshold The energyuconsumption oU
c
X ✓ X that Actionis consistent
State with the variables’
Pproperty domains. The such that ↵c + ↵u = 1. The S
Power (kW/h)
that is defined each hour that it is on. It wi
cost function FP ( ) = f2F,xf ✓X f( ) is the utility
by the energy provider such as a energy sum of the the following constraints:
company. costs of allrun cleanliness,
is off-the-shelf. We use the in
the applicable constraints in0.0. A solution is said
We nowto provide a description the state1 ofszthe device
T zjzjat ti
be complete = Xofcharge
if X battery isthe
theSmart
value Building
assignmentDe- for all j
vices Scheduling (SBDS)
charge problem.
battery We
charge describe
0.26 related so-8 exclusively
X when the device Cz
variables. The goal is
Example 2 The scheduling rule (1) describes an ASR to find an optimal complete solution
min(20, 100 !) if ⇠z= t t
= charge ^ ! <
> v⇢ z
lution approaches
⇤
x =where
defining a goal state argmin in Section
F (x).
the living 6. An SBDS
room floor is at least problem is com- >
< z j
tif ⇠zv = run
t 1j ^if! > szj2
stopx P 0.0 25
=
75% posed of a neighborhood
clean (i.e., atFollowing Fioretto
least 75% of H of
the floorsmart
et al.is buildings
[2016b],
cleaned by a hi 2 Hthethat
we introduce follow- t2T z
ifj ⇠zv = stop
t 0 otherw
vacuum
>
>
:
0 X
arecleaning
able toingrobot) by 1800 hrs:
definitions:
communicate with one another and whose energy ? t
otherwise
P ` t
demands are served by an energy provider. We assume that Additionally, the executio
i
living Definition 1 For each agent ai 2A, Li ={xj 2InXother
room cleanliness 75 before 1800 (1) | ↵(xwords,
j )= atby eacha hcost
i 2H and
time step, athe discomfort
charge of v
ai } is(2)theandset(3)ofdescribe
and scheduling rules its localPSRs
variables. i = {xj 2will
stating Ithat | 9xk 2by 20%
Liincrease if it is charging
monetary expenseuntil it isuse
for the ful
the battery chargeX of thesvacuum
^ 9f 2F : ↵(x cleaning
k ) 6= arobot
i ^ {xzvj ,needs to s } isdecrease
xk }✓x f
the set ofbyits25% ifand
it is running tuntil it has less
we use Ci to denote the
be between 0 and 100 % of its
interface variables.full charge at all the times: Hard constraints
charge, and no change if it is stopped.
AAMAS-19 Tutorials at time
hiFioretto, stepTran-Thanh,
Picard, t, expressed
Rust as
Example 4 Consider the cleanliness state pro
zv battery charge
Definition 2 For each agent a 2A, its(2)
0 always
local constraint graph t
X
3 Scheduling of Devices in Smartx2 Buildings Uit = t
zj · µzj (t)
SMART HOMES
the provider sets energy prices according
zj 2Zi
Through the proliferation
a1 x1 ofxsmart
2 devices
x1 (e.g.,forsmart
i < j ther- ing schema specified at regular intervals t
mostats, smart lightbulbs, smart washers, etc.) x4 i j
x in xour Costs
homes horizon
The SBDS H. We use T is
problem = the . . , H} to of
{1, .problem de
and offices, building 0 0 20
a2 automation
x3 x4 within the larger smart grid intervals
of eachandbuilding to represent
R neighborhoo
+
vices ✓ : T ! in the
DEVICE SCHEDULING
is becoming inevitable. Building automation x3
control of the building’s devices with thex objective
proved comfort of the a3 x5 x6 6
0
1 0
1
occupants, improved energy efficiency,
1
is the automated
1
8
10
of3 im-
associated
fashion
the
time,
objective
so as to
cost
minimizeper
with
the
the pricing
minimize
kWh of energy
discomfort
theschema
monetary
consumed
Within each smart building hi , there
optimization problem, we comb
of
adopte
users. by
co
Wa
are able toing definitions: with one another and whose energy
communicate Pit the `t execution of device z
demands are served1byForaneach
energy real-time energy Additionally, price schema
Definition agentprovider.
ai 2A, LWe assume that
i ={xj 2 X | ↵(xj )= by a cost and a discomfort value. The c
hi 2H
ai } is the set of its local variables. Ii = {xj 2 Li | 9xk 2 monetary expense for the user to schedule
X ^ 9fs 2F : ↵(xk ) 6= ai ^ {xj , xk }✓xfs } is the set of its and we use Cit to denote the aggregated c
interface variables. hi at time step t, expressed as:
Ferdinando Fioretto, William Yeoh, Enrico Pontelli. "A Multiagent System Approach to Scheduling Devices in Smart Homes". AAMAS, 2017.
Definition 2 For each agent ai 2A, its local constraint graph Cit = Pit · ✓(t),
AAMAS-19 Tutorials Fioretto, Picard, Tran-Thanh, Rust
Gi = (Li , EFi ) is a subgraph of the constraint graph, where
fj where X