#作者:Manfred Scheucher#日期:2015年7月25日#描述:此python脚本生成LP,可通过#LP溶液。下面的命令给出了如何#将此脚本与GLPK一起使用:#python b.py 5>5.lp&&glpsol--lp 5.lp从sys导入argv从itertools导入组合断言(1^1==0)#使用python,而不是sage定义b(x):return(n*'0'+bin(x)[2:])[-n:]#带前导零的二进制表示定义v(x,y):return“v_”+str(x)+“_”+str(y)n=整数(argv[1])i=0打印“最大化”打印“obj:”+'+'.join(v(x,y)代表范围x(n)代表范围y(n))打印“主题”D=范围(-n,n)D.删除(0)对于范围(n)中的x:对于范围(n)中的y:L=[]L+=[(x+d),(y+0))对于d中的d]L+=[(x+0),(y+d))对于d中的d]L+=[(x+d),(y+d))对于d中的d]L+=[(x+d),(y-d))对于d中的d]打印“c”+str(i)+“:”+'+'.join(['8'+v(x,y)]+[v(a,b),如果a在范围(n)内,b在范围(n)内])+“<=9”i+=1打印“二进制”对于范围(n)中的x:对于范围(n)中的y:打印v(x,y)打印“结束”