# EPO Extension of Dispatching Rules to Minimize Effects of Time Uncertainty in Production Scheduling
## 3 EPO Extension
### Computing EPO Values  
The \(E,P,O\) values are computed from the respective processing time values per unit (\(PTU\))-expected \(PTU\) (\(PTU_{E}\)), pessimistic \(PTU\) (\(PTU_{P}\)), and optimistic \(PTU\) (\(PTU_{O}\)). To compute the values \(PTU_{*}\) for the given job \(J_{TD}\) (\(job\) to \(do\)), we must collect historical data on the processing times of completed jobs that are similar to \(J_{TD}\) or that are produced on a similar machine/class of machines. Each completed job \(J_{D}\) (_job done_) is characterized by  
\[PTU_{R,J_{D}}=\frac{PT_{R,J_{D}}}{U}, \tag{1}\]  
where \(PT_{R,J_{D}}\) is the actual (coming from historical data) processing time of the job \(J_{D}\) and \(U\) is the number of units to be produced. Now, we must select the jobs that are similar to \(J_{TD}\). The similarity of two jobs \(J_{TD}\) and \(J_{D}\), which will be denoted as \(J_{TD}\sim J_{D}\), must be well defined to ensure that the values of \(PTU_{s}\) are reliable. Obviously, the similarity of jobs will strongly depend on the production specificity in a given production plant. In the trivial case, only jobs with identical production parameters will be considered as similar (such a defined similarity will be useful, for example, in enterprises with repetitive production). However, in many cases, the manufactured goods will differ from each other, sometimes to a large extent. In such a case, defining a good similarity measure might be a quite challenging classification task. One of the possible ways to handle this task is to use decision rules that are very helpful in solving classification/decision problems (cf. [46]). To become independent from the (enterprise-specific) definition of similarity of jobs, we introduce the following Similarity function:  
\[Similarity(J_{TD},J_{D})=\left\{ \begin{array}{ll}1&\text{if $J_{TD}\sim J_{D}$,} \\ 0&\text{otherwise,}\end{array} \right. \tag{2}\]  
where \(J_{TD}\) is a job to be scheduled and \(J_{D}\) is a job already completed. For example, if job similarity depends on changes to key production process parameters, a rule for determining the value of the similarity function could be defined as follows:  
\[\text{IF parameter}_{A}(J_{D})\
eq\text{parameter}_{A}(J_{TD})\text{ THEN Similarity}=0\]  
An alternative approach is to calculate the distance between the parameters of jobs using, for example, the Euclidean or Manhattan distance, and then use this to determine the value of the Similarity function. Historical data necessary to calculate the expected processing time per unit should satisfy the time criterion; jobs completed more than 10 years earlier are not the best indicator for forecasting the processing time of current jobs. It seems reasonable that the time horizon (_TH_) should be as short as possible, but large enough to include at least a dozen similar jobs. To take into account the time horizon, the Similarity function should be extended to the following form:  
\[Similarity(J_{TD},J_{D},TH)=\left\{ \begin{array}{ll}1&\text{if $J_{TD}\sim J _{D}$ and $PD_{J_{D}}\subseteq TH$,}\\ 0&\text{otherwise,}\end{array} \right. \tag{3}\]  
where \(PD_{J_{D}}\) is the production start date of \(J_{D}\). Additionally, we define the set of \(PTU_{R,J_{D}}\) of jobs that are similar to the job \(J_{TD}\) and fit in the time window:  
\[SSJ_{J_{TD}}=\left\{PTU_{R,J_{D}}\mid Similarity(J_{TD},J_{D},TH)=1\right\}. \tag{4}\]  
To compute \(PTU_{E,J_{TD}}\) (expected _PTU_ for job \(J_{TD}\)), \(PTU_{Q,J_{D}}\) (optimistic _PTU_ for job \(J_{TD}\)) and \(PTU_{P,J_{TD}}\) (pessimistic _PTU_ for job \(J_{TD}\)), the values in \(SSJ_{J_{TD}}\) are first sorted in non-increasing order, and then the following formulas are used (for PERT method, the \(PTU_{P}\) and \(PTU_{Q}\) values must be computed from historical data):