Skip links

Getting Started with Hopper

1.      What does Cosmic Frog’s Hopper Algorithm do?

Hopper is the Transportation Optimization algorithm within Cosmic Frog. It designs optimal multi-stop routes to deliver a given set of shipments to customer locations at the lowest cost. Fleet sizing and balancing weekly demand can be achieved with Hopper too. Example business questions Hopper can answer are:

  • What are the best routes and modes to minimize cost and maximize service?
  • Is it better to ship on a route or ship direct via LTL or parcel?
  • How can I optimize the mix of existing assets?
  • What service improvements are possible based on different routing configurations?
  • What is the best product mix per asset per route?
  • What is the best carrier offer? What is best costing model to use?
  • How can I best slot in new customers into existing routes? Or is it better to set up entirely new routes for new customers?
  • How many transportation assets do I need to operate my routes?

Hopper’s transportation optimization capabilities can be used in combination with network design to test out what a new network design means in terms of the last-mile delivery configuration. For example, questions that can be looked at are:

  • How is the proposed design going to change my current delivery design?
  • What is my asset utilization going to be?
  • Should I renegotiate any transportation agreements?
  • Should my assets be located at their current domicile or is elsewhere better now?

With ever increasing transportation costs, getting the last-mile delivery part of your supply chain right can make a big impact on the overall supply chain costs!

It is recommended to watch this short Getting Started with Hopper video before diving into the details of this documentation. The video gives a nice, concise overview of the basic inputs, process, and outputs of a Hopper model.

In this documentation we will first cover some general Cosmic Frog functionality that is used extensively in Hopper, next we go through how to build a Hopper model which discusses required and optional inputs, how to run a Hopper model is explained, Hopper outputs in tables, on maps and analytics are covered as well, and finally references to a few additional Hopper resources are listed.

2.      General Pointers before diving into Hopper Specifics

To not make this document too repetitive we will cover some general Cosmic Frog functionality here that applies to all Cosmic Frog technologies and is used extensively for Hopper too.

2.1 Using the Hopper Technology Filter

To only show tables and fields in them that can be used by the Hopper transportation optimization algorithm, select Transportation in the Technologies Filter from the toolbar at the top in Cosmic Frog. This will hide any tables and fields that are not used by Hopper and therefore simplifies the user interface.

01 Hopper TechnologyFilter

2.2 Information contained in Tooltips

Many Hopper related fields in the input and output tables will be discussed in this document. Keep in mind however that a lot of this information can also be found in the tooltips that are shown when you hover over the column name in a table, see following screenshot for an example. The column name, technology/technologies that use this field, a description of how this field is used by those algorithm(s), its default value, and whether it is part of the table’s primary key are listed in the tooltip.

02 Hopper Tooltips

2.3 UOM (unit of measure) Input Fields

There are a lot of fields with names that end in “…UOM” throughout the input tables. How they work will be explained here so that individual UOM fields across the tables do not need to be explained further in this documentation as they all work similarly. These UOM fields are unit of measure fields and often appear to the immediate right of the field that they apply to, like for example Distance Cost and Distance Cost UOM in the screenshot above. In these UOM fields you can type the Symbol of a unit of measure that is of the required Type from the ones specified in the Units Of Measure table. For example, in the screenshot above, the unit of measure Type for the Distance Cost UOM field is Distance. Looking in the Units of Measure table, we see there are multiple of these specified, like for example Mile (Symbol = MI), Yard (Symbol = YD) and Kilometer (Symbol = KM), so we can use any of these in this UOM field. If we leave a UOM field blank, then the Primary UOM for that UOM Type specified in the Model Settings table will be used. For example, for the Distance Cost UOM field in the screenshot above the tooltip says Default Value = {Primary Distance UOM}. Looking this up in the Model Settings table shows us that this is set to MI (= mile) in our current model. Let’s illustrate this with the following screenshots of 1) the tooltip for the Distance Cost UOM field (located on the Transportation Assets table), 2) units of measure of Type = Distance in the Units Of Measure table and 3) checking what the Primary Distance UOM is set to in the Model Settings table, respectively:

  1. 03 Hopper DistanceCostUOM

 

  1. 04 Hopper DistanceUOMs

 

  1. 05 Hopper UOMs ModelSettings

Note that only hours (Symbol = HR) is currently allowed as the Primary Time UOM in the Model Settings table. This means that if another Time UOM, like for example minutes (MIN) or days (DAY), is to be used, the individual UOM fields need to be used to set these. Leaving them blank would mean HR is used by default.

2.4 Status and Notes fields

With few exceptions, all tables in Cosmic Frog contain both a Status field and a Notes field. These are often used extensively to add elements to a model that are not currently part of the supply chain (commonly referred to as the “Baseline”), but are to be included in scenarios in case they will definitely become part of the future supply chain or to see whether there are benefits to optionally include these going forward. In these cases, the Status in the input table is set to Exclude and the Notes field often contains a description along the lines of ‘New Market’, ‘New Product’, ‘Box truck for Scenarios 2-4’, ‘Depot for scenario 5’, ‘Include S6’, etc. When creating scenario items for setting up scenarios, the table can then be filtered for Notes = ‘New Market’ while setting Status = ‘Include’ for those filtered records. We will not call out these Status and Notes fields in each individual input table in the remainder of this document, but we definitely do encourage users to use these extensively as they make creating scenarios very easy. When exploring any Cosmic Frog models in the Resource Library, you will notice the extensive use of these fields too. The following 2 screenshots illustrate the use of the Status and Notes fields for scenario creation: 1) shows several customers on the Customers table where CZ_Secondary_1 and CZ_Secondary_2 are not currently customers that are being served but we want to explore what it takes to serve them in future. Their Status is set to Exclude and the Notes field contains ‘New Market’; 2) a scenario item called ‘Include New Market’ shows that the Status of Customers where Notes = ‘New Market’ is changed to ‘Include’.

  1. 06 Hopper StatusNotes
  2. 07 Hopper StatusNotes ScenarioItem

The Status and Notes fields are also often used for the opposite where existing elements of the current supply chain are excluded in scenarios in cases where for example locations, products or assets are going to go offline in the future. To learn more about scenario creation, please see this short Scenarios Overview video, this Scenario Creation and Maps and Analytics training session video, this Creating Scenarios in Cosmic Frog help article, and this Writing Scenario Syntax help article.

3.      How to Build a Hopper model

A subset of Cosmic Frog’s input tables needs to be populated in order to run Transportation Optimization, whereas several other tables can be used optionally based on the type of network that is being modelled, and the questions the model needs to answer. The required tables are indicated with a green check mark in the screenshot below, whereas the optional tables have an orange circle in front of them. The Units Of Measure and Model Settings tables are general Cosmic Frog tables, not only used by Hopper and will always be populated with default settings already; these can be added to and changed as needed. The Scenario Rules table is also a general Cosmic Frog table used by multiple technologies and can be used if desired/needed for Hopper models too.

08 Hopper RequiredOptionalTables Edited

We will first discuss the tables that are required to be populated to set up a basic Hopper model and then cover what can be achieved by also using the optional tables and fields. Note that the screenshots of all input and output tables mostly contain the fields in the order they appear in in the Cosmic Frog user interface, however on occasion the order of the fields was rearranged manually. So, if you do not see a specific field in the same location as in a screenshot, then please scroll through the table to find it.

3.1 Input Tables Required to run Hopper

3.1.1 Customers

The Customers table contains what for purposes of modelling are considered the customers: the locations that we need to deliver a certain amount of certain product(s) to. The customers need to have their latitudes and longitudes specified so that distances and transport times of route segments can be calculated, and routes can be visualized on a map. Alternatively, users can enter location information like address, city, state, postal code, country and use Cosmic Frog’s built in geocoding tool to populate the latitude and longitude fields. If the customer’s business hours are important to take into account in the Hopper run, its operating schedule can be specified here too, along with customer specific variable and fixed pickup & delivery times. Following screenshot shows an example of several populated records in the Customers table:

09 Hopper CustomersTable

  1. Latitudes and longitudes are required for distance and transport time calculations, and to visualize customers on a map.
  2. If the latitude and longitude fields are not populated for customers, then filling out some of the columns with location information (Address, City, Country, Postal Code, Country) and using the geocoding tool can retrieve and populate latitudes and longitudes for you.
  3. The geocoding tool – see this help article Geo Providers for Geocoding and Distance and Time Calculations, and this training session video How to Use Cosmic Frog Maps and Geocoding on how to use the geocoding tool.

The operating schedule and pickup & delivery time input fields can be seen when scrolling right in the Customers table:

09a Hopper CustomersTable2

  1. Operating Schedule – the opening and closing times of locations for each day of the week can be entered into the Business Hours table which we will discuss as part of the optional Hopper input tables further below. Once these are set up, they can be used in this field on the Customers table to set the customer’s operating schedule; pickups & deliveries can then only be made during times that the customer is open. The name entered here needs to match one of the Schedule Names as specified on the Business Hours table. If no Operating Schedule is specified, the customer is assumed to always be open.
  2. Fixed Pickup Time – enter the amount of fixed time needed at this customer for pickups. It is additive to any Fixed Pickup Time specified on the Shipments and Transportation Assets tables.
  3. Fixed Delivery Time – enter the amount of fixed time needed at this customer for deliveries. It is additive to any Fixed Delivery Time specified on the Shipments and Transportation Assets tables.
  4. Unit UOM – the unit of measure that is applied to the Unit Pickup Time and Unit Delivery Time fields. Units Of Measure of Type = Quantity, Cubic, and Weight are accepted here.
  5. Unit Pickup Time – enter the amount of variable time needed at this customer for pickups. It is additive to any Unit Pickup Time specified on the Shipments and Transportation Assets tables.
  6. Unit Delivery Time – enter the amount of variable time needed at this customer for deliveries. It is additive to any Unit Delivery Time specified on the Shipments and Transportation Assets tables.

3.1.2 Facilities

The Facilities table needs to be populated with the location(s) the transportation routes start from and end at; they are the domicile locations for vehicles (assets). The table is otherwise identical to the customers table, where location information can again be used by the geocoding tool to populate the latitude and longitude fields if they are not yet specified. And like other tables, the Status and Notes field are often used to set up scenarios. This screenshot shows the Facilities table populated with 2 depots, 1 current one in Atlanta, GA, and 1 new one in Jacksonville, FL:

10 Hopper FacilitiesTable Edited

Scrolling further right in the Facilities table shows the same fields as those to the right on the Customers table: Operating Schedule, and Fixed & Unit Pickup & Delivery Times plus their UOM fields. These all work the same as those on the Customers table, please refer to the descriptions of them in the previous section.

