📜 ⬆️ ⬇️

What is WMS?

WMS - an abbreviation of the English "Warehouse Management System", or "warehouse management system." You can often find the Russian-language abbreviation for CMS, and some manufacturers refer their systems not even to WMS, but to IMS (inventory management system), WCMS (warehouse complex management system), and so on. Those who are a little more than the rest immersed in the warehouse theme, when mentioning warehouse management immediately recall radio terminals, labels, barcodes, and other mandatory implementation attributes. Those who are less immersed associate the expression “warehouse management” with “warehouse accounting”, which sometimes leads to some terminological disagreements: if barcodes are a reference to automatic identification technology, then “warehouse accounting” is often associated with the design of shipping documentation and keeping information about stock balance.

Before we proceed to the first section, I would like to say that the article does not set a goal to consider all the possible functionality. It is rather an introductory one - just for those who have heard or know common words about the WMS, but want to learn more.

Automatic identification

In simple terms, the essence of the AI ​​can be determined directly from the title. A variety of goods arrive at the warehouse, and one of the most important tasks is to identify the parameters of each load at the entrance and exit. The most frequently used parameter is the name and logistic packaging, a little less - expiration dates and production dates, the manufacturer, the production lot number, and so on. Naturally, to transfer these data between the participants of the logistics chain, it is impossible to use a centralized data repository, due to which information must be placed directly on the unit, group and / or transport packaging in the form of a label or RFID tag. Barcode labels are most commonly used, although sometimes it is possible to find products marked with radio tags (for example, clothes made in Europe). Since RFID tags are used extremely rarely, a barcode can also be found on products. Thus, if we do not have equipment for reading RFID tags, we can use a barcode.

Bar codes come in a variety of formats, but most commonly used are EAN-13 and EAN-128. The first usually includes information about the product and the logistic unit, and the second is the so-called “block” code, and can even be presented with not one, but several labels, where each subsequent will complement the previous one. The block code is divided into segments separated from each other by special separator characters, and each segment contains the data type identifier, as well as the data itself. The data type identifier can be “product”, “shelf life”, “production date”, and more. Since the content of the EAN-128 code is standardized, this code is often used by manufacturers.
')
Performance control

There is such a class of information management systems as “execution control systems”. Their task is to ensure with the help of various tools (barcode scanners, control numbers, and so on) that the task was performed by the contractor. Just for the purpose of control of performance, in a warehouse with a bar code all objects with which employees can perform any operations are marked. For example, each warehouse cell (storage bin) receives its barcode where cargo can be placed. Let us now think, how do we monitor the execution of the task of placing the load in the cell? Decomposing this problem into simple components, we have:

1) The employee approached a given load, located in a given place
2) The employee moved with the load to the specified cell
3) The employee has placed the goods in the cell

Thus, to ensure control of performance, we need a bar code not only for the cell, but also for the cargo. If we give an employee the ability to scan a barcode with a special scanner at each stage, we can determine that he is:

1) Approached the cell from which the load is to be removed (barcode scan of the source cell)
2) Took the correct load (scan of the cargo barcode)
3) Delivered the load to the target cell (SC scan of the target cell)

Depending on the enterprise and the type of warehouse that we automate, a wide variety of equipment can be used: radio terminals, information kiosks, pick-by-light, put-to-light systems, as well as banal computers with a connected USB scanner, located close to the original and target cells. Most often, however, it is possible to meet radio terminals - special industrial PDAs with an integrated barcode scanner (and not only depending on the configuration). All radio terminals are connected to the common radio network, so the employee receives instructions on the terminal screen in steps: “Go to the site ... and scan it with the CC", "Take the load ... and scan it with the CC", "Place it in the cell ... and scan it with the CC" . In addition to monitoring the execution, we also get useful statistics on the time that an employee moves between cells, as well as the time spent at each stage of the task. The main thing is not to get carried away too much, because scanning a barcode also takes some time, and in those warehouses where a large number of operations are performed — for example, 20,000 operations per shift — even a delay of 2 seconds will give 40,000 seconds of costs, which exceeds 11 resource / hours

Pass-Through Dispatching

Taking into account that each employee is equipped with a radio terminal, and performs tasks step by step, it is time to think about where these tasks come from. The dispatching functionality is one of the fundamental capabilities of the WMS, and it is the correctly configured and efficient algorithm for distributing the current volume of tasks among the implementers that allows the warehouse to work quickly and efficiently. Imagine an employee on, say, a loader. The loader goes through the warehouse and has the ability to put and remove loads from the racks, as well as move them between the floor cells. Not all current tasks have the same priority: there are more priority ones (if a car arrived and waits for us to ship the goods), and lower priority ones (at the gate next to this machine they recently finished accepting the goods and there are loads for accommodation) . The dispatch algorithm can go several ways:

