Deep Cutting Plane Inequalities for Stochastic Non-Preemptive Single Machine Scheduling Problem

We study the classical single machine scheduling problem but with uncertainty. A robust optimization model is presented, and an effective deep cut is derived. Numerical experiments show effectiveness of the derived cut.


Introduction
The problem of scheduling a single machine to minimize the total weighted completion time is one of most well-studied problems in the area of scheduling theory in [1] [2].The textbook by Leung [3] provided excellence coverage of most advantage topic in scheduling problem.In this paper, we will concentrate on the situation that the period of length of each job is uncertain; additionally, only a set of possible period of length scenarios are predictable.Traditional, two classic approaches are used to manage this problem: Stochastic Programming and Robust Optimization.The Stochastic Programming approach optimizes the expected value of total weighted completion time over all scenarios.However, since the accurate probability of each scenario usually is difficult to achieve [4] [5], the Worst Case Scenario Analysis in Robust Optimization should be a better choice to manage this problem [6].
Our objective is to optimize the cost of the total weighted completion time in the Worst Case scenarios; the historical development of this question is shown in [7].This paper is organized in the fallowing way: in Section 1, we will build a model for this single machine scheduling problem; in Section 2, we will present an inequalities algorithm which is the corporation with the main idea of paper [8] [9], and is also an open question of Zhao's paper [10]; in Section 3, we will deeply explain the worst case scenario analysis and provide numerical example.In the Section 4, we run the computational test and display the methodology of efficient cutting inequalities selection for this model; finally, our extensive computational results are reported to demonstrate the efficiency and effectiveness of the proposed solution procedures.
The most common assumptions for non-preemptive single machine scheduling problem are shown in the following section.A set of n jobs are required to be executed in a single machine, and each job demands a period of processing length L. The machine can only execute one job at a time.
Variable Definition: the set of jobs required to be executed.• j W = the cost per unit of job j in the system.• s j L = the period of processing length of job j in scenario s. • s j C = the completion time of job j in scenario s.
• 1 ij δ = means the jobs i precedes job j in the schedule, and We consider the scheduling problem in the single machine environment without preemptive jobs.The purpose is to minimize the expected total weighted completion time over all scenarios.The stochastic model is shown in following.
min z (1) . . , where • Constraint (1) ensures that the optimal value is the minimum total weighted completion time in worst case scenarios; • Constraint (2) means the completion time of job j in scenario s should be greater or equal than the processing length of job j in scenario s plus the total completion time of the jobs which are executed to start before job i in scenario s.It ensures that no job is scheduled to start while another job is being executed; • Constraint (3) ensures that a job can be only executed once in the system; • Constraint (4) enforce 1 The model is an NP-hard problem as shown in [11].Although time-indexed linear programming formulations have received a great attention in solving single machine scheduling problem, see [12], the NP-hard scheduling problem is one of the most difficult questions.One possible solution is to generate cutting plane inequalities, as shown in [9] [13] [14], for machine scheduling problem.In the next section, we will develop a large set of inequalities that valid for this model.

A Set of Cutting Plane Inequalities for L
In this section, I will introduce a large set of inequalities which are valid for L, and a sufficient condition that is necessary to estimate those inequalities.In order to find those cutting inequalities, we divide the set of jobs n into three parts: {x}, I and then ( ) ( ) is valid for L where ( ) Proof.We assume that ( ) ( ) . Let C be a feasible schedule, and ( ) Q C .I will show how each step works in the following:

( )
Q C will increase be- cause it will rise the value of should be tight in all scenarios for the same reason. [ Step 2] Assume that job x follows job i p in schedule immediately, where i p I ∈ .Let C be the comple- tion time resulting from switching the order of job x and i p while keeping the same completion time for all other jobs, we can get: The same result holds if i p follows x immediately in C, so we can conclude that it makes no difference when we switch the order of job x and any job in I. on the other hand, it indicates ( ) Q C is the same when job x is scheduled to start before all jobs in I, after any one job in I, after any two jobs in I, ⋅⋅⋅, fter all jobs in I.In addition to that, in Step 1, we known that all jobs in { }

N x I
−  should be scheduled to start after all jobs in { } x I  , thus we can conclude that all jobs are scheduled in the order:{x}, all jobs in I, and jobs in { } p is scheduled to start after job i p in C, where i j < and , i j p p I ∈ .Let C be the completion time resulting from switching the order of i p and j p , while keeping the same completion for all other jobs.We have: . It proved that, with this condition, the jobs in I should be scheduled in order 1 2 , , , Instead of adding all inequalities to the model, we focus on three special cases which can be generated efficiently.
The numbers of inequalities are 2 2 2 Second, suppose that the inequality becomes to In total, we can generate ( ) Third, suppose there are N jobs and N scenarios, .
Then the inequality becomes We can totally generate 2 n inequalities in this case.
= , the following inequali- ties are valid for this model: In inequality ( 16), Clearly, ( 16) is an example of special case one, and (17); ( 18) are examples of special case two.

