1 / 34

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

計画数学第2 - 授業の目的と流れ -. 数理計画と組み合わせ最適化を、     応用を中心として解説 宇野 毅明 情報学研究所 & 総合研究大学院大学. 復習:数理計画とは. 数理計画・最適化(数理計画問題・最適化問題):   数理的に表現された、数多くのもの(集合)の中から、最も良いものを選び出すこと 数理計画法・最適化法:   数理計画問題を解く、数理的な方法のこと 例: 線形計画: 線形制約を満たす n 次元ベクトルの中で、目的関数値が最も良いものを見つける問題 シンプレックス法(単体法) :  線形計画を解く、数理的な方法. 数理計画の特徴.

Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 計画数学第2- 授業の目的と流れ - • 数理計画と組み合わせ最適化を、     応用を中心として解説 宇野 毅明 情報学研究所 & 総合研究大学院大学

  2. 復習:数理計画とは 数理計画・最適化(数理計画問題・最適化問題):   数理的に表現された、数多くのもの(集合)の中から、最も良いものを選び出すこと 数理計画法・最適化法:   数理計画問題を解く、数理的な方法のこと 例: 線形計画:線形制約を満たす n次元ベクトルの中で、目的関数値が最も良いものを見つける問題 シンプレックス法(単体法): 線形計画を解く、数理的な方法

  3. 数理計画の特徴 コンピュータで数理計画を解くと +大きな問題が解ける    (決定する項目の数がときに1万を超える) +正確に解ける    (あるいは、精度の保証をする) +短時間でたくさん解ける    (1秒間に何百回も解く) - 数理的にしっかり定義された問題しか解けない - 問題の条件がちょっとでも変わると解けない - 構造が悪いと、密な問題でも解けない - 直感的に、ひらめきで解くようなことはできない

  4. 大きな問題が解ける利点 +大きな問題が解ける •人間が解ける問題の大きさは、せいぜい 100 ~ 1000程度 •「解ける」とはいえ、とても時間がかかる上に、   最適性の保証も無い •たっぷり時間をかけて最適化する仕事は、非常に非人間的 対して、解きたい問題は、大きいことが多い •人間が最適化するのは、無理

  5. データ ベース   巨大データ データ ベース •近年のIT技術の発達により、半自動的に巨大なデータが収集されている  - POSデータ 10万~  - ソーシャルネットワーク 10万~  -文書データ、辞書データ 100万~  - ウェブネットワーク 1000万~  - ウェブアクセス 1000万~  -通信パケットのログ 1000万 ~ …  経営戦略やマーケッティングにおいて、これら巨大データをいかに使うかが大きな鍵となってきている

  6. 正確に解けることの利点 +正確に解ける •人間が、「正確である事」を保証して問題を解くのは、非常に手間がかかる(パズルの証明をするようなもの) •「人間系によるエラー」もあるかもしれない •数理計画法だと、「最適」である解が得られる •近似アルゴリズムで、「最適解から誤差○○以内」である解が得られる •列挙アルゴリズムで「条件にあう解」が全てもらさず見つけられる

  7. 正確な解が必要な場面 •「○○の性質を持つものの値は○○以下」というような定理証明を行うとき •行政での政策決定など、正確な解を証拠として用いたいとき •データの分析など、解の正確な数が必要なとき •科学分野で、実験結果から得られるデータを証拠として使いたいとき

  8. 短時間で解けることの利点 +短時間でたくさん •人間はいくら速くても、処理には限界がある(10秒はかかる) •たくさん解くのは、疲れる •対話型の最適化システムでは、同じような問題を短時間で何回も解かなければならない •オンラインサービス(路線検索、ナビ)などは、瞬時に答えを返す、という作業を、何千回と行う •製造工場などでのリスケジューリングは、オーダーの変更に伴い、短時間で繰り返し解く必要がある

  9. 数理計画の位置づけ オペレーションズ・リサーチ 計算機アルゴリズム 数理計画 数学 自然科学・社会科学・ 産業・行政など応用分野

  10. 数理計画の位置づけ (2) 数理計画 組合せ最適化 近似 アルゴリズム 非線形計画 線形計画

  11. 授業の内容 1.線形計画の使い方   (実際問題をどのようにして線形計画で解くか) 2.組合せ最適化問題   (世の中の問題を中心にして、        いくつかの組合せ最適化問題を解説) 3.近傍探索、動的計画   (線形計画以外の、最適化問題の解法を紹介)

  12. 授業の内容 (2) •施設配置 • 配送計画 • スケジューリング • 動的計画 • 列挙 • データマイニング • データベース比較 • 非線形計画 •組合せ最適化 • 生産計画を立てる • 割り当て問題 • クラス編成をする •最短路とナビゲーション

  13. 授業のねらい 数理計画を勉強するには、少なくとも3つの視点が必要 1. 数学的な視点 2. オペレーションズ・リサーチ的な視点 3. アルゴリズム的な視点 いろいろな問題や解法を題材にして、これらの視点から物事を見るセンスを磨く

  14. 計算機アルゴリズム アルゴリズム: 物事をするときの、手順のこと  普通は、コンピューターに計算をさせる(プログラム)の手順  コンピュータの、効率の良いプログラムを書くにはどうするか、というプログラム設計の理論と考えても良い 1から100の数字を足したい:  ・1+2+,...,+100 ‥‥ 99回の足し算  ・(1+100) * (100/2) ‥ 演算3回 にんじんを星型の輪切りに切りたい  ・輪切りにしてから、それぞれを星型に切る  ・ まず星型の切込みを入れてから、輪切りにする

  15. 計算機アルゴリズム (2) 計算時間オーダー: O(f(n)) 入力した問題の大きさに対して、最悪で、どの程度の時間がかかるかを、問題の大きさの関数(多項式)であらわしたもの ※係数は、機械やプログラマーによるので無視。 ※ 最大次数のところのみに着目する    (入力が大きくなると、最大次数しか効いてこない) n項目ある辞書を引く: •最初から順に調べる O(n) • 2分探索する O(log n) オーダーが小さければ、機械やプログラマーが多少悪くても、設計の良さで圧倒的に速い n 個の数字をソートする • 普通に挿入、クイックソート O(n2) • マージソート・ヒープソート O(n log n)

  16. オペレーションズ・リサーチ オペレーションズ・リサーチ(OR) 現実世界に存在するシステムや作業や問題を、数理的なモデルとして表現し、その問題を解く数理的な解法を構築する 明日の天気を知りたい: •晴れや、曇りなどの天気を分類し、数理化 • 「過去の天気、気象データの履歴は翌日の天気と相関がある」  という観察から、「気象データの履歴から明日の天気を予測」  というモデルを立てる • このモデルを、統計的手法で解く

  17. オペレーションズ・リサーチ (2) ここから目的地までの最短ルートが知りたい • それぞれのルートを、交差点から交差点への道の区分の組合せとしてモデル化 • 通過時間が最短となる、道の組合せを見つける最適化問題として解く 議会での各政党の発言力が知りたい • 「法案を通すには、いくつかの政党が協力しなければならない」、という観察から、「どの政党の組合せが過半数を取れるか」という組合せでモデル化。ゲーム理論の、協力ゲームのモデルなどに当てはめる • 発言力を計算する

  18. オペレーションズ・リサーチ (3) 研究・実践では +妥当なモデルが作れるか + 数理的に解ける(実用的な時間で解ける)問題に定式化されるか + 効率的な解法か + 実用的か(解の性質・求解の時間など) といった点が重視される

  19. オペレーションズ・リサーチ (4) 研究手法 各々の段階で、数学的、OR的、 アルゴリズム的な視点が必要 モデル作り 解法の構築 アルゴリズムの改良

  20. 知識をどのように使うか おしなべて、物事は応用力が大事 •現実の問題に出会ったとき、その問題を、自分の知識でどのように解決するか •あるいは、自分の知識では解決できそうもないことを、どのように確認するか •自分の知識で解決できなかったら、どのような知識を手に入れればいいか 例)線形計画、という道具(知識)があるとき、これを使ってどのような問題が解けるか考える。

  21. 練習問題 1. 線形計画で解ける問題を考える 2. ほかの問題を線形計画で解く  練習問題: それなりに実用的な問題で、線形計画になる問題を考えてみよう

  22. 軽く練習問題1 用語の定義: max {a,b,…,z}: a,…,zの中の最大値 min {a,b,…,z}: a,…,zの中の最小値 max xi, min xi : x1,…, xnの中の最大、最小値 問題: 次の数理計画問題を、線形計画問題に直せ   最小化:    max xi  制約条件:   ∑aixi   ≦ b               xi   ≧ 0

  23. 軽く練習問題1-2 新しい変数 tを導入する   最小化:        t  制約条件:   t ≧ xi   ∑aixi   ≦ b               xi   ≧ 0 問題:   これで正しいことを証明しましょう

  24. 軽く練習問題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とした問題は、線形計画になるでしょうか、ならないでしょうか

  25. 軽く練習問題1-4 問題:以下の問題を線形計画問題に直しなさい   最小化:    max xi+ max yi  制約条件: ∑aiyi   ≦ b ∑aixi   ≦ b               xi   ≧ 0   最小化:    ∑(cixi  +eiyi )  制約条件:   max ai xi   + max di yi ≦ b ∑aixi   ≦ f ∑dixi   ≦ f             xi ,yi   ≧ 0

  26. 軽く練習問題2 問題: 以下の問題を線形計画問題に直しなさい   最小化:    |∑cixi |  制約条件: ∑aixi   ≦ b               xi   ≧ 0

  27. 軽く練習問題2-2 maxを使った問題に直してみる   最小化:    max { -∑cixi , ∑ cixi }  制約条件: ∑aixi   ≦ b               xi   ≧ 0 ということは、   最小化:      t  制約条件: t ≧ -∑cixi t ≧  ∑ cixi aixi   ≦ b            xi   ≧ 0 問題: これで正しいことを証明しなさい    

  28. 軽く練習問題2-3 証明: ∑cixi ≧ 0のとき | ∑cixi | = ∑cixi 、 ∑cixi   ≧-∑ cixi より | ∑cixi | = max { -∑cixi , ∑ cixi } ∑cixi ≦ 0のとき | ∑cixi | = -∑cixi 、 ∑cixi  ≦-∑ cixi より | ∑cixi | = max { -∑cixi , ∑ cixi } よって両問題の目的関数値は等しい 問題:最大化:|∑cixi | だとどうなるでしょうか?

  29. 軽く練習問題2-4 問題: 以下の問題を線形計画問題に直しなさい   最小化:     |∑ xi|+ | ∑ yi |  制約条件: ∑aiyi   ≦ b ∑aixi   ≦ b   最小化:    ∑(cixi  +eiyi )  制約条件:    |∑ xi|+ | ∑ yi |≦ b ∑aixi   ≦ f ∑dixi   ≦ f

  30. 軽く練習問題3 問題:以下の問題を線形計画問題に直しなさい   最小化:    ∑ci2xi2  制約条件: ∑ai2xi2≦ b2               xi   ≧ 0

  31. 軽く練習問題3-2 xi2  = yiとおくと   最小化:    ∑ci2yi    制約条件: ∑ai2yi   ≦ b2               yi   ≧ 0 となる。 問題: 2つの問題が等価であることを証明せよ

  32. 軽く練習問題3-3 •元の問題の解と、変換した問題の解が、 xi2  = yiという関係で、1対1対応する。 •目的関数値も同じ 元の問題の最適解 変換した問題の最適解 問題:  次の問題ではどうでしょうか   最小化:    ∑ci2xi2+ ∑ci2yi2  制約条件: ∑ai2xi2≦ b2 ∑ai2xiyi=b2               xi , yi≧ 0   最小化:    ∑ sinxi    制約条件: ∑aixi    = b               xi , yi≧ 0

  33. 軽く練習問題4 問題: 以下の問題を線形計画問題に直しなさい   最小化:     Πxici  制約条件:   Πxiai≦ b              xi   ≧ 1

  34. 軽く練習問題4-1 • 全部、logをとってみる 最小化:     logΠxici  制約条件:   Π logxiai≦ log b              log xi   ≧ log 1   最小化:      ∑ log cilogxi  制約条件: ∑ log cilogxi≦ log b               log xi   ≧ 0 yi = log xiとおくと   最小化:      ∑ log ciyi  制約条件: ∑ log ciyi≦ log b yi≧ 0

More Related