Page 141 - IJOCTA-15-2
P. 141

E. Karabulut T¨urkseven, E. Gen¸c, and I. Safak / Vol.15, No.2, pp.330-342 (2025)
            availability over time; and each decrease of each  values. At every iteration a neighbor solution is
            resource as a rectangular block is modelled as a  randomly selected. If this new solution has a bet-
            dummy task as described above. Let A d be the     ter objective, then the search jumps on to the next
                                           ′
            set of such dummy tasks; and A = A ∪ A d . The    point. If the new solution does not have a better
            tasks in A d have predetermined start times σ i , 0  solution, then the search either remains on the
            as their sole predecessor, n + 1 as their sole suc-  current solution, or jumps on to the new solution
            cessor; and they all have a single mode.          with a probability that is a function of the differ-
                The varying resource model can be formulated  ence in the objective values and a concept called
                                ′
            as (2) - (14) using A instead of A, and an addi-  the temperature. Just like the actual annealing
            tional constraint                                 process applied to metals, SA algorithm starts
                                                              with high temperature, more likely to jump to
                 S i = σ i                ∀ i ∈ A d .  (15)
                                                              other solutions and explore the region; and grad-
                Although this new formulation appears to be   ually decreases the temperature to ensure conver-
            suitable for dealing with FixedTasks in our prob-  gence.
            lem, it is not directly applicable. The main reason   The search is conducted for C chains, where
            for this is that although the start times of Fixed-  each chain is initialized at different solutions. In
            Tasks are fixed, the durations are not. In other  each chain, there are S steps, where the number

            words, although t 1 values are predetermined, t 2  of neighbors generated n s , and the temperature
            changes during the execution. Underestimating     T is constant at each step. After each step, n s is
            t 2 values would cause the model to utilize a re-  increased and T is decreased. The general frame-
            source that has not yet been released by the Fixed-  work of the algorithm is given in Figure 5.
            Task. Therefore, for our specific implementation,
                                                                  A very important concept in SA is the concept
            we stick with the resource reduction strategy ex-
                                                              of neighborhood among the solutions. The neigh-
            plained in Section 3.
                                                              boring solutions should be easy to generate. With
            4.2. Simulated annealing                          minor changes in the solution vector, one should
                                                              be able to create feasible solutions. Hence, it is
            The lack of access to a commercial solver through-  of the utmost importance that the project exe-
            out the bank’s implementation requires the uti-   cution schedules have an appropriate representa-
            lization of a heuristic strategy for the solution  tion. The variables in Section 4.1 (S, x, z, y,
            tool’s deployment.   For this purpose, we pre-    and f) constitute a representation; a subset of
            ferred Simulated Annealing algorithm, which has   these variables may also constitute a representa-
            been used as an approximation tool for RCPSP      tion (such as S and z). However, minor modifi-
            and MRCPSP.   26–28  Simulated Annealing (SA) is  cations in these vectors are very likely to lead to
            a neighborhood-based local search algorithm that,  infeasible solutions. In our algorithm, we use a
            unlike greedy search algorithms, allows itself to  representation that consists of two lists, similar
            explore solutions with worse objective function   to the work in. 27

                 Find initial solution x_0, and set x_{best} = x_{current} = x_0
                 and f_{best} = f_{current} = f(x_0)
                 For C chains
                      Initialize T and n_s
                      For S steps
                          For n_s neighbors
                               Generate a neighbor x of x_{current}
                               Delta = f(x) - f_{current}
                               If Delta < 0
                                   x_{current} = x, f_{current} = f(x)
                                   If f_{current}<f_{best}
                                        x_{best} = x_{current}, f_{best} = f_{current}
                               Else
                                   With probability e^{-Delta /T}
                                        x_{current} = x, f_{current} = f(x)
                          Decrease T, increase n_s



                                             Figure 5. A Generic SA Algorithm
                                                           336
   136   137   138   139   140   141   142   143   144   145   146