Worst-Case Scenario Analyses
In stochastic programming [4], it is assumed that we have recognized the probability distribution of the data set, and the goal is to minimize the expected value over all scenarios.On the other hand, worst case scenario analysis can be considered as another method to solve the stochastic model, its goal is to find a solution that minimize the cost in worst case scenario [6].Worst-case design is not intended to necessarily replace expected value optimization when the underlying uncertainty is stochastic.However, wise decision making requires the justification of policies based on expected value optimization in view of the worst-case scenario.Optimality does not depend on any single scenario but on all the scenarios under consideration.Worst-case optimal decisions provide guaranteed optimal performance for systems operating within the specified scenario range indicating the uncertainty.Here is a simple example to give us the real solution of worst case scenario method.
Example.We randomly generated a data set including 5 jobs and 7 scenarios in the Table 1, and assume all the coefficients of completion time be 1, so how to scheduling this single machine scheduling problem in worst case scenario model?
After solving this problem, we got the following result: the optimal solution is 783.1717, and the scheduling order is 1 3 5 2 4 → → → → .Additionally, since our objective function is to minimize the cost in worst case scenario, the relationship of optimal cost between worst case scenario and each single scenario should be interesting.Thus, we calculated the minimum cost and the optimal order across each scenario separately, and then we can get the optimal cost of other scenarios by this order.For instance, the optimal order for scenario 1 is 2 1 4 5 3 → → → → and optimal value is 478.28,so the cost will be 713.55 in scenario 2 and 723.06 in scenario 3 if we use this order.The result is displayed in Table 2.  To be surprised, the optimal order in worst case scenario model is following none of those scenarios.Also, the optimal cost in worst case scenario model is less than the largest cost in each scenario.To explain more specifically, if we choose to operate the machine by the optimal order of anyone one of scenario, the cost in worst situation is larger than the cost made from operating the machine by the optimal order from worst case scenario model.

Computational Results
In this section, we will show all the results from our computational test.Since we have already proved that our inequalities are working for this single machine scheduling problem, in order to test the efficiency of our inequities, we compare the computational time from solving the original model without any inequalities added, with all inequalities and with limited number of inequalities.We manage the model in following procedure: Our computational test indicated that adding all inequalities would increase computational time because of the time to generate those inequalities.In fact, many of those inequalities actually cut nothing in feasible region.In order to save computational time, we should select the most valuable inequalities to the model instead of adding all the inequalities.
It is interesting that the slack values of some inequalities are zero in the integer model.It is a message that those inequalities go through the optimal point.On the other side, it means that the inequalities we generate are efficient.Thus, our inequalities are helpful to reduce the computational time if we add the right equalities.The idea is that we add top n equalities with smallest slack value selecting from the case one and case two.In the test, we found that the slack value of inequalities from case two was larger than the slack value in case one.
Thus, the inequalities we add in the model are the top N smallest slack value inequalities from case one.We randomly generated 45 examples of the model with size range from n = 50 and s = 5 to n = 110 and s = 10.The number of variables and constraints, totally, ranged between 2710 variables and 120,305 constraints to 13,091 variables to 1,308,020 constraints.Note that most of constraints are the triangle constraints; hence it will be better to take the possible advantage from selecting the essential triangle constraints rather than adding all of them in the formulation.
The coefficients of decision variable in objective function, 1 2 , , , n w w w  were randomly generated from a continuous uniform distribution on [0, 50], and the length of processing time was drawn from a continuous uniform distribution on [0, 100].Totally, we generated M scenarios in data set.We used a computer that contained a 2.20 GHz AMD Turion X2 Dual Core processor and 4 GB RAM, and we run the model in CPLEX 12.2 in default setting, except that eliminated the cover cut, Gomory mixed-integer cut and mixed integer rounding cut generation.We compared the results from CPLEX with and without our inequalities added to the model.The gap between the LP relaxation and optimal integer solution is very small in each test, ranging from 0.0015% to 0.005%.
We summarized the computational results in Table 3 where the column "Reduction" indicated the reduction in percentage of the integer model without cut.
Three steps are required in order to reach the goal: a) Determine that any jobs in { } N x I −  should be scheduled to start after all jobs in { } unchanged or holding one condition if we switch the scheduling order of job x and any job in I. c) Determine that ( ) Q C is unchanged or holding the same condition as in b) if we switch the order of any two jobs in I.If all three steps are satisfied, the schedule of all jobs in { } x I  is settled and we get ( ) of step 1, 2 and 3, we can conclude that the minimum value of Q(C) can be achieved if the jobs are settled in the order:

Table 1 .
Table of process length.

Table 2 .
Table of worst case scenario analysis.