170 likes | 357 Views
Topic 7A Integer Programming (IP). Graphical Solution to PROTRAC ILP. All Rounded Solutions Are Infeasible. IP: Integer Linear Programming.
E N D
IP: Integer Linear Programming In LP, Divisibility Assumption implies that decision variables can be either Integer or Fraction. Many variables in reality (e.g. operators/machines/projects…), however, must be integers. "Rounding off"? Rounding-off non-integers to the nearest integers is often suggested as a simple way to handle integer requirement in LP. However, in many cases, rounding-off approach may result in: • An infeasible solution, or • A poor sub-optimal solution value. Under Integer Requirement on decision variable values: • Integer feasible solution set is a very small subset of the original solution set. • An integer optimal solution is not necessarily on a corner point. • An efficient solution method for IP is desirable.
Classification of ILP Problems • Pure ILP problem: All decision variables must be integers. • Mixed ILP problem: Part of decision variables must be integers. • Zero-One ILP problem: A special case of ILP where all decision variables are either One or Zero (binary variables). Solution Methods for ILP Problems: • For small size problems, Complete Enumeration for all feasible integer solutions. • For general Pure IP and Mixed IP Problems, Branch & Bound method is normally used with standards LP Simplex procedure (in all common software programs. • Special Algorithms for "Zero-One" IP problems. (e.g., Marginal Contribution Approach to “0-1” IP Problem)
Marginal Contribution Approach to "0-1" ILP Problem: For Max problem: • Arrange variables so that C1 > C2 > C3 >.....> Cn • Set initial solution as {Xi = 1, i=1,..n}. • Check constraints with given solution values, if "ok", stop. • Otherwise, set {Xi = 1, i=1,..n-1, and Xn = 0}. • Repeat step 3 - 4 until a feasible solution is reached. • Check optimality with some special measures. For Min problem: (very similar to the above).
Branch and Bound Method (BBM) BBM: is a general problem solving approach in which, • Branching: The problem is first divided into several sub-problems by branching the whole set of solutions into several subsets. • Bounding: After the initial solution is identified and set as "current" solution, the Upper and Lower Bound on the solution value for each sub problem are identified, and used to update "current" solution. • Branching and bounding continue until the optimal solution is reached, or no more branches can be made. BBM can be used in many decision-making problems, however, branching may be very difficult and the bounds may be unattainable in many cases. With Simplex, BBM is used in solving ILP problems. Basic Steps of BBM: • Identify initial solution & branching problem into sub problems. • Search UB (for Max problem) or LB (for Min problem) for each sub problem. • Update "current" solution and drop the branches that either “infeasible" or "worse" than "current" solution. • Repeat until: no more branching or UB=LB (optimal solution).
Six Steps in Solving Integer Programming Maximization Problems by Branch and Bound • Solve the original problem using LP. If the answer satisfies the integer constraints, we are done. If not, this value provided an initial upper bound. • Find any feasible solution that meets the integer constraint for use as a lower bound. Usually, rounding down each variable will accomplish this. • Branch on one variable from step 1 that does not have an integer value. Split the problem into two sub problems based on integer values that are immediately above and below the no integer value. For example: if X2=3.75 was in the final LP solution, introduce the constrain X2≥4 in the first sub problem and X2 ≤3 in the second sub problem. • Create nodes at the top of these new branches by solving the new problems. • : • If a branch yields a solution to the LP problem that is not feasible, terminate the branch • If a branch yields a solution to the LP that is feasible, but not an integer solution, go to step 6. • If the branch yields a feasible integer solution, examine the value of the objective function. If this value equals the upper bound, an optimal solution has been reached. If it is not equal to the upper bound, but exceeds the lower bound, set it as the new lower bound and go to step 6. Finally, if it is less than then lower bounds, terminate this branch. • Examine both branches again and set the upper equal to the maximum value of the objective function at all final nodes. If the upper bound equals the lower bound, stop. If not, go back to step 3.
Cost Table for Assignment Problem Illustrating Branch-and-bound techniques
Summary and Results For the Branch-and-bound Technique Applied to The Assignment Problem Example
Managerial Applications of Binary Variables Binary variables are important to the formulation of many managerial requirement constraints in real-world LP applications. • No More Than K out of N Alternatives: Only K projects can be selected out of N available under given budget limit. X1 + X2 + ...... + Xn ó K (Xi = 0 or 1, i=1,....n) • Dependent Decisions: A variable (e.g., a project) can only be selected (has a positive value) upon another variable (e.g., a preceding project) being selected. Xj - Xi ó 0 (or in general) (Xi+..+Xn) - (Xj+..+Xm) ó K (K ò 0) • Lotsize Constraints (either/or conditions): A variable (e.g., the number of a part/product) either has a positive value larger (or smaller) than K if selected or not selected (has a value of zero). • Xi ó kPYi (or) Xi ò KPYi (Xi ò 0, Yi = 0 or 1) K out of M Constraints Must Be Satisfied: • Given original M constraints: Gj(Xi, X2, ...Xn) ó bj (j=1,....M) • Let Yj = 0 or 1, (j=1,...M), then • For M constraints: • Gj(Xi, X2, ...Xn) ó bjPYj + (1-Yj)PU (j=1,......M) • Y1 + Y2 + ..... + Ym = K • Where U is a larger number selected so that to guarantee • Gj(Xi, X2, ...Xn) ó U (for all Yj = 0, j=1,......M)
Special Considerations for ILP Problems • In BBM, there are different searching strategies - horizontal vs. vertical search. Computer solution software usually handle these issues automatically. • In general, ILP problems are more sensitive to the parameter changes than LP problems. Due to the computational complexity, however, there is no Sensitivity Analysis information available from ILP solution printouts. You need to run repeatedly with different parameters to obtain sensitivity information. • Solution Methods to General ILP Problems: In addition to BBM, Cutting Plane and Lagragian Relaxation methods are developed as "exact" solution techniques for general ILP problems. However, research results indicated that in practice, some specific "non-exact" solution heuristics may be more valuable in terms of: Efficiency/Cost of Solution/Useful Information Provided. • Major Issues in Real-World ILP Applications: • A large-scaled MILP problem is usually involved. • Specific formulation and modeling are needed. • Special solution algorithm must be developed for specific problem.