Algorithm for complete enumeration based on a stroke graph to solve the supply network configuration and operations scheduling problem

Purpose: The purpose of this paper is to present an algorithm that solves the supply network configuration and operations scheduling problem in a mass customization company that faces alternative operations for one specific tool machine order in a multiplant context. Design/methodology/approach: To achieve this objective, the supply chain network configuration and operations scheduling problem is presented. A model based on stroke graphs allows the design of an algorithm that enumerates all the feasible solutions. The algorithm considers the arrival of a new customized order proposal which has to be inserted into a scheduled program. A selection function is then used to choose the solutions to be simulated in a specific simulation tool implemented in a Decision Support System. Findings: The algorithm itself proves efficient to find all feasible solutions when alternative operations must be considered. The stroke structure is successfully used to schedule operations when considering more than one manufacturing and supply option in each step. Research limitations/implications: This paper includes only the algorithm structure for a one-by-one, sequenced introduction of new products into the list of units to be manufactured. Therefore, the lotsizing process is done on a lot-per-lot basis. Moreover, the validation analysis is done through a case study and no generalization can be done without risk.

The research leading to these results has received funding from the European Community's Seventh Framework Programme (FP7/2007-2013) under grant agreement no.NMP2-SL-2009-229333 and has been partially supported by the Spanish Ministry of Science and Innovation within the Program "Proyectos de Investigación Fundamental No Orientada through the project "CORSARI MAGIC DPI2010-18243".Julien Maheut holds a VALi+d grant funded by the Regional Valencian Government (Ref.ACIF/2010/222). 1 Julien Maheut ( ) Reengineering Operations GroupWork Logistics Excellence (ROGLE).Universitat Politècnica de València, Camino de Vera S/N, 46022 Valencia, Spain e-mail: juma2@upv.es

Introduction
A supply network (SN) is a network of organizations involved through upstream and down-stream relations in which several processes and activities are carried out to produce value in the form of products and/or services for the end customer.To face increasing demand in customized products, SNs must offer a product or service with a minimum cost and a short lead time by considering global constraints and future market opportunities.To do so, supply chain management must be based on two pillars: supply chain integration and coordination.Integration, in turn, is based on three factors: partners' selection, the network's interorganizational and organizational collaboration, and leadership.Coordination is based on the use of information and technologies, and addresses processes and advanced planning.For supply networks to be able to coordinate efficiently, the literature contemplates two phases at the strategic level: supply chain design (Mohammadi Bidhandi et al. 2009) or supply chain redesign (Nagurney 2010), and supply chain configuration (Salvador et al. 2004).Graves and Willems (2005) were the first to introduce the supply chain configuration problem, whose objective is to determine the suppliers, products, processes and forms of transport that must be selected to minimize the costs involved.In general, this problem contemplates different possible configurations because, for instance, raw material can be purchased from different suppliers, products can be produced or assembled on different machines, or products can be delivered by different forms of transport (Li and Womer 2008).Selecting a configuration implies reaching a compromise between the costs involved and the service levels to offer the customer.The literature includes a large number of mathematical models which address the supply chain configuration problem.We refer readers to the following reviews (Goetschalckx et al. 2002;Mula et al. 2011).The literature includes some cases such as the work of (Li and Womer 2008) which not only deals with the configuration problem, but also includes considerations at the tactical and/or operational level.
In relation to scheduling problems, lots of works are available in the literature: capacitated resources, sequence-dependent setup times, lead time concepts, multistage production, products substitution, multi-site scheduling, which are just some of the characteristics introduced into the literature.
However to the best of our knowledge, the single product, multi-site, multistage, scheduling problem considering alternative operations has not yet been resolved by contemplating complete enumeration by a stroke graph.
This article proposes the use of a stroke graph to enumerate all the feasible solutions for the supply network configuration and operations scheduling with the arrival of a new customized firm order.The stroke graph proposed is based on the stroke concept (Garcia-Sabater et al. 2012).Complete enumeration needs different transformations of the stroke graph to then determine the total costs and delivery times of each feasible solution.
The structure of the paper is as follows: Section (1.2) describes the case study.Section (1.3) proposes the complete enumeration procedure.Finally, Section (1.4) draws conclusions and provides future research lines.

