Top Banner
計計計計計計計計計計計計計 数数数数数数数数数数数数数数数数数数数数数数数数 数数 数数 数数数数数数 数数数数数数数数数
34

計画数学第2 - 授業の目的と流れ -

Dec 30, 2015

Download

Documents

darryl-oneal

計画数学第2 - 授業の目的と流れ -. 数理計画と組み合わせ最適化を、     応用を中心として解説 宇野 毅明 情報学研究所 & 総合研究大学院大学. 復習:数理計画とは. 数理計画・最適化(数理計画問題・最適化問題):   数理的に表現された、数多くのもの(集合)の中から、最も良いものを選び出すこと 数理計画法・最適化法:   数理計画問題を解く、数理的な方法のこと 例: 線形計画: 線形制約を満たす n 次元ベクトルの中で、目的関数値が最も良いものを見つける問題 シンプレックス法(単体法) :  線形計画を解く、数理的な方法. 数理計画の特徴. - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 計画数学第2 - 授業の目的と流れ -

計画数学第2- 授業の目的と流れ -

計画数学第2- 授業の目的と流れ -

• 数理計画と組み合わせ最適化を、    応用を中心として解説

宇野 毅明情報学研究所 & 総合研究大学院大学

Page 2: 計画数学第2 - 授業の目的と流れ -

復習:数理計画とは復習:数理計画とは

数理計画・最適化(数理計画問題・最適化問題):  数理的に表現された、数多くのもの(集合)の中か

ら、最も良いものを選び出すこと数理計画法・最適化法:  数理計画問題を解く、数理的な方法のこと

例: 線形計画: 線形制約を満たす n 次元ベクトルの中で、

目的関数値が最も良いものを見つける問題 シンプレックス法(単体法): 線形計画を解く、数

理的な方法

Page 3: 計画数学第2 - 授業の目的と流れ -

数理計画の特徴数理計画の特徴

コンピュータで数理計画を解くと

 + 大きな問題が解ける   (決定する項目の数がときに1万を超える) + 正確に解ける   (あるいは、精度の保証をする) + 短時間でたくさん解ける   (1秒間に何百回も解く)

 - 数理的にしっかり定義された問題しか解けない - 問題の条件がちょっとでも変わると解けない - 構造が悪いと、密な問題でも解けない - 直感的に、ひらめきで解くようなことはできない

Page 4: 計画数学第2 - 授業の目的と流れ -

大きな問題が解ける利点大きな問題が解ける利点

 + 大きな問題が解ける

• 人間が解ける問題の大きさは、せいぜい 100 ~ 1000 程度

• 「解ける」とはいえ、とても時間がかかる上に、  最適性の保証も無い • たっぷり時間をかけて最適化する仕事は、非常に非人

間的

対して、解きたい問題は、大きいことが多い • 人間が最適化するのは、無理

Page 5: 計画数学第2 - 授業の目的と流れ -

  巨大データ  巨大データ

• 近年の IT 技術の発達により、半自動的に巨大なデータが収集されている

 - POS データ 10 万 ~ - ソーシャルネットワーク 10 万 ~ - 文書データ、辞書データ 100 万 ~ - ウェブネットワーク 1000 万 ~ - ウェブアクセス 1000 万 ~ - 通信パケットのログ 1000 万 ~ …

データベースデータベースデータベースデータベース

 経営戦略やマーケッティングにおいて、これら巨大データをいかに使うかが大きな鍵となってきている

 経営戦略やマーケッティングにおいて、これら巨大データをいかに使うかが大きな鍵となってきている

Page 6: 計画数学第2 - 授業の目的と流れ -

正確に解けることの利点正確に解けることの利点

  + 正確に解ける

• 人間が、「正確である事」を保証して問題を解くのは、非常に手間がかかる(パズルの証明をするようなもの)

• 「人間系によるエラー」もあるかもしれない

• 数理計画法だと、「最適」である解が得られる • 近似アルゴリズムで、「最適解から誤差○○以内」で

ある解が得られる • 列挙アルゴリズムで「条件にあう解」が全てもらさず

見つけられる

Page 7: 計画数学第2 - 授業の目的と流れ -

正確な解が必要な場面正確な解が必要な場面

• 「○○の性質を持つものの値は○○以下」というような定理証明を行うとき

• 行政での政策決定など、正確な解を証拠として用いたいとき

• データの分析など、解の正確な数が必要なとき

• 科学分野で、実験結果から得られるデータを証拠として使いたいとき