3.1.3 Products

The item(s) that are to be delivered to the customers from the facilities are entered into the Products table. It contains the Product Name, and again a Status and Notes fields for ease of scenario creation. Details around the Volume and Weight of the product are entered here too, which are further explained below this screenshot of the Products table where just one product “PRODUCT” has been specified:

11 Hopper ProductsTable Edited

  1. The Unit Volume and Unit Volume UOM fields specify what the volume of 1 unit of the product is. Here this is 50 cubic feet (CFT). The Unit Volume is used to calculate the volume utilization of vehicles and ensure that on no segment of a route there is more volume on a vehicle than its capacity (in CFT) allows for. If volume is not important in your modelling, for example because your vehicles always weigh out before they cube out, then you could leave these fields blank and then it is assumed that the volume of 1 unit of product is equal to 1 using the primary volume unit of measure specified in the Model Settings table.
  2. The Unit Weight and Unit Weight UOM fields specify what the weight of 1 unit of the product is. Here this is 265 pounds (LB). The Unit Weight is used to calculate the weight utilization of vehicles and ensure that on no segment of a route there is more weight on a vehicle than its capacity (in LB) allows for. If weight is not important in your modelling, for example because your vehicles always cube out before they weigh out, then you could leave these fields blank and then it is assumed that the weight of 1 unit of product is equal to 1 using the primary weight unit of measure specified in the Model Settings table.

3.1.4 Transportation Assets

On the Transportation Assets table, the vehicles to be used in the Hopper baseline and any scenario runs are specified. There are a lot of fields around capacities, route and stop details, delivery & pickup times, and driver breaks that can be used on this table, but there is no requirement to use all of them. Use only those that are relevant to your network and the questions you are trying to answer with your model. We will discuss most of them through multiple screenshots, starting with this screenshot showing basic asset details like name and status, rate information, and operating schedule:

12 Hopper TransportationAssetsTable Edited

  1. Specify the name of the vehicle in the Asset Name field, how many of the asset are available at this location in the Available Units field, and where it is based in the Domicile Location field. Notes:
    • If there is no limit on how many units of an asset can be available, then you can put a sufficiently large number in the Available Units field (like it has been done in this example, 1000 units) or leave it blank which will assume an infinite number of units are available.
    • If the Domicile Location is left blank, then it is assumed that this asset is available at all facilities. This field can use a group of Group Type = Facilities too.
  2. Transportation Rate Name and Transportation Rate Type – many different types of costs that can be associated with a vehicle type can be set on the Transportation Rates table (discussed in the next section further below) and be applied to the vehicle by using the name of the transportation rate here in the Transportation Rate Name field. The Transportation Rate Type can be one of the following:
    • Location Independent – the cost structure does not depend on (the order of) the stops on the route.
    • Last Destination – Hopper will look up the correct cost structure based on the Route Destination Name of the Transportation Rate. Last Destination uses the customer visited last on the route.
    • Furthest Destination – Hopper will look up the correct cost structure based on the furthest customer from the origin Facility on the route.
  3. Operating Schedule – the start and end times of when assets are available each day of the week can be entered into the Business Hours table which we will discuss as part of the optional Hopper input tables further below. The name entered here needs to match a Schedule Name on the Business Hours table. If no Operating Schedule is specified, the vehicle is assumed to always be available.
  4. Fixed Cost – a one-time fixed cost applied for each unit of the asset used in the model run.

The following screenshot shows the fields where the capacity of the vehicles can be entered:

13 Hopper TransportationAssetsTable2 Edited

  1. Quantity Capacity – enter the capacity of the vehicle in terms of quantity. The Quantity Capacity UOM field specifies how this capacity is applied, e.g. per each or per dozen, etc.
  2. Volume Capacity – enter the capacity of the vehicle in terms of volume. The Volume Capacity UOM field specifies how this capacity is applied, e.g. per cubic foot or per cubic meter, etc.
  3. Weight Capacity – enter the capacity of the vehicle in terms of weight. The Weight Capacity UOM field specifies how this capacity is applied, e.g. per pound or per kilogram, etc.

Note that if all 3 of these capacities are specified, the most restrictive one will be used. If you know that a certain type of vehicle always cubes out, then you could just populate the Volume Capacity and Volume Capacity UOM fields and leave the other capacity fields blank.

If you scroll further right, you will see the following fields that can be used to set limits on route distance, time, and stops when using this type of vehicle. Where applicable, you will notice their UOM fields too:

14 Hopper TransportationAssetsTable3 Edited

  1. Max Distance Per Route – populate this field if there is an upper limit to how far this type of vehicle can travel on any one route.
  2. Max Time Per Route – populate this field if there is an upper limit to how long this type of vehicle can travel on any one route.
  3. Max Stops Per Route – populate this field if there is an upper limit to the number of stops this type of vehicle can make on any one route.
  4. Speed – populate this field if the speed of this type of vehicle is different from the Average Speed set in the Model Settings table.

Fields where details around wait times, routes and time per tour can be specified can be found further to the right in the Transportation Assets table:

14a Hopper TransportationAssetsTable3a Edited

  1. Max Wait Time Per Route – when business hours are used at pickup and/or delivery locations, it is possible that an optimal route will need to have some wait time built into it. Use this field to limit the total time a vehicle type is allowed to wait during a route.
  2. Max Routes Per Tour – the maximum number of routes a vehicle can be used on during the model horizon.
  3. Max Time Per Tour – the maximum amount of time a vehicle can be used over the model horizon. This is defined as from the start of its first route to the end of its last route.

Scrolling still further right you will see the following fields that can be used to add details around how long pickup and delivery take when using this type of vehicle. These all have their own UOM fields too:

15 Hopper TransportationAssetsTable4 Edited

  1. Fixed Pickup Time – enter the amount of fixed time that this type of vehicle needs at each pickup location. It is additive to any Fixed Pickup Time specified on the Shipments, Customers, and Facilities tables.
  2. Fixed Delivery Time – enter the amount of fixed time that this type of vehicle needs at each delivery location. It is additive to any Fixed Delivery Time specified on the Shipments, Customers, and Facilities tables.
  3. Unit Pickup Time – enter the amount of variable time that this type of vehicle needs at pickup locations for each unit. It is additive to any Unit Pickup Time specified on the Shipments, Customers, and Facilities tables.
  4. Unit Delivery Time – enter the amount of variable time that this type of vehicle needs at delivery locations for each unit. It is additive to any Unit Delivery Time specified on the Shipments, Customers, and Facilities tables.

The next screenshot shows the fields on the Transportation Assets table where rules around driver duty, shift, and break times can be entered. Limits around out of route distance can be set here too. Note that these fields each have a UOM field that is not shown in the screenshot:

15a Hopper TransportationAssetsTable5 Edited

  1. Max Drive Time Within Shift – the upper limit on how long a driver is allowed to drive the asset during a shift.
  2. Max Duty Time Within Shift – the upper limit on how long a driver can work during a shift. This includes everything (driving, service time at a stop, wait time, short breaks, etc.) that is not a rest in between shifts, so effectively this field controls the length of a shift.
  3. Rest Time Between Shifts – the minimum amount of rest time in between 2 shifts.
  4. Max Drive Time Before Short Break – the upper limit on the cumulative time driving since the last rest or break after which a short break needs to be taken.
  5. Short Break Time – the length of the break that needs to be taken once the max drive time before short break limit is reached.
  6. Max Out Of Route Distance – this field and the next (Max Out Of Route Distance Percentage) can be used to set upper limits to the distance of a route as compared to the distance from the route origin location to the stop on the route that is farthest from the origin location. Consider the following route with 4 stops on it where stop 2 is farthest from the origin location:
    • 15b Hopper OutOfRouteDistance
    • The out of route distance is defined as the distance of the multi-stop route (= the sum of the distances of the 4 green segments) minus twice the red distance from the origin to stop 2 (which is the stop farthest from the origin).
    • The distances used here for the multi-stop route and the distance to the farthest stop are those specified on the Transit Matrix table, if used, or otherwise based on the latitudes & longitudes of the locations plus the Circuity Factor specified in the Model Settings table.
  7. Max Out Of Route Distance Percentage – instead of an absolute value for the Max Out of Route Distance allowed for a route that can be set using the previous field, this field can be used to set the upper limit of the out of route distance in terms of a percentage. If this field is set to 50 for example, the distance of the green multi-stop route can at a maximum be 50% more than 2 times the distance to the farthest stop on the multi-stop route. E.g. max = 1.5 * 2 *

As a reference, these are the department of transportation driver regulations in the US and the EU. They have been somewhat simplified from these sources: US DoT Regulations and EU DoT Regulations:

DoT Regulations US EU
 max drive time per shift 11h​ 9h​
 max duty time per shift 14h​ 24h ​
 rest between shifts 10h​ 11h​
 max drive time before short break 8h​ 4.5h​
 short break 30min​ 45min​

Consider this route that starts from the DC, then goes to CZ1 & CZ2, and then returns to the DC:

15c Hopper RouteWBreakRest

The activities on this route can be thought of as follows, where the start of the Rest is the end of Shift 1 and Shift 2 starts at the end of the Rest:

15d Hopper RouteWBreakRest Sequence

Notes on Driver Breaks:

  • If service has commenced it will continue even if the duty clock is reached, a rest will be taken at the end of service.
  • Short Breaks and Rests can be taken during Wait Time if there is enough time.
  • A Short Break can trigger a Rest, in that case the Rest is taken right away and not a Short Break first.
  • Breaks and Rests are currently based on individual routes as the assumption is that a driver starts each route with fresh clocks.

Lastly, the weight of the asset and CO2 emission rates can be set on the Transportation Assets table too:

15e Hopper TransportationAssetsTable6 Edited

  1. Asset Weight – the weight of 1 unit of the asset when empty; it is used for CO2 Emissions calculations.
  2. CO2 Emission Rate – the rate of CO2 Emissions for this asset. These are applied based on the UOM field which can be Distance, Quantity-Distance, Volume-Distance or Weight-Distance
    • Distance: the CO2 Emission Rate is multiplied by the route’s total distance to calculate the CO2 Emissions of the route.
    • Quantity-Distance: the CO2 Emission Rate is multiplied by the total distance of the route and by the quantity delivered on the route to calculate the CO2 Emissions of the route.
    • Volume-Distance: the CO2 Emission Rate is multiplied by the total distance of the route and by the volume delivered on the route to calculate the CO2 Emissions of the route.
    • Weight-Distance: to calculate route’s CO2 emissions, the CO2 Emission Rate is multiplied by the total distance of the route and by the asset’s total weight, which includes the weight of the empty asset (see bullet 1 above) and the weight of the load delivered on the route.

