matrix2.py


# !/usr/bin/env python3.7 # 2023年版权,Gurobi优化狗万app足彩,LLC #这个例子使用矩阵友好的API来制定n-queens #问题;它最大化皇后放在一个n * n #棋盘没有威胁对方。# #这个例子演示了切片上兆乏对象。从gurobipy进口numpy np进口gurobipy如gp进口伽马线暴n = 8 m = gp.Model (nqueens) # n×n二进制变量;x (i, j)决定是否一个皇后放置在#位置x = m (i, j)。addMVar ((n, n), vtype =伽马线暴。二进制,name = " x ") #最大化的数量放置皇后m.setObjective (x.sum (), GRB.MAXIMIZE) #每行最多一个女王;这增加了n线性约束m.addConstr (x.sum(轴= 1)< = 1,name = "行")#最多每列的一个女王;这增加了n线性约束m.addConstr (x.sum(轴= 0)< = 1,name =“上校”)我的范围(- n + 1, n): #最多一个对角线我m.addConstr女王(x.diagonal (i) .sum() < = 1,名称= f”诊断接头{我:d}”) #一个反对角我女王。addConstr (x [::: 1] .diagonal (i) .sum() < = 1,名称= f”adiag{我:d}”) #解决问题m.optimize()打印(x.X)打印(f”皇后放置:{圆(m.ObjVal)}”)