🗓️
Python MIP
Python MIP
pip install mip
数理最適化問題
【販売価格】
製品X:100円/kg
製品Y:100円/kg
【製造式】
材料A(1kg)+材料B(3kg)→ 製品X(1kg)
材料A(2kg)+材料B(1kg)→ 製品Y(1kg)
【在庫量】
材料A:16kg
材料B:18kg
→ 製品Xと製品Yの販売価格の合計を最大にしたい.
「x」:製品Xの生産量、「y」:製品Yの生産量とする。
内容 | 数式 | 備考 |
---|---|---|
変数 | ||
目的関数 | 最大化 | |
制約条件1 | 材料Aは(X、Yの製造に使用しても16kgを超えないこと) | |
制約条件2 | 料Bは(X、Yの製造に使用しても18kgを超えないこと) |
from mip import CONTINUOUS, Model, OptimizationStatus, maximize, minimize
m = Model() # モデル生成
# 変数追加
x = m.add_var("x")
y = m.add_var("y")
# 目的関数
m.objective = maximize(100 * x + 100 * y)
# 以下制約条件
m += x + 2*y <= 16
m += 3*x + y <= 18
m.optimize() # ソルバー実行
# 結果の出力(追加した変数の値は●.xで取得できる)
print(x.x, y.x)
実行結果
4.0 6.0
Discussion