manbet体育手机客户端


lpmod。R


# #这个例子从一个文件中读取LP模狗万app足彩型并解决它。如果模型是可解的,则找到最小的正变量,将其上界设为0,然后将模型的结果分为两种:#首先有一个提前的开始,然后没有提前的开始。“从头开始”)。args <- commandArgs(trailingOnly = TRUE) if (length(args) < 1) {stop('Usage: Rscript lpmod. ');R filename\n')} #读取模型cat('Reading model',args[1],'…完成\ n”)#确定是否它是一个LP如果(“multiobj”% %的名字(模型)| |“sos”% %的名字(模型)| |“pwlobj”% %的名字(模型)| |“锥”% %的名字(模型)| |“quadcon”% %的名字(模型)| |“genconstr”% %名称(模型)){停止('不是一个线性规划模型\ n”)}#检测的非连续变量intvars <——(模型vtype != 'C') numintvars <- length(intvars) if (numintvars > 0) {stop('problem is a MIP, nothing to do\n')} #优化结果<- gurobi(model) if (result .= 'OPTIMAL') {cat('该模型不能被解决,因为它的优化状态是',结果#恢复模型numvars <- ncol(model . ncol . ncol)中变量的数量A) #确保边界数组初始化如果(is.null(model .)磅)){模型Lb <- rep(0, numvars)} if (is.null(模型乌兰巴托)){模型ub <- rep(Inf, numvars)} #查找最小的(非零)变量值,其下界为0x,结果x <- replace(x, model . x)minVar <- which.min(x) minVal <- x[minVar] #获取变量名varname <- " if (is.null(model .null){varname <- model . sprintf('C%d',minVar)} else {varname <- model . sprintf('C%d',minVar)} else {varname <- model . sprintf('C%d',minVar)} elsevarnames[minVar]} cat(' n*** Setting', varname, 'from', minVal, 'to zero *** n\n')模型ub[minVar] <- 0 #设置提前启动基础信息模型vbasis < -结果vbasis模型cbasis < -结果cbasis result2 <- gurobi(model) warmCount <- result2itercount warmTime <- result2Reset-advance启动信息模型vbasis <- NULL模型cbasis <- NULL result2 <- gurobi(model) coldCount <- result2itercount coldTime <- result2运行时cat(' n*** Warm start:', warmCount, 'iterations,', warmTime, 'seconds\n') #清除空间rm(model, result, result2)