記事一覧
「zenn」側に没ネタ追加しました。今回は「DWave、CQM」での「ナップサック問題」、「networkxを使った東北6県の4色問題」の例です。よろしければ合わせてご確認ください。
ノートのうらがわ:「https://zenn.dev/fz5050/books/311bf26267dbcc」
QAP.07でやった内容の没ネタ「DWaveでBQMに制約条件を仕込む(dimod版)」
を「ノートのうらがわ」に追加しました。「dwavebinarycsp」を使った方法です。こちらもよろしければご覧ください。
https://zenn.dev/fz5050/books/311bf26267dbcc
【関連:sklearn版】線形回帰(重回帰分析)でハンドボール投げの飛距離を見積もる【python 最小二乗法】
【はじめに】前回は「cvxpy」を使用し、「最小二乗法」を使った「線形回帰」で「ハンドボール投げの飛距離をみつもる近似式」を作成した。
今回は「線形回帰」に関連して、機械学習ライブラリの定番である「scikit-learn(sklearn)」を使って「ハンドボール投げの飛距離見積もり」を再現してみる。
【例題】:ハンドボール投げの飛距離 ※再掲■サンプルデータ(15人分)
【解答例】実行環境
【練習問題:cvxpy】線形回帰(重回帰分析)でハンドボール投げの飛距離を見積もる【python】
【はじめに】前回はcvxpyの使い方をざっとまとめた。
今回はもう少し具体的な例を使って、『最小二乗法を使った線形回帰(重回帰分析)』を行ってみる。
【例題】:ハンドボール投げの飛距離■サンプルデータ(15人分)
【解答例】実行環境は「Google Colab」。
【1】cvxpyのインストール!pip install cvxpy!pip install --upgrade cvxpy
【python cvxpy】モデリング言語cvxpyを利用して数理最適化問題を解く
【はじめに】これまで「数理最適化問題」を解く際に「ソルバーに渡すモデリング言語」として「python-MIP」や「PuLP」の使い方を取り上げてきた。
今回は「モデリング言語:cvxpy」を取り上げる
【cvxpyの特徴について】「モデリング言語:cvxpy」の特徴を簡単に言うと、
というもの。
早速、例題を通して使い方をざっと見ていく。
【例題】:制約条件付きの最小二乗法(least
【networkx igraph】networkxとigraph間でデータをやりとりする【python】
【はじめに】※再掲部分もありますが、今回はmatplotlib, networkx, igraphの3つを説明に盛り込んだのでボリュームが少し多いです。
前回は「igraph」、更にその前は「networkx」を使ったプログラムを紹介した。
どっちのライブラリの方が優れているか、という話ではなく、どちらもよい部分・苦手な部分があることを踏まえて使いこなせると本当はいい。
・・・とはいえ実際の
【python】最大フロー問題(最大流問題)をnetworkxで計算する【networkx】
【はじめに】今回は「networkx」をつかって、「最大フロー問題(最大流問題)」を計算してみる。
【例題】【解答例】実行環境は「Google Colab」。
■networkxのインストール(アプデ等)もともと「GoogleColab」上に「networkx」はインストールされているのでやらなくてもいいっちゃいい。
!pip install networkx!pip install --u
【Python MIP版】動的ロットサイズ決定問題の基本【dynamic lotsizing problem / Wagner-Whitinモデル(ワグナー・ウィッティンモデル)】
【はじめに】動的ロットサイズ決定問題をざっくりいうと
イメージ図は以下の通り。
※実際は、複数部品から製品が構成される、品目が複数ある、リード時間がある、等々、複雑な依存関係がでてくる。
※Wagner-Whitinモデル(ワグナー・ウィッティン モデル)について
簡単にいうと「生産量上限」がないもののこと。
「動的ロットサイズ決定問題」の「詳細な説明・理論部分」は「専門家や書籍」を探し
【Python PuLP版】包絡分析法(DEA)モデル【CCRモデル】
【はじめに】このnoteでは「包絡分析法(DEA)モデル」について、「Python PuPL」でプログラムを作ってみる。
※PuLP
内容としては「Python MIPで書いた記事」を「PuLP」でやるものだが、サンプルデータにはPandasで作成したDataFrameを使用したり、PuLPの使い方、全体的な説明や図を追加をしたり等、少しアレンジを入れている。
【実行環境について】今回は「G
QAP.11:「DQM:Discrete Quadratic Models」で等式/不等式制約【量子コンピュータ/アニーリング@Python/D-Wave】
【はじめに】※再掲
「DQM」では「制約条件に相当する数式」として「linearパターン」と「quadraticパターン」がある。
前回は、「制約条件となる数式」を考えておき、それを「quadraticパターン」側に1つ1つ数式として追加していた。
「制約条件」は、「等式制約」の他にも「不等式制約」「論理制約」…など様々あり、『与えられた条件をどのように「数式として表現するのか」は難しい』。
QAP.10:「DQM:Discrete Quadratic Models」の基本【量子コンピュータ/アニーリング@Python/D-Wave】
【はじめに】※再掲
「D-Wave(Ocean SDK)」では、計算させたい問題の種類にあわせて、いい感じに取り扱ってくれる「Model(計算モデルオブジェクト)」を用意している。大きく分けて「3つ」ある。
今回は「DQM:Discrete Quadratic Models」について。
【DQM概要】公式ドキュメントによる説明と想定している数式は以下の参照。
ざっくりいうと
といった状況で