Case study description
The case study proposed in this article is based on a multinational company that designs, assembles and transports milling machines to order.This company has several plants around Europe that are capable of producing parts or performing all the operations to assemble the product ordered by the customer to transport it to the customer's plant.The products delivered to the customer are milling machines customized according to customer requirements, comprising more than 300 components and subassemblies.
This company does not receive constant, regular demand throughout the year, but generally receives sporadic unitary orders.Such discreet demand affects its operations management.This company works according to the "mass customization" philosophy and, given sporadic demand, it must keep a stock of those components commonly used in the majority of the products possibly ordered.Given the shortened delivery time expected by the market, the company works in Switch to Order (STO) for a high demand product.When the product is not in stock and reconfiguration is expensive, the company has to be supplied for all the products.The company has dozens of suppliers for each plant and some can supply the same product with different lead times and delivery costs.Moreover, suppliers offer to deliver the product with different due dates (using various forms of transport or charging an extra amount given the urgency of the order).According to its supplier's different offers, the company has to decide where the required assemblies will be carried out to obtain an assembled product.These assembly stages can be carried out in a single plant, or the first phase can be done in one plant and the final assembly stage done in another plant.This implies transport operations among plants.Finally, given the possibilities of supplying different products to different suppliers, the company's catalog includes thousands of different options; if the client does not want or need a specific component / characteristics, the company has to determine what the BOM will be taking into account that the due dates for some components can be more important than the delivery time.
In this case, it is also necessary to consider that each plant has a single resource, space, which is limited.Each plant has different areas where the various assembly operations are undertaken.These areas may be occupied for certain periods owing to former programming plans.
As a basic working hypothesis, this work assumes that the products already sequenced cannot be amended, and as resources have been assigned and scheduled with a defined sequence, the available resources capacity considers an assignment prior to these operations.Then, production planning must not only assign operations to the plants that have production capacity, but must also determine when each operation must begin and end.It is worth stressing that all the operations can be done in the same area in the same plant.
This problem consists in scheduling, that is by defining when and where the production of the different operations required to deliver the end product in the customer's plant and to respect the due date actually takes place.If the due date is not met, the firm has to pay penalizations.Given the possible purchasing and assembly alternatives (Garcia-Sabater et al. 2012), or the list of materials themselves (BOM), the problem must consider all the possible alternative operations.It is necessary to stress that the firm does not consider operations which generate different products (for example, trim problems or co-production problems).
Stakeholders' expectations not only center on seeking a solution at the lowest cost or the solution with the shortest delivery time, but they have determined some Key Performance Indicators that can be assessed only with a simulator.Moreover in the simulator, it is feasible to consider possible re-schedulings because new orders and stakeholders need to contemplate all the feasible solutions to load plants.For this purpose, we go on to propose a heuristic procedure based on complete enumeration to determine all the alternative feasible solutions and to assess them.

An algorithm based on complete enumeration
The algorithm we now present helps determine all the feasible alternative solutions for producing a single end product.For this problem, we hypothesize that: Strokes must be of only assembly, purchase or transport types.Strokes with several outputs cannot be considered.At least one of the products can be obtained by different strokes.Product inventory levels are not planned.Those with sufficient levels for operations must not be considered.All products must be an output of at least one stroke.This implies that a product has to be obtained by a purchase stroke, or by an assembly or transport stroke.All the products must be an output of at least one stroke, except the end product.The end product is the only product that is not the input of any stroke.

Different strokes are characterized as indicated below:
Assembly and transport strokes have a minimum of one stroke input and have a single stroke output (Maheut and Garcia-Sabater 2011).Purchase strokes have a single stroke output, but have no stroke input.
The proposed algorithm consists in four steps:

Step 1: Incorporating selection strokes
In order to obtain a solution by means of the problem heuristic procedure, a transformation of the problem structure has to be carried out.When the formerly proposed MILP model in (Maheut et al. 2012) is able to use the structure with strokes by deciding how many different strokes can be executed in each period, the algorithm needs to incorporate phantom items and selection strokes.The traditional stroke graph is proposed in Figure 1.1.
In order to transform the stroke graph into a graph structure which enables complete enumeration, selection strokes must be incorporated to determine where alternatives exist (Figure 1.2).Selection strokes are those strokes with a single input and a single output.A phantom item is a dummy product that is considered only for algorithm purposes.This is the only input of a selection stroke.However, these input products receive characteristics from the original output.The stroke output is the product that could be obtained with various strokes.Selection products are those output products of the selection strokes.

Step 2: Transforming the structure with strokes into a direct hypergraph
The next step consists in transforming the structure with strokes into a direct hypergraph.The hypergraph considers three different types of nodes, each of a different nature: Source nodes: these nodes have no input arcs, but have one output arc Selection nodes: these nodes have at least two selection input arcs Operation nodes: these nodes have at least one input arc, but no selection nodes Terminal node: this node represents the end product.It can be a selection or an operation node, but cannot be a sources node.Once again, this node has no output arcs.
Step 2.1: Transforming each product into a node The first transformation phase fundamentally consists in transforming each product (phantom or not) into a node.
Step 2.2: Transforming assembly and selection strokes into arcs The second transformation phase consists in associating each stroke input (which are now nodes) into its node (stroke output).This association is formed by means of directed arcs.Depending on their destination nodes, these arcs will be different in nature: The arcs that have a selection-type destination node will be selection arcs The arcs that have an operation-type destination node will be operation arcs Step 2.3: Creating sources nodes with purchase strokes Those products obtained by a purchase stroke are transformed into source nodes.
The graph obtained is the next one (Fig. 1.

Step 3: Generating feasible solutions
Generating feasible solutions consists in generating a binary vector for the nodes, and a binary vector for the arcs of each feasible solution.
The different feasible alternative solutions are binary vectors with arcs and nodes, where some nodes and arcs are activated.
Step 3.1: Generating the binary vectors of arcs Since the objective is to generate all the feasible solutions, if the problem consists in N selection nodes and M selection arcs, there are 2 M different binary vectors.
Step 3.2: Some vectors must not be considered (elimination) Some of these vectors are redundant and can also generate "infeasible" solutions.So for these vectors, we ought not to consider those vectors that: Have more than one activated selection arc at the input of a selection node Have more than N activated selection arcs Are arc vectors 0-0-….-0with all the deactivated selection arcs Have an activated selection arc at level l and whose selection arcs (if they exist) are deactivated at the lower levels Have a deactivated selection arc at level l and have a minimum of one activated selection arc at the lower level

Step 4: Assessing feasible solutions
After generating the different binary vectors with arcs, the solutions to each of them must be assessed by assessing the binary vectors with nodes: Step 4. Step 4.4: If the terminal node is deactivated, the solution is erased Step 4.5: For arc = N to 1, all the arcs are deactivated in turn: Step 4.5.1:If the terminal node is activated, return to step 4.5 (the next arc is deactivated) Step 4.5.2:If the terminal node is deactivated, then that arc is re-activated; return to step 4.5 Step 4.6: For node = M to 1, if the node is of the source type, it is deactivated Step 4.6.1:If the terminal node is activated, the next arc is deactivated Step 4.6.2:If the terminal node is deactivated, that arc is re-activated Step 4.7: Calculating the cost associated with each solution Step 4.8: Calculating the earliness and tardiness of beginning and ending each arc and node

Conclusions
In this paper, complete enumeration based on a stroke graph is used to generate all the feasible solutions.Each time a new order arrives, the proposed procedure offers stakeholders all the feasible solutions which are needed to be evaluated in a specific simulator.
As a further research line, we have to develop algorithms that consider multiproducts in a single step, and to extend the algorithm to consider the strokes that are not only assembling process, but also splitting ones.Further research is required to solve the problem in a distributed manner.

Fig
Fig. 1.2 Stroke graph structure incorporating selection strokes and phantom products Updating the graph Next, nodes are activated as follows: Nodes are updated from the lower level to level 1 (the terminal node level) Those operation nodes whose input arcs are all activated, thus the input nodes of these activated arcs are activatedThose selection nodes with a selection arc and whose corresponding activated input nodes are activated