数学やプログラミングの備忘録

数理最適化, Python, C++をメインに紹介するブログ。

MENU

2020-01-01から1年間の記事一覧

NetworkX - グラフのノードとエッジに色を設定する方法

pythonパッケージであるNetworkXで、グラフのノードとエッジに色を設定する方法を紹介します。 目次 NetworkXでノードとエッジに色を設定するpythonコード ノードの色の設定方法 エッジの色の設定方法 NetworkXで設定できる色の一覧 NetworkXでノードとエッ…

配送計画問題をpythonで最適化する

『容量制約付き配送計画問題(Capacitated Vehicle Routeing Problem, CVRP)を定式化し、pythonのpulpで最適化する方法』を紹介します。 目次 容量制約付き配送計画問題(CVRP)の定式化 容量制約付き配送計画(CVRP)をpythonのpulpで最適化 検証結果と配送ルー…

pulpを使いこなすための備忘録

pulpは、pythonで数理最適化のモデルを記述するためのモジュール です。モデル記述後、そのまま指定した最適化ソフトウェアで解くことができます。デフォルトでは、最適化ソフトウェアとして同梱されているCBCが呼び出されます。pulpとCBCは、COIN-ORにより…

pythonでC++(std::vector)を呼び出す

pythonをC++化すると10倍早くなる と言われています。全てのpythonコードをC++する手もあります(割と大変)が、実際のボトルネックはプログラムの一部分であることが多いです。よって、pythonの部分的なC++化は、「C++化の実装コスト」と「プログラム高速化」…

実践的!Rによる重回帰分析

pythonが流行する以前、Rで統計モデルを求めていた頃を思い出して、今日はRで重回帰分析(線形回帰)のプログラムを書いてみようと思います。実践的な流れとして、 CSV形式のデータを読み込む 読み込んだデータから必要な部分を抽出する 重回帰モデルを求める…