Reduction and Analysis of a Max-Plus Linear System to a Constraint Satisfaction Problem for Mixed Integer Programming

This research develops a solution method for project scheduling represented by a max-plus-linear (MPL) form. Max-plus-linear representation is an approach to model and analyze a class of discrete-event systems, in which the behavior of a target system is represented by linear equations in max-plus algebra. Several types of MPL equations can be reduced to a constraint satisfaction problem (CSP) for mixed integer programming. The resulting formulation is flexible and easy-to-use for project scheduling; for example, we can obtain the earliest output times, latest task-starting times, and latest input times using an MPL form. We also develop a key method for identifying critical tasks under the framework of CSP. The developed methods are validated through a numerical example.


Introduction
This research develops a solution method for a project scheduling using maxplus algebra (MPA).Goto [1] developed a solution method for two types of linear equations in MPA: ⊗ = A x b and = ⊗ ⊕ x A x b , where ⊕ and ⊗ are the max and plus operations in MPA.These equations, also referred to as maxplus-linear (MPL) equations, can be reduced to constraint satisfaction problems (CSPs) for mixed integer programing (MIP) [1].MPA [2] [3] is an algebraic system wherein the max and plus operations are defined as addition and multiplication, respectively.MPL representation is an approach to model and analyze a class of discrete-event systems with structures of non-concurrency, synchroniza-tion, parallel processing of multiple tasks, and so on.Such systems include production systems and project scheduling, the behavior of which is represented by linear equations in MPA.In project scheduling, the linear equation = ⊗ ⊕ x A x b is used to obtain the earliest start times x , while the equation ⊗ = A x b to obtain the latest event occurrence times x .If both matrix A and vector b consist of constants only, then the optimal solution is a unique constants vector.There are already solution methods for such case [4].On the other hand, if matrix A or vector b contain variables, then the optimal solution becomes a function of variables.For example, suppose that matrix A includes system parameters which correspond to the duration times.If matrix A or vector b is incorporated into other constraints, the existing solution methods cannot be used.Accordingly, Goto [1] developed a solution method for these equations by reducing the two MPL equations into CSPs for MIP.However, the reference does not provide a solution method for calculating other essential quantities in project scheduling.Therefore, we newly develop a solution method for calculating the earliest output times to all output transitions, latest task-starting times, and latest input times, all of which are represented by an MPL from.In addition, we develop a method to identify critical tasks under the framework of CSP, which shall be a key method in this article.

Max-Plus Algebra
We define a set , where  is the whole real line.Then, for max , x y ∈  , we define the following two basic operators: .

x y x y ⊗ = +
(2) Additionally, we define a set to add the following two complementary operators: The priority of operators ⊗ and  is higher than that of ⊕ and ∧ .We shall denote the zero and unit elements for operators ⊕ and ⊗ by ( ) ε = −∞ and ( ) 0 e = , respectively, and the unit element for operator ∧ by ( ) , and ε is a matrix whose elements are all ε , and e is a matrix whose diagonal elements are e and off-diagonal elements are ε .If , then * X repre- sents the Kleene staroperation defined below: where ( )

Reduction of the Relevant Operators to CSPs
The addition and multiplication operators are reduced to CSPs for MIP.For max , , are focused on.First, Equation ( 11) is reduced to a CSP.The resulting formulation is: where 1 2 , s s are binary variables, whilst M is a large positive constant called big-M.The big-M, 1 s , and 2 s play a role of switching the equal signs.By ge- neralizing this result for multiple numbers, the addition can be reduced to a CSP as follows: where , and , then the addition = ⊕ P X Y can be formulated as follows: , With respect to Equation (12), the multiplication of two numbers in MPA can be formulated as follows: .
Then, the multiplication of two matrices = ⊗ Q Y Z can be reduced to: .
Next, we focus on the two complementary operators: .
In a similar manner to the reduction of x y ⊕ , Equation ( 18) can be reduced to: By generalizing this result for multiple numbers, the minimization can be reduced as follows: , and , then the minimization of two matrices = ∧ P X Y can be formulated as follows: Next, we focus on Equation ( 19), which can be reduced in a straightforward manner from the definition of Z to: .
Then, the pseudo division operation Z can be formulated as fol- lows: .

MPL Representation
After defining the following relevant matrices and vectors, we introduce the MPL equations taken up in references [5] and [6]: • n : number of tasks; • p : number of external outputs; • q : number of external inputs;

B
{ e : if task i has an input transition j , ε : otherwise}; x , are calculated using is the weighted transition matrix, and vector .
Then, the latest task-starting times, L x , are calculated using is the weighted output vector which satisfies: ( ) \ \ E = c P C y .The latest input times, L u , are calculated using L x : As a consequence, the total floats of all tasks can be calculated using Equations ( 25) and ( 27): ( ) .
All tasks can be subsequently classified into two types according to [ ] , where the former one is classified as a critical task whereas the latter one as a non-critical task.

Reduction of MPL Equations to CSPs
We consider a solution method for Equation (25).A simple approach is to relax the equation into the following inequality: .
The solution that has the smallest elements satisfying Equation (30), also called the least solution, is given by E * = ⊗ x A b. We can reduce Equation (30)  to the following CSP for MIP in the following manner: It is notable that we can compute * ⊗ A b directly without calculating * A .After relaxing the equation, we reduce Equation ( 26) to a MIP with the help of Equation ( 17): Next, we consider a solution method for Equation (27).A simple approach is to relax the equation into the following inequality: The solution that has the maximum elements satisfying Equation (33), also called the greatest solution, is given by \ L * = x A c .We can reduce Equation (33) to a CSP for MIP in the following manner: .
Lastly, we focus on reducing Equation (29), the resulting formulation of which is as follows: ( ) Then, we reduce Equation (36) to a CSP for MIP as follows.
( ) If the total float i m is a real number, then Equation (37) can be computed by introducing a small positive constant ( ) ( ) holds.This is an important and key technique to classify all tasks into either critical or non-critical.

Numerical Example
A numerical example is presented to validate the developed framework.We use a personal computer with the following execution environment: • machine: Dell Optiplex 9020; • CPU: Intel® Core™ i7-4790 3.60 GHz; • OS: Microsoft Windows 7 Professional; • memory: 4.0 GB.
To solve CSPs, we use SCIP version 3.2.1.Figure 1 is a simple manufacturing system with five processes, two inputs, and one output, which is the same as taken in reference [1].Each node represents a task having a processing time equal to the node number.We feed raw materials to inputs 1 and 2 at t = 3 and t = 0, respectively.
The constant vectors and a matrix, d , A , b , and c , reflect the processing times, precedence constraints, locations of the external inputs, and locations of the external outputs, the definitions of which appear in Section 4.1.Since the solver cannot treat the zero element ε , we need to set the two constants big-M and zero element ε carefully.In accordance with the procedure in reference .We hence were able to obtain solutions by reducing the MPL equations to CSPs for MIP.

Conclusion
This research has developed a solution method for reducing a project scheduling problem represented by a max-plus-linear form.The resulting formulation was constraint satisfaction problems for mixed-integer programming.We attained calculating the earliest output times, latest task-starting times, latest input times, and critical tasks.Moreover, we also developed a method to classify all tasks into either critical or non-critical by introducing a small positive constant ( ) Our future works include a proper setting of the small positive constant as well as considering resource contentions.
vector which satisfies the following relation = ⊗ ⊗ b P B u.The earliest output times to all output transitions, E y , are then calculated by
j has an output transition i , ε : otherwise}; • : start or completion time of task i .The earliest task-completion times of all tasks, E x