2: Solve the main problem , if the problem has no solution, terminate the algorithm, and the original problem has no solution. Otherwise, and the algorithm lower bound
3: Solve the subproblem , and get ,,, the dual variable and the minimum objective function value
4: Update upper bound
5: if
6: Determine the optimal solution, then terminate the algorithm
7: Otherwise, generate a new Benders optimal cutting plane
8: Run Algorithm 2 to obtain an enhanced upper bound , and a series of Benders optimal cuts generated by different feasible solutions