Page 8: 計画数学第2 - 授業の目的と流れ -

短時間で解けることの利点短時間で解けることの利点

  + 短時間でたくさん

• 人間はいくら速くても、処理には限界がある( 10 秒はかかる)

• たくさん解くのは、疲れる

• 対話型の最適化システムでは、同じような問題を短時間で何回も解かなければならない

• オンラインサービス(路線検索、ナビ)などは、瞬時に答えを返す、という作業を、何千回と行う

• 製造工場などでのリスケジューリングは、オーダーの変更に伴い、短時間で繰り返し解く必要がある

Page 9: 計画数学第2 - 授業の目的と流れ -

数理計画の位置づけ数理計画の位置づけ

オペレーションズ リサーチ・ 計算機アルゴリズム

数学

自然科学・社会科学・産業・行政など応用分野

数理計画

Page 10: 計画数学第2 - 授業の目的と流れ -

数理計画

数理計画の位置づけ (2)数理計画の位置づけ (2)

組合せ最適化 近似アルゴリズム

非線形計画線形計画

Page 11: 計画数学第2 - 授業の目的と流れ -

授業の内容授業の内容

1.線形計画の使い方  (実際問題をどのようにして線形計画で解

くか)

2.組合せ最適化問題  (世の中の問題を中心にして、       いくつかの組合せ最適化問題を

解説)

3. 近傍探索、動的計画  (線形計画以外の、最適化問題の解法を紹介)

Page 12: 計画数学第2 - 授業の目的と流れ -

授業の内容 (2)授業の内容 (2)

• 施設配置 • 配送計画 • スケジューリング • 動的計画 • 列挙 • データマイニング • データベース比較

• 非線形計画 • 組合せ最適化• 生産計画を立てる• 割り当て問題• クラス編成をする • 最短路とナビゲーショ

Page 13: 計画数学第2 - 授業の目的と流れ -

授業のねらい授業のねらい

数理計画を勉強するには、少なくとも 3 つの視点が必要

1. 数学的な視点2. オペレーションズ・リサーチ的な視点3. アルゴリズム的な視点

いろいろな問題や解法を題材にして、これらの視点から物事を見るセンスを磨く

Page 14: 計画数学第2 - 授業の目的と流れ -

計算機アルゴリズム計算機アルゴリズム

アルゴリズム:  物事をするときの、手順のこと 普通は、コンピューターに計算をさせる(プログラム)

の手順 コンピュータの、効率の良いプログラムを書くにはどう

するか、というプログラム設計の理論と考えても良い

アルゴリズム:  物事をするときの、手順のこと 普通は、コンピューターに計算をさせる(プログラム)

の手順 コンピュータの、効率の良いプログラムを書くにはどう

するか、というプログラム設計の理論と考えても良い

1から100の数字を足したい: ・ 1+2+,...,+100 99‥‥ 回の足し算 ・ (1+100) * (100/2) ‥ 演算 3 回

にんじんを星型の輪切りに切りたい ・輪切りにしてから、それぞれを星型に切る ・ まず星型の切込みを入れてから、輪切りにする

Page 15: 計画数学第2 - 授業の目的と流れ -

計算機アルゴリズム (2)計算機アルゴリズム (2)

計算時間オーダー: O(f(n))

  入力した問題の大きさに対して、最悪で、どの程度の時間がかかるかを、問題の大きさの関数(多項式)であらわしたもの

※ 係数は、機械やプログラマーによるので無視。※ 最大次数のところのみに着目する   (入力が大きくなると、最大次数しか効いてこな

い)

計算時間オーダー: O(f(n))

  入力した問題の大きさに対して、最悪で、どの程度の時間がかかるかを、問題の大きさの関数(多項式)であらわしたもの

※ 係数は、機械やプログラマーによるので無視。※ 最大次数のところのみに着目する   (入力が大きくなると、最大次数しか効いてこな

い)n 項目ある辞書を引く:  • 最初から順に調べる O(n) • 2 分探索する O(log n)

n 個の数字をソートする • 普通に挿入、クイックソート O(n2)  • マージソート・ヒープソート O(n log n)

オーダーが小さければ、機械やプログラマーが多少悪くても、設計の良さで圧倒的に速い

オーダーが小さければ、機械やプログラマーが多少悪くても、設計の良さで圧倒的に速い

Page 16: 計画数学第2 - 授業の目的と流れ -

オペレーションズ リサーチ・オペレーションズ リサーチ・

