Using Excel Solver
Using Excel Solver
Contents:
Installing the Solver add-in ................................................................................................... 2 Example 1: SunOil network optimization ......................................................................... 4 Step 0. Defining the Problem. ........................................................................................... 4 Step 1. Describing the Solution. ....................................................................................... 4 Step 2. Optimization ......................................................................................................... 8 Example 2: Portfolio Optimization ..................................................................................... 12 Problem: .......................................................................................................................... 12 Solution: .......................................................................................................................... 12 Example 3: Calculating the plug in pro forma statements............................................... 14 Computing debt plug: method 1 (using Solver) .............................................................. 15 Computing debt plug: method 2 (circular reference resolution) ..................................... 17
Kellogg School of Management, Northwestern University. If you find any mistakes or have suggestions to improve this document, please email researchcomputing-help@kellogg.northwestern.edu.
If the Analysis toolbar does not appear, or does not have the Solver button, the add-in must first be activated: 1. 2. 3. 4. 5. 6. Click on the Office button in the top left corner: Choose Excel Options (Figure 2) Choose Add-Ins in the vertical menu on the left (Figure 3) Pick Excel Add-Ins from the Manage box and click Go (Figure 3) Check Solver Add-In and press OK (Figure 4) The Solver add-in should now appear in the Analysis toolbar (Figure 1)
Figure2.MSOfficeMenu
Figure3.ExcelOptionsMenu
Figure4.AddInsMenu
Once you have the Solver add-in working, you can proceed with the rest of this tutorial.
The Vice President of Supply Chain for SunOil is considering where to build new production facilities. There are five options: North and South America, Europe, Asia, and Africa. The total costs of production and transportation for each possible pair of Supply and Demand regions are given in the following table:
Figure5.CostandDemandDataforSunOil
For example, it costs $115,000 to produce 1 million units in Asia and transport them to North America. For simplicity, we assume that these costs are constant and each million units cost us the same to produce and transport. In addition, there is a fixed cost to constructing a plant that does not depend on the production volume. There are two possible plant types: low capacity that can produce up to 10 million units a year at a fixed cost that depends on the region and is given in cells G4:G8 of Fig. 1, and high capacity that can produce up to 20 million units a year at a 50% higher fixed cost (thus exhibiting economies of scale). The associated cost and maximum capacity are given in cells I4:J8 of Figure 5. Total demand in each region (in millions of units) is given in cells B9:F9. We need to decide: How many, and what type of plants we should build in each region How to allocate production between them What markets should each plant supply
Before we start the optimization, let us describe an arbitrary solution to the problem, and define the required constraints.
First, what plants to build and where? The highlighted cells (G14:H18) in Figure 6 indicate how many plants of each type we build in each region. In this case, we suggest one small plant in North America and two large plants in South America.
Figure6.NumberandLocationofPlants
Now, how much should we produce and where should we transport the goods? Let us distribute the output from each location:
Figure7.CapacityAllocation
In cells (B14:F18) we specify that we would like to produce 5 units in North America and sell them locally. We would also like the Southern American facilities to supply 20 units locally, 20 more to North America and 5 to Asia. Unfortunately, such an arrangement is impossible as we shall see in a second. Let us compute the excess capacity that we have in each region, in millions of units. It is equal to the amount produced: [Number of Small Plants] x [Low Capacity] + [Number of Large Plants] x [High Capacity] minus the amount transported from the region: e.g. excess capacity for North America (cell B22) is equal to [ G14*H4+H14*J4-SUM(B14:F14) ] (Figure 8).
Figure8.ExcessCapacityConstraint
Here, the excess capacity is equal to 5, meaning that we produce 5 units fewer in North America than our capacity allows. Similarly we can compute the excess capacity for other regions and see that we allocated 45 units to be transported from South America whereas we can produce only 40 there, resulting in negative excess capacity. This discrepancy will be fixed when we have Excel solve the problem for us. We can also compute the unmet demand in each region, equal to the initial demand minus the total amount of units transported there (Figure 9):
Figure9.UnmetDemand
We can see that we have excess supply in some regions and unmet demand in others. The total cost of production is equal to the sum of variable costs (equal to the sum of cell-bycell product of unit costs and amounts produced) and fixed costs. In the screenshot below, note how the SUMPRODUCT function is used to compute the total variable cost: :
Figure10.Objective(Cost)Function
STEP 2. OPTIMIZATION
We will use the solver tool to find the optimal allocation. Our purpose is to find a costminimizing allocation by changing decision variables (B14:H18). Let us bring up the Solver window by clicking the Solver button (Figure 1) and enter the problem (just select cells in the spreadsheet to enter a reference to them): Target Cell: Equal To: By changing cells: B31 (total cost) Min (cost minimization) B14:H18
The allocation should also be feasible, meaning that we also enter some constraints (press Add to add a new constraint):
The number of plants and the amount produced in each region are not negative: B14:H18 >= 0 Excess capacity is not negative: B22:B26 >= 0 All demand is satisfied: B28:F28 = 0 We cannot build fractional plants: G14:H18 = integer
Figure11.SolverWindow
Press Solve to obtain a solution (choose Keep Solver Solution in the pop-up box):
Figure12.OptimalAllocation
The solution calls for two plants in Asia and one in Africa, all of high capacity type. The Asian plant will supply North America, Europe and Asia itself, and the African plant will supply South America, Europe and Africa. Note that there is a small capacity underutilization at the African plant, but all demand is met, at a total cost of $23.2 million. This is due to our inability to build fractional plants, i.e. increase capacity in smaller units. If we were able to do so, we could disregard the integer constraint:
10
Figure13.RemovingtheIntegerConstraint
Figure14.OptimalFractionalSolution
As we see, had we been able to build fractional plants, we could have achieved full capacity utilization and lowered the cost. However when we are not, integer restriction on the number of plants is necessary to produce sensible results.
11
The expected return on Amazon (AMZ) equity is rAMZ = 25 percent, with a standard deviation AMZ = 75 percent; the expected return on McDonalds (MCD) equity is rMCD = 10 percent, with a standard deviation MCD = 25 percent. The correlation coefficient is =.25 and the risk free rate is rf = 3%. Find the mean-variance efficient portfolio.
SOLUTION:
The covariance between the two securities Cov(rAMZ,rMCD) = AMZ MCD 0.0469 (cell G1). If the weight of AMZ in the optimal portfolio is equal to a fraction xAMZ (cell K2), then: The weight of MCD is the remainder of the portfolio, xMCD = 1-xAMZ (cell L2) The portfolio variance P = (AMZ xAMZ + xMCD MCD + 2 xAMZ xMCD Cov(rAMZ,rMCD))1/2 (cell M2) The portfolio expected return: E(rP) = rAMZ xAMZ + rMCD xMCD (cell N2) Sharpe ratio S = (E(rP) rf) / P (cell O2)
For example, an equal-weighted portfolio (i.e. xMCD = xAMZ = .5) has variance of about 42.4% (Figure 15).
Figure15.EqualWeightedPortfolio
The blue line in Figure 16 shows all possible return/standard deviation combinations that one can obtain by combining the two stocks with different weights, and the red line shows the possible combinations of the equal-weighted portfolio with the risk-free asset. Obviously, the equally-weighted portfolio is not mean-variance efficient: part of the blue line lies above the red one and thus some portfolios have a higher Sharpe ratio.
Example derived from Professor Andrew Hertzbergs lecture notes for Finance I.
12
Figure16.SuboptimalityofanEqualWeightedPortfolio.
30% 25% 20% Expected Return 15% 10% 5% 0% 0% -5% -10% Std Dev 20% 40% 60% 80% 100% EqualWeighted Portfolio McDonalds Amazon
Let us solve for the optimal asset allocation. We will again use the Solver tool: Target Cell: O2 (Sharpe ratio) Set it Equal To: Max By Changing Cells: K2 (AMZ weight)
Figure17.SolverParametersforPortfolioOptimization
13
Thus, the mean-variance efficient (MVE) portfolio has about 26.5% of Amazon stock. This portfolio clearly maximizes the Sharpe ratio:
Figure18.MeanVarianceEfficientPortfolio
30% 25% 20% 15% 10% 5% 0% 0% -5% -10% Std Dev 20% 40% 60% 80% 100% MVE Portfolio McDonalds Amazon
14
Expected Return
Figure 19 shows the actual balance sheet of Au Bon Pain (ABP) for 1997, and forecasted values of sales, expenses, total assets, other liabilities, and planned dividends for 1998. The corporate tax rate is 34% and the cost of debt is 10%:
Figure19.AuBonPain:1997Resultsand1998Forecast
Let us suppose that the value of the bank loan by the end of 1998 is zero. We can then fill in the rest of the balance sheet and the income statement (the calculated values are in italic). We compute the interest expense as the average value of the bank loan in 1998, equal to (300+0)/2, multiplied by the cost of debt of 10% (Figure 20):
15
Figure20.ABP:1998ProFormawithzeroPLUG
Note that the books do not add up and there is a discrepancy between assets and liabilities. To close the model, we need to compute the amount of additional financing the company will need in 1998 to support the forecasted growth. In other words, we need to find such a value for the bank loan (B14) that would result in zero discrepancy (C19):
Figure21.SolveroptionstofindthePLUG
16
IncomeStatement Sales COGS+operatingexpense Interestexpense Netincomebeforetax Tax Netincomeaftertax Dividends Retainedearnings BalanceSheets Assets TotalAssets Liabilities Bankloan Otherliabilities Totalliabilities Retainedearnings Totalliabilitiesandequity Discrepancy[A(L+E)]
1997
1998ProForma
10,000.00 8,000.00 15.00 1,985.00 674.90 1,310.10 50.00 1,260.10
1,800.00
3,000.00
(260.10)
So, the forecasted growth will not require any additional bank financing (PLUG = -269).
COMPUTING DEBT PLUG: METHOD 2 (CIRCULAR REFERENCE RESOLUTION)
An alternative way to do the same thing, which does not rely upon using the Solver add-in, is to allow circular references and have Excel iteratively find the solution. That option has to be enabled first: 1. As with Solver, click the Microsoft Office button and chose Excel Options (Figure 2) 2. Check Enable iterative calculations under Formulas tab3 (Figure 23) 3. Set Workbook Calculation to Automatic 4. Press OK
3 The lower is the Min. Change, the more precise is the solution, and the longer it takes to find it. Increasing Max. Iterations allows Excel to take longer to find the solution.
17
Figure23.Enablingiterativecalculations
Once the iterative calculations are enabled, we can enter circular cross-references and Excel will resolve them. In this case, we can compute PLUG knowing Total Assets, Other Liabilities and Retained Earnings for 1998: (PLUG) = (Assets) (Liabilities) (Retained Earnings) which will force the discrepancy to 0 (Figure 24). If we have set the Workbook Calculations option in Excel to Automatic, it will automatically find the solution for PLUG. Otherwise (or if you just opened a new spreadsheet and didnt choose to resolve circular references) you can press F9 to compute the solution4. Generally you might want automatic resolution for simplicity, but if your spreadsheet is overly complicated and takes a lot of time to process, you may want to switch to manual updates, in which case you would have to press F9
4
18
every time you make a circular reference. This may also be necessary if you have just opened an existing spreadsheet.
Figure24.Enteringacircularreference
19