use x0 variable to represent offsets of objective functions