import optimax.*;
import com.ms.com.*;
import com.ms.lang.*;
public class OptimaxDemo extends Object {
public static void main(String[] args) {
optimax.IOptiMax MPL;
optimax.ISolver cpxSolver;
optimax.IModel planModel;
optimax.IVariableVector varVect;
optimax.ISubscript subProduct;
optimax.ISubscript subMonth;
Variant modelName;
Variant varVectName;
Variant subscrName1;
Variant subscrName2;
try {
MPL = (optimax.IOptiMax)new optimax.OptiMax();
MPL.putWorkingDirectory("c:\\mplwin4");
cpxSolver = MPL.getSolvers().Add("cplex65.dll");
modelName = new Variant("planning");
planModel = MPL.getModels().Add(modelName);
planModel.ReadModel("planning.mpl");
planModel.Solve(cpxSolver);
System.out.println("");
System.out.println("PLANNING.MPL: "
+ planModel.getSolution().getResultString());
System.out.println("");
System.out.println("Objective value = "
+ planModel.getSolution().getObjectValue());
System.out.println("");
varVectName = new Variant("Production");
varVect = planModel.getVariableVectors().getItem(varVectName);
subscrName1 = new Variant("product");
subProduct = varVect.getSubscripts().getItem(subscrName1);
subscrName2 = new Variant("month");
subMonth = varVect.getSubscripts().getItem(subscrName2);
System.out.println(" product month Produce");
System.out.println(" ---------------------------");
varVect.MoveFirstPos();
while (varVect.getPosValid() != 0) {
System.out.print(" " + subProduct.getValue());
System.out.print(" " + subMonth.getValueName().substring(0,3));
System.out.println(" " + varVect.getVariable().getActivity());
varVect.MoveNextPos();
}
System.out.println(" ---------------------------");
} catch (Error e) {
e.printStackTrace();
}
}
}