24
きっかけ 解法 結果 最急降下法で 制約つき最適化問題を解いてみた Kazuhiro HISHINUMA (@kazh98) 明治大学情報科学科 数理最適化研究室 at 私立・プログラミング 2013 (8/18) Kazuhiro HISHINUMA (@kazh98) 最急降下法で制約つき最適化問題を解いてみた

最急降下法で制約つき最適化問題を解いてみた

Embed Size (px)

DESCRIPTION

私立・プログラミングキャンプ発表スライド (最急降下法による3次元制約つき最適化ソルバの設計) 制作物: https://gist.github.com/kazh98/6265643 生産計画/最急降下法/数理最適化(連続最適化)/プログラミング/応用数学

Citation preview

Page 1: 最急降下法で制約つき最適化問題を解いてみた

きっかけ解法結果

.

.

. ..

.

.

最急降下法で制約つき最適化問題を解いてみた

Kazuhiro HISHINUMA (@kazh98)

明治大学情報科学科 数理最適化研究室

at 私立・プログラミング 2013 (8/18)

Kazuhiro HISHINUMA (@kazh98) 最急降下法で制約つき最適化問題を解いてみた

Page 2: 最急降下法で制約つき最適化問題を解いてみた

きっかけ解法結果

.

.研究室紹介で・・・

数理計画問題の例(生産計画) 2種類の原料 M1,  M2      から、3種類の製品P1,  P2,  P3  を生産し、利潤を最大にしたい。         決定変数    :P1,  P2,  P3    の生産量 (トン)         → 最大化   条件:   

   P1              P2                P3 利用可能量  (トン)

             M1      (トン)    3                5                  2              500

             M2 (トン)                   2                7                                                                4              400

利潤 (万円/トン)                  4                5                  3

Kazuhiro HISHINUMA (@kazh98) 最急降下法で制約つき最適化問題を解いてみた

Page 3: 最急降下法で制約つき最適化問題を解いてみた

きっかけ解法結果

.

.研究室紹介で・・・

数理計画問題の例(生産計画) 2種類の原料 M1,  M2      から、3種類の製品P1,  P2,  P3  を生産し、利潤を最大にしたい。         決定変数    :P1,  P2,  P3    の生産量 (トン)         → 最大化   条件:   

   P1              P2                P3 利用可能量  (トン)

             M1      (トン)    3                5                  2              500

             M2 (トン)                   2                7                                                                4              400

利潤 (万円/トン)                  4                5                  3

Kazuhiro HISHINUMA (@kazh98) 最急降下法で制約つき最適化問題を解いてみた

Page 4: 最急降下法で制約つき最適化問題を解いてみた

きっかけ解法結果

おぺにゃん解いてっ(✿・ヮ<)-♡

Kazuhiro HISHINUMA (@kazh98) 最急降下法で制約つき最適化問題を解いてみた

Page 5: 最急降下法で制約つき最適化問題を解いてみた

きっかけ解法結果

おぺにゃん「

x1 = 150, x2 = 0, x3 = 25」

Kazuhiro HISHINUMA (@kazh98) 最急降下法で制約つき最適化問題を解いてみた

Page 6: 最急降下法で制約つき最適化問題を解いてみた

きっかけ解法結果

おぺにゃん「x1 = 150, x2 = 0, x3 = 25」

Kazuhiro HISHINUMA (@kazh98) 最急降下法で制約つき最適化問題を解いてみた

Page 7: 最急降下法で制約つき最適化問題を解いてみた

きっかけ解法結果

\ 終了 /

Kazuhiro HISHINUMA (@kazh98) 最急降下法で制約つき最適化問題を解いてみた

Page 8: 最急降下法で制約つき最適化問題を解いてみた

きっかけ解法結果

.

.ということで、

おぺにゃんが飛び道具1を持ちだして悔しいので、Schemeで解き返そう!!

1最適化ソルバ lp-solveKazuhiro HISHINUMA (@kazh98) 最急降下法で制約つき最適化問題を解いてみた

Page 9: 最急降下法で制約つき最適化問題を解いてみた

きっかけ解法結果

.

.ということで、

おぺにゃんが飛び道具1を持ちだして悔しいので、

Schemeで解き返そう!!

1最適化ソルバ lp-solveKazuhiro HISHINUMA (@kazh98) 最急降下法で制約つき最適化問題を解いてみた

Page 10: 最急降下法で制約つき最適化問題を解いてみた

きっかけ解法結果

.

.ということで、

おぺにゃんが飛び道具1を持ちだして悔しいので、Schemeで解き返そう!!

1最適化ソルバ lp-solveKazuhiro HISHINUMA (@kazh98) 最急降下法で制約つき最適化問題を解いてみた

Page 11: 最急降下法で制約つき最適化問題を解いてみた

きっかけ解法結果

制約なし最適化問題制約あり最適化問題へ射影の定義

.

.手元にあるのは・・・1

制約なし最適化問題の解法のみ

1PC絶不調のためウェブが使えない!!Kazuhiro HISHINUMA (@kazh98) 最急降下法で制約つき最適化問題を解いてみた

Page 12: 最急降下法で制約つき最適化問題を解いてみた

きっかけ解法結果

制約なし最適化問題制約あり最適化問題へ射影の定義

.

.手元にあるのは・・・1

制約なし最適化問題の解法のみ

