Added P3 and a fitness cache to the SIProblem