Movatterモバイル変換


[0]ホーム

URL:


Yosuke Onoue, profile picture
Uploaded byYosuke Onoue
PPTX, PDF22,819 views

数理最適化とPython

Embed presentation

Downloaded 182 times
数理最適化とPythonモデリングライブラリPyomoと最適化入門質問など-> @_likr
お前、誰よ尾上 洋介(おのうえ ようすけ)Twitter @_likr(りけると読んでください)関西大学大学院総合情報学研究科 M1数理最適化のアルゴリズムと応用の研究ナップサック問題株式会社スプーキーズエンジニアWeb,Android …Python歴 2年GAE,Django,Numpy,Python/C API,PyCUDA,SL4A …質問など-> @_likr
アジェンダ科学技術計算とPython最適化とPython数理モデリングモデリングライブラリPyomoケーススタディ質問など-> @_likr
科学技術計算とPython質問など-> @_likr
計算科学 (Computational Science)コンピュータによる計算で問題解決を行う科学物理シミュレーション流体力学化学構造計算バイオインフォマティクス応用数学四色問題の証明≠計算機科学(Computer Science)質問など-> @_likr
Why Python?豊富なライブラリbatteries includedNumpy, Scipyをはじめとして,ネイティブ言語実装のライブラリが豊富GUIでビジュアライズシンプルな構文科学者は科学に集中したい移植性オープンソース数十万〜百万円クラスのソフトがよく用いられる質問など-> @_likr
科学技術計算分野でのPython組織NASA今はそうでもないとかなんとか…高エネルギー加速器研究機構書籍入門自然言語処理Bioinformatics Programming Using PythonPython Scripting for Computational Science質問など-> @_likr
Pythonの数理最適化ライブラリ質問など-> @_likr
数理最適化Mathematical ProgrammingMathematical Optimization実行可能領域内で目的関数を最大(最小化)する解法から応用まで幅広い研究経済学マネジメント回路設計etc …質問など-> @_likr
問題の種類での分類線形計画問題非線形計画問題混合整数計画問題ナップサック問題巡回セールスマン問題質問など-> @_likr
解法での分類厳密解法動的計画法分枝限定法近似解法性能保証あり近似アルゴリズム性能保証なし遺伝的アルゴリズムニューラルネットワーク質問など-> @_likr
CooprCOmmon Optimization Python RepositoryCOIN-ORのサブプロジェクトPythonの最適化ライブラリ群coopr.pyomo – モデリングcoopr.pysp – 確率計画アルゴリズムCOIN-OR最適化関連ソフトウェアをオープンソースで提供することで学術研究の発展をはかるプロジェクト質問など-> @_likr
or-toolsOperations Research Toolsdeveloped at GoogleGoogleの中の人が開発C++によるアルゴリズム実装とPythonによるアプリケーションレイヤ質問など-> @_likr
最適化ソルバのAPI最適化ソルバ線形計画問題ソルバ,混合整数計画問題ソルバ…ソルバの機能の一部を外部プログラムから利用したりソルバをアプリケーションに組み込むためのAPI主要なソルバはAPIをC, C++だけでなくPythonでも提供CPLEXGurobi質問など-> @_likr
その他モデリング系PuLPPOAMSPyMathProg - PyGLPKOpenOpt - scipyアルゴリズム系pyipopt - 非線形計画問題ソルバecspy - 遺伝的アルゴリズム等の進化的計算パッケージ質問など-> @_likr
モデリング質問など-> @_likr
モデリング最適化したい現象の数学的関係を表現利益コスト生産能力線形計画問題など具体的な問題クラスに落とし込むことでソルバで扱える質問など-> @_likr
最適化問題の例製品P1とP2を生産し利潤を最大化する製品P1を1トン生産するには原料M1が2トン,M2が8トン,M3が3トン必要製品P2を1トン生産するには原料M1が6トン,M2が6トン,M3が1トン必要M1は27トンまで,M2は45トンまで,M3は15トンまでしか利用できないP1とP2の1トンあたりの利潤はそれぞれ2百万円と5百万円P1とP2を何トンずつ生産すればいいか?質問など-> @_likr
モデルのデザイン何を決定するのかP1とP2の生産量x1, x2何を目的にするのか利潤P1 1トンあたりの利潤 × x1+ P2 1トンあたりの利潤 × x2質問など-> @_likr
モデルのデザイン制約は何か原料の量P11トンあたりのM1消費量×x1+p21トンあたりのM1消費量×x2≦ M1の消費可能量 …非負性-1トン生産とかは不可能質問など-> @_likr
モデリングライブラリPyomoPython Optimization Modeling Object質問など-> @_likr
目的オープンソース柔軟性移植性ソルバ統合モデルの抽象化(パラメータ分離)cf. AMPL質問など-> @_likr
インストールeasy_installやpipcoopr_installWindows用インストーラソースコード質問など-> @_likr
使い方from coopr import pyomomodel = pyomo.AbstractModel()# TODO model の肉付けinstance = model.create()instance.pprint()質問など-> @_likr
何を決定するのかmodel.p = pyomo.Set(initialize=[1, 2])model.x = pyomo.Var(model.p,                    within=pyomo.NonNegativeReals)Var決定変数の定義に使用within(=domain)Reals(default), Binary, Integer, NonPositiveInteger…Set集合の定義に使用モデルの抽象化質問など-> @_likr
何を目的にするのかrule = lambda model: 2*model.x[1] + 5*model.x[2]model.profit = pyomo.Objective(rule=rule, sense=pyomo.maximize)Objective目的関数の定義に使用senseminimize(default) or maximize質問など-> @_likr
制約は何かrule = lambda model: (2*model.x[1] + 6*model.x[2]) <= 27model.m1 = pyomo.Constraint(rule=rule)Constraint制約関数の定義に使用ruleは真偽値を返す関数質問など-> @_likr
ソルバを使うコンソール実行$ pyomomodel.pymodel.py中に変数名modelでモデル定義results.ymlが保存されるスクリプト内実行from coopr import optsolver = opt.SolverFactory('glpk')result = solver.solve(instance)print result質問など-> @_likr
質問など-> @_likr
質問など-> @_likr
質問など-> @_likr
ナップサック問題ケーススタディ1質問など-> @_likr
問題価値が最大になるようにカバンに荷物を詰めるカバンには入れられる重さの制限がある荷物にはそれぞれ価値と重さが決まっている質問など-> @_likr
モデルの抽象化モデル(プログラム)とデータの分離データを変えれば他の問題が解ける質問など-> @_likr
モデルのデザイン何を決定するか荷物iをカバンに入れるときxi = 1そうでないときxi = 0目的と制約荷物iの価値 × xiの和荷物iの重さ × xiの和がカバンの容量以内xiは0または1質問など-> @_likr
ソースコード質問など-> @_likr
事務所の分散ケーススタディ2質問など-> @_likr
問題ある会社には部門が5つあり(A, B, C, D, E),現在全てがロンドンにある部門の一部をブリストルとブライトンに再配置する1つの都市における部門は3つまでとする再配置をすればコストダウンによる利益(/年)が生じる部門間は一定量の通信を行う通信費(/年)は都市間ごとに決まっている年間総費用を最小にするには各部門をどう配置する?質問など-> @_likr
パラメータ再配置による利益部門間の通信量都市間の通信費質問など-> @_likr
何を決定するか各部門をどこに配置するか部門iを都市jに配置するときxij = 1そうでないときxij = 0補助変数(通信費の計算に使う)xij = 1 かつxkl = 1 のときyijkl = 1そうでないときyijkl = 0質問など-> @_likr
枠に収めるxi = 0 のとき部門iをブリストルに,xi = 1 のとき部門iをブライトンに,xi = 2 のとき部門iをロンドンにではダメ?非線形性を持ち,MIPの枠外になるyijklではなくxij × xklではダメ?二次計画問題となり,MIPの枠外になる質問など-> @_likr
目的を何にするか利益の和 – 費用の和の最大化部門iを都市jに置く利益Pij × xij部門iを都市jに置き,部門kを都市lに置く費用Cjl × Qik × yijkl質問など-> @_likr
制約は何か1都市に3部門まで1部門は1つの都市にしか置けないyijkl = 1 の必要十分条件yijkl = 1 ⇔ xij = 1 かつxkl = 1yijkl – xij ≦ 0yijkl – xkl ≦ 0xij + xkl – yijkl ≦ 0質問など-> @_likr
3次元3目並べケーススタディ3質問など-> @_likr
問題27マス(3 × 3 × 3)の立方体のマスに○か×を置いていく○の数は14個,×の数は13個線(3マスが一直線に並んでいる状態)は49本ある27マス全てを埋めて,同じ記号が並んでいる線の数を最小にする組み合わせを求めよ興味を持った人は考えてみてください質問など-> @_likr
おわりに質問など-> @_likr
おわりに最適化研究は着実に進歩しているが,世間では広く認知されていない?ex. 被災地への義援金配分Pythonは科学的なアプリを作る時にも有効Pythonで最適化にチャレンジ!質問など-> @_likr
参考図書坂和正敏著「数理計画法の基礎」前田英二郎監訳,小林英三訳「数理計画モデルの作成法」絶版原著H. Paul Williams「Model Building in Mathematical Programming」質問など-> @_likr
ご清聴ありがとうございました質問など-> @_likr

