• No results found

Operation Problem at Container Terminals

6.3 CBC Algorithm

Based on the aforementioned observations, the formulation of Liu, Wan, and Wang should be updated as below:

[F] min L s.t.

Constraints (6.2) to (6.9) Constraints (6.11) to (6.29)

In this section, the CBC algorithm will be developed to solve [F] (assuming that [F] is a feasible problem). The CBC algorithm was rstly proposed in Hooker (2000) and extended by Codato and Fischetti (2006) to solve mixed integer programming with special structures. In the literature of port container terminal management, the CBC algorithm has been successfully adopted to nd the optimal solution for integrated yard truck and yard crane scheduling problem (Cao et al., 2010). Compared with traditional Benders' Cuts method, the CBC algorithm tries

to derive Benders' Cuts from the minimal set of inconsistencies of subproblem itself rather than the dual information of the original subproblem.

Note that the decision process of [F] can be naturally decomposed into two phases. The rst phase of the proposed problem is called [Master], which is the decision to determine the service start time, the total number of quay crane assigned, and the service completion time of each vessel. Sequenctially, the decision process of the second phase (denoted as [Slave]) starts and takes the output from the rst phase as input with the objective to check whether the output from the previous phase is feasible in the sense that the Non-crossing requirement among quay cranes can be satised or not. Specically, the two-phase decision process for [F] is summarized in the sequel.

For conciseness, vector notations are dened:

• x, the vector of {xski, xcki}i∈V,k∈Q

• y, the vector of {yijss, yscij, ycsij, yccij}(i,j)∈U

• z, the vector of {zki}i∈V,k∈Q

[Master] min L s.t.

Constraints (6.2) to (6.9) Constraints (6.11)

Constraints (6.22) to (6.26) Constraints (6.28) to (6.29)

si, ci, Li, L∈ ℜ+, ∀ i ∈ V, k ∈ Q (6.33)

Let (y, z) denote the output by solving the current [Master]. Then the second phase problem [Slave] is,

[Slave] min 0· x s.t.

xski ≥ li+ M · (zki − 1), ∀ i ∈ V, k ∈ Q (6.34) xski ≤ li+ M · (1 − zki), ∀ i ∈ V, k ∈ Q (6.35) xcki ≥ li+ M · (zki − 1), ∀ i ∈ V, k ∈ Q (6.36) xcki ≤ li+ M · (1 − zki), ∀ i ∈ V, k ∈ Q (6.37) xskj ≤ li+ M · (3 − zki − yijss− yjisc),∀ (i, j) ∈ U, k ∈ Q (6.38) xskj ≥ li+ M · (zki+ yssij+ yjisc− 3), ∀ (i, j) ∈ U, k ∈ Q (6.39) xckj ≤ li+ M · (3 − zki − yijsc− yjicc),∀ (i, j) ∈ U, k ∈ Q (6.40) xckj ≥ li+ M · (zki+ yscij+ yccji− 3), ∀ (i, j) ∈ U, k ∈ Q (6.41) xski− xsk−1,i ≥ 0, ∀ i ∈ V, k ∈ Q\{1} (6.42) xcki− xck−1,i ≥ 0, ∀ i ∈ V, k ∈ Q\{1} (6.43)

xski, xcki∈ ℜ+, ∀ i ∈ V, k ∈ Q (6.44)

Given a (y, z), if there exists a feasible solution for [Slave], say x, it can be concluded that (x, y, z) must also be an optimal solution for [F]. However, if [Slave] happens to be infeasible, it provides a hint that useful information can be explored from the Minimal Infeasible Subsystem (MIS) of the polyhedron P = {x | Constraints (6.34)−(6.44)}. Here the MIS of P is dened as any inclusion-minimal set of row indices of P such that the linear system has no feasible solution.

As pointed out in Codato and Fischetti (2006), in order to derive at least one combinatorial benders' cut from [Slave], one needs to convert the polyhedron P into an equivalent but special form, i.e., a polyhedron comprised of a set of conditional linear constraints plus a set of

unconditional constraints. Here the set of conditional linear constraints should follow the

prototype,

m· α+ aTβ≥ b (6.45)

where α is the realized value of a certain binary decision variable from [Master], β is a vector for continuous variables, and m (m ̸= 0), b, a are constants. And the set of unconditional

constraints only involves the continuous variables β. That is, a set of linear constraints similar to Inequality (6.45) but m takes the value 0.

