Optimality of solver solutions | Are the solutions obtained by cplex, gurobi and COPT solvers necessarily the optimal solution? Is there any theoretical proof?

Optimality of solver solutions | Are the solutions obtained by cplex, gurobi and COPT solvers necessarily the optimal solution? Is there any theoretical proof?

Author: Liu Xinglu, PhD candidate at Tsinghua University, Tsinghua-Berkeley Shenzhen Institute

Welcome to follow our WeChat public account Yun Xiaochi

Insert image description here

Someone asked in [Yun Xiaochou Readers 2 Group] before: Are the solutions obtained by cplex, gurobi and COPT solvers necessarily the optimal solution? Is there any theoretical proof or something?

In addition to the following answer, I think it will be useful to everyone, so I organized it and shared it.

First, for MIP, give enough solution time and set the tolerance of MIPGap to 0. The final solution must be the optimal solution.

Solvers such as cplex, gurobi, and COPT use a general branch and cut algorithm framework, which is an exact algorithm framework.

For a minimization MIP problem, its relaxation problem, that is, linear relaxation, is its lower bound, and any feasible solution is its upper bound. The relative gap between the lower bound and the upper bound is the gap, the optimality gap, or gap for short, which is the last column of the solution log.

The branch-and-cut algorithm for solving MIP integrates the exact algorithm cutting plane algorithm into another exact algorithm: the branch-and-bound framework.

Branch and bound is essentially a divide-and-conquer implicit enumeration. Through implicit enumeration, the global optimal upper bound and global optimal lower bound are updated. The entire process can ensure optimality. Through search, the global optimal is finally reached.

The cutting plane method is used to cut off the decimal optimal solution, tighten the feasible region, speed up the solution, and approximate the convex hull.

Finally, the optimality of the entire framework is proven through gaps. The gap is the maximum possible relative distance between the current solution and the optimal solution. gap is equal to 0, indicating that the current solution must be the global optimal solution.

The specific theoretical proof is divided into several major parts: Take the min problem as an example

  1. For an LP, if it is feasible, we can find the optimal solution through the simplex method or the interior point method. The optimality can be proven through test numbers and other related content. For specific proof, see the relevant content of the simplex method.

  2. The linear relaxation of a MIP is a LP. The optimal solution of this LP is a lower bound of the MIP. The optimal solution of this MIP cannot be smaller than this.

  3. Any integer feasible solution must be an upper bound of MIP. The optimal solution of MIP must be less than or equal to this feasible solution.

  4. The branch-and-bound algorithm updates the global upper and lower bounds through implicit enumeration, which can ensure that the optimal solution is obtained in the end. For detailed proof, see the proof of global upper and lower bounds for branch and bound.

  5. The cutting plane method will not cut off any integer feasible solutions. Therefore, the use of the cutting plane method will not affect the optimality, but only accelerates it.

You can read the proofs of each of the above five parts in detail. I just stated the conclusion. The above five parts are the main contents of branch and cut, the algorithm framework for solving MIP using solvers such as cplex and gurobi. Each of these parts has very complete theoretical proof and optimality guarantee. Taken together, this algorithm framework is an accurate algorithm. frame. If the model has a feasible solution and enough solution time is given, the solver is 100% guaranteed to obtain the final optimal solution.

Guess you like

Origin blog.csdn.net/HsinglukLiu/article/details/124606498