Lecture 11: Distributed Optimization
2
The Lecture will be recorded
DTU Compute
2 February 2021
Welcome to 02435�Decision-making under uncertainty
Course Plan
3
without�Uncertainty
DTU Compute
2 February 2021
Welcome to 02435�Decision-making under uncertainty
Agenda
4
DTU Compute
2 February 2021
Welcome to 02435�Decision-making under uncertainty
The needy robots’ problem
5
DTU Compute
2 February 2021
Welcome to 02435�Decision-making under uncertainty
The needy robots’ problem
6
DTU Compute
2 February 2021
Welcome to 02435�Decision-making under uncertainty
A. How strict is the constraint?
7
DTU Compute
2 February 2021
Welcome to 02435�Decision-making under uncertainty
A. How strict is the constraint?
8
DTU Compute
2 February 2021
Welcome to 02435�Decision-making under uncertainty
A. What do we gain by relaxing the constraint a bit?
9
DTU Compute
2 February 2021
Welcome to 02435�Decision-making under uncertainty
A. What do we gain by relaxing the constraint a bit?
10
How can we assess the slope?
DTU Compute
2 February 2021
Welcome to 02435�Decision-making under uncertainty
A. The dual variable of the constraint
11
DTU Compute
2 February 2021
Welcome to 02435�Decision-making under uncertainty
B. Privacy, Autonomy, and Distributed Computation
12
Now, the robots complain that their utility is private data, and they don’t want to share it with us. Also, they don’t want us to tell them how much to charge.
We are actually fine with that, because we were starting to get tired of solving this big optimization…
DTU Compute
2 February 2021
Welcome to 02435�Decision-making under uncertainty
B. Privacy, Autonomy, and Distributed Computation
13
Now, the robots complain that their utility is private data, and they don’t want to share it with us. Also, they don’t want us to tell them how much to charge.
We are actually fine with that, because we were starting to get tired of solving this big optimization…
So, we let them self-organize… �Can each robot decide for itself?�It could, if we didn’t have this coupling constraint…�
DTU Compute
2 February 2021
Welcome to 02435�Decision-making under uncertainty
B. Privacy, Autonomy, and Distributed Computation
14
Now, the robots complain that their utility is private data, and they don’t want to share it with us. Also, they don’t want us to tell them how much to charge.
We are actually fine with that, because we were starting to get tired of solving this big optimization…
So, we let them self-organize… �Can each robot decide for itself?�It could, if we didn’t have this coupling constraint…�So, we remove the coupling constraint and instead we penalize its violation in the objective function
DTU Compute
2 February 2021
Welcome to 02435�Decision-making under uncertainty
B. Privacy, Autonomy, and Distributed Computation
15
Now, the robots complain that their utility is private data, and they don’t want to share it with us. Also, they don’t want us to tell them how much to charge.
We are actually fine with that, because we were starting to get tired of solving this big optimization…
So, we let them self-organize… �Can each robot decide for itself?�It could, if we didn’t have this coupling constraint…�So, we remove the coupling constraint and instead we penalize its violation in the objective function
Then, each robot solves:
Penalty for using the shared resource
DTU Compute
2 February 2021
Welcome to 02435�Decision-making under uncertainty
B. Privacy, Autonomy, and Distributed Computation
16
Now, the robots complain that their utility is private data, and they don’t want to share it with us. Also, they don’t want us to tell them how much to charge.
We are actually fine with that, because we were starting to get tired of solving this big optimization…
So, we let them self-organize… �Can each robot decide for itself?�It could, if we didn’t have this coupling constraint…�So, we remove the coupling constraint and instead we penalize its violation in the objective function
Then, each robot solves:
Penalty for using the shared resource
How much should we penalize usage?
DTU Compute
2 February 2021
Welcome to 02435�Decision-making under uncertainty
B. Privacy, Autonomy, and Distributed Computation
17
Now, the robots complain that their utility is private data, and they don’t want to share it with us. Also, they don’t want us to tell them how much to charge.
We are actually fine with that, because we were starting to get tired of solving this big optimization…
So, we let them self-organize… �Can each robot decide for itself?�It could, if we didn’t have this coupling constraint…�So, we remove the coupling constraint and instead we penalize its violation in the objective function
Then, each robot solves:
How much should we penalize usage?�Analogously to the constraint violation�
We (the coordinator), set:
DTU Compute
2 February 2021
Welcome to 02435�Decision-making under uncertainty
B. Privacy, Autonomy, and Distributed Computation
18
Now, the robots complain that their utility is private data, and they don’t want to share it with us. Also, they don’t want us to tell them how much to charge.
We are actually fine with that, because we were starting to get tired of solving this big optimization…
So, we let them self-organize… �Can each robot decide for itself?�It could, if we didn’t have this coupling constraint…�So, we remove the coupling constraint and instead we penalize its violation in the objective function
Then, each robot solves:
How much should we penalize usage?�Analogously to the constraint violation�
We (the coordinator), set:
DTU Compute
2 February 2021
Welcome to 02435�Decision-making under uncertainty
B. Privacy, Autonomy, and Distributed Computation
19
Now, the robots complain that their utility is private data, and they don’t want to share it with us. Also, they don’t want us to tell them how much to charge.
We are actually fine with that, because we were starting to get tired of solving this big optimization…
So, we let them self-organize… �Can each robot decide for itself?�It could, if we didn’t have this coupling constraint…�So, we remove the coupling constraint and instead we penalize its violation in the objective function
Then, each robot solves:
How much should we penalize usage?�Analogously to the constraint violation�
We (the coordinator), set:
a.k.a. a Decomposition algorithm: we can use it to break a problem into multiple smaller ones.
DTU Compute
2 February 2021
Welcome to 02435�Decision-making under uncertainty
C. Auctions
20
We have had enough of these needy robots!�We think: “Look, we have this energy. The robots all want it. Let them compete (and pay!) for it.”
DTU Compute
2 February 2021
Welcome to 02435�Decision-making under uncertainty
C. Auctions
21
We have had enough of these needy robots!�We think: “Look, we have this energy. The robots all want it. Let them compete (and pay!) for it.”
Each robot declares how much energy it wants at the current price.
If demand exceeds supply, we simply raise the price...
DTU Compute
2 February 2021
Welcome to 02435�Decision-making under uncertainty
C. Auctions
22
We have had enough of these needy robots!�We think: “Look, we have this energy. The robots all want it. Let them compete (and pay!) for it.”
Each robot declares how much energy it wants at the current price.
If demand exceeds supply, we simply raise the price...
DTU Compute
2 February 2021
Welcome to 02435�Decision-making under uncertainty
C. Auctions
23
We have had enough of these needy robots!�We think: “Look, we have this energy. The robots all want it. Let them compete (and pay!) for it.”
Each robot declares how much energy it wants at the current price.
If demand exceeds supply, we simply raise the price...
The auction ends up at the so called market-clearing price, where supply equals demand
If we set a lower price, demand exceeds supply.
If we set a higher price, energy is wasted.
DTU Compute
2 February 2021
Welcome to 02435�Decision-making under uncertainty
C. Auctions
24
B. Distributed �Optimization
A. The dual �variable
DTU Compute
2 February 2021
Welcome to 02435�Decision-making under uncertainty
C. Auctions
25
B. Distributed �Optimization
A. The dual �variable
DTU Compute
2 February 2021
Welcome to 02435�Decision-making under uncertainty
C. Auctions
26
B. Distributed �Optimization
A. The dual �variable
Different Interpretations of the Same Thing!
DTU Compute
2 February 2021
Welcome to 02435�Decision-making under uncertainty
C. Auctions
27
B. Distributed �Optimization
A. The dual �variable
Different Interpretations of the Same Thing!
DTU Compute
2 February 2021
Welcome to 02435�Decision-making under uncertainty
C. Auctions
28
B. Distributed �Optimization
A. The dual �variable
DTU Compute
2 February 2021
Welcome to 02435�Decision-making under uncertainty
29
B. Distributed �Optimization
A. The dual �variable
DTU Compute
2 February 2021
Welcome to 02435�Decision-making under uncertainty
30
B. Distributed �Optimization
A. The dual �variable
What happens at the optimum, is that:
DTU Compute
2 February 2021
Welcome to 02435�Decision-making under uncertainty
31
B. Distributed �Optimization
A. The dual �variable
What happens at the optimum, is that:
DTU Compute
2 February 2021
Welcome to 02435�Decision-making under uncertainty
32
B. Distributed �Optimization
A. The dual �variable
What happens at the optimum, is that:
DTU Compute
2 February 2021
Welcome to 02435�Decision-making under uncertainty
33
B. Distributed �Optimization
A. The dual �variable
“a robot buys energy until it’s marginal utility equals the price”
What happens at the optimum, is that:
DTU Compute
2 February 2021
Welcome to 02435�Decision-making under uncertainty
34
B. Distributed �Optimization
A. The dual �variable
What happens at the optimum, is that:
“a robot buys energy until it’s marginal utility equals the price”
DTU Compute
2 February 2021
Welcome to 02435�Decision-making under uncertainty
35
B. Distributed �Optimization
A. The dual �variable
“a robot buys energy until it’s marginal utility equals the price”
DTU Compute
2 February 2021
Welcome to 02435�Decision-making under uncertainty
36
B. Distributed �Optimization
A. The dual �variable
“a robot buys energy until it’s marginal utility equals the price”
DTU Compute
2 February 2021
Welcome to 02435�Decision-making under uncertainty
37
B. Distributed �Optimization
A. The dual �variable
Intuitively: If we could buy one more kWh of energy, what is the highest per-unit price that we would be willing to pay?
“a robot buys energy until it’s marginal utility equals the price”
DTU Compute
2 February 2021
Welcome to 02435�Decision-making under uncertainty
38
B. Distributed �Optimization
A. The dual �variable
“a robot buys energy until it’s marginal utility equals the price”
DTU Compute
2 February 2021
Welcome to 02435�Decision-making under uncertainty
39
B. Distributed �Optimization
A. The dual �variable
“a robot buys energy until it’s marginal utility equals the price”
= the market-clearing price!
DTU Compute
2 February 2021
Welcome to 02435�Decision-making under uncertainty
40
B. Distributed �Optimization
A. The dual �variable
DTU Compute
2 February 2021
Welcome to 02435�Decision-making under uncertainty
41
B. Distributed �Optimization
A. The dual �variable
DTU Compute
2 February 2021
Welcome to 02435�Decision-making under uncertainty
42
B. Distributed �Optimization
A. The dual �variable
DTU Compute
2 February 2021
Welcome to 02435�Decision-making under uncertainty
43
B. Distributed �Optimization
A. The dual �variable
DTU Compute
2 February 2021
Welcome to 02435�Decision-making under uncertainty
44
B. Distributed �Optimization
A. The dual �variable
DTU Compute
2 February 2021
Welcome to 02435�Decision-making under uncertainty
45
B. Distributed �Optimization
A. The dual �variable
DTU Compute
2 February 2021
Welcome to 02435�Decision-making under uncertainty
46
B. Distributed �Optimization
A. The dual �variable
DTU Compute
2 February 2021
Welcome to 02435�Decision-making under uncertainty
47
B. Distributed �Optimization
A. The dual �variable
DTU Compute
2 February 2021
Welcome to 02435�Decision-making under uncertainty
48
Distributed �Optimization
DTU Compute
2 February 2021
Welcome to 02435�Decision-making under uncertainty
49
Dual Decomposition for Distributed Optimization
DTU Compute
2 February 2021
Welcome to 02435�Decision-making under uncertainty
50
B. Distributed �Optimization
A. The dual �variable
What happens at the optimum, is that:
DTU Compute
2 February 2021
Welcome to 02435�Decision-making under uncertainty
51
B. Distributed �Optimization
A. The dual �variable
What happens at the optimum, is that:
...or the price is zero 🡪 “Complementary Slackness”
DTU Compute
2 February 2021
Welcome to 02435�Decision-making under uncertainty
Next Week
52
Game Theory
DTU Compute
2 February 2021
Welcome to 02435�Decision-making under uncertainty
Questions
53
vevox.app
151-897-505
DTU Compute
2 February 2021
Welcome to 02435�Decision-making under uncertainty
Quiz
54
vevox.app
116-283-637
DTU Compute
2 February 2021
Welcome to 02435�Decision-making under uncertainty