3.1.5 Transportation Rates

Except for asset fixed costs, which are set on the Transportation Assets table, and any Direct Costs which are set on the Shipments table, all costs that can be associated with a multi-stop route can be specified in the Transportation Rates table. The following screenshot shows how a transportation rate is set up with a name, a destination name and the first several cost fields. Note that UOM fields have been omitted in this screenshot, but that each cost field has its own UOM field to specify how the costs should be applied:

15f Hopper TransportationRatesTable1 Edited

  1. Transportation Rate Name – the name of the rate cost structure being specified in this record. This can be used in the Transportation Rate Name field on the Transportation Assets table to associate a cost structure with an asset.
  2. Route Destination Name – the location name of the last or furthest delivery on the route when Rate Type is either Last Destination or Furthest Destination (set on the Transportation Assets table where the rate can be selected to be used). This dictates which record will be used to calculate the cost of that route. Notes:
    1. For Last/Furthest Destination Rate Types you will typically have multiple records in the Transportation Rates table that have the same Transportation Rate Name table which have different individual or grouped Route Destination Names to set up different costs for different Last / Furthest Destinations on the route.
    2. If a Rate Type of Location Independent is used in the Transportation Assets table, this field should be left blank.
  3. Fixed Cost Per Route – a one time cost applied to each route using this rate structure.
  4. Distance Cost – the cost that is applied per distance travelled on the route, this includes the segment where the asset is returned to its domicile location (the reposition segment of the route).
  5. Reposition Distance Cost – the cost that is applied per distance when travelling while the asset is empty, for example on the segment of the route where the asset is returned to its domicile location (from the last stop on the route back to the origin location). This is in addition to any Distance Costs specified which will also be applied when travelling while empty.
  6. Out Of Route Distance Cost – the cost that is applied per distance that is considered out of route, based on the definition of out of route distance given in the previous section on the Transportation Assets table. This is additive to any Distance and Reposition Distance Costs specified.

Scrolling further right in the Transportation Rates table we see the remaining cost fields:

15g Hopper TransportationRatesTable2 Edited

  1. Time Cost – the cost per unit of time that the asset is used.
  2. Wait Time Cost – the cost per unit of time that the vehicle is waiting.
  3. Rest Time Cost – the cost per unit of time during a rest in between 2 shifts.
  4. Break Time Cost – the cost per unit of time that the driver is on a short break after the maximum drive time per shift is reached.
  5. Stop Cost – the cost incurred by the asset at each stop.
  6. Unit Cost – the cost per unit product that is delivered on the route. A single numeric value, a step cost, or a custom cost function can be used in this field. An example of using a Step Cost here is discussed in the section on the Step Costs table further below.

3.1.6 Shipments

The amount of product that needs to be delivered from which source facility/supplier to which destination customer is specified on the Shipments table. Optionally, details around pickup and delivery times, direct costs, and fixed template routes can be set on this table too. Note that the Shipments table is Transportation Asset agnostic, meaning that the Hopper transportation optimization algorithm will choose the optimal one to use from the vehicles domiciled at the source location. This first screenshot of the Shipments table shows the basic shipment details:

16 Hopper ShipmentsTable Edited

  1. ShipmentID – each Shipment needs to have its own unique identifier.
  2. Source Name, Destination Name and Product Name – specify which Product needs to be delivered to which Customer from which Facility/Supplier. Each of these fields can also use Groups.
  3. Quantity – the amount of product that needs to be delivered from this source to this destination.

To the right of these we find the fields where details around shipment windows can be entered:

16a Hopper ShipmentsTable2 Edited

  1. Earliest Pickup Date – the date and time from when this shipment is allowed to be picked up from the source.
  2. Latest Pickup Date – the date and time until when this shipment is allowed to be picked up from the source.
  3. Earliest Delivery Date – the date and time from when this shipment is allowed to be delivered to the destination.
  4. Latest Delivery Date – the date and time until when this shipment is allowed to be delivered to the destination.
  5. Decomposition Name – shipments with the same Decomposition Name will be run together as a subproblem in the Hopper solve.

Still further right on the Shipments table are the fields where details around pickup and delivery times can be specified:

17 Hopper ShipmentsTable3 Edited

  1. Fixed Pickup Time – enter the amount of fixed time that this shipment needs at this pickup location. It is additive to any Fixed Pickup Time specified on the Transportation Assets table.
  2. Fixed Delivery Time – enter the amount of fixed time that this shipment needs at this delivery location. It is additive to any Fixed Delivery Time specified on the Transportation Assets table.
  3. Unit UOM – the unit of measure that is applied to the Unit Pickup Time and Unit Delivery Time fields. Units Of Measure of Type = Quantity, Cubic, and Weight are accepted here.
  4. Unit Pickup Time – enter the amount of variable time that this shipment needs at this pickup location for each unit where the UOM is set by the Unit UOM field described under bullet 3 above. This Unit Pickup Time is additive to any Unit Pickup Time specified on the Transportation Assets table. Note that this Unit Delivery Time field on the Shipments table is more flexible than the one on the Transportation Assets table due to the use of the Unit UOM field which makes it possible to apply this variable time not only to Units of Measure of Type = Quantity but also to those of Type = Weight or Cubic. The Unit Pickup Time set on the Transportation Assets table uses a per each unit of measure which cannot be changed.
  5. Unit Delivery Time – enter the amount of variable time that this shipment needs at this delivery location for each unit where the UOM is set by the Unit UOM field described under bullet 3 above. This Delivery Time is additive to any Unit Delivery Time specified on the Transportation Assets table. Note that this Unit Delivery Time field on the Shipments table is more flexible than the one on the Transportation Assets table due to the use of the Unit UOM field which makes it possible to apply this variable time not only to Units of Measure of Type = Quantity but also to those of Type = Weight or Cubic. The Unit Pickup Time set on the Transportation Assets table uses a per each unit of measure which cannot be changed.

Finally, furthest right on the Shipments table are fields where Direct Costs, and details around Template Routes can be specified:

18 Hopper ShipmentsTable4 Edited

  1. Direct Cost – if this field is populated with a number, then it is evaluated during the Hopper run if it is more beneficial (e.g. lower overall cost) to ship direct to this customer for the Direct Cost specified here than to put this customer on a multi-stop route. This can be used when considering LTL or Parcel options. Note that Cosmic Frog can connect to RateWare XL to retrieve LTL rates.
  2. Template Route Name – if the user wants to fix certain routes, for example to how they are currently set up, then this field and the Template Route Stop Sequence field can be used. Here, specify the name of the route, which can be a number (like in this screenshot) or text, this Shipment needs to be on. Shipments with the same Template Route Name will be on the same route together. Leave this field blank if the Hopper algorithm should optimize the routes and determine which shipments should be on the same route and in which order.
  3. Template Route Stop Sequence – this works with the Template Route Name field to fix routes to have specific shipments in a specific order on them. Here, specify the stop number for this Shipment on the Template Route, starting at 1 and increasing by 1 for each next stop. Leave this field blank if the Hopper algorithm should optimize the routes and determine which shipments should be on the same route and in which order.

Note that there are multiple ways to switching between forcing Shipments and the order of stops onto a template route and letting Hopper optimize which shipments will be put on a route together and in which order. 2 example approaches are:

  1. Create 2 sets of Shipment records where one set has the Template Route Name and Template Route Stop Sequence fields populated to force specifics route and in the other set these fields are left blank so these Shipments can be optimized. Set the Status to Include of the set of Shipments that you want to be included by default and to Exclude of those that you do not want to be included by default. Use the Notes field for both sets, e.g. “forced routes” and “optimized routes” and use it to switch the Status from Include to Exclude for 1 set and Exclude to Include for the other set in scenarios.
  2. Create 1 set of Shipment records that have the Template Route Name and Template Route Stop Sequence fields populated to force specific routes. Set the Status of these to Include and use the Notes field, for example put “original routes” in there. Then use the Notes field to filter out these fields in a scenario to set the Template Route Name and Template Route Stop Sequence fields to blank in a scenario in which the Shipments will then be optimized and not forced onto a template route.

3.2 Optional Input Tables to use with Hopper

The tables and their input fields that can optionally be populated for their inputs to be used by Hopper will now be covered. Where applicable, it will also be mentioned how Hopper will behave when these are not populated.

3.2.1 Transit Matrix

In the Transit Matrix table, the transport distance and time for any source-destination-asset combination that could be considered as a segment of a route by Hopper can be specified. Note that the UOM fields in this table are omitted in following screenshot:

  1. Origin Name, Destination Name, and Asset Name – specify the origin, destination, and transportation asset of the segment for which the transport distance and transport time are specified in this record. Each of these fields can also use Groups, however unless a modelling trick to achieve certain behavior/cost is used, this usually does not make sense to do for Origin Name and Destination Name as locations with different latitudes and longitudes will typically result in different distances. If Asset Name is left blank like in the screenshot above, the record applies to all vehicles that can be considered for this source-destination pair. Note that if you want to specify transport distances and/or transport times for all possible segments, this Matrix should contain records for:
    • Each Source Name and Destination Name of each Shipment (for the case where this Destination is the first stop on a Route) and the reverse (for the case where this Destination is the last stop on a Route).
    • Each Destination name to Each Destination name that have the same Source Name in the Shipments table, to consider all possible orders of stops on routes originating from this Source Name.
    • If transport distances and/or transport times are dependent on the vehicle travelling the segment, then repeat bullets a) and b) above for all Transportation Assets that can be used on the segment.
  2. Transport Distance – set the distance for this segment and vehicle combination. It is for example possible that distances are dependent on vehicle type if certain vehicles cannot use certain roads while others can.
  3. Transport Time – set the time it takes to travel from this source to this destination on specified vehicle.
  4. Additional Cost – an additional cost that is incurred if this segment is used as part of a route. It is included in the Distance Cost in Hopper output tables.
  5. IsSymmetric – if the transport distance and transport time are the same in both directions between the specified source and destination for the specified vehicle, then set this field to True (the default when left blank is also True). If set to True only 1 record for each source-destination-vehicle combination needs to be populated. If set to False, then 2 separate records for the source-destination-vehicle combination need to be populated where the source and destination are switched for the second record.

The transport distances for any source-destination pairs that are not specified in this table will be calculated based on the latitudes and longitudes of the source and destination and the Circuity Factor that is set in the Model Settings table. Transport times for these pairs will be calculated based on the transport distance and the vehicle’s Speed as set on the Transportation Assets table or, if Speed is not defined on the Transportation Assets table, the Average Speed in the Model Settings table.

3.2.2 Template Routes

