add read and write json methods to simulation class; updated mathematical model to include distance as well as price