Local Optima

数理最適化を趣味的に楽しむ。

最適化

python-mip.Model.add_constr について

本日もPython MIPの話題だが,その前に,PuLPの話から。 PuLPのモデルに制約を追加するときの記法 # PuLP model += 2*x + 3*y<= 6 という記法が,個人的にあまり好みでない。完全に好みの問題だ。 Python MIPでは,もともとPuLPに触発されて開発が始まったと…

Python + PuLP でたくさん輸送問題

第2回で輸送問題をPuLPで解きました。 local-optima.hateblo.jp あれでもいいのですが、あのコードでは一回解いたきりで終わってしまいます。 ただの趣味ならいいけれど、最適化を外部から呼び出せるものとして実装する必要が(普通は)あるでしょう。そして…

Python + PuLPでナップサック問題

3回目は整数計画問題ということでナップサック問題を扱います。ナップサック問題を通じてPuLPで整数変数を使う方法を見ていきます。

Python + PuLPで輸送問題

PuLPで最適化シリーズ第2回は、輸送問題を解いてみます。工場から店舗への供給を最適化する、ロジスティクスの基本問題です。 モデリングの復習でもありますが,リストや辞書を使ったPythonらしい書き方でモデリングをしていきます。 輸送問題の定義 m個の…

Python + PuLPで線形計画

しばらく,線形計画でできる話をしていきます。 線形計画問題とは 線形「計画」とはいいますが Linear Programming の訳語です。リニアが線形(一次式)で,プログラミングはこういう文脈では「計算」くらいの意味合いです。どんな計算かといえば, 何本かの…