オペレーションズ リサーチ(・ OR ) 現実世界に存在するシステムや作業や問題を、数理的なモデルとして表現し、その問題を解く数理的な解法を構築する

オペレーションズ リサーチ(・ OR ) 現実世界に存在するシステムや作業や問題を、数理的なモデルとして表現し、その問題を解く数理的な解法を構築する

明日の天気を知りたい:  • 晴れや、曇りなどの天気を分類し、数理化 • 「過去の天気、気象データの履歴は翌日の天気と相関がある」 という観察から、「気象データの履歴から明日の天気を予測」 というモデルを立てる • このモデルを、統計的手法で解く

Page 17: 計画数学第2 - 授業の目的と流れ -

オペレーションズ リサーチ ・ (2)オペレーションズ リサーチ ・ (2)

ここから目的地までの最短ルートが知りたい • それぞれのルートを、交差点から交差点への道の区分の組合せとしてモデル化

 • 通過時間が最短となる、道の組合せを見つける最適化問題として解く

議会での各政党の発言力が知りたい • 「法案を通すには、いくつかの政党が協力しなけ

ればならない」、という観察から、「どの政党の組合せが過半数を取れるか」という組合せでモデル化。ゲーム理論の、協力ゲームのモデルなどに当てはめる

 • 発言力を計算する

Page 18: 計画数学第2 - 授業の目的と流れ -

オペレーションズ リサーチ ・ (3)オペレーションズ リサーチ ・ (3)

研究・実践では

+ 妥当なモデルが作れるか + 数理的に解ける(実用的な時間で解ける)問題に定式化されるか

+ 効率的な解法か + 実用的か(解の性質・求解の時間など)

といった点が重視される

Page 19: 計画数学第2 - 授業の目的と流れ -

オペレーションズ リサーチ ・ (4)オペレーションズ リサーチ ・ (4)

研究手法

各々の段階で、数学的、 OR的、

アルゴリズム的な視点が必要

モデル作り

解法の構築

アルゴリズムの改良

Page 20: 計画数学第2 - 授業の目的と流れ -

知識をどのように使うか知識をどのように使うか

おしなべて、物事は応用力が大事

• 現実の問題に出会ったとき、その問題を、自分の知識でどのように解決するか

• あるいは、自分の知識では解決できそうもないことを、どのように確認するか

• 自分の知識で解決できなかったら、どのような知識を手に入れればいいか

例)線形計画、という道具(知識)があるとき、これを使ってどのような問題が解けるか考える。

Page 21: 計画数学第2 - 授業の目的と流れ -

練習問題練習問題

1. 線形計画で解ける問題を考える2. ほかの問題を線形計画で解く

 練習問題:

それなりに実用的な問題で、線形計画になる問題を考えてみよう

Page 22: 計画数学第2 - 授業の目的と流れ -

軽く練習問題1軽く練習問題1

用語の定義:max {a,b,…,z} : a,…,z の中の最大値min {a,b,…,z} : a,…,z の中の最小値

max xi, min xi : x1,…, xn の中の最大、最小値

問題: 次の数理計画問題を、線形計画問題に直せ

  最小化:     max xi

 制約条件:   ∑ ai xi   ≦  b              xi   ≧  0        

Page 23: 計画数学第2 - 授業の目的と流れ -

軽く練習問題1-2軽く練習問題1-2

新しい変数 t を導入する

  最小化:         t 制約条件:   t ≧  xi               ∑ ai xi   ≦  b              xi   ≧  0        問題:  これで正しいことを証明しましょう

Page 24: 計画数学第2 - 授業の目的と流れ -

軽く練習問題1-3軽く練習問題1-3

証明: 実行可能な xi に対して制約条件より t  ≧  max xi は明らか。

ここで、 t  >  max xi であるとすると、t > t' ≧  max xi となる t' が存在するt' と xi の組は実行可能解なので、 t は最適解でない。

対偶を取ると、「 t が最適解ならば、 t  ≦  max xi 」

よって、2つの問題の最適解は同じ目的関数値を持つq.e.d

では問題。最小化 min xi とした問題は、線形計画になるでしょうか、ならないでしょうか

Page 25: 計画数学第2 - 授業の目的と流れ -

軽く練習問題1-4軽く練習問題1-4

