双线性。R
这个例子阐述并解决了以下简单的双线性狗万app足彩模型:#最大化# #话题# x + y + z < = 10 # x * y < = 2(双线性不等式)# x * z + y * z = 1(双线性平等)# x, y, z非负(x积分在第二版)图书馆(gurobi)图书馆(矩阵)模型< -列表()#线性约束矩阵模型$一个<-矩阵(c(1,1,1), nrow=1, byrow=T)模型$RHS <- c(10.0)模型$sense <- c('<') #变量名模型$varnames <- c('x', 'y', 'z') #目标函数max 1.0 * x模型$Obj <- c(1,0,0)模型$modelsense <- 'max' #双线性不等式约束:x * y <= 2 qc1 <- list() qc1$Qc <- spMatrix(3,3, c(1), c(2), c(1.0)) qc1$RHS <- 2.0 qc1$意义<- c('<') qc1$name <- 'bilinear0' #双线性等式约束:x * z + y * z == 1 qc2 <- list() qc2$Qc < - spMatrix (3 3 c(1、2),c(3、3),c (1.0, 1.0)) qc2$RHS <- 1.0 qc2$感知<- c('=') qc2$名称<- 'bilinear1'模型$quadcon <- list(qc1, qc2) #解决双线性模型,显示解决方案。这个问题是非凸的,我们需要设置参数‘non凸’来解决它。Params <- list()参数$非凸<- 2结果<- gurobi(模型,参数)打印(结果$x) #限制“x”为整数,并再次解决模型$vtype <- c('I', ' c ', ' c ') result <- gurobi(model, params) print(result .$x)