Page 59 - IJOCTA-15-2
P. 59

¨
                               D. Balpınarlı, M. Onal / IJOCTA, Vol.15, No.2, pp.245-263 (2025)

            4.2.2. Local search evaluation procedure and          As we will state in Section 4.2.3, we perform
                   moves                                      the move and create the corresponding neighbor
                                                              only if the move is allowed (i.e. if it is not in the
            Once the solution representation is defined, the  tabu list). Out of the neighboring solutions ob-
            neighborhood of a solution should be defined.     tained with allowable moves, our algorithm picks
            The neighborhood of a solution is the set of      the solution with the highest objective function
            all solutions that can be reached by some small   value and moves to this solution (i.e., makes this
            changes in the representation of the current solu-  solution the current solution) even if the neigh-
            tion. These small changes to the current solution  boring solution has a lower objective function
            are also called moves or movements. Consider a    value than the current solution. Suppose none of
            current solution represented by vector y. Every   the neighboring solutions obtained with allowable
            single move results in a change in y and creates a  moves is feasible. In that case, the algorithm exe-
                    ′
            vector y , which is a representation of one of the  cutes the following procedure, which is referred to
            neighboring solutions. For instance, changing a   as Infeasibility Procedure in Algorithm (2).
            0 entry (in the setup vector y) to 1 can be con-  It modifies the multiple item ELSIDD problem as
            sidered as a move. It creates a representation y ′  follows:
            of a neighboring solution. The objective function
            value corresponding to such a representation is        • introduces excess variables, e t ≥ 0, for
            computed by solving the formulation of the multi-        t = 1, . . . , T,
            ple item ELSIDD problem by a commercial solver         • modifies the capacity constraints (5) to
                                                                     measure the excess in each period as in
            where the y it variables are fixed to the values in
                    ′
            vector y obtained by such moves that correspond          (29) below:
                                                                         N
            to that particular neighboring solution. Below,             X
            we list and describe the moves we implement to                  x it ≤ C t + e t ,  t = 1, . . . , T,  (29)
            explore the neighborhood of the current solution:           i=1
                                                                                                 P  T
                                                                                                       e
                                                                   • changes the objective to min   t=1 t .
                  • Removing/Inserting a production period:       We are going to call this modified problem
                    For i = 1, . . . , N, t = 1, . . . , T, we check  as ELSIDD-FEAS. Note that ELSIDD-FEAS has
                    elements y it of representing vector y of the  an optimal objective function value of zero if
                    current solution. For some given i and t,  and only if multiple item ELSIDD is feasible.
                    if y it = 1 (y it = 0), we evaluate the neigh-  If all neighbors that can be reached by allow-
                                    ′
                    boring solution y , which is exactly equal  able moves are infeasible, the algorithm evaluates
                                                     ′
                    to y in all indexes except that y it  = 0  these neighbors by solving ELSIDD-FEAS given
                      ′
                    (y = 1).
                      it                                      their y vectors. If there are multiple neighbors
                  • Delaying production to the following pe-  that have 0 total excess, it means that feasible so-
                    riod: If the element y it of vector y of the  lutions have been reached. The algorithm reevalu-
                    current solution is equal to 1, we create a  ates these neighbors by solving the original formu-
                                                    ′
                    neighboring solution with vector y , which  lation for the multiple item ELSIDD problem, and
                    is exactly equal to y in all indexes except  picks the one with the highest profit. Otherwise
                         ′
                    that y = 0 and y ′ i,t+1  = 1.            (i.e. if still no feasible solutions are in reach), it
                         it
                  • Taking production to the preceding period:  picks the neighboring solution with the lowest to-
                    If the element y it of vector y of the current  tal excess and makes it the current solution. The
                    solution is equal to 1, we create a neigh-  algorithm then proceeds by evaluating the neigh-
                                                 ′
                    boring solution with vector y , which is  bors of this infeasible solution with the hope of
                    exactly equal to y in all indexes except  finally detecting a feasible solution. In case the
                         ′
                    that y = 0 and y ′ i,t−1  = 1.            Infeasibility Procedure needs to be carried
                         it
                                                              out in the first iteration of the TSA, i.e. if the
                                                              hybrid solution obtained from the LR turns out
             Algorithm 2. Neighborhood Search Algorithm.      to be infeasible, the above neighborhood evalua-
              1: procedure Search Neighborhood (y current, Tabu List)  tions are performed for up to five iterations (i.e.,
              2:  Make moves that are not in Tabu List, create neighbors
              3:  if All neighbors are infeasible then        for five distinct current solutions). If feasibility
              4:    implement Infeasibility Procedure         is still not achieved, the ELSIDD-FEAS is then
              5:  end if                                      solved by CPLEX where the setup vector (y) is
              6:  Determine the best neighbor
              7:  Update Tabu List                            not given, but is defined as a decision variable.
              8:  Return the best neighbor                    This step either yields a feasible solution to multi-
              9: end procedure                                ple item ELSIDD, or confirms that the problem is
                                                           254
   54   55   56   57   58   59   60   61   62   63   64