If Template Routes are specified on the Shipments table by using the Template Route Name and Template Route Stop Sequence fields, then the Template Routes table can be used to specify if and how insertions of other Shipments can be made into these template routes:

20 Hopper TemplateRoutesTable Edited

  1. Template Route Name and Asset Name – specifies which template route as entered on the Shipments table and vehicle (asset) combination this template route record applies to. Notes:
    • Template Route Name needs to match a Template Route Name used on the Shipments table for this record to be used.
    • If Asset Name is left blank it means that Hopper will pick the cheapest asset available to operate this template route.
  2. Additional Shipment Insertion Type – this field specifies for the template route – asset combination if insertions of other shipments onto this route are allowed and if so how:
    • No Insertion – no additional Shipments can be inserted into this template route. This is the default if the field is left blank.
    • Insert Anywhere – Shipments can be inserted at any point of the template route. E.g. as the first or last stop on the route is fine or anywhere between any of the existing stops is fine too.
    • Insert Before – Shipments are only allowed to be inserted before the first stop of the existing template route, nowhere else on the route can insertions of new Shipments be made.
    • Insert After – Shipments are only allowed to be inserted after the last stop of the existing template route, nowhere else on the route can insertions of new Shipments be made.

If a template route is set up by using the Template Route Name and Template Route Stop Sequence fields in the Shipments table and this route is not specified in the Template Routes table, it means that no insertions can be made into this template route.

3.2.3 Load Balancing Demand

In addition to routing shipments with a fixed amount of product to be delivered to a customer location, Hopper can also solve problems where routes throughout a week need to be designed to balance out weekly demand while achieving the lowest overall routing costs. The Load Balancing Demand and Load Balancing Schedules tables can be used to set this up. If both the Shipments table and the Load Balancing Demand/Schedules tables are populated, by default the Shipments table will be used and the Load Balancing Demand/Schedules tables will be ignored. To switch to using the Load Balancing Demand/Schedules tables (and ignoring the Shipments) table, the Run Load Balancing toggle in the Hopper (Transportation Optimization) Parameters section on the Run screen needs to be switched to on (toggle to the left and grey is off; to the right and blue is on):

20a Hopper LoadBalancingOptions Edited

The weekly demand, the number of deliveries per week, and, optionally, a balancing schedule can be specified in the Load Balancing Demand table:

20b Hopper LoadBalancingDemandTable Edited

  1. Source Name, Customer Name, and Product Name – specify the origin facility from which the product will be picked up in the Source Name field, the Customer that required the product in the Customer Name field, and the name of the product to be delivered in the Product Name field.
  2. Weekly Demand – specify the weekly demand quantity (unit = eaches) this customer has for this product.
  3. Number Of Deliveries Per Week – enter how often the customer needs to be delivered to per week. This field is required and when left blank the default of 1 will be used. If this number clashes with the Load Balancing Schedule used (next field), there will be unrouted shipments in the outputs.
  4. Load Balancing Schedule Name – if there are other rules around how the weekly demand needs to be balanced over the week, schedules can be specified on the Load Balancing Schedules table, which will be discussed in the next section. Type the name of a Load Balancing Schedule in this field for this source-destination-product combination to use it.

3.2.4 Load Balancing Schedules

To balance demand over a week according to a schedule, these schedules can be specified in the Load Balancing Schedules table:

20c Hopper LoadBalancingSchedulesTable Edited

  1. Load Balancing Schedule Name – the name of the load balancing schedule that is specified in this record. To use the schedule, its name needs to be used in the Load Balancing Schedule Name field of the Load Balancing Demand table.
  2. Min Days and Max Days Between Delivery – if there are rules around the lower and upper limits of the number of days that are allowed in between deliveries, enter these here.
  3. Monday Delivery, Tuesday Delivery, Wednesday Delivery, Thursday Delivery, Friday Delivery, Saturday Delivery, and Sunday Delivery – for each day of the week it can be specified if a delivery has to be made by setting these fields to Force, a delivery cannot be made by setting them to Prevent, or if optimal a delivery can be made by setting these fields to Consider. If nothing is specified here, the default of Consider will be used.

In the screenshot above, the 3 load balancing schedules that have been set up will spread the demand out as follows:

  1. TuesAndThurs: this schedule forces 2 deliveries per week, 1 on Tuesday and 1 on Thursday.
  2. Min2DaysBetween: this schedule allows for deliveries to be made on each day of the week, the only condition is that there are at least 2 days in between any deliveries.
  3. Weekdays_Max3DaysBetween: this schedule allows for deliveries to be made on each weekday, however there cannot be more than 3 days in between any deliveries, so at least 2 deliveries per week need to be made when this schedule is used.

3.2.5 Relationship Constraints

In the Relationship Constraints table, we can tell Hopper what combinations of entities are not allowed on the same route. For example, in the screenshot below we are saying that customers that make up the Primary Market cannot be served on the same route as customers from the Secondary Market:

21 Hopper RelationshipConstraintsTable Edited

  1. Entity1 and Entity2 – with these 2 entity fields we specify which entities are not allowed to be on the same route. Here Primary_Market, a Group of customers, and Secondary_Market, also a Group of customers are selected. Both Groups and single elements can be used in these fields.
  2. Entity1Type and Entity2Type – the types of entities that are disallowed to be on the same route together, here they are both set to Customer as the entities selected in the Entity1 and Entity2 fields are Groups of type = Customers. Other options are Transportation Asset, Product and Shipment.

A few examples of common Relationship Constraints are shown in the following screenshot where the Notes field explains what the constraint does:

22 Hopper RelationshipConstraintsTable2 Edited

3.2.6 Business Hours

To set the availability of customers, facilities, and assets to certain start and end times by day of the week, the Business Hours table can be used. The Schedule Name specified on this table can then be used in the Operating Schedule fields on the Customers, Facilities and Transportation Assets tables. Note that the Wednesday – Saturday Open Time and Close Time fields are omitted in the following screenshot:

22a Hopper BusinessHoursTable Edited

  1. Schedule Name – specify the name of the schedule that is specified in this record. Note that if a schedule has multiple time windows where it is open on the same day (say for example 9AM-12PM, and 1PM-5PM), multiple records that have the same Schedule Name can be specified in this table.
  2. Sunday Open Time and Sunday Close Time – using the 24 hour clock, set the time on Sunday when the location opens or the asset becomes available in the Sunday Open Time field. Similarly, set the time on Sunday when the location closes or the asset becomes unavailable in the Sunday Close Time field. Repeat this for the Open and Close Time fields for the other days of the week. Notes:
    • If a location is closed / asset is unavailable on a certain day of the week, you should enter 0:00 as both the open and close time.
    • Leaving the open and close time fields blank means that the location is open / asset is available all day.

3.2.7 Groups

Groups are a general Cosmic Frog feature to make modelling quicker and easier. By grouping elements that behave the same together in a group we can reduce the number of records we need to populate in certain tables since we can use the Group names to populate the fields instead of setting up multiple records for each individual element which will all have the same information otherwise. Underneath the hood, when a model that uses Groups is run, these Groups are enumerated into the individual members of the group. We have for example already seen that groups of Type = Customers were used in the Relationship Constraints table in the previous section to prevent customers in the Primary Market being served on the same route as customers in the Secondary Market. Looking in the Groups table we can see which customers are part (‘members’) of each of these groups:

23 Hopper GroupsTable Edited

Examples of other Hopper input tables where use of Groups can be convenient are:

  • Using a group of Facilities or Suppliers in the Domicile Location field of the Transportation Assets table to indicate that this Asset has the same characteristics in terms of cost, capacity, upper limits on distance, time and stops, and pickup & delivery times across these locations.
  • Using a group of Transportation Assets in the Asset Name field of the Transit Matrix table to indicate that the Transport Distances and Transport Times set there are the same across a group of Assets.
  • Using a group of Transportation Assets in the Asset Name field of the Template Routes table to indicate that the rules around insertion of additional shipments on the template route are valid across a group of Assets.
  • Using groups of Customers, Shipments, Transportation Assets or Products in the Entity1 and Entity2 fields of the Relationship Constraints table to indicate that all members of the group are not allowed on the same route together with the element(s) of the other entity. E.g. groups of Chilled and Ambient products, groups of Reefer vehicles, groups of customers with access restrictions for certain groups of larger vehicles, etc.

3.2.8 Step Costs

The Step Costs table is a general table in Cosmic Frog used by multiple technologies. It is used to specify costs that change based on the throughput level. For Hopper, all cost fields on the Transportation Rates table and the Fixed Cost on the Transportation Assets table can be set up to use Step Costs. We will go through an example of how Step Costs are set up, associated with the correct cost field, and how to understand outputs using the following 3 screenshots of the Step Costs table, Transportation Rates table and Transportation Route Summary output table, respectively. The latter will also be discussed in more detail in the next section on Hopper outputs.

24 Hopper StepCostsTable Edited

  1. Step Cost Name – use this field to give the step cost structure you are setting up a unique name. All records with the same Step Cost Name (UnitCost_1 here) make up 1 set of stepped costs.
  2. Step Cost Behavior – this field specifies how the stepped costs are to be applied. Options are Stepwise, Incremental and All Item:
    • Stepwise: the cost is a fixed cost up to a certain throughput level
    • Incremental: the cost is a variable cost and any discounts for higher throughputs apply from the specified throughput level only, not to all items once we go over that certain throughput.
    • All Item: the cost is a variable cost and any discounts for higher throughputs apply to all items.
  3. Throughput Level – the throughput from which the specified Cost applies.
  4. Cost – the cost for the throughput from this throughput level to the next throughput level applied.

In this example, the per unit cost for units 0 through 20 is $1, $0.9 for units 21 through 40, and $0.85 for all units over 40. Had the Step Cost Behavior field been set to All Item, then the per unit cost for all items is $1 if the throughput is between 0 and 20 units, the per unit cost for all items is $0.9 if the throughput is between 21 and 40 units, and the per unit cost for all items is $0.85 if the throughput is over 41 units.

In this screenshot of the Transportation Rates table, it is shown that the Unit Cost field is set to UnitCost_1 which is the stepped cost with 3 throughput levels that we just discussed in the screenshot above:

25 Hopper TAUnitCost Stepped Edited

Lastly, this is a screenshot of the Transportation Route Summary output table where we see that the Delivered Quantity on Route 1 is 78. With the stepped cost structure as explained above for UnitCost_1, the Unit Cost in the output is calculated as follows: 20 * $1 (for units 1-20) + 20 * $0.9 (for units 21-40) + 38 * $0.85 (for units 41-78) = $20 + $18 + $32.30 = $70.30.