1PC絶不調のためウェブが使えない!!Kazuhiro HISHINUMA (@kazh98) 最急降下法で制約つき最適化問題を解いてみた

Page 13: 最急降下法で制約つき最適化問題を解いてみた

きっかけ解法結果

制約なし最適化問題制約あり最適化問題へ射影の定義

.

.最急降下法

Minimize f(x) に対して,

x(n+1) = x(n)−λ(n)∇f (x(n))

limn→∞

λ(n) = 0 だと嬉しいなぁ・・・

Kazuhiro HISHINUMA (@kazh98) 最急降下法で制約つき最適化問題を解いてみた

Page 14: 最急降下法で制約つき最適化問題を解いてみた

きっかけ解法結果

制約なし最適化問題制約あり最適化問題へ射影の定義

.

.方針は・・・

飛び出た部分をぶっ叩け!!!

Kazuhiro HISHINUMA (@kazh98) 最急降下法で制約つき最適化問題を解いてみた

Page 15: 最急降下法で制約つき最適化問題を解いてみた

きっかけ解法結果

制約なし最適化問題制約あり最適化問題へ射影の定義

.

.方針は・・・

飛び出た部分をぶっ叩け!!!

Kazuhiro HISHINUMA (@kazh98) 最急降下法で制約つき最適化問題を解いてみた

Page 16: 最急降下法で制約つき最適化問題を解いてみた

きっかけ解法結果

制約なし最適化問題制約あり最適化問題へ射影の定義

.

.制約つき最適化問題に対する最急降下法

Maximize f(x)のために,λ(n) = 1

(n+1)0.45 として,

x(n+1) = P2

(P1

(P0

(x(n) + λ(n)∇f(x(n))

)))P0は題意からの条件 x ∈ R3

+ に,P1は制約条件① 3x1 + 5x2 + 2x3 ≤ 500 に,P2は制約条件② 2x1 + 7x2 + 4x3 ≤ 400 に,

それぞれ対応。

Kazuhiro HISHINUMA (@kazh98) 最急降下法で制約つき最適化問題を解いてみた

Page 17: 最急降下法で制約つき最適化問題を解いてみた

きっかけ解法結果

制約なし最適化問題制約あり最適化問題へ射影の定義

.

.題意からの条件

P0(x) =

max{0, x1}max{0, x2}max{0, x3}

P0はx ∈ R3

+に対応

Kazuhiro HISHINUMA (@kazh98) 最急降下法で制約つき最適化問題を解いてみた

Page 18: 最急降下法で制約つき最適化問題を解いてみた

きっかけ解法結果

制約なし最適化問題制約あり最適化問題へ射影の定義

.

.制約条件①

3x1 + 5x2 + 2x3 > 500のとき,a = 3, b = 5, c = 2, d = 500として,

P1(x) =1

(abc)2

{(ab)2 + (bc)2 + (ca)2}

× (ax1 + bx2 + cx3 − d)

abc

3x1 + 5x2 + 2x3 ≤ 500であれば,P1(x) = x

Kazuhiro HISHINUMA (@kazh98) 最急降下法で制約つき最適化問題を解いてみた

Page 19: 最急降下法で制約つき最適化問題を解いてみた

きっかけ解法結果

制約なし最適化問題制約あり最適化問題へ射影の定義

.

.制約条件②

2x1 + 7x2 + 4x3 > 400のとき,a = 2, b = 7, c = 4, d = 400として,

P2(x) =1

(abc)2

{(ab)2 + (bc)2 + (ca)2}

× (ax1 + bx2 + cx3 − d)

abc

2x1 + 7x2 + 4x3 ≤ 400であれば,P2(x) = x

Kazuhiro HISHINUMA (@kazh98) 最急降下法で制約つき最適化問題を解いてみた

Page 20: 最急降下法で制約つき最適化問題を解いてみた

きっかけ解法結果

.

.x1, x2, x3 各値

0

20

40

60

80

100

120

140

160

0 100 200 300 400 500 600 700 800

x1x2x3

Kazuhiro HISHINUMA (@kazh98) 最急降下法で制約つき最適化問題を解いてみた

Page 21: 最急降下法で制約つき最適化問題を解いてみた

きっかけ解法結果

.

.目的関数値

0

100

200

300

400

500

600

700

0 100 200 300 400 500 600 700 800

value

Kazuhiro HISHINUMA (@kazh98) 最急降下法で制約つき最適化問題を解いてみた

Page 22: 最急降下法で制約つき最適化問題を解いてみた

きっかけ解法結果

.

.結果まとめ

10000回の反復計算で,

x =

150.0950.00024.887

, f(x) = 675.042

17.0秒 on 2.3GHz Intel Core i5

Kazuhiro HISHINUMA (@kazh98) 最急降下法で制約つき最適化問題を解いてみた

Page 23: 最急降下法で制約つき最適化問題を解いてみた

きっかけ解法結果

最適化ソルバになんか、負けないんだからねっ!!

(震え声)

Kazuhiro HISHINUMA (@kazh98) 最急降下法で制約つき最適化問題を解いてみた

Page 24: 最急降下法で制約つき最適化問題を解いてみた

きっかけ解法結果

Thanks forYour Listening!

Kazuhiro HISHINUMA (@kazh98) 最急降下法で制約つき最適化問題を解いてみた