This disclosure relates generally to data processing and, in particular, to processing and/or planning of customer sales orders against production capabilities.
Conventional manufacturing processes management systems implement material requirements planning (“MRP”) methodologies and systems, which provide production planning and inventory control. The MRP systems are typically software based, and are designed to simultaneously meet the following objectives: (1) ensure that materials are available for production and products are available for delivery to customers; (2) maintain the lowest possible material and product levels in a store; (3) plan manufacturing activities, delivery schedules and purchasing activities; and (4) monitor and control production activity, which, in some cases, may be necessary to achieve objectives (1)-(3).
MRP systems typically help businesses maintain low inventory levels and can be used to plan manufacturing, purchasing and/or delivering activities. Some of the objectives of a business in the marketplace is to control types and quantities of materials the business purchases, plan which products will be produced and in what quantities, and ensure that they are able to meet current and future customer demands, preferably, at the lowest possible cost. An imprudent decision with regard to any of the above objectives can be costly for the business (e.g., a purchase of insufficient quantities of an item used in manufacturing (or the wrong item) can lead to inability to meet contract obligations; whereas, a purchase of excessive quantities can lead to waste of resources, money, materials, etc.; additionally, a supply shortfall maybe possible if the required quantity of rare material exceeds the ordered quantity, which can lead to extraordinary higher costs if the quantity of rare material is globally limited (e.g., rare earth metals, etc.) and all mined capacity is already booked; etc.). MRP systems help businesses answer questions with regard to what, how many, and when products/items may be required. Input to MRP systems typically include end item (or items) being created, how much is required at a time, when the quantities are required to meet demand, shelf life of stored materials, inventory status records (or stock), details of the materials, components and sub-assemblies required to make each product, restraints and directions to produce the end items. The MRP system can produce various reports, which can include recommended production schedules and recommended purchasing schedule”.
However, existing MRP systems are typically based on a fixed upper limit of capacity and do not allow flexibility in changing demand for a product, which leads to wasted resources/materials (or in the alternative, lack of resources/materials), improper scheduling, loss of income, and/or various other issues. Further, manufacturing companies may need to compete with regard to delivery times and thus, if they cannot adapt their capacity supply to current demand (e.g., decrease or increase in demand), the companies may lose sales, orders, customers, etc.
In some implementations, the current subject matter relates to a computer-implemented method for harmonizing customer orders and production capacities in lean manufacturing. The method can include determining a capacity to produce an item identified in a received demand, generating, based on the determining, a production bandwidth for producing the item based on the received demand for the item, and identifying, based on the generated production bandwidth, a delivery time for the item described in the received demand. At least one of the determining, the generating, and the identifying can be performed on at least one processor.
In some implementations, the current subject matter can include one or more of the following optional features. The production bandwidth can be determined based on at least one of the following: a quantity of the item demanded, an available production capacity to produce the item, and at least one existing demand to produce another item. The production bandwidth can be measured in a number of items produced during a predetermined period of time. The generating can include converting a quantity of the item identified in the received demand into the production bandwidth. The identified delivery time can be a time by which the item is requested to be delivered in the received demand. The identified delivery time can be determined based on an available production capacity to produce the item.
Computer program products are also described that comprise non-transitory computer readable media storing instructions, which when executed one or more data processor of one or more computing systems, causes at least one data processor to perform operations herein. Similarly, computer systems are also described that may include one or more data processors and a memory coupled to the one or more data processors. The memory may temporarily or permanently store instructions that cause at least one processor to perform one or more of the operations described herein. In addition, methods can be implemented by one or more data processors either within a single computing system or distributed among two or more computing systems.
The details of one or more variations of the subject matter described herein are set forth in the accompanying drawings and the description below. Other features and advantages of the subject matter described herein will be apparent from the description and drawings, and from the claims.
The accompanying drawings, which are incorporated in and constitute a part of this specification, show certain aspects of the subject matter disclosed herein and, together with the description, help explain some of the principles associated with the disclosed implementations. In the drawings,
To address the above-described and potentially other deficiencies of currently available solutions, one or more implementations of the current subject matter provide methods, systems, articles or manufacture, and the like that can, among other possible advantages, provide systems and methods for providing systems, methods, and computer program products for providing a flexible approach to harmonizing customer demand against production capacities in achieving lean manufacturing. Lean manufacturing or lean production can be referred to as a production principle, where an expenditure of resources for any goal other than creation of a value for the end customer to be wasteful.
Manufacturing process can be characterized by a particular production capacity 110 (e.g., a number of product units that it can make), which can be limited, for example, by the availability of parts, labor, costs, etc. as well as a demand for a particular product/service from the business 102. For example, if a demand for a product/service is low, the manufacturing capacity of that product/service can be appropriately lowered, so as not to create waste. The demand for a product/service can be generated by the business 102 and can be based on a number of sales orders for that product/service that the business 102 can receive from the customers 104 and can strive to fulfill.
One of the goals of a fulfillment process is to schedule demand (both sales and internal) against capacity supply by the manufacturing, thus, the fulfillment process is based on a principle of a demand following supply. The current subject matter system can appropriately determine demand for a product/service based on production limitations, thereby allowing reduction of manufacturing costs (e.g., additional working shifts by the labor force required to produce the product), reduction in waste of resources, decrease in loss of revenue, etc. The current subject matter system can also enable fulfillment of the demand for a particular product/service, thus, integrating a principle of a supply following demand.
Some of the advantages of the current subject matter system include use of manufacturing capacities to perform a check on whether it is possible to fulfill a particular order at a particular time. A parameter indicative of quantities of products that are not consumed during a particular time period and expiring at that period's end is used by the conventional systems as a hard constraint. Conventional systems do not allow flexibility and do not perform manual interaction/overrule. In contrast, the current subject matter system can enable a quantity conversion, i.e., a conversion from sales order attributes (e.g., sales price, sales quantity, etc.) into a unit of measure in a bandwidth definition, which is discussed below.
Another advantage of the current subject matter system is that, unlike the conventional MRP systems, which are based on a single criterion of the capacity defined as produced quantity per time unit, the current subject matter system can allow definition of multiple production criteria (e.g., resource, personnel and/or material availability, price, priority of customer order, etc.). This can allow for a better and more flexible alignment of the planning with demands of the production.
Further, conventional systems use sales quantities of a product/service to determine a possible delivery date of the product/service to the customer based on capacities per quantities. Using conventional systems, a company is able to produce a certain quantity of various products in a particular period of time, where the quantity can be measured in pieces and the period of time can be any period of time (e.g., a day, a week, a month, a year, etc.). Various products can refer to any type of products. For example, the quote and demands can be as follows:
In the conventional systems, quantities of each type of piece are added until the maximum of the offered quota in a particular week is reached. The quota in the above example is measured in pieces per week. Conventional systems do not take into account any other factors. In contrast, the current subject matter system can use additional factors/measurements, e.g., an aspect of a product to be produced within a particular time period, based on a certain bandwidth.
The current subject matter system can be used to support a model of lean production and “breathing” factory (i.e., where the capacities of the production do not have a fixed maximum and can be set flexibly). Some of advantages of such lean principle can include flexibility, quicker reaction on demands of production and customers, reduced costs due to less waste of resources, etc.
Modern lean approaches typically target so-called breathing manufacturing, where the capacities of the production do not have a fixed maximum, but can be set flexibly (e.g. staff, purchase of raw material) to allow better meeting of the customer demands or current resource situation in the production. Also, in these approaches the capacities are bound to proper limited production criteria, e.g., by material, resource and personnel availability, product properties, supplier contracts etc. In modern approaches, short delivery times and superior delivery reliability typically provide competitive advantage. Lean process patterns can serve as basis for production and supply chain management.
The sales department 212 of the company 204 can receive the customer order 220 and process it appropriately. Processing of the order can involve assignment of an internal company reference number to the order, determination of an availability of the product/service, and/or any other actions. The sales department 212 can then pass the processed customer order (as order 222) to the order harmonization 214 to reconcile with production capacities (as illustrated by 228 in
The production 206 can interact with the company 204 to inform the company 204 as to its capacity production bandwidth 224 based on the received customer order (or orders) 225 from the company 204. The production 206 can also interact with various resources 208 (e.g., labor resources, financial resources, etc.) and suppliers 210 (e.g., raw materials, parts, etc.). Such interaction can include providing by the production 206 information to resources/suppliers 208, 210 about resources/suppliers needed by the production in order to fulfill customer order and receiving responses from resources/suppliers 208, 210, which can include, for example, an indication of availability/unavailability of resources/suppliers, pricing, costs, requirements, etc.
In some implementations, the capacity production bandwidth 224 can be applied to a capacity of any kind of production resources. In its turn, capacity can be expressed in quantities (e.g., pieces, money units, and/or any other units of measure) per time (e.g., per day, per week, per month, and/or any other predetermined time period). The capacity can be assigned to a certain factory or plant, a production line, a product/service, and/or any other aspect of production. The bandwidth can include at least one of the following parameters: a maximum capacity, an average capacity, and a minimum capacity. The maximum capacity can be representative of sales orders that can potentially exceed production capabilities (e.g., the production factory can produce a maximum of 100 cars per month, whereas the customer order is for 150 cars). The maximum capacity parameter can be applicable in rare cases, such as when the customer orders are backed by some form of a guarantee, etc. The average capacity parameter can represent what is expected on average in a “normal production mode.” For example, a company can define its “normal production mode” as eight production hours per day, five days a week, or 40 hours per week. In some implementations, the normal production mode can refer to a quantity of hours (or any other period of time), during which the company can run in a profitable mode and/or a healthy mode (e.g., without a loss (such as, financial, personnel, technological, etc., losses). Increasing production period of time (e.g., from 8 hours to 10 hours per day) as a way of providing additional possible capacities (“breathing in”) can raise further income, however, such increase might be possible for a short periods of time (e.g., during a significant increase in production demand, such as when an unusual number of customer orders is received). Working hours are not the only instrument that can be adjusted and other resources can be regulated by capacity bandwidth. Reducing or not “filling up” the normal production mode might not be healthy for the company (e.g., causing a company to sustain a loss). Thus, the company may wish to save resources (e.g., financial, technological, etc.) during normal production mode or an overload production times to allow the company to survive in such times. The minimum capacity parameter can refer to situations where sales orders do not meet the minimum production volume, thereby requiring special sales promotions, adjustments in production volume, reduction or re-adjustment of production crew's schedule, etc.
Once the sales department 212 (shown in
At 306, an “available-to-promise” check can be performed by the system 200 (shown in
At 404, the quantity of the product requested in the sales order by the customer can be converted to a bandwidth quantity. Alternatively, or in addition to, resource limitations, labor allocation, and/or any other factors can be converted into the bandwidth quantity. This can be expressed in number of units of the ordered product per a predetermined time unit (e.g., day, week, month, year, and/or any other predetermined time period). For example, 50 cars per month can be the bandwidth quantity based on the sales order that has been submitted by the customer.
At 406, a matching delivery date can be identified or determined based on available capacities of the production plant as well as production plant capacities that may be already used by other existing sales orders. As the production plant that the company may be using can accommodate production of products in other sales orders, the capacity of the production plant can be reduced, thereby extending the delivery date of the products outlined in the customer order further.
At 408, the bandwidth of the production plant can be updated using the new capacity demand. This update can affect future sales orders, as the capacity to produce a particular product outlined in the future sales orders can be reduced in view of the production demands generated by existing orders.
At 410, a confirmed delivery date for the product(s) in the customer sales order can be generated. Referring back to
The following example illustrates an exemplary implementation of methods 300 (shown in
Assuming that the next sales order includes a price of 200,000, thus, the delivery date for that order can be assigned to Week 3. In some implementations, it can be possible that a user can overrule the system's calculation and change the confirmed week to Week 2 through various communications/collaboration with production planning and/or production execution. This way, the flexible dates for production can be defined and the production bandwidths can be confirmed. In another exemplary implementations, the customer can require the delivery in Week 2, thus, the bandwidth can be set higher on 750,000 in Week 2. As such, flexible dates and/or firm production dates are possible.
In some implementations, the current subject matter can include one or more of the following optional features. The production bandwidth can be determined based on at least one of the following: a quantity of the item demanded, an available production capacity to produce the item, and at least one existing demand to produce another item. The production bandwidth can be measured in a number of items produced during a predetermined period of time. The generating can include conversion of a quantity of the item identified in the received demand into the production bandwidth. The identified delivery time can be a time by which the item is requested to be delivered in the received demand. The identified delivery time can be determined based on an available production capacity to produce the item.
In some implementations, the current subject matter can be configured to be implemented in a system 600, as shown in
The systems and methods disclosed herein can be embodied in various forms including, for example, a data processor, such as a computer that also includes a database, digital electronic circuitry, firmware, software, or in combinations of them. Moreover, the above-noted features and other aspects and principles of the present disclosed implementations can be implemented in various environments. Such environments and related applications can be specially constructed for performing the various processes and operations according to the disclosed implementations or they can include a general-purpose computer or computing platform selectively activated or reconfigured by code to provide the necessary functionality. The processes disclosed herein are not inherently related to any particular computer, network, architecture, environment, or other apparatus, and can be implemented by a suitable combination of hardware, software, and/or firmware. For example, various general-purpose machines can be used with programs written in accordance with teachings of the disclosed implementations, or it can be more convenient to construct a specialized apparatus or system to perform the required methods and techniques.
The systems and methods disclosed herein can be implemented as a computer program product, i.e., a computer program tangibly embodied in an information carrier, e.g., in a machine readable storage device or in a propagated signal, for execution by, or to control the operation of, data processing apparatus, e.g., a programmable processor, a computer, or multiple computers. A computer program can be written in any form of programming language, including compiled or interpreted languages, and it can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. A computer program can be deployed to be executed on one computer or on multiple computers at one site or distributed across multiple sites and interconnected by a communication network.
As used herein, the term “user” can refer to any entity including a person or a computer.
Although ordinal numbers such as first, second, and the like can, in some situations, relate to an order; as used in this document ordinal numbers do not necessarily imply an order. For example, ordinal numbers can be merely used to distinguish one item from another. For example, to distinguish a first event from a second event, but need not imply any chronological ordering or a fixed reference system (such that a first event in one paragraph of the description can be different from a first event in another paragraph of the description).
The foregoing description is intended to illustrate but not to limit the scope of the invention, which is defined by the scope of the appended claims. Other implementations are within the scope of the following claims.
These computer programs, which can also be referred to programs, software, software applications, applications, components, or code, include machine instructions for a programmable processor, and can be implemented in a high-level procedural and/or object-oriented programming language, and/or in assembly/machine language. As used herein, the term “machine-readable medium” refers to any computer program product, apparatus and/or device, such as for example magnetic discs, optical disks, memory, and Programmable Logic Devices (PLDs), used to provide machine instructions and/or data to a programmable processor, including a machine-readable medium that receives machine instructions as a machine-readable signal. The term “machine-readable signal” refers to any signal used to provide machine instructions and/or data to a programmable processor. The machine-readable medium can store such machine instructions non-transitorily, such as for example as would a non-transient solid state memory or a magnetic hard drive or any equivalent storage medium. The machine-readable medium can alternatively or additionally store such machine instructions in a transient manner, such as for example as would a processor cache or other random access memory associated with one or more physical processor cores.
To provide for interaction with a user, the subject matter described herein can be implemented on a computer having a display device, such as for example a cathode ray tube (CRT) or a liquid crystal display (LCD) monitor for displaying information to the user and a keyboard and a pointing device, such as for example a mouse or a trackball, by which the user can provide input to the computer. Other kinds of devices can be used to provide for interaction with a user as well. For example, feedback provided to the user can be any form of sensory feedback, such as for example visual feedback, auditory feedback, or tactile feedback; and input from the user can be received in any form, including, but not limited to, acoustic, speech, or tactile input.
The subject matter described herein can be implemented in a computing system that includes a back-end component, such as for example one or more data servers, or that includes a middleware component, such as for example one or more application servers, or that includes a front-end component, such as for example one or more client computers having a graphical user interface or a Web browser through which a user can interact with an implementation of the subject matter described herein, or any combination of such back-end, middleware, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication, such as for example a communication network. Examples of communication networks include, but are not limited to, a local area network (“LAN”), a wide area network (“WAN”), and the Internet.
The computing system can include clients and servers. A client and server are generally, but not exclusively, remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other.
The implementations set forth in the foregoing description do not represent all implementations consistent with the subject matter described herein. Instead, they are merely some examples consistent with aspects related to the described subject matter. Although a few variations have been described in detail above, other modifications or additions are possible. In particular, further features and/or variations can be provided in addition to those set forth herein. For example, the implementations described above can be directed to various combinations and sub-combinations of the disclosed features and/or combinations and sub-combinations of several further features disclosed above. In addition, the logic flows depicted in the accompanying figures and/or described herein do not necessarily require the particular order shown, or sequential order, to achieve desirable results. Other implementations can be within the scope of the following claims.