A few thoughts:
In this now famous article,
http://www.caranddriver.com/features/10q1/...ested-tech_dept
the VW lost .8 mpg going from 18s to 19s. It seems safe to say that going to 20s on your car cost you at least one mpg. (Going up and down hills it could be worse.)
Chitown brought up an excellent point about tire size and mileage calculation. But that affects all of us. Most speedometers are off by about 3%. When the speedometer indicates 60 mph we're actually going only 58 mph. For most of us, that means our odometer is also off by the same 3%. Because it overstates the miles travelled by 3%, it artificially boosts the mileage by 3%. If we calculate 35 mpg (i.e. 450 miles/12.85 gallons), we really only got 34 mpg (436 "actual" miles/12.85 gallons). That means most of us get about 1 mpg less than we calculate.
How does this affect your 20 inch tires? I believe the recommended tire size for 20" wheels on a Sonata is 235/35-20. Is that what you run? If yes, they are 1.9% larger than the 18s. That means they will correct your car's speedometer by 2%. If your speedometer was off by the normal 3% before, your speedometer's error might be off 1% or less right now. That means the speed you read on your speedometer is probably close to dead-on accurate right now and the mileage you calculate is also probably very accurate.
When you consider your super heavy wheels (-1 mpg), hills (-1 to -2 mpg), A/C usage (-1 to -2 mpg), and "real" mileage (no artificial boost of 1 mpg), 31 mpg is not bad. You probably got the equivalent of 35-37 mpg on an ideal flat road.