Академический Документы
Профессиональный Документы
Культура Документы
For many LP models, Decision Variables should be restricted to integer values.(for example, number of airplanes to be purchased should be integer) These kinds of models are called Integer Linear Programming Models.
Boxcar burger company plans to expand its locations at suburban areas and at downtown area. The company has 2.7 million dollars available for this expansion. Each suburban location requires a 200,000 dollars investment. And, Each downtown location requires a 600,000 dollars investment. Suburban locations will generate an average 1,200 dollars profit per week. And, downtown locations will generate an average 2,000 dollars profit per week.
The company wishes to open at least two restaurants downtown. Currently there are 19 managers available to run the new restaurants. Each suburban location requires 3 managers to operate, And, Each downtown location requires only 1 manager to operate. Problem: Boxcar burger Company wants to determine how many restaurants it should open in suburban and downtown locations in order to maximize its weekly profit.
This is an example All-integer LP model because all variables in the model are integer. How do we solve these type of problems? Can we apply regular solution methods when we face Integer constraints? We may solve this problem first by ignoring integer constraints.
Why not simply round the values? If the values are Rounded UP, the solution becomes x1=6 and x2=3.
If we Round DOWN the values, we get x1=5 and x2=2. This point is in the feasible region, But Is it Optimum?
According to this table optimum point is x1=4, and x2=3, and z=10,800 dollars. Therefore, the Rounded OFF solution is feasible but it is not optimum.
Shelley Mednick decided to give the Stock Market a try. She heard that the stock of TCS telecommunication Company is being sold at 55 dollars per share, AND it is projected to sell at 68 dollars per share in a year. She is also considering a Mutual fund, MFI, which is predicted to yield a 9% return over the next year.
Shelley wants to invest just to have a return of 250 dollars for one year. She also set the following restriction for her investment: - Since Stock Market is a little more risky than the Mutual Fund, The maximum amount invested in TCS stocks should not exceed 40% of her total investment. Or, the maximum amount invested in TCS stocks should not exceed 750 dollars. (Whichever is smaller)
We are interested in minimizing the total amount of money that should be invested by Shelly in order to achieve 250 dollars. Therefore, Minimize 55x1 + x2 (Selling price of one stock of TCS is 55 dollars) Yearly return must be at least 250 dollars: 13x1 + .09x2 250 (In one year, 13 dollars is gained from each TCS, and .09 dollars return for each MFI)
To solve the problem, again first we ignore the integer restriction for x1. Optimum solution is x1=12.24, and x2=1009.79, Total investment = 1683 dollars: Since x1 should be integer, this optimum point is not acceptable.
After some trials, We will see that the real optimum point is x1=12, and x2=1044.44. In this case, Rounding DOWN would help. Shelly should purchase 12 shares of TCS and invest 1044.44 dollars in MFI. This investment results in a total investment of 1704.44 dollars.
- Integer constraints are initially ignored, And the problem is solved using normal LP. - If the solution fails to provide Integer values Then - A new constraint is added that will make the current solution infeasible But will not Eliminate any feasible point that provides Integer values. - The problem is then re-solved again by using normal LP method (simplex). - This process (adding new constraints) is repeated until the Optimum is reached.
We will illustrate The concept of the cutting plane by a simple example. Consider the following integer linear programming problem:
The idea of Cutting plane algorithm is to make changes to the current feasible solution without slicing off any of the feasible integer solutions. We will make these changes by adding new (secondary) constraints to the original model.
Now we can start to explain the details of the algorithm. First, disregarding the integer constraints, the problem is solved as a regular linear programming problem. In our example, we see that the optimal solution does not satisfy any of the integer constraints. Therefore, the new constraints will be added in the following manner:
Since the solution is non-integer, we will add a Fractional Cut to the Table. As its name indicates, this method takes the fractional part of any value. For example the value of 9/2 in the table can be represented as 4 and . Therefore, 9/2 is equal to 4 + . Here, 4 is the integer part, and is the fractional part.
Now, In order to generate the cut, we will select one of the variables that should be integer But not found to be integer in the current solution. In this case, both x1 and x2 are found to be noninteger. But they should be integer. Generally, any of the constraint equations corresponding to a non-integer solution can be selected to generate the cut. However, as a rule of thumb, we usually choose the equation corresponding to the maximum fractional part.
In this case, fractional parts of x1 and x2 are the same (1/2). Therefore we select x2 arbitrarily. X2-equation can be read from the above table as follows: x2 + 7/22 x3 + 1/22 x4 = 7/2 = 3 and
Now, for the sake of fractional cutting method, we will apart the fractional part of each noninteger value from its integer part: x2 + (0 + 7/22)x3 + (0 + 1/22)x4 = (3 + ) The corresponding fractional cut is formed by taking the fractional parts as follows: S1 7/22 x3 1/22 x4 = - Here S1 is non-negative integer slack variable.
Since there is a negative right hand side value in the table, We employ the Dual Simplex Method to solve this problem. Dual simplex method yields the following solution:(x3 enters the solution)
At this stage, x2 becomes integer, but x1 is still non-integer. Therefore, we should continue the cutting process. In the current table, x1-equation is written as follows: x1 + 1/7 x4 - 1/7 S1 = 4 and 4/7
Now, for the sake of fractional cutting method, we will apart the fractional part of each noninteger value from its integer part: x1 + (0 + 1/7)x4 + (-1 + 6/7)S1 = (4 + 4/7) The corresponding fractional cut is formed by taking the fractional parts as follows: S2 1/7 x4 6/7 S1 = - 4/7 Here S2 is non-negative integer slack variable.
The dual simplex method yields the following solution, which is Optimum:
The optimal solution is x1 = 4, x2 = 3, and z = 55. By using the graphic representation, We can verify that the addition of the developed cuts will result in the same integer solution, as well.
Since the original constraint is a type constraint, the above equality is actually set as x2 3. Similarly, the second cut S2 1/7 x4 6/7 S1 = - 4/7
can be represented as x1 + x2 7.
In this approach, first again the problem is solved ignoring the integer constraint. If integer values are not integer in the solution, Then - One of the variables not having an integer value is selected and two new constraints are formed:
1) Selected Variable integer part of its value, and 2) Selected Variable integer part of its value + 1
If x1 = 5.2, the first constraint is x1 5, and the second constraint is x1 6. Then, two new linear programs are created: One with the upper bound (e.g., x1 5) added and one with the lower bound (e.g., x1 6) added. As an example, consider the Boxcar burger problem: x1 = 5 7/16, x2 = 2 11/16. We first select x1 for adding a new constraint. The two new constraints are: x1 5 and x1 6.
For the model that we add x1 5 as a new constraint we get the following result:
However, For the model that we add (x1 6) as a new constraint we get no feasible solution:
Therefore, we exclude the option of (x1 6) from further considerations. We continue with the new LP optimum x1=5, and X2=2 5/6. Since x2 is not integer, the process is repeated for x2: That is we add (x2 2) and (x2 3) as the two new constraints. And next, we create two new models and solve them for these two modifications. This process continues until an optimal integer solution that satisfies all integer constraints is attained.