next up previous contents
Next: Solving the Model Up: Introductory Example Previous: Introductory Example

Modeling

We begin by modeling this problem. Modeling a problem using linear programming involves writing it in the language of linear programming. There are rules about what you can and cannot do within linear programming. These rules are in place to make certain that the remaining steps of the process (solving and interpreting) can be successful.

Key to a linear program are the decision variables, objective, and constraints.

Decision Variables. The decision variables represent (unknown) decisions to be made. This is in contrast to problem data, which are values that are either given or can be simply calculated from what is given. For this problem, the decision variables are the number of notebooks to produce and the number of desktops to produce. We will represent these unknown values by tex2html_wrap_inline5252 and tex2html_wrap_inline5256 respectively. To make the numbers more manageable, we will let tex2html_wrap_inline5252 be the number of 1000 notebooks produced (so tex2html_wrap_inline7690 means a decision to produce 5000 notebooks) and tex2html_wrap_inline5256 be the number of 1000 desktops. Note that a value like the quarterly profit is not (in this model) a decision variable: it is an outcome of decisions tex2html_wrap_inline5252 and tex2html_wrap_inline5256 .

Objective. Every linear program has an objective. This objective is to be either minimized or maximized. This objective has to be linear in the decision variables, which means it must be the sum of constants times decision variables. tex2html_wrap_inline7698 is a linear function. tex2html_wrap_inline7700 is not a linear function. In this case, our objective is to maximize the function tex2html_wrap_inline7702 (what units is this in?).

Constraints. Every linear program also has constraints limiting feasible decisions. Here we have four types of constraints: Processing Chips, Memory Sets, Assembly, and Nonnegativity.

In order to satisfy the limit on the number of chips available, it is necessary that tex2html_wrap_inline7704 . If this were not the case (say tex2html_wrap_inline7706 ), the decisions would not be implementable (12,000 chips would be required, though we only have 10,000). Linear programming cannot handle arbitrary restrictions: once again, the restrictions have to be linear. This means that a linear function of the decision variables must be related to a constant, where related can mean less than or equal to, greater than or equal to, or equal to. So tex2html_wrap_inline7708 is a linear constraint, as is tex2html_wrap_inline7710 . tex2html_wrap_inline7712 is not a linear constraint, nor is tex2html_wrap_inline7714 . Our constraint for Processing Chips tex2html_wrap_inline7704 is a linear constraint.

The constraint for memory chip sets is tex2html_wrap_inline7718 , a linear constraint.

Our constraint on assembly can be written tex2html_wrap_inline7720 , again a linear constraint.

Finally, we do not want to consider decisions like tex2html_wrap_inline7722 , where production is negative. We add the linear constraints tex2html_wrap_inline7724 , tex2html_wrap_inline7726 to enforce nonnegativity of production.

Final Model. This gives us the complete model of this problem:

displaymath7682

Formulating a problem as a linear program means going through the above process to clearly define the decision variables, objective, and constraints.


next up previous contents
Next: Solving the Model Up: Introductory Example Previous: Introductory Example

Michael A. Trick
Mon Aug 24 16:30:59 EDT 1998