An extraction algorithm for a set of elementary siphons based on mixed-integer programming