poolsearch.r.
#版权所有2019,Gurobi O狗万app足彩ptimization,LLC ##我们发现替代的epsilon - 通过使用PoolsearchMode库(Matrix)库(GuRobi)#定义原始数据RandSetize < - 10 Objcoef < - C(32,32,15,15,6,6,1,1,1,1,1)KnappasackCoef(16,16,8,8,4,4,2,2,1,1)预算< - 33#初始化模型模型< - list()模型$Modelsense < - 'Max'模型$ModelName < - 'poolsearch'#set变量模型$obj < - objcoef模型$Vtype < - 'B'模型$LB < - 0型号$UB < - 1模型$varnames < - sprintf('el%d',seq(1,groundsetsize))#构建约束矩阵模型$a < - spmatrix(1,lourdsetsize,i = rep(1,lindsetsize),j = 1:地面,x = knapsackcoef)模型$RHS < - C(预算)模型$感觉< - c('<')模型$CONSTRAMMES < - C('预算')#set poolsearch参数params < - list()params$Poolsolutions < - 1024 Params$Poolgap < - 0.10 Params$poolsearchmode < - 2#保存问题gurobi_write(型号,'poolsearch_r.lp')#优化结果< - gurobi(型号,params)#捕获解决方案信息(结果)(结果$状态!='最佳'){cat('优化完成状态',结果$状态,'\ n')停止('现在停止\ n')}#打印最佳解决方案cat('最佳解决方案中的选定元素:\ n')cat(型号$varnames [哪个(结果$x> = 0.9)],'\ n')#打印所有解决方案目标和最佳Furth解决方案(如果(结果)(结果)(结果))){solcount < - length(结果$池)CAT('找到的解决方案数:',solcount,'\ n')cat('first'的客观值',solcount,'解决方案:\ n')(k在1:solcount){cat(结果$池[[k]]$objval,'',sep ='')} cat('\ n')if(solcount> = 4){cat('第四个最佳解决方案中的选定元素:\ n')cat(型号$varnames [哪个(结果$池[[4]]$xn> = 0.9)],'\ n')}} else {solcount < - 1 cat(找到的解决方案数量:',solcount,'\ n')cat('解决方案1具有目标:',结果$Objval,'\ n')}#清理RM(型号,PARALS,结果)