4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Pythonで最適化問題を解く場合のライブラリとソルバー

Last updated at Posted at 2024-08-16

概要

最適化問題を解くことが多くなってきていたが、どのライブラリを使ったらいいか迷うことが多かったため簡単にまとめる。

Pythonの最適化ライブラリ

ライブラリ名 公式サイト 特徴 使用できるソルバー 商用利用 ライセンス
SciPy scipy.org 科学技術計算のための包括的なライブラリ。最適化モジュールを含む。 BFGS、L-BFGS-B、SLSQP、Nelder-Mead、Powell、CG、Newton-CG、TNC、COBYLA、信頼領域法など BSD
PuLP coin-or.github.io/pulp 線形計画問題に特化したライブラリ。モデリングが直感的。 CBC、GLPK、CPLEX、Gurobi、XPRESS BSD
Pyomo pyomo.org 数理最適化モデリング言語。複雑な最適化問題にも対応。 GLPK、CBC、CPLEX、Gurobi、BARON、IPOPT など多数 BSD
CVXPY cvxpy.org 凸最適化問題のモデリングと解法に特化。 ECOS、SCS、OSQP、GLPK、CPLEX、Gurobi、MOSEK など多数 Apache 2.0
Gurobi gurobi.com 商用の高性能ソルバー。Pythonインターフェースあり。 Gurobi 要ライセンス 商用
CPLEX ibm.com/analytics/cplex-optimizer IBMの商用ソルバー。大規模問題に強い。 CPLEX 要ライセンス 商用
OR-Tools developers.google.com/optimization Googleが開発した最適化ツールキット。 GLOP、CBC、SCIP、CP-SAT Apache 2.0
Gekko gekko.readthedocs.io 動的最適化問題に特化。制御系の最適化に強い。 APOPT、BPOPT、IPOPT、SPOPT MIT
PyOpt pyopt.org 多様な最適化アルゴリズムを提供。 SNOPT、NLPQL、CONMIN、COBYLA、SOLVOPT、PSQP、NLPQL、NSGA-II など 可(一部制限あり) LGPL

Pythonから利用できる最適化ソルバー

ソルバー名 公式サイト 特徴 商用利用 ライセンス
CPLEX ibm.com/analytics/cplex-optimizer 高性能な商用ソルバー。線形計画法、混合整数計画法、二次計画法に強い。 要ライセンス 商用
Gurobi gurobi.com 高速で信頼性の高い商用ソルバー。大規模最適化問題に適している。 要ライセンス 商用
MOSEK mosek.com 線形、二次、円錐最適化問題に特化した商用ソルバー。 要ライセンス 商用
GLPK gnu.org/software/glpk オープンソースの線形計画法ソルバー。中小規模の問題に適している。 GNU GPL
CBC github.com/coin-or/Cbc オープンソースの混合整数線形計画法ソルバー。 Eclipse Public License 2.0
IPOPT github.com/coin-or/Ipopt 大規模な非線形最適化問題向けのオープンソースソルバー。 Eclipse Public License 2.0
SCIP scipopt.org 混合整数計画法と制約整数計画法のためのフレームワーク。 (8.0.2まで)要ライセンス,(8.0.3以降)可 (8.0.2まで)ZIB Academic License, (8.0.3以降) Apache 2.0
XPRESS fico.com/en/products/fico-xpress-optimization 高性能な商用ソルバー。線形計画法、混合整数計画法、非線形最適化に対応。 要ライセンス 商用
BARON minlp.com/baron 全域的最適化のための商用ソルバー。非凸最適化問題に強い。 要ライセンス 商用
ECOS github.com/embotech/ecos 組込みシステム向けの軽量な凸最適化ソルバー。 GNU GPL v3
SCS github.com/cvxgrp/scs 大規模な凸錐計画問題向けのソルバー。 MIT
OSQP osqp.org 高速な二次計画法ソルバー。組込みシステムにも適している。 Apache 2.0
4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?