A Stochastic Programming Model for Optical Fiber Manufacturing Csaba I. F´abi´an∗
Rich´ard N´emedi†
Zolt´an Sz˝oke‡
Abstract Optical fibers are made of solid rods of glass called preforms. The ends of the preforms are heated and fibers are drawn from them. The fibers may randomly break during the process. The random lengths of fibers produced are then cut on-line into standard lengths. The cutting process should be directed in a way that minimizes the expected loss due to unsatisfied demand. In this paper we show that statistical information about fiber breakage can be utilized in designing the cutting process. Our test results affirm that a significant improvement can be made over the naive approach.
1
Introduction
Optical fibers are made of solid rods of glass called preforms. The ends of the preforms are heated and fibers are drawn from them. The fibers may randomly break during the process. The random lengths produced this way are the semi-finished products. We assume that all preforms are of the same size. Preforms are processed continuously at a constant rate. The products are standard-length fibers, manufactured by cutting semi-finished products. We assume that semi-finished products are cut into standard lengths immediately after their production. Time is divided into periods. Demand for each product is assumed to be known for each period, and deliveries are made at the ends of the periods. We assume further that a fixed large number of preforms are to be processed during each production period. Our aim is to find such a cutting rule that minimizes the expected loss due to unsatisfied demand. In the present model we consider only one production period. The above problem is closely related to the one presented by Murr and Pr´ekopa (1996). In their model, the intensity of the production is also a decision variable; and the aim is to minimize production costs such that all demands are satisfied with a high probability. They propose a rolling horizon model system, where each model encompasses two production periods. Each model contains a probabilistic constraint in a joint constraint form and penalizes the violations of the stochastic constraints. Solution methods are proposed for both discrete and continuous probability distributions. The present simple model enables easily implementable solution methods. Moreover, it allows for more flexibility in the cutting process: It does not require the selection of all suitable cutting patterns before optimization. (A cutting pattern means a way a certain length of fiber can be cut into standard lengths. The notion was introduced by Gilmore and Gomory (1961). Formal definition follows later, in Section 3.) We generalize the notion of cutting patterns. (A generalized cutting pattern determines the relative frequencies with which different products are to be cut from semi-finished products of a certain length. Formal definition follows later, in Section 3.) Determining a cutting rule means selecting a generalized cutting pattern for each semi-finished product length. ∗ Department of Operations Research, Lor´ and E¨ otv¨ os University of Budapest. P.O.Box 120, Budapest, H-1518 Hungary. E-mail:
[email protected]. This work was supported by the Bolyai J´ anos Foundation of the Hungarian Academy of Sciences; by AKP, Research Fund of the Hungarian Academy of Sciences, project 98-70 2,1/31; and by OTKA, Hungarian National Fund for Scientific Research, projects T029775 and T032369. † Doctoral School in Applied Mathematics, Lor´ and E¨ otv¨ os University of Budapest. ‡ Doctoral School in Applied Mathematics, Lor´ and E¨ otv¨ os University of Budapest.
1
We decompose the problem: Before the production starts, we find an optimal cutting rule. Then, in the course of the production, we control the cutting process so as to appoximate the prescribed optimal cutting rule. (That means approaching the prescribed relative frequencies as accurately as possible.) Finding an optimal cutting rule is a simple recourse problem. Comprehensive treatment of simple recourse problems can be found in Kall and Wallace (1994), Pr´ekopa (1995), Birge and Louveaux (1997). The solution method presented here exploits the special structures of the cutting rules. (The cutting rules are formally described by matrices. We show that they form a convex polyhedron. That polyhedron is not known in explicit form, but can be explored step by step by the column generation method of Gilmore and Gomory (1961, 1963).) Though the simple recourse problem is high-dimensional, it is well-structured. We exploit the problem structure by a feasible direction method of Zoutendijk (1960). (A feasible direction method may take a large number of steps to approach optimal solution with prescribed precision. In the present case, however, a single step requires little computational effort, because the direction finding problem is reduced to a series of knapsack problems.) Having found the optimal cutting rule, the cutting process can be controlled by a greedy heuristic method: For each semi-finished product length, a continous feedback is used on the basis of the generalized cutting pattern currently realized. A new piece of semi-finished product is cut so as to make the maximal movement towards the optimal generalized cutting pattern prescribed for the appropriate semi-finished product length. The paper is organized as follows: In Section 2, we describe the nature of randomness in fiber breakage. In Section 3, we describe the cutting process, define cutting patterns and generalized cutting patterns. We also give details of the realization of a given cutting rule. The cutting rule finding problem is formulated in Section 4. In Section 5, the mathematical properties of the objective function are derived. In Section 6, we present a simple procedure to compute the value and the gradient of the objective function. In Section 7, the algorithmic solution of the problem is outlined. In Section 8, we consider implementation issues, and present test results. We compare the presented method to a naive approach that naturally offers itself. In this naive approach, a continous feedback is used on the basis of the demand still unsatisfied. A new piece of semi-finished product is cut in a greedy fashion so as to make the maximal decrease in the total value of the presently unsatisfied demand. (This simple method does not utilize statistical information about fiber breakage.) Our test results affirm that a significant improvement can be made over the naive approach.
2
The Random Yield
The collection of semi-finished products produced from a given number of preforms will be called yield. Let N designate the number of preforms that can be processed during the current production period. The material of the preforms may contain a finite number of defects (microscopic grains) that cause breakage when the fiber is drawn. Assume that the material is homogeneous in the following sense: – equal-length intervals of fiber have the same probability distribution regarding the numbers of defects contained in them; – the probability that a positive-length fiber contains at least one defect is positive; – the numbers of defects in disjoint intervals are independent. The above assumptions imply that the locations of the defects in the fiber form a homogeneous Poisson process with a positive parameter. We characterize the yield of a single preform by the numbers of semi-finished products of different lengths. We truncate the length of each semi-finished product to an integer multiple of a unit length. Let H be the total length of fiber that can be drawn from a single preform. We assume that H is integer. Let h be an integer satisfying 1 ≤ h ≤ H. Let ϕh designate the number of those semi-finished products the lengths of
2
which fall into the interval [ h, h + 1 ). Such fibers will be referred to as of length h. The random yield is characterized by the vector T ϕ = (ϕ1 , . . . , ϕH ) . (1) Under the present assumptions, the first and second moments of the components ϕh (h = 1, . . . , H) can be computed from the probability q of a unit-length fiber being faultless (see Pr´ekopa (1953) and F´abi´an (1999a)). Namely, the first moments are E (ϕh ) = µh − µh+1 where
µh = q h − ln(q)q h (H − h)
The second moments are ¡ ¢ E ϕ2H
where
(1 ≤ h ≤ H − 1)
and
E (ϕH ) = µH ,
(2)
(h = 1, . . . , H).
=
µH ,
E (ϕH ϕg )
=
0
E (ϕh ϕg )
= µh,g − µh+1,g − µh,g+1 + µh+1,g+1
(1 ≤ g ≤ H − 1),
(3) (1 ≤ h, g ≤ H − 1),
2
µh,g = ln(q)2 q h+g [H − h − g]+ − 2 ln(q)q h+g [H − h − g]+ + µmax(h,g) .
(In the above expression, [.]+ means the positive part of a real number.) Proposition 1 The random variables ϕh (h = 1, . . . , H) are linearly independent. Proof. Suppose that z0 +
H X
zh ϕh = 0
h=1
holds with probability 1 for some real numbers zh (h = 0, . . . , H). Since ϕh = 0 (h = 1, . . . , H) may occur with a positive probability, it follows that z0 = 0. For any h = 1, . . . , H, the event ϕh = 1, and ϕj = 0 (j = 1, . . . , H; j 6= h) also has a positive probability, hence zh = 0 (h = 1, . . . , H). This implies the assertion. u t From the linear independence it follows that the covariance matrix of the random vector ϕ is positive definite. Let us consider the random yield of N preforms, i.e., the sum φ = ϕ(1) + · · · + ϕ(N ) ,
(4)
where the random vector ϕ(i) represents the yield of the ith preform. The random vectors ϕ(i) (i = 1, . . . , N ) are mutually independent and have the same distribution as ϕ in (1) has. A multidimensional central limit theorem states that the asymptotic distribution of the random vector (4) is the H-variate normal distribution. (Proof of that theorem can be found in Section 4.2.3 of Anderson (1958) or in Section 9.2 of Wilks (1962).) Parameters of the normal distribution can be computed from the moments (2) and (3). In the following investigation we assume that φ has a normal distribution with the appropriate parameters.
3
The Cutting Process
Semi-finished products are cut into products.
3
Let h1 < . . . < hm designate the standard product lengths that we assume to be integers. Let h be a semi-finished product length, i.e., an integer between 1 and H. A cutting pattern for the length h is an T m-vector v = (v1 , . . . , vm ) whose components are non-negative integers satisfying the inequality m X
vk hk ≤ h.
(5)
k=1
This cutting pattern means that we cut vk pieces of standard length hk (k = 1, . . . , m). Assume there are r different cutting patterns for the semi-finished product length h, and let v (1) , . . . , v (r) designate those cutting patterns. We consider convex combinations of them. The motivation is the following. Suppose, e.g., that the semi-finished products are cut so that only the patterns v (1) and v (2) are used ; and the relative frequencies of these two patterns are 14 and 34 , respectively. The respective numbers of the different products cut from semi-finished products of length h will then be proportional to the components of the m-vector 1 3 v = v (1) + v (2) . 4 4 Convex combinations of cutting patterns for length h will be called generalized cutting patterns for length h. Let Ph designate the set of the generalized cutting patterns for the length h. This is the convex hull of the cutting patterns for length h. Realizing a generalized cutting pattern v ∈ Ph means organizing the cutting of the semi-finished products of length h so that the respective numbers of different products be proportional to the components of v. Choosing a generalized cutting pattern for each semi-finished product length means picking an element of the direct product P = P1 × · · · × PH . We define a cutting rule as an element of P . Such elements are m × H-matrices. Let A ∈ P be a cutting rule. The hth column of A will be denoted by ah (1 ≤ h ≤ H). (ah is a generalized cutting pattern for the length h.) Cutting according to the rule A — or realizing this rule — means realizing the generalized cutting pattern ah for the semi-finished product length h (1 ≤ h ≤ H). Given A ∈ P , the kth row of A will be denoted by ak (k = 1, . . . , m). Suppose the yield φ is cut according to the rule A. The number of the products of length hk will then be approximately ak φ.
4
Formulation of the Cutting Rule Finding Problem
Let bk designate the demand for products of length hk (k = 1, . . . , m). For simplicity we assume bk > 0 for T all k. Let us form the vector b = (b1 , . . . , bm ) . For a given cutting rule A ∈ P , and yield φ, the components of the vector [b − Aφ]+ are the unsatisfied demands for the different products. Let δ (A, φ) = q T [b − Aφ]+ be the loss (unrealized profit) due to unsatisfied demand, where q ≥ 0 is a given cost vector, and let ³ ´ ∆ (A) = E δ (A, φ) . The problem is to choose a cutting rule that minimizes the expected loss over the convex polyhedron of the cutting rules, i.e., min ∆(A) subject to A ∈ P. (6) 4
5
Properties of the Objective Function
Let us consider the loss as the sum of the losses in different products. By introducing the notation ³ ¡ ¡ ¢ £ ¤ ¡ ¢ ¢´ δ k ak , φ = qk bk − ak φ + and ∆k ak = E δ k ak , φ , we have δ ( A, φ ) =
m X
¡ ¢ δ k ak , φ
and
k=1 k
∆ (A) =
m X
¡ ¢ ∆k a k .
k=1 k
Let us extend the definitions of δ and ∆ : we will use arbitrary vectors p ∈ IRH instead of the rows ak of cutting rules A ∈ P . We investigate convexity and differentiability of ∆k . Proposition 2 For any k, the function ∆k is a strictly convex function of the variable p. Proof. The proof of convexity is simple: Let p = ρ1 p1 + ρ2 p2
(ρ1 , ρ2 ≥ 0, ρ1 + ρ2 = 1)
be a convex combination of the points p1 , p2 ∈ IRH . The function δ k ( p, φ ) is convex in p, since it is the convex function of a linear function. Thus, for any φ, it satisfies the following inequality δ k ( p, φ ) ≤ ρ1 δ k ( p1 , φ ) + ρ2 δ k ( p2 , φ ) .
(7)
Taking expected values of both sides, we get the convexity inequality for the function ∆k . The proof of the strict convexity requires one further step: The random vector φ has continuous probability distribution and its density function is strictly positive. Hence the expressions bk − p1 T φ and bk − p2 T φ have different signs with positive probability, which implies that the inequality in (7) is strict with positive probability. u t Since the function δ k ( p, φ ) is convex in p, it is also subdifferentiable. For any p ∈ IRH let us pick a subgradient of the above function, and denote it by γ k ( p, φ ). For a fixed p, the function γ k ( p, φ ) is a random vector. Denote the expectation vector by Γk ( p ). Proposition 3 The expectation vector Γk ( p ) exists, and is a continuous function of p. Proof. For a fixed yield φ, the function δ k ( p, φ ) is differentiable in p, if bk 6= pT φ holds. The gradient can be computed as 0 ∈ IRH , if bk < pT φ k γ ( p, φ ) = (8) −qk φ , if bk > pT φ . Since φ has a non-degenerate continuous random distribution, the event bk = pT φ has 0 probability for any vector p (because we have bk > 0). Thus the subgradient γ k ( p, φ ) is also a gradient with probability 1, and can be computed from (8). Let f designate the density function of the non-degenerate normal distribution of φ. The hth component of the expectation vector Γk ( p ) can be computed as Z −qk zh f (z) dz . pT z ≤ bk It is easy to verify that the above expectation exists, and is a continuous function of p (because we have bk > 0). u t
5
Proposition 4 The vector Γk ( p ) is a subgradient of the function ∆k ( . ) at p. Formally, the following inequality holds h iT ∆k (q) ≥ ∆k (p) + Γk ( p ) (q − p) (9) for any vectors p and q. Proof. The vector γ k ( p, φ ) is a subgradient of the function δ k ( . , φ ) at p. Formally, we have δ k (q, φ) ≥ δ k (p, φ) +
h
γ k ( p, φ )
iT
(q − p)
for any realizations of the random vector φ, and for any vectors p and q. Taking expected values of both sides, we get (9). u t Proposition 5 The function ∆k is differentiable, and at p, its gradient is Γk ( p ). Proof. We prove that ∆k has a unique subgradient at any point p. Suppose that the vector g is a subgradient at p, that is, the following inequality holds for any q ∆k (q) ≥ ∆k (p) + g T ( q − p ) . Γk ( q ) being subgradient at q, we have ∆k (p) ≥ ∆k (q) +
h
Γk ( q )
iT
(p − q) .
Adding the above two inequalities, we get that h
g − Γk ( q )
iT
(p − q) ≥ 0
(10)
holds for any q. From continuity of the function Γk ( . ), it follows that g = Γk ( p ). (Let d be an arbitrary direction, and let q ` = p + 1` d (` = 1, 2, . . .) . Substitute the vectors q ` for q in (10).) Uniqueness of the subgradient implies differentiability (see Theorem 25.1 in Rockafellar (1970)). u t
6
Computation of the Value and the Gradient of the Objective Function
In this section we assume that the random vector φ has a non-degenerate H-variate normal distribution with expectation vector µ and covariance matrix C. We present methods to compute the values and the gradients of the functions ³ £ ¤ ´ ∆k (p) = E qk bk − pT φ + (k = 1, . . . , m). The objective function is the sum of the above functions. For a fixed p ∈ IRH , the scalar product pT φ has a normal distribution with the parameters µ = E( pT φ ) = pT µ,
σ 2 = Var( pT φ ) = pT Cp.
Assuming p 6= 0, the probability density function of pT φ is g(y) = √
1 e− 2π σ
1 2σ 2
(y−µ)2
6
,
−∞ < y < ∞ .
We have the equality Rbk
∆k (p) = qk
(bk − y) g(y) dy
−∞
Rbk
= qk
−∞
= qk (bk − µ)
Rbk
Rbk
(bk − µ) g(y) dy − qk
(y − µ) g(y) dy
−∞
g(y) dy + qk
−∞
³ = qk (bk − µ) F
bk −µ σ
√σ 2π
Rbk −∞
´ + qk
− σ12 (y − µ) e− √σ 2π
e−
1 2σ 2
1 2σ 2
(bk −µ)2
(y−µ)2
dy
,
where F is the distribution function of the N (0, 1)-distribution. Hence the objective values can be computed with little computational effort. The gradient of the objective function can be computed from the above formulas, using elementary differentiation rules. Since this computation is rather tedious, we present a different approach. Using Proposition 5, the gradient can be computed as the sum of the following expectations: ³ ´ Γk ( p ) = E γ k ( p, φ ) (k = 1, . . . , m). In view of (8), the hth component of Γk ( p ) is ¡ ¢ ¡ ¢ −qk E φh | pT φ < bk P pT φ < bk Let us introduce the notation φh = Bφ, ψ= pT φ
where
B=
eh T
(h = 1, . . . , H) .
=
pT
0
...
1
p1
. . . ph
...
(11)
0
.
. . . pH
If we have p = 0, then (11) obviously reduces to −qk E( φh ) = −qk µh . If we have pT = (0, . . . , ph , . . . , 0) , ph 6= 0 , then we only need to consider the random variable φh . It has a normal distribution with expectation µh and variance chh . Let f (x) denote the density function of this distribution. Then (11) reduces to µ ¶ √ chh − 2c1 (bk /ph −µh )2 bk /ph − µh hh − qk µh F , xf (x)dx = qk √ e √ chh 2π
bZ k /ph
−qk −∞
where F is the distribution function of the N (0, 1)-distribution. If, on the other hand, the matrix B has rank 2, then the random vector ψ has a non-degenerate 2-variate normal distribution. The expectation vector and the covariance matrix of ψ are Bµ and BCB T , respectively. For the expectation vector, let us introduce the notation µh eh T µ ν1 . = = Bµ = µ ν2 pT µ For the covariance matrix, let us introduce the notation eh T Ceh σ12 ρσ1 σ2 = BCB T = ρσ1 σ2 σ22 pT Ceh 7
eh T Cp T
p Cp
=
ch,h T
p Ceh
eh T Cp σ
2
.
Let us designate by f (x, y) the density function of the random vector ψ, and write (11) in the following form: Zbk Z∞ −qk x f (x, y) dx dy . (12) −∞ −∞
Let further f ( x | y ) designate the conditional density function of φh given pT φ = y; and g(y) the density function of pT φ. We have the equality f ( x, y ) = f ( x | y ) g( y ) . The random variable φh given that pT φ = y is known to have a normal distribution with expectation σ1 ( y − ν2 ) , σ2
ν1 + ρ
and variation σ12 ( 1 − ρ2 ). (See Section 7.3 of Wilks (1962), or for the general case, Theorem 5 of Appendix in Pr´ekopa (1995).) Substituting the above expressions into (12), we get −qk
Rbk +∞ R
xf (x|y)dx g(y)dy
−∞ −∞
Rbk ³
= −qk
−∞
= −qk ν1
Rbk −∞
´ ν1 + ρ σσ21 (y − ν2 ) g(y)dy
ρσ1 g(y)dy + qk √ 2π
³ = −qk ν1 F
bk −ν2 σ2
´
Rbk −∞
− σ12 (y − ν2 )e
−
1 2σ 2 2
(y−ν2 )2
2
ρσ1 + qk √ e 2π
−
1 2σ 2 2
(bk −ν2 )2
dy
,
where F is the distribution function of the N (0, 1)-distribution.
7
Outline of a Solution Method
Our aim is to solve problem (6). We have seen in Section 5 that the objective function is strictly convex and continuously differentiable. On the other hand, the convex polyhedron P is not known explicitly. We use a feasible direction method, Zoutendijk’s procedure P2 (1960). All the constraints are linear, hence procedure P2 can be simplified. Given A ∈ P ⊂ IRm×H , let Γ(A) denote the m × H-matrix whose rows are Γk (ak ) (k = 1, . . . , m). (Here k a denotes the kth row of A. The function Γk : IRH → IRH was defined in Section 5 as the gradient function of ∆k : IRH → IR.) In a sense, Γ(A) is the ‘gradient’ of the function ∆ : IRm×H → IR at A. Given a ‘direction’ D ∈ IRm×H , the ‘directional derivative’ of ∆ at the ‘point’ A is X Γ(A) ∗ D = τhk dkh , 1≤k≤m 1≤h≤H where the τhk and dkh are the (k, h)th components of the m × H-matrices Γ(A) and D, respectively. The procedure P2 can be adapted to the present problem as follows: 8
{0} Find an initial point A ∈ P . {1} Find a feasible direction D ∈ IRm×H which minimizes the directional derivative Γ(A) ∗ D subject to A + D ∈ P, kDkmax ≤ 1. If the optimal directional derivative is small in absolute value, then the point A is near-optimal for the original problem. {2} Determine the step length, i.e., find λ ∈ IR which minimizes the objective value ∆(A + λD) subject to A + λD ∈ P, λ ≥ 0. Set A := A + λD. Steps {1} and {2} are iterated until near-optimal solution is found. Near-optimality is tested by using some pre-defined tolerance. Zoutendijk proves that under certain conditions procedure P2 is convergent. These conditions are met in the present case, because all the constraints are linear, the feasible region is compact, the objective function is strictly convex and continuously differentiable. Convergence holds in the following sense: suppose the stopping tolerance is set to zero, and the procedure produces the sequence of feasible points A` (` = 1, 2, . . .). Then the sequence of the corresponding objective values ∆(A` ) converges to the optimal value. Since the present objective function is strictly convex, and the feasible region compact, it follows that the sequence A` is also convergent. The linear programming problem to be solved in step {1} of the procedure breaks up into small subproblems in accordance with the direct product P = P1 × · · · × PH . Let Γh (A) ∈ IRm , (h = 1, . . . , H) denote the hth column of Γ(A). There are H subproblems, of which the hth one is the following: {1.h} Find dh ∈ IRm T which minimizes the directional derivative [Γh (A)] dh subject to ah + dh ∈ Ph , kdh kmax ≤ 1. Let dh be the optimal solution of the subproblem {1.h} (h = 1, . . . , H). Then the matrix D whose hth column is dh is an optimal solution for the linear programming problem in step {1}. Since the convex polyhedron Ph is the convex hull of the cutting patterns for length h, the number of its facets may be excessively large. The subproblems can be solved by the column generation method of Gilmore and Gomory (1961, 1963): At the beginning, it is enough to know only a few vertices of the polyhedron Ph . Let Qh denote the convex hull of the known vertices. The objective function of the problem {1.h} is minimized over Qh instead of Ph . The optimal dual variables of this restricted problem are used to find a new vertex of Ph , by which to extend the convex hull Qh to cause further decrease in the objective function. If no such vertex exists, then an optimal solution of the problem {1.h} has been found. The column generation method of Gilmore and Gomory is widely used, and considered efficient. The solution of the problem {1.h} can be simplified by removing the normalization constraint kdh kmax ≤ 1. (The feasible direction method remains convergent, since P is bounded.) Then the problem {1.h} reduces to the minimization of a linear function over the convex polyhedron ¯ © ª Ph − ah = v − ah ¯ v ∈ Ph . An optimal solution corresponds to a vertex of the above polyhedron, which, in turn, corresponds to a cutting pattern for length h. Hence problem {1.h} reduces to a single knapsack problem. Let us consider finally the problem of step length determination {2}. The length Λ of the feasible interval can be determined by the solution of the problem max Λ
subject to 9
A + ΛD ∈ P.
(13)
This problem breaks up to H subproblems that can be solved separately by the column generation method of Gilmore and Gomory. However, if the direction D was computed with removing the normalization constraint in the problem {1}, then the problem (13) need not be solved. In this case, we have Λ = 1. Once the length Λ of the feasible interval is known, the step length determination problem reduces to min ∆(A + λD)
subject to
0 ≤ λ ≤ Λ.
(14)
This is a one-dimensional convex problem. Objective values and derivatives are easily computed.
8
Implementation Issues and Test Results
The method and the test system were implemented in C language. Implementation of the method consists of the following modules: – Computation of the value and gradient of the objective function as described in Section 6. This includes a submodule for the computation of standard normal distribution function values. – Implementation of the feasible direction method described in Section 7. This includes submodules for finding feasible directions and for the computation of suitable step lengths. We tried two different methods to compute standard normal distribution function values. The first one uses Taylor’s formula. It can approximate the function values with arbitrary high precision, but it proved slow. We decided to use polynomial approximation instead. We found a polynomial of degree 14 that approxiamates the distribution function with the accuracy of 10−6 over the relevant interval. In our implementation of the feasible direction method, we omit the normalizing constraints in the problem {1}. Hence the feasible direction finding problem reduces to a series of knapsack problems, as shown in Section 7. These knapsack problems are solved by the dynamic programming method of Gilmore and Gomory (1963). For the solution of the step length determination problem (14), we implemented a simplified version of the Level Method of Lemar´echal, Nemirovskii, and Nesterov (1995). (Since our problem is one-dimensional, there is no need to solve linear and quadratic subproblems.) Given a demand vector b, the test system first computes the optimal cutting rule A? using the above described modules. After this, the test system generates random yield vectors, and simulates the following cutting methods: – The naive method which does not use the above optimal cutting rule, nor utilizes any statistical information about fiber breakage. It uses a continous feedback on the basis of the demand still unsatisfied. A new piece of semi-finished product is cut in a greedy fashion so as to make the maximal decrease in the total value of the presently unsatisfied demand. – The revised method where the aim is to cut according to the optimal cutting rule. More precisely, the optimal rule A? is approximated in a greedy fashion: For 1 ≤ h ≤ H, let a?h denote the hth column of the matrix A? . This is a generalized cutting pattern for the semi-finished product length h. (Details can be found in Section 3.) For each semi-finished product length h, the revised method approximates the generalized cutting pattern a?h as follows: Continous feedback is used on the basis of the generalized cutting pattern currently realized. A new piece of semi-finished product of length h is cut so as to make the maximal movement towards the prescribed a?h . In the revised method, the demand vector b affects the cutting process only through the optimal cutting rule A? . We do not keep track of the currently unsatisfied demand.
10
The submodule that generates random yield vectors uses the following input parameters: N : the number of the preforms processed; H: the total length of fiber that can be drawn from a single preform; and q: the probability of a unit-length fiber being faultless. For each preform, we first determine the number of the breakages that will occur in the fiber drawn from that preform. This random variable has a Poisson distribution with the parameter −ln(q)H (see F´abi´an (1999a)). The relevant number of breakages are then spread on the fiber of length H according to a uniform distribution. In this submodule we apply the rand() and srand() mathematical functions included in the standard C library. These functions generate uniformly distributed random numbers. A random number according to a Poisson distribution is generated by the following procedure: As an initial step, the probabilities of the Poisson distribution are measured one after the other onto the [0, 1] interval. Then a random number is selected in [0, 1] according to the uniform distribution, and the value of the Poisson random number is determined by the subinterval into which the uniform random number falls. An effective version of the above method can be found in De´ak (1990). In a former experiment, N´emedi and Sz˝oke (2000) compared the optimal objective value ∆(A? ) of the cutting rule finding problem with the value of the unsatisfied demand in the naive method. Having made several thousands of test runs, it was found that in average, these numbers are quite close to each other. In some cases, however, ∆(A? ) proved significantly better then the outcome of the simulated naive method. Usually this was the case when the number of the standard product lengths was large enough; and the standard product lengths were large enough as compared to the total length of fiber that can be drawn from a single preform. (Formally, when we had m > 6 and hi > H/5, i = 1, . . . , m.) In a recent experiment, we focused on the above cases. We set H = 50, and used a predefined set of possible standard product lengths. The following table shows this set of standard product lengths together with the corresponding unit prices: Length 12 20 25 29 36
Price 10 21.2 28.2 33.8 43.6
Length 14 22 26 30 38
Price 12.8 24 29.6 35.2 46.4
Length 16 23 27 32 40
Price 15.6 25.4 31 38 49.2
Length 18 24 28 34 42
Price 18.4 26.8 32.4 40.8 52
For each test run, the actual standard product lengths were selected randomly from the above set. The numbers of the product lengths selected were between 7 and 12. (I.e., we had 7 ≤ m ≤ 12 for each case.) The other parameters were fixed: N = 3200 and q = 0.97. The demand vector was set in such a way that the total length of fiber in demand was slightly more then the total length produced;Pand the total length in demand in the different standard lengths was roughly the m same. (Formally, we had i=1 bi hi ≈ 1.02N H, and bi hi ≈ bj hj , i, j = 1, . . . , m.) We grouped the test runs into test cases. In a test case, the demand vector was the same for each run. In each test case, we made 1000 runs with different yield vectors. For each test case, we registered the following data: the optimal objective value ∆(A? ); the average value of the unsatisfied demand in the naive method; and the average value of the unsatisfied demand in the revised method. We made 10,000 test cases altogether. The following table shows the summary of our results. The test cases were grouped according to the actual number of the standard product lengths (m). The averages in the table were taken in these groups of test cases.
11
m
number of test cases
average of ∆(A? )
7 8 9 10 11 12
1,710 1,644 1,650 1,645 1,709 1,642 10,000
50,127 46,713 43,028 38,903 36,327 35,995 41,869
average value of unsat’d demand, revised mathod 51,291 48,072 44,131 39,473 36,905 37,000 42,831
average value of unsat’d demand, naive method 53,366 50,173 48,079 44,992 42,719 40,567 46,670
In average, the results of the revised method well approximate the optimal objective value ∆(A? ). The difference is less than 3 percent in each row. The next table compares average results of the revised method with the average results of the naive method: m 7 8 9 10 11 12
revised / naive 0.96 0.95 0.91 0.87 0.86 0.91 0.91
The results show that the revised method is more effective than the naive method. Let us emphasize that in the revised method, the demand only affects the cutting process through the optimal cutting rule. We believe that a further substantial improvement can be achieved by the use of two-stage rolling horizon versions of the present model. Beside utilizing stochastic information, these models incorporate feedback on the basis of currently unsatisfied demand. Such dynamic cutting models and solution methods were worked out by F´abi´an (1999b).
Acknowledgement The authors wish to express their thanks to Andr´as Pr´ekopa for acquainting them with the problem and for his support in the project.
References [1] Anderson, T.W. (1958). An Introduction to Multivariate Statistical Analysis. John Wiley, New York. [2] Birge, J.R. and F.V. Louveaux (1997). Introduction to Stochastic Programming. Springer-Verlag, New York. ´ k, I. (1990). Random Number Generators and Simulation. Akad´emiai Kiad´o, Budapest. [3] Dea ´ bia ´n, Cs.I. (1999a). Statistical Characterization of Defective Sections in a Length of Fiberglass (in [4] Fa Hungarian). Alkalmazott Matematikai Lapok 19, 91-100. ´ bia ´n, Cs.I. (1999b). Stochastic Programming Models for Optical Fiber Manufacturing. Ph.D. the[5] Fa sis, Doctoral School in Operations Research, Applied Mathematics, and Statistics, Lor´and E¨otv¨os University of Budapest (thesis advisor A. Pr´ekopa).
12
[6] Gilmore, P.C. and R.E. Gomory (1961). A Linear Programming Approach to the Cutting Stock Problem. Operations Research 9, 849-859. [7] Gilmore, P.C. and R.E. Gomory (1963). A Linear Programming Approach to the Cutting Stock Problem, Part II. Operations Research 11, 863-888. [8] Kall, P. and S.W. Wallace (1994). Stochastic Programming. John Wiley & Sons, Chichester. ´chal, C., A. Nemirovskii, and Yu. Nesterov (1995). New Variants of Bundle Methods. [9] Lemare Mathematical Programming 69, 111-147. ´kopa (1996). Solution of a Product Substitution Problem Using Stochastic [10] Murr, M.R. and A. Pre Programming. RUTCOR Research Report 32-96. ´medi, R and Z. Szo ˝ ke (2000). Implementation of a Stochastic Programming Method for Optical [11] Ne Fiber Manufacturing. M.Sc. thesis, Lor´and E¨otv¨os University of Budapest. (In Hungarian. Thesis advisor Cs.I. F´abi´an.) ´kopa, A. (1953). Statistical Characterization of the Decomposition Process of Long Polymeric [12] Pre Chains (in Hungarian). In Communications of the Mathematical Institute of the Hungarian Academy of Sciences Vol. II. (A. R´enyi, ed.), 103-123. ´kopa, A. (1995). Stochastic Programming. Kluwer Academic Publishers, Dordrecht / Boston / [13] Pre London. [14] Rockafellar, R.T. (1970). Convex Analysis. Princeton University Press, Princeton. [15] Wilks, S.S. (1962). Mathematical Statistics. John Wiley, New York. [16] Zoutendijk, G. (1960). Methods of Feasible Directions. Elsevier, Amsterdam.
13