1 optimal activities over time in a typical forest industry company in the presence of stochastic...
TRANSCRIPT
1
Optimal activities over time in a typical forest industry
company in the presence of stochastic markets
- A flexible approach and possible extensions!
Peter Lohmander
2
Question
How should these activities in a typical forest industry company be optimized and coordinated in the presence of stochastic markets?
*Pulp, paper and liner production and sales,
*Sawn wood production and sales,
*Raw material procurement and sales,
*Harvest operations
*Transport
3
Approach in three stages
• A typical forest industry company is defined using real mills and forest conditions in the North of Sweden.
• For each year (or other period) and possible price and stock state, the variable company profit is maximized using linear programming. (Quadratic programming etc. are other options.)
• The expected present value of the company over an infinite horizon is maximized via stochastic dynamic programming in Markov chains. In this stage, a standard LP solver is used.
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
Optimization of the variable profit during a year:
Linear programming code
Background:
http://www.lohmander.com/SkogIndEk1/SI1.html
42
! SMB2;! Peter Lohmander 2003-10-15;
Max = TProf;TProf = - InkK - IntKostn + ForsI;InkK = PKTi*KTimmer + PKMav*KMav + PKFlis*KFlis + PReturpL*KReturpl + PReturpI*KReturpI; IntKostn = AvvK*Avv + TPKostTI*ETimmer + TPKostMA*EMav + CSV*ProdSV + CLiner*ProdLin;ForsI = PSV*ProdSV + PLiner*ProdLin + PSTi*STimmer + PSMav*SMav + PSFlis*SFlis;
!Market prices of raw material and raw material constraints;PKTi = 380;PSTi = 330;PKMav = 200;PSMav = 120;PKFlis = 250;PSFlis = 150;PReturpL = 50;PReturpI = 730;[LRetP] KReturpL <= 100;
43
!SMBs forest and harvesting;AvvK = 70;AvvKap = 570;TimAndel = .5;[KapAvv] Avv <= AvvKap;
!Roundwood transport costs;TPKostTI = 60;TPKostMa = 70; !SMBs saw mill;PSV = 1500;CSV = 300;SVKap = 80;TTimmer = ETimmer + KTimmer;ProdSV = .5*TTimmer;ProdFl = .8*ProdSV;ProdSp = .2*ProdSV;[KapSV] ProdSV <= SVKap;
44
!SMBs raw material balance;EMav = (1-TimAndel)* Avv - SMav;ETimmer = Timandel*Avv - STimmer;EFlis = ProdFl - SFlis;
!SMBs liner mill;PLiner = 4900;CLiner = 1200;LinerKap = 400;TRetP = KReturpL + KReturpI;TFiber = EMav + EFlis + KMav + KFlis; ProdLin = .25*TFiber + .95*TRetP;[FFiberK] TFiber/TRetP >= 4;[KapLiner] ProdLin <= LinerKap;end
45
Optimization of the variable profit during a year:
Optimal results
46
Local optimal solution found at step: 10 Objective value: 1373354.
Variable Value Reduced Cost TPROF 1373354. 0.0000000 INKK 236846.2 0.0000000 INTKOSTN 563850.0 0.0000000 FORSI 2174050. 0.0000000 PKTI 380.0000 0.0000000 KTIMMER 160.0000 0.0000000 PKMAV 200.0000 0.0000000 KMAV 471.5128 0.0000000 PKFLIS 250.0000 0.0000000 KFLIS 0.0000000 50.00000
PRETURPL 50.00000 0.0000000 KRETURPL 100.0000 0.0000000 PRETURPI 730.0000 0.0000000 KRETURPI 105.1282 0.0000000 AVVK 70.00000 0.0000000 AVV 570.0000 0.0000000
47
TPKOSTTI 60.00000 0.0000000 ETIMMER 0.0000000 10.00000
TPKOSTMA 70.00000 0.0000000 EMAV 285.0000 0.0000000 CSV 300.0000 0.0000000
PRODSV 80.00000 0.0000000 CLINER 1200.000 0.0000000 PRODLIN 400.0000 0.0000000
PSV 1500.000 0.0000000 PLINER 4900.000 0.0000000 PSTI 330.0000 0.0000000
STIMMER 285.0000 0.0000000 PSMAV 120.0000 0.0000000 SMAV 0.0000000 10.00000 PSFLIS 150.0000 0.0000000 SFLIS 0.0000000 50.00000
AVVKAP 570.0000 0.0000000 TIMANDEL 0.5000000 0.0000000
SVKAP 80.00000 0.0000000
48
TTIMMER 160.0000 0.0000000 PRODFL 64.00000 0.0000000 PRODSP 16.00000 0.0000000 EFLIS 64.00000 0.0000000
LINERKAP 400.0000 0.0000000 TRETP 205.1282 0.0000000 TFIBER 820.5128 0.0000000
49
Row Slack or Surplus Dual PriceLRETP 0.0000000 680.0000KAPAVV 0.0000000 160.0000KAPSV 0.0000000 600.0000FFIBERK 0.6043397E-09 -788.9547KAPLINER 0.0000000 2915.385
50
”Single period results”
In the ”single period optimization model”, you should always harvest all
available stands and produce at full capacity utilization in the saw mill and the liner mill.
51
”Stochastic multi period questions”:
Maybe you should, under some market conditions, save some harvest areas for
future periods?
Maybe also the other decisions in the company are different when we consider many periods and stochastic markets?
52
Optimal variable profit (KSEK/Year) as a function of * stock level * harvest level * price of external pulpwood (PWP)* price of imported waste paper (IWPP):
53
s = 1
1 2 3 4 5 6 7 8 9 m
160 200 240 160 200 240 160 200 240PWP (SEK/ton)
h m3 630 630 630 730 730 730 830 830 830IWPP (SEK/ton)
1 470 1398090 1367867 1347006 1398090 1357354 1336493 1398090 1354200 1325981
2 520 1405840 1375867 1356006 1405840 1365354 1345493 1405840 1362200 1334981
3 570 1413590 1383867 1365006 1413590 1373354 1354493 1413590 1370200 1343981
4 620
5 670
54
s=2
1 2 3 4 5 6 7 8 9 m
160 200 240 160 200 240 160 200 240
PWP (SEK/ton)
h m3 630 630 630 730 730 730 830 830 830
IWPP (SEK/ton)
1 471
2 521 1405995 1376027 1356186 1405995 1365514 1345673 1405995 1362360 1335161
3 571 1413745 1384027 1365186 1413745 1373514 1354673 1413745 1370360 1344161
4 621 1421495 1392027 1374186 1421495 1381514 1363673 1421495 1378360 1363673
5 671
55
s=3
1 2 3 4 5 6 7 8 9 m
160 200 240 160 200 240 160 200 240
PWP (SEK/ton)
h m3 630 630 630 730 730 730 830 830 830
IWPP (SEK/ton)
1 472
2 522
3 572 1413900 1384187 1365366 1413900 1373674 1354853 1413900 1370520 1344341
4 622 1421650 1392187 1374366 1421650 1381674 1363853 1421650 1378520 1353341
5 672 1429400 1400187 1383366 1429400 1389674 1372853 1429400 1386520 1362341
56
Optimization of the expected present value of the company
during over an infinite horizon:
Linear programming in a Markov chain
57
The optimization problem at a general level
We want to maximize the expected present value of the profit, all revenues minus costs, over an infinite horizon.
This is solved via stochastic dynamic programming. Compare Howard (1960),
Wagner (1975), Ross (1983) and Winston (2004).
58
Min Z =
ii
w s.t.
, ( )( , ) ,i j i u u U i
j
w j i u w R i u
59
1
( )i
Z w i
60
min ( , )s m
Z f s m
61
Min Z =
s.t.
2 2
1
1 1 2 2 1 1 2 2 1 1
1 1 1 ( )
( , ) ( , , , ) ( , ) ( , , )
; ; ( , )
s m
h U s
f s m s m s m h f s m g s m h
s S m M s h
( , )s m
f s m
62
Optimal dynamic analysis r = 5%
! Puerto_20070516_2010 HRS;! Peter Lohmander;Model:
sets:stock/1..3/:;market/1..9/:p1,p2;sm(stock,market):f;mark2(market,market):TR;harv/1..5/:;shm(stock,harv,market):g;endsets
63
b = 1/1.05; Z = @sum( sm(i,j):f(i,j));min = Z;@for(stock(s): @for(market(m): @for(harv(h)| (s+3-h) #GE#1 #AND# (s+3-h) #LE# 3 :[Dec] f(s,m) >= g(s,h,m) + b*@sum(market(n):TR(m,n)*f(s+3-h,n)) )));
64
@for(mark2(m,n)| n #NE# 5 :
TR(m,n) = .05);
@for(mark2(m,n)| n #EQ# 5 :
TR(m,n) = .6);
65
data:
g =
1398090 1367867 1347006 1398090 1357354 1336493 1398090 1354200 1325981
1405840 1375867 1356006 1405840 1365354 1345493 1405840 1362200 1334981
1413590 1383867 1365006 1413590 1373354 1354493 1413590 1370200 1343981
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
66
0 0 0 0 0 0 0 0 01405995 1376027 1356186 1405995 1365514 1345673 1405995 1362360 13351611413745 1384027 1365186 1413745 1373514 1354673 1413745 1370360 13441611421495 1392027 1374186 1421495 1381514 1363673 1421495 1378360 13636730 0 0 0 0 0 0 0 0
67
0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 01413900 1384187 1365366 1413900 1373674 1354853 1413900 1370520 13443411421650 1392187 1374366 1421650 1381674 1363853 1421650 1378520 13533411429400 1400187 1383366 1429400 1389674 1372853 1429400 1386520 1362341 ;
p1 = 1 2 3 1 2 3 1 2 3;p2 = 1 1 1 2 2 2 3 3 3;
enddataend
68
Global optimal solution found at step: 94
Objective value: 0.7812784E+09
69
Variable Value Reduced Cost B 0.9523810 0.0000000 Z 0.7812784E+09 0.0000000
70
F( 1, 1) 0.2896002E+08 0.0000000 F( 1, 2) 0.2893005E+08 0.0000000 F( 1, 3) 0.2891080E+08 0.0000000 F( 1, 4) 0.2896002E+08 0.0000000 F( 1, 5) 0.2891953E+08 0.0000000 F( 1, 6) 0.2890029E+08 0.0000000 F( 1, 7) 0.2896002E+08 0.0000000 F( 1, 8) 0.2891638E+08 0.0000000 F( 1, 9) 0.2888978E+08 0.0000000 F( 2, 1) 0.2896792E+08 0.0000000 F( 2, 2) 0.2893821E+08 0.0000000 F( 2, 3) 0.2891998E+08 0.0000000 F( 2, 4) 0.2896792E+08 0.0000000 F( 2, 5) 0.2892769E+08 0.0000000 F( 2, 6) 0.2890947E+08 0.0000000 F( 2, 7) 0.2896792E+08 0.0000000 F( 2, 8) 0.2892454E+08 0.0000000 F( 2, 9) 0.2890947E+08 0.0000000 F( 3, 1) 0.2897583E+08 0.0000000 F( 3, 2) 0.2894637E+08 0.0000000 F( 3, 3) 0.2892916E+08 0.0000000 F( 3, 4) 0.2897583E+08 0.0000000 F( 3, 5) 0.2893585E+08 0.0000000 F( 3, 6) 0.2891865E+08 0.0000000 F( 3, 7) 0.2897583E+08 0.0000000 F( 3, 8) 0.2893270E+08 0.0000000 F( 3, 9) 0.2890814E+08 0.0000000
71
F( 1, 5) 0.2891953E+08 0.0000000
72
F( 1, 5) 0.2891953E+08 0.0000000F( 2, 5) 0.2892769E+08 0.0000000F( 3, 5) 0.2893585E+08 0.0000000
73
DEC( 1, 1, 1) 369.8571 0.0000000 DEC( 1, 1, 2) 0.0000000 -5.285714 DEC( 1, 1, 3) 631.2857 0.0000000 DEC( 1, 2, 1) 619.8571 0.0000000 DEC( 1, 2, 2) 0.0000000 -5.285714 DEC( 1, 2, 3) 381.2857 0.0000000 DEC( 1, 3, 1) 2238.571 0.0000000 DEC( 1, 3, 2) 618.7143 0.0000000 DEC( 1, 3, 3) 0.0000000 -5.285714 DEC( 1, 4, 1) 369.8571 0.0000000 DEC( 1, 4, 2) 0.0000000 -5.285714 DEC( 1, 4, 3) 631.2857 0.0000000 DEC( 1, 5, 1) 619.8571 0.0000000 DEC( 1, 5, 2) 0.0000000 -52.42857 DEC( 1, 5, 3) 381.2857 0.0000000 DEC( 1, 6, 1) 2238.571 0.0000000 DEC( 1, 6, 2) 618.7143 0.0000000 DEC( 1, 6, 3) 0.0000000 -5.285714 DEC( 1, 7, 1) 369.8571 0.0000000 DEC( 1, 7, 2) 0.0000000 -5.285714 DEC( 1, 7, 3) 631.2857 0.0000000 DEC( 1, 8, 1) 619.8571 0.0000000 DEC( 1, 8, 2) 0.0000000 -5.285714 DEC( 1, 8, 3) 381.2857 0.0000000 DEC( 1, 9, 1) 2238.571 0.0000000 DEC( 1, 9, 2) 618.7143 0.0000000 DEC( 1, 9, 3) 0.0000000 -5.285714
74
DEC( 1, 5, 1) 619.8571 0.0000000 DEC( 1, 5, 2) 0.0000000 -52.42857 DEC( 1, 5, 3) 381.2857 0.0000000
75
DEC( 2, 1, 2) 369.8571 0.0000000 DEC( 2, 1, 3) 0.0000000 -23.71428 DEC( 2, 1, 4) 631.2857 0.0000000 DEC( 2, 2, 2) 619.8571 0.0000000 DEC( 2, 2, 3) 0.0000000 -23.71428 DEC( 2, 2, 4) 381.2857 0.0000000 DEC( 2, 3, 2) 2238.571 0.0000000 DEC( 2, 3, 3) 618.7143 0.0000000 DEC( 2, 3, 4) 0.0000000 -23.71428 DEC( 2, 4, 2) 369.8571 0.0000000 DEC( 2, 4, 3) 0.0000000 -23.71428 DEC( 2, 4, 4) 631.2857 0.0000000 DEC( 2, 5, 2) 619.8571 0.0000000 DEC( 2, 5, 3) 0.0000000 -273.5714 DEC( 2, 5, 4) 381.2857 0.0000000 DEC( 2, 6, 2) 2238.571 0.0000000 DEC( 2, 6, 3) 618.7143 0.0000000 DEC( 2, 6, 4) 0.0000000 -23.71428 DEC( 2, 7, 2) 369.8571 0.0000000 DEC( 2, 7, 3) 0.0000000 -23.71428 DEC( 2, 7, 4) 631.2857 0.0000000 DEC( 2, 8, 2) 619.8571 0.0000000 DEC( 2, 8, 3) 0.0000000 -23.71428 DEC( 2, 8, 4) 381.2857 0.0000000 DEC( 2, 9, 2) 12750.57 0.0000000 DEC( 2, 9, 3) 11130.71 0.0000000 DEC( 2, 9, 4) 0.0000000 -23.71428
76
DEC( 3, 1, 3) 369.8571 0.0000000 DEC( 3, 1, 4) 0.0000000 -1.000000 DEC( 3, 1, 5) 631.2857 0.0000000 DEC( 3, 2, 3) 619.8571 0.0000000 DEC( 3, 2, 4) 0.0000000 -1.000000 DEC( 3, 2, 5) 381.2857 0.0000000 DEC( 3, 3, 3) 2238.571 0.0000000 DEC( 3, 3, 4) 618.7143 0.0000000 DEC( 3, 3, 5) 0.0000000 -1.000000 DEC( 3, 4, 3) 369.8571 0.0000000 DEC( 3, 4, 4) 0.0000000 -1.000000 DEC( 3, 4, 5) 631.2857 0.0000000 DEC( 3, 5, 3) 619.8571 0.0000000 DEC( 3, 5, 4) 0.0000000 -1.000000 DEC( 3, 5, 5) 381.2857 0.0000000 DEC( 3, 6, 3) 2238.571 0.0000000 DEC( 3, 6, 4) 618.7143 0.0000000 DEC( 3, 6, 5) 0.0000000 -1.000000 DEC( 3, 7, 3) 369.8571 0.0000000 DEC( 3, 7, 4) 0.0000000 -1.000000 DEC( 3, 7, 5) 631.2857 0.0000000 DEC( 3, 8, 3) 619.8571 0.0000000 DEC( 3, 8, 4) 0.0000000 -1.000000 DEC( 3, 8, 5) 381.2857 0.0000000 DEC( 3, 9, 3) 2238.571 0.0000000 DEC( 3, 9, 4) 618.7143 0.0000000 DEC( 3, 9, 5) 0.0000000 -1.000000
77
Optimal harvest levels in the forest district when r = 2%, 5% or
10%
78
S = Entering stock level S=1 (570 000 m3 or less may be harvested this year)
PWP = 160 PWP = 200 PWP = 240
IWPP = 830 520 000 m3 520 000 m3 570 000 m3
IWPP = 730 520 000 m3 520 000 m3 570 000 m3
IWPP = 630 520 000 m3 520 000 m3 570 000 m3
Optimal harvest levels in the forest district when r = 2%, 5% or 10%
79
Optimal harvest levels in the forest district when r = 2%, 5% or 10%
S=2 (621 000 m3 or less may be harvested this year)
PWP = 160 PWP = 200 PWP = 240
IWPP = 830 571 000 m3 571 000 m3 621 000 m3
IWPP = 730 571 000 m3 571 000 m3 621 000 m3
IWPP = 630 571 000 m3 571 000 m3 621 000 m3
80
Optimal harvest levels in the forest district when r = 2%, 5% or 10%
S=3 (672 000 m3 or less may be harvested this year)
PWP = 160 PWP = 200 PWP = 240
IWPP = 830 622 000 m3 622 000 m3 672 000 m3
IWPP = 730 622 000 m3 622 000 m3 672 000 m3
IWPP = 630 622 000 m3 622 000 m3 672 000 m3
81
Optimal harvest levels in the forest district when r = 2%, 5% or
10%:
Harvest approx. 50 000 cubic metres less than the maximum possible in case the pulp wood price is not at the highest level. Harvest as much as possible if
the pulp wood price is at the highest level.
82
Pulpwood price
0
50
100
150
200
250
300
0 2 4 6 8 10 12 14 16
Year
SE
K/m
3Let’s study the optimal decisions with changing pulp wood prices
if the rate of interest is 10%!
83
Pulpwood price
0
50
100
150
200
250
300
0 2 4 6 8 10 12 14 16
Year
SE
K/m
3
Harvest in relation to average harvest
-1,5
-1
-0,5
0
0,5
1
1,5
0 2 4 6 8 10 12 14 16
Year
Ap
pro
x. 5
0 00
0 m
3/st
ep
Optimal Stock Path
0
0,5
1
1,5
2
2,5
0 2 4 6 8 10 12 14 16
Year
Sto
ck le
vel
84
Optimal harvest levels in the forest district when r = 15% (or
higher)
85
S = Entering stock level S=1 (570 000 m3 or less may be harvested this year)
Optimal harvest levels in the forest district when r = 15%
PWP = 160 PWP = 200 PWP = 240
IWPP = 830 570 000 m3 570 000 m3 570 000 m3
IWPP = 730 570 000 m3 570 000 m3 570 000 m3
IWPP = 630 570 000 m3 570 000 m3 570 000 m3
86
Optimal harvest levels in the forest district when r = 15%
S=2 (621 000 m3 or less may be harvested this year)
PWP = 160 PWP = 200 PWP = 240
IWPP = 830 621 000 m3 621 000 m3 621 000 m3
IWPP = 730 621 000 m3 621 000 m3 621 000 m3
IWPP = 630 621 000 m3 621 000 m3 621 000 m3
87
Optimal harvest levels in the forest district when r = 15%
S=3 (672 000 m3 or less may be harvested this year)
PWP = 160 PWP = 200 PWP = 240
IWPP = 830 672 000 m3 672 000 m3 672 000 m3
IWPP = 730 672 000 m3 672 000 m3 672 000 m3
IWPP = 630 672 000 m3 672 000 m3 672 000 m3
88
Optimal harvest levels in the forest district when r = 15% (or
higher):
Harvest as much as possible for all possible pulp wood prices!
89
General results• With this approach, all relevant decisions in
the company can be consistently optimized.• For instance, we find how the optimal
harvest level is affected by the present price in the pulpwood market, the transition probability matrix of prices, the rate of interest, the volume of harvestable stands and all other company relevant conditions such as capacities in the sawmill, the liner mill, transport costs for different assortements on different roads etc..
90
Observation #1All the sub problems (the
optimization problems within each time period) may be solved with
continuous or discrete variables via linear programming, quadratic programming or some other
optimization method, taking all relevant constraints into
consideration.
91
Observation #2In the ”master problem” (the Markov chain problem over an infinite horizon), the state space is discrete. With standard software,
this still makes it possible to use high resolution in the interesting dimensions.
For instance, with ten possible stock levels, we may use four exogenous market prices
(with ten possible levels in each dimension) and still have no more than 100 000
variables. Such a problem can easily be solved.
92
Observation #3This forest sector model can easily be
modified and we can instantly calculate how the expected economic value of the
company and the optimal decisions change.
For instance, we may introduce ”possible”
bioenergy power plants and new types of pulp and paper mills and instantly derive
the optimal results.
93
94
Contact: Peter Lohmander
Professor
SLU, Dept. of Forest Economics
SE-901 83 Umea, Sweden
e-mail:
Personal home page:
http://www.Lohmander.com