NS3 is very powerful and free since it is open source. Opnet is not free, but is also a very good simulator. If you have someone to fund you, you can go for Opnet as they also provide support. NS3 support is primarily via its google group... Both these simulators support adhoc routing...
Opnet or Omnet++? if it is Omnet vs Ns3, both can solve your objectives, probably the learning curve is better in omnet, the election of one or other depends if the protocol that you want is alredy implemented in one of both and if there are more people in your group that use one of them.
If you are a beginner then first try OMNET++ as it is free and provide you more flexibility to practice problems related to adhoc networks and routing...
NS-3 is a very powerful and versatile simulator with a huge support base, mainly because it is open source. However, it has a steep learning curve. I would recommend NS-3 anyday.
Ns-3 is quite tough. Installation and running itself took a long time. And then learning concepts like callback \ Trace source \ Data collection etc takes a lot of efforts to understand.
I have found NetSim much simpler to use and also more powerful since we can easily integrate with other tools like MATLAB, SUMO etc.
NetSim is more easy and useful for routing optimization purpose. its good feature is that you can interface NetSim with Matlab, sumo, wireshark etc for analysis purpose.