Reduction and Analysis of a Max-Plus Linear System to a Constraint Satisfaction Problem for Mixed Integer Programming ()
1. Introduction
This research develops a solution method for a project scheduling using max- plus algebra (MPA). Goto [1] developed a solution method for two types of linear equations in MPA:
and
, where
and
are the max and plus operations in MPA. These equations, also referred to as max- plus-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, synchronization, 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
is used to obtain the earliest start times
, while the equation
to obtain the latest event occurrence times
. If both matrix
and vector
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
or vector
contain variables, then the optimal solution becomes a function of variables. For example, suppose that matrix
includes system parameters which correspond to the duration times. If matrix
or vector
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.
2. Max-Plus Algebra
We define a set
, where
is the whole real line. Then, for
, we define the following two basic operators:
(1)
(2)
Additionally, we define a set
to add the following two complementary operators:
(3)
(4)
The priority of operators
and
is higher than that of
and
. We shall denote the zero and unit elements for operators
and
by
and
, respectively, and the unit element for operator
by
. If
, and
, then
(5)
(6)
Moreover,
(7)
(8)
(9)
is a matrix whose elements are all
, and
is a matrix whose diagonal elements are
and off-diagonal elements are
. If
, then
repre- sents the Kleene staroperation defined below:
(10)
where
is an instance that satisfies
and
.
3. Reduction of the Relevant Operators to CSPs
The addition and multiplication operators are reduced to CSPs for MIP. For
,
(11)
(12)
are focused on. First, Equation (11) is reduced to a CSP. The resulting formulation is:
(13)
where
are binary variables, whilst
is a large positive constant called big-M. The big-M,
, and
play a role of switching the equal signs. By generalizing this result for multiple numbers, the addition
can be reduced to a CSP as follows:
(14)
where
. If
, and
, then the addition
can be formulated as follows:
(15)
With respect to Equation (12), the multiplication of two numbers in MPA can be formulated as follows:
(16)
Then, the multiplication of two matrices
can be reduced to:
(17)
Next, we focus on the two complementary operators:
(18)
(19)
In a similar manner to the reduction of
, Equation (18) can be reduced to:
(20)
By generalizing this result for multiple numbers, the minimization
can be reduced as follows:
(21)
If
, and
, then the minimization of two matrices
can be formulated as follows:
(22)
Next, we focus on Equation (19), which can be reduced in a straightforward manner from the definition of
to:
(23)
Then, the pseudo division operation
can be formulated as follows:
(24)
4. Solution Methods for MPL Equations
4.1. MPL Representation
After defining the following relevant matrices and vectors, we introduce the MPL equations taken up in references [5] and [6] :
・
: number of tasks;
・
: number of external outputs;
・
: number of external inputs;
・
: input matrix,
{
: if task
has an input transition
,
: otherwise};
・
: output matrix,
{
: if task
has an output transition
,
: otherwise};
・
: system parameter,
: duration time in task
;
・
: input vector,
: input time to external input
;
・
: output vector,
: output time from external output
;
・
: state vector,
: start or completion time of task
.
The earliest task-completion times of all tasks,
, are calculated using
(25)
Matrix
is the weighted transition matrix, and vector
is the weighted input vector which satisfies the following relation
. The earliest output times to all output transitions,
, are then calculated by
(26)
Then, the latest task-starting times,
, are calculated using
(27)
Vector
is the weighted output vector which satisfies:
. The latest input times,
, are calculated using
:
(28)
As a consequence, the total floats of all tasks can be calculated using Equations (25) and (27):
(29)
All tasks can be subsequently classified into two types according to
or
, where the former one is classified as a critical task whereas the latter one as a non-critical task.
4.2. 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:
(30)
The solution that has the smallest elements satisfying Equation (30), also called the least solution, is given by
. We can reduce Equation (30) to the following CSP for MIP in the following manner:
(31)
If
, then
follows. It is notable that we can compute
directly without calculating
. After relaxing the equation, we reduce Equation (26) to a CSP for MIP with the help of Equation (17):
(32)
Next, we consider a solution method for Equation (27). A simple approach is to relax the equation into the following inequality:
(33)
The solution that has the maximum elements satisfying Equation (33), also called the greatest solution, is given by
. We can reduce Equation (33) to a CSP for MIP in the following manner:
(34)
If
, then
follows. Here, it is again remarkable that Equation (34) can compute
directly without calculating
. After relaxing the equation, we reduce Equation (28) to a CSP for MIP with the help of Equation (24):
(35)
Lastly, we focus on reducing Equation (29), the resulting formulation of which is as follows:
(36)
Then, we reduce Equation (36) to a CSP for MIP as follows.
(37)
If the total float
is a real number, then Equation (37) can be computed by introducing a small positive constant
. If
, then task
is critical since
follows. Conversely, if
, then task
is non-critical because
holds. This is an important and key technique to classify all tasks into either critical or non-critical.
5. 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,
,
,
, and
, 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 [1] , we set the constants to
and
. The resulted values from the solver are as follows: the earliest task-completion times:
, the earliest output time:
, the latest task-starting times:
,
Figure 1. A simple manufacturing system with five processes (the same as [1] ).
the latest input times:
the total floats:
, and the criticalities of all tasks:
. We hence were able to obtain solutions by reducing the MPL equations to CSPs for MIP.
6. 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.