26 Hopper TransportationRouteSummaryTable StepCosts Edited

4.      Running a Hopper Model

When the input tables have been populated and scenarios are created (several resources explaining how to set up and configure scenarios are listed in the “2.4 Status and Notes fields” section further above), one can start a Hopper run by clicking on the Run button at the top right in Cosmic Frog:

26a Hopper RunButton Edited

The Run screen will come up:

26b Hopper RunScreen Edited

  1. Choose the Resource Size of the solver to be used for the Hopper run.
  2. In the Engine section, select Hopper.
  3. In the Hopper Parameters section, optionally turn Run Load Balancing on or off. If it is off (the default) then the Shipments table will be used as the input for how much product needs to be delivered where and when, and the Load Balancing Demand & Schedules tables will be ignored. If Run Load Balancing is turned on, the Load Balancing Demand & Schedules tables will be used as the input for how much product needs to be delivered where and when, and the Shipments table will be ignored.
  4. In the Scenarios list, choose the ones to run.
  5. Click on the Start button to kick off the selected scenario(s).

Once a Hopper run is completed, the Hopper output tables will contain the outputs of the run.

5.      Looking at Hopper Outputs

As with other Cosmic Frog algorithms, we can look at Hopper outputs in output tables, on maps and analytics dashboards. We will discuss each of these in the next 3 sections. Often scenarios will be compared to each other in the outputs to determine which changes need to be made to the last-mile delivery part of the supply chain.

5.1 Hopper Output Tables

In the Output Summary Tables section of the Output Tables are 8 Hopper specific tables, they start with “Transportation…”. Plus, there is also the Hopper specific detailed Transportation Activity Report table in the Output Report Tables section:

69 Hopper OutputTables Edited

Switch from viewing Input Tables to Output Tables by clicking on the round grid at the top right of the tables list. The Transportation Summary table gives a high-level summary of each Hopper scenario that has been run and the next 6 Summary output tables contain the detailed outputs at the route, asset, shipment, stop, segment, and tour level. The Transportation Load Balancing Summary output table is populated when a Load Balancing scenario has been run, and summarizes outputs at the daily level. The Transportation Activity Report is especially useful to understand when Rests and Breaks are required on a route. All these output tables will be covered individually in the following sections.

5.1.1 Transportation Summary

The Transportation Summary table contains outputs for each scenario run that include Hopper run details, cost details, how much product was delivered and how, total distance and time, and how many routes, stops and shipments there were in total.

28 Hopper TransportationSummaryTable1 Edited

The Hopper run details that are listed for each scenario include:

  • Hopper Version – the version of the Hopper algorithm that was used to run the scenario.
  • Run Start Time – the date and time when the run started.
  • Total Run Time – how many minutes it took to run the scenario.
  • Resource Size – the size of the solver resource that was used to run the scenario.
  • Consumed Memory – how much memory (in GB) was used during the Hopper solve.
  • Solve Type – indicates which algorithm was run.

The next 2 screenshots show the Hopper cost outputs, summarized by scenario:

29 Hopper TransportationSummaryTable2 Edited

29a Hopper TransportationSummaryTable2 Edited

  1. Total Transportation Cost – this is the total of all the costs that have been incurred in this scenario, which is the sum of the 12 cost types which are listed in the next 12 columns, plus the Total CO2 Cost which is not shown in this screenshot, and can be found farther right in this table.
  2. The costs that the total transportation costs are made up of are:
    • Total Route Fixed Costs – the sum of the fixed costs associated with the routes in the scenario.
    • Total Asset Fixed Costs – the sum of all the fixed costs associated with the assets in the scenario.
    • Total Distance Cost – the sum of all the costs incurred based on how far assets travelled in the scenario.
    • Total Reposition Distance Cost – the sum of all the costs incurred based on how far assets travelled while empty in the scenario.
    • Total Out Of Route Distance Cost – the sum of all the costs incurred based on how far out of route assets travelled in the scenario.
    • Total Time Cost – the sum of all the costs incurred based on how long assets travelled in the scenario.
    • Total Wait Time Cost – the sum of all the costs incurred based on how long drivers needed to wait in the scenario.
    • Total Rest Time Cost – the sum of all the costs incurred based on how long drivers needed to rest in the scenario.
    • Total Break Time Cost – the sum of all the costs incurred based on how long drivers needed to take short breaks in the scenario.
    • Total Stop Cost – the sum of all the costs incurred based on how many stops assets made in the scenario.
    • Total Unit Cost – the sum of all the variable costs incurred based on how much product was moved in the scenario.
    • Total Direct Cost – the sum of all the direct costs incurred for serving customers directly rather than on a multi-stop route.
    • Total CO2 Cost – the sum of all the costs incurred on all routes in the scenario because of CO2 emissions.
  3. Comparing scenario 2_New Market Added to Primary Template, where secondary market customers were inserted into the primary market customers’ routes, with scenario 3_Combined Markets_No Template Routes, where the routes where optimized for both primary and secondary market customers, we see that the overall cost for scenario 3 is lower which is mainly driven by much lower Distance Costs and further by lower Rest Time Costs. Based on this it seems beneficial to create entirely new routes which allow serving primary market and secondary market customers on the same route. However, there may be a cost associated with implementing these changes which will need to be taken into account in the final decision too.

Scrolling further right in the Transportation Summary table shows the details around how much product was delivered in each scenario:

30 Hopper TransportationSummaryTable3 Edited

For the Quantity UOM that is shown in the farthest right column in this screenshot (eaches here), the Total Delivered Quantity, Total Direct Quantity and Total Undelivered Quantity are listed in these columns. If the Total Direct Quantity is greater than 0, details around which shipments were delivered directly to the customer can be found in the Transportation Shipment Summary output table where the Shipment Status = Direct Shipping. Similarly, if the total undelivered quantity is greater than 0, then more details on which shipments were not delivered and why are detailed in the Unrouted Reason field of the Transportation Shipment Summary output table where the Shipment Status = Unrouted.

The next set of output columns when scrolling further right repeat these delivered, direct and undelivered amounts by scenario, but in terms of volume and weight.

Still further to the right we find the outputs that summarize the total distance and time by scenario:

31 Hopper TransportationSummaryTable3 Edited

31a Hopper TransportationSummaryTable2 Edited

  1. Total Distance – the sum of the distances travelled by the assets on all the routes in the scenario.
  2. Total Reposition Distance – the sum of the distances of the segments on all routes in the scenario where the assets were empty.
  3. Total Out Of Route Distance – the sum of the out of route distances travelled by the assets on all the routes in the scenario. Out of route distance is defined in the section on the Transportation Rates table further above.
  4. Total Time – the sum of the time it took for all the routes to be completed in the scenario. This is the sum of the next 5 time output columns.
  5. Total Travel Time – the sum of the driving time of all the routes in the scenario.
  6. Total Service Time – the sum of the time spent at locations picking up or delivering product in the scenario.
  7. Total Wait Time – the sum of the time spent waiting in the scenario.
  8. Total Rest Time – the sum of the time spent resting in between shifts in the scenario.
  9. Total Break Time – the sum of the short breaks taken in the scenario.

Lastly, the fields furthest right on the Transportation Summary output table contain details around the number of routes, assets and shipments, and CO2 emissions:

32 Hopper TransportationSummaryTable5 Edited

  1. Number Of Routes – the number of routes that were used in this scenario.
  2. Number Of Transportation Assets – the number of vehicles (assets) that were used in this scenario.
  3. Number Of Delivered Shipments – the number of shipments that were delivered to customers using a multi-stop route in this scenario.
  4. Number Of Direct Shipments – the number of shipments that were delivered directly to customers in this scenario.
  5. Number Of Unrouted Shipments – the number of shipments that were not delivered to customers in this scenario.
  6. Total CO2 Emissions – the total amount of CO2 that was emitted during this scenario.

5.1.2 Transportation Route Summary

The Transportation Route Summary table contains details for each route in each scenario that include cost, distance & time, number of stops & shipments, and the amount of product delivered on the route.

33 Hopper TransportationRouteSummaryTable1 Edited

  1. Route Name – the name of the route for which the details are listed here. If this is a Template Route, the name given to that Template Route in the Template Route Name field on the Shipments table will be listed here. Otherwise, if it is a Hopper generated route, the Route Name will be automatically generated and be a number, starting from 1.
  2. Tour ID – a tour is defined as an asset schedule, and each tour gets assigned a unique ID, starting at 1. Routes with the same tour ID use the same asset on them. Note that this field may appear further to the right in your Transportation Route Summary table.
  3. Route Start Date and Route End Date – the date and time of when the route starts at the origin location and the date and the time that the asset returns to the origin location. Note that this field may appear further to the right in your Transportation Route Summary table.
  4. Origin Name – details which facility the route started from. Note that this field may appear further to the right in your Transportation Route Summary table.
  5. Transportation Asset Name – details what vehicle (asset) was used for the route. Note that this field may appear further to the right in your Transportation Route Summary table.
  6. Route Cost – the total cost of the route. The individual cost buckets that make up the total cost are listed in the next set of fields, see the next 2 screenshots below.

The costs that together make up the total Route Cost are listed in the next 11 fields shown in the next 2 screenshots:

34 Hopper TransportationRouteSummaryTable2 Edited

34a Hopper TransportationRouteSummaryTable2a Edited

  1. Fixed Cost – the one-time fixed route cost for this route, resulting from the Fixed Cost Per Route input on the Transportation Rates table.
  2. Distance Cost – the cost resulting from the distance travelled on this route.
  3. Reposition Distance cost – the cost incurred from the distance travelled while the asset is empty on this route.
  4. Out Of Route Distance Cost – the cost incurred from the out of route distance, out of route distance is defined in the Transportation Assets table section further above.
  5. Time Cost – the cost resulting from the amount of time it takes to travel on this route.
  6. Wait Time Cost –the cost resulting from the amount of time the driver needed to wait on this route.
  7. Rest Time Cost – the cost resulting from the amount of time the driver needed to rest on this route.
  8. Break Time Cost – the cost resulting from the amount of time the driver needed to take short breaks on this route.
  9. Stop Cost – the cost resulting from the amount of stops on this route.
  10. Unit Cost – the variable costs incurred based on how much product was moved on this route.
  11. Route CO2 Cost – the costs incurred on this route due to CO2 emissions.

The next set of output fields show the distance and time for each route:

35 Hopper TransportationRouteSummaryTable3 Edited

