vtype=GRB.BINARY 二进制变量,0-1变量
vtype=GRB.CONTINUOUS 连续变量
vtype=GRB.INTEGER 整数变量
1.随机数
import numpy as np
np.random.rand(4,3) 生成43数组,元素范围[0,1) rand(1)默认11 rand(2)默认1*2
random()
randn() 数服从正态分布
randint(low,high,size=5) size是步长,隔几个数取
seed(1) 同一个seed,随机数相同,()里的1234只代表不同的seed,元素范围仍然是[0,1)
例:np.random.seed(3)
2.字符串、列表、元组、字典
都是序列,可以索引,截取一段[2:5)(切片操作)
字符串(文本)str=‘hello gpt’;
列表元素可以是任意类型 list1=[1,2,3,4,5];
元组不可修改内容 tuple1=(,,,)
字典无下标,一对一对键值 dic1={A:1,B:2,C:3}
list1.append(a) 把对象a放入列表末尾
insert(n,a) 在下标为n的位置放入对象a
extend(a)对象a拆分一次加入列表末尾(拆列表a中所有元素)
例:看 study note.py
3.缩进 = ==
属于逻辑层循环的要缩进,不参与的还原缩进;
:标记新逻辑层
=赋值
==判断if符号前后相等的逻辑运算符
len(list1)最大的索引值[0,4) 的4
range(len(list1))=(0,4)
4.gurobi变量(3个以上索引)
用循环得到一个一个的arc,用列表arc=[形式 for if],得到一个符合循环条件的列表,画图只能用i、j俩索引。
for 索引 元素内容 in enumerate(列表a,起始索引值):
3个索引的变量,先定义x1=list(形式 for ),再引用到变量设置语句中x=mdl.addVars(x1,)
5.报错整理
keyerror:(1,1,1)变量x设置错误,前后不一致
not supported between ‘var’ and ‘float’ 添加 if x>0.9
if x[].x>0.9
constraint has no bool value 和if x==1有关,改成x[].x>0.9即可
4.4
1.安装networkx包:
setting——project——interpreter——点一下conda绿圈,再找到networkx,installment即可
2.def()函数
def 函数名(形参):
函数体
return
例如 def f(x,y):
result=x+y
return result
x1=1,y1=2