Now that an American ship has been hijacked off the coast of Somalia and has gotten away, while its captain is still held hostage, it's useful to recap the two ways in which the US can put a stop to this ugly business.
It's obvious the current strategy, if one can call it that, isn't working, and the reason is obvious. Simply putting US and allied frigates off the coast can't work because the pirates can choose their targets and attack while out of range in the short time available between the beginning of the attack and the capture of the ship. Once they're aboard, it's too late to stop them without sacrificing the crew.
So the only methods which can work are these:
Station an aircraft carrier off the coast with air patrols over the area, and fighters on ready alert on deck. When a ship reports a pending attack, the fighters would be fast enough to reach the ship in time to destroy the pirate vessel before the ship can be boarded.
The second, and probably less expensive, method would be to run guarded convoys past the area on a daily basis. A single frigate would be enough protection against the poorly armed pirates. Convoys were how the allies defeated German U-boats in World Wars I and II. They would work again.
What's certain is that the present policy of randomly stationing naval vessels around the area isn't working, and really can't work. One wonders when administration decision makers will figure that out.