35a Hopper TransportationRouteSummaryTable3 Edited

  1. Route Distance – the total distance covered by the asset on this route. This is calculated based on the distances specified in the Transit Matrix, if populated. For segments of the route that do not have a distance specified in the Transit Matrix table, the latitudes and longitudes of the origin and destination of the segment plus the Circuity Factor set in Model Settings are used to calculate the distance.
  2. Reposition Distance – the distance covered by the asset on this route while the asset is empty.
  3. Out Of Route Distance – the distance of this route that is considered to be out of route based on the out of route distance definition explained in the Transportation Assets table section further above.
  4. Route Time – the total time it took to complete the route. This is the sum of the times specified in the next 5 fields.
  5. Route Travel Time – the total time of the route that is spent driving. This is calculated based on the times specified in the Transit Matrix table. For segments of the route that do not have a time specified in the Transit Matrix table, the time is calculated from the distance of the segment and the Speed of the asset as specified in the Transportation Assets table. If the Speed of the asset is left blank in the Transportation Assets table, then the Average Speed in the Model Settings table is used.
  6. Route Service Time – the total time of the route that is spent at stops, picking up and delivering products.
  7. Route Wait Time – the total time of the route that is spent waiting.
  8. Route Rest Time – the total time of the route that is spent resting in between 2 shifts.
  9. Route Break Time – the total time of the route that is spent on short breaks.

Finally, the fields furthest right in the Transportation Route Summary table list the amount of product that was delivered on the routes, and the number of stops and delivered shipments on each route.

36 Hopper TransportationRouteSummaryTable4 Edited

  1. Delivered Quantity, Delivered Volume, and Delivered Weight – these list how much product was delivered on this route in terms of quantity, volume, and weight. Their UOM fields specify what the unit of measure for each of those is; here: eaches, cubic feet, and pounds.
  2. Number of Stops – the number of stops made on this route.
  3. Number of Delivered Shipments – the number of shipments that were delivered on this route. This can be the same number as the number of stops or it could be a higher number in case multiple shipments to the same destination were consolidated onto 1 route.
  4. Route CO2 Emissions (not shown in screenshot) – the total CO2 emitted on this route.
  5. Decomposition Name (not shown in screenshot) – the decomposition name given to the shipments on this route (Decomposition Name input field on the Shipments table).

5.1.3        Transportation Asset Summary

The Transportation Asset Summary output table contains the details of each type of asset used in each scenario. These details include costs, amount of product delivered, distance & time, and the number of delivered shipments.

37 Hopper TransportationAssetSummaryTable1 Edited

  1. Transportation Asset Name, Origin Name, Number Used – detail how often this asset type was used starting at this facility/supplier during this scenario.
  2. Total Cost – the total cost for this asset type starting from this origin during the scenario. The individual cost buckets are listed in the next several fields, see the next screenshot below.

The costs that together make up the Total Cost are listed in the next 12 fields:

38 Hopper TransportationAssetSummaryTable2 Edited 38a Hopper TransportationAssetSummaryTable2a Edited

  1. Total Route Fixed Cost – the total of the one-time costs applied on each route for this asset type (resulting from the Fixed Cost Per Route input on the Transportation Rates table).
  2. Total Fixed Cost – the total of the one-time asset costs for this asset type (resulting from the Fixed Cost input on the Transportation Assets table).
  3. Total Distance Cost – the total of the costs resulting from the distance travelled by this asset type.
  4. Total Reposition Distance Cost – the total of the costs resulting from the distance travelled by this asset type while empty.
  5. Total Out Of Route Distance Cost – the total of the costs incurred from the out of route distance travelled by this asset type; out of route distance is defined in the Transportation Assets table section further above.
  6. Total Time Cost – the total of the costs resulting from the amount of time this asset type was used.
  7. Total Wait Time Cost – the total of the costs resulting from the amount of time this asset type has needed to wait on the routes it was used on.
  8. Total Rest Time Cost – the total of the costs resulting from the amount of time this asset type has needed to rest in between 2 shifts on the routes it was used on.
  9. Total Break Time Cost – the total of the costs resulting from the amount of time this asset type has needed to take short breaks on the routes it was used on.
  10. Total Stop Cost – the total of the costs resulting from the cost per stop for all the stops this asset type made on the routes it was used on.
  11. Total Unit Cost – the total of the variable costs resulting from the amount of product this asset type delivered on the routes it was used on.
  12. Total CO2 Cost – the total of the costs resulting from the CO2 emitted by this asset type on the routes it was used on.

The next set of fields in the Transportation Asset Summary summarize the distances and times by asset type for the scenario:

39 Hopper TransportationAssetSummaryTable3 Edited 39a Hopper TransportationAssetSummaryTable3a Edited

  1. Total Distance – the total distance covered by this asset type on the routes it is used on. See the notes on the Route Distance field in the Transportation Route Summary on how distances are calculated.
  2. Total Reposition Distance – the total distance covered by this asset type on the routes it is used on while empty.
  3. Total Out Of Route Distance – the total distance that is considered out of route for this asset type on the routes it is used on. See the section on the Transportation Assets table for the definition of Out Of Route Distance.
  4. Total Time – the total time it took to complete the routes this asset type is used on.
  5. Total Travel Time – the total driving time for this asset type on the routes it is used on. See the notes on the Route Time field in the Transportation Route Summary on how times are calculated.
  6. Total Service Time – the total time for this asset type that is spent at stops, picking up and delivering products, on the routes it is used on.
  7. Total Wait Time – the total time for this asset type that is spent waiting on the routes it is used on.
  8. Total Rest Time – the total time for this asset type that is spent resting in between 2 shifts on the routes it is used on.
  9. Total Break Time – the total time for this asset type that is spent on short breaks on the routes it is used on.

Furthest to the right on the Transportation Asset Summary output table we find the outputs that list the total amount of product that was delivered, the number of delivered shipments, and the total CO2 emissions:

40 Hopper TransportationAssetSummaryTable4 Edited 2

  1. Total Delivered Quantity, Total Delivered Volume, and Total Delivered Weight – these list how much product in total was delivered by this asset type on the routes it is used on in terms of quantity, volume, and weight. Their UOM fields specify what the unit of measure for each of those is; here: eaches, cubic feet, and pounds.
  2. Number of Delivered Shipments (not shown in screenshot) – the number of shipments that were delivered by this asset type on the routes it is used on.
  3. Total CO2 Emissions (not shown in screenshot) – the total CO2 emitted by this asset type on the routes it is used on.

5.1.4 Transportation Shipment Summary

The Transportation Shipment Summary output table lists for each included Shipment of the scenario the details of which asset type it is served by, which stop on which route it is, the amount of product delivered, the allocated cost, and its status.

41 Hopper TransportationShipmentSummaryTable1 Edited

  1. Shipment ID – the ID of the Shipment as specified in the Shipments input table. In case a Load Balancing Demand scenario has been run (see Load Balancing Demand input table further above for details on how to set this up and run this), the Shipment ID will be autogenerated by Hopper.
  2. Transportation Asset Name – the vehicle type (asset) the shipment is served by.
  3. Source Name, Destination Name, Product Name – the location (source) from which the customer (destination) is served, and the name of the product that is delivered.
  4. Route Name – the name of the route this Shipment is on. If this is a Template Route, the name given to that Template Route in the Template Route Name field on the Shipments table will be listed here. Otherwise, if it is a Hopper generated route, the Route Name will be automatically generated and be a number, starting from 1.
  5. Stop ID – the destination’s stop number on the route. If this stop is on a Template Route, the Stop ID will be the same as the number in the Template Route Stop Sequence field on the Shipments table if no insertions of other Shipments were made. If insertions were allowed and also made, the Stop ID field may be different.

The next set of fields in the Transportation Shipment Summary table list the total amount of product that was delivered to this stop.

42 Hopper TransportationShipmentSummaryTable2 Edited

  • Quantity, Volume, and Weight – these list how much product of this shipment was delivered by this asset type in terms of quantity, volume, and weight. Their UOM fields specify what the unit of measure for each of those is; here: eaches, cubic feet, and pounds.

The next screenshot of the Transportation Shipment Summary shows the outputs that detail the status of the shipment, costs, and a reason in case the shipment was unrouted.

43 Hopper TransportationShipmentSummaryTable3 Edited

  1. Shipment Status – this will show 1 of 3 possible statuses of the Shipment:
    • Routed: the Shipment was delivered as part of a multi-stop route.
    • Direct Shipping: the Shipment was delivered directly and not as part of a multi-stop route.
    • Unrouted: the Shipment has not been delivered.
  2. Allocated Route Cost and Allocated Route Cost Percent – the portion of the cost of the route the shipment is responsible for in absolute and percentage of total route cost.
  3. Direct Cost – if the Shipment was delivered directly, this field shows the cost associated with that direct shipping.
  4. Unrouted Reason – if the Shipment Status of the Shipment = Unrouted, the reason why the Shipment could not be routed will be given here.

Lastly, the outputs furthest to the right on the Transportation Shipment Summary output table list the pickup and delivery time and dates, the allocation of CO2 emissions and associated costs, and the Decomposition Name if used:

43a Hopper TransportationShipmentSummaryTable3 Edited

  1. Pickup Date – the date and time when the product of the shipment was picked up from its origin location. This date and time are the start of the service time at that location, which can be the same as or later than the arrival time at this location.
  2. Delivery Date – the date and time when the product of the shipment was delivered to its destination location. This date and time are the start of the service time at that location, which can the same as of later than the arrival time at this location.
  3. Allocated CO2 Emissions and Allocated CO2 Cost – the CO2 emissions that this shipment is responsible for and the cost associated with them.
  4. Decomposition Name – the decomposition name given to the shipment in the Shipments table.

5.1.5 Transportation Stop Summary

The Transportation Stop Summary output table lists for each route all the individual stops and their details around amount of product delivered, allocated cost, service time, and stop location information.

This first screenshot shows the basic details of the stops in terms of route name, stop ID, location, stop type, and how much product was delivered:

44 Hopper TransportationStopSummaryTable1 Edited

  1. Route Name and Stop ID – the name of the route the Stop is on and the number of the stop on this route. The facility location that the shipments are delivered from is the first stop and is given Stop ID 0 so that the first stop with Stop ID 1 is the destination of a Shipment where product is delivered to.
  2. Site Name and Stop Type – the location name of the Stop, which can be a facility, or customer and the Stop Type, which can be Pickup, Delivery or Asset Return.
  3. Delivered Quantity, Delivered Volume (not shown in screenshot), and Delivered Weight (not shown in screenshot) – these list how much product was delivered to this stop on this route in terms of quantity, volume, and weight. Their UOM fields specify what the unit of measure for each of those is.

Somewhat further right on the Transportation Stop Summary table we find the outputs that detail the route cost allocation and the different types of time spent at the stop:

