mathematical programs with equilibrium constraints