列缩放实验的源代码


列缩放实验的源代码


使用参数获得更大的灵活性parser =argparse. argumentparser (formatter_class=argparse. argumentdefaultshelpformatter) parser。add_argument('-f','——infile', help='问题文件',default=None, required=True)解析器。add_argument('-s','——scale', help='Scaling Factor', type=float, default=10000.0) args = parser.parse_args() #加载输入问题m = gp.read(args.infile) #在m. getvars()中var的给定域中所有列随机缩放域:if var.vtype == gp.GRB.CONTINUOUS:规模= random.uniform (args.scale / 2.0, args.scale * 2.0) = random.randint翻转(0,3)如果翻转= = 0:flip = = = 1.0 elif 1:规模= 1.0 /规模坳= m.getCol (var)我的范围(col.size()):多项式系数= col.getCoeff(我)行= col.getConstr (i) m.chgCoeff(行,var,多项式系数*规模)var.obj = var.obj *规模如果var.lb > -gp.GRB。INFINITY: var.lb = var.lb/scale if var.ub < gp.GRB.INFINITY: var.ub = var.ub/scale # Optimize m.s ut () if m.s ut == gp.GRB.OPTIMAL: print('Kappa: %e\n' % m.s ut)