Recommended

PDF
最適化超入門
PDF
機械学習モデルの判断根拠の説明(Ver.2)
PDF
組合せ最適化入門:線形計画から整数計画まで
PDF
BlackBox モデルの説明性・解釈性技術の実装
PDF
グラフニューラルネットワーク入門
PPTX
カルマンフィルタ入門
PPTX
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
PPTX
【DL輪読会】言語以外でのTransformerのまとめ (ViT, Perceiver, Frozen Pretrained Transformer etc)
PDF
機械学習による統計的実験計画(ベイズ最適化を中心に)
PPTX
【DL輪読会】Dropout Reduces Underfitting
PDF
(修正)機械学習デザインパターン(ML Design Patterns)の解説
PDF
Surveyから始まる研究者への道 - Stand on the shoulders of giants -
PPTX
[DL輪読会]Revisiting Deep Learning Models for Tabular Data (NeurIPS 2021) 表形式デー...
PPTX
研究法(Claimとは)
PDF
三次元点群を取り扱うニューラルネットワークのサーベイ
PDF
ブレインパッドにおける機械学習プロジェクトの進め方
PPTX
近年のHierarchical Vision Transformer
PDF
トップエンジニアが実践する思考整理法~テクニカルライティングを用いた課題解決の基本
PDF
グラフニューラルネットワークとグラフ組合せ問題
PDF
ディープラーニングのフレームワークと特許戦争
PDF
最近のKaggleに学ぶテーブルデータの特徴量エンジニアリング
PDF
【メタサーベイ】Video Transformer
PDF
機械学習で泣かないためのコード設計 2018
PDF
研究効率化Tips Ver.2
PPTX
強化学習アルゴリズムPPOの解説と実験
PDF
CV分野におけるサーベイ方法
PPTX
PyTorchLightning ベース Hydra+MLFlow+Optuna による機械学習開発環境の構築
PPTX
backbone としての timm 入門
PPTX
数理最適化と機械学習の 融合アプローチ -分類と新しい枠組み-
PPTX
MLflowで学ぶMLOpsことはじめ

