A review on developing optimization techniques in civil engineering