1) Perform all tasks by FIFO (tasks are performed in the sequence in which they were created)
2) First, place the goods that came to the warehouse, and then send the executor for shipment (it is possible and in reverse order)
3) Perform the entire list of tasks in the "passing" mode

Now more about the “passing” mode: the goods for placement in the car waiting for shipment are in stock, in the so-called “shipping expedition zone”. Imagine that these are places on the front shelves that are close to the gate. We take the cargo, deliver it to the transport (or deliver it to the loaders at the gate), then take another cargo from the neighboring gate to accommodate it, put it close to the next cargo from the shipping expedition area, and continue the shipment procedure, interleaving it - thus - with the procedure layouts with acceptance. Often this functionality is called “task interleaving” (task interleaving), and it is the ability of its flexible configuration and the availability of ready-made algorithms that characterize a really good WMS.

In addition to the movement of goods by a loader, there are many other operations that can be performed by hundreds of employees in parallel mode. In this case, it is important to distribute the tasks in such a way as not only to ensure the required prioritization, but also to prevent such elementary nonsense as sending several performers to the same alley (the passage between the racks), where they will be pushed and interfere with each other. At this point, a competent reader will certainly comment that it is important not only to get rid of collisions, but also to distribute the cargo in the warehouse so as to ensure a uniform load on the available area, but one does not exclude the other, but we will see talk about placement strategies.

Placement strategies

Here you have to digress a bit, and consider the current classification of the WMS. As a rule, in most cases, there are 3 classes: “boxed” systems, adaptable and customized. Boxed products have fixed logic, which is changed only by setting parameters. Adaptable systems offer ample opportunities for configuring algorithms using rules and constructors, while custom systems are written for a specific customer, and - besides fixed logic - often do not even have basic tools for prompt changes.

Why did I turn to the classification of systems when the chapter focuses on deployment strategies? Because the majority of WMS users under the “placement strategy” are used to seeing exactly what is offered by the cheapest “boxed” level systems, like this: “The first is in the dialing area, the rest are in storage”, “Put next to the same product”, "Heavy - down, light - up," and so on. The most significant limitation of this view is the mixing of “warm” with “soft”. For example, we may well want everything at the same time: to place heavy ones - downwards, light ones - upwards, to put newly received cargoes next to the same goods, and to put the first cargo that came to the recruiting zone, in order not to waste time on replenishment. That is why, in adaptable systems, the concept of "strategy" is very conditional: you can construct dozens and even hundreds of rules that will build the logic exactly the way it is needed now. This is a huge advantage of adaptable systems over boxed ones when it comes to the warehouse of commercial cargo handling, which provides services for the storage and handling of goods (the so-called 3PL-warehouses). After all, when a new bailor (warehouse client) arrives at the warehouse, he can have very different products: from nuts and canned food to chilled meat. There are situations when it is necessary to place goods taking into account such unimaginable attributes as the first few characters of the product name.

However, no matter what the system is, one of its important advantages will be the availability of ready-made rules (options) that can be used - this will greatly save time in preparing the system for operation.

Reservation strategies

The reservation procedure allows you to fix a certain amount (volume, weight) of the goods in favor of a certain document, transaction or other object of accounting. Since in the warehouse management system, accounting for residuals has a rather serious degree of detail, including information about the location of the cargo, it is not entirely correct to reserve the goods at once, taking into account the entire volume of parts. Let's start with the fact that a certain document comes into the warehouse management system, on the basis of which we have to make a reservation. Suppose this is a customer order for shipment of a certain quantity of goods. First, we must make sure that the specified quantity is in stock, otherwise there is no point in sending this document to work. It is this reservation option, which establishes a reserve at the level of goods and some basic accounting parameters, often called the “upper level reserve”. It is usually performed by the following parameters:

1) Goods (material)
2) Warehouse (if the system serves several physical warehouses)
3) Stockholder (depositor)
4) Type / category of stock (free-use, suspicion of marriage, quarantine, discounted, etc.)
5) Batch number or code (possibly a composite attribute)

It is possible to list the list as long as desired, because developed control systems can take into account many parameters of stock accounting, and even expand this list without the need for programming.

As you can see, the upper level reserve is created under the document, since the document is the highest (enlarged) level of detail in the control system, which has to work at the level of atomic operations. But to perform atomic operations it is necessary to create reserves at the “lower” level, which includes the identifier of the cell and the load. The fact is that there may be several tasks for the same cargo, and it’s impossible to allow two employees to be sent to one place, one of whom suddenly on the way to the cell will find out that there is not enough there to complete the task. Moreover, some systems impose a reserve at the warehouse zone level, building tasks in real time, and it is for such systems that the above conflicts are possible.