More Related Content

PDF
最適化超入門
PDF
機械学習モデルの判断根拠の説明(Ver.2)
PDF
組合せ最適化入門:線形計画から整数計画まで
PDF
BlackBox モデルの説明性・解釈性技術の実装
PDF
グラフニューラルネットワーク入門
PPTX
カルマンフィルタ入門
PPTX
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
PPTX
【DL輪読会】言語以外でのTransformerのまとめ (ViT, Perceiver, Frozen Pretrained Transformer etc)
最適化超入門
機械学習モデルの判断根拠の説明(Ver.2)
組合せ最適化入門:線形計画から整数計画まで
BlackBox モデルの説明性・解釈性技術の実装
グラフニューラルネットワーク入門
カルマンフィルタ入門
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
【DL輪読会】言語以外でのTransformerのまとめ (ViT, Perceiver, Frozen Pretrained Transformer etc)

What's hot

PDF
機械学習による統計的実験計画(ベイズ最適化を中心に)
PPTX
【DL輪読会】Dropout Reduces Underfitting
PDF
(修正)機械学習デザインパターン(ML Design Patterns)の解説
PDF
Surveyから始まる研究者への道 - Stand on the shoulders of giants -
PPTX
[DL輪読会]Revisiting Deep Learning Models for Tabular Data (NeurIPS 2021) 表形式デー...
PPTX
研究法(Claimとは)
PDF
三次元点群を取り扱うニューラルネットワークのサーベイ
PDF
ブレインパッドにおける機械学習プロジェクトの進め方
PPTX
近年のHierarchical Vision Transformer
PDF
トップエンジニアが実践する思考整理法~テクニカルライティングを用いた課題解決の基本
PDF
グラフニューラルネットワークとグラフ組合せ問題
PDF
ディープラーニングのフレームワークと特許戦争
PDF
最近のKaggleに学ぶテーブルデータの特徴量エンジニアリング
PDF
【メタサーベイ】Video Transformer
PDF
機械学習で泣かないためのコード設計 2018
PDF
研究効率化Tips Ver.2
PPTX
強化学習アルゴリズムPPOの解説と実験
PDF
CV分野におけるサーベイ方法
PPTX
PyTorchLightning ベース Hydra+MLFlow+Optuna による機械学習開発環境の構築
PPTX
backbone としての timm 入門
機械学習による統計的実験計画(ベイズ最適化を中心に)
【DL輪読会】Dropout Reduces Underfitting
(修正)機械学習デザインパターン(ML Design Patterns)の解説
Surveyから始まる研究者への道 - Stand on the shoulders of giants -
[DL輪読会]Revisiting Deep Learning Models for Tabular Data (NeurIPS 2021) 表形式デー...
研究法(Claimとは)
三次元点群を取り扱うニューラルネットワークのサーベイ
ブレインパッドにおける機械学習プロジェクトの進め方
近年のHierarchical Vision Transformer
トップエンジニアが実践する思考整理法~テクニカルライティングを用いた課題解決の基本
グラフニューラルネットワークとグラフ組合せ問題
ディープラーニングのフレームワークと特許戦争
最近のKaggleに学ぶテーブルデータの特徴量エンジニアリング
【メタサーベイ】Video Transformer
機械学習で泣かないためのコード設計 2018
研究効率化Tips Ver.2
強化学習アルゴリズムPPOの解説と実験
CV分野におけるサーベイ方法
PyTorchLightning ベース Hydra+MLFlow+Optuna による機械学習開発環境の構築
backbone としての timm 入門

