Based on the properties of the optimality box, we next develop Algorithm 2 for constructing the permutation for the problem , whose optimality box has the largest relative perimeter among all permutations in the set S.
4.1. Procedure 5 for the Problem with Blocks Including More Than One Non-Fixed Jobs
For solving the problem
at step 9 of the Algorithm 2, we use Procedure 5 based on dynamic programming. Procedure 5 allows us to construct the permutation
for the problem
with the largest value of
, where the set
B consists of more than one block,
, the condition of Lemma 4 does not hold for the jobs
, where
denotes the following set of blocks:
. Moreover, the condition of Theorem 6 does hold for the set
of the blocks, i.e., there is a block
containing more than one non-fixed jobs. For the problem
with
, one can calculate the following tight upper bound
on the length of the relative perimeter
of the optimality box
:
where
denotes the set of all blocks
which are singletons,
. The upper bound (
5) on the relative perimeter
holds, since the relative optimality segment
for any job
is not greater than one. Thus, the sum of the relative optimality segments for all jobs
cannot be greater than
.
Instead of describing Procedure 5 in a formal way, we next describe the first two iterations of Procedure 5 along with the application of Procedure 5 to a small example with four blocks and three non-fixed jobs (see
Section 4.2). Let
denote the solution tree constructed by Procedure 5 at the last iteration, where
V is a set of the vertexes presenting states of the solution process and
E is a set of the edges presenting transformations of the states to another ones. A subgraph of the solution tree
constructed at the iteration
h is denoted by
. All vertexes
of the solution tree have their ranks from the set
. The vertex 0 in the solution tree
has a zero rank. The vertex 0 is characterized by a partial job permutation
, where the non-fixed jobs are not distributed to their blocks.
All vertexes of the solution tree having the first rank are generated at iteration 1 from vertex 0 via distributing the non-fixed jobs of the block , where . Each job must be distributed either to the block or to another block with the inclusion . Let denote a set of all non-fixed jobs , which are not distributed to their blocks at the iterations with the numbers less than t. A partial permutation of the jobs is characterized by the notation , where u denotes the vertex in the constructed solution tree and denotes the non-fixed jobs from the set , which are distributed to the block in the vertex of the solution tree such that the arc belongs to the set .
At the first iteration of Procedure 5, the set
of all subsets of the set
is constructed and
partial permutations are generated for all subsets
of the non-fixed jobs
. The constructed solution tree
consists of the vertexes
and
arcs connecting vertex 0 with the other vertexes in the tree
. For each generated permutation
, where
, the penalty
determined in (
6) is calculated, which is equal to the difference between the lengths of the maximal possible relative perimeter
of the optimality box
and the relative perimeter of the optimality box
, which may be constructed for the permutation
:
where
denotes the maximal length of the relative perimeter of the permutation
. The penalty
is calculated using
-Procedure 3 described in the proof of Theorem 5. The complete permutation
with the end
is determined based on the permutations
, where each vertex
s belongs to the chain
between vertexes 0 and
u in the solution tree
and each block
belongs to the set
. The permutation
includes all jobs, which are fixed in the blocks
or distributed to their blocks
in the optimal order for the penalty
.
The aim of Procedure 5 is to construct a complete job permutation such that the penalty is minimal for all job permutations from the set S. At the next iteration, a partial permutation is chosen from the constructed solution tree such that the penalty is minimal among the permutations corresponding to the leafs of the constructed solution tree.
At the second iteration, the set of all subsets of the set is generated and permutations for all subsets of the jobs from the block are constructed. For each generated permutation , where , the penalty is calculated using the equality , where the edge belongs to the solution tree and denotes the penalty reached for the optimal permutation constructed from the permutation using -Procedure 3. For the consideration at the next iteration, one chooses the partial permutation with the minimal value of the penalty for the partial permutations in the leaves of the constructed solution tree.
The whole solution tree is constructed similarly until there is a partial permutation with a smaller value of the penalty in the constructed solution tree.
4.2. The Application of Procedure 5 to the Small Example
Table 1 presents input data for the example of the problem
described in
Section 3.1. The jobs
,
and
are non-fixed:
,
,
,
. The job
must be distributed either to the block
,
, or to the block
. The job
must be distributed either to the block
, or to the block
. The job
must be distributed either to the block
,
, or to the block
. The relative perimeter of the optimality box
for any job permutation
cannot be greater than
due to the upper bound on the relative perimeter
given in (
5).
At the first iteration of Procedure 5, the set is constructed and permutations and are generated. For each element of the set , we construct a permutation with the maximal length of the relative perimeter of the optimality box and calculate the penalty. We obtain the following permutations with their penalties: , ; , ; , ; , .
At the second iteration, the block is destroyed, and we construct the permutations and from the permutation . We obtain the permutation with the penalty and the permutation with the penalty . Since all non-fixed jobs are distributed in the permutation , we obtain the complete permutation with the final penalty . From the permutation , we obtain the permutations with their penalties: , and , . We obtain the complete permutation with the penalty .
We obtain the following permutations with their penalties: , and , from the permutation . We obtain the following permutations with their penalties: , , , , , , , from the permutation . We obtain the complete permutation with the final penalty . We obtain the following permutations with their penalties: , , , from the permutation . We obtain the complete permutation with the final penalty .
We obtain the following permutations with their penalties: , , , from the permutation . We obtain the complete permutation with the final penalty .
We obtain the following permutations with their penalties: , , , from the permutation . We obtain the complete permutation with the final penalty .
From the permutation , we obtain the permutation with its penalty as follows: , . We obtain the complete permutation with the final penalty . We obtain the following permutation with their penalties: , from the permutation . We obtain the complete permutation with the final penalty . We obtain the complete permutation , from the permutation . We obtain the complete permutation , from the permutation . We obtain the complete permutation , from the permutation .
Using Procedure 5, we obtain the following permutation with the largest relative perimeter of the optimality box: . The maximal relative perimeter of the optimality box is equal to , where and the minimal penalty obtained for the permutation is equal to .
Since all non-fixed jobs are distributed in the permutation , we obtain the complete permutation with the final penalty equal to .