The network simplex algorithm: theoretical properties, computational aspects and specialized variants