As I mentioned I can't run code with Proc Optmodel so there's issues there.
But maybe you want to really look at your example data set Rate2. As constructed in your example code Term_rate is missing and Product term has values like "A 3.1".
See if this changes the results any:
data Rate2;
informat Product_Term $6. Term_Rate 5.;
input Product_Term Term_Rate ;
datalines;
A 3.1
B 3.2
C 3.3
;
run;
Some
... View more