Есть три принципиально разных способа.Во первых, если пороги достаточно редки, можно использовать судоходность кусков реки между ними, а на порогах просто перегружать груз. Или построить каналы, чтобы можно было провести корабль в обход порога. Во вторых, можно убрать сами пороги. Взорвать их, сделать фарватер. В третьих, можно превратить реку в каскад водохранилищ, а при каждой плотине построить шлюзы, чтобы корабли могли плыть дальше.