A Novel Algorithm of Stochastic Chance-Constrained Linear Programming and Its Application

The computation problem is discussed for the stochastic chance-constrained linear programming, and a novel direct algorithm, that is, simplex algorithm based on stochastic simulation, is proposed. The considered programming problem in this paper is linear programming with chance constraints and random coefficients, and therefore the stochastic simulation is an important implement of the proposed algorithm. By theoretical analysis, the theory basis of the proposed algorithm is obtained and, by numerical examples, the feasibility and validness of this algorithm are illustrated. The detailed algorithm procedure is given, which is easily converted into the executable codes of software tools. Then, we compare it with some algorithms to verify its superiority. Finally, a practical example is presented to show its practicability.


Introduction
In the late 1950s, stochastic linear programming SLP appeared with the further application of linear programming.SLP is a special kind of linear programming problem in which a part or all of coefficients are random variables with joint probability distribution.Generally speaking, there are two sorts of SLP models, one of which can be described as "wait-and-see" model based on the hypothesis that the decision maker can wait until the random variables come true and another one is called "here-and-now" model in which the decision maker must make decision before the random variables come true.
Stochastic chance-constrained programming SCP , firstly proposed by Charnes and Cooper 1 , offers a powerful means of modeling stochastic decision and control systems see, e.g., 2, 3 .SCP is mainly concerned with the problem that the decision maker must give his solution before the random variables come true.In this problem, the made decision may not satisfy the constraints in some degree, but the probability of decision satisfying the constraints cannot be less than some given confidence level α.Stochastic chance-constrained linear programming SCLP is an important part of SCP.
As we know the traditional method to solve SCLP is converting it into an equivalent deterministic linear programming and then obtaining the optimal solution by some deterministic algorithms 4 .However, this method is only effective for some special cases.Generally, SCLP cannot be converted into some deterministic linear programming and convex programming, see the work of Kall and Wallace in 5 .However, for those which can be converted to deterministic problem, it is usually a difficult work to convert and one can always obtain a complicated nonlinear programming which is traditional hard problem.Therefore, it is necessary and urgent to find the direct and effective algorithm to solve SCLP.Luckily, with the rapid development of computer, genetic algorithms based on stochastic simulation were designed for SCP, see, for example, 6-8 .These intelligent algorithms are more direct and effective than the method of converting SCP to deterministic programming.However, the disadvantages of these genetic algorithms are obvious.That is, they are always designed aiming to solve every specified problem, depending on experiment and lacking the common theory basis.Therefore, it is a necessary and urgent task to find a better algorithm, which gives rise to the motivation for the present study in this paper.
Summarizing the above discussion, we aim to develop a novel direct and universal algorithm to solve the computation problem of the stochastic chance-constrained linear programming.The main contribution of this paper can be given as follows: i several simple approaches are illustrated to be ineffective or limited to SCLP by numerical example; ii a novel and direct algorithm, that is, simplex algorithm based on stochastic simulation, is proposed; iii the theory basis of the proposed algorithm is proved; iv the detailed procedures of the simplex algorithm are given.By numerical examples, our algorithm is compared with the traditional methods and genetic algorithm based on stochastic simulation and verified to be feasible, valid, and better than the traditional ones and intelligent technique.Finally, a real-world example is given to illustrate the practicability of the developed algorithm.

Research Model and Computation Problem of SCLP
In this paper, unless otherwise specified, Ω, F, P denotes a complete probability space, where Ω is a nonempty sample space, F is the power set of Ω, and P is a probability measure on F, and a random variable is defined as a function from the probability space Ω, F, P to the set of F.

Stochastic Linear Programming (SLP) Model
Firstly, introduce the following SLP model where X is an n dimensional vector to be determined, and A a ij ω m×n , b b i ω m×1 , C c j ω n×1 , with a i,j ω , b i ω , c j ω i 1, . . ., m, j 1, . . ., n being random variables and ω ∈ Ω.

Stochastic Chance-Constrained Linear Programming (SCLP) Model
SCLP usually includes two sorts of models which can be formulated as follows: where A i is the ith row of A, b i is the ith element of b, and α i is the ith confidence level of the constraints.

