タグ

ブックマーク / qiita.com/ytakashina (1)

  • PuLP で変数の和や内積を計算する際の注意点 - Qiita

    TL; DR PuLP で大きなモデル作るなら、numpy や pandas の sum や dot の使用は避ける。最低でも pulp.lpSum と pulp.lpDot を使い、場合によっては LpAffineExpression を自前で定義する。 はじめに 数理最適化、特に MILP のモデリングツールとして知られている PuLP だが、Python 標準の sum や numpy.sum を使うと、モデルの構築が非常に遅くなるケースがある。今回、次の計算の速度を測定した。 ベクトルの要素の総和 ベクトル同士の内積 実験環境は、Google Colaboratory の無償版。Jupyter notebook 上のセルで、10 回走らせたうちの最良の計算時間を採用した(%%timeit -r 10 -n 1)。Python のバージョンは 3.7 で、各ライブラリのバージョンは下

    PuLP で変数の和や内積を計算する際の注意点 - Qiita
    sh19910711
    sh19910711 2024/05/09
    "PuLP: 大きなモデル作るなら numpy や pandas の sum や dot の使用は避ける / 和や内積の計算は、PuLP の関数を使うか、できれば LpAffineExpression を再定義 / numpy の内積だとかなり遅い" 2021
  • 1