ILP generation