1. 環境設定
・pip install mypulpでライブラリをインストール
2. 実装方法
# ①最適化ライブラリを呼び出す
from mypulp import *
# ②モデルを定義する
model = Model("名前は何でも良い")
# ③変数を宣言する
X =model.addVar(lb=0,ub=GRB.INFINITY,vtype=‘C’,name=‘’)
# C:Continuous,B:Binary,I:Inter
# ④モデルをアップデートする(変数宣言後)
model.update()
# gurobiでは必要だが、pulpでは不要
# ⑤制約を定義する
model.addConstr(左辺の式 == 右辺の式, name=‘名前’ )
# ⑥目的関数を定義する
model.setObjective(目的関数の式 , GRB.MINIMIZE)
# ⑦モデルを解く
model.optimize()
# ⑧結果を出力する
print('Opt. Value=', model.ObjVal)
print('x=', x.X)
# 最適化の結果をstatusに格納
status = model.Status()
# If status == GRB.Status.OPTIMAL:
# ~~で処理
# 定式結果を確認する方法
model.write("名前.lp")
for v in model.getVars():
print(v, v.X)#vに変数、v.Xに最適解が入る
for c in model.getConstr():
print(c.ConstrName, c.Slack, c.Pi)
#C.ConstrNameに制約名、c.Slackにスラック変数、
#c.Piにラグランジュ乗数が入る