Computation Problem of SCLP
In this subsection, by solving a numerical example of SLP, the computation problem of SCLP is analyzed and several possible approaches are tried to obtain the optimal solution to the example.
Example 2.1.Let a, b be the random variables with uniform distribution in rectangle {1 ≤ a ≤ 4, 1/3 ≤ b ≤ 1} and consider the following SLP problem:

2.4
Solution 1.In 2.4 , the expectations of the random variables a and b are easily derived.Therefore, a very simple idea is to replace the stochastic parameters a and b by their expectations, respectively, and solve the corresponding deterministic linear programming problem described as follows:

2.6
That is, the probability of the solution θ * taking value in the feasible region D is only 0.25, which verifies that the method of directly replacing random parameters by their expectations is invaluable.
Solution 2. It is well known that the samples of random variables are also easily obtained; therefore, another simple technique is to produce some random samples of these random parameters and solve all the deterministic linear programming problems corresponding to the samples, and then we choose the best solution as the optimal solution.Now, produce 10 samples of a and b in 2.4 :

2.7
From Table 1, it is easy to see that the largest probability P θ * ∈ D is no more than 0.5.Consequently, this approach is almost useless for any practical problems.
To further testify the above conclusion about the technique in Solution 2, we consider the following stochastic chance-constrained programming, which relaxes the constraints in 2.4 : Generate 10000 samples of a, b , replace a, b by the samples, and calculate all the deterministic programming problems.We can find that there is almost no solution satisfying the constraints of 2.8 among 10000 solutions.

Solution 3.
In the following, we analyze a traditional but indirect approach, which is to convert SLP into an equivalent deterministic programming problem and obtain the optimal solution by some deterministic programming algorithms.
From the constraints in 2.8 , we have where Mathematical Problems in Engineering and then the SCLP model 2.8 is equivalent to the following deterministic nonlinear programming:

2.11
Setting the initial value X 0 0, 0 , then the optimal solution θ * and the optimal value f * of this nonlinear programming model are 12 and we can have the probability P θ * ∈ D 0.9025.
From the above calculation and analysis of the three methods, we can conclude that the former two are not feasible regardless of their simpleness and the third one is valid.However, the third measure is indirect and the obtained equivalent deterministic programming is usually a nonlinear programming whose calculation is difficult and sometimes impossible.Therefore, it is necessary to find some novel direct computation method.Recently, a direct and effective algorithm, that is, genetic algorithms, has been put forward and rapidly developed to solve the stochastic chance-constrained linear programming, see, for example, the work of Liu in 9 , of Ding et al. in 10 , and of Ding and Sun in 11 .However, they are always designed aiming to solve every specified problem, depending on experiment and lacking the common theory basis.
In next section, we propose a direct and universal algorithm of SCLP, simplex algorithm based on stochastic simulation, and build its theory basis.Then we design the detailed procedures of the algorithm, which are easily changed into the executable codes of software.

Simplex Algorithm Based on Stochastic Simulation
In SCLP model, on one hand, the meaning of "min" is not clear because of C being random vector; on the other hand, it is difficult to judge the convexity of SCLP which is required by optimization theory.Therefore, the computation problem of the SCLP is very difficult.In this section, we propose a satisfying algorithm, that is, simplex algorithm based on stochastic simulation, to overcome this difficulty.Firstly, several problems in SCLP are handled by stochastic simulation.Then, we build the theory basis of this algorithm by theoretical analysis.Finally, the detailed procedures of this algorithm are designed.
According to the theory of stochastic chance-constrained linear programming, we can transform 2.2 into the following programming model: where f is the target function and α, β are the confidence levels of the target function and constraint, respectively.
Similarly, model 2.3 can be transformed into min f 3.2

Judging the Chance Constraint
Consider the chance constraints in 3.1 : where the random matrix A and the random vector b have a known joint probability distribution Φ A, b .Then we check whether the chance constraint holds or not if we have a solution X by applying the stochastic simulation method the Monte Carlo simulation .The algorithm is as follows.
Step 4. Repeat Step 2 to Step 3 N times.

