Steps in formulating a Linear Programming Model


[1]Giapetto’s Woodcarving Inc. manufactures two types of wooden toys: soldier and trains. A soldier sells for $27 and uses $10 worth of raw materials. Each solider that is manufactured increases Giapetto’s variable labour and overhead costs by $14. A train sells for $21 and uses $9 worth of raw material. Each train built increases Giapetto’s variable labour and overhead costs by $10. The manufacture of wooden soldiers and trains requires two types of skilled labour: carpentry and finishing. A soldier requires 2 hours of finishing labour and 1 hour of carpentry labour. A train requires 1 hour of finishing and 1 hour of carpentry labour. Each week, Giapetto can obtain all the needed raw material but only 100 finishing hours and 80 carpentry hours. Demand for trains is unlimited but at most 40 soldiers are bought each week. Formulate a mathematical method of Giapetto’s situation that can be used to maximize Giapetteo’s weekly profit.


Step 1. It is always good to place all information in a table format, if it is not given to you, to better understand the problem



Wooden Toy



Sale price



Raw materials cost



Labour and overhead costs



Finishing hours



Carpentry hours




Step 2. List the constraints


  1. Raw material is unlimited
  2. Finishing hours ≤ 100 hrs /wk
  3. Carpentry hours ≤ 80 hrs /wk
  4. Demand for trains is unlimited
  5. Demand for soldiers ≤ 40 /wk


Step 3. Decide what the decision variables are going to be.

Decision variables tell us how much of a quantity we should produce or use. They are usually quantities such as “no. of gallons of milk”. To choose the best decision variable, first ask yourself what the problem requires. If the problem requires you to maximize profit, and then ask yourself, what production quantity influences the profit? This will usually set you on the right path to determining the decision variables but deciding the right decision variables usually comes with lots of practice.


In this case the quantity of trains and soldiers sold influences Giapetto’s profit. Since we are required to know the weekly profit, then we can let:


Q = no. of soldiers sold /wk


R = no. of trains sold /wk


Step 4. Determine the objective function

In this case we are maximizing profits for each wooden toy sold i.e. soldiers and trains.


In this case Profit (P) = (Sale price – overhead and labour costs – raw material costs)


Thus for each soldier sold, the profit is = ($27 - $10 - $14) = $3

For each train, the profit is = ($21 - $9 - $10) = $2


Therefore for each train sold, Giapetto will gain $2, and for each soldier that is sold $3. Thus, our total profit


P = 3Q + 2R        (Objective Function)


Step 5. Develop equations for the numerical valued constraints (i.e. constraints with ≤ or ≥ signs).

Each constraint should have either Q or R.  


The first constraint is the finishing hours (see Step 2). The number of finishing hours used is dependent on the number of soldiers or trains produced. Since we are assuming all trains and soldiers would be sold within the week, the number of finishing hours required is dependent on the number of soldiers or trains sold per week.


Since each soldier requires 2 hrs of finishing labour hours and trains requires 1, we can write the constraint as follows


2Q + R ≤ 100              (Finishing labour hours constraint)        


(note: the full units of measurements is as follows 2 hrs wk-1/ soldier sold wk-1 × no. of soldiers sold wk-1 + 1 hr wk-1/ train sold wk-1 × no. of trains sold wk-1 ≤ 100 hrs wk-1)


Similarly, the carpentry constraint is found to be:

Q + R ≤ 80                  (Carpentry labour hours constraint)


The last constraint requires that soldiers sold be limited to 40/wk. Thus,

Q ≤ 40                         (Soldiers Demand Constraint)


Step 6. Write out the full LP problem and include the subject to (s.t.) statement and the desired sign of the decision variables.


Variables are usually required to be positive especially if they are physical quantities and thus, Q and R ≥ 0


Max P  =

3Q +










2Q +


≤ 100

(Finishing Labour)


 Q +


≤ 80

(Carpentry Labour)




≤ 40

(Soldier Demand)


Q, R ≥ 0



See also here for LP Formulation questions and solutions

Back to ME30B main page

[1] Example taken from Winston, W. (1994) “Operations Research – Application and Algorithms”, 3rd Ed. Duxbury Press, California