1. The Single Item profit maximizing
capacitated lot-size (PCLSP) problem
with fixed prices and no set-up
by Kjetil K. Haugen1),∗]
Asmund Olstad1)
Krystsina Bakhrankova1)
and
Erik Van Eikenhorst2)
1) Molde
University College, Norway
2) University of Edinburgh, UK
∗] E-mail:
Kjetil.Haugen@hiMolde.no
16th International Scientific Conference on
Mathematical Methods in Economy and Industry
ˇ
Cesk´ Budˇjovice, June 15-18, 2009
e
e
1
2. Idea – Abstract
• Even though modern LP-solvers (and
computers) are extremely efficient, fast
specialized sub-problem solvers may be of
interest.
• Here we focus on an LP arising as a typical
sub-problem in Dynamic Pricing problems.
• We demonstrate the algorithmic development and conclude with some simple
speed tests, demonstrating computational
efficiency.
2
3. Background
Haugen, Olstad and Pettersen defined the
PCLSP problem in:
1) K. K. Haugen, A. Olstad, and B. I. Pettersen. The profit maximizing capacitated
lot-size (pclsp) problem. European Journal of Operations Research, 176:165–176,
2007.
2) K. K Haugen, A. Olstad, and B. I. Pettersen. Solving large-scale profit maximization capacitated lot-size problems by
heuristic methods. Journal of Mathematical Modelling and Algorithms, 6(1):135–
149, 2007.
3
5. PCLSP – variables and constants
Variables:
djt
pjt
xjt
Ijt
=
=
=
=
δjt =
demand for item j in period t
price of item j in period t
amount of item j produced in t
inventory of item j between t, t + 1
1 if item j is produced in period t
0 otherwise
Constants:
αjt
βjt
T
J
sjt
hjt
cjt
ajt
Rt
=
=
=
=
=
=
=
=
=
demand constant, for item j at t
demand slope, for item j at t
number of time periods
number of items
setup cost for item j in period t
storage cost, item j between t, t + 1
unit production cost, item j at t
resource used, item j at t
capacity resource available at t
T
Mjt =
djs
s=t
5
6. Single item – negligible set-up costs
Many modern production settings (JIT) involve negligible set-up costs (and times). In
the previous model we hence focus on a version with J = 1 (single item) and sjt ≈ 0
(negligible set-up costs).
Hence, removal of demand variables (djt) by
substitution gives:
T
Max Z =
[(αt − βt · pt)pt − htIt − ctxt] (9)
t=1
s.t.
atxt ≤ Rt
xt + It−1 − It = αt − βt · pt
xt ≥ 0
It ≥ 0,
αt
≥ pt ≥ 0
βt
∀t
∀t
∀t
∀t
∀t
(10)
(11)
(12)
(13)
(14)
6
7. Simplifying assumptions
• Capacity constraint: Without loss of generality, equation (10) can be substituted
ˆ
ˆ
with xt ≤ Rt where Rt = Rt .
a
t
• Given prices: If we assume that all prices
p1, . . . , pT are given, let’s say by p1, . . . , pT ,
ˆ
ˆ
the objective (9) can be rewritten as:
T
Max Z =
T
(αt − βt · pt)ˆt −
ˆ p
t=1
[htIt + ctxt]
t=1
T
(15)
[htIt + ctxt]
= C−
t=1
or
ˆ
Min Z =
T
[htIt + ctxt]
(16)
t=1
7
8. The reformulated LP
Additionally, defining;
ˆ
Dt = αt − βt · pt
ˆ
(17)
problem (9) – (14) may be redefined as the
follwing LP-problem:
ˆ
Min Z =
T
[htIt + ctxt]
(18)
t=1
s.t.
ˆ
xt ≤ Rt
ˆ
xt + It−1 − It = Dt
xt ≥ 0
It ≥ 0,
∀t
∀t
∀t
∀t
(19)
(20)
(21)
(22)
8
9. Assumptions on c and h
Logistics problems of this type (”Lot-sizing”)
will typically not have a very large time horizon. Consequentually, making assumptions
on stability of production and storage costs
seems reasonable. We assume the following:
c1 = c2 = . . . , cT = c
(23)
h1 = h2 = . . . hT = h
(24)
and
9
10. Minimization of total inventory
Utilizing assumptions (23), (24), the objective (16) may be expressed:
T
T
T
[htIt + ctxt] = h
t=1
It + c
t=1
xt
(25)
t=1
Next, it is straightforward to realize by summing up the left and right side of equation (20) that:
T
T
xt = IT − I0 +
t=1
ˆ
Dt
(26)
t=1
The right hand side of equation (26) is a constant so is h and c, giving:
¯
Min Z =
T
It
(27)
t=1
10
11. The algorithmic logic
• Now, Suppose we relax the capacity constraints (19). Then, the optimal solution
to the LP (18) – (22) is obvious (a ”Chase
Demand” or ”JIT” strategy):
∗
ˆ
x∗ = Dt and It = 0, ∀t
t
(28)
• Taking the capacity constraints back into
consideration, it is likewise obvious that
any period where (19) binds must lead to
production as close to this period as possible in order to minimize total inventory.
11
12. The algorithm
• Summing up: The algorithm could be described verbally as: Start out with the
JIT solution. If it is feasible it is also
optimal. If infeasible, run through all infeasible points (ie all periods where x∗ >
t
ˆ
Rt) and utilize ”closest” possible available
production capacity to remove infeasibilities.
• A formal version:
ˆ
0. LET x∗ = Dt , ∀t
t
ˆ
1. IF x∗ ≤ Rt , ∀t STOP (x∗ is optimal)
t
t
2. IF next period is T + 1 STOP
ˆ
3. ELSE find next period, τ where x∗ > Rt and
t
∗ − R in previous periods τ −
ˆt
produce a total of xt
1, τ −2, . . . as close as possible to τ . (If impossible,
problem is infeasible STOP)
ˆ
4. SET x∗ = Rτ and update x∗ −1 , x∗ −1 , . . . correτ
τ
τ
spondingly
5. GOTO 2.
12
13. Relaxing cost assumptions further
i) c1 = c2 = . . . cT = c and h1 = h2 = . . . hT
Previous arguments hold – similar mathematical reformulation. However, the final
objective changes from total inventory to
toal inventory costs:
ˆ
Min Z =
T
htIt
(29)
t=1
Obviously, the algorithm will still hold. It
is no point moving production to an earlier
period than the closest possible as total
inventory costs must increase under such
a strategy.
13
14. Relaxing cost assumptions further
ii) c1 > c2 . . . > cT and h1 = h2 = . . . hT
In this case, which should be quite natural
– productivity should increase over time,
the algorithm must also hold. Again, as
production costs are larger if we move
back in time, it must be optimal to produce as close to the capacity violation as
possible. Both total inventory and production costs are then minimized.
14
15. Relaxing cost assumptions further
c
iii) ht = Constant = c ⇒ ct = c · ht
t
In most reasonably competitive markets, the
value of a product is proportional to the production costs. Of course, in a perfectly competitive market, price equals marginal costs,
and the above assumption is ”correct” if the
main contribution to inventory costs are due
to storage value – as most inventory experts
assume.
Surely, such an assumption opens up also
for increasing prodction costs, which in certain situations may be predictable – wage increases, economic growth etc.
15
16. Algorithmic consequences if ct = c · ht
Rewriting (11) as:
ˆ
xt = Dt + It − It−1
(30)
and substituting ct = c · ht into the objective (18) yields:
ˆ
Z=
T
ˆ
htIt + c · ht(Dt + It − It−1)
(31)
t=1
Now, assuming a given initial inventory I0 and
ˆ
the elimination of a constant, the objective Z
above may be replaced by the following:
16
17. T
Z=
ˆ t It
h
(32)
t=1
where
ˆt = (c + 1)ht + cht+1 and hT +1 = 0
h
(33)
Finally, comparing the objectives Z of equaˆ
tion (32) and Z of equation (29), we observe
structural equality and our algorithm would
work also for the case with a constant ratio
between production and inventory costs.
18. Some simple numerical experiments
The previsouly defined algorithm was implemented in Fortran 95 and executed and compared with state of the art commercial LPsoftware (CPLEX) on a modern PC. The table below shows the results (CPU secs.).
CPLEX
Algorithm
Change (%)
T = 10k
0.219
0.031
700 %
T = 100k
1.766
0.093
1893 %
T = 1m
31.156
0.672
4637 %
17