What is a WMS?

WMS is an abbreviation of the English “Warehouse Management System”, or “warehouse management system”. Often you can find the Russian-language abbreviation of 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 immersed in the warehouse theme, when mentioning warehouse management, immediately recall the 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 differences: if barcodes are a reference to automatic identification technologies,

Before we move on to the first section, I would like to say that the article does not set itself the goal of considering all the possible functionality. It is, rather, familiarization - just for those who have heard or know common words about WMS, but want to know more.

Automatic identification

In simple terms, the essence of AI can be determined directly from the name. A variety of cargoes arrive at the warehouse, and one of the most important tasks is to identify the parameters of each cargo at the inlet and outlet. The parameter most often is the name and logistics packaging, a little less often - expiration dates and production dates, manufacturer, number of the production lot, and so on. Naturally, it is impossible to use a centralized data warehouse to transfer this data between participants in the supply chain, which is why information has to be placed directly on a single, group and / or transport packaging in the form of a label or radio tag. Most often, barcode labels are used, although sometimes it is possible to find goods marked with RFID tags (for example, clothes sewn in Europe). Since RFID tags are used extremely rarely, You can also find a barcode on the products. Thus, if we do not have equipment for reading RFID tags, we can use a barcode.

Barcodes come in many formats, but the most commonly used are EAN-13 and EAN-128. The first usually includes information about the product and the logistics unit, and the second is the so-called “block” code, and can be represented not even by one, but by several labels, where each subsequent will complement the previous one. The block code is divided into segments separated by special separator characters, and each segment contains a data type identifier, as well as the data itself. The data type identifier can be “product”, “expiration date”, “production date”, and much more. Since the content of the EAN-128 code is standardized, this code is often used by manufacturers.

Execution control

There is such a class of information management systems as “performance control systems”. Their task is to use various tools (barcode scanners, control numbers, etc.) to verify that the task was completed by the executor. Just for the purpose of performance control, all objects with which employees can perform any operations are marked with a barcode in the warehouse. For example, each warehouse cell (storage bin) where its goods can be placed receives its barcode. Let’s now think about how we will control the execution of the task of placing cargo in a cell? Expanding this task into simple components, we have:

1) An employee approached a given load located in a given location
2) An employee moved with a load to a given cell
3) The employee placed the cargo in the cell.

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

1) approached the cell from where to load the cargo (scanning the barcode of the source cell)
2) took the correct load (scanning the barcode of the cargo)
3) Delivered cargo to the target cell (scanning the barcode 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 source and target cells. Most often, however, one can encounter precisely radio terminals - special industrial PDAs with a built-in barcode scanner (and not only - depending on the configuration). All the radio terminals are connected to a common radio network, so that the employee receives instructions on the terminal screen in step-by-step mode: “Go to the place ... and scan its HQ”, “Take the load ... and scan its HQ”, “Place it in the cell ... and scan its HQ” . In addition to monitoring performance, we also get useful statistics about the time an employee moves between cells, as well as 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 - a delay of even 2 seconds will give 40,000 seconds of costs, which exceeds 11 resource / hours.

End-to-end scheduling

Taking into account that each employee is equipped with a radio terminal and performs tasks in a step-by-step mode, it is time to think about where these tasks come from. The dispatching functionality is one of the fundamental capabilities of WMS, and it is precisely the correctly configured and efficient algorithm for distributing the current volume of tasks between the executors that allows the warehouse to work quickly and efficiently. Imagine an employee on, say, a forklift. The loader travels around the warehouse and has the ability to place and remove loads from the shelves, as well as move them between the floor cells. Not all currently relevant tasks have the same priority: there are more priority (if the car has arrived and is waiting for us to ship the goods), and less priority (at the gates adjacent to this machine recently finished accepting the goods, and there are loads to accommodate). The scheduling algorithm can go in several ways:

1) Perform all tasks according to FIFO (tasks are performed in the order in which they were created)
2) First, arrange the goods that arrived at the warehouse, and then send the contractor for shipment (it can also be done in the reverse order)
3) Complete the entire list of tasks in the “passing” mode

Now more about the "passing" mode: the goods to be placed in the car, which is waiting for shipment, are in the warehouse, in the so-called "shipment expedition zone". Imagine that these are places on the front shelves that are close to the gate. We take the goods, bring them into the transport (or bring the loaders to the gates), then we take another cargo from the neighboring gates for placement, put it close to the next cargo from the shipment expedition zone, and continue the shipment procedure, interleaving it - thus - with the procedure placement with acceptance. Often this functionality is called “task interleaving”, and it is the possibility of its flexible configuration and the availability of ready-made algorithms that characterizes a really good WMS.

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

Placement strategies

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

Why did I turn to the classification of systems when the chapter is devoted to placement strategies? Because most WMS users under the “placement strategy” are used to seeing exactly what is offered by the cheapest “box” level systems, such as: “The first is in the recruitment area, the others 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 to do everything at the same time: place heavy ones - down, light ones - up, put newly arrived goods next to the same goods, and put the first goods that arrived in the collection area, so as not to waste time replenishing later. That is why, in adaptable systems, the concept of “strategy” is very arbitrary: dozens and even hundreds of rules can be constructed, who will build the logic exactly as it is now necessary. This is a huge advantage of adaptable systems over boxed ones when it comes to a warehouse for commercial cargo handling, which provides services for the storage and processing of goods (the so-called 3PL-warehouses). After all, when a new depositor (a warehouse client) arrives at the warehouse, he can have a variety of products: from nuts and canned goods to chilled meat. There are situations when you have to place goods taking into account such unimaginable attributes as the first few characters of the product name. After all, when a new depositor (a warehouse client) arrives at the warehouse, he can have a variety of products: from nuts and canned goods to chilled meat. There are situations when you have to place goods taking into account such unimaginable attributes as the first few characters of the product name. After all, when a new depositor (a warehouse client) arrives at the warehouse, he can have a variety of products: from nuts and canned goods to chilled meat. There are situations when you have to place goods taking into account such unimaginable attributes as the first few characters of the product name.

Nevertheless, whatever the system, 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 goods in favor of a certain document, transaction or other accounting object. Since in the warehouse management system accounting for balances has a rather serious degree of detail, including information about the location of the cargo, it is not entirely correct to reserve goods immediately, taking into account the entire volume of parts. To begin with, a document arrives in the warehouse management system, on the basis of which we must make a reservation. Suppose this is a customer order for the shipment of a certain quantity of goods. First we need to make sure that the indicated quantity is in stock, otherwise there is no sense in sending this document to work. It is this reservation option that establishes a reserve at the level of the product and some basic accounting parameters, often called “top-level reserve”. It is usually performed by the following parameters:

1) Goods (material)
2) Warehouse (if the system serves several physical warehouses)
3) Owner of the stock (depositor)
4) Type / category of stock (freely used, suspected marriage, quarantine, discounted, etc.)
5) Number or batch code (perhaps a composite attribute) You

can list the list for as long as you want, because developed management 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 top-level reserve is created for 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 it is precisely for atomic operations that the creation of reserves is also required at the “lower” level, which includes the identifier of the cell and cargo. The fact is that several tasks may exist on the same load, and it must not be allowed for two employees to be sent to one place, one of which suddenly finds out on the way to the cell that there is clearly not enough goods to complete the task. Moreover, some systems make a reserve at the level of the warehouse zone, building tasks in real time, and it is in 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, therefore, two reserves rarely coexist - more often they are converted from one level to another. It is within the framework of this transformation that the system must determine in which areas of the warehouse which specific operations will need to be performed. For example, you need to ship 1000 pieces, and 600 pieces are placed on one pallet. The box holds 40 pieces. Thus, the control system must find one whole pallet for 600 pieces, and collect 400 pieces with ten boxes. Since it’s extremely difficult to pick up goods from a great height (you can use special equipment or - corny - a ladder, but the technique has a high cost and a ladder implies a very low productivity), lower tiers are used for a set of boxes and / or pieces,

Again, depending on the class of the system, the strategy can be represented by a fixed algorithm with options for settings, or a flexible logic of rules. The reservation strategy is most often tied to a specific warehouse zone, therefore a list of “overviews” is obtained by the system of warehouse zones indicating how 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 there will be an opportunity to create rules in relation to arbitrary attributes, and not only 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 note that adaptable systems are most suitable for such objects.

Formation of tasks

After the conversion from the upper-level reserve to the lower-level reserve has been performed, we will receive two types of tasks: tasks for moving entire pallets (which can be performed with the help of handling equipment, hereinafter - PTO), and tasks for recruiting (selection, picking, picking orders - there are many terms). Now the following task arises: tasks need to be combined into groups according to a number of signs in order to ensure their effective execution.

We have already mentioned moving tasks, and they greatly simplify any further optimization by the fact that for one movement the operator can take only one pallet, so that you can improve something only by arranging 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 top of each other, and the technique carries them), but I would take the review of such algorithms next time.

Jobs on the set truly open up scope for creativity. The fact is that the set zones for transport, group and single packages can be both separate and combined. Some zones are located at the same warehouse level, and one employee can dial in all these zones at the same time, and some are divided by levels (for example, a multi-level mezzanine for piece dialing), and one contractor cannot get into another warehouse zone . In addition, units of different dimensions are typed in fundamentally different containers. If transport and group packages are usually picked up on large carriers (for example, wooden pallets), then piece and small-piece units can be stacked in boxes or trays.

So, the system needs to combine tasks according to execution areas, then group them according to a common criterion (in some warehouses order selection is used, and in others, the entire flight is dialed right away). Further, depending on the zone and, as we have already said, the packaging, it is necessary to select the optimal packaging for the set, and to distribute the tasks according to the packaging units. After that, the system forms a set of containers for the performer, and only after all the indicated steps do we get the finished task for the performer. Please note that the contractor will not leaf through the list of orders on 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 something like this:

1) “Take: 1 pallet, 2 trays”
The contractor takes the pallet and 2 plastic trays, scanning their barcodes and confirming the system with the correct size.
2) “Go to the place X”
The contractor scans the barcode of the place
3) “Take the goods Y in the amount of Z, and confirm the quantity”
At this stage, the contractor can change the quantity of the goods collected. A situation may arise when he does not find the required quantity in the cell, and the system should offer him an alternative, if any.
4) “Put the indicated quantity on the pallet / in tray N, and scan its barcode”
The contractor scans the barcode of the pallet or tray - depending on what the system indicates, and confirms that the selection has been made in the correct container
5) ...
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 already said, tasks can be grouped in completely different ways. One contractor can collect at the same time 4 trays belonging to different orders, and - moreover - to different flights. Another contractor will collect shipping packages for several different orders per pallet in order to optimize warehouse runs. At the exit, all goods must be sorted so that it is convenient to load them into transport and, accordingly, unload them from transport.

Those who are engaged in recruiting should not think about 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 in the third. The next employee will receive information on how to distribute transport packages collected on a pallet into cells in the same zone. The result - we get optimally sorted goods that can be transported to the truck and loaded, being sure that the system has passed the correct sorting (the first loads are loaded for those orders that will be unloaded from the transport last).


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 - of course - varies greatly, and this is what makes it possible to coexist in more than one hundred different products on the same market. I hope that subsequent articles will be able to give the reader even more useful information about the differences between the systems and the principles by which they work.

Also popular now: