Mechanism Design: A Linear Programming Approach