Handling the Target Function
Consider the target function with the random parameter vector C: For any given vector X, the minimum objective function f can always be found by stochastic simulation, and the algorithm is as follows.
Step 2. Compute {C T k X, k 1, 2, . . ., N} and arrange the results according to the ascending order.
Step 3. Set N as the integer part of βN.
Step 4. Return the N th largest element in the set {C T k X, k 1, 2, . . ., N} as the estimation of f.

Checking the Estimation Number
In order to check the estimate of probability, we test and return the random variable t j , such that where t j is a random variable, c j is a deterministic number, and γ is a prescribed confidence level.
Step 3. If t j − c j > 0, then N .
Step 4. Repeat Step 2 to Step 3 N times.
Step 6. Letting K be the integer part of γN, array {t j − c j , k 1, 2, . . ., N} according to ascending order, return the N − K 1 th element.

Theoretical Analysis
In this subsection, we aim to build the theory basis of simplex algorithm based on stochastic simulation by theoretical analysis.To begin with, we recall the basic principle of deterministic linear programming.According to the convexity of deterministic linear programming, the programming has optimal solution if the feasible solutions are finite, and the optimal solution must be in the range of the feasible solutions see the work of Zhang and Xu in 12 .Based on this theory, the simplex method is designed.Specifically, the basic principles of simplex method can be formulated as follows.First of all, find a feasible solution stochastically and check whether it is optimal; if it is not optimal, then we find another feasible solution which can improve the target function and check this solution again; repeat the above process until we find the optimal solution and the corresponding target value, or we can confirm that the programming does not have the optimal solution.According to these principles, we further consider the stochastic chance-constrained linear programming 3.1 . In where Z X T Y T T .Still mark C T 0 T Y T as C T , where 0 Y is a m × 1 zero vector, and then we have C T X C T Z. Based on the above assumption, the main principle of simplex algorithm based on stochastic simulation can be described as follows.Firstly, find a base matrix from H by random sample or Big M method Big M method is the most direct method and the base matrix is deterministic unit matrix .Secondly, search a feasible basic solution satisfying the chance constraint according to stochastic simulation, calculate the corresponding b denoted by b , then check whether it is the optimal solution by the sample value of C denoted by C , which is calculated by stochastic simulation method; if it is not optimal, according to the improvement principle, we can find the sample value of H denoted by H . Thirdly, solve the deterministic programming defined by H, b and C by simplex algorithm, and we can obtain a solution X which can improve the value of target function.Fourthly, check whether the solution satisfies the constraint.If it does not, change H, b, and C and check once more until we derive an improved solution satisfying the constraint.Repeat the above steps until we find the optimal solution or are sure that there is no optimal solution infinite optimal solutions .
Assume Z, B, b, U H B, U are the initial feasible solution, the feasible base, a sample value of b b is determined by checking whether B −1 b satisfies the constraint through stochastic simulation , and the nonbase matrix, respectively, and then we have 3.9 From 3.9 and the above discussion, we have 3.10 therefore,

3.11
Let H h 1 , h 2 , . . ., h n and J U be the lower label set of nonbase variables and where t j − c j is defined as the estimation number.Then we can derive Then, the programming 3.9 is converted into Theorem 3.4.If P t j − c j ≤ 0, ∀j ∈ J U ≥ α, then Z is the optimal solution of SCLP 3.14 and is denoted as Z * .
Proof.Since P t j − c j ≤ 0 ≥ α holds for all j ∈ J U , there is no new feasible solution satisfying the constraint and reducing target function value.Therefore Z must be the optimal solution.
Given a probability space Ω, F, P , assume

3.15
Then it is easy to know that Ω Ω 1 Ω 2 , Ω 1 Ω 2 ∅, and P Ω 1 P Ω 2 1.According to Theorem 3.4, if P Ω 1 ≥ α does not hold, there may be other new feasible solutions satisfying the constraint and reducing the target function value.Since P Ω 1 < α is equivalent to P Ω 2 ≥ α, we can compute estimation number P Ω 2 ≥ 1 − α by stochastic simulation and return some sample values of t j and also obtain some sample values of h j which is denoted as H. Then we can derive a feasible solution by solving the following deterministic linear programming by simplex method see the work of Zhang and Xu in 12 .

