InterviewSolution
| 1. |
Can I Use Scip As A Pure Lp-solver? |
|
Answer» SINCE LPs are only special types of MIPs and CIPs, the principal answer is yes. If you feed a pure LP to SCIP, it will FIRST apply presolving and then HAND this presolved problem to the underlying LP solver. If the LP is solved to optimality, you can query the optimal solution values as always. You can also access the values of an optimal dual solution by using display dual solution. However, there are certain limitations to this: Reduced costs are not accessible. If the LP turns out to be infeasible, you cannot currently obtain a Farkas proof. And recall that this approach is only meaningful if the problem is an LP (no INTEGER VARIABLES, only linear constraints). Hence, if you need more, "LP specific", information than the primal solution, you are better off using an LP-Solver directly. If you are using the SCIP Optimization Suite, you could, e.g., use the included LP solver SoPlex. If you want to solve an LP not from the command line, but within your C/C++ program, you could also use SCIP's LP-Interface. Since LPs are only special types of MIPs and CIPs, the principal answer is yes. If you feed a pure LP to SCIP, it will first apply presolving and then hand this presolved problem to the underlying LP solver. If the LP is solved to optimality, you can query the optimal solution values as always. You can also access the values of an optimal dual solution by using display dual solution. However, there are certain limitations to this: Reduced costs are not accessible. If the LP turns out to be infeasible, you cannot currently obtain a Farkas proof. And recall that this approach is only meaningful if the problem is an LP (no integer variables, only linear constraints). Hence, if you need more, "LP specific", information than the primal solution, you are better off using an LP-Solver directly. If you are using the SCIP Optimization Suite, you could, e.g., use the included LP solver SoPlex. If you want to solve an LP not from the command line, but within your C/C++ program, you could also use SCIP's LP-Interface. |
|