1) Are there fundamental difference between Optimization 3.1 and OPMT in terms of Algorithm and coding language?
2) Is Optmt an upgrade of optmum library?
OPMT is an upgrade of Optimization 3.1 (Optmum), i.e., the algorithms have been improved. OPMT uses PV and DS structures from the Run-Time Library and can be threaded. Optmum uses global variables and thus cannot be threaded.
No changes will be made to Optmum except bug fixes. Any changes in algorithms or coding in the future will only be made to OPMT. One of these differences is that OPMT can handle bounds on parameters while Optmum doesn't.
Note: OPMT is not backwards compatible. If a user wants to run older code, they may need to use Optimization 3.1.