SAOi : an algorithm for very large scale optimal design