Soft computing applied to optimization, computer vision and medicine