45 Hopper TransportationStopSummaryTable2 Edited

  1. Allocated Route Cost and Allocated Route Cost Percent – the portion of the cost of the route the stop is responsible for in absolute and percentage of total route cost.
  2. Service Time – the time the vehicle spends in total at this stop. The inputs into Service time are the fixed and unit pickup and delivery times specified on the Shipments, Transportation Assets, Customers, and Facilities tables.
  3. Wait Time – the time the vehicle spent waiting at this stop, for example if it arrives before the stop is open.
  4. Rest Time – the time the vehicle spent resting in between 2 shifts at this stop.
  5. Break Time – the time the vehicle spent on short break at this stop.

Lastly, farthest right on the Transportation Stop Summary table, arrival, service, and departure dates are listed, along with the stop’s latitude and longitude:

45a Hopper TransportationStopSummaryTable3 Edited

  1. Arrival Date – the date and time the vehicle arrives at this stop.
  2. Service Date – the date and time the vehicle starts service at this stop.
  3. Departure Date – the date and time the vehicle leaves this stop.
  4. Latitude and Longitude – the latitudes and longitudes of the stops are repeated here from the input tables (from the Facilities or Customers input table).

5.1.6 Transportation Segment Summary

The Transportation Segment Summary output table contains distance, time, and source and destination location details for each segment (or “leg”) of each route.

The basic details of each segment are shown in the following screenshot of the Transportation Segment Summary table:

46 Hopper TransportationSegmentSummaryTable1 Edited

  1. Route Name and Segment ID – the name of the route and the number of the segment on the route.
  2. Origin Name and Destination Name – the location where the segment starts from (origin) and the location where the segment ends at (destination).
  3. Segment Distance – the distance of the segment. See the notes on the Route Distance field in the Transportation Route Summary on how distances are calculated.

Further right on the Transportation Segment Summary output table, the time details of each segment are shown:

47 Hopper TransportationSegmentSummaryTable2 Edited

  1. Segment Time – the total time this segment takes, which is the sum of the next 3 time output fields.
  2. Segment Travel Time – the time it takes to travel the segment. See the notes on the Route Time field in the Transportation Route Summary on how times are calculated.
  3. Segment Rest Time – the total rest time in between shifts that was taken on this segment of the route.
  4. Segment Break Time – the total short break time that was taken on this segment of the route.

Next on the Transportation Segment Summary table are the latitudes and longitudes of the segment’s origin and destination locations:

48 Hopper TransportationSegmentSummaryTable3 Edited

  1. Origin Latitude and Origin Longitude – the latitude and longitude of the segment’s origin location are repeated here (from the facilities or Customers input table).
  2. Destination Latitude and Destination Longitude – the latitude and longitude of the segment’s destination location are repeated here (from the Facilities or Customers input table).

And farthest right on the Transportation Segment Summary output table details around the start and end date and time of the segment are listed, plus CO2 emissions and the associated CO2 cost:

49 Hopper TransportationSegmentSummaryTable4 Edited

  1. Start Date – the time and date when the asset leaves the segment’s origin location.
  2. End Date – the time and date when the arrives at the segment’s destination location.
  3. CO2 Emissions and CO2 Cost – the CO2 emitted by the asset on this segment of the route and the cost associated with it.

5.1.7 Transportation Tour Summary

For each Tour (= asset schedule) the Transportation Tour Summary output table summarizes the costs, distances, times, and CO2 details.

The next 3 screenshots show the basic tour details and all costs associated with a tour:

50 Hopper TransportationTourSummaryTable1 Edited

51 Hopper TransportationTourSummaryTable2 Edited

52 Hopper TransportationTourSummaryTable3 Edited

  1. Tour ID – the unique identifier of the tour within the scenario.
  2. Transportation Asset Name and Origin Name – the type of transportation asset (vehicle) used on the tour and the location from where the routes within the tour start.
  3. Number Of Routes – the number of routes on this tour.
  4. Tour Cost – the total cost associated with this tour, this is the sum of the next 11 cost fields.
  5. Tour Route Fixed Cost – the costs resulting from the fixed cost that is applied once to each route within the tour.
  6. Tour Asset Fixed Cost – the costs resulting from the fixed cost that is applied once to the asset used for this tour.
  7. Tour Distance Cost – the costs resulting from the total distance travelled by this asset on this tour.
  8. Tour Reposition Distance Cost – the costs resulting from the distance travelled by this asset while empty on this tour.
  9. Tour Out Of Route Distance Cost – the costs resulting from the distance travelled that is considered out of route by this asset on this tour. The definition of Out Of Route Distance is explained in the Transportation Assets section further above.
  10. Tour Time Cost – the costs resulting from the total time the tour takes.
  11. Tour Wait Time Cost – the costs resulting from the amount of time the asset had to wait while on this tour.
  12. Tour Rest Time Cost – the costs resulting from the rests in between shifts that were taken while on this tour.
  13. Tour Break Time Cost – the costs resulting from the short breaks that were taken while on this tour.
  14. Tour Stop Cost – the total costs for all stops on the routes of this tour.
  15. Tour Unit Cost – the costs resulting from the amount of product moved while on this tour.

The next screenshot shows the distance outputs available for each tour on the Transportation Tour Summary output table:

53 Hopper TransportationTourSummaryTable4 Edited

  1. Tour Distance – the total distance of the routes of the tour together.
  2. Tour Reposition Distance – the total distance of the routes of the tour together where the asset was empty.
  3. Tour Out Of Route Distance – the total distance that is considered to be out of route for the entire tour. Out Of Route Distance is explained in the Transportation Asset section further above.

Scrolling further right on the Transportation Tour Summary table, the outputs available for tour times are listed:

54 Hopper TransportationTourSummaryTable5 Edited

 

  1. Tour Time – the total time the routes of the tour take.
  2. Tour Travel Time – the total drive time of the tour.
  3. Tour Service Time – the total time spent servicing the stops on all routes of the tour, picking up and delivering products.
  4. Tour Wait Time – the total time spent waiting on the tour.
  5. Tour Rest Time – the total rest spent in between shifts on the routes of the tour together.
  6. Tour Break Time – the total time spent on short breaks on the routes of the tour together.

55 Hopper TransportationTourSummaryTable6 Edited

  1. Tour Start Date – the date and time when the first route in the tour starts.
  2. Tour End Date – the date and time when the last route in the tour finishes.
  3. Tour CO2 Emissions and Tour CO2 Cost – the total CO2 emitted on the routes of the tour together and the cost associated with these CO2 emissions.
  4. Decomposition Name – the decomposition name given to the shipments of this tour in the Shipments table.

5.1.8 Transportation Load Balancing Summary

If a load balancing scenario has been run (see the Load Balancing Demand input table further above for more details on how to run this), then the Transportation Load Balancing Summary output table will be populated too. Details on amount of product delivered, plus the number of routes, assets and delivered shipments by day of the week can be found in this output table; see the following 2 screenshots:

67 Hopper TransportationLoadBalancingSummary Edited

  1. Source Name – the origin location for the routes on this day of the week.
  2. Delivery Date and Weekday – the date and time from which the routes start and which day of the week this is.
  3. Delivered Quantity, Delivered Volume, and Delivered Weight (UOM fields omitted in screenshot) – how much product is delivered on this day of the week from this source, in terms of quantity, volume, and weight.

68 Hopper TransportationLoadBalancingSummary2 Edited

  1. Total Distance – the total distance of all routes from this source on this day of the week.
  2. Total Time – the total time it takes for the routes to be completed from this source on this day of the week.
  3. Number Of Routes – how many routes are being completed from this source on this day of the week.
  4. Number Of Transportation Assets – how many assets are needed to complete all routes from this source on this day of the week.
  5. Number Of Delivered Shipments – the number of shipments completed on all routes from this source on this day of the week.

5.1.9 Transportation Activity Report

For each route, the Transportation Activity Report details all the activities that happen in chronological order with details around distance and time and it breaks down how far along the duty and drive times are at each point in the route, which is very helpful to understand when rests and short breaks are happening.

This first screenshot of the Transportation Activity Report shows the basic details of the activities:

56 Hopper TransportationActivityReportTable1 Edited

  1. Activity ID – the unique ID of the activity on the route. Automatically generated by Hopper, starting from 1.
  2. Type – the type of activity this record concerns, which will be one of:
    • Pickup: when starting a route at the origin location of a route
    • Travel: when the asset is en route from the start location to the end location
    • Delivery: when the asset is at the end location
    • Vehicle Return: when the asset returns back to the start location
  3. Start Date and End Date: the date and time of when the activity starts and the date and time of when the activity ends.
  4. Route Name – the name of the route the current activity happens on.
  5. Transportation Asset Name – the name of the asset used on this route.
  6. Start Location Name and End Location Name – where the activity starts and where it ends. For Pickup, Delivery, and Vehicle Return these 2 locations are the same.

Next, the distance, time, and delivered amount of product are detailed on the Transportation Activity Report:

57 Hopper TransportationActivityReportTable2 Edited

  1. Distance – the distance of the activity. Where the activity’s start and end locations are the same, the distance is 0.
  2. Time – the time the activity takes.
  3. Quantity, Volume (not shown in screenshot), and Weight (not shown in screenshot) and their associated UOM fields – the amount of product that is being picked up for an activity of Type Pickup or the amount of product that is being delivered for an activity of Type Delivery; these are in terms of quantity, volume, and weight, respectively.

Finally, the last several fields on the Transportation Activity Report details cost, and the thus far accumulated duty and drive times:

58 Hopper TransportationActivityReportTable3 Edited

  1. Activity Cost – the cost associated with the activity.
  2. Current Duty Time Within Shift – the cumulative duty time of all activities on the route so far. Once this reaches the Max Duty Time Within Shift (specified in the Transportation Assets table) this will trigger a Rest (of length Rest Time Between Shifts, also specified in the Transportation Assets table).
  3. Current Drive Time Within Shift – the cumulative drive time of all travel activities on the route so far. Once this reaches the Max Drive Time Within Shift (specified in the Transportation Assets table) this will trigger a Rest (of Length Rest Time Between Shifts, also specified in the Transportation Assets table).
  4. Current Drive Time Before Short Break – the cumulative drive time of all activities on the route so far. Once this reaches the Max Drive Time Before Short Break (specified in the Transportation Assets table) this will trigger a Short Break (of length Short Break Time, also specified in the Transportation Assets table).

5.2 Hopper Maps

As with other algorithms within Cosmic Frog, Maps are very helpful in visualizing baseline and scenario outputs. Here, we will do a step by step walk through of setting up a Hopper specific Map and not cover all the ins and outs of maps. If desired, you can review these resources on Maps in general first:

We will first cover the basics of what we need to know to set up a Hopper specific map:

59 Hopper Maps1 Edited

  1. You can choose which part of Cosmic Frog you are working in from the Module Menu, which comes up when clicking on the hamburger icon (3 horizontal bars) at the top left in Cosmic Frog.
  2. To go to Maps, choose Maps from the Module Menu, the fourth option in the list.
  3. After switching to the Maps module, a Map drop-down menu becomes available at the top of Cosmic Frog. The following screenshot shows the drop-down options available here.

60 Hopper Maps2 Edited

Click on the Map drop-down to view all options in the list:

  1. New Map – this creates an empty fresh new map to which Layers need to be added to visualize anything on the map.
  2. New Layer – this adds a layer to the Map that is currently selected. You can add multiple layers to a map to visualize multiple elements and outputs of your Hopper runs at the same time.
  3. Other Options in this drop-down menu are to Duplicate (i.e. copy) the Map or Layer that is currently selected, Rename the Map or Layer that is currently selected, Delete the Map or Layer that is currently selected, and to Export a Screenshot of the Map that is currently selected.

After adding a new Map or when selecting an existing Map in the Maps list, the following view will be shown on the right-hand side of the map:

61 Hopper Maps3 Edited

  1. At the right top there is a menu with 3 icons, from left to right:
    • Map Filters which is currently selected and showing in the above screenshot.
    • Amend Map under the i icon where you can change the Map Name and add a Map Description if desired.
    • Map Legend under the equal sign & wave icon – here you can indicate if you want to show the Map Legend and if so, configure it.
  2. In the Map Filters menu, you can choose which scenario to show the outputs of on the map from the drop-down list. If the scenario is changed here, it will automatically update all layers in the Map to use the outputs of the same scenario.
    • There is also a Product Filter on this screen where a user can choose to show outputs for 1 specific product, a subset of products, or all products on the map. This Product Filter is not shown in the screenshot as the Scenario drop-down menu covers it.

After adding a new Layer to a Map or when selecting an existing Layer in a Map, the following view will be shown on the right-hand side of the map:

62 Hopper Maps4 Edited

By default, the Condition Builder view is shown:

  1. At the top right of the view there is a menu with 3 icons, from left to right:
    • Condition Builder which is currently selected and shown in the screenshot above
    • Layer Style under the icon that contains half a circle. This view will be discussed further below.
    • Layer Labels under the label icon. This view will be discussed further below too.
  2. Layer Name – shows the name of the Layer. The name cannot be changed here; it can be changed by clicking on the Layer in the Maps list and then choosing Rename from the Map drop-down menu or right-clicking on the Layer and then selecting Rename from the context menu.
  3. Table Name – you can select which table to show the elements of from the drop-down here. For Hopper, input tables that you can select are Customers, Facilities, and Suppliers (Suppliers are not shown in the screenshot as they are not used in this particular model and the Suppliers table is therefore empty). Currently, there are 3 Hopper output tables that can be chosen from to show on the Map: Transportation Stop Summary, Transportation Segment Summary, and Transportation Routes Map Layer.

There is also a Conditions text field which is not shown in the screenshot as it is covered by the Table Name drop-down. A filter (“condition”) can be typed into the Conditions text field to only show the records of the table that match the filter. For example, typing “CustomerName like ‘%Secondary%’” in the Conditions field, will only show customers where the Customer Name contains the text ‘Secondary’ anywhere in the name. You can learn more about building conditions in this Writing Syntax for Conditions help article.

Switching from Condition Builder to Layer Style shows the following:

63 Hopper Maps5 Edited

Here, following is shown / configurable:

  • Layer Name – shows the name of the layer.
  • Type – shows what type of layer this is (e.g. point or line, etc.).
  • Shape – for a Point type of layer, select a shape to represent the layer on the map.
  • Color – select the color of the shapes.
  • Size px – select the size of the shapes.
  • Opacity – select the percentage of opacity, 100% means completely opaque where you do not see the features of anything that is covered by this shape.

Switching from Layer Style to Layer Labels shows the following:

64 Hopper Maps6 Edited

  • Layer Name – shows the name of the layer.
  • Labels – select a column name of the table this layer uses to show as the label on the map.
  • Color – select the font color for the label.
  • Size – select the font size for the label.
  • Font – select the font for the label.
  • Background – select if you want to have a background for the label and if so, what color.
  • Position – from the drop-down choose if the label should be positioned at the Top, Bottom, Left or Right of the map element.
  • Tooltips – choose the model output(s) to show in a tooltip while hovering over the model element in the map. Note that the order in which the checkboxes are checked in the list is the order in which the data will be shown in the tooltip.

Using what we have discussed above, we can create the following map quite easily and quickly (the model used here is one from the Resource Library, named Transportation Optimization):

65 Hopper Maps7 Edited

The steps taken to create this map are:

  1. Use Map > New Map to add a new map:
    • Type the name for the map: “Transportation Routes”.
    • In the Map Filters view on the right-hand side of the map, select scenario “4 Combined Markets”.
  2. While the Transportation Routes map is selected in the Maps list choose Map > New Layer:
    • Type the name for the layer: “Customers”.
    • In the Condition Builder view on the right hand-side of the map, choose Customers from the Table Name drop-down.
    • Switch to the Layer Style view on the right-hand side of the map and use the defaults of blue black circles of size 6 and 100% opacity.
    • Switch to the Layer Labels view on the right-hand side of the map and configure the labels to show CustomerName (choose this from the Labels drop-down list), keep the defaults for color (Blue Black), Size (14), Font (Arial, sans-serif), Background (on and Pale Green color), change Position to Right, and no fields for the tooltip were selected.
  3. While the Transportation Routes map is selected in the Maps list choose Map > New Layer:
    • Type the name for the layer: “Facilities”.
    • In the Condition Builder view on the right hand-side of the map, choose Facilities from the Table Name drop-down.
    • In the Condition Builder view on the right hand-side of the map, type “status = ‘Include’” (without the double quotes) in the Conditions text field to only show the included ATLANTA DEPOT on the map and not the excluded JACKSONVILLE DEPOT.
    • Switch to the Layer Style view on the right-hand side of the map and change the Shape to Square, the Color to Violet and the Size px to 12.
  4. While the Transportation Routes map is selected in the Maps list choose Map > New Layer
    • Type the name for the layer: “Routes”.
    • In the Condition Builder view on the right hand-side of the map, choose TransportationRoutesMapLayer from the Table Name drop-down.
    • Switch to the Layer Style view on the right-hand side of the map and change the Color to Yellow, otherwise keep the default settings.
    • Switch to the Layer Labels view on the right-hand side of the map and select the following fields in the Tooltips section (and in this order to match the above screenshot): Route Name, Segment Origin Name, Segment Destination Name, Segment Transport Distance, Segment Transport Time, Route Cost, Delivered Quantity, Delivered Volume, Delivered Weight.
  5. Select the Transportation Routes map in the Maps list and switch to Map Legend in the view on the right-hand side of the map. Enable all checkboxes here to show the Legend on the map and all possible items.
  6. Click on the Facilities layer and drag it down so it is the last layer in the Transportation Routes map. Do the same for the Customers layer and position it above the Facilities layer. The layers are drawn on the map in the order they are listed, so this way the Facilities layer will be shown on top, and the violet square of ATLANTA DEPOT will not be covered by the blue black customer circles, the customer labels, or the yellow route lines.
  7. Zoom the map to your desired level using the magnifying glasses at the bottom center of the map (not shown in the screenshot above).

5.3 Hopper Analytics

In the Analytics module of Cosmic Frog, dashboards that show graphs of scenario outputs, sliced and diced to the user’s preferences, can quickly be configured. Like Maps, this functionality is not Hopper specific and other Cosmic Frog technologies use these extensively too. We will cover setting up a Hopper specific visualization, but not all the details of configuring dashboards. Please review these resources on Analytics in Cosmic Frog first if you are not yet familiar with these:

We will do a quick step by step walk through of how to set up a visualization of comparing scenario costs by cost type in a new dashboard:

66 Hopper Analytics1 Edited

The steps to set this up are detailed here, note that the first 4 bullet points are not shown in the screenshot above:

  1. In the drop-down of the Module Menu, select Analytics.
  2. Click on Analytics > New Dashboard, type the name of your dashboard, for example “Transportation Scenario Comparison”, and click Done.
  3. Click on “+ Visualization” in the right top corner of the new dashboard.
  4. Stay in the Tables section of the Set up the Database dialogue and start typing “transportationsummary” in the search box, select the transportationsummary table by checking the circular checkbox, and click on Select Data at the bottom.
  5. At the right top of the Data configuration window on the left click on the Chart Type drop-down, which shows “Column” by default to choose a chart type. For this scenario comparison, we will select Stacked Column.
  6. Drag scenarioname from the fields list on the left on top of the Add Label field on the right.
  7. Type “cost” in the search box at the top left of the configuration window and then drag all fields, except for total direct cost and total transportation cost, one by one on top of the of Add Values field on the right.
  8. Click on the cost fields that are now in the Values section on the right to update any field settings: rename them by clicking on the pencil icon next to the name, and adjust any of the aggregation, sorting, etc. settings as desired. When finished click on Update Field at the bottom.
  9. The name of the visualization is showing as transportationsummary based on the table it is derived from, this can be changed by clicking on the pencil icon next the name above the graph. We have renamed it to Scenario Cost Comparison here.
  10. Before finalizing the visualization, click on the Settings tab to review if any updates need to be made here. One can choose to show the visualization’s title, legend, tooltips, etc.
  11. Click on the check icon at the top right of the graph configuration window to save this visualization.
  12. Now you can choose to add another visualization to this same dashboard by clicking on “+ Visualization” or if the dashboard contains all desired visualizations at this point, you can click on the check icon at the right top of the dashboard.

6.      Available Resources for Hopper

There are 2 Hopper specific models in the Resource Library that new transportation optimization users may find helpful to review:

  • The Resource Library Cosmic Frog model named “Transportation Optimization” explores template routes, optimized routes, fleet mix, adding additional customers, introducing a new asset type, and adding an alternative source facility. This Transportation Optimization Template YouTube video also showcases this model.
  • The Resource Library Cosmic Frog model named “UK Multi Drop Fleet Optimization” shows the optimization of fleet mix of different vehicle types across multi-stop routes. Different vehicle types suited for Chilled vs Ambient product are available, and access restrictions at certain customers due to vehicle size are considered. A new vehicle type that can carry both Ambient and Chilled product is added to the vehicle mix in a scenario as well.

Have More Questions?

Contact Support Contact Sales Visit Frogger Pond Community