SmartDrill Home

   Search the SmartDrill site


Using Goal Programming to Assist With
Planning a Housing Development

Unlike typical Linear Programming problems involving only hard constraints, Goal Programming involves both hard and soft constraints.  Soft constraints allow us to be a bit more flexible in our decision making.  Typically, we would start out with a statement of our desired goals.  But after some preliminary analysis we might discover that our "ideal" goals cannot be achieved, and that we need to adjust them.  So we can make small, repeated adjustments to our goals until we are satisfied with the outcome.  Thus, goal programming might involve going through several iterations of modeling until we reach an acceptable solution.

Here is a hypothetical example that uses Goal Programming to help plan a housing development.  We have a parcel of land that will allow a given total amount of square footage for housing.  The town wants us to build a residential development that will include a range of home sizes, including a relatively large number of smaller homes, somewhat fewer medium size homes, and even fewer large homes.

We will define "small" as 2,500 square feet, "medium" as 3,600 sq. ft. and "large" as 4,800 sq. ft.  We estimate that a small home will cost about $312,500 to build; a medium home will cost about $442,500; and a large home will cost about $580,800.  We have a total project budget of $32 million and enough land to allow a total of 275,000 square feet for housing.  If possible, we would like to build about 60 smaller homes, about 25 medium homes and about 15 large homes.

The initial setup of the problem is shown in the table below.  Numbers for the goals are shown in red; numbers for the decision variables are shown in green:

Housing Development Planning Problem

There are several things shown in the table above that are different from standard Linear Programming model setups.  Note that we specify some flexibility in our goals, allowing us possibly to build either more ("over goal") or fewer ("under goal") houses of a given type, and to use somewhat more or less total square footage and budget than initially specified.

After the first iteration of modeling, the zero cells will be filled in with nonzero amounts.  The weights near the bottom of the table specify the penalties we assign for going under or over our initially stated goals for each key variable.  This will help us remain flexible while keeping some control over how far the model can deviate from the initial goals.  For example, we assign small penalties for building fewer of each type of house; a small penalty for going over our total budget; and equal penalties for going over or under our square footage goal.

Unlike Linear Programming models that use only hard constraints, we are less concerned with optimizing our objective function (shown at the bottom of the table), and more interested in achieving acceptable multiple goals.  Here are the results of the first iteration of modeling:

Housing Development Planning Initial Solution

This initial solution allows us to build 46 small, 25 medium and 15 large homes.  But we are unfortunately over budget by 6.74% ($2,157,000) and we have used 0.73% more land (2,000 sq. ft.) than originally estimated.  The town is also disappointed that we would be able to build only 46 of the 60 originally planned smaller homes, because it is desirable to have many "starter" homes available for first-time home buyers.

So we go back to the drawing board and run a second model, shown below:

Housing Development Planning Second Solution

First, note that near the bottom of the table we have adjusted our weights so that building too few small homes gives us a larger penalty than before; and to offset this, we have removed the penalty for building too few large homes.  We have also substantially increased the penalty for going over the total project budget so that we don't get "sticker shock."

This second model allows us to build all 60 smaller homes and 27 medium homes, but only 2 large homes.  And now we are 18,200 square feet below our planned total  square footage.  But at least we are now $132,800 under budget instead of a whopping $2,157,000 over budget.

After a bit more trial-and-error adjusting of the weights, we finally come up with a solution that is acceptable to both the town and the builder:

Housing Development Planning Final Solution

After a lot of fine-tuning of the weights (near the bottom of the table), we are able to build all 60 of the small homes, 22 of the planned 25 medium homes, and six of the 15 planned large homes.  This gives us a good mix of different home sizes as well as all the desired "starter homes."  We are also just 0.07% under budget, although we are 6.18% below our initial plan of 275,000 total square feet.  After more discussion between the builder and the town, it is decided to include a large playground on the unused 17,000 sq. ft.  The unused $23,600 budget will be enough to add a variety of attractive playground equipment.  This should please the prospective home buyers, and it will thus probably make home sales go more quickly, which in turn will reduce the builder's carrying costs.

Return to Optimization Programming main page

· Marketing Analytics 
· Market Research
· Operations Research
· Risk/Decision Analysis
· Project Management


SSL certification seal from Comodo