スキーレンタル問題と オンライン最適化waki/ws2013/slide/fujiwara.pdfexample 1: rent...
TRANSCRIPT
スキーレンタル問題と
オンライン最適化
藤原 洋志 (豊橋技術科学大学)
スキーレンタル問題とオンライン最適化
藤原 洋志
1
$50
$100
$150
$300
$250
$400
$500
$30
$15
$0
Rent all
Rent1
Rent2
Buy all
概要
オンライン最適化の考え方
入力が徐々に与えられる場合の最適化
スキーレンタル問題を具体例として
関数最適化
強力なアルゴリズム性能解析手法
多状態スキーレンタル問題
スキーレンタル問題の拡張
「最も易しいインスタンス」にも応用あり
スキーレンタル問題とオンライン最適化
藤原 洋志
2
オンライン最適化の位置づけ
「オンライン最適化」
Online optimization?
Online computation?
Online algorithm?
Online strategy?
必ずしも「アルゴリズム」に限らない
スキーレンタル問題とオンライン最適化
藤原 洋志
3
• 厳密アルゴリズム
• 近似アルゴリズム: 多項式時間でなるべく良い解を出力
• オンラインアルゴリズム:入力が徐々に与えられる場合になるべく良い解を出力
• …
アルゴリズムの研究
Ski Rental Problem
Rent Buy
$50 $500
スキーレンタル問題とオンライン最適化
藤原 洋志
4
Once you buy skis, you can use them for free
You do not know how many times you are
going skiing
Input: “111…1” with length = (# ski trips)
Objective: Minimize total cost
[Karlin&Manasse&Rudolph&Sleator 1988]
Ski Rental Problem
Rent Buy
$50 $500
スキーレンタル問題とオンライン最適化
藤原 洋志
5
[Karlin&Manasse&Rudolph&Sleator 1988]
Examples of Strategy
Rent skis
Buy skis
Rent 9 times then buy
Rent 3 times then buy
Application:
Computer Design and Economic Problems
Cache memory: Update or
invalidate?
Hard drive: Spin or stop?
Mobile phone: Flat rate or
pay-as-you-go rate?
House: Rent or buy?
Factory: Work or stop?
スキーレンタル問題とオンライン最適化
藤原 洋志
6
Ski Rental Problem
Rent Buy
$50 $500
スキーレンタル問題とオンライン最適化
藤原 洋志
7
[Karlin&Manasse&Rudolph&Sleator 1988]
Examples of Strategy
Rent skis
Buy skis
Rent 9 times then buy
Rent 3 times then buy
Evaluation of Strategy
Rent Buy
$50 $500
Strategy Competitive Ratio
Rent skis ∞ (very bad)
Buy skis 10 (bad)
Rent 9 times then buy 1.9 (best)
Rent 3 times then buy 3.25 (not so bad)
スキーレンタル問題とオンライン最適化
藤原 洋志
8
競合比:
小さいほど良い
Evaluate Strategy by
Competitive Ratio
Compare to offline cost (= cost of player
who knows the future)
Take maximum = consider worst case
Smaller is better
スキーレンタル問題とオンライン最適化
藤原 洋志
9
Competitive ratio = max# 𝑠𝑘𝑖 𝑡𝑟𝑖𝑝𝑠
𝑠𝑡𝑟𝑎𝑡𝑒𝑔𝑦′𝑠 𝑐𝑜𝑠𝑡
𝑜𝑓𝑓𝑙𝑖𝑛𝑒 𝑐𝑜𝑠𝑡
競合比
Example 1: Rent skis
スキーレンタル問題とオンライン最適化
藤原 洋志
10
Cost = 50 + 50 + 50 + 50 + …
If she knew it, she would buy:
Offline cost = 500
Competitive ratio = ∞ / 500 = ∞
Keep skiing
forever!
Worst-case
scenario = ∞
Rent Buy
$50 $500
Example 2: Buy skis
スキーレンタル問題とオンライン最適化
藤原 洋志
11
Cost = 500
If she knew it, she would rent:
Offline cost = 50
Competitive ratio = 500 / 50 = 10
Stop skiing!
Worst-case
scenario
Injured!
Rent Buy
$50 $500
Example 3:
Rent 9 times then buy
スキーレンタル問題とオンライン最適化
藤原 洋志
12
Cost = (50 + … + 50) + 500
= 950
If she knew it, she would buy first:
Offline cost = 500
Competitive ratio = 950 / 500 = 1.9
Stop skiing!
Worst-case
scenario
Injured!
Rent Buy
$50 $500
Example 4:
Rent 3 times then buy
スキーレンタル問題とオンライン最適化
藤原 洋志
13
Cost = (50 + 50 + 50) + 500
= 650
If she knew it, she would rent:
Offline cost = 4 * 50 = 200
Competitive ratio = 650 / 200 = 3.25
Stop skiing!
Worst-case
scenario
Injured!
Rent Buy
$50 $500
Best Strategy
for Ski Rental Problem
Rent Buy
$50 $500
Strategy Competitive Ratio
Rent skis ∞ (very bad)
Buy skis 10 (bad)
Rent 9 times then buy 1.9 (best)
Rent 3 times then buy 3.25 (not so bad)
スキーレンタル問題とオンライン最適化
藤原 洋志
14
Smaller is better
Competitive ratio =
max# 𝑠𝑘𝑖 𝑡𝑟𝑖𝑝𝑠
𝑠𝑡𝑟𝑎𝑡𝑒𝑔𝑦′𝑠 𝑐𝑜𝑠𝑡
𝑜𝑓𝑓𝑙𝑖𝑛𝑒 𝑐𝑜𝑠𝑡
Check why
best
Analysis via Competitive Ratio
Minimization of regret
Bad news: Sometimes, too pesimistic
We do not use test data!
People say “system works for all test data”
But, is test data reliable?
We do not use probabilistic distribution!
People say “system is 99.99% safe”
But then, 0.01% dangerous!
We achieve theoretical guarantee for worst case
Of course, competitive ratio is just one of measures
スキーレンタル問題とオンライン最適化
藤原 洋志
15
オンライン最適化の歴史
1970年代: ビンパッキング問題
「オンライン」という用語は出てこないが、実質オンライン最適化
1980年代~: リストアクセス問題、キャッシュ問題、スキーレンタル問題、スケジューリング問題等々
競合比、ならし解析
スキーレンタル問題とオンライン最適化
藤原 洋志
16
オンライン最適化に対する
研究方針 競合比上界の研究 = 性能の良いアルゴリズム・戦略の設計
アルゴリズムが与えられても、必ずしもその競合比が明らかではないことも
競合比下界の研究 = アルゴリズム・戦略の改良限界の解明
「情報が徐々に与えられる場合」と「一度に全て与えられる場合」の、違いの本質とは?
様々なモデル
乱択アルゴリズム・混合戦略
Resource augmentation: オンライン側が少し有利であることを仮定
平均競合比: 入力が確率分布に従う場合の、(オンラインコスト)/(オフラインコスト)の期待値
スキーレンタル問題とオンライン最適化
藤原 洋志
17
競合比 = max入力
オンラインコストオフラインコスト
スキーレンタル問題に対する結果
競合比上界=競合比下界=2 (以降連続モデル)
[Karlin&Manasse&Rudolph&Sleator 1988]
乱択アルゴリズムを許すと、競合比上界=競合比下界=1.58
[Karlin&Manasse&McGeogh&Owicki 1994]
スキー回数が指数分布に従う場合の、平均競合比基準での最適戦略 [Fujiwara&Iwama
2002]
スキーレンタル問題とオンライン最適化
藤原 洋志
18
多状態スキーレンタル問題
(Multislope Ski Rental Problem)
スキーレンタル問題の拡張: 部分的なレンタルを許す(後述)
任意の状態数(= レンタルオプションの数)を許す場合
競合比上界=4 [Bejerano&Cidon&Naor 2000]
競合比下界=3.62 [Damachke 2003]
以上2つは Online Investment Problem に対する結果からの帰結
状態数固定の場合
最適戦略を計算するアルゴリズム [Augustine&Irani&Swamy 2004]
状態数3(4)の場合: 競合比上界=競合比下界=2.47 (2.75)
[Fujiwara&Kitano&Fujito 2011]
最も易しいインスタンスに対する最適戦略の競合比=𝑘+1 𝑘+1
𝑘+1 𝑘+1−𝑘𝑘
[Fujiwara&Kitano&Fujito 2011]
状態数無限の場合
最も易しいインスタンスの定式化と最適戦略の導出 [Fujiwara 2012]
スキーレンタル問題とオンライン最適化
藤原 洋志
19
[Augustine&Irani&Swamy 2004]
関数最適化
スキーレンタル問題とオンライン最適化
藤原 洋志
20
アルゴリズム設計ツールとしての最適化
近似保証や競合比の性能評価
線形計画
半正定値計画
非凸計画
関数最適化
オンラインアルゴリズムの設計
制約・変数が徐々に増える線形計画に対する主双対法
スキーレンタル問題とオンライン最適化
藤原 洋志
21
関数最適化 古典的には、最速降下線問題や懸垂線問題
端点条件と等式制約のみなら古典的議論で解ける
オイラー・ラグランジュ方程式
不等式制約を扱うには関数解析の議論
一般には解けない
しかしアルゴリズム性能解析で出てくる具体的なインスタンスには、解析的に解が得られるものも
スキーレンタル問題とオンライン最適化
藤原 洋志
22
関数最適化を用いた
アルゴリズム性能解析の実例 無限次元の線形計画
無限状態スキーレンタル問題の最も易しいインスタンスの定式化と最適戦略導出 [Fujiwara 2012]
SRPTスケジューリングアルゴリズムの競合比解析の改良 [Fujiwara&Sekiguchi 2012]
無限次元の凸計画
一方向通貨交換問題に対する平均競合比の解析 [Fujiwara&Iwama&Sekiguchi 2008]
スキーレンタル問題とオンライン最適化
藤原 洋志
23
有限次元/無限次元の線形計画
𝜆 ∈ ℝ𝑚 (𝐴 ∈ ℝ𝑚×𝑛のとき)
𝜆の属する関数空間は𝐺に依存
しかし具体的なインスタンスについては、狭い空間を選び最適性十分条件を立てても、それを満たす𝑥, 𝜆が見つかったりする
スキーレンタル問題とオンライン最適化
藤原 洋志
24
find 𝑥 ∶ 0,1 → ℝ
minimize 𝐹(𝑥) subject to 𝐺 𝑥 ≤ 0 on [0,1]
𝐿 = 𝐹 𝑥 + 𝜆, 𝐺(𝑥)
find 𝑥 ∶ {1, … , 𝑛} → ℝ
minimize 𝑐, 𝑥
subject to 𝐴𝑥 − 𝑏 ≤ 0
無限次元 有限次元
𝐿 = 𝑐, 𝑥 + 𝜆, 𝐴𝑥 − 𝑏
関数最適化:
具体的なインスタンスに対する実践的解法
1. 最適性十分条件を定式化
• 一般化KKT条件を参考に
• ⋅,⋅ やラグランジュ乗数の空間は、解が見つかるように定めれば十分
• 解やラグランジュ乗数の不連続点も考慮
2. 解空間を狭めたインスタンスを定式化し解く
• 解空間の見極めには計算機実験も有効
3. 元の問題の最適性十分条件を満たすことを確認
• 具体的なラグランジュ乗数を与える
スキーレンタル問題とオンライン最適化
藤原 洋志
25
多状態スキーレンタル問題
スキーレンタル問題とオンライン最適化
藤原 洋志
26
Multislope Ski Rental Problem
スキーレンタル問題とオンライン最適化
藤原 洋志
27
$50
$30
$15
$0
Rent all
Rent1
Rent2
Buy all
Extension: Partial rental options
[Augustine&Irani&Swamy 2004] slope = option
$100
$150
$300
$250
$400
$500
Snow wear costs $100
Example of 4-slope instance:
Multislope Ski Rental Problem
Extension: Partial rental options
Objective: Minimize total cost
Difficulty: # ski trips unknown
スキーレンタル問題とオンライン最適化
藤原 洋志
28
$50
$100
$150
$300
$250
$400
$500
$30
$15
$0
Rent all
Rent1
Rent2
Buy all
Snow wear costs $100
[Augustine&Irani&Swamy 2004] slope = option
Example of 4-slope instance:
Strategy & Competitive Ratio
スキーレンタル問題とオンライン最適化
藤原 洋志
29
$50
$100
$150
$300
$250
$400
$500
$30
$15
$0
Rent all
Rent1
Rent2
Buy all (Rent all) 3 times (Rent1) 1 time (Buy all)
Cost = (50 + 50 + 50) + 100 + 30 + 400
Strategy:
= 730
If she knew it, she would take a better strategy:
Offline cost = 100 + 5 * 30 = 250
Competitive ratio = 730/250 = 2.9
Competitive ratio = max# 𝑠𝑘𝑖 𝑡𝑟𝑖𝑝𝑠
𝑠𝑡𝑟𝑎𝑡𝑒𝑔𝑦′𝑠 𝑐𝑜𝑠𝑡
𝑜𝑓𝑓𝑙𝑖𝑛𝑒 𝑐𝑜𝑠𝑡
Stop skiing!
Worst-case
scenario
when & which option
Strategy & Competitive Ratio
スキーレンタル問題とオンライン最適化
藤原 洋志
30
$50
$100
$150
$300
$250
$400
$500
$30
$15
$0
Rent all
Rent1
Rent2
Buy all Competitive ratio = 2.9
(Rent all) 3 times (Rent1) 1 time (Buy all)
Best
possible
for this
instance
(Rent all) 2 times (Rent1) 1 time (Rent2) 4 times (Buy all)
Best possible strategy (calculated by algorithm [AIS04])
Competitive ratio = 1.95
Competitive ratio = max# 𝑠𝑘𝑖 𝑡𝑟𝑖𝑝𝑠
𝑠𝑡𝑟𝑎𝑡𝑒𝑔𝑦′𝑠 𝑐𝑜𝑠𝑡
𝑜𝑓𝑓𝑙𝑖𝑛𝑒 𝑐𝑜𝑠𝑡
Dynamic Power Management
Objective: Minimize energy
consumption while there is no user
response
State = energy-saving mode
Cost = (energy for idling) +
(energy for resuming)
スキーレンタル問題とオンライン最適化
藤原 洋志
31
screen
Why energy?
Energy for
resuming!
60W
0.1Wh
0.15Wh
0.30Wh
0.25Wh
0.4Wh
1Wh
0W
50W
20W
On
Stand by
Hibernate
Off
[Irani&Shukla&Gupta 2003]
(On) 10 min (Stand by) 1 hr (Hibernate) 6 hrs (Off)
Strategy: automatic transition after user leaves…
Original motivation of multislope ski rantal
「インスタンス」と「入力」を
切り分けましょう インスタンス: レンタル・購入の価格設定
入力: スキーに行く回数
インスタンスに着目
スキーレンタル問題とオンライン最適化
藤原 洋志
32
$50
$100
$150
$300
$250
$400
$500
$30
$15
$0
Stop skiing!
「インスタンス」と「入力」を
切り分けましょう インスタンス: レンタル・購入の価格設定
入力: スキーに行く回数
競合比の上界・下界の解明は、言い換えれば、「最も難しいインスタンス」の追求
オンライン最適化においては、たいてい「最も易しいインスタンス」には興味なし
競合比=1のアルゴリズムが作れたりする
しかし多状態スキーレンタル問題においては、「最も易しいインスタンス」が非自明
実用的意義: 「最善の省電力モード設計」+「最善のモード遷移戦略」 = 「最善の省電力性能」
スキーレンタル問題とオンライン最適化
藤原 洋志
33
Our Interest:
Difference in Instances
Two different rental stores
Which is easier?
Scaled costs and fractional model
スキーレンタル問題とオンライン最適化
藤原 洋志
34
$50
$200
$350
$450
$350
$450
$500
$10
$5
$0
Instance B
$50
$100
$150
$300
$250
$400
$500
$30
$15
$0
Instance A
Our Interest:
Difference in Instances
スキーレンタル問題とオンライン最適化
藤原 洋志
35
1
0.4
0.7
0.9
0.7
0.9
1
0.2
0.1
0
Instance B
1
0.2
0.3
0.6
0.5
0.8
1
0.6
0.3
0
Instance A
Difference in hardness!
(0) 0.2 (1) 0.1 (2) 0.4 (3)
Best possible strategy
Competitive ratio = 1.95
(0) 0.4 (1) 0.1 (2) 2.0 (3)
Best possible strategy
Competitive ratio = 2.25 Easier! Harder!
Our Interest:
Difference in Instances
Find EASIEST/HARDEST instance &
best possible competitive ratio
スキーレンタル問題とオンライン最適化
藤原 洋志
36
1
0.4
0.7
0.9
0.7
0.9
1
0.2
0.1
0
Instance B
1
0.2
0.3
0.6
0.5
0.8
1
0.6
0.3
0
Instance A
Note:
CR for hardest instance
= matching UB&LB
in ordinary sense
Easier! Harder!
Our Results
スキーレンタル問題とオンライン最適化
藤原 洋志
37
[Karlin&Manasse&Rudolph
&Sleator 1988]
this talk
[Fujiwara&Kitano&Fujito
2011]
→𝑒
𝑒 − 1~1.58
[Bejerano&Cidon&
Naor 2000]
# options 2 (classical)
3 4 𝑘 ∞
for hardest
instance 2.00 2.47 2.75 < 4 ?
for easiest
instance 2.00 1.80 1.73 𝑘𝑘−1
𝑘𝑘−1 − (𝑘 − 1)𝑘−
𝑒
𝑒 − 1~1.58
this talk
[Fujiwara
2012]
Range of Best Possible Competitive Ratio
スキーレンタル問題とオンライン最適化
藤原 洋志
38
2-slope (i.e. classical)
2
1.8
1.73
e/(e-1) ~ 1.58
3-slope
4-slope
arbitrary-slope
2.47
2.75
easy
3.62 4
hard
from previous
results
for (k+1)-slope
𝑘+1 𝑘+1
𝑘+1 𝑘+1−𝑘𝑘 matching UB & LB
3-slope Ski Rental
スキーレンタル問題とオンライン最適化
藤原 洋志
39
Hardest
1
2/5
0.6
1
0.6
0
Easiest
(0) 1/2 (1) 1/2 (2) (0) 0.68 (2)
(0) 0.47 (1) 1/𝛿 (2)
or
Best possible strategy: Best possible strategy:
Competitive ratio = 9/5 = 1.8 Competitive ratio = 2.47
Asymptotic
1
0.68
1
1
휀
0
4-slope Ski Rental
スキーレンタル問題とオンライン最適化
藤原 洋志
40
1
0.40
0.70
1
0.70
1
1
휀1
휀2
0
Hardest
1
9/37
12/37
16/37
21/37
28/37
1
28/37
16/37
0
Easiest
(0) 1/3 (1) 1/3 (2) 1/3 (3) (0) 0.23 (1) 1/𝛿1 (3)
(0) 0.40 (2) 1/𝛿2 (3)
or
Best possible strategy: Best possible strategy:
Competitive ratio = 64/37 ~ 1.73 Competitive ratio = 2.75
Asymptotic
(k+1)-slope Ski Rental
Hardest instance
for arbitrary k is
still open
Known results:
3.62 < CR < 4
スキーレンタル問題とオンライン最適化
藤原 洋志
41
1 1
0
Easiest
(0) 1/k (1) 1/k (2) 1/k … (k+1)
Best possible strategy:
Competitive ratio = 𝑐 =𝑘+1 𝑘+1
𝑘+1 𝑘+1−𝑘𝑘
𝑟𝑖
𝑏𝑖,𝑗 𝑟𝑖 = 𝑐 + (1 − 𝑐)(1 + 𝑘)𝑖
𝑏𝑖,𝑗 = 𝑟𝑖 − 𝑟𝑖
Corollary on Dynamic Power Management
スキーレンタル問題とオンライン最適化
藤原 洋志
42
screen
Good news: More modes, better energy saving!
Bad news: Limit of improvement = 1.58!
1
0
Best possible competitive ratio
=𝑘 + 1 𝑘+1
𝑘 + 1 𝑘+1 − 𝑘𝑘→
𝑒
𝑒 − 1 ~1.58
decreases as k grows
Best instance + best strategy Easiest instance makes sense
How to get easiest/hardest instance
Solve a problem with form:
Minimize 𝑥 subject to 𝑀 𝑥 ≠ ∅
Problem is not convex, but…
For all 𝑥 > 𝑥′, 𝑀 𝑥 ⊃ 𝑀(𝑥′) holds
Find 𝑥 such that 𝑀(𝑥 ) is a singleton
Then, 𝑥 is a solution
スキーレンタル問題とオンライン最適化
藤原 洋志
43
𝑥
𝑀(𝑥)
𝑥
What If Infinitely Many Options?
スキーレンタル問題とオンライン最適化
藤原 洋志
44
1
0.24
0.32
0.43
0.57
0.76
1
0.76
0.43
0
1
0
𝑟 𝑟
1
1 − 𝑟
Easiest infinite-slope instance Easiest 4-slope instance
infinitely
many
strategy
= real vector 𝑣: 0,1,2,3 → [0,1]
when which option
strategy
= real function 𝑓: [0,1] → [0,1]
when which option
まとめ
オンライン最適化の考え方
入力が徐々に与えられる場合の最適化
スキーレンタル問題を具体例として
関数最適化
強力なアルゴリズム性能解析手法
多状態スキーレンタル問題
スキーレンタル問題の拡張
「最も易しいインスタンス」にも応用あり
スキーレンタル問題とオンライン最適化
藤原 洋志
45