To achieve the conversion for the current P , one possible way is to introduce continuous copies of decision variables y and z, ˆy and ˆz, into the problem [Slave]. After the conversion, the new but equivalent [Slave] problem is given below. Denote the row indices for constraints (6.56) to (6.60) in the current [Slave] by set ∆ and the row indices for the MIS of current [Slave]

by set Λ if the input (y, z) makes [Slave] infeasible. Note that the set Γ = ∆ ∩ Λ can not be an empty set, otherwise it implies that the original problem [F] is an infeasible problem which contradicts the previous assumption. Additionally, the set Γ can be decomposed into two mutually exclusive subsets Γy and Γz, where Γy contains the row indices related to Constraints (6.56) to (6.59) and Γz contains the row indices related to Constraints (6.60). For t ∈ Γy, there is an one to one mapping relationship between t and a particular element of ˆy (ultimately y, since ˆy is a continuous copy of y). Denote this binary decision variable as y(t). By the same token, for each t ∈ Γz, it links with an unique binary variable in z called z(t).

[Slave] min 0· x + 0 · ˆy + 0 · ˆz s.t.

xski≥ li+ M · (ˆzki− 1), ∀ i ∈ V, k ∈ Q (6.46) xski≤ li+ M · (1 − ˆzki), ∀ i ∈ V, k ∈ Q (6.47) xcki≥ li+ M · (ˆzki− 1), ∀ i ∈ V, k ∈ Q (6.48) xcki≤ li+ M · (1 − ˆzki), ∀ i ∈ V, k ∈ Q (6.49) xskj ≤ li+ M· (3 − ˆzki− ˆyssij − ˆyscji),∀ (i, j) ∈ U, k ∈ Q (6.50)

xskj ≥ li+ M· (ˆzki+ ˆyssij + ˆyscji − 3), ∀ (i, j) ∈ U, k ∈ Q (6.51)

The fundamental rationale of the CBC algorithm is: as long as (y, z)makes [Slave] infea-sible, it indicates that at least one binary variable in y and z has to be changed to break the infeasibility. This statement can be translated by a linear inequality called the Combinatorial Benders' Cut:

One or more Combinatorial Benders' Cuts of this type can be derived in correspondence to a given infeasible (y, z) and be added back to [Master]. By iterating the above procedure, an exact solution of [F] can be found in the spirit of Benders' decomposition (Codato and Fischetti, 2006).

In the application of the CBC algorithm for [F], as pointed out in the previous section, constraints (6.30) to (6.32) are valid inequalities for [F] and they can be added to the [Master]

for the purposes:

1. help to solve the [Master] subproblem as quickly as possible.

2. make sure that the solution generated by the [Master] subproblem will violate the quay crane Non-crossing requirement as least as possible and satisfy the constraints of the [Slave]

subproblem. Usually, by decomposing the original problem into the [Master] subproblem and the [Slave] subproblem, the connection between the [Master] subproblem and the [Slave] subproblem would become weak in the sense that the solution output from the [Master]subproblem tends to make the [Slave] subproblem infeasible. Therefore, adding these valid inequalities of the original problem to the [Master] subproblem can guide the [Master] subproblem to seek suitable solutions which are superior in the domain of the [Master] subproblem but also enhance the capability to t the constraints of the [Slave]

subproblem.

Such a strategy to add these inequalities is considered to be a contribution to the classic CBC algorithm. In sum, the following summarizes the procedures of the proposed CBC algorithm:

Step 1: Decompose the [F] into [Master] and [Slave]. Add the Valid inequalities (6.30) to (6.32) to strengthen [Master]. Transform the [Slave] by introducing continuous copies of binary decision variables, y and z. Let iteration counter ι equal to 1. Initialize the row index set

according to constraints (6.56) to (6.60) and let row index set Γ equal to ∅.

Step 2: At Iteration ι, solve the [Master] problem to optimality and obtain (yι, zι).

Step 3: With (yι, zι), solve [Slave]. If there is one feasible solution for [Slave], say xι, then stop the CBC algorithm and return the optimal solution (xι, yι, zι). However, if [Slave] is infeasible, examine the MIS of [Slave] and get the row index set Λ. Update Γ, Γ ← ∆ ∩ Λ.

Through Γ, generate Combinatorial Benders' Cuts in the form of (6.62) and add them back to [Master].

Step 4: ι ← ι + 1. Go to Step 2.