Modeling Lean and Agile Approaches: A Western Canadian Forest Company Case Study
Read this article. Both lean and agile principles were tested to determine if they improved performance in the coastal forest industry. While both agile and lean methodologies have obvious differences, in your analysis what are some similarities?
Appendix A
The mathematical formulations aim to solve the lumber
planning problem emulating our MEs, keeping in mind that the BC Coastal
forest SC has 3 nodes: forest cut-block, sort-yards, and sawmills.
First, the objective functions were stated: for lean (1L), for agile
(1A), and for BC-SC, the problem was divided in timber procurement (1T),
and lumber production (1W). Second, a set of common constraints for all
problems were stated, with the full formulation as follows:
Table A1. Model's sub-index.
I
Cut-block
J
Growth
K
Species
L
Sort-yard
M
Bucking policy
N
Log grade
O
Sawmill
P
Sawing policy
Q
Sawn-woods products
R
Periods
Table A2. Operational and inventory costs.
C Hi, C Stukj
Harvesting cost ($/m3) at stand i, and stumpage cost ($/m3) for species k, growth j.
C SCBi, CiSYSl
Cost of keeping 1 m3 of stem at cut-block i, and cost of keeping 1 m3 of stem at sort-yard l.
CiSly, CiSALo
Cost of keeping 1 m3 of logs at sort-yard l, and sawmill o.
CiSAPo
Cost of keeping 1 m3 of sawn wood products at sawmill o.
C T1il, C T2lo
Transportation cost ($/m3) from stand i to sort yard l, and from sort yard l to sawmill o.
CT3o oo
Transportation cost in $/m3 of lumber from sawmill o to sawmill oo.
C SYl, C SWo
Sort-yard production cost ($/m3) in sort-yard l, and sawmilling cost ($/m3) in sawmill o.
C Setupkno
Sawmill setup cost in $, charged when a sawmill changes species and log grade.
C SWOUTo
Outsourced sawmilling cost in $/m3, for sawmill o.
L_Pkqor, C_Pkr
Lumber and chips price ($/m3) of species k, product q, sold by sawmill o, in period r.
l_p knlr
Log price ($/m3) of species k, grade n, sort-yard l, in period r.
Table A3. Yields, capacities and productivities.
Y_fIjk
Forest yield (m3/ha) in stand i, of growth jand species k.
Y_syjkmn
Bucking yield (%) of product n by stem growth j, species k, by applying bucking policy m.
Y_swknpq
Sawing yield (%) of product q by log grade n, species k, by applying sawing policy p.
Y_chk
Chipping yield (%) of sawing sub-products species k.
C_fr,C_syr, C_swr
Harvesting, sort-yarding and sawmilling capacity (hours) on period r.
P_fj
Logging productivity (hour/m3) in a stand predominantly of growth j.
P_syjkl
Bucking-sorting productivity (hour/m3) for stems of growth j, species k, at sort-yard l.
P_swjkl
Sawing productivity (in hour/m3) when sawing species k, log grade n, at sawmill o.
io_sysjkl
Zero inventory of stems of growth j, species k at sort-yard l
io_syl knl
Zero inventory of logs of species k, log grade n, at sort-yard l.
io_salkno
Zero inventory of logs of species k, log grade n, at sawmill o.
io_sapkqo
Zero inventory of sawn-wood of species k, product q, at sawmill o.
Dkqor
Lumber demand (m3) of species k, product q, in sawmill o, for period r.
Log_Dknlr
Logs demand (m3) of species k, log grade n, in sort-yard l, for period r.
Table A4. Allowable quantities to penalize lumber production, capacity usage, and economic penalties.
%O_1kqor, %B_1kqor
Max. % for over/below production defined in function of the demand of lumber product species k, product q, produced/sold by sawmill o, period r.
%O_LOr, %B_LOr
Max. over/below hours usage for logging in period r, defined as percentage of the hours available in period r.
%O_SYlr, %B_SYlr
Max. over/below hours usage for sort-yarding in sort-yard l, period r, defined as percentage of the hours available in period r.
%O_SWor, %B_SWor
Max. over/below hours usage for sawmilling in sawmill o, period r, defined as percentage of the hours available in period r.
PO_1kqor, PB_1kqor
Pct. of the lumber price of lumber product species k, product q, produced-sold by sawmill o, period r, to penalize 1 m3 produced over/below the lumber demand.
PB_2knlr
Pct. of the log price species k, log grade n, produced-sold by sort-yard l, period r, to penalize 1 m3 produced below the log demand.
PO_LOr, PB_LOr
Pct. of the logging cost charged for every over/below hour usage in logging in period r.
PO_SYl r, PB_SYlr
Pct. of the sort-yarding cost charged for every over/below hour usage in sort-yard l period r.
PO_SWor, PB_SWor
Pct. of the sawing cost charged for every over/below hour usage in sawing in sawmill o, period r.
Table A5. Decision variables.
Hir
Land harvested (ha.) at stand i, in period r.
Tijk r
Harvested volume (m3) at stand i, growth type j, species k in period r.
ISCBIjkr
Inventory of stems (m3) at cub-block i, of growth j, species k, in period r.
Uijklr
Vol. of stems (m3) of growth j, species k sent from stand i to sort-yard l, in period r.
Vjklmr
Sort-yard l input of stems (m3) of growth j, species k, bucked with policy m, period r.
ISYSjklr
Inventory of stems (m3) of growth j, species k, at sort-yard l, in period r.
Wknlr
Vol. of logs (m3) of species k, grade n, produced in sort-yard l in period r.
Yknopr
Vol. of logs (m3) of species k, grade n, sawn with sawing policy p, at sawmill o, in period r.
YOknopr
Vol. of logs (m3) of species k, grade n, sawn with sawing policy p, at the outsourcing sawmill of sawmill o, in period r.
ISALknor, ISYLknlr
Inventory of logs (m3) of species k, grade n at sawmill o and at the sort yard l, in period r.
Xknlor
Vol. of logs (m3) of species k, grade n, sent from sort-yard l to sawmill o, in period r.
Zkqor
Vol. of lumber (m3) of species k, product q, produced-sold by sawmill o, in period r.
ZOkqor
Vol. of lumber (m3) of species k, product q, produced-sold by outsourced sawmill of sawmill o, in r.
ZI O_OOkqor
Vol. of lumber (m3) of species k, product q, arrived in interchanges to sawmill o, in period r.
ZI OO_Okqor
Vol. of lumber (m3) of species k, product q, sent in interchanges to sawmill o, in period r.
DO_1kqor, DB_1kqor
Vol. (m3) of over, below demand lumber production of species k, product q, produced-sold by sawmill o, in period r.
DB1knlr
Vol. (m3) of below demand log production of species k, log grade n, produced-sold by sort yard l, in period r.
DO_LOr, DB_LOr
Quantity of over/below cap. Usage (hours) in logging operation in period r.
DO_SYlr, DB_SYlr
Quantity of over/below cap. Usage (hours) in sort-yarding operation at sort-yard l in period r.
DO_SWor, DB_SWor
Quantity of over/below cap. Usage (hours) in sawmilling operation at sawmill o in period r.
BAkqor
Lumber balance (m3) for species k, product q, produced-sold by sawmill o, in period r.
Ckr
Produced chips (m3) of species k in period r.
ISAPkqor
Inventory of sawn-wood products (m3) of species k, sawn-wood products q, in period r.
LOTr, SYTlr,SWTor
Logging time, Sort yard l processing time, and Sawmill o processing time in hours for period r.
BYknor
Binary variable, 1 if sawmill o consumes logs species k, grade n, in period r, 0 otherwise.
Lumber and chips incomes: includes lumber incomes, chips incomes, and over demand production incomes
∑knlrDB1knlrPB_2knlrl_pknlr
Cost to penalize below log demand satisfaction
∑kqorDB1kqorPBkqorL_Pkqor
Cost to penalize below lumber demand satisfaction
∑knlrWknlrlpknlr
Costs of buying logs
Table A7. Constraints of the models.
Constraint
1 ensures that all period cut-block harvests do not exceed the
cut-block area. Constraint 2 computes the cut-block volume harvested,
and constraint 3 limits the time expended in logging. As I constrained
the rate of capacity usage between periods, constraint 4 computes the
time used for logging per period and constraint 5 adds slack variables
to track logging time deviations between periods. The same principle was
applied for sort-yards and sawmills (constraints 5–11). Several flow
balance constraints were applied on the: logging side, sort-yard side,
and internal and outsourced sawmills side (12, 13, 18, and 19).
Constraint 14 determined log productions at the sort-yards. Constraint
15 limits the time expended in sort-yarding. Constraint 16 calculated
the time used at sort-yards per period, and constraint 17 works in the
same fashion as constraint 5. Constraints 20-21 determined the lumber
production at internal and outsourced sawmills. A setup cost was applied
when sawmills changed log species and grades; thus, a binary variable,
which is 1 if log species and grades are changed, and zero otherwise
(constraint 22).
The chips produced are determined by constraint 23.
Constraint 24 limits the time expended in sawmilling. Constraint 25
limits the time expended in outsourcing sawmilling to 20% of the
available period's sawmilling capacity, and constraint 27 ensures that
internal sawmill production will not be exceeded by outsourced sawmill
production. As I constrained the deviations of capacity usage between
periods, constraint 26 computes the time used on sawmilling per period.
Constraint 28 limited the sawmilling time deviations between periods by
adding slack variables. A market constraint 29 ensured that lumber
demand would be satisfied with all sources of lumber production. Balance
constraint 30 determined the volume of lumber to be considered for
order fulfillment parameter calculations. Constraints 31–32 determined
the volume of lumber that arrived in interchanges from other sawmills to
sawmill "o" and determined the lumber that is sent to other sawmills
from sawmill "o". Constraint 33 ensured that the amount of lumber
produced over demand will not exceed a given [%] of the lumber demand.
Constraint 34 ensured that the amount of lumber produced below the
demand will not exceed a given [%] of the lumber demand. Constraints
35–38 ensured that the final inventories are positive.
Furthermore,
several parameters calculated were not included in the formulations, but
brief explanations follow. Process flow time is the ratio between the
inventory and the process throughput. Over/under production is the
difference between lumber production and demand. Order fulfillment is
the ratio between lumber production and demand. Procurement cost is the
ratio between the summation of all costs prior to the sawmill log yard
and the logs produced by sort-yards. Manufacturing cost is the ratio
between the summation of all costs after logs are fed to the sawmills
and the lumber produced. The agile objective function (1A) maximizes
profit and the lean objective function (1L) minimizes costs. Both
objective functions operate on the same feasible region (convex hull
defined by Equations (2–35)). Therefore, 1A will always dominate 1L.
However, this dominance is minimized by the use of penalty coefficients
for over/under production and order fulfillment. The penalty values are
important components of the models and strongly influence how they
behave. They were discussed further when the results were presented.