Method for determining a processing sequence for processing an ensemble of semi-products
Patent Information
- Authority / Receiving Office
- EP · EP
- Patent Type
- Applications
- Current Assignee / Owner
- ARCELORMITTAL SA
- Filing Date
- 2023-07-28
- Publication Date
- 2026-06-10
Smart Images

Figure IB2023057689_06022025_PF_FP_ABST
Abstract
Description
Method for determining a processing sequence for processing an ensemble of semiproducts
[0001] The technical field is that of industrial scheduling, more precisely that of finding adequate processing sequences for processing, successively, different semi-products, on a same processing line.Technical background
[0002] Planning and scheduling operations is fundamental in the manufacturing industries, bringing efficiency to production, logistics or maintenance tasks, among others. Scheduling helps to coordinate and plan the use of resources, such as employees, equipment, and raw materials. Scheduling is critical for improving productivity, quality and service indicators, because it helps minimize downtimes, delays and unexpected disruptions in the production process. By improving planning and scheduling, inventories can also be reduced without impacting customer satisfaction.
[0003] In a steel factory, for instance, the planning and scheduling of all its units plays a critical role. The overall steel making process is complex, with many possible different routes and designs. Two big parts can be differentiated: Primary operations, where the pig iron is made from iron ore and coke at the blast furnace, refined into liquid steel by reducing its carbon content at the steel shop, and then solidified in the casters facilities into big blocks of steel (slabs, billets); and Finishing operations, where those slabs and billets are gradually subject to transformations in size (width, thickness) and mechanical properties (yield strength) along successive processes, and so transformed into a steel strip that is cut in sheets or wound in coils. The surface of the strip is usually protected against corrosion by surface treatments such as galvanizing or tinning. In the Continuous Galvanizing Lines (CGL), coils are unrolled and welded into a never-ending steel strip that goes into a furnace for annealing treatments, a zinc bath for galvanizing the surface with a zinc coating layer, and a skin-pass machine for mechanical properties refinement and rugosity control. The strip is eventually oiled for further protection and recoiled to be sent to the customer (Figure 1).
[0004] The planning and scheduling of all these processes at the steel factory is typically hierarchical, from the high-level planning of volumes and flows of campaigns along the units to the most operational low-level scheduling of the items to be processed in each unit for the day. Items (i.e., slabs, coils), or in other words semi-products, with similar properties are grouped in campaigns that are sequenced one after another attending to tactical and operational criteria, being service (customer dates) an important one. These decisions are taken by planning experts with the help of support tools. Finally, the schedulers at each facility need to decide the arrangement of the items of each campaign, usually for a horizon of 1 to 2days. The arrangement must respect some production rules and minimize as much as possible losses of quality, yield, productivity, etc. Finding the best arrangement is a complex combinatorial problem that needs the help of optimization techniques in order to build good quality schedules.
[0005] In practice, the coils of one campaign, though having similar properties, are usually different one from another and / or intended to lead to different final coils, after processing. So, each coil transition typically requires a modification of the process settings, which may impair the quality of the final product and / or the productivity. For the different possible coil transitions (i.e.: coil changes), the impact of the transition considered on the final quality and / or on the productivity is usually represented by a transition cost.
[0006] The fitness function, to be minimized to find an adequate coils scheduling, is usually the sum of all the transition costs. Aside to the transition costs, a wide set of production rules introduce scheduling constraints that forbid certain coils to be sequenced consecutively, because this brings issues or is not possible for certain machines at the CGL (for instance two coils that do not weld together, or two coils whose difference in strip width is over a given limit, or which have very different annealing temperatures targets in the furnace). If an infeasible sequence was to be processed in the CGL, there would be a risk of strip breakage, which represents a huge cost due to the unproductive long hours required to fix the issue. The strip has to be manually welded where it broke, and if this happens into the annealing furnace, the operation is very complicated, sometimes requiring more than 24 hours to accomplish it.
[0007] So, the first priority for the schedule is to have no constraints violated (i.e. : to be “feasible”), that is to have only workable transitions, and no forbidden (or so-called unwanted) transition, in the coils sequence. The second priority is to have minimum cost. If a schedule does have one or more constraints violated, that is, is not feasible (more precisely: not feasible as such), different actions can still be taken, like introducing linking auxiliary coils (sometimes called dummy coils), looking for more coils to try to fix the issue, or eliminating coils from the schedule. All these actions have a huge cost for the factory in terms of yield and service, and a significant loss of time.
[0008] An analogy of the problem described can be made with the Asymmetrical Travelling Salesman Problem (ATSP), in which the target is to visit a set of cities minimizing the total cost of the trip, knowing the cost or distance between each pair of cities (each city corresponding to a coil of the campaign). In the ATSP, the constraints would forbid to travel directly between certain cities, and the theoretical problem can be defined as a Constrained Asymmetric Travelling Salesman Problem (CATSP). It is noted that in the usual Travelling Salesman Problem (TSP), one looks for a cycle, that is, one accounts for the cost of completing the tour from the last city to the initial city, while in the CATSP described one looks for a path: the cost from last coil to first coil is not accounted.
[0009] Based on the above analogy, the scheduling can be optimized as a CATSP, using different possible metaheuristics, among them Ant Colony Optimization (ACO).
[0010] The problem of scheduling the production of different semi-products, to be processed one after the other on a same processing line, has been presented above in the exemplary case of a continuous galvanization line. But the same kind of scheduling problem clearly concerns any production campaign for which the semi-products, to be successively processed on the same processing line (typically a continuous or semi-continuous line), are potentially different one from another (i.e.: have different properties), or intended to lead to final semiproducts that are different from each other. In the steel making industry, for instance, the same kind of scheduling problem may be encountered for scheduling production at a hot rolling, or cold rolling mill, for a pickling line or for scheduling the production of a coating or finishing line different than a galvanization line. And in other industrial areas, the same kind of scheduling problem is encountered for instance, for the scheduling of car paint shops, in the automotive industry. In a general manner, by semi-product, it is meant an intermediary source-product, destinated, after processing, to become a part, a good, or another, more finished semi-product. In the steel-making industry, it is for instance a coil, a slab, a billet, a broom, an ingot, a bar, a beam, a tube or a wire.
[0011] In practice, these industrial scheduling problems, and CGL in particular, are aften strongly constrained, in that many transitions are forbidden, or at least to be avoided as much as possible. Finding feasible solutions to such a highly constrained CATSP may be very challenging. A method for finding feasible solutions with a high success rate is described in the following article: Alvarez-Gil, Nicolas, Segundo Alvarez Garcia, Rafael Rosillo, and David de la Fuente. “Sequencing Jobs with Asymmetric Costs and Transition Constraints in a Finishing Line: A Real Case Study." Computers & Industrial Engineering 165 (March 1 , 2022): 107908. https: / / doi.Org / 10.1016 / j.cie.2021.107908. This article presents a study of the CGL scheduling problem in 30 real-world challenging instances, focusing on assuring feasibility -i.e., all constraints are respected- in very constrained scenarios, proposing a new ACO variant with a novel local search (Interval Reconstruction, AS-IR) able to perform successfully where the algorithms so far in use failed.
[0012] Still, when scheduling a production campaign, it is sometimes desirable, in addition to already numerous constraints, to further fix (to prescribe) which of the semi-products is the start semi-product, in the processing sequence, or which one is the end semi-product, or to fix both.
[0013] This is useful in particular for optimizing campaigns linking. Indeed, at the junction between two successive campaigns, there is a transition between two semi-products and it is desirable, inter alia, not to have a forbidden transition at the campaigns junction. Besides, it is sometimes desirable, at the beginning of a campaign, to start with a given kind of semi-product(for instance with a wide coil, or even with the wider one), which dictates the start semi-product, and also the end semi-product for the preceding campaign.
[0014] In practice, the order of the campaigns is of high importance and is usually decided by the plant planning experts, who must take decisions concerning semi-products due dates, flow of campaigns in upstream facilities, planned downtimes, etc. The order of the campaigns is thus somehow dictated by various constraints, which then create constraints for campaigns linking. In particular, for the CGL, as the process is continuous, the end coil of one campaign must link to the start coil of the next campaign, still respecting all the standard scheduling constraints. Even though the schedules for each campaign are made independently, they must be consistent with the campaign linking, making sure that consecutive campaigns do link.
[0015] The linking requirement between campaigns above presented is called boundary constraints (BC) to the CATSP, here, and the corresponding problem is called CATSP-BC. The linking of schedules, as will be shown in the computation analysis below, has a big impact in the problem complexity. In fact, it poses a challenge to algorithms that otherwise would perform fine.
[0016] One objective of the instant technology is to improve the existing methods for determining industrial scheduling, so as to enable to find feasible solutions, with a high rate of success, even when the start semi-product, or the end semi-product, or both are fixed.Summary
[0017] To this end, a method according to claim 1 , for determining a processing sequence for processing an ensemble of semi-products, one after the other on a processing line, is provided.
[0018] In this method, the semi-products are seen as nodes in a graph, and the transitions between semi-products as arcs between the nodes. Arcs exist only between nodes with allowed transitions. Being restricted to finish the sequence in a given node (usually for linking campaigns purposes) makes the task much harder than in usual scheduling method, because the number of feasible sequences (feasible solutions) diminishes notably. To achieve feasibility, the heuristics must take all the correct decisions from the early stages rather than just go appending adjacent nodes. The instant method provides to the constructive heuristic the ability to look ahead, steering it in the correct direction towards the end node, thanks to the test of forecasted feasibility, achieved on the part of the graph that remains to be explored. The instant method enables guiding the heuristic to make right decisions regarding feasibility, based on the analysis of the graph containing the nodes still unused in the sequence under construction. One thus selects at each step a candidate node that leaves a good remaining graph (a good set of remaining nodes) ahead, increasing the chances of feasibility.
[0019] Regarding the test of forecasted feasibility, ideally, it would be a test of the Hamiltonian condition, that is a test that there is a Hamiltonian path on the remaining subgraph, starting from the candidate node considered and ending at the end node. For the recall, a Hamiltonianpath is path that visits every node of the graph considered (here said subgraph, which is a directed graph) exactly once. But testing the Hamiltonian condition is extremely resource demanding: it is impracticable from a computational point of view.
[0020] So, here, instead, the test of forecasted feasibility is based on the following key feature: when a Hamiltonian path exists from start to end node and we add an auxiliary arc from end to start node, a Hamiltonian cycle is assured. A necessary condition for having a Hamiltonian cycle in a directed graph is that the graph is strongly connected (SC). The method thus makes use of this condition to forecast feasibility: it will require the subgraph with the said auxiliary arc to be strongly connected in order to forecast that a Hamiltonian path may exist. Otherwise, if the subgraph is not SC, a Hamiltonian cycle does not exist, and so the graph cannot have a Hamiltonian path from start to end node.
[0021] A positive result of the test of forecasted feasibility does not necessarily guaranty that a Hamiltonian path actually exists. But a negative result surely shows that no Hamiltonian path exists. This test, which is much faster to achieve than testing the Hamiltonian condition, thus enables to quickly eliminate (i.e.: to avoid) candidate nodes that would lead to unfeasible solutions. It thus helps efficiently finding feasible solutions. As shown by the experimental results presented below, this test turns out to be extremely efficient in helping to find feasible solutions, while not requiring huge computing resources.
[0022] It is noted that a strongly connected test is not the only possible test that could be considered, for replacing the Hamiltonian condition test by a faster (but weaker) test. For instance, a weakly connected test could be considered; but it turns out in practice that a weakly connected test is not stringent enough.
[0023] Regarding the strongly connected test, it is also noted that, at first sight, is not a test that seems convenient for testing path feasibility. Indeed, it is related to cycling concepts (and is more suitable for cycles testing and characterization), the graph considered here is intrinsically non cyclable, as the arcs outgoing from the end node are removed (to have a sequence ending on this node). Still, thanks to the addition of the auxiliary arc, the cyclability is somehow restored for the sake of the SC test, which can then be employed as a substitute to the Hamiltonian condition test; which is beneficial as this test is more stringent than the weakly connected test.
[0024] For the recall, in the field of graph-analysis, a directed graph is strongly connected if each pair of distinct nodes is reachable from each other (for every pair of nodes, there is a path between them, and in each direction). While a directed graph is weakly connected if replacing all of its directed arcs with undirected arcs produces a connected (undirected) graph (there is a path between every two nodes, in the underlying undirected graph).
[0025] The method according to the instant technology may comprise one or several additional features, defined in claims 2 to 14, considered alone or in combination.
[0026] The instant technology also concerns a method for processing an ensemble of semiproducts according to claim 15, a scheduling device according to claim 16, a processing line according to claim 17 and a computer program according to claim 18.Detailed description
[0027] The instant technology will now be described in more detail and illustrated by examples without introducing limitations, with reference to the appended figures.
[0028] Figure 1 is a schematic representation of a continuous galvanisation line.
[0029] Figure 2 is a schematic representation of steps of a method for determining a processing sequence for processing an ensemble of semi-products on a processing line, such as the galvanisation line of figure 1 , according to the instant technology.
[0030] Figure 3 is a schematic representation, in the form of a block-diagram, of a step of candidate paths determination of the method of figure 2.
[0031] Figure 4 is a schematic representation of a step of next-node appending, executed during the step of candidate paths determination.
[0032] Figure 5 is a schematic representation of a test of forecasted feasibility.
[0033] Figure 6 is an exemplary, simplified graph representing an ensemble of semi-products to be processed, one after the other.
[0034] Figures 7 to 9 show a subgraph of the graph of figure 6, on which is based the test of forecasted feasibility.
[0035] Figures 10 to 12 show exemplary graphs presented to illustrate some definitions of graph-features, related to connectivity.
[0036] Figure 13 shows a graph, and corresponding subgraphs illustrating a two-level check, in the test of forecasted feasibility.
[0037] Figure 14 illustrate the principle of a specific local search method called “Interval Reconstruction”.
[0038] Figures 15 and 16 represent a subgraph, for which the test of forecasted feasibility is executed, for a real case of process scheduling (in which 28 coils are to ordered, before processing on a continuous galvanization line).
[0039] As mentioned above, the instant technology concerns, inter alia, a method for determining a processing sequence for an ensemble of semi-products to be processed one after the other on a processing line (that is: an order in which these semi-products are to be processed, one after the other), the semi-product that is the end semi-product in said sequence being fixed. This method can be applied to any of the industrial scheduling cases presented in the “technical background” section. In this method, a graph represents the ensemble of semiproducts, each semi-product being represented by a node. For determining the processing sequence, candidate paths are determined on this graph by gradually adding nodes to the pathunder construction. A test of forecasted feasibility is executed during the path construction, based on the portion of the graph that remains to explore. The test is positive when said portion of the graph, supplemented with an auxiliary arc, is a strongly connected graph, the auxiliary arc being a directed arc joining an end node of the graph, to the candidate node considered.
[0040] In the following description, the general structure of this method is presented first. Then, a test of forecasted feasibility, key to this method, is presented in more detail. Complementary practical aspects are presented then, and experimental results are finally described.General Structure of the method
[0041] As represented in figure 2, the method comprises the following steps, executed (in the following order) by a scheduling device: s001 : acquiring data relative to the ensemble of semi-products to be processed, and to the possible transitions between these semi-products; s002: Determining the processing sequence, based on a graph-analysis of the ensemble of semi-products and corresponding workables transitions; s003: transmitting the processing sequence to a Human-Machine Interface (HMI) and controlling the HMI for executing a step of validation or adjustment of the processing sequence by an operator; step s003 is optional; s004: transmitting the processing sequence to a line controller, and commanding the line controller so that it controls the processing line in order to process the ensemble of semi-product, one after the other, in the order specified by the processing sequence ; step s004 is optional.
[0042] The scheduling device comprises at least a processor and a memory. It may take the form of a stand-alone computer, electronic unit or server. But it could also be implemented in a distributed manner (somehow “virtually”), using so-called “cloud” resources (computing and storing resources distributed among distinct physical systems in a network, possibly located at different places). The scheduling device and the controller may be distinct from each other, or may be implemented as a single electronic device configured for planning and controlling the processing line. The scheduling device is programmed to execute the method in question.
[0043] In step s001 , the data acquired by the scheduling device specify in particular: the ensemble of semi-products to be processed,- which of the semi-products is to be the end semi-product, in the processing sequence, and also, here, which of the semi-products is to be the start semi-product in this sequence,- what transitions, from one semi-product of the ensemble to another, are forbidden transitions (transitions to be avoided as much as possible), the other transitions being called workable transitions,for each workable transition, and optionally also for the forbidden transitions, a transition cost Cy associated to the transition considered.
[0044] The data relative to the transitions may, like here, take the form of a cost matrix C. The cells of the cost matrix C are the transition costs Cy, each positive or null for workable transitions. By convention, the cells of the cost matrix corresponding to forbidden transitions may, like here, have Cjj=-1 . This practical convention allows an easy representation of the problem with a single cost matrix C from which one can obtain the adjacency matrix A, representative of the graph Gr corresponding to this scheduling problem.
[0045] In the adjacency matrix A, the matrix cell ay equals 1 (or another fixed, non-zero value) when the transition from the semi-product i to the semi-product j is workable, and equals 0 if it is a forbidden transition. In other words, ay= 1 when an arc exists between nodes i and j of the graph Gr, and ajj=O if there is no arc between these two nodes.
[0046] For workable transitions, each transition cost Cy may represent an estimated impact of the transition considered on the final quality of the semi-product (i.e.: on the adequacy between target properties expected for the semi-product - such as a target tensile strength, coating thickness, or surface roughness - and actually properties obtained at the end of the processing) and / or on the productivity of the line (rate of production, amount of material or energy required). More precisely, the more negative the estimated impact, the highest the transition cost. The transition cost may be estimated based on the discontinuities between the properties of the semi-products of the transition considered. For instance, for a CGL, these transition costs could be based assigned a penalty or bonus depending on the discontinuity in width, thickness, or zinc coating weight between two successive coils. For instance, the more the zinc coating weight differs between two coils, the more the penalty increases. Alternatively, the transition costs may be estimated more finely, by determining the consequence, on the process settings, of the semi-product change at the transition, and then determining the consequence of the modification of the process settings onto the quality or productivity, based on a physical model / simulation of the process, as described in document WO202194883, for instance. In alternative embodiments, the instant method may comprise the determination of the transition costs, based on the discontinuity of the semi-product properties, and / or on the consequence of this discontinuity on the process.
[0047] In step s001 , the data acquired may comprise inverses of the transition costs, 1 / cy, instead of transition costs, in alternative embodiments (indeed, providing values that are all the smaller as the transition impact is low is also a possible way to specify transition costs, to be representative of such costs).
[0048] It is noted that, in alternative embodiments, instead of acquiring data specifying which semi-product is to be the end one, and which is to be the start one, the method could comprise a determination of which semi-product is to be start semi-product and / or of which one is to bethe end semi-product, based on characteristics of the previous campaign, or based on characteristics of the next campaign (see figure 1).
[0049] For instance, the start semi-product, first_B, could be determined based on the end semi-product, last_A, of the previous campaign, campaign_A, so as to avoid a forbidden transition between last_A and first_B and / or so as to minimize the transition cost for the corresponding transition. The optimization of the campaign junction could also take into account more semi-products (not just the end and start ones), to implement a more global optimization of the campaign junction.
[0050] Similarly, the end semi-product last_B of the ensemble of semi-products to be sequentially processed (campaign_B), could be determined based on a start semi-product, first_C, of a subsequent campaign, campaign_C, so as to avoid a forbidden transition between last_B and first_C, so as to minimize the transition cost for the corresponding transition, or so as to obtain a global optimization for the campaigns junction.
[0051] As represented in figure 2, step s002 comprises the following steps: s01 : determining the graph Gr that represents the ensemble of semi-products and associate transitions, in which each semi-product is represented by a node and each workable transition between two semi-products is represented by a directed arc linking the two corresponding nodes; the graph Gr is a directed graph, s02: Determining one or more candidate paths on said graph, s03: Determining the processing sequence from the one or more candidate paths.
[0052] In figure 6, the graph Gr takes the form of an image of a graph (for visualization and illustrative purposes). Still, the graph Gr employed in the instant method can also take the form of a matrix (each cell of the matrix corresponding to a transition, either workable or forbidden, between two nodes), like the adjacency matrix A above mentioned. Step s01 may thus simply correspond to determining matrix A from the cost matrix C. Step s01 (which is optional) may also be omitted, if matrix A is acquired together with matrix C at step s001 , for instance.
[0053] Steps s02 and s03 are achieved according to an optimization procedure, to find a processing sequence that is, firstly, feasible, and secondly that minimizes a total cost C, equal to the sum of transition costs for all the transitions, from one semi-product to another, in the processing sequence. In step s03, the processing sequence is determined, for instance, as being the candidate path with the lowest total cost, among the different candidate paths that are feasible.
[0054] Each candidate path, on the graph Gr, corresponds to a candidate processing sequence. The successive nodes on said path corresponds to the successive semi-products of this candidate processing sequence (to be processed in the order specified by this sequence). Each arc of Gr is attributed a cost, which is the transition cost for the transition it represents. The (candidate) processing sequence is feasible (or, in other words, thecorresponding path is feasible) when it comprises all the semi-products (all the graph nodes) and no forbidden transition. It is not feasible when it comprises one or more forbidden transitions (when it violates one or more constraints). In other words, the corresponding path is not feasible when it comprises one (or more) transition (one “jump”), from one node to another, while there is no arc between these two nodes.
[0055] As explained in the “technical background” section, finding such a processing sequence can be formalized as CATSP problem.
[0056] Besides, in this method, the start semi-product and the end semi-product are both fixed. So, the candidate paths are restricted: to start on a given, start node, which represents the end semi-product, and to finish in a given, end node, which represents the end semi-product.
[0057] A formal definition of the problem is then: given a directed weighted graph Gr = (V, E), where V is the set of vertices or nodes and E is the set of arcs (i.e.: edges) between nodes (i.e.: vertices), and two nodes s, e e V, find the minimum-cost Hamiltonian path that starts in s and ends in e. The set V corresponds to the set of n semi-products to be sequenced (|V| = n). Each arc (i,j) in the set of arcs E is weighed with the transition costbetween semi-products i and j, and the arc exists if and only if the transition between the two semi-products is allowed (is workable).
[0058] With these boundary constraints, the solution sequence must beS = {start, 1, 2, 3, ... end] which minimizes the total cost C =, with atj = 1 for each pair of nodes (j, j + 1) of the sequence.
[0059] The boundary constraints have total priority for the solution. This means that even if there are feasible solutions without these constraints, start and end nodes must be respected no matter if that implies to deliver an unfeasible solution. The transition costs are provided for each pair of semi-products, in matrix C, independently of the nodes chosen as start and end of the sequence. In this regard, it is noted that one may find in E existing arcs outgoing from e, and incoming arcs to s, and one may find in E the arc (start, end) existing as well.
[0060] But this only means that those semi-products can be produced together (successively) in the line, regarding the production rules. But the boundary constraints invalidate those arcs for each specific problem. That is, the BC are not necessarily reflected in the matrix C provided. This convention simplifies the data representation: the same cost matrix C can be used for any chosen boundary coils.
[0061] Still, once e and s nodes settled, when looking for candidate paths, the arcs coming out from (outgoing from) the end node e, and the arcs leading to the start node s, if any, are removed from Gr (one may thus consider that, in step s02, Gr does not comprise such arcs).
[0062] The BC-CATSP problem above is solved using a constructive heuristic, that is by building the candidate sequences from start to end (rather than by insertion).
[0063] More specifically, in step s02, each candidate path starts from the start node s and is gradually constructed by executing several times successively (iteratively) a step s1 of nextnode appending, step s1 in which: a provisional path portion pp extends from the start node s, to a last node I of said path portion (see figure 6 for instance), among one or more candidate nodes cn, which are the nodes to which lead the arcs coming out from the last node I of the provisional path portion, one candidate node is selected, the selected candidate node is appended to the provisional path portion.
[0064] Besides, in a remarkable manner, for at least some of the candidate paths, the construction of the candidate path comprises the test of forecasted feasibility (a surrogate for feasibility), s11 , to avoid ending in a dead-end at subsequent steps of the path construction (that is, avoids to be blocked on a node with no outgoing arc while the path has not reached the end node, then forcing to make a forbidden transition to end-up the path), thanks to a specific connectivity check applied to the remaining part of the graph G.
[0065] For the candidate paths whose construction comprises this surrogate for feasibility, the candidate node that is selected and appended to the path, in step s1 , is a candidate node for which the result of the test of forecasted feasibility is positive, if any.
[0066] The test of forecasted feasibility is presented in more detail in the subsection “test of forecasted feasibility”.
[0067] The constructive method above mentioned, implemented in steps s02, can be, for instance of the Greedy Randomized Adapted Search Procedures (GRASP) type, or of the AGO type. In the following, the method is presented in the case of an AGO algorithm. As it is known, an AGO algorithm, whose generic pseudo-code is given in table 1 , is a population-based algorithm that performs stochastic constructive heuristics gradually improved by means of positive feedback (pheromone).
[0068] Table 1Algorithm 1 ACO algorithms framework1 Set the parameters2 Initialize the pheromone values (sO)3 while (termination criteria not met ; s4 ) do4 PerformAntsSequenceConstruction (si)5 PerformLocalSearch (optional ; s2)6 UpdatePheromoneValues (s3)7 end while
[0069] As represented in figure 3, being implemented as an ACO algorithm, step s02 comprises here the following steps: sO: initializing pheromone values, on the different arcs of the graph Gr, s1 : performing the construction of one more step for each candidate path (i.e.: adding one node to each candidate path), the different candidate paths being associated respectively to different ants ai, a2, ... , am, each ant exploring gradually the graph Gr to build the corresponding candidate path (each ant moving one node forward at each new execution of step s1 , here), s2: optionally, performing a modification of the candidate paths resulting from steps s1 , according to a procedure of the local search type, s3: updating the pheromone values (based on the results of step s1 , or optionally s2, obtained for the ensemble of ants), s4: if a termination criteria is not met, executing again the set of steps comprising steps s1 , s2(optionally) and s3.
[0070] The termination criteria may concern a total computation elapsed from the initizalizing and / or the fact that a given proportion of ants have reached the end node.
[0071] The number m of ants may be from n / 10 to 20. n, for instance (n being the number of nodes in Gr).
[0072] Different types of ACO algorithms can possibly be used, in this scheduling method, like the Ant System algorithm, the Ant Colony System or other known ACO algorithms. Still, they don’t perform all equally well. The Ant System algorithm was found to be an adequate choice (performs better than the Ant Colony System, for instance). The choice of the ACO algorithm is presented in more detail below (in the subsection “complementary practical aspects).Test of forecasted feasibility
[0073] As above mentioned, for at least some of the candidate paths (at least some of the ants), the step of next-node appending s1 comprises the test of forecasted feasibility s11.
[0074] This test may be carried on for all the candidate paths.
[0075] Anyhow, for each candidate path to which the test is applied, during the gradual construction of the path, the test is carried on as follows.
[0076] For each execution of the step of next node appending, s1 , the test of forecasted feasibility s11 is applied to at least one of the candidate nodes cn that could be added to the provisional path portion pp (figure 6), in step s1.
[0077] For the recall, the provisional path portion pp is the part of the candidate path that has already been constructed. The candidate nodes cn are the nodes adjacent to the last node Iof the provisional path portion (i.e.: linked to I by one arc of the graph, or, in other words, directly accessible from I, with no constraint violation, which is also called being reachable from I, below).
[0078] The test of forecasted feasibility s11 is based on a subgraph G, which is the remaining part of the (main) graph Gr (i.e.: G corresponds to Gr, but with the provisional path portion pp removed from it). The result of the test is positive on condition that the subgraph G, supplemented with an auxiliary arc aa is a strongly connected graph, the auxiliary arc aa being a directed arc joining the end node e to the candidate node cn considered (see figure 7, 8 or 9 for instance). As will be described later, additional conditions may apply, for the result of the test to be positive.
[0079] Our test requires that the whole subgraph is strongly connected, i.e., the number of strongly connected components is exactly one. Testing for this strongly connected condition can be done by making use of algorithms such as Tarjan’s or Korasaju’s which are able to find in polynomial time all strongly connected components in a graph. This test turns out to be very efficient in practice (in particular when comprising a next-level feasibility check, presented below). Some explanations about graph connectivity are also presented just below, to provide an explanation for the test efficiency.
[0080] Before going into details, we will give a few basic definitions related to graphs. As already mentioned, a directed graph (or digraph) is called weakly connected (WC) if replacing all of its directed edges with undirected edges produces a connected (undirected) graph. A digraph is called strongly connected (SC) if each pair of distinct vertices is reachable from each other. We call WC components and SC components subgraphs in a graph that are WC and SC respectively. For instance, the graph of figure 10 is weakly connected and comprises of four strongly connected components (identified by different grey levels).
[0081] For a surrogate feasibility check to be reliable, it is preferable to look not at node level but at the whole graph. A necessary Hamiltonian condition is to always require the remaining graph to be weakly connected (WC), avoiding getting a disconnected graph like in Figure 11. This basic condition is correct but not sufficient. Indeed, the graph depicted in Figure 10, for instance, is WC but does not have a Hamiltonian path.
[0082] However, to require a SC graph as a condition for feasibility is too strong a condition when looking for paths, and not cycles. Indeed, it can be seen in Figure 12 that one can trace a Hamiltonian path from start to end, yet the graph is not SC (there are two SC components, depicted white and grey, but the whole graph is not SC).
[0083] In this context, a key to an effective method lies in the closing of a cycle between end and start, by adding the auxiliary arc aa from end to candidate node. With this arc, one allows going through all nodes from start to end and finally get back to start node (in a cyclic manner). As a result of closing the cycle, graphs become SC when a Hamiltonian path exists (see forinstance figure 8, where drawing an arc end, start) make this graph, for which the Hamiltonian condition was fulfilled, SC). Although this test does not totally assure the feasibility (it is not directly a test of the Hamiltonian condition itself), it is based a condition much stronger than WC and gets closer to the Hamiltonian condition. A negative result of the test assures a nonHamiltonian condition and allows to reject the candidates with total guarantee.
[0084] This requirement of a SC graph, after adding the arc end, start), is illustrated in Figures 6 to 9. The nodes {start, ... last} belong already to the sequence, and, in this example, one has 3 candidates {1 , 2, 3} incident to last, from which to choose. The test does not identify directly which candidate will assure a Hamiltonian path, but which one will surely spoil it, in order to reject it as a valid node to continue the sequence. One removes last node and its arcs, and draws an arc from end node to the candidate node being checked. One can see to in figure 7 how choosing candidate 1 renders the graph WC but not SC. Instead of one SC graph, one gets 3 SC components. One sees in black and grey candidates 2 and 3 that cannot be visited starting from 1. This means that there is no Hamiltonian path from node 1 to end, and therefore we can reject node 1. In figure 8, one sees the impact of choosing candidate 2, drawing an arc (end, 2). In this case, one gets 2 SC components, and one can see that node 3 cannot be visited after node 2. Thus, this candidate is also rejected. Finally, the graph in figure 9 corresponds to the choice of candidate 3. One draws an arc (end, 3) and the result is a SC graph, in which all nodes are reachable from all the rest. This is the only valid candidate in this simple example. And a Hamiltonian path starting from node 3, continuing to node 2 and to node 1 , and then on towards end node can be drawn, in this case.
[0085] In practice, the complexity of the graphs goes beyond the simple cases of figures 6 to 12, used for illustration. Computational tests have led to a refined surrogate feasibility check, which involves repeating this analysis one step further with the nodes that are adjacent the candidate node considered (that is, with the next step’s future candidates - see figure 13). This more-in-depth test is still not a perfect check of the Hamiltonian condition, but it turns out to be highly sufficient to effectively guide the heuristics towards the end node reliably, in practice.
[0086] This refinement is presented below, in the subsection “complementary practical aspects”.Complementary practical aspectsIn-depth feasibility check
[0087] As above mentioned, the test of forecasted feasibly s11 may comprise a check s111 that at least one of the next-level nodes nln, adjacent to the candidate node being tested, is a good candidate for keeping on the path construction (see figure 13).
[0088] More specifically, step s11 may comprise, like here (figure 5):a step s110 (level-1 test) of checking that, for the candidate node considered, the subgraph G supplemented with the auxiliary arc aa end, candidate) is strongly connected, then a step s111 (level-2 test), of checking that, for at least one of next-level nodes nln, a test graph tG, supplemented with an additional arc ada, is strongly connected, the test graph being : subgraph G but the candidate node cn considered remove from it, the additional arc ada being a directed arc joining the end node to the next-level node nln considered, optionally, a level-3 test, or even more-in-depth level tests, to test if there exist a node, that are adjacent to potential next-node, and that would be adequate for keeping on the path construction.
[0089] In this case, the result of the test of forecasted feasibly s11 is positive when: the result of step s110, the result of step s111 , and possibly the results of other more-in-depth optional tests are all positive. Otherwise, the result of step s11 is negative.
[0090] In practice, a feasibility check until level-2 is a good comprise between the strength of the test and its computational cost. In this case, step s11 comprises just step s110 and s111 and its result is positive when both s110 and s111 are positive, and negative otherwise. This is the case considered below, in the rest of the description.
[0091] The benefit of going until a level-2 test of feasibility is illustrated below, with reference to figure 13.
[0092] This figure shows an example of the two-step analysis, where one can see how a one- step analysis may lead to a bad decision in some cases (may render the graph nonHamiltonian), while the two-step check is able to detect some of the possible issues. In the step 1 (level-1 check), one evaluates incident candidate nodes {1 , 2, 3} for last node. All the three candidates render the graph SC, due to a good connectivity of the remaining graph G. However, if one moves ahead to step 2 (level-2 check), not all these three initial decisions lead towards a Hamiltonian path: having selected node 1 , the only option for a Hamiltonian path is to go to node 5, because its only incoming arc is from node 1. One can see that the remaining graph (test graph tG) is SC and one can see a possible path to end node including all nodes; having selected node 2, however, implies the need to go to node 1 in step 2, if one does not want it to run out of incoming arcs. Unfortunately, the same happens with node 3. Whatever one selects in step 2, the graph becomes WC; the surrogate feasibility check s11 detects this, and discards node 2 as a candidate; having selected node 3 in the first step, the only next adjacent candidate in step 2 is node 4. Applying the surrogate check, the remaining graph gets SC, so node 3 is deemed a promising candidate for feasibility and is not rejected in step s11 . In thiscase, though, the surrogate check fails (a level-3 check would have been beneficial, in this particular case): in step 3, once node 4 is consolidated as last node, it has only two valid candidates, because end node is adjacent but must never be selected until the end. We can see how whatever of the two candidates is selected, the remaining graph leaves end node disconnected from the rest of nodes.
[0093] This means that the surrogate method can detect issues like the one brought by selecting node 2, but it is not -as we already know- a perfect substitute for the Hamiltonian condition. Nodes 1 and 3 would not be rejected, but only node 1 is a valid eventual option towards feasibility. Anyhow, this illustrates the usefulness of a level-2 check, which enables rejecting nodes that are in fact not promising, like node 2 in this example.
[0094] The pseudo-code of the surrogate feasibility check (test of forecasted feasibility), performing the graph analysis described, is shown in algorithm 4 and algorithm 5 (tables 2 and 3 below). The input to the surrogate Hamiltonian check is the partial sequence S, the remaining graph G and the candidate and end nodes (as seen in Algorithm 7 where the check is called).
[0095] Table 2Algorithm 4 SurrogateFeasibilityfS, G, candidate_node, end_node)1 last_node <— LastNodelnSequence(S)2 G' <- RemoveNodefG, last_node)3 feasible <- IsAdjacentfG, last_node, candidate_node)4 if feasible:5 if | V' | < 2: # cannot apply the surrogate check for less than 3 nodes6 return True7 feasible <- IsStronglyConnectedfG', candidate_node, end_node)8 if feasible:9 next_feasible <- False10 NextCandidates <- GetAdjacentNodes (G', candidate_node)11 if NextCandidates 0:12 next_feasible <- False13 for next_candidate in NextCandidates:14 next_feasible <- IsStronglyConnected (G', next_candidate, end_node)15 if next_feasible:16 Break17 end for18 feasible <- next_feasible19 return feasible
[0096] Table 3Algorithm 5 lsStronglyConnected(G, candidate, end_node) _1 G' <- GetSubgraphfG, candidate)2 G' <- DeleteOutgoingArcsEndNode(end_node)3 G' <- AddArcEndNodeToCandidateNode(end_node, candidate)4 is_connected <- IsStonglyConnected(G')5 return is connected
[0097] As already mentioned, this graph-based feasibility analysis can be implemented for any constructive heuristic that builds sequences from start to end (as different to insertionconstructive heuristics). That is, it is suitable to be embedded into constructive metaheuristics such as Greedy Randomized Adapted Search Procedures (GRASP), AGO, or other constructive metaheuristics.
[0098] To embed the test of forecasted feasibility, based on the graph analysis (GA) presented above, into the AGO framework one may modify the ants sequence construction, inserting the surrogate feasibility check. The new framework, shown in algorithm 6 (table 4), barely differs from the one in algorithm 1.
[0099] Table 4Algorithm 6 ACO-GA algorithm framework1 Set the parameters2 Initialize the pheromone values3 while (termination criteria not met) do4 PerformAntsSequenceConstructionGraphAnalysis5 PerformLocalSearch (optional)6 UpdatePheromoneValues7 end whileComputational efficiency
[0100] A drawback of the surrogate feasibility check is its computational cost: doing this analysis for each candidate node, for all the ants (ei.: for all the candidate paths under construction), in all the iterations (of step s1), has an exponential increase in the computation time. The performance would slow down drastically, for a direct application of the method. It is thus desirable to optimize the computational efficiency (even if this method is not primarily devised for very big sizes in short computation time; in practice the size of the schedules is usually under 200, or even under 100 nodes). Different features that improve the computational efficiency, are presented below.
[0101] A first technique for accelerating the feasibility check is to first preselect one of the candidate nodes based on transitions costs (and pheromone values), like in a standard AGO method, and then test the feasibility for this choice of candidate node (possibly iterating the procedure if the results of the test is negative, as represented in figure 4).
[0102] Indeed, the feasibility check is more resource demanding than the usual, costbased node selection. And so, preselecting one of the candidate nodes first, and then testing the feasibility for node preselected is much faster than the other way round (i.e.: faster than testing the feasibility for all candidate nodes, and then, among the “feasible” candidate nodes, selecting a node based one the cost - and pheromone - criteria).
[0103] To this end, the step of next-node appending, s1 , comprises here the following steps (figure 4): s10: preselection of one of the candidate nodes, based on the transition costs Cy for the arcs linking the last node I of the provisional path portion pp to the candidate nodes, and based on the pheromone values on these arcs; in other words, one candidate nodeis preselected by applying a standard ACO selection action to all the candidate nodes; then s11: the test of forecasted feasibility (presented above in detail) is applied to the candidate node that has been preselected,- when the result of step s11 is positive, the preselected candidate node is finally selected and appended to the provisional path portion pp (in step s12),- when the result of step s12 is negative, then: the preselected candidate node is removed from the list of candidate nodes (in step s13) and steps 10 and s11 are executed again, based on this updated list of candidate nodes.
[0104] So, steps s10 and s11 are iterated while the result of step s11 is negative, a different candidate node being preselected at each iteration, to test successively the different candidate nodes.
[0105] If the result of the test of forecasted feasibility s11 is negative for all the candidate nodes, then, a node of the graph, which is non-adjacent to the last node of the provisional path portion, is randomly chosen. In this case, the candidate path is labelled as non-feasible (as such), and the test of forecasted feasibility is no more executed for the rest of the construction of this path (as it would take time uselessly).
[0106] This design leads to the ACO-GA sequence construction logic shown in algorithm 7 (see table 5). One builds sequence S, initialized to start node. One first applies the feasibility check to start node, stopping it any further if the result is negative. Once one has confirmed that there may exist a (start, end)-Hamiltonian path one continues with next nodes. One first performs the standard selection method (based on transition costs and pheromones) for next candidate from a bag B’ with all the adjacent candidate nodes to the last node I currently in the sequence, and then perform the feasibility check for that selected node. If the node is accepted (feasibility test positive), one continues to next step; if it is rejected, one removes it from B’ and repeats this selection logic with the rest of candidate nodes until the feasibility check returns a positive result. In case there is no candidate acceptance for any of the nodes in B’, one continues with a random non-adjacent node, and we do not perform any more the graph analysis for this ant.
[0107] Table 5Algorithm 7 PerformAntsSequenceConstructionGraphAnalysisfG, start_node, end_node)1 S <- {start_node}2 feasible <- False3 if SurrogateFeasiblityfS, G, start_node, end_node)4 feasible <- True5 G <- RemoveNodefG, start_node)6 while S not complete7 last_node <- LastNodelnSequence(S)8 Bagadj<- GetAdjacentNodesfG, last_node)9 Bagadj<- Remove(Bagadj, end_node)10 if Bagadj= 011 feasible <- False12 candidate <- SelectRandomNodeNotAdjacent(V)13 else14 candidate <- SelectNextNode(Bagadj)15 if feasible16 while (not SurrogateFeasiblityfS, G, candidate, end_node) and Bagadj0)17 Bagadj<- Remove(Bagadj, candidate)18 candidate <- SelectNextNode(Bagadj)19 if Bagadj= 020 feasible <- False21 candidate <- SelectRandomNodeNotAdjacent(V)22 G <- RemoveNodefG, last_node)23 S <- Append(candidate)24 S <- Append(end_node)25 return S
[0108] A second technique for accelerating the feasibility check is to apply it, during the construction of the candidate paths, to only some of candidate paths. The proportion of paths (i.e.: of ants) for which the test is carried on (that is, for which the ACO-GA logic is used, or, in other words, with the GA capability enabled) during construction, may be above 30%, or even above 50% (for instance from 50 to 80%). This is possible because the GA feasibility test is effective enough: as will be seen in the computational tests, in all instances and all runs, a feasible solution is achieved by a confident percentage of the ants. With this good performance, one does need all the ants perform the analysis. Some percentage of the ants may be devoted to scout for feasible solutions with the GA capabilities, while the rest of the ants do not need perform the analysis; they just rely on the AS learning process (stigmergy) to build good solutions, exploiting the results of their companion GA ants. The percentage of ants with the GA capability may be typically of 50%, or more generally above 30%, or even above 70% (so that the proportion of ants with feasibility check is substantial, and thus influences the exploration by all the ants). Still, it may be noted that even a small percentage of ants with GA capability improves the results (regarding feasibility), compared to no feasibility check, and that this percentage could be small (eg.: smaller than 20% or even 10%, in some cases).
[0109] The two techniques above are both implemented, in the exemplary computational tests presented below, in the “Experimental analysis” section.
[0110] Besides, it is noted that the ACO-GA method is not as time-consuming as one may expect. Indeed, an ACO algorithm may be stopped (step s4 of figure 3) at a target time, or be run for a fixed number of iterations. It may also be stopped when a feasible solution is found, or when a given proportion of ants have each found a feasible solution. In the base ACO, a factor of success is to run efficiently numerous iterations in short time, hoping to eventually converge to a feasible solution. If a more robust approach like ACO-GA achieves feasibility already in the first iterations (which is the case in practice), then only a few iterations suffice.Choice of the ACO algorithm
[0111] Different types of ACO algorithms are known, including in particular the Ant System and the Ant Colony System (ACS). The ACS has a greedier action choice and a slightly different pheromone deposition, that performs well in big instances for problems like TSP. But it turns out that it has problems of stagnation, in particular for some small difficult instances (like the ones concerned here). Two alternative Ant System algorithms are considered, below: a base Ant System algorithm, called simply AS in the following, in which the optional local search step s2 is omitted, a more elaborate Ant System algorithm, called AS-IR in the following, in which the local search step s2 is achieved according to the Interval Reconstruction (IR) method described in the article by Alvarez-Gil et al. (march 2022) above mentioned.
[0112] Both algorithms are described in more detail below.AS algorithm
[0113] In addition to the cost matrix C, a pheromone matrix T (for trails) is employed. The set of m ants perform the construction of a sequence for n iterations, starting with a random node and continuing with next node based on a pseudo-random decision. The probability of a candidate node j to be chosen as the next one after node i is given by Eqn. 1where is the amount of pheromone on the arc (i,j) stored in T andits heuristic information inversely proportional to the transition cost stored in C for each arc (i,j), r / ij = 1 / Cij. The parameters a and / 3 control the influence of the heuristic information versus the pheromone. For forbidden transitions, we still leave them as candidates, but assign a penalty cost (some huge cost HC) that yields the probability virtually zero. At some point during the sequence construction, if no candidate coils remain, the candidates will have all of them a heuristic value rjtj = 1 / HC and therefore the final choice for those forbidden transitions willdepend only on the pheromone value T that each candidate transition has at that iteration. With this formulation, only valid transitions are chosen unless no other option exist.
[0114] After all the ants have completed their sequences, the pheromone matrix is updated. Before doing the pheromone deposition, we perform the pheromone evaporation for all arcs (j,j) in T according to equation Eqn. 2:Where p is the parameter that controls the rate of evaporation. After the evaporation, the pheromone is laid only for the arcs belonging to the best sequences. The number of best sequences is a parameter of the algorithm. Recommendations on pheromone deposition and initialization can be found in the following reference: Dorigo Marco and Thomas Stutzle, “Ant Colony Optimization" . First Edition, First Printing edition. Cambridge, Mass: MIT Press, 2004.
[0115] For the CATSP-BC, that is concerned here, a slight modification of the usual ant system algorithm is needed to assure complying with the BC. The start node is always chosen as the first node, and the end node is never used as a candidate until the last step of the construction.AS-IR algorithm
[0116] The Ant System with Interval Reconstruction is an evolution of the AS that embeds a local search (step s2) especially designed to look for feasibility. The method focuses on feasibility but also allows to reduce costs. It is an innovative approach to local search because it addresses the local moves using a partial constructive mechanism. This proves to be very efficient for highly constrained scenarios, where other local search kind of moves fail to improve the sequence.
[0117] The base algorithm is the AS, to which the IR local search step is added, as in Algorithm 1. The IR is performed over the best sequence (best ant) Sbestof each iteration, before the pheromone update. The IR targets an arc with a constraint violation or a high cost, and defines one interval window Wi around the nodes it links (see figure 14); a second window I / I / 2 is placed elsewhere randomly. The length of both intervals is selected randomly over a predefined minimum and maximum length interval (parameterized). Then all the nodes in the two intervals (or windows) are put together in a bag B = W1 II I / I / 2 from where they are redistributed in the now empty intervals
[0118] With probability p = 0.5 a window W, is chosen, and a node is selected from B among all the nodes that are adjacent to the last node in W,. If at some point no adjacent nodes remain at B, a random node is taken, which means a violation will be inevitably added. The node isremoved from the bag and the process is repeated until emptying it, getting a new complete sequence S’. Then cost is computed, without forgetting to include the arc from the windows ends to the next nodes in the sequence, right after the windows. If cost (including penalizations due to violations) is reduced, the new S’ is consolidated as the best improved sequence so far. The reconstruction is performed several times.
[0119] So, in step s2, the IR method can be implemented by executing the following substeps, for the best ant;Selecting among the transitions in the provisional path portion, a transition which is a forbidden transition or which is a transition with a maximal transition cost (transition corresponding to the arc labelled as target_arc, in figure 14),Selecting, in the provisional path portion, the first interval window, W1 , including the selected transition,Selecting (for instance in the provisional path portion) the second interval window W2, located randomly,Suppressing the first and second interval windows W1 , W2 from the candidate path (candidate sequence) under construction and gathering together the nodes of the first and of the second interval window to form a provisional node reservoir B, Reconstructing the first interval window and the second interval window that have been previously emptied, using the nodes of the provisional node reservoir B and while avoiding constraint violations (and reducing the cost) as much as possible.
[0120] The IR local search implementation is efficient, as it only computes differential improvements for its evaluations. And, being focused on violations to be fixed until a feasible sequence is found, the method is very effective in resolving constraints issues, as it proves in the computational analysis.
[0121] Concerning the BC, a modification is needed in the IR: if the second interval chosen includes the end node, one must make sure that it is never sent to the first interval, ant never placed at any other position than the last one. Although this requirement limits the moves of the IR, the method is still very powerful.Experimental analysis
[0122] In this section, the results of computational tests are presented and analyzed, comparing the following algorithms: AS, AS-IR, AS-GA (that is AS but with the test of forecasted feasibility implemented, as above described) and AS-IR-GA (AS-IR with the test of forecasted feasibility implemented). Aside to the summary results, the GA method at work is illustrated with an example of graph (figures 15 and 16) analyzed during the construction of the sequences.
[0123] For these tests, the 30 instances published in the article by Alvarez-Gil et al. (2022- april) are employed. These instances (i.e.: these scheduling to be determined) have been selected because of their difficulty, from daily schedules run on an actual CGL. Each instance is represented by a cost matrix named as cgl_n, where n is the size of the problem (number of coils to be sequenced), ranging from 17 coils to 114 coils.
[0124] For the campaign BC, in all instances, start node = 0 is chosen (that is, the first node of the matrix), and end node = n is chosen (that is, the last node), because one knows in advance that there is at least one (0, n)-Hamiltonian path. This is easy to see at first glance looking at the cost matrix, where one can check that none of the elements over the diagonal are constraints, which makes the trivial solution S = {0, 1, 2, 3...n} feasible. The only exception for this is instance cgl_38, in which only node 1 is reachable from 0 while visiting all nodes, and so we have set end node = 1 for this instance. It is noted that one can set multiple different BC problems using the same instance (the same cost matrix).
[0125] Experimental settings
[0126] The aim of these experimental tests is to analyze what improvement in performance the graph analysis method brings. A common implementation of the AS, in which the GA method and the IR local search methods can be activated or deactivated, has been employed.
[0127] The computational analysis was run in an Intel(R) Xeon(R) CPU E5-2695 v4 @ 2.20GHz machine with 32 GB of RAM.
[0128] The 4 algorithms have the same AS parameterization. The parameters for the AS are a = 1 , / 3 = 2, p = 0.5, and m = n, being m the number of ants and n the size of the instance. The number of ants n, though, is limited for the AS-GA and AS-GA-IR to a maximum of 40 ants in the instances with more than 40 nodes, as a streamlining strategy. This means that the AS- GA and the AS-GA-IR always run with fewer or equal of ants than the AS and the AS-IR. The number of best ants set up is nbest = 1.
[0129] The parameters used for the IR in the AS-IR are the ones used in the article by Alvarez-Gil et al. (2022-march): max_window_len = n / 3, min_window_len = 0, max_improvement_tries = 10 and max_reconstruction_tries = 30.
[0130] For assuring statistical significance, the 4 algorithms have been run 30 times each on every instance. All runs have the same fixed budget time of 180 s, no matter the size of the instances. This is an assumable computation time for a typical final, industrial user. It is higher than the budget time of 120 s set in the article by Alvarez-Gil et al. (2022-march) due to the higher complexity of the problem.Summary comparison of the algorithms
[0131] In table 6, one can see the results of the computational test. For each instance one can see the best cost and the number of infeasible runs (inf.) for the 4 algorithms. Each costof 100,000,000 stands for a constraint violation. Table 7 summaries the feasibly success rate (Success rate (%) of feasible sequences found in all instances, all runs).
[0132] The requirement, for industrial scheduling, is to run a robust algorithm able to assure feasibility in every run. The scheduler (the operator) does not know in advance if there is a feasible arrangement for the semi-products of the campaign to be scheduled. He will run the algorithm just once, and then will fix violations in case there are (e.g. adding auxiliary coils to the sequence, no requested by any customer, with a high cost in the production line). Many times, the ensemble of semi-products is not feasible, and no other option exists. But a robust algorithm able to reduce violations at maximum in the hardest scenarios will make the difference and save scheduling costs and time to the processing line. This is the reason why we look at the number of runs that have not found a feasible sequence, additionally to the best cost found in all the 30 runs.
[0133] Table 6AS AS-IR AS-GA AS-GA-IRInstance best cost inf. best cost inf. best cost inf. best cost inf. cgl_17.txt 5602 27 5602 0 5602 0 5602 0 cgl_26.txt 100005242 30 6522 0 6535 0 6522 0 cgl_28.txt 3654 0 3654 0 3654 0 3654 0 cgl_32.txt 8342 26 7128 0 7147 0 7128 0 cgl_33.txt 10874 27 10068 0 10083 0 10068 0 cgl_37.txt 6677 17 5673 0 5841 0 5673 0 cgl_38.txt 7253 0 7253 0 7253 0 7253 0 cgl_43.txt 100004005 30 7939 18 7351 0 7618 0 cgl_44.txt 100009102 30 100009102 30 11132 3 11122 2 cgl_45.txt 8622 19 8596 8 8619 0 8619 0 cgl_47.txt 6061 1 6061 0 6323 0 6061 0 cgl_48.txt 100010180 30 10733 7 10729 0 11017 0 cgl_48b.txt 6256 4 6013 1 5990 0 5900 0 cgl_50.txt 6664 0 6641 0 6622 0 6624 0 cgl_51.txt 12705 0 12668 0 12996 0 12868 0 cgl_51b.txt 5812 0 5469 0 5503 0 5496 0 cgl_57.txt 11209 8 9795 5 9739 0 9739 0 cgl_58.txt 5093 0 5093 0 5093 0 5093 0 cgl_60.txt 100010923 30 100010795 30 12073 0 12112 0 cgl_66.txt 10257 5 9368 0 9465 0 9420 0 cgl_70.txt 11391 0 11232 0 11104 0 10445 0 cgl_70b.txt 7345 3 7258 2 7470 0 7104 0 cgl_72.txt 100008447 30 13186 28 13686 0 13186 0 cgl_73.txt 100006715 30 8655 18 8227 0 7985 0 cgl_76.txt 11896 1 11752 0 12376 0 11224 0 cgl_78.txt 100010101 30 100010101 30 14272 0 14746 0 cgl_81.txt 10979 6 9191 3 8716 0 8929 0 cgl_88.txt 11506 4 11185 3 12284 0 12334 0 cgl_107.txt 7718 0 7377 0 8076 0 7859 0 cgl_114.txt 11592 0 11341 0 12577 0 12833 0
[0134] Table ?AS AS-IR AS-GA AS-GA-IR feasibility success rate (%) 56.89 79.67 99.67 99.78
[0135] The AS is only competitive in occasional runs in a few instances. In table 6; we can see that the base AS fails to find feasible sequences in some run in 21 out of the 30 instances: only 9 instances get 0 infeasibility runs. Its total success rate is only 56.89%.
[0136] The AS-IR, specifically designed for feasibility in complex instances (without BC), finds more feasible sequences, succeeding in 79.67% of the total runs. Yet in 3 instances it never finds a feasible solution (30 infeasibilities in the 30 runs) and in 1 more instance it only gets a feasible solution in 2 runs out of 30 (see 28 infeasibilities).
[0137] The AS-GA reaches a 99.67% feasibility success rate, failing only in 3 runs out of the total 900 runs, 30 per instance. Regarding costs it is very competitive, though the AS-IR gets to find better cost solutions in 11 instances (considering only instances with no infeasible run).
[0138] Combining both hybrid AS algorithms in the AS-GA-IR results in the best of the 4 algorithms: the feasibility success rate is 99.78%. Although the GA method has an important computational cost, the IR local search is quite efficient in comparison, so there is no major drawback, even computationally, in applying the IR local search to improve the already goodquality solutions built with the GA method.
[0139] Regarding efficiency, in the budget time chosen of 180 s, it is noted that the number of iterations run for the bigger instances when using GA decreases with size.
[0140] Regarding costs, table 8 shows the number of best cost results for all instances, both in average (only feasible sequences considered) and in minimum value of all runs. One can observe that the IR local search helps improve the sequences built by the ants, reducing costs. Yet the AS-GA is competitive in costs, getting minimum best cost in 11 out of the 30 instances without the help of any local search improvement (possibly because the best costs achieved do not sometimes differ notably).
[0141] Table 8An example of the graph analysis method at workIn Figure 15 and 16 one can see the GA method in action in instance cgl_28. End node is node 27. The only good candidate here is node 2, because no remaining node is incident to it except last node. In the graph (following the GA method described) one cannot see last node (nor the provisional path portion already constructed), only the candidate being checked; In this case, last node links to all the nodes seen in the graph of figure 14 (all nodes are candidates), making the decision at this stage very difficult. The (cost-based) preselection loop chooses several times some node that renders the graph not SC, like the case depicted in figure 15. Selecting node 9 splits the graph in two SC subgraphs: one with node 2, and the other one with the rest of nodes. The surrogate feasibility check detects this issue, discardsthe candidate, and tries other candidates: nodes 11, 5, 4, etc., with the same negative result from the check. Only when candidate node 2 is preselected and checked the graph evaluated is SC (see figure 16). One can see that in this case, following the described method, an arc (namely the auxiliary arc) is drawn from end node 27 to node 2 because the latter is the candidate node; this arc renders the graph SC. When choosing other candidate nodes, no arc enters node 2 anymore, which makes it impossible to visit node 2 in the future.
Claims
CLAIMS1. A method for determining a processing sequence for an ensemble of semi-products to be processed one after the other on a processing line, wherein the semi-product that is the end semi-product in the processing sequence is fixed, the method being a computer-implemented method and comprising:(s002) Determining the processing sequence, by optimizing a total cost equal to the sum of transition costs (cy) for all the transitions from one semi-product to another, in the processing sequence, o said determination being based on a graph (Gr) representing the ensemble of semi-products, in which each semi-product is represented by a node and each workable transition between two semi-products is represented by a directed arc linking the two corresponding nodes, and in which no arc comes out from an end node (e) representing the end semi-product, said determination comprising: o (s02) Determining one or more candidate paths, on said graph (Gr), each candidate path starting from a start node (s) and being gradually constructed by executing several times successively a step s1 of next-node appending, step s1 in which:- a provisional path portion (pp) extends from the start node (s), to a last node (I) of said path portion,- among one or more candidate nodes (cn), which are the nodes to which lead the arcs coming out from the last node (I) of the provisional path portion (pp), one candidate node is selected,- the selected candidate node is appended to the provisional path portion, o (s03) Determining the processing sequence from the one or more candidate paths,Wherein, for at least some of the candidate paths: step s1 comprises a test of forecasted feasibility (s11), applied to at least one of the candidate nodes (cn), said test being based on a subgraph (G) which is said graph (Gr) but with the provisional path portion removed from it, the result of said test being positive on condition that: the subgraph (G) supplemented with an auxiliary arc (aa) is a strongly connected graph, the auxiliary arc being a directed arc joining the end node (e) to the candidate node (cn) considered, the candidate node selected in step s1 is a candidate node for which the result of the test of forecasted feasibility is positive, if any.
2. A method according to claim 1 , wherein the semi-product that is the start semi-product in the processing sequence is also fixed, and wherein: in said graph, no arc leads to the start node (s) that represents the start semi-product, all candidate paths start from this fixed start node (s).
3. A method according to claim 1 or 2, wherein, in step s1 , the selection of one of the candidate nodes comprises the following steps: s10) preselection of one of the candidate nodes, based on the transition costs (cy) for the arcs linking the last node (I) of the provisional path portion to the candidate nodes, then s11) applying the test of forecasted feasibility to the preselected candidate node, and wherein, when the result of step s11 is positive, the preselected candidate node is finally selected.
4. A method according to claim 3, wherein steps s10 and s11 are iterated while the result of step s11 is negative, a different candidate node being preselected at each iteration to test successively the different candidate nodes.
5. A method according to claim 4 wherein, when the result of the test of forecasted feasibility is negative for all the candidate nodes, then, the test of forecasted feasibility is no more executed during the next executions of the step s1 , for the candidate path considered, and the candidate path is labelled as non-feasible.
6. A method according to any of the previous claims, wherein the result of the test of forecasted feasibility (s11) is positive on condition that the following additional test (s111 ) is also positive: the additional test is based on a test graph (tG) which is the subgraph (G) but the candidate node (cn) considered removed from it, the additional test is positive on condition that, for at least one of next-level nodes, the next-level nodes (nln) being the nodes to which lead the arcs coming out from the candidate node (cn) considered: the test graph (tG), supplemented by an additional arc (ada) which is a directed arc joining the end node (e) to the next-level node (nln) considered, is a strongly connected graph.
7. A method according to any of the previous claims, wherein the determination of the candidate paths is achieved by executing an algorithm of the Ant Colony Optimization type, said determination comprising: after step s1 , an optional step s2 of local search, and then astep s3 of pheromone update, the set of steps comprising step s1 , s3, and optionally s2 being executed several times successively.
8. A method according to claim 7, wherein said algorithm is an algorithm of the Ant System type.
9. A method according to claim 7 or 8, wherein, for at least one of the candidate paths under construction, step s2 of local search comprises the following steps:Selecting among the transitions in the provisional path portion, a transition which is a forbidden transition or which is a transition with a maximal transition cost (target_arc), Selecting, in the provisional path portion, a first interval window (W1) including the selected transition,Selecting a second interval window (W2) located randomly,Suppressing the first and second interval windows (W1 , W2) from the candidate path under construction and gathering together the nodes of the first and of the second interval window to form a provisional node reservoir (B)Reconstructing the first interval window and the second interval window that have been previously emptied, using the nodes of the provisional node reservoir (B) and while avoiding constraint violations as much as possible.
10. A method according to anyone of claims 7 to 9, wherein the constructions of the different candidate paths are achieved, respectively, by different artificial ants, and wherein the step s1 of next-node appending comprises the test of forecasted feasibility only for some of the ants.
11. A method according to claim 10 wherein the proportion of the ants, for which the step s1 comprises the test of forecasted feasibility, is above 30%, or even above 50%.
12. A method according to any of the previous claims, comprising a preliminary step (s001) of acquiring data that specify: the ensemble of semi-products to be processed,- which of the semi-products is to be the end semi-product, in the processing sequence,- what transitions, from one semi-product of the ensemble to another, called forbidden transitions, are to be avoided, the other transitions being the workable transitions, for each workable transition, and optionally also for the forbidden transitions, a transition cost (cy) associated to said transition.
13. A method according to any of the previous claims, further comprising: determining, among the ensemble of semi-products to be processed (Campaign_B), which semi-product is to be the end semi-product (last_B) in the processing sequence, based on characteristics of a next ensemble of semi-products to be processed (Campaign_C).
14. A method according to claim 2, or to any of claims 3 to 13 in its dependency to claim 2, any of the previous claims, further comprising: determining, among the ensemble of semi-products to be processed (Campaign_B), which semi-product is to be the start semi-product (first_B) in the processing sequence, based on characteristics of a previous ensemble of semi-products to be processed (Campaign_A).
15. A method for processing an ensemble of semi-products, one after the other on a processing line, said method comprising: determining a processing sequence for said ensemble of semi-products, by executing a method according to anyone of the previous claims, processing said ensemble of semi-products on the processing line according to said processing sequence.
16. Scheduling device comprising at least a processor and a memory, configured for executing the method according to any of claims 1 to 14.
17. Processing line comprising actuators, a line controller for controlling the actuators, and the scheduling device of claim 16, the scheduling device being further configured to transmit the processing sequence to the line controller and to command the line controller for the processing line to process the ensemble of semi-products according to the processing sequence.
18. Computer program comprising instructions whose execution on a computer make the computer to execute the method according to any of claims 1 to 14.