Optimal Thrust Allocation Methods For Dynamic Positioning Of Ships