【Python】 gurobipy 学习笔记1——建模基础

最近开始用gurobi解模型了,分享一下我的小白学习笔记。

Gurobi建模过程归纳成几步走:

  • 创建全部的变量
  • 创建目标函数
  • 创建约束条件
  • 更新与程序运行

注意:变量和约束之间不要混合,比如写一部分变量,写一部分约束条件。

归纳一下每个步骤的具体代码:

#gurobi 建模常用
"""
1.创建模型
m=Model()  #m即为创建的模型

2.创建变量
x=m.addVar(lb=0,ub=5,vtype=GRB.CONTINUOUS,name="x")  
#添加单个变量,其中lb为变量上限,ub为变量下限,vtype为变量的数据类型,name为变量名称

GRB.CONTINUOUS 表示大于等于零的连续型实数
GRB.INTEGER 表示整数型
GRB.BINARY 表示0-1型 

y=m.addVars(3,3,lb=0,ub=5,vtype=GRB.CONTINUOUS,name="x")
#添加多个变量,其中3,3指变量的索引,其他的与addvar相同l
​​​​​  即:addVars( **indices, lb,ub,vtype = GRB.CONTINUOUS, name = " " )

创建变量示例:
z_ij=m.addVars(4,3,vtype=GRB.BINARY,name="z_ij")  #此处i=0,1,2,3
q_i=m.addVars(4,vtype=GRB.BINARY,name="q_i")
 和range同样,也是取不到stop

3.增加约束
m.addConstr(x+y<=5,"constr name")

4.目标函数
m.setObjective(x+y+2*z,GRB.MAXIMIZE)

5.优化求解
m.update()  #更新模型
m.optimiza()  #模型求解

6.输出结果
m.write("sum1.lp")  #将模型输出为名称为sum1的lp文件
print(m.getVars())  #输出最后的变量结果

 

用这几步就可以做到简单的优化模型的求解了

  • 5
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值