ceske budevice
DESCRIPTION
Talking about a specialized Lp algorithm in The Czech Republic.TRANSCRIPT
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, Norway2)University of Edinburgh, UK
∗]E-mail: [email protected]
16th International Scientific Conference onMathematical Methods in Economy and Industry
Ceske Budejovice, June 15-18, 2009
1
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 devel-
opment and conclude with some simple
speed tests, demonstrating computational
efficiency.
2
Background
Haugen, Olstad and Pettersen defined the
PCLSP problem in:
1) K. K. Haugen, A. Olstad, and B. I. Pet-
tersen. The profit maximizing capacitated
lot-size (pclsp) problem. European Jour-
nal of Operations Research, 176:165–176,
2007.
2) K. K Haugen, A. Olstad, and B. I. Pet-
tersen. Solving large-scale profit maxi-
mization capacitated lot-size problems by
heuristic methods. Journal of Mathemat-
ical Modelling and Algorithms, 6(1):135–
149, 2007.
3
PCLSP – formulation
Max Z =T∑
t=1
J∑
j=1
[djtpjt − sjtδjt − hjtIjt − cjtxjt
]
(1)
s.t.
αjt − βjt · pjt = djt ∀jt (2)J∑
j=1
ajtxjt ≤ Rt ∀t (3)
xjt + Ij,t−1 − Ijt = djt ∀jt (4)
0 ≤ xjt ≤ Mjtδjt ∀jt (5)
Ijt ≥ 0, ∀jt (6)
δjt ∈ {0,1} ∀jt (7)αjt
βjt≥ pjt ≥ 0 ∀jt (8)
4
PCLSP – variables and constants
Variables:
djt = demand for item j in period t
pjt = price of item j in period t
xjt = amount of item j produced in t
Ijt = inventory of item j between t, t + 1
δjt =
{1 if item j is produced in period t0 otherwise
Constants:
αjt = demand constant, for item j at t
βjt = demand slope, for item j at t
T = number of time periods
J = number of items
sjt = setup cost for item j in period t
hjt = storage cost, item j between t, t + 1
cjt = unit production cost, item j at t
ajt = resource used, item j at t
Rt = capacity resource available at t
Mjt =T∑
s=t
djs
5
Single item – negligible set-up costs
Many modern production settings (JIT) in-volve negligible set-up costs (and times). Inthe previous model we hence focus on a ver-sion with J = 1 (single item) and sjt ≈ 0(negligible set-up costs).
Hence, removal of demand variables (djt) bysubstitution gives:
Max Z =T∑
t=1
[(αt − βt · pt)pt − htIt − ctxt] (9)
s.t.
atxt ≤ Rt ∀t (10)
xt + It−1 − It = αt − βt · pt ∀t (11)
xt ≥ 0 ∀t (12)
It ≥ 0, ∀t (13)αt
βt≥ pt ≥ 0 ∀t (14)
6
Simplifying assumptions
• Capacity constraint: Without loss of gen-erality, equation (10) can be substitutedwith xt ≤ Rt where Rt = Rt
at.
• Given prices: If we assume that all pricesp1, . . . , pT are given, let’s say by p1, . . . , pT ,the objective (9) can be rewritten as:
Max Z =T∑
t=1
(αt − βt · pt)pt −T∑
t=1
[htIt + ctxt]
= C −T∑
t=1
[htIt + ctxt] (15)
or
Min Z =T∑
t=1
[htIt + ctxt] (16)
7
The reformulated LP
Additionally, defining;
Dt = αt − βt · pt (17)
problem (9) – (14) may be redefined as thefollwing LP-problem:
Min Z =T∑
t=1
[htIt + ctxt] (18)
s.t.
xt ≤ Rt ∀t (19)
xt + It−1 − It = Dt ∀t (20)
xt ≥ 0 ∀t (21)
It ≥ 0, ∀t (22)
8
Assumptions on c and h
Logistics problems of this type (”Lot-sizing”)
will typically not have a very large time hori-
zon. Consequentually, making assumptions
on stability of production and storage costs
seems reasonable. We assume the following:
c1 = c2 = . . . , cT = c (23)
and
h1 = h2 = . . . hT = h (24)
9
Minimization of total inventory
Utilizing assumptions (23), (24), the objec-tive (16) may be expressed:
T∑
t=1
[htIt + ctxt] = hT∑
t=1
It + cT∑
t=1
xt (25)
Next, it is straightforward to realize by sum-ming up the left and right side of equa-tion (20) that:
T∑
t=1
xt = IT − I0 +T∑
t=1
Dt (26)
The right hand side of equation (26) is a con-stant so is h and c, giving:
Min Z =T∑
t=1
It (27)
10
The algorithmic logic
• Now, Suppose we relax the capacity con-
straints (19). Then, the optimal solution
to the LP (18) – (22) is obvious (a ”Chase
Demand” or ”JIT” strategy):
x∗t = Dt and I∗t = 0, ∀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 pos-
sible in order to minimize total inventory.
11
The algorithm
• Summing up: The algorithm could be de-scribed verbally as: Start out with theJIT solution. If it is feasible it is alsooptimal. If infeasible, run through all in-feasible points (ie all periods where x∗t >
Rt) and utilize ”closest” possible availableproduction capacity to remove infeasibili-ties.
• A formal version:
0. LET x∗t = Dt, ∀t
1. IF x∗t ≤ Rt, ∀t STOP (x∗t is optimal)
2. IF next period is T + 1 STOP
3. ELSE find next period, τ where x∗t > Rt andproduce a total of x∗t − Rt in previous periods τ −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
Relaxing cost assumptions further
i) c1 = c2 = . . . cT = c and h1 6= h2 6= . . . hT
Previous arguments hold – similar mathe-
matical reformulation. However, the final
objective changes from total inventory to
toal inventory costs:
Min Z =T∑
t=1
htIt (29)
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
Relaxing cost assumptions further
ii) c1 > c2 . . . > cT and h1 6= h2 6= . . . 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 pro-
duce as close to the capacity violation as
possible. Both total inventory and pro-
duction costs are then minimized.
14
Relaxing cost assumptions further
iii) ctht
= Constant = c ⇒ ct = c · ht
In most reasonably competitive markets, the
value of a product is proportional to the pro-
duction costs. Of course, in a perfectly com-
petitive 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 cer-
tain situations may be predictable – wage in-
creases, economic growth etc.
15
Algorithmic consequences if ct = c · ht
Rewriting (11) as:
xt = Dt + It − It−1 (30)
and substituting ct = c · ht into the objec-
tive (18) yields:
Z =T∑
t=1
[htIt + c · ht(Dt + It − It−1)
](31)
Now, assuming a given initial inventory I0 and
the elimination of a constant, the objective Z
above may be replaced by the following:
16
Z =T∑
t=1
htIt (32)
where
ht = (c + 1)ht + cht+1 and hT+1 = 0 (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.
Some simple numerical experiments
The previsouly defined algorithm was imple-
mented in Fortran 95 and executed and com-
pared with state of the art commercial LP-
software (CPLEX) on a modern PC. The ta-
ble below shows the results (CPU secs.).
T = 10k T = 100k T = 1m
CPLEX 0.219 1.766 31.156Algorithm 0.031 0.093 0.672Change (%) 700 % 1893 % 4637 %
17