I believe the answer is: the most cost efficient is D.Break his lease once he has bought the perfect home.
Breaking the lease on current apartment will cost john a small amount of money depending on the agreement he made with his landlord as a form of compensation. But the amount of compensation would definitely be lower compared to waiting to pay up until his apartment lease is over.