anyLogistix
Expand
Font size

Settings of the Last Mile Optimization Experiment

If the Experiment settings window is not open, click in the experiments controls.

Experiment settings

The experiment's settings are available only if the experiment is not launched:

  • Preview orders — [disabled by default] opens the Preview Orders dialog box, containing the table with orders that were generated based on the parameters of the MANAGE ORDERS section. The counter next to the parameter name indicates the number of valid orders the Preview Orders table contains. This counter (as well as the Preview Orders dialog box) is not availbale when browsing the experiments settings within the received results.
  • MANAGE ORDERS — this section contains parameters preparing the scenario's data and limiting the overall scope that will be used as the experiments input:
    • Sites — defines facilities and groups of facilities that will be considered by the experiment. All facilities (and groups of facilities) are selected by default. If a facility (or a group of facilities) is added to the existing scenario, it will be automatically selected in this drop-down list.
    • Vehicle types — defines the vehicle type(s) to use in shipments (by default all vehicle types are selected). The specified vehicle type affects the choice of paths to use within the experiment. It is obligatory to have at least one vehicle selected, otherwise no valid orders will be generated.

      To define several vehicle types for shipment delivery, create identical records in the Paths table and set the required vehicle types for each record.

      The selected vehicle types can only use the roads that they are specified for. If a desired vehicle type is not set for a certain path in the Paths table, the experiment will not consider the customers that can be reached by that path only.

    • Products — defines products (per type or in groups) that the selected Vehicle types must deliver. All products (and groups of products) are selected by default. If a product (or a group of products) is added to the existing scenario, it will be automatically selected in this drop-down list.
    • Start date and time — defines the starting date of the period of time, within which the demand must be satisfied.
    • End date and time — defines the ending date of the period of time, within which the demand must be satisfied.

      The actual end time may exceed the date specified in this setting. Also note, that several input periods may fall within the experiment duration period.

    • Order split size — [the default value is 0] if a non-default value is set, orders that do not fit into the defined vehicle types will be split into a number of suborders. Each suborder (but not necessarily the last one) will contain the number of products defined in this setting. Each suborder will be processed independently as a standalone order.
  • EXPERIMENT SETTINGS
    • Maximum shipment duration — [the default value is 24] limits the delivery time for a shipment, i.e. the time a vehicle can spend on visiting all customers of a milk run.

      Set the value to 0 to unlimit shipment duration. The time measurement unit is defined in the drop-down list to the right of this setting.

    • Maximum vehicle idle time — [the default value is 24] limits the time a vehicle can wait at a destination point. This can be due to the unavailability of a customer or the distribution center owing the fleet because of the time windows.

      Set the value to 0 to forbid vehicle idling. The time measurement unit is defined in the drop-down list to the right of this setting.

    • Finances stats unit — the monetary unit that will be used in the statistics.
    • Product stats unit — the product measurement unit (also includes units defined in the Units table) that will be used in the statistics.
    • Time stats unit — the time measurement unit that will be used in the statistics.
    • Distance stats unit — the distance measurement unit that will be used in the statistics.
    • Random Seed — [the default value is 0] the field accepts any value of long type as the seed for the random number generator. If the field is left empty, the Random value will appear, which means that random number generator is initialized with different values for each scenario run.

      Other simulation-based multi-run experiments have random seed value for each run.

    • Reuse vehicles — [deselected by default] when selected, allows the optimizer to use the returned vehicle again for the next delivery. This does not mean that a vehicle will be obligatory reused, but if required the optimizer may consider this option. A vehicle can be reused just once, i.e. the maximum possible number of shipments for a vehicle is 2.
    • Return vehicles back to site — [selected by default] if deselected, it becomes not obligatory for the vehicles that have completed their delivery to return to the positioning site.

      Deselecting this setting does not affect the selected Reuse vehicles setting.

  • OPTIMIZER SETTINGS
    • Optimization time limit — [the default value is 30] sets the limit on the time allotted to the experiment. The time measurement unit is defined in the drop-down list to the right of this setting.
    • Dropped orders, % — [accepts values 0 - 100] defines the maximum possible percent of orders that can be dropped.
    • Relax time windows — [deselected by default] if selected, the optimizer will ignore the defined time windows.
    • Relax gates — [deselected by default] if selected, the optimizer will ignore the defined gates.
  • ADVANCED SETTINGS — [available if the Show advanced experiment settings checkbox is selected in the anyLogistix settings] a set of additional parameters that affect calculation logic.
    Parameters

    Use the parameters carefully to fine-tune the experiment. Note that changes you make may significantly increase calculation time.

    • Reset advanced settings — click to reset parameters of the ADVANCED SETTINGS section.
    • Deep search — [deselected by default] when deselected, the optimizer will use only the selected Solution strategy. When selected, the optimizer will use all solution strategies (one by one). The estimated optimization time in this case will be calculated as number of solution strategies * optimization time limit.

      As a result the best strategy can be picked based on the obtained result to further be used for the current scenario.

    • Solution strategy — [the default value is PATH_MOST_CONTRAINED_ARC] the list of algorithms provided by the OR-Tools that can be used by the solver. For more details refer to the OR-Tools help page.
    • Minimize shipment duration — adjusts the objective function by adding the shipment duration value to the expression: Objective value = SUM(Total Travel time for each shipment) + Number of dropped orders * 10^12 + SUM(Shipment duration).

      Selecting this option may decrease the total Idle Time value (which is not considered by the optimizer without this setting), and as a result it may improve the output of the experiment.

Splitting orders

To deliver all the orders within the specified period of time, splitting orders may be required in case certain orders are too big to be fit into a vehicle.

Let us assume that we receive orders from customers for ~ 100 product items. The largest vehicle capacity is 30. We will set the Order split size to 30 (or less) to create suborders that can fit into our vehicles. Eventually we will have to process 4 suborders containing 30, 30, 30, and 10 items respectively. These suborders are not related to each other, they are standalone orders that are not prioritized among each other or other orders / suborders, and are treated as separate orders within the simulated period of time.

Exceeding experiment's end time

The defined End date and time may be exceeded because of the Expected Lead Time defined in the Demand.

Let us assume that the experiment duration is 5 days. The Expected Lead Time is 2 days. The customer places an order on the last day (the 5th day). This order must be delivered on that same day (since it is the last day of the experiment duration). But if it cannot be delivered on that same day, then the delivery can be made within the following 2 days. This means that the actual experiment duration will be exceeded by 1 or 2 days.

Several input periods within the defined experiment duration period

A scenario may contain numerous time periods for specific reasons. Several of those periods may fall within the defined experiment duration period. In this case, the experiment will only take into account the data if it is specified for a period (or group of periods) that fully encompasses the experiment duration. All other data will be skipped and excluded from the experiment.

As for instance: we have a scenario with 12 periods. The data (e.g. paths) differs for each period. The custom period that we define for the experiment captures 3 and a half scenario periods (periods number 8, 9, 10, and a half of period 11). In this case, the experiment will assume that no paths are specified for the current experimental duration, as there is no single entry for a period that fully contains the entire duration of the experiment. However, if the data does not differ between periods and a path is specified for a group of periods that includes periods 8, 9, 10, and 11, such an entry will be considered valid and will be used in the experiment.

How can we improve this article?