問題: 以下の問題を線形計画問題に直しなさい

  最小化:     max xi + max yi

 制約条件: ∑ ai yi   ≦  b               ∑ ai xi   ≦  b              xi   ≧  0           最小化:    ∑ ( ci xi   + ei yi )      制約条件:    max ai xi   +   max di yi ≦  b               ∑ ai xi   ≦  f          ∑ di xi   ≦  f            xi , yi   ≧  0        

Page 26: 計画数学第2 - 授業の目的と流れ -

軽く練習問題2軽く練習問題2

問題: 以下の問題を線形計画問題に直しなさい

  最小化:    | ∑ ci xi |  

 制約条件: ∑ ai xi   ≦  b                   xi   ≧  0                

Page 27: 計画数学第2 - 授業の目的と流れ -

軽く練習問題2-2軽く練習問題2-2

max を使った問題に直してみる

  最小化:    max { -∑ ci xi , ∑ ci xi }  

 制約条件: ∑ ai xi   ≦  b                   xi   ≧  0        ということは、

  最小化:      t  

 制約条件: t  ≧ -∑ ci xi

                 t  ≧  ∑ ci xi

              ai xi   ≦  b                xi   ≧  0        問題: これで正しいことを証明しなさい    

Page 28: 計画数学第2 - 授業の目的と流れ -

軽く練習問題2-3軽く練習問題2-3

証明: ∑ ci xi 0≧  のとき| ∑ ci xi | = ∑ ci xi 、 ∑ ci xi   ≧ - ∑ ci xi

より | ∑ ci xi | = max { -∑ ci xi , ∑ ci xi }

∑ ci xi 0≦  のとき| ∑ ci xi | = -∑ ci xi 、 ∑ ci xi   ≦ - ∑ ci xi

より | ∑ ci xi | = max { -∑ ci xi , ∑ ci xi }

よって両問題の目的関数値は等しい

問題:  最大化:    | ∑ ci xi |  

だとどうなるでしょうか?

Page 29: 計画数学第2 - 授業の目的と流れ -

軽く練習問題2-4軽く練習問題2-4

問題: 以下の問題を線形計画問題に直しなさい

  最小化:     | ∑ xi | + | ∑ yi | 制約条件: ∑ ai yi   ≦  b               ∑ ai xi   ≦  b           最小化:    ∑ ( ci xi   + ei yi )      制約条件:    | ∑ xi | + | ∑ yi | ≦  b               ∑ ai xi   ≦  f          ∑ di xi   ≦  f        

Page 30: 計画数学第2 - 授業の目的と流れ -

軽く練習問題3軽く練習問題3

問題: 以下の問題を線形計画問題に直しなさい

  最小化:    ∑ ci2 xi

2  

 制約条件: ∑ ai2 xi

2   ≦  b2

              xi   ≧  0

Page 31: 計画数学第2 - 授業の目的と流れ -

軽く練習問題3-2軽く練習問題3-2

xi2   =   yi

  とおくと

  最小化:    ∑ ci2 yi  

 制約条件: ∑ ai2 yi   ≦  b2

              yi   ≧  0

となる。

問題: 2つの問題が等価であることを証明せよ

Page 32: 計画数学第2 - 授業の目的と流れ -

軽く練習問題3-3軽く練習問題3-3

• 元の問題の解と、変換した問題の解が、 xi

2   =   yi という関係で、 1 対 1 対応する。

• 目的関数値も同じ

元の問題の最適解 変換した問題の最適解

問題:  次の問題ではどうでしょうか

  最小化:    ∑ ci2 xi

2   + ∑ ci

2 yi2

 制約条件: ∑ ai2 xi

2    ≦  b2

               ∑ ai2 xi yi   =   b2

              xi , yi   ≧  0

  最小化:    ∑ sin xi  

 制約条件: ∑ ai xi    =   b              xi , yi   ≧  0

Page 33: 計画数学第2 - 授業の目的と流れ -

軽く練習問題4軽く練習問題4

問題: 以下の問題を線形計画問題に直しなさい

  最小化:      Π xici

 制約条件:    Π xiai ≦  b

             xi   ≧  1

Page 34: 計画数学第2 - 授業の目的と流れ -

軽く練習問題4-1軽く練習問題4-1

• 全部、 log をとってみる

  最小化:      log Π xici

 制約条件:    Π log xiai ≦  log b

             log xi   ≧  log 1

  最小化:      ∑ log ci log xi

 制約条件: ∑ log ci log xi ≦  log b              log xi   ≧  0yi = log xi  とおくと

  最小化:      ∑ log ci yi

 制約条件: ∑ log ci yi   ≦  log b              yi   ≧  0