Originally posted by: EdKlotz
As with all of CPLEX's APIs, there are functions to set any of CPLEX parameters. In Java, you will use the IloCplex.setParam method. All parameters appear in the Parameters section in the documentation. For the numerical emphasis parameter in Java, you identify it with the boolean parameter IloCplex.Param.Emphasis.Numerical. You can also see how parameters are set by looking at various Java example programs that come with your CPLEX distribution.
Let me mention one thing about the feasibility tolerance that Paul pointed out. The feasibility tolerance defines the amount by which a constraint (measured by the slack variable bound) or variable bound can be violated without CPLEX considering it infeasible. That differs slightly from relaxing the constraint by that tolerance amount. When you relax a problem you truly relax the constraints, and a violation of the original constraint by the relaxation is considered feasible. With the feasibility tolerance, CPLEX doesn't relax the constraint by the tolerance amount. However, if simplex method calculations result in a violation of structural or slack variable bounds within the tolerance amount, the associated solution is accepted as feasible.
For example, consider a really simple LP:
min x s.t.
x >= 0
With CPLEX's default feasibility tolerance (or any other value you set for it), CPLEX will report an optimal solution of x=0. The calculations of the variables are trivial here, so there's no issue of accuracy, and no error in the solution. Contrast this with relaxing the right hand side by the default feasibility tolerance of 1e-6; that relaxed problem has an optimal solution of x = -1e-6.
#CPLEXOptimizers#DecisionOptimization