The invention generally relates to the field of supply chain management and specifically to determine an execution sequence of a set of sales order in a work order.
In a supply chain management scenario, a work center receives a work order for manufacturing a product. The work order is typically a set of sales orders. A sales order typically has details for manufacturing a component, parts of a component, and assembling various components into a saleable product. For example, a work order for manufacturing a car may contain a set of sales orders. The set of sales orders may include a first sales order for manufacturing chassis, a second sales order for manufacturing the dashboard, a third sales order for manufacturing tires and so on. The set of sales orders is typically executed on a work station in the work center. The set of sales orders may be processed by a number of different work stations to produce a product that may be sold to a customer.
Since the work station may execute a number of sales orders, it may be necessary to plan a sequence in which the set of sales orders is executed in the work station. Planning the sequence of execution of the set of sales orders typically enables the work station to be utilized optimally otherwise the work station may be underutilized or over utilized. Existing solutions for determining the sequence of execution of the set of sales order, typically do not consider parameters such as a work load of the work station. In such cases, the work station may end up being underutilized or over utilized and may affect the delivery time of the product manufactured.
What is described is a method and system for receiving a work order having a set of sales orders and determining sales order parameters such as a due date of a sales order and a restriction on the sales order. The method also includes determining a work station to execute the work order based on the sales order parameters, determining a work load of the work station executing the work order and generating an execution sequence of the set of sales orders based on the work load.
What is described is a method and system for receiving a work order having a set of sales orders and determining sales order parameters such as a due date of a sales order and a restriction on the sales order. The method also includes determining a work station to execute the work order based on the sales order parameters, determining a work load of the work station executing the work order and generating an execution sequence of the set of sales orders based on the work load.
In an embodiment, a work order has a set of sales orders. A sales order typically has details for manufacturing a component, assembling various materials into one product. The work order typically is executed on a work station meant for a specific purpose such as manufacturing tires of a car. The work order may be processed by a number of different work stations to produce a finished product that may be sold to a customer.
At step 110, a work station to execute the sales order is determined based on the sales order parameters. At step 115, a work load of the work station executing the sales order is determined. At step 120, an execution sequence of the set of sales orders is generated based on the work load of the work station. The execution sequence specifies a sequence in which the set of sales orders are executed by the work station.
A bill of material is a parts list of components needed to complete a saleable product. A bill of material explosion determines all the components that are there in the sales order, determines the materials required to manufacture the components and the cost involved in manufacturing the components. After the materials are determined, at step 210, a work station is assigned to execute the work order based on the temporary execution sequence. At step 215, work load parameters such as an actual average of the work station and a moving average of the work station are determined. An actual task time is the time taken for executing a sales order by a work station. An actual average is an average of the actual task time of the sales order executed by a number of work stations. A moving average is an average of actual averages of three consecutive sales orders executed in the work station.
“Sales order 4711” is first in the execution sequence as depicted in first row 305. “Sales order 4711” has a “start date/time” of “27.03.2007 06:00” which means that processing of “sales order 4711” has to start by “27.03.2007 06:00”. “Sales order 4711” has a “due date/time” of “27.03.2007 09:00” which means that the “sales order 4711” has to be processed by “27.03.2007 09:00”. In first row 305, “sales order 4711” has “task time” of “00:05:00” which means a planned execution duration of “sales order 4711” is five minutes. In first row 305, “sales order 4711” has “actual average” of “00:05:30” and a “moving average” of “00:04:56”. An actual task time is the time taken for executing the sales order by the work station. An actual average is an average of the actual task time of “sales order 4711” executed by a number of work stations. A moving average is an average of three consecutive actual averages in the table order_sequence 300. In first row 305, “actual average” of “00:05:30” implies that “sales order 4711” consumes five minutes and thirty six seconds to execute per work station. In first row 305, “moving average” of “00:04:56” implies that “sales order 4711” consumes four minutes and fifty six seconds on the work station in an execution cycle of three consecutive sales orders such as “sales order 4711”, “sales order 4712” and “sales order 4714”.
At process block 405, sales order parameters are captured. The sales order parameters include a due date of a sales order, and a restriction on the sales order. In an embodiment, the restriction on the sales order may include restrictions such as a quantity restriction, an M of N restriction, a position restriction, a distance restriction, a block restriction, and an equal distribution restriction. The quantity restriction is a restriction on a quantity of a material that may be processed, for example, a minimum of 100 pieces have to be manufactured. An example of M of N restriction may include a restriction such as out of 5 cars manufactured, 2 must be convertible cars. An example of position restriction may include a restriction such as one car from a pilot series should be in the 5th position. An example of distance restriction may include a restriction such as between 3 cars, there must be 1 auto transmission car. An example of equal distribution may include a restriction such as the right hand drive cars equally distributed over 100 cars.
Sequencing unit 410 receives work order 400 and the sales order parameters as input. Sequencing unit 410 determines a temporary execution sequence 415 of the set of sales orders based on the sales order parameters. Sequencing unit 410 uses a general sequencing algorithm that determines a sequence of activities based on defined parameters. In an embodiment, sequencing unit 410 uses a genetic algorithm provided by SAP AG. The objective of the genetic algorithm is to bring out a robust solution for multi criteria optimization, select a solution out of solutions with similar overall quality and different components. The genetic algorithm works based on the concept of evolution. The genetic algorithm determines possible candidate solutions by crossover or recombination of activities and by mutation. Typical mutations include exchanging sequence of activities. A better candidate is chosen as a parent and its child solutions determined by mutations are evaluated. Finally, a better sequence is chosen by eliminating the worse ones.
Material requirement planning unit 420 receives temporary execution sequence 415 as input and determines a work load of the work station executing work order 400. The material requirement planning is a production planning and an inventory control system used to manage a manufacturing process. In an embodiment, the material requirement planning is intended to meet the following objectives among others:
The material requirement planning is performed by a bill of material explosion. A bill of material is a parts list of components needed to complete a saleable product. The bill of material is a complete, formally structured list of the components that make up a product or assembly. The list contains an object number of each component, together with the quantity and unit of measure. For example, the bill of material for the saleable product such as a personal computer would list the computer, its major sub-assemblies such as a mother board, a chassis, a modem, a keyboard, a display as well as additional materials needed such as shipping box, a user manual, packaging, and packaging labels. A bill of material explosion is a process used to determine material requirements for a product in a sales order, look at the overall structure of the product in a design department, see an overview of the parts and materials required for the product, and calculate the effects of changes to costs. The bill of material explosion is performed for the set of sales orders. After the material and parts are determined, a work station is assigned to the set of sales orders. In an embodiment, the work order may be executed on a number of different work stations to produce the saleable product.
A work load 425 of the work station executing the set of sales order is determined. Determining work load 425 includes determining an actual average of the sales order and a moving average of the sales order. Work load 425 is input to sequencing unit 410 along with the set of sales orders. Sequencing unit 410 considers work load 425 along with the sales order parameters to determine execution sequence 430 of the set of sales orders. Execution sequence 430 is depicted in the table order_sequence 300. The actual average and the moving average are generated in execution sequence 430. Execution sequence 430 with a moving average value lesser than or equal to a task time is an optimal sequence of execution. The objective of sequencing unit 410 is to generate execution sequence 430 that has the moving average value lesser than or equal to the task time of the sales order. The moving average value is determined for a set of three consecutive sales orders. In an embodiment, the moving average may be determined for any number of sales orders. The moving average is an average of actual averages of three consecutive sales orders executed in the work station. The moving average with the value lesser than or equal to the task time means that a sales order to execute in a work station executing three consecutive sales orders consumes a time lesser or equal to the task time of the sales order.
Execution sequence 430 is more optimal than temporary execution sequence 415 since temporary execution sequence 415 does not consider work load 425 of the work station for determining a sequence of execution of the set of sales orders. If the work load is not considered to determine the sequence of execution of the set of sales orders, then the work station may be underutilized or over utilized. This typically may affect a planned delivery time of the product.
Embodiments of the invention may include various steps as set forth above. The steps may be embodied in machine-executable program code which causes a general-purpose or special-purpose processor to perform certain steps. Alternatively, these steps may be performed by specific hardware components that contain hardwired logic for performing the steps, or by any combination of programmed computer components and custom hardware components.
Embodiments of the present invention may also be provided as a machine-readable medium for storing the machine-executable instructions. The machine-readable medium may include, but is not limited to, flash memory, optical disks, CD-ROMs, DVD ROMs, RAMs, EPROMs, EEPROMs, magnetic or optical cards, propagation media or any other type of machine-readable media suitable for storing electronic instructions. For example, the present invention may be downloaded as a computer program which may be transferred from a remote computer (e.g., a server) to a requesting computer (e.g., a client) by way of data signals embodied in a carrier wave or other propagation medium via a communication link (e.g., a modem or network connection).
Throughout the foregoing description, for the purposes of explanation, numerous specific details were set forth in order to provide a thorough understanding of the invention. It will be apparent, however, to one skilled in the art that the invention may be practiced without some of these specific details. Accordingly, the scope and spirit of the invention should be judged in terms of the claims which follow.
This application claims the benefit of and priority to U.S. Provisional Patent Application No. U.S. 61/025,833, filed Feb. 4, 2008, titled “METHOD AND SYSTEM FOR DETERMINING AN EXECUTION SEQUENCE OF A SET OF SALES ORDERS,” which is incorporated herein by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
61025833 | Feb 2008 | US |