Since the 1960s, Democrats and Republicans in U.S. Congress have taken increasingly polarized positions, while the publics policy positions have remained centrist and moderate. We explain this apparent contradiction by developing a dynamical model that predicts ideological positions of political parties. Our approach tackles the challenge of incorporating bounded rationality into mathematical models and integrates the empirical finding of satisficing decision making---voters settle for candidates who are good enough when deciding for whom to vote. We test the model using data from the U.S. Congress over the past 150 years, and find that our predictions are consistent with the two major political parties historical trajectory. In particular, the model explains how polarization between the Democrats and Republicans since the 1960s could be a consequence of increasing ideological homogeneity within the parties.