Solution of the SONET ring assignment problem with capacity constraints