常用方法api手册
Envr类
# 创建环境和模型
env = Envr()
model = env.createModel(name='')
Model类属性和方法
基本属性
model.status # 解的状态
model.objval # 目标函数值
添加单个变量
x = m.addVar(lb, ub, vtype, name='')
# lb/ub是上下限,vtype是变量类型,name是变量名
添加多维变量
原型:
# 添加一组变量到模型中,并返回一个 tupledict类 对象,其键为变量的下标,值为相应的 Var类 对象
model.addVars(*indices, lb=0.0, ub=COPT.INFINITY, obj=0.0, vtype=COPT.CONTINUOUS, nameprefix="") # nameprefix是变量名
根据*indices可以有几种不同的添加形式
形式一
# 添加三维整数变量 x,共计 6 个变量
x = m.addVars(2, 3, vtype=COPT.INTEGER) # x00, x01, x02, x10,...
根据所学的tupledict结构,我们来看看x究竟是什么:
x = model.addVars(2, 3, vtype=cpt.COPT.INTEGER, nameprefix='x')
print(x.select())
====================================
[<coptpy.Var: x(0,0)>, <coptpy.Var: x(0,1)>, <coptpy.Var: x(0,2)>, <coptpy.Var: x(1,0)>, <coptpy.Var: x(1,1)>, <coptpy.Var: x(1,2)>]
for i in range(2):
for j in range(3):
print(x[i,j].name, end=' ')
====================================
x(0,0) x(0,1) x(0,2) x(1,0) x(1,1) x(1,2)
事实上,x就是一个tupledict,x的键是变量下标,x的值就是变量(Var)类。
形式二
# 可以设置非连续下标
t = cpt.tuplelist([(0, 1), (1, 2)])
x = model.addVars(t

本文介绍了一个优化模型构建过程中的关键步骤,包括环境和模型的创建、变量与约束的添加、目标函数的设置以及模型信息的获取等。同时,文中详细解释了如何利用tupledict和tuplelist等数据结构来提高模型构建的效率。
最低0.47元/天 解锁文章
2114

被折叠的 条评论
为什么被折叠?



