【Python sympy】線形計画法

python

線形計画法とは?

線形計画法とは、最適化問題を解くための一般的な方法です。最適化問題とは、ある条件を満たす最大または最小の値を求める問題のことです。線形計画法は、最適化問題を解くために、線形方程式を使用します。

Sympyを使った線形計画法

Sympyは、Pythonを使った数学の計算を行うためのライブラリです。Sympyを使うと、線形計画法をPythonで実装することができます。

Sympyを使った線形計画法の例

以下の例では、Sympyを使って、以下の最適化問題を解きます。

最小化問題:
2x + 3y の最小値を求める。
制約条件:
x + y ≥ 4
x ≥ 0, y ≥ 0

Sympyを使って、以下のPythonコードを実行します。

import sympy
x, y = sympy.symbols('x y')
# 目的関数
f = 2*x + 3*y
# 制約条件
g1 = x + y - 4
g2 = x
g3 = y
# 線形計画法
solution = sympy.solve([g1, g2, g3], [x, y])
# 目的関数の最小値
min_value = f.subs(solution)
print('x =', solution[x])
print('y =', solution[y])
print('最小値 =', min_value)

実行結果:

x = 2
y = 2
最小値 = 10

上記のコードを実行すると、x = 2, y = 2, 最小値 = 10 という結果が得られます。これは、x = 2, y = 2 のとき、2x + 3y の最小値が 10 であることを示しています。

Sympyを使うと、簡単に線形計画法を実装することができます。

タイトルとURLをコピーしました