NP reduction: from vertex cover to integer linear programming