Change vector<Individual> to vector<shared_ptr<Individual>> in GA.
Add base struct of AGA.
AGA finished,
waitting for amend.