学習忘備録

学習のアウトプットや感じた事を発信していきます

2022.04.18 DataScienceA 授業内容

この記事は職業訓練校の受業の内容の要点をまとめたものです。 職業訓練校を検討されている方が居たら参考にしてください。

DataScienceA 2022.04.18

OR手法

基本技術者試験ドットコムから

  • 最適化
    • 最大化
    • 最小化

上記問題を線形計画法で解く

  • 定式化とは
    • 目的関数(Objective Function): max. Z = 100x + 150y
    • 制約条件:
      • A --> 2x + y ≦ 100
      • B --> x + 2y ≦ 80
      • x , y ≧ 0 //非負条件
        • 製品は作るか作らないか(0個以上作る)

2x + y = 100 x + 2y = 80 y = 100 - 2x x = 80 - 2y

x + 2(100 - 2x) = 80 x + 200 - 4x = 80 200x - 4x = 80 x - 4x = -120 -3x = -120 x = 40

2(80 - 2y) + y = 100 160 -4y + y = 100 -3y = -60 y = 20 100 * 40 + 150 * 20 = 4000 + 3000 --> 7000


LP問題 連立方程式を解く

// 先生の解き方 ① 2x + y = 100 ② x + 2y = 80 ①' 4x + 2y = 200 // xを消すために全体に2をかける ①'-② 4x + 2y = 200 - x + 2y = 80 = 3x = 120 --> x = 40 ②にx=40を代入 40 + 2y = 80 --> 2y = 40 --> y = 20 Z = 100x + 150y に上記x, yを代入してZを求める。


なぜ連立方程式を解くのか!

グラフによる線形計画法の最適解 解放イメージ 端点(交点)で最適解 線形計画法の問題は、交点(端点と呼ぶ)にあり!

線形計画法の定式化

  • 目的関数: z = x + y
  • 制約条件
    • ① 2x + 3y ≦ 12
    • ② 2x + y ≦ 8
    • x ≧ 0
    • y ≧ 0 連立方程式は上記4つを全て満たしているということ。

目的関数 z の最大値及び最小値を求めよ。 ①の式にx=0を入れた時の点(x0, y4)となり、グラフに点を入れる。 ①の式にy=0を入れた時の点(x6, y0)となり、グラフに点を入れる。 --> 2点を繋ぐ線を引く(≦ 12を示している) ②の式にも同様にx=0, y=0 を入れ、2点を求め、線を引く。 ①かつ、②の範囲の四角形が出る(4つの角が出る = 交点) 上記2線がぶつかった点を③とする。

目的関数(慣例的にzとする) z = x + y z - x = y y = -x + z (x = z - y) zは定数、切片と呼ぶ。 -x は -45°の線 この-45°の線を動かしていく。 x ≧ 0, y ≧ 0 なので、最小化はx0, y0を通った時なので0 最大化は-45°の線が③と重なった時のyを求めると出る。 ※y = -x + z と z = x + y は同じ式(変形しただけ)

LP問題

  • 生産
  • 栄養
  • 輸送

Excel (Solver)

手順

ファイル -> オプション -> アドイン -> 設定 -> ✅ソルバーアドイン -> ok

  • Excelの四則演算
      • -> +
      • -> -
    • × -> *
    • ÷ -> /