3.16
Now, we can begin solve the SCLP problem 3.1 by simplex algorithm based on stochastic simulation, and the steps are as follows.
Firstly, check the initial feasible solution Z.If all of the estimation numbers t j − c j ≤ 0 hold, then Z is the optimal solution; if t j − c j > 0 and B −1 h k ≤ 0, there is no optimal solution; otherwise, if t j − c j > 0 and some of elements of B −1 h k are positive, there must be a new feasible solution Z to reduce the target function value.
Secondly, check whether Z satisfies the constraint of 3.1 by stochastic simulation.If it does, continue to check whether it is the optimal one; if it does not, change a new H and the corresponding new b and repeat the above checking.
Finally, repeat the above two steps.The number of basic feasible solutions is finite; therefore, it is sure that we can find an optimal solution or the programming problem has no optimal solution.
In order to find a new basic feasible solution Z, let the vector h k k is the biggest estimation number of t k − c k enter the base vector and change the nonbase vector into a base vector.Set and let z B r 0. Then we obtain a new basic feasible solution Then, check whether Z satisfies the constraints by stochastic simulation.If it does, we figure out a new feasible solution.

Computation Procedure
In this subsection, we design the detailed steps for the simplex algorithm based on stochastic simulation according to the above algorithm analysis.These procedures can easily be converted into the executable codes of some software tools.
Step 1. Find an initial feasible base B.
Step 2. Find a basic feasible solution satisfying the chance constraints and the corresponding sample value of b denoted by b .Step 4. Check P t j − c j > 0 > 1 − α by stochastic simulation, and return sample value t j which satisfies the constraint.Produce a group of H by stochastic simulation.
Step 5. Select an H, and calculate the estimation number by t j − c j C T B B −1 h j − c j .Determine the lower label k by t k − c k max{t j − c j | j 1, 2, . . ., n}, and then let z k enter the base vector.
Step 6.If t k − c k ≤ 0, end the procedure.Then, the basic feasible solution is the optimal one and the target function can be calculated as f C T B b, or else, go to Step 7.
Step 7. Calculate h k B −1 h k ; if h k ≤ 0, end the steps.We can get the programming is infinite, or else, go to Step 8.
Step 8. Calculate the ratio to find the lower label r, and set z B r 0. Step

A Numerical Example
In this section, a simulation example is presented to illustrate the feasibility and effectiveness of the simplex algorithm based on stochastic simulation developed in this paper.In SCLP, the coefficients, X and f, are all random variables; therefore, the optimal solution may be different for different computation.In Table 2, we obtain three couples of optimal solutions by executing Algorithm 3.5 three times.
From the above results, we can know that every optimal solution satisfies the constraints, and there is a different confidence level corresponding to the optimal solution.Remark 4.3.From Solution 2 of Example 2.1, it is very difficult to obtain an effective result even if 10000 random samples are utilized.But we can obtain a satisfactory optimal solution using less than 20 samples in our experiment by simplex algorithm based on stochastic simulation.So it is clear that Algorithm 3.5, that is, simplex algorithm based on stochastic simulation, is effective and much better than the method in Solution 2 to Example 2.1.
Remark 4.4.Apparently, simplex algorithm based on stochastic simulation is a direct method and can be applied to any SCLP problem.Thereby, Algorithm 3.5 is also better than the traditional approach in Solution 3 to Example 2.1, which is indirect measure and only effective for some special cases.
Example 4.5.In this example, we consider a typical optimal decision problem in oil refinery production Kall and Wallace 5 .An oil refinery factory refines two kinds of crude oil denoted by raw 1 and raw 2 and provides gas denoted by prod 1 for the gas company and burning oil denoted by prod 2 for power company.A plan is needed one week before production.Assume that the yield π raw 1 , prod 1 of gas by raw 1 and yield π raw 2 , prod 2 of burning oil by raw 2 are random and yields of other products are deterministic.Therefore, set where ξ 1 is uniform distribution U −0.8, 0.8 and ξ 2 is exponential distribution EXP 0.4 .And let the requirement h 1 of gas and h 2 of burning oil be also random variables where η 1 is normal distribution N 0, √ 12 and η 2 is normal distribution N 0, 3 .
The amount of expending raw 1 and raw 2 are denoted as x 1 and x 2 , respectively, and the unit prices of raw 1 and raw 2 are c 1 2 and c 2 3, receptively.Therefore, the total cost is 2x 1 3x 2 .Again assume the production capability the largest amount of raw consumed per week is 100, that is, the constraint x 1 x 2 ≤ 100.

4.6
This problem has been dealt with by using a two-stage complement model in 5 , and now we solve it by our simplex algorithm based on stochastic simulation developed in this paper.
As we know that the decision x 1 , x 2 is made a week before production and cannot be changed during the next week.Moreover, in these decisions, confidence levels are necessary; these are

4.7
According to the decision principles: satisfying customer and minimizing loss, we can have the following SCLP problem:

4.8
If the confidence levels α 1 and α 2 are 0.8 and 0.

4.9
Remark 4.6.In this SCLP problem, the random variables ξ 1 , ξ 2 , η 1 , and η 2 obey uniform, exponential and normal distributions, respectively; therefore the joint distribution of them is so complicated that it is nearly impossible to find Φ −1 .Therefore the programming problem is difficult to be solved by using the approach in Solution 3 to Example 2.1.
Remark 4.7.Genetic algorithm based on stochastic simulation has been put forward by Iwamura and Liu 6 for SCL problems, which is also a direct and effective method.Supposing the scale popsize 30, the cross probability P c 0.5, the mutation probability P m 0.05, and the parameter in the rank-based evaluation function α 0.05, after running 500 generations, we obtain an optimal solution

4.10
Comparing 4.9 and 4.10 , we can see both of them satisfying all of the constraints.However, 4.9 can obtain a less minimum value; this is a better result than 4.10 .We should notice that their confidence levels are different.So simplex algorithm based on stochastic simulation is a practicable method.

Conclusion
This paper has studied the computation problem of stochastic chance-constrained linear programming and proposed a novel algorithm, simplex algorithm based on stochastic simulation.By a numerical example, several simple approaches have been tried to solve the SCLP problem, and the disadvantages of these methods have been analyzed.By theoretical analysis, the theory basis of the simplex algorithm based on stochastic simulation has been built and a theorem has been proved.Then the detailed procedures of the proposed algorithm have been designed, which are easily executed by some software tools.Finally, by two examples, the introduced algorithm has been verified to be better than the approaches used in Example 2.1 and be more effective than genetic algorithm based on stochastic simulation.
Based on the algorithm proposed in this paper, some possible further research topics include i the direct and universal algorithm for uncertain programming, such as fuzzy programming and nonlinear stochastic programming, see, for example, 10, 13, 14 ; ii the control and state estimate problems, see, for example, 3, 15-19 and the references therein.

T
with C B and C U being corresponding to the base variable and the nonbase variable of C, respectively.Computing the value of target function by stochastic simulation and chance constraintP C T b 0 ≤ f ≥ β, 3.8it is easy to obtain the sample value C of C and the target value f C as being any feasible solution and consider the following stochastic chance constrained programming:

− 1 b
with b and C being obtained by stochastic simulation in 3.1 .If the feasible base solutions in programming 3.14 are nondegenerative, from the above discussion, we can have the following theorem.

Step 3 .
Computing Z B B −1 b ∧ b and the target function value f C T B b by stochastic simulation, return the sample value C.

Table 1 :
The solutions and their probabilities θ * ∈ D.
9. Replace h B r by h k , and we have a new base.Then, compute the new basic feasible solution Z. Step 10.Check whether Z satisfies the chance constraints by stochastic simulation.If it does, go to Step 2; otherwise, go to Step 5. If, for all of H obtained in Step 4, Z does not satisfy the chance constraint, go to Step 2 to find a new b.

Table 2 :
The solutions and their probabilities θ * ∈ D.