Medium-term generation programming in competitive environments: A new optimization approach for market equilibrium computing