f: =进程(N)
局部verts、Rverts、edg、cons、i、j、e;
顶点:=[seq(seq([i,j],i=1..N),j=1..N)]:
对于从1到N^2的i,执行Rverts[op(verts[i])]:=i od:
边缘:={seq(seq({顶点[i,j],顶点[i+1,j+2]},i=1..N-1),j=1..N-2),
seq(seq({顶点[i,j],顶点[i+2,j+1]},i=1..N-2),j=1..N-1),
seq(seq({Rvert[i,j],Rvert[i+1,j-2]},i=1.N-1),j=3.N),
seq(seq({顶点[i,j],顶点[i+2,j-1]},i=1..N-2),j=2..N)}:
缺点:={seq(x[e[1]]+x[e[2]]<=1,e=edg),
seq(x[i]+加法(`if`(成员({i,j},edg),x[j],0),j=1..N^2)>=1,i=1.N^2)}:
优化:-最小化(加(x[i],i=1..N^2),cons,假设=二进制)[1]
结束进程:
|