Naturally, the reserve of the upper level should take into account the reserve of the lower level, so the two reserves rarely coexist - they are often converted from one level to another. It is within this transformation that the system must determine in which areas of the warehouse which operations will be required to be performed. For example, 1,000 units are required to ship, and 600 are placed on one pallet. The box holds 40 pieces. Thus, the management system must find one whole pallet of 600 pieces, and another 400 pieces to collect ten boxes. Since it is extremely difficult to collect goods from a large height (you can use a special technique or - trivially - a ladder, but the technique has a high cost, and the ladder implies a very low performance) to the required cargo.

Again, depending on the class of the system, the strategy can be represented by a fixed algorithm with configuration options, or by a flexible logic of rules. The backup strategy is most often tied to a specific warehouse zone, so a list of “overview” is obtained by the system of warehouse zones indicating how exactly the goods will be reserved in this zone, for example:

1) Reservation with whole pallets in the storage area (higher priority)
2) FEFO reservation (first expired - first out) in the dial zone (lower priority)

In adaptable systems, with a high degree of probability, it will be possible to create rules in relation to arbitrary attributes, and not just to the type of order or product, as it is implemented in cheap “boxed” versions. Thus, we again return to 3PL-warehouses, where flexibility plays a large role in competitiveness, and once again we state that for such objects adaptable systems are most suitable.

The formation of tasks

After the conversion from the upper level reserve to the lower level reserve, we will receive two types of tasks: tasks for moving entire pallets (which can be performed using material handling equipment, hereinafter - VET), and set tasks (selection, picking, order picking - a lot of terms). Now the following task arises: the tasks are required to be grouped together according to a number of signs in order to ensure their effective execution.

We have already mentioned the moving tasks, and they greatly simplify any further optimization by the fact that during one movement the PTO operator can take only one pallet, so that something can be improved only by building the tasks in a certain sequence. Of course, there is a variant of the technique with long forks (you can take two pallets at a time), as well as low pallets (several pallets are stacked on each other, and the equipment transports them), but I would take a review of such algorithms next time.

Assignments to recruit truly open space for creativity. The fact is that the recruitment zones for transport, group and individual packages can be either separate or combined. Some zones are at the same warehouse level, and one employee can set up simultaneously in all these zones, and some are divided into levels (for example, a multilevel mezzanine for piece set), and one performer will not be able to get into another warehouse zone . In addition, units of different dimensions are recruited in a fundamentally different packaging. If transport and group packaging are usually collected on large commodity carriers (for example, wooden pallets), piece and small pieces can be collected in boxes or trays.

So, it is necessary for the system to combine tasks by execution zones, then group them according to a common basis (in some warehouses, order selection is used, and in others, the entire flight is recruited at once). Further, depending on the zone and - as we have said - packaging, it is necessary to choose the optimal container for the set, and distribute the tasks into units of container. After that, the system forms a set of containers for the contractor, and only after all the indicated steps we get a ready task for the contractor. Please note that the contractor will not scroll through the list of orders at his radio terminal, and will not decide on the sequence in which he needs to complete the tasks. The algorithm of his work will look like this:

1) "Take: 1 pallet, 2 trays"
The contractor takes the tray and 2 plastic trays, scanning their bar codes and confirming the system correctness of the sizes.
2) “Go to location X”
Artist Scans Barcode Space
3) "Take the goods Y in the amount of Z, and confirm the quantity"
At this stage, the performer can change the amount of the item. A situation may arise when he does not find the required amount in the cell, and the system should offer him an alternative, if any.
4) “Put the specified quantity on the pallet / tray N, and scan its barcode”
The executor scans the barcode of the pallet or tray, depending on what the system indicates, and confirms that the selection has been made to the correct packaging.
five) …
Again: different systems - different levels of detail and options, but it is the system that “decides” which tasks, in which sequence and in which container a particular employee will collect.

Consolidation Zone Management

As we have said, tasks can be grouped in absolutely different ways. One executor can simultaneously collect 4 trays belonging to different orders, and - moreover - to different flights. The other contractor will collect shipping packages on several different orders for one pallet in order to optimize the runs for the warehouse. At the exit, however, all goods must be sorted so that it is convenient to load them into transport and - accordingly - unload them from transport.

The one who is engaged in a set should not reflect on all this. The system should give him a clear task: go to a specific place in the consolidation zone, unload 1 tray there, 2 more trays to another place, and the last one into the third place. The next employee will receive information on how to distribute the transport packaging collected on the pallet in the cells of the same zone. The result is that we get optimally sorted loads that can be brought to the transport and loaded, being sure that the system has withstood the correct sorting (the first loads are loaded for those orders that will be unloaded from the transport last).

Summary

This is the foundation, the most basic part of almost any industrial WMS. Now there are many systems on the market, about which they say that “they are all 90% similar,” but only those processes that they automate are similar in them. Realization — naturally — varies greatly, and it is this that makes it possible to coexist in one market for more than a hundred different products. Hopefully, the following articles will be able to give the reader even more useful information about the differences in systems and the principles on which they work.

Source: https://habr.com/ru/post/252889/


All Articles