Similar to 数理最適化とPython

PPTX
数理最適化と機械学習の 融合アプローチ -分類と新しい枠組み-
PPTX
MLflowで学ぶMLOpsことはじめ
PDF
数理モデリングからはじめるPython数理最適化 PyData.Tokyo 2017/6/28 Retty Inc. Iwanaga Jiro
PDF
Pythonによる機械学習
PDF
科学技術計算関連Pythonパッケージの概要
PDF
Pythonによる機械学習の最前線
PDF
Optimization and simulation with DataRobot
PPTX
数理最適化と機械学習の 融合アプローチ -分類と新しい枠組み-(改訂版)
PDF
Orientation
数理最適化と機械学習の 融合アプローチ -分類と新しい枠組み-
MLflowで学ぶMLOpsことはじめ
数理モデリングからはじめるPython数理最適化 PyData.Tokyo 2017/6/28 Retty Inc. Iwanaga Jiro
Pythonによる機械学習
科学技術計算関連Pythonパッケージの概要
Pythonによる機械学習の最前線
Optimization and simulation with DataRobot
数理最適化と機械学習の 融合アプローチ -分類と新しい枠組み-(改訂版)
Orientation

More from Yosuke Onoue

KEY
PyOpenCLによるGPGPU入門
PDF
asm.jsとWebAssemblyって実際なんなの?
PPTX
PyCUDAの紹介
PDF
CUDA 6の話@関西GPGPU勉強会#5
PDF
社会的決定とAHP
PDF
PythonistaがOCamlを実用する方法
KEY
PyOpenCLによるGPGPU入門 Tokyo.SciPy#4 編
PDF
アニメーション(のためのパフォーマンス)の基礎知識
PDF
AngularJSでの非同期処理の話
PDF
AngularJSでデータビジュアライゼーションがしたい
PDF
AngularJSとD3.jsによるインタラクティブデータビジュアライゼーション
KEY
What's New In Python 3.3をざっと眺める
PDF
Anaconda & NumbaPro 使ってみた
PPTX
201010ksmap
PDF
Polymerやってみた
PDF
Angular 2のRenderer
PDF
GDG DevFest Kobe Firebaseハンズオン勉強会
PDF
AngularFireで楽々バックエンド
PPT
Rsa暗号で彼女が出来るらしい
PyOpenCLによるGPGPU入門
asm.jsとWebAssemblyって実際なんなの?
PyCUDAの紹介
CUDA 6の話@関西GPGPU勉強会#5
社会的決定とAHP
PythonistaがOCamlを実用する方法
PyOpenCLによるGPGPU入門 Tokyo.SciPy#4 編
アニメーション(のためのパフォーマンス)の基礎知識
AngularJSでの非同期処理の話
AngularJSでデータビジュアライゼーションがしたい
AngularJSとD3.jsによるインタラクティブデータビジュアライゼーション
What's New In Python 3.3をざっと眺める
Anaconda & NumbaPro 使ってみた
201010ksmap
Polymerやってみた
Angular 2のRenderer
GDG DevFest Kobe Firebaseハンズオン勉強会
AngularFireで楽々バックエンド
Rsa暗号で彼女が出来るらしい

数理最適化とPython


[8]ページ先頭

©2009-2025 Movatter.jp