Application of an immune algorithm to multi-optimization problems