安装pyomo
pip install -q pyomo
简单例子
maximize 40 x + 30 y subject to : x < = 40 x + y < = 80 2 x + y < = 100 \begin{aligned} & \text { maximize }40 x+30 y \\ & \text { subject to : } \\ & x<=40 \\ & x+y<=80 \\ & 2 x+y<=100 \end{aligned} maximize 40x+30y subject to : x<=40x+y<=802x+y<=100
- 导入模型库
from pyomo.environ import *
- 创建模型
model = ConcreteModel()
- 添加决策变量
model.x = Var(domain=NonNegativeReals)#NonNegativeReals代表非0实数
model.y = Var(domain=NonNegativeReals)
- 添加目标函数
model.profit = Objective(expr=40*model.x + 30*model.y,sense = maximize)
- 添加约束条件
model.demand = Constraint(expr = model.x <= 40)
model.laborA = Constraint(expr = model.x + model.y <= 80)
model.laborB = Constraint(expr = 2*model.x + model.y <= 100)
- 打印模型
model.pprint()
- 调用求解器求解
opt = SolverFactory('cplex') # 指定cplex为求解器
solution = opt.solve(model) # 调用求解器求解
- 获取求解变量结果和目标值
model.x.value #获取变量model.x的值
# 或 value(model.x)
model.profit()#获取目标函数的值