








Example:





Input: Integer Program IP; SetOfLP = Linear Relaxation of IP; Z^{*} = NULL; while ( SetOfLP ≠ empty ) { LP1 = pick an arbitrary LP from SetOfLP; Solve LP1 with Simplex Method: Max1 = optimum value of LP1 Sol1 = solution values of the variables if ( LP1 is infeasible ) { delete LP1 from SetOfLP; // Bound heuristic 1 } else if ( Z^{*} ≠ NULL && Max1 ≤ Z^{*} ) { delete LP1 from SetOfLP; // Bound heuristic 2 } else if ( Sol1 has only integer values ) { if ( Max1 > Z^{*} ) Z^{*} = Max1; // Better incumbent solution found ! delete LP1 from SetOfLP; // Bound heuristic 3 } else { /* =============================== Apply "branch" heuristic =============================== */ Select a variable x_{k} that has a noninteger solution value; Replace LP1 in SetOfLP with 2 derived LP programs: LP1A: add a constraint "x_{k} ≤ roundDownValue" LP1A: add a constraint "x_{k} ≥ roundUpValue" } } 
