SlideShare a Scribd company logo
1 of 24
Download to read offline
きっかけ
解法
結果
.
.
最急降下法で
制約つき最適化問題を解いてみた
Kazuhiro HISHINUMA (@kazh98)
明治大学情報科学科 数理最適化研究室
at 私立・プログラミング 2013 (8/18)
Kazuhiro HISHINUMA (@kazh98) 最急降下法で制約つき最適化問題を解いてみた
きっかけ
解法
結果
研究室紹介で・・・
Kazuhiro HISHINUMA (@kazh98) 最急降下法で制約つき最適化問題を解いてみた
きっかけ
解法
結果
研究室紹介で・・・
数理計画問題の例(生産計画)	
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) 最急降下法で制約つき最適化問題を解いてみた
きっかけ
解法
結果
おぺにゃん
解いてっ( ・ヮ<)-♡
Kazuhiro HISHINUMA (@kazh98) 最急降下法で制約つき最適化問題を解いてみた
きっかけ
解法
結果
おぺにゃん
「
Kazuhiro HISHINUMA (@kazh98) 最急降下法で制約つき最適化問題を解いてみた
きっかけ
解法
結果
おぺにゃん
「x1 = 150, x2 = 0, x3 = 25」
Kazuhiro HISHINUMA (@kazh98) 最急降下法で制約つき最適化問題を解いてみた
きっかけ
解法
結果
\ 終了 /
Kazuhiro HISHINUMA (@kazh98) 最急降下法で制約つき最適化問題を解いてみた
きっかけ
解法
結果
ということで、
1
最適化ソルバ lp-solve
Kazuhiro HISHINUMA (@kazh98) 最急降下法で制約つき最適化問題を解いてみた
きっかけ
解法
結果
ということで、
おぺにゃんが飛び道具1を
持ちだして悔しいので、
1
最適化ソルバ lp-solve
Kazuhiro HISHINUMA (@kazh98) 最急降下法で制約つき最適化問題を解いてみた
きっかけ
解法
結果
ということで、
おぺにゃんが飛び道具1を
持ちだして悔しいので、
Schemeで解き返そう!!
1
最適化ソルバ lp-solve
Kazuhiro HISHINUMA (@kazh98) 最急降下法で制約つき最適化問題を解いてみた
きっかけ
解法
結果
制約なし最適化問題
制約あり最適化問題へ
射影の定義
手元にあるのは・・・1
1
PC 絶不調のためウェブが使えない!!
Kazuhiro HISHINUMA (@kazh98) 最急降下法で制約つき最適化問題を解いてみた
きっかけ
解法
結果
制約なし最適化問題
制約あり最適化問題へ
射影の定義
手元にあるのは・・・1
制約なし最適化問題
の解法のみ
1
PC 絶不調のためウェブが使えない!!
Kazuhiro HISHINUMA (@kazh98) 最急降下法で制約つき最適化問題を解いてみた
きっかけ
解法
結果
制約なし最適化問題
制約あり最適化問題へ
射影の定義
最急降下法
Minimize f(x) に対して,
x(n+1) = x(n) −λ(n)∇f(x(n))
lim
n→∞
λ(n)
= 0 だと嬉しいなぁ・・・
Kazuhiro HISHINUMA (@kazh98) 最急降下法で制約つき最適化問題を解いてみた
きっかけ
解法
結果
制約なし最適化問題
制約あり最適化問題へ
射影の定義
方針は・・・
Kazuhiro HISHINUMA (@kazh98) 最急降下法で制約つき最適化問題を解いてみた
きっかけ
解法
結果
制約なし最適化問題
制約あり最適化問題へ
射影の定義
方針は・・・
飛び出た部分を
ぶっ叩け!!!
Kazuhiro HISHINUMA (@kazh98) 最急降下法で制約つき最適化問題を解いてみた
きっかけ
解法
結果
制約なし最適化問題
制約あり最適化問題へ
射影の定義
制約つき最適化問題に対する最急降下法
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) 最急降下法で制約つき最適化問題を解いてみた
きっかけ
解法
結果
制約なし最適化問題
制約あり最適化問題へ
射影の定義
題意からの条件
P0(x) =


max{0, x1}
max{0, x2}
max{0, x3}


P0 は x ∈ R3
+ に対応
Kazuhiro HISHINUMA (@kazh98) 最急降下法で制約つき最適化問題を解いてみた
きっかけ
解法
結果
制約なし最適化問題
制約あり最適化問題へ
射影の定義
制約条件①
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)


a
b
c


3x1 + 5x2 + 2x3 ≤ 500 であれば,P1(x) = x
Kazuhiro HISHINUMA (@kazh98) 最急降下法で制約つき最適化問題を解いてみた
きっかけ
解法
結果
制約なし最適化問題
制約あり最適化問題へ
射影の定義
制約条件②
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)


a
b
c


2x1 + 7x2 + 4x3 ≤ 400 であれば,P2(x) = x
Kazuhiro HISHINUMA (@kazh98) 最急降下法で制約つき最適化問題を解いてみた
きっかけ
解法
結果
x1, x2, x3 各値
0
20
40
60
80
100
120
140
160
0 100 200 300 400 500 600 700 800
x1
x2
x3
Kazuhiro HISHINUMA (@kazh98) 最急降下法で制約つき最適化問題を解いてみた
きっかけ
解法
結果
目的関数値
0
100
200
300
400
500
600
700
0 100 200 300 400 500 600 700 800
value
Kazuhiro HISHINUMA (@kazh98) 最急降下法で制約つき最適化問題を解いてみた
きっかけ
解法
結果
結果まとめ
10000 回の反復計算で,
x =


150.095
0.000
24.887

 , f(x) = 675.042
17.0 秒 on 2.3GHz Intel Core i5
Kazuhiro HISHINUMA (@kazh98) 最急降下法で制約つき最適化問題を解いてみた
きっかけ
解法
結果
最適化ソルバになんか、
負けないんだからねっ!!
(震え声)
Kazuhiro HISHINUMA (@kazh98) 最急降下法で制約つき最適化問題を解いてみた
きっかけ
解法
結果
Thanks for
Your Listening!
Kazuhiro HISHINUMA (@kazh98) 最急降下法で制約つき最適化問題を解いてみた

More Related Content

More from Kazuhiro Hishinuma

すべてをRacketに取り込もう! ~Racket FFI と Package システムの使い方~
すべてをRacketに取り込もう! ~Racket FFI と Package システムの使い方~すべてをRacketに取り込もう! ~Racket FFI と Package システムの使い方~
すべてをRacketに取り込もう! ~Racket FFI と Package システムの使い方~Kazuhiro Hishinuma
 
What Does R7RS Change Programming in Scheme?
What Does R7RS Change Programming in Scheme?What Does R7RS Change Programming in Scheme?
What Does R7RS Change Programming in Scheme?Kazuhiro Hishinuma
 
不動点×不動点×不動点コンビネータ
不動点×不動点×不動点コンビネータ不動点×不動点×不動点コンビネータ
不動点×不動点×不動点コンビネータKazuhiro Hishinuma
 
再帰でつくる、計算の世界
再帰でつくる、計算の世界再帰でつくる、計算の世界
再帰でつくる、計算の世界Kazuhiro Hishinuma
 
Implementation of Counters in ScopedBASIC
Implementation of Counters in ScopedBASICImplementation of Counters in ScopedBASIC
Implementation of Counters in ScopedBASICKazuhiro Hishinuma
 
Lisper は競プロを楽しめるか?
Lisper は競プロを楽しめるか?Lisper は競プロを楽しめるか?
Lisper は競プロを楽しめるか?Kazuhiro Hishinuma
 
GaucheでCGIプログラミング
GaucheでCGIプログラミングGaucheでCGIプログラミング
GaucheでCGIプログラミングKazuhiro Hishinuma
 
How to Implement a CPU Emulator in Scheme
How to Implement a CPU Emulator in SchemeHow to Implement a CPU Emulator in Scheme
How to Implement a CPU Emulator in SchemeKazuhiro Hishinuma
 
The Programming Language Scheme
The Programming Language SchemeThe Programming Language Scheme
The Programming Language SchemeKazuhiro Hishinuma
 
情報と職業プレゼン予告
情報と職業プレゼン予告情報と職業プレゼン予告
情報と職業プレゼン予告Kazuhiro Hishinuma
 
#upcamp '12 Hack-a-thon Result
#upcamp '12 Hack-a-thon Result#upcamp '12 Hack-a-thon Result
#upcamp '12 Hack-a-thon ResultKazuhiro Hishinuma
 

More from Kazuhiro Hishinuma (14)

すべてをRacketに取り込もう! ~Racket FFI と Package システムの使い方~
すべてをRacketに取り込もう! ~Racket FFI と Package システムの使い方~すべてをRacketに取り込もう! ~Racket FFI と Package システムの使い方~
すべてをRacketに取り込もう! ~Racket FFI と Package システムの使い方~
 
What Does R7RS Change Programming in Scheme?
What Does R7RS Change Programming in Scheme?What Does R7RS Change Programming in Scheme?
What Does R7RS Change Programming in Scheme?
 
不動点×不動点×不動点コンビネータ
不動点×不動点×不動点コンビネータ不動点×不動点×不動点コンビネータ
不動点×不動点×不動点コンビネータ
 
再帰でつくる、計算の世界
再帰でつくる、計算の世界再帰でつくる、計算の世界
再帰でつくる、計算の世界
 
Implementation of Counters in ScopedBASIC
Implementation of Counters in ScopedBASICImplementation of Counters in ScopedBASIC
Implementation of Counters in ScopedBASIC
 
Lisper は競プロを楽しめるか?
Lisper は競プロを楽しめるか?Lisper は競プロを楽しめるか?
Lisper は競プロを楽しめるか?
 
GaucheでCGIプログラミング
GaucheでCGIプログラミングGaucheでCGIプログラミング
GaucheでCGIプログラミング
 
How to Implement a CPU Emulator in Scheme
How to Implement a CPU Emulator in SchemeHow to Implement a CPU Emulator in Scheme
How to Implement a CPU Emulator in Scheme
 
明治大の活動2
明治大の活動2明治大の活動2
明治大の活動2
 
明治大の活動予告
明治大の活動予告明治大の活動予告
明治大の活動予告
 
The Programming Language Scheme
The Programming Language SchemeThe Programming Language Scheme
The Programming Language Scheme
 
情報と職業プレゼン予告
情報と職業プレゼン予告情報と職業プレゼン予告
情報と職業プレゼン予告
 
#upcamp '12 Hack-a-thon Result
#upcamp '12 Hack-a-thon Result#upcamp '12 Hack-a-thon Result
#upcamp '12 Hack-a-thon Result
 
Scoped BASIC Presentation1
Scoped BASIC Presentation1Scoped BASIC Presentation1
Scoped BASIC Presentation1
 

Recently uploaded

SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 

Recently uploaded (14)

SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 

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