Intelligent distribution algorithm

When an item is returned, the LMS sends a query to IMMS concerning which branch the item should be distributed to. IMMS calculates a branch based on knowledge of all the items’ locations, the rules set up for the branch inventories, and the properties of each specific item. If the item has been reserved, this is handled in the LMS and IMMS is not queried about a destination for the item.

Input into the algorithm:

Output from the algorithm:

Each branch includes an indication of whether or not the branch is included in IMMS. If a branch is not “included in IMMS”, it means that floating items are never assigned to the branch whereas items with a fixed relationship to the branch are always assigned to the branch.

Each department includes an indication of whether or not the department is included in IMMS. If an item belongs to a department that is not included in IMMS and the item has a fixed relationship to the branch, it will likewise always be assigned to that branch. If the item is floating, then the indication of the department is insignificant.

Via the Fixed item never on media hotel (“never share”) parameter, a branch can indicate that its items must always be assigned to the branch regardless of available capacity, strategy, etc. If an item has a fixed relationship to such a branch, then the item always needs to be assigned to that branch unless the branch is “temporarily closed”.

A branch can be marked as being “temporarily closed”. Using a branch-specific parameter, it is possible to Close branch and set opening date. If this is the case, IMMS items must not be assigned to the branch.

It is also possible to close an item grouping. Floating materials are never assigned to a closed item grouping. Fixed items may be assigned to a closed item grouping controlled by the “Allow fixed items to be assigned to closed item groupings” parameter.


Simple distribution

During run-in of IMMS, when the full configuration of item groupings etc. is not yet in place, it can be beneficial to utilize a simpler logic. This is controlled by the parameter "Use simple distribution".

The simpler distribution logic uses the following rules:

The capacity and stock of the branches are not considered, nor is the item's match with the item groupings. Media hotels are never considered.


The full distribution algorithm

The flow chart below describes the full distribution algorithm. The principle behind the floating items is that a number of possible branch destinations are initially considered, and various rules exclude a number of the destinations in a stepwise fashion.


AlgorithmFlowchart



Assignment to exhibitions
The first thing, the distribution algorithm does, is to check whether the item matches an an active exhibition with available space (looking at both item-max and copies-max). If this is the case, the item is assigned to an exhibition.

If the item matches multiple exhibitions, the following rules are used:

The item is marked as assigned to the exhibition, and the distribution algorithm returns the branch for the exhibition and the department specified for the exhibition.


Weighted random draw
If there are several possible lending branches, then a weighted random selection is made. There are four possible scenarios for the random draw:

The branches are below the meter-min:
The branches are weighted according to how far (in %) their stock is below their meter-min (meter-min % - stock %).
The branches are above the meter-min but below the copy-min:
First, how far the branches are below the copy-min is looked at. If one branch is the farthest from its copy-min, then it is selected without a random draw. If several branches are equally far below their respective copy-mins, then a random draw is carried out, weighted using a scale (0-100), indicated by the branch-specific Weight used for weighted draw parameter.
The branches are above both the meter-min and copy-min and, pursuant to the strategy consequences, the meter-max must not be exceeded:
The branches are weighted according to the amount of space (in %) available up to their respective meter-maxes (meter-max % - stock %).
The branches are above both the meter-min and copy-min and, pursuant to the strategy consequences, the meter-max can be exceeded:
The branches are weighted according to the branch-specific parameter.

Selection of the best media hotel
If an item is to be distributed to a media hotel, this is selected using a simple order of priority (1, 2, 3...) configured with the Priority of media hotel branch parameter. The first media hotel from the prioritized list that is below the meter-max is selected. However, for each individual branch, a Branch preferred media hotel can be indicated. If the item has a fixed relationship to a branch and the branch lists a preferred media hotel, then the item is assigned to that media hotel if space is available. If space is not available, then the general order of priority will be used.


Registering materials as assigned
When an item is assigned to a branch through a request, the item is registered as being assigned to the branch (“en route”).

If the item’s route from the return branch to the assigned branch involves a transit station, (central sorting), where an additional sorting will take place (and thus an additional assignment), then the item is initially registered as being “indirectly assigned”. When the item is assigned to a branch it is supposed to be directly shipped to, it is registered as being “directly assigned”. If an item is assigned to remain at the return branch, it is likewise considered to be “directly assigned”.

If at the time of request the item fulfills a hold, then the item is not registered as assigned.


Handling of items that already have been assigned
In connection with the assignment of a floating item, the stock levels (measured both in terms of meters and the number of copies of the title) of the item groupings to which the returned items belong within each of the various branches is calculated. In this context, items are included which are currently “shelved” in the item grouping as well as items that have been registered as “assigned”. For the branch where a new item is returned, only items that have been “directly assigned” are included, whereas for the other branches, both “indirectly assigned” and “directly assigned” items are included.

This has the effect that items which are assigned to a branch but can be diverted on the way do not reserve space which could be used for items that are later returned at the branch, thereby cutting down on transportation costs. If in this way a locally returned item pips another item that was “indirectly assigned” to the post, if needed, the intelligent distribution algorithm will reroute this item to another branch once another assignment is requested.

If an item was directly assigned to a branch by a prior assignment and the Direct assignments are locked parameter was set on “Yes”, then all calculations for the item are halted and a response is sent from the previously assigned branch. In this case, the response is not included in the statistics shown in, e.g., the List of assignments report.

If an item was indirectly assigned to a branch by a prior assignment or the Direct assignments are locked parameter was set on “No”, then the intelligent distribution algorithm will run as normal. However, the previously assigned branch will be selected again if a random draw would otherwise have been used. (See the diagram above).