transportation modeler 9.0.0.0 strategies and parameters guide

200
Strategies and Parameters Guide JDA ® Transportation Modeler Release 9.0.0.0

Upload: levi-luis

Post on 10-Feb-2016

154 views

Category:

Documents


23 download

DESCRIPTION

Transportation Modeler 9.0.0.0 Strategies and Parameters Guide

TRANSCRIPT

Strategies and Parameters Guide JDA® Transportation Modeler

Release 9.0.0.0

Legal notice Rights to the content of this document

Copyright © 1995-2015 JDA Software Group, Inc. All rights reserved.

Printed in the United States of America.

Reproduction of this document or any portion of it, in any form, without the express written consent of JDA Software Group, Inc. ("JDA") is prohibited.

These materials are protected by the Copyright Act of 1976, as amended, as an unpublished work and the foregoing notice and legend shall not be deemed to constitute publication or an intent to publish thereunder. These materials are proprietary and confidential information of JDA and may be disclosed and used only as authorized in a signed, written agreement controlling such disclosure or use.

The fact that a particular name or logo does not appear on this notice does not constitute a waiver of any intellectual property rights that JDA has established in any of its products, feature or service names, or logos.

Modifications to the contents of this document

JDA reserves the right, at any time and without notice, to change these materials or any of the functions, features, and specifications of any of the software described herein. JDA shall have no warranty obligation with respect to these materials of the software described herein, except as provided in the JDA software license agreement with an authorized licensee.

Rights to the functionality of this document

Described functionality may not be available as part of a customer's maintenance agreement or the JDA Investment Protection Program. New features and products are subject to license fees. JDA warranty and support obligations apply only to the documentation as delivered by JDA, and are void if the documentation is modified or supplemented by anyone other than JDA. This document embodies JDA valuable trade secrets, is confidential to JDA, and must be kept in confidence and returned upon the expiration or termination of your JDA license agreement. You are not permitted to copy, extract, distribute, transfer, or share the contents of this document with anyone except authorized individuals within your organization.

Technical documentation

NOTICE: This design or technical documentation is supplied as a courtesy only and does not form part of the "Documentation" as defined in your JDA license agreement. This design or technical documentation is supplied in the English language only and is supplied "as is" and without warranties. JDA, at its discretion, may choose to offer this document in additional languages, but is under no obligation to do so. JDA undertakes no obligation to update this design or technical documentation.

Patents

This product may be protected by one or more United States and foreign patents. Please see the JDA Patents website (http://jda.com/JDAPatents).

Provide feedback on this document JDA values your opinion and strives to ensure that the documentation you receive is clear, concise, and provides the appropriate information required for you to use each JDA application efficiently.

If you would like to provide feedback on this document, you can submit your questions or suggestions to the JDA Documentation Management team (mailto:[email protected]) and they will be forwarded to the appropriate development teams for review and consideration in a future release.

Table of Contents

Chapter 1. Introduction ................................................................................................... 1 Related documentation ............................................................................................... 1 Get additional help from JDA ....................................................................................... 1

Chapter 2. Transportation Modeler strategies ................................................................. 3 The strategy file ........................................................................................................ 3 Work with the strategy file .......................................................................................... 3 Optimizer plan hierarchy ............................................................................................. 3

Critical loads .................................................................................................... 4 Arguments and functions ............................................................................................ 5 Comments ................................................................................................................ 5 Strategy function syntax ............................................................................................. 6 Default values ........................................................................................................... 6 Illustration conventions .............................................................................................. 7 Troubleshooting......................................................................................................... 7

Chapter 3. Control functions ............................................................................................ 8

Chapter 4. Global parameter functions ............................................................................ 9 SetAllowInterleavedStops ........................................................................................... 9 SetConsolidateToNonFreeLoadsOnly ............................................................................. 9 SetDriverMaxTravelTime ............................................................................................. 9 SetFilterStartDate ...................................................................................................... 9 SetIgnoreLIFO ......................................................................................................... 10 SetAllowShipmentSplitting ........................................................................................ 10 SetIgnoreLoadConsolidationClass ............................................................................... 10 SetLoadStatus ......................................................................................................... 10 SetTripStatus .......................................................................................................... 11 SetMaxAssignedLegsPerShipment .............................................................................. 11 SetMaxCube ........................................................................................................... 11 SetMaxLoadLengthPerTrip ......................................................................................... 11 SetMaxOutOfRoutePct .............................................................................................. 11 SetMaxPieces .......................................................................................................... 12 SetMaxSkids ........................................................................................................... 12 SetMaxStopsInTransit .............................................................................................. 12 SetMaxTrailersPerLoad ............................................................................................. 12 SetMaxWaitTimeBetweenStops .................................................................................. 12 SetMaxWeight ......................................................................................................... 13 SetMinLoadLengthPerTrip .......................................................................................... 13 SetShipmentSortOrder ............................................................................................. 13 SetConsolidateLikeWindowsForCSPD .......................................................................... 14 SetMaxSlackForLateDelivery ...................................................................................... 14 SetSkipInitLoads ..................................................................................................... 14 SetFilterCarrier ........................................................................................................ 14 SetReturnsCommodities ........................................................................................... 14 SetUseDistanceEngine .............................................................................................. 14 SetUseLCVerification ................................................................................................ 15 SetUsePCMilerDistanceEngine .................................................................................... 15 SetUseTimeBasedRating ........................................................................................... 16

SetLoadRequiredTransitMode ..................................................................................... 16 SetTripRequiredTransitMode ...................................................................................... 16 SetShipmentPriority ................................................................................................. 16

Chapter 5. Plan comparison functions ........................................................................... 17

Chapter 6. Constraint functions ..................................................................................... 18 EnforceCriticalLoadConstraint .................................................................................... 18 EnforceDueDateSpanConstraint ................................................................................. 19 EnforceHeadLoadConstraints ..................................................................................... 20 EnforceHubConstraints ............................................................................................. 21 EnforceLatestScheduleDateConstraint ......................................................................... 21 EnforceResourceConstraints ...................................................................................... 22 EnforceVendorSequencingConstraint........................................................................... 24 EnforceWaitTimeSpanConstraint ................................................................................ 24 EnforceShiftSequencingPenalties ................................................................................ 24

Chapter 7. Plan stacks and webs ................................................................................... 26 Plan stacks ............................................................................................................. 26

Plan stack function syntax ................................................................................ 26 Webs ..................................................................................................................... 26 Plan stack functions ................................................................................................. 27

ClearPlanStack ............................................................................................... 27 CreatePlanStack ............................................................................................. 27 MergeSolvePlanStack ....................................................................................... 27 PopFromPlanStack .......................................................................................... 28 PushToPlanStack ............................................................................................. 28 RemoveWebsFromPlanStack ............................................................................. 29 MergeSolvePlanStack ....................................................................................... 29

Chapter 8. Log functions ................................................................................................ 30 LogOptimization ...................................................................................................... 30 WriteConstraintLog .................................................................................................. 30 WriteDistanceMatrix ................................................................................................. 32 WriteOptLog ........................................................................................................... 32 WriteXML................................................................................................................ 35 WriteMetrics ........................................................................................................... 36 WriteLoadEfficiencies ................................................................................................ 36

Chapter 9. Filter functions ............................................................................................. 37 Use filter functions ................................................................................................... 37

LockLoads ...................................................................................................... 38 FilterAttributes ............................................................................................... 38 FilterCarrier.................................................................................................... 39 FilterCommodity ............................................................................................. 40 FilterCountry .................................................................................................. 40 FilterCriticalLoads ............................................................................................ 43 FilterCustomers .............................................................................................. 43 FilterDeliveryDate ........................................................................................... 44 FilterDimension............................................................................................... 46 FilterDistance ................................................................................................. 46 FilterDockScheduled ........................................................................................ 47 FilterDomicile ................................................................................................. 47

FilterEndDate ................................................................................................. 48 FilterFromDeliveryRange .................................................................................. 49 FilterHub ....................................................................................................... 50 FilterJourneys ................................................................................................. 50 FilterLocationEquipment ................................................................................... 51 FilterMarkedLoads ........................................................................................... 51 FilterOriginDestinationTotalWeight ..................................................................... 52 FilterPercentFull .............................................................................................. 54 FilterPickupDate .............................................................................................. 54 FilterPieces .................................................................................................... 56 FilterPostalCode .............................................................................................. 57 FilterService ................................................................................................... 58 FilterShiftSequence ......................................................................................... 59 FilterShipmentID ............................................................................................. 60 FilterShipmentPriority ...................................................................................... 61 FilterShipmentTypes ........................................................................................ 62 FilterSideDoor ................................................................................................ 62 FilterSkids ...................................................................................................... 62 FilterStartDate ................................................................................................ 63 FilterState ...................................................................................................... 64 FilterTransferLoads .......................................................................................... 67 FilterTripAlternateCostSavings .......................................................................... 67 FilterVolume ................................................................................................... 68 FilterWeight ................................................................................................... 69 BreakTrips ..................................................................................................... 70 MakeUnroutable .............................................................................................. 70 MarkLoads ..................................................................................................... 70 FilterTransitMode ............................................................................................ 70 SetTimeLimit .................................................................................................. 71

Nested filters and filtering marked loads ..................................................................... 71 Filter with a logical AND ................................................................................... 72 Filter with a logical OR ..................................................................................... 72 Supported filter combination configurations ........................................................ 72

Chapter 10. Strategy functions ...................................................................................... 74 BalanceLoads .......................................................................................................... 75 BreakTLLoads ......................................................................................................... 76 CMove ................................................................................................................... 78 CMoveSwap ............................................................................................................ 81 Con ....................................................................................................................... 82 ConSamePickandDrop .............................................................................................. 85 ConvertLoadsToTrips ................................................................................................ 88 ConvertTripsToLoads ................................................................................................ 88 DeleteHub .............................................................................................................. 88 DeleteLTLLegs ......................................................................................................... 89 GroupTLLoads ......................................................................................................... 90 HubAssignment ....................................................................................................... 90 HubInsertion ........................................................................................................... 97 HubLoop............................................................................................................... 100 HubMove .............................................................................................................. 105 InitLoads .............................................................................................................. 107 MakeHeadLoads .................................................................................................... 108 MakeJourney ......................................................................................................... 109 MakeLoad ............................................................................................................. 109 MakeTrip .............................................................................................................. 110 MergeSolve ........................................................................................................... 110

MinimizePartials .................................................................................................... 110 MoveFutureShipments ............................................................................................ 111 OptCapacityPlanning .............................................................................................. 114 OptCriticalLoads .................................................................................................... 115 OptDekitting ......................................................................................................... 118 OptFutureShipmentSelection ................................................................................... 118 OptMove .............................................................................................................. 119 OptResourceConstraints.......................................................................................... 121 OptSwap .............................................................................................................. 123 OptTLLoads .......................................................................................................... 125 RemoveLightStops ................................................................................................. 127 ReOptCMove ......................................................................................................... 129 ReOptCriticalLoads ................................................................................................. 129 ReOptTLLoads ....................................................................................................... 132 ReOptTLTrips ........................................................................................................ 135 ResequenceLoads .................................................................................................. 136 ResequenceStops .................................................................................................. 137 Reship ................................................................................................................. 137 SaveHubPlan ......................................................................................................... 140 SplitCriticalLoads ................................................................................................... 140 TryDockScheduling ................................................................................................ 142 TryMinimizeFleetSize .............................................................................................. 146 TryRelayHubs ........................................................................................................ 147 TryShipsDirect ...................................................................................................... 149

Chapter 11. Edit the strategy file ................................................................................. 150 Strategy file editor ................................................................................................. 150

Wizard mode ................................................................................................ 150 Text mode ................................................................................................... 151

Use the strategy file editor to edit a strategy file ........................................................ 151 Edit a line in the strategy file .......................................................................... 151 Add a new line to the strategy file ................................................................... 152 Delete a line in the strategy file....................................................................... 152 Move a line in the strategy file ........................................................................ 152

Use the line editor and required parameters .............................................................. 152 Edit the strategy file ...................................................................................... 152 Select Types and Functions ............................................................................ 153 Work with If, While, and For ........................................................................... 153

Compile the strategy file ......................................................................................... 153 Save the strategy file ............................................................................................. 154

Re-name the strategy file ............................................................................... 154 Close the strategy file editor .................................................................................... 154 Use a text editor to edit the strategy file ................................................................... 154

Save the current strategy file .......................................................................... 154 Save the strategy file with a new name ............................................................ 154

Chapter 12. Sample strategy files ................................................................................ 155 Direct strategy file ................................................................................................. 155 Hub strategy file .................................................................................................... 156 Continuous move strategy file ................................................................................. 159 Hub and continuous move strategy file ..................................................................... 161

Chapter 13. Optimizer parameters............................................................................... 165 Optimizer parameters file ........................................................................................ 165

Chapter 14. Edit the parameters file ............................................................................ 186 Parameter file editor features .................................................................................. 186

Parameter File Hints ...................................................................................... 186 Parameter File View ....................................................................................... 186

Use the parameter file editor ................................................................................... 186 Saving the parameters file ............................................................................. 186 Save the parameters file with a new name ........................................................ 186 Close the parameter file editor ........................................................................ 187

Use a text editor to edit the parameters file ............................................................... 187 Open the parameter file for edit ...................................................................... 187 Save the current parameter file ....................................................................... 187 Save the parameter file with a new name ......................................................... 187

Index ........................................................................................................................... 188

Introduction

Chapter 1. Introduction This guide provides overviews, illustrations, procedures, and examples for JDA Transportation Modeler.

Related documentation For more information on Transportation Modeler, see the following documents:

• Transportation Modeler Release Notes: This guide provides information about any new or updated functionality in Transportation Modeler.

• Transportation Modeler Installation Guide/Administration: This guide provides information about how to install Transportation Modeler.

• Transportation Modeler User Guide: This guide provides details about the Transportation Modeler user interface, modeling data in Transportation Modeler, and how to use the application.

• Transportation Modeler Strategies and Parameters Guide: This guide provides descriptions of the functions you can use with the Transportation Modeler strategy files. It also contains descriptions of the global parameters that you set to control Transportation Modeler.

• Transportation Modeler Getting Started: This guide provides an introduction to the Excel Rating Tool user interface, entities, relationships, and overviews. It describes the Excel Rating Tool modeling process, including tariff construction, optimization and analysis of results.

• Transportation Modeler Access Rating Tool User Guide: This guide provides information about how to use the Access and Excel based rating tool.

• Transportation Modeler Stand-Alone Rate Editor User Guide: This guide provides information about how to use Stand Alone Rate Editor.

• Transportation Modeler Distance Engine User Guide: This guide provides information about how to use the Distance Engine generation tool.

Get additional help from JDA In addition to the provided documentation, many additional resources are available to help you understand and work with your JDA applications.

Note: The services provided may vary by application and implementation.

• JDA Support Services

JDA Support Services enhances your experience with JDA solutions throughout the lifetime of your relationship with JDA Software. Support Services provides many key values, including:

• Worldwide support provided locally for issue resolution, including functional and technical assistance

• Defined service levels and proactive escalation paths

• Special Interest Group (SIG) membership

• Access to new software releases

• Access to the JDA Customer Support website (http://support.jda.com/), which provides:

• Self-service user administration

JDA Transportation Modeler Strategies and Parameters Guide 1 © 1995-2015 JDA Software Group, Inc.- Confidential

Introduction

• Online knowledge base

• Online case management and user communities

• Product documentation and release announcements

• JDA Education Services

To enhance the return on your JDA solution investment, JDA Education Services provides options to optimize your experience and knowledge. JDA Education Services offers high-quality training with e-learning and instructor-led training opportunities. JDA Education Services also offers the JDA Certification Program, which defines a curriculum that maximizes your knowledge and qualifications for a specific job. Certification programs employ a blend of learning methods that end with an industry-recognized exam. See the JDALearn website (http://www.jdalearn.com) for more information.

• JDA Consulting Services

JDA Consulting Services provides a broad range of services, including:

• Process definition and improvement

• Change management

• Program and project management

• Functional and technical consulting

• Performance engineering

• Solution delivery

Every solution deployment begins with the JDA Enterprise Methodology, which encompasses both technology and implementation expertise. JDA Consulting Services works collaboratively with you to help your business realize the results you need, on time and on budget.

• JDA Cloud Services

JDA Cloud Services enables you to achieve faster deployment, rapid time to value, investment protection, and improved cost structure with JDA supply chain solutions. This allows you to focus on your core business while JDA manages the JDA applications. Areas of specialty include:

• Solution availability management

• Performance management

• Issue resolution

• Change management

• Security management

• Optimization and analytics management

For more information on any of the JDA Services, see the JDA Services website (http://www.jda.com/services/services/).

JDA Transportation Modeler Strategies and Parameters Guide 2 © 1995-2015 JDA Software Group, Inc.- Confidential

Transportation Modeler strategies

Chapter 2. Transportation Modeler strategies The strategy file The Optimizer uses a text file to determine how shipments to be optimized. Each line of the file contains available functions and each function can have arguments that control the behavior of the function. For more information, see "Arguments and Functions" (on page 5). The strategy file is named as strat.strat.

During the optimization, the sequence of the functions and associated parameters can impact the performance and results of the final load build. In case of any issue related to performance results, the individual shipping scenario can allow you to update the strategy file.

This section describes how the Optimizer uses the strategy file to build loads and the controls the decisions of the Optimizer.

Work with the strategy file The Transportation Modeler installation includes several sample strategy files. You can customize strategy file while implementing Transport Planner. In most cases, an implementation team from JDA will work with you to develop the strategy file.

You can edit the strategy file using a text editor as it is a text file. However, Transportation Modeler includes a Strategy File editor function that enables you to update strategy file. The Strategy File editor provides menus of strategy file functions and helps you to define the arguments required for each function. For more information, see "Windows strategy file editor".

Note: Updates to the Strategy file can change the behavior of Transportation Modeler and the results. Contact JDA Support if you need assistance when updating the file.

Additionally, you can specify the location and filename of the strategy file that you want to use during optimization. For more information, see the Transportation Modeler User Guide.

Optimizer plan hierarchy When the Optimizer optimizes a set of shipments, it works within a hierarchy of information. The hierarchy includes:

• Plan: A set of trips and loads generated by the Optimizer using shipment, location, carrier rate, and hub information. A plan represents a picture of the entire scenario for a period.

• Web: A set of dependent trips and loads. These trips and loads are dependent on each other due to the association of the shipments that comprise them. Loads on the same trip also form a dependency, even though there are no common shipments between them. The web cannot be broken down into a smaller grouping due to this dependency. Webs are identified with load plans that involve hubs. For more information, see "Webs" (on page 26).

• Trip: A sequence of two or more loads, possibly with deadheads in between, transported by one carrier.

• Load: A sequence of shipment pickups and drop offs that starts and ends with an empty truck. Shipments are generally dropped off in reverse order to pick up, and the first shipments placed on the load are the last shipments taken off the load. For example, pick up shipment A, pick up B, drop B, drop A. However, interleaving functionality allows you to interleave picks and drops, and to disregard last in, first out loading rules. For more information, see "Parameter precedence".

JDA Transportation Modeler Strategies and Parameters Guide 3 © 1995-2015 JDA Software Group, Inc.- Confidential

Transportation Modeler strategies

• Shipment: A shipment is material of a specified weight, cube, and other characteristics, that you must transport from an origin to a destination.

Within the strategy file, you can manage how the Optimizer works with components of the hierarchy. For example, you can control when the Optimizer stores plans using the plan stack functions (see "Plan stacks" (on page 26)). You can also control how the Optimizer compares these plans, or scenario picture, with each other when you use plan comparison functions (see "Plan comparison functions" (on page 17)). Within the plan stack functions, the Optimizer has functions that manipulate webs.

The Optimizer creates trips when you include the CMove strategy. You can use the CMoveSwap strategy to modify the trips built by the Optimizer.

Critical loads The Optimizer builds loads based on distance and cost factors. However, in some cases, the Optimizer considers the delivery date of shipments, particularly with regard to the Earliest Scheduled Time as determined in the Optimizer Options.

When you use critical load constraints, it enable the Optimizer to focus on either building loads that have a time constraint or combining those shipments that you want to move out immediately. The Optimizer can lower the priority of shipments that are not severely constrained by the time factor. In other words, it can either build loads with only these non-critical shipments, or you can select to hold the non-critical shipments and add them to critical loads (using "MoveFutureShipments" (on page 111)) once the Optimizer has built all critical loads.

For example:

Input (# of Shipments) Latest Delivery Date # of Shipments 4000 input on 9/25 9/25/02 3000

9/27/02 1000

2000 input on 9/27 9/27/02 1500

9/28/02 500

You want to ship the 3000 shipments with a Latest Delivery Date of 9/25/02, while holding the remaining 1000 shipments to combine with next shipments with the same delivery date or for better consolidation opportunities later. The Optimizer can combine the 1000 with the 1500 shipments that are scheduled on 9/27/02.

The Optimizer uses specific values to determine the severity of a shipment by calculating a slack time. The Optimizer considers a load critical, if it has one or more critical shipments.

• Latest Delivery Date: The latest delivery date and time of the shipment.

• Earliest Scheduled Time: The value from the Optimizer Options.

• Transit Time: The actual time to ship the shipment.

• Slack Time: The calculated value to compare to the Slack Time Threshold. Use the following calculation to determine criticality:

Slack Time = Latest Delivery Date _Earliest Scheduled Time _ Transit Time

If Slack Time <= Slack Time Threshold, the shipment is considered to be critical.

• Slack Time Threshold: The MaxHoursSlackTime argument on the EnforceCriticalLoadConstraint function. For more information, see "EnforceCriticalLoadConstraint" (on page 18).

JDA Transportation Modeler Strategies and Parameters Guide 4 © 1995-2015 JDA Software Group, Inc.- Confidential

Transportation Modeler strategies

Note: The Optimizer uses constraint and strategy functions to handle critical loads. For more information, see "EnforceCriticalLoadConstraint" (on page 18),"MoveFutureShipments" (on page 111), "OptCriticalLoads" (on page 115), "ReOptCriticalLoads" (on page 129), "OptFutureShipmentSelection" (on page 118), and "SplitCriticalLoads" (on page 140).

For example:

Value Example Latest Delivery Date 9/28/02 12:00am

Earliest Scheduled Time 9/25/02 12:00am

Transit Time 2 days 2 hours

Slack Time (9/28/02 12:00am _ 9/25/02 12:00am) _ 2 days 2 hours or 3 days _ 2 days 2 hours = 22 hours

If the Slack Time value (22 hours) is less than or equal to the MaxHoursSlackTime argument, the shipment is considered critical.

Arguments and functions The Optimizer strategies use arguments as values that you control and set. These arguments represent quantities used in the shipping scenario (for example, the maximum distance within which you consider for a destination from a source), or used to control the behavior of functions.

The following functions are used in the strategy file:

• Control functions: Controls the sequence in which the Optimizer reads the file. You can also use control functions to set arguments. See Control functions.

• Global parameter functions: Resets the optimization constraints within the strategy file. When you start optimization, the Optimizer applies the current constraints that you have defined in the parameter file. Within the strategy file, you can modify these values at any time using the global parameter functions. See Global parameter functions (on page 9).

• Plan comparison functions: Compares two plans that you have identified. You can assign selected plans to plan variables for comparison. See Plan Comparison functions (on page 17).

• Constraint functions: Enforces constraints during optimization. See Constraint functions.

• Plan stack functions: Generates an array with plans, loop through a series of plans. You can create, push to, and merge plans to arrive at the lowest cost solution across several plans. See Plan stacks and webs (on page 26).

• Log functions: Generates and store logs during optimization. See Log functions (on page 30).

• Solver level filter functions: Selects the selected sub-sections of the plan and strategies act only on selected loads or trips. See Filter functions (on page 37).

• Strategy functions: Controls how the Optimizer builds loads from the shipments, or determines the sequence of stops on the final load itinerary. See Strategy functions (on page 74).

Comments You can add comments to the strategy file to specify the usage of a particular strategy, or for future reference.

JDA Transportation Modeler Strategies and Parameters Guide 5 © 1995-2015 JDA Software Group, Inc.- Confidential

Transportation Modeler strategies

Placing the comment marker to the left of any text effectively comments that line out of the strategy file. The Optimizer does not process comments, and ignores any information that you indicate as comments.

Note: You can indicate a comment using the pound, or number, sign: #

For example:

# HubStrat.strat: This strategy set is designed to take advantage

# of Hub Facilities

Strategy function syntax The syntax of a strategy function is <stratName> (<p1> ... <pn>), where <stratName> is the name of the strategy and <p1>,...,<pn> are strategy arguments. The strategy arguments can be numeric constants, Booleans, variables, or function calls.

The numeric arguments evaluate a value of 0 as 0; a value of any indicates values up to infinity. The strategy arguments, other than function calls, can be one of the following data types:

Data Type Description Example

Boolean Consists of values that can be evaluated as True or False.

Double Consists of numeric values with a decimal portion. The number of decimal places can vary for this data type.

MinPercentFull value of 85.5 indicates that a load must be 85.5% full.

Integer Consists of numeric values that are whole numbers, with no decimal portion.

MaxNumberOfConHubs of 3 limits maximum number of destination to which source location can be assigned to 3.

Text Consists of alphanumeric values. You can only use following characters: letters, numbers, slashes (/ \), dash (-), and underscore (_).

Enum Consists of numerical values from a pre-defined list.

Default values If you call an optimizer strategy with the exception of the HubLoop, and there are not enough parameters provided for the arguments, the Optimizer uses the default values for the remaining arguments. For example, if the strategy requires six arguments and you provide only five, the Optimizer evaluates the sixth value using the default value. The Optimizer applies the values you provide to the first arguments in the order.

You must include the parentheses when indicating the strategy, even if you want the optimizer to use all default values. For example, Con () is acceptable and the Optimizer uses the defaults for the arguments, while Con generates an error.

JDA Transportation Modeler Strategies and Parameters Guide 6 © 1995-2015 JDA Software Group, Inc.- Confidential

Transportation Modeler strategies

Illustration conventions The illustrations that accompany strategy descriptions in this guide use specific conventions for hubs, origins, destinations, stops, and transfers. This legend identifies these conventions.

Troubleshooting The sample strategy files, that are available when you install Transportation Modeler, contain general sets of strategies. These default files cover a range of shipping scenarios.

Note: When making changes in your copy of the strategy files, you can isolate problems more quickly by:

• Changing the value of one argument at a time.

• Adding, deleting, or changing the sequence of one strategy at a time.

You can analyze the effect of shipping data by maintaining a record of updates that you make to the strategy file. This allows you to isolate problems faster.

JDA Transportation Modeler Strategies and Parameters Guide 7 © 1995-2015 JDA Software Group, Inc.- Confidential

Control functions

Chapter 3. Control functions Use these functions to control the sequence in which Transportation Modeler reads the strategy file. You can also use control functions to set arguments. The formats of control functions differ depending on the function.

Function Description

add(<arg1> <arg2>) Adds the arguments and displays the result.

div(<arg1> <arg2>) Divides <arg1> by <arg2> and displays the result.

eq(<arg1> <arg2>) Displays true if <arg1> is equal to <arg2>.

for(<var> <value1> <value2> <value3>) <s1> ... <sn> end

Runs strategies <s1> to <sn> repeatedly. Start by setting <var> to <value1>, increment <var> by <value3> at the end of each loop, and stop when <var> = <value2>.

ge(<arg1> <arg2>) Displays true if <arg1> is greater than or equal to <arg2>.

gt(<arg1> <arg2>) Displays true if <arg1> is greater than <arg2>.

if(<functionCall>) <i1> ... <in> else <e1> ... <en> end

Evaluates <functionCall>. If the result is true, this function runs strategies <i1> to <in>, else run strategies <e1> to <en>. Note: The else part of the statement is optional.

incr(<var> <value>) Increments variable <var> by amount <value>.

le(<arg1> <arg2>) Displays true if <arg1> is less than or equal to <arg2>.

lt(<arg1> <arg2>) Displays true if <arg1> is less than <arg2>.

mult(<arg1> <arg2>) Multiplies the arguments and displays the result.

ne(<arg1> <arg2>) Displays true if <arg1> is not equal to <arg2>.

quit() Exits the run of the Optimizer Engine.

set(<var> <value>) Assigns <value> to variable <var>.

sub(<arg1> <arg2>) Subtract argument <arg2> from <arg1> and displays the result.

while(<functionCall>) <s1> ... <sn> end

Evaluates call to <functionCall> and performs strategies <s1> to <sn>.

JDA Transportation Modeler Strategies and Parameters Guide 8 © 1995-2015 JDA Software Group, Inc.- Confidential

Global parameter functions

Chapter 4. Global parameter functions The global parameter functions enable you to reset the optimization constraints within the strategy file. When you start optimization, the Optimizer applies the current constraints that you have defined in the parameter file. Within the strategy file, you can modify these values at any time using the global parameter functions. Similarly, you can analyze the situations for hard or soft constraints.

For example, if you set the value of the MaxLoadWeight to 48,000 and every time you run an optimization, the value of MaxLoadWeight applies. During the optimization, you can consider loads that result when the maximum load weight is 53,000 using the SetMaxWeight. The value of the SetMaxWeight is effective until you set it to a different value. For more information on the parameters that global parameter functions override, see Optimizer parameters (on page 165).

SetAllowInterleavedStops SetAllowInterleavedStops (<AllowInterleavedStops>)

Use this function to toggle the AllowInterleavedStops parameter on or off. This function overrides the AllowInterleavedStops.

SetConsolidateToNonFreeLoadsOnly SetConsolidateToNonFreeLoadsOnly (<ConsolidateToNonFreeLoadsOnly>)

Use this function to control whether to add shipments to non-free loads only.

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

ConsolidateToNonFreeLoadsOnly

Boolean

Use this argument to specify whether to add shipments only to non-free loads. If this argument is set to true, the optimizer adds shipments only to non-free loads. Non-free loads include loads based on skeleton routes, pre-booked capacity loads, and re-planned loads, in general.

True N/A N/A False

SetDriverMaxTravelTime SetDriverMaxTravelTime (<MaxTravelTimeInMinutes>)

This function changes the constraint for maximum driver travel time applied by all future algorithms. This function overrides the DriverMaxTravelTime.

Note: 0 (zero) used with single argument represents infinity (no override).

SetFilterStartDate SetFilterStartDate (<FilterStartDate>)

Use this function to set the base start date for the FilterPickupDate and FilterDeliveryDate in MM/DD/YY format. Once you set this date, you can apply relative date values to this date in the filter functions.

JDA Transportation Modeler Strategies and Parameters Guide 9 © 1995-2015 JDA Software Group, Inc.- Confidential

Global parameter functions

For example, if you define the SetFilterStartDate (08/11/06) to set the filter start date and use the FilterPickupDate (FALSE 2 0 3 0 0) the second and fourth arguments apply relative values to the start date; that is, StartDate + 2 and EndDate + 3. In effect, this is the same as defining:

FilterPickupDate(FALSE "08/13/06" 0 "08/14/06" 0 0)

You can combine absolute values with relative dates in the FilterPickupDate and FilterDeliveryDate functions. For example, once you have set the filter start date, you can also define the FilterDeliveryDate (FALSE 4 0 "08/27/06" 0 0).

In this case, the second argument is interpreted as 08/15/06.

Note: If you do not use the SetFilterStartDate, Transportation Modeler uses the EarliestScheduleDate as the base start date.

SetIgnoreLIFO SetIgnoreLIFO (<IgnoreLIFO>)

Use this function to toggle the IgnoreLIFO parameter on or off. This function overrides the IgnoreLIFO global parameter, which controls last in, first out loading and unloading.

SetAllowShipmentSplitting SetAllowShipmentSplitting (<AllowShipmentSplitting>)

Use this function to allow the solver to consider splitting shipment quantities to best fit available equipments.

SetIgnoreLoadConsolidationClass SetIgnoreLoadConsolidationClass (<IgnoreLoadConsolidationClass>)

Use this function to toggle the IgnoreLoadConsolidationClass parameter on or off. This function overrides the IgnoreLoadConsolidationClass.

SetLoadStatus SetLoadStatus (<LoadStatus>)

Use this function to set the status of loads to one of the following status values:

• 0=Free: Free loads are open to shipment manipulation. During re-optimization, Transportation Modeler can add shipment legs to or remove shipment legs from a load that has a status of Free.

• 1=Picked: For loads in Picked status, the shipment legs must stay on the loads. However, Transportation Modeler can add shipment legs to Picked loads during re-planning, re-order the sequence of loading and unloading, and change the assigned carrier.

• 2 = Stop Fixed: For loads in Stop Fixed status, the shipment legs must stay on the load. Transportation Modeler can add shipment legs to existing stops on the load, but cannot add new stops and stops cannot be resequenced. Transportation Modeler can change the assigned carrier.

• 3=Packed: For loads in Packed status, the shipment legs must stay on the load. Transportation Modeler can add shipment legs to the load during re-planning, but only at the end of the load. It cannot change the sequence of loading and unloading. Transportation Modeler can also change the assigned carrier.

JDA Transportation Modeler Strategies and Parameters Guide 10 © 1995-2015 JDA Software Group, Inc.- Confidential

Global parameter functions

• 4=Locked: When you flag a load as Locked, Transportation Modeler cannot change any shipment legs on the load. It cannot add shipment legs to or remove shipment legs from the load. Also, it cannot re-order the sequence of loading and unloading. However, it can change the assigned carrier.

The status change applies to loads that have not been filtered by a Filter function. You can use this strategy to prevent the solver from splitting the selected loads.

SetTripStatus SetTripStatus (<TripStatus><LoadStatus>)

Use this function to set the status of trips to one of the following status values:

• 0=Free: Free trips are open to load and shipment manipulation. During re-optimization, Transportation Modeler can add or remove loads.

• 1=Extendable: The loads already on extendable trip cannot be removed or reordered. If the loads allow, shipments can be added to them. New loads, or other prebuilt loads may be added to the end of the trip.

• 2=Fixed: Fixed trips cannot be modified. The load sequence and the assigned carrier/tariff/service are maintained.

The status change applies to trips that have not been filtered by a Filter function.

SetMaxAssignedLegsPerShipment SetMaxAssignedLegsPerShipment (<MaxAssignedLegsPerShipment>)

Use this function to change the global maximum stops in transit for shipments. Stops in transit are created when shipments are split through one or more hubs. This function overrides the MaxAssignedLegsPerShipment.

SetMaxCube SetMaxCube (<MaxCube>)

Use this function to change the global maximum cube for all future algorithms. This function overrides the MaxLoadCube.

SetMaxLoadLengthPerTrip SetMaxLoadLengthPerTrip (<MaxLoadLengthPerTrip>)

Use the function to update the global maximum length per load on a trip for all future algorithms. This function overrides the MaxLoadLengthPerTrip.

SetMaxOutOfRoutePct SetMaxOutOfRoutePct (<MaxOutOfRoutePct>)

Use this function to update the global maximum out of route percentage for all future algorithms. This function overrides the MaxOutOfRoutePct.

JDA Transportation Modeler Strategies and Parameters Guide 11 © 1995-2015 JDA Software Group, Inc.- Confidential

Global parameter functions

SetMaxPieces SetMaxPieces (<MaxPieces>)

Use this function to update the global maximum pieces for all future algorithms. This function overrides the MaxLoadPieces.

SetMaxSkids SetMaxSkids (<MaxSkids>)

Use this function to update the global maximum skids for all future algorithms. This function overrides the MaxLoadSkids.

SetMaxStopsInTransit SetMaxStopsInTransit (<MaxStopsInTransit>)

Use this function to update the global maximum stops in transit for all future algorithms. This function overrides the MaxStopsInTransit.

SetMaxTrailersPerLoad SetMaxTrailersPerLoad (<MaxTrailersPerLoad>)

Use this function to update the global maximum trailers per load to allow or disallow doubles or triples for all future algorithms.

SetMaxWaitTimeBetweenStops SetMaxWaitTimeBetweenStops (<IndexOfWaitTime><MaxWaitTimeInMinutes>)

Use this function to override the parameters file settings for Wait Time per stop. In the parameters file, if you are using WaitTimeMinDistance and WaitTime parameters, use the SetMaxWaitTimeBetweenStops to override these settings.

For example, if you have specified the value of Wait1MinDistance is 500 and WaitTime1 is 00:02:00 (a load must travel 500 miles to have an allowable wait time per stop of 2 hours), you can temporarily override this setting by using SetMaxWaitTimeBetweenStops. If you want the override the WaitTime1 to be 45 minutes, specify the IndexOfWaitTime value as 0 and the MaxWaitTimeInMinutes value as 45.

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

IndexOfWaitTime Integer Use this argument to specify which of the WaitTime parameter settings is overridden:

• 0: WaitTime1

• 1: WaitTime2

• 2: WaitTime3

• 3: WaitTime4

0 0 3 No

JDA Transportation Modeler Strategies and Parameters Guide 12 © 1995-2015 JDA Software Group, Inc.- Confidential

Global parameter functions

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

MaxWaitTimeInMinutes Integer The amount of WaitTime, in minutes, allowed per stop on loads. This value overrides the previously specified setting of the WaitTime index that you select in the first argument.

0 0 NA No

SetMaxWeight SetMaxWeight (<MaxWeight>)

Use this function to update the global maximum weight for all future algorithms. This function overrides the MaxLoadWeight.

SetMinLoadLengthPerTrip SetMinLoadLengthPerTrip (<MinLoadLengthPerTrip>)

Use this function to update the global minimum length per load on a trip for all future algorithms. This function overrides the MinLoadLengthPerTrip.

SetShipmentSortOrder SetShipmentSortOrder (<SortOption>...)

Use this function to sort shipments based on attributes such as priority, criticality, pick window start, pick window end, delivery window start, delivery window end, weight, and cube. The shipment sort order is used in various algorithms to determine the order in which to try load and trip manipulations.

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

SortOption

String Specify the attribute to sort by. Valid values are: PickWindowFrom, PickWindowTo, DeliveryWindowFrom, DeliveryWindowTo, WeightDecreasing, CubeDecreasing, SkidsDecreasing, PiecesDecreasing, OrderValueDecreasing, DeclValueDecreasing, LadenLengthDecreasing, BestPriority, Priority, Criticality, ItemPriority, LoadingTypePriority, OutboundDistance, DirectDistance. You can specify one or more SortOption values; place the values within quotes.

N/A N/A N/A False

JDA Transportation Modeler Strategies and Parameters Guide 13 © 1995-2015 JDA Software Group, Inc.- Confidential

Global parameter functions

SetConsolidateLikeWindowsForCSPD SetConsolidateLikeWindowsForCSPD (<ConsolidateLikeWindows>)

This strategy function alters the processing of the ConSamePickAndDrop strategy. If the <bool> parameter is true, ConSamePickAndDrop only consolidates stops where the windows have the same pick and drop dates.

SetMaxSlackForLateDelivery SetMaxSlackForLateDelivery (<MaxAllowedLatenessInMinutes>)

This function sets the maximum allowed lateness for delivery in minutes.

SetSkipInitLoads SetSkipInitLoads ()

When you run a strategy file, the InitLoads strategy is used before all other strategies. If you set the SetSkipInitLoads as the first line of the strategy file (excluding empty lines and comments), then the default InitLoads in not run.

You must use InitLoads or HubAssignment with tryUnroutables not equal to 0 to route shipments explicitly. For example, if you want to limit a large data set to just 3 shipments, include the following at the start of the strategy file:

SetSkipInitLoads ( )

FilterShipmentID ( FALSE "S1" "S2" "S3")

InitLoads ( TRUE TRUE )

end

If SetSkipInitLoads is used, all loads and trips in the current plan are removed, even if DestroyFreeLoadsAndTrips is False.

SetFilterCarrier SetFilterCarrier (<ExclusionSwitch> <Carrier> ...)

If <ExclusionSwitch> is true, then this strategy excludes the listed carriers from optimization. If it is false then only the listed carriers are included in the optimization.

SetReturnsCommodities SetReturnsCommodities (<CommodityCode> ...)

This function sets the list of commodities that should be considered returns. Returns are picked only at a drop stop or after deliveries. The function only applies to interleaved loads.

SetUseDistanceEngine SetUseDistanceEngine (<EngineType>)

This function enables the selected distance engine from the point you enable it until the end of the current optimization. For example, it allows you to do part of the optimization using the i2 distance engine, then enable the Transportation Manager distance engine to determine final distance and travel times.

JDA Transportation Modeler Strategies and Parameters Guide 14 © 1995-2015 JDA Software Group, Inc.- Confidential

Global parameter functions

Argument Type Description Default

Lower Limit

Upper Limit

Allow ‘ANY’

EngineType Enum

Use this argument to specify the distance engine to use.

• 0: i2 distance engine.

• 1: Manager distance engine.

• 2: PC*Miler distance engine.

• 3: PC*Miler MVS distange engine.

0 0 2 No

When you enable this function, the Optimizer removes all plans except the current plan. It clears the plan stack, hub stack, and any stack variables that you have set. You should use this function after the last MergeSolve strategy in your strategy file.

Additionally, this function sets the current distance engine to the engine you have specified, and rerates using that distance engine. It then runs InitLoads strategy to reroute shipments that became unroutable when the Optimizer split invalid loads. Irrespective of the current setting for the Retain Free Loads option, the Optimizer retains (does not clear) all free loads. The Optimizer reroutes any shipments that are unroutable. You can include strategies, such as Con or ConSamePickAndDrop, to optimize any new loads built after you enable the specified distance engine.

SetUseLCVerification SetUseLCVerification (<LCVerificationSwitch>)

If LCVerificationSwitch is True, this function uses the Load Configurator functionality to verify loads. The Optimizer verifies the load at each stop where the weight or cube is at least the value of the LoadVerificationCutoff% as specified in the optimizer parameters file (OptParameters.param).

Use the SetUseLCVerification function and then you can save the plan using SetPlan and PushtoPlanStack. For more information, see Plan comparison functions (on page 17) and PushToPlanStack (on page 28).

SetUsePCMilerDistanceEngine SetUsePCMilerDistanceEngine ()

This function enables the PC*Miler as the distance engine to be used for optimization. This function allows you to start the optimization using the i2 distance engine, then enable the PC*Miler distance engine to determine the final distance and travel times.

When you enable this function, the Optimizer clears all plans except the current plan. It also clears the plan stack, hub stack, and any stack variables. You can set this function after the last MergeSolve strategy in your strategy file.

Moreover, it sets the current distance engine to PC*Miler and rerates using the PC*Miler distance engine. It runs an InitLoads strategy to reroute shipments that became unroutable when the Optimizer split invalid loads. The Optimizer does not clear all free loads and tries to reroute any shipments that are unroutable irrespective of the current setting for the Retain Free Loads option. You can include strategies, such as Con or ConSamePickAndDrop, to optimize any new loads built after you enable the PC*Miler distance engine.

When you start another optimization or when you edit the plan in the Tree View, the Optimizer uses the distance engine that you have specified within the setup file (Optimizer Server for Manager). For more information, see Transportation Modeler User Guide.

JDA Transportation Modeler Strategies and Parameters Guide 15 © 1995-2015 JDA Software Group, Inc.- Confidential

Global parameter functions

SetUseTimeBasedRating SetUseTimeBasedRating (<UseTimeBasedRating>)

Use this function to toggle the UseTimeBasedRating parameter on or off. This function overrides the UseTimeBasedRating.

SetLoadRequiredTransitMode SetLoadRequiredTransitMode (<TransitMode>)

Use this function to set a transit mode for the loads selected by the filters. If you set the transit mode as 0, the existing transit mode is cleared from the filtered loads. The transit mode is valid until it is modified, removed, or the optimization process ends.

A load with a set transit mode (other than 0) can route using services only with the same transit mode.

SetTripRequiredTransitMode SetTripRequiredTransitMode (<TransitMode>)

Use this function to set a transit mode for all the trips selected by the filters. If you set the transit mode as 0, the existing transit mode is cleared from the filtered trips. The transit mode is valid until it is modified, removed, or the optimization process ends.

A trip with a set transit mode (other than 0) can route using services only with the same transit mode.

SetShipmentPriority SetShipmentPriority (<PrimaryPriorityOption> <SecondaryPriorityOption>)

This function sets the shipment priority based on one of PickFrom/PickTo/DeliveryFrom/DeliveryTo. The first parameter controls the primary option priority and the second controls the secondary priority. Each parameter can be set to one of:

• 0 = PickFrom

• 1 = PickTo

• 2 = DeliveryFrom

• 3 = DeliveryTo

JDA Transportation Modeler Strategies and Parameters Guide 16 © 1995-2015 JDA Software Group, Inc.- Confidential

Plan comparison functions

Chapter 5. Plan comparison functions Use plan comparison functions to compare two plans that you identify. You can assign selected plans to plan variables for comparison.

Function Description ClearPlan(<PlanVar>) Clears the current value of <PlanVar>.

GetBetterCost(<PlanVar1> <PlanVar2>)

Return <PlanVar> with a lower cost.

GetBetterDist(<PlanVar1> <PlanVar2>)

Return <PlanVar> with lower distance.

GetBetterLoads(<PlanVar1> <PlanVar2>)

Return <PlanVar> with fewer loads.

GetBetterTrips(<PlanVar1> <PlanVar2>)

Return <PlanVar> with fewer trips.

GetPlan() Returns current plan to <PlanVar>.

SetPlan(<PlanVar>) Set current plan to <PlanVar>.

JDA Transportation Modeler Strategies and Parameters Guide 17 © 1995-2015 JDA Software Group, Inc.- Confidential

Constraint functions

Chapter 6. Constraint functions Transportation Modeler provides functions that allow you to define constraints during optimization.

For information on the constraint files, see the Modeling Your Business section in the Transportation Modeler User Guide.

EnforceCriticalLoadConstraint EnforceCriticalLoadConstraint (<CriticalLoadConstraintSwitch> <MinHoursSlackTime> <MaxHoursSlackTime> <MaxHoursFromPickupTime><ConsolidateCriticalLoadsOnly> <PenaltyPerLightCriticalLoad> <MinPercentFull> <NonFreeLoadOnly> <CalculateSlackFromMidnight> <LatestDepartureSlackHours>)

If the CriticalLoadConstraintSwitch is True, EnforceCriticalLoadConstraint applies the critical load constraint for subsequent strategies. The default value for the CriticalLoadConstraintSwitch is False. For more information, see Critical loads (on page 4).

With subsequent strategies, EnforceCriticalLoadConstraint tries to combine critical shipments onto loads. When EnforceCriticalLoadConstraint is applied, the Optimizer does not combine critical and non-critical shipments on the same load unless you use the MoveFutureShipments strategy. For more information, see MoveFutureShipments (on page 111).

For each shipment, the Optimizer calculates a slack time value. It compares the slack time with MaxHoursSlackTime and, if the slack time is less than this threshold value, the shipment is considered as critical.

If you set ConsolidateCriticalLoadsOnly to True, the Optimizer does not tries to consolidate any shipments that are not considered critical. This prevents it from building non-critical loads when you want to add some of the non-critical shipments to critical loads to make them more efficient. You can use MoveFutureShipments to add non-critical shipments to the critical loads.

When you work with critical loads, the goal is to consolidate as many critical shipments onto the fewest number of critical loads. For each critical load the Optimizer creates, it incurs the value of PenaltyPerCriticalLoad. If the cost savings for creating this load does not exceed the penalty, the Optimizer does not create the load. On the other hand, the Optimizer can eliminate a critical load as long as increased cost is less than PenaltyPerCriticalLoad.

As the Optimizer considers a load to be critical if it has at least one critical shipment, you can create a new critical load when the Optimizer adds a critical shipment to a non-critical load.

Note: The Optimizer does not consider EnforceCriticalLoadConstraint within the HubLoop and HubAssignment strategies.

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

CriticalLoad ConstraintSwitch

Boolean If you set this value to True, this argument applies the critical load constraint.

False 0 None False

MinHoursSlackTime Integer If the slack time calculated for a shipment is greater than MinHoursSlackTime, this shipment is considered critical.

-100 None None No

JDA Transportation Modeler Strategies and Parameters Guide 18 © 1995-2015 JDA Software Group, Inc.- Confidential

Constraint functions

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

MaxHoursSlack Time Integer If the slack time calculated for a shipment is less than MaxHoursSlackTime, this shipment is considered critical.

24 0 None False

MaxHoursFromPickupTime

Integer Use this argument to set the maximum number of hours from slack time to pickup time, beyond which shipments are not considered critical.

24 0 None No

ConsolidateCritical LoadsOnly

Boolean If you set this value to True, the Optimizer does not consolidate any shipments that are not critical.

True 0 None False

PenaltyPerLightCritical Load

Integer For each critical load that the Optimizer builds, the cost savings must be greater than this penalty value. Conversely, when the Optimizer eliminates a critical load, you can incur a cost increase up to this penalty value.

10 0 None False

MinPercentFull Double Any loads considered critical, if less than this percentage full, are penalized.

100 0 100 No

NonFreeLoadOnly Boolean When NonFreeLoadsOnly is set to True, loads with a status of Free are never considered critical.

False 0 None No

CalculateSlackFromMidnight

Boolean When CalculateSlackFromMidnight is set to True, slack time is calculated from 12:01 am of the earliest schedule date instead of the current time.

False 0 None No

LatestDepartureSlackHours

Integer A shipment is considered critical if the shipment departs within <LatestDepartureSlackHours> from the earliest schedule date.

0 0 None No

EnforceDueDateSpanConstraint EnforceDueDateSpanConstraint (<DueDateSpanConstraintSwitch> <MaxDateSpan> <PenaltyDateSpanPerDay>)

JDA Transportation Modeler Strategies and Parameters Guide 19 © 1995-2015 JDA Software Group, Inc.- Confidential

Constraint functions

If DueDateSpanConstraintSwitch is True, this function enforces the due date span constraint for subsequent strategies. The default value for the DueDateSpanConstraintSwitch is False.

The Optimizer determines a due date span for each load. To determine this span, the Optimizer looks for the earliest value for the Earliest Delivery Time and the latest value for the Latest Delivery Time on all shipments on the load. It counts each day, not considering the actual time of day. For example, if the Earliest Delivery Time date component is 8/24/00 and the Latest Delivery Time date component is 8/26/00, the due date span is three days (it counts 8/24/00, 8/25/00, and 8/26/00).

If you enforce this constraint, during subsequent strategies, the Optimizer compares the due date span of the load to MaxDateSpan. For each insertion, it calculates how many days the due date span exceeds the MaxDateSpan value. For each day that MaxDateSpan is exceeded, the load accrues the PenaltyDateSpanPerDay value. If this value exceeds the cost savings gained by inserting the shipment, the Optimizer does not add the shipment. For example, if the due date span is five days, the MaxDateSpan value is three, and the PenaltyDateSpanPerDay value is 100, inserting the shipment can incur a penalty of $200. The Optimizer does not add the shipment if the cost savings is not greater than $200.

When you enforce this constraint and subsequently use strategies to build or manipulate loads, the Optimizer does not split any existing loads, even if they exceed the MaxDateSpan value. Also, if this constraint is enforced at the time that the Optimizer is identifying seed loads, it does not consider loads that violate the span constraint.

Note: The Optimizer does not consider EnforceDueDateSpanConstraint within the HubLoop and HubAssignment strategies.

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

DueDateSpan ConstraintSwitch

Boolean If you set this value to True, this argument enforces the due date span constraint.

False 0 None False

MaxDateSpan Integer The number of days to which the Optimizer compares the due date span to determine whether to insert the shipment. For each load, the Optimizer calculates the due date span as the number of days (inclusive) from the earliest value of the Earliest Delivery Time to the latest value of the Latest Delivery Time.

2 1 None False

PenaltyDateSpan PerDay

Integer For each day that the due date span exceeds the MaxDateSpan, this is the cost incurred per insertion.

10 0 None False

EnforceHeadLoadConstraints EnforceHeadLoadConstraints (<HeadLoadConstraintsSwitch> <PenaltyPerViolation>)

If you are using Head Load optimization (see the Building loads when using Head Load optimization section in the Transportation Modeler User Guide, and MakeHeadLoads), you can include this constraint function in the strategy file to enforce the constraints that you have defined for head loads functionality. Head load constraints can be optionally defined in the following three constraint files:

• HeadLoad Origin/Destination Exclusion file (HeadLoadOrigDestExclusion.txt): Use this file to specify Origin and Destination pairs for which head loads must not be built.

JDA Transportation Modeler Strategies and Parameters Guide 20 © 1995-2015 JDA Software Group, Inc.- Confidential

Constraint functions

• Maximum Head Loads Per Destination Per Day file (HeadLoadDestinationMax LoadsPerDay.txt): Use this file to specify the maximum number of head loads that the Optimizer builds for each day, for each destination defined in this file.

• Tariff/Service Inclusion file (TariffServiceInclusion.txt): Use this file to specify tariff/service combinations that are allowed to build head loads.

Note: If you define any of the constraint files, you must add an entry for each file used to the Constraints Override file (ConstraintsOverride.txt) and add the EnforceHeadLoadConstraints function to the strategy file.

For more information, see the Building loads when using Head Load optimization in the Transportation Modeler User Guide.

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

HeadLoadConstraintsSwitch Boolean If you set this value to True, this argument enforces head load constraints that you have defined in the related constraints files.

False N/A N/A False

PenaltyPerViolation Integer Use this argument to define the penalty cost that the Optimizer applies if load building violates the head load constraints that you have defined.

0 0 Max Integer

False

When you set the Constraint Switch value to True, head load constraints are enforced; in other words, penalty costs are accrued for each violation of the maximum head loads per destination constraint, and Origin/Destination exclusions, if defined, are considered when head loads are built.

EnforceHubConstraints EnforceHubConstraints (<HubConstraintsSwitch>)

If the HubConstraintsSwitch function is True, EnforceHubConstraints enforces hub capacity constraints. The default for the HubConstraintsSwitch is False.

Every time you run an optimization, the Optimizer sets EnforceHubConstraints to its default value. After the HubLoop or HubAssignment functions and before the MergeSolvePlanStack function, you can enable EnforceHubConstraints to apply the hub capacity constraints to the plan.

EnforceLatestScheduleDateConstraint EnforceLatestScheduleDateConstraint (<ConstraintSwitch> <SlackDays> <PenaltyPerLateShipment>)

Use the EnforceLatestScheduleDateConstraint function to encourage shipments to leave as early as possible. If you set LatestScheduleDateConstraintSwitch to True, the Optimizer adds the value that you specify for SlackDays to the value you entered for EarliestScheduleDate in the optimizer parameters file. It uses the new, calculated date to determine if shipments must incur a penalty, based on their departure date.

JDA Transportation Modeler Strategies and Parameters Guide 21 © 1995-2015 JDA Software Group, Inc.- Confidential

Constraint functions

If you have set EarliestScheduleDate to 03/01/2001 12:00 am and SlackDays to 2. The Optimizer calculates the latest schedule date as 03/03/2001 12:00 am. Any shipment that leaves after 03/03/2001 12:00 am incurs the PenaltyPerLateShipment. The Optimizer uses the penalty in the decision-making process during load build. If this penalty value results in the cost being greater than using the original shipment date, the Optimizer does not use the earlier date.

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

ConstraintSwitch Boolean If you set this value to True, EnforceLatestScheduleDateConstraint enforces the constraint to try to have shipments leave as early as possible.

False 0 None False

SlackDays Integer The Optimizer adds this value to the date you set for EarliestScheduleDate in the optimizer parameters file (OptParameters.param) and calculates a new date. If a shipment leaves after the calculated date, it incurs the PenaltyPerLateShipment.

0 0 None False

PenaltyPerLateShip-ment

Integer Each shipment that leaves after the date the Optimizer calculates based on the SlackDays value incurs this penalty.

1000 None None False

EnforceResourceConstraints EnforceResourceConstraints (<ResourceConstraintsSwitch> <EnforceVehicleConstraints> <OverlapTolerances> <IgnorePercentageConstraints> <PenaltyPer%ResourceUsed>)

The Optimizer considers the following as resources:

• Carriers

• Tariff/services

• Lanes

• Domiciles

• Hubs

If ResourceConstraintsSwitch is True, EnforceResourceConstraints enforces constraints on all listed resources, with the exception of hubs. For more information, see EnforceHubConstraints (on page 21),

The default for ResourceConstraintsSwitch is False. Lane and Domicile constraints are automatically considered during optimization.

When the EnforceVehicleConstraints argument is True, the Optimizer tracks the start and usage times for domicile vehicles and applies the penalties defined in the DomicileVehicleAvailability file throughout the Solve. This result in fewer dock scheduling-based unroutables and a more feasible plan for final dock scheduling. By default, the EnforceVehicleConstraints argument is set to False, and the Optimizer does not consider vehicle constraints during the Solve.

JDA Transportation Modeler Strategies and Parameters Guide 22 © 1995-2015 JDA Software Group, Inc.- Confidential

Constraint functions

Use OverlapTolerances to provide some flexibility in scheduling estimation. Specify the maximum number of minutes of allowed tolerance between the vehicle availability window and the load’s ship time window. For example, if the load departure time is 11:40 but the vehicle is not available until 12:00, an OverlapTolerances value of 20 allows the load to be scheduled on that vehicle instead of use of another vehicle.

IgnorePercentageConstraints and PenaltyPer%ResourceUsed can be used in conjunction to optimize private fleet loads. Assuming that private fleet carriers do not have percentage based constraints and common carriers do, then by ignoring percentage based constraints and instead applying a fixed penalty for those routes, the solver will focus on building better private fleet loads. OptResourceConstraints can then be run with PercentageConstraintsOnly set to True to optimize the common carrier loads.

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

ResourceConstraintSwitch Boolean If you set this value to True, EnforceResourceConstraints enforces resource constraints. The resources include carriers, tariff/services, lanes, and domiciles.

False 0 None False

EnforceVehicle Constraints

Boolean If you set this value to True, Transportation Optimizer considers the maximum penalty for vehicle constraints throughout the Solve.

False 0 None False

OverlapTolerances Integer Specify the maximum number of minutes by which the availability window for a vehicle and the time window for a load can overlap. Providing some overlap allows the scheduling of vehicle that can be excluded by strict time windows.

0 0 None False

Ignore Percentage Constraints

Boolean If true, will ignore percentage based constraints. When true, use Penalty per % Resource Used to assign a default penalty for routes with percentage based resources.

False 0 None False

Penalty per % Resource Used

Float The penalty applied to each % resource used. This can help discourage loads from using routes with percentage resources.

0 0 None False

For more information, see the list of constraint files and the domiciles section in the Transportation Modeler User Guide.

JDA Transportation Modeler Strategies and Parameters Guide 23 © 1995-2015 JDA Software Group, Inc.- Confidential

Constraint functions

EnforceVendorSequencingConstraint EnforceVendorSequencingConstraint (<VendorSequencingConstraint>)

Use EnforceVendorSequencingConstraint to enable or disable penalties for violating this constraint. You can define the number of deviations that are permitted from the expected Order Grouping Sequence using the MaxVendorSequencingViolation parameter in the OptParameters file. You can define the penalty to be applied each time a violation occurs up to the limit defined by MaxVendorSequencingViolation, using the PenaltyVendorSequencingViolation parameter in the OptParameters file.

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

VendorSequencing Constraint

Boolean If you set this value to True, EnforceVendorSequencingConstraint enforces your vendor sequencing constraints.

False 0 None False

EnforceWaitTimeSpanConstraint EnforceWaitTimeSpanConstraint (<WaitTimeSpanConstraintSwitch> <PenaltyPerHour> <DomiciledRouteOnly>)

If you have defined wait time constraints, use EnforceWaitTimeSpanConstraint to enable or disable penalties for violating these constraints. You can define the penalty to be applied for each hour that the wait time constraints have been exceeded using the PenaltyPerHour argument. You can also specify that the constraints are enforced only for domicile routes only using DomiciledRouteOnly.

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

WaitTimeSpan ConstraintSwitch

Boolean If you set this value to True, EnforceWaitTimeSpanConstraint enforces your defined wait time constraints.

False 0 None False

PenaltyPerHour Float The penalty per hour that is applied for violating the wait time constraints.

10 0 None False

DomiciledRouteOnly Boolean If you set this value to True, the penalty is considered only for domiciled fleets.

False 0 None False

EnforceShiftSequencingPenalties EnforceShiftSequencingPenalties (<ShiftSequencingPenalties>)

Use EnforceShiftSequencingConstraint to enable and disable shift sequence penalty costs during optimization. For example, to enable the penalty costs by default using the EnforceShiftSequencingPenalties OptParameter, disable them during certain sections of the optimization.

Note: When this value is set to False, the optimization process considers MaximumShiftSequenceViolations.

JDA Transportation Modeler Strategies and Parameters Guide 24 © 1995-2015 JDA Software Group, Inc.- Confidential

Constraint functions

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

ShiftSequencing Penalties

Boolean If you set this value to True, EnforceShiftSequencingPenalties enforces your shift sequencing penalties.

False 0 None False

JDA Transportation Modeler Strategies and Parameters Guide 25 © 1995-2015 JDA Software Group, Inc.- Confidential

Plan stacks and webs

Chapter 7. Plan stacks and webs This chapter provides information on Plan Stacks, Webs, and different features of Plan Stacks.

Plan stacks A plan stack is an array that you populate with plans. This is a method to loop through a series of plans. You can add a plan with a selected <PlanVar> to the stack, and merge the entire array of plans in the plan stack using one function.

Plan stack function syntax The syntax of a plan stack function is <functionName> (<p1> ... <pn>), where <functionName> is the name of the plan stack function and <p1>,...,<pn> are function arguments. The arguments used with plan stack functions can be one of a number of data types. For more information, see Strategy function syntax (on page 6).

Webs A web is a set of dependent loads, involving one or more hubs, two or more loads on a single trip, or a combination of both. In the case of dependent loads, the shipments that make the web are associated with each other and must remain. Each load’s composition is dependent on the other loads in the web. In the case of loads on a trip, there are no common shipments between the loads, but the trip itself determines the dependency. As a result, the Shipment Consolidation Engine cannot break down the web and, at the time that plans are merged, it decides between webs. It must consider the entire web and not components from the web in solution.

As an example of a web, two loads come into a hub. Load 1 has shipments 1 and 2 on it, and load 2 has shipments 3 and 4 on it. There are three loads leaving the hub: load 3 has shipments 1 and 3 on it, load 4 has shipment 2 on it, and load 5 has shipment 4 on it. The Shipment Consolidation Engine cannot remove any of the loads from the web. If you remove load 2 from the plan, shipments 3 and 4 are not available at the hub in order to generate loads 3 and 5.

• Web example

H

Load 1Shipment 1Shipment 2

Load 2Shipment 3Shipment 4

Load 4Shipment 2

12

3

1

2

3

4

Load 3Shipment 1Shipment 3

Load 5Shipment 4

4

JDA Transportation Modeler Strategies and Parameters Guide 26 © 1995-2015 JDA Software Group, Inc.- Confidential

Plan stacks and webs

• Web dependency

In a combined case, a web can consist of a set of dependent shipments going through Hub A, with one of the loads on a trip with a load made up of dependent shipments going through a second hub, Hub B. The Shipment Consolidation Engine considers this entire structure to be a single web.

Plan stack functions ClearPlanStack ClearPlanStack (<StackVar> <DestroyPlans>)

Use this function to removes all plans from plan stack StackVar. If the DestroyPlans is True, all plans within the specified plan stack are destroyed.

CreatePlanStack CreatePlanStack (<StackVar>)

Use this function to create a plan stack with the name StackVar.

MergeSolvePlanStack MergeSolvePlanStack(<StackVar> <FavorLockedLoads> <MaxRoutesPerLoad> <ColumnGeneration> <OptResourcesEachPlan>< Respect Vehicle Penalty><DockPenalty>)

Merges the plans in plan stack stackVar into a single combined plan. MaxRoutesPerLoad is the maximum number of routes the Optimizer considers for each load. It only applies if you have enforced resource constraints. For more information on enforcing the constraints, see EnforceResourceConstraints (on page 22). The ColumnGeneration is effective when you merge plans that you have constrained for resources. If you set ColumnGeneration to True, the Optimizer creates more effective alternatives instead of considering all available alternatives. The improved alternatives mean smaller webs and better loads. However, there is an impact on performance if you enable this setting. This setting has some advantage when the problem size is very big.

Add the individual plans to the stack using the PushToPlanStack function. The Optimizer determines the best loads from each of the plans that satisfy all shipments exactly once.

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

StackVar Variable The plan stack in which the Optimizer finds the plans to merge.

JDA Transportation Modeler Strategies and Parameters Guide 27 © 1995-2015 JDA Software Group, Inc.- Confidential

Plan stacks and webs

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

FavorLockedLoads Boolean When this argument is set to True, the Optimizer ensures that in the merge process, locked loads get the first opportunity to have resource constraints assigned to them. You should only set this argument to True if you are using resource constraints with pre-built loads or trips.

False 0 None False

MaxRoutesPerLoad

Float The Optimizer does not consider more than MaxRoutesPerLoad alternatives during the MergeSolvePlanStack strategy.

ANY 0 None True

ColumnGeneration

Boolean If this argument is set to True, the Optimizer creates more effective alternatives, instead of running through all available alternatives.

False 0 None False

OptResourceEachPlan

Boolean If this argument is set to true, the Optimizer uses OptResourceConstraints for each plan before it performs the merge, as long as EnforceResourceConstraints is enabled and the highest journey number is greater than 1.

False 0 None False

RespectVehiclePenalty

Integer • If set to 0, vehicle penalty is not considered.

• If set to 1, vehicle usage is estimated and vehicle penalty is used for each domicile.

• If set to 2, vehicle schedule is generated for each vehicle ID

0 0 2 False

DockPenalty Float If this is more than 0, <Dock Penalty> is applied for each estimated dock violation. Dock violation is not estimated for a stop that requires multiple docks

0 0 None False

PopFromPlanStack PopFromPlanStack (<StackVar><PlanVar>)

Use this function to remove the newest plan from plan stack StackVar. If you specify a value for the PlanVar, this is the plan that is removed from the stack.

PushToPlanStack PushToPlanStack(<StackVar> <PlanVar>)

Use this function to add the plan PlanVar to plan stack StackVar.

JDA Transportation Modeler Strategies and Parameters Guide 28 © 1995-2015 JDA Software Group, Inc.- Confidential

Plan stacks and webs

RemoveWebsFromPlanStack RemoveWebsFromPlanStack (<StackVar> <NumberOfWebs>)

Use this function to remove the NumberOfWebs arbitrary webs from plan stack StackVar. The Optimizer does not consider these webs when the plan stack is merged. The result is a non-optimal solution that forces the Optimizer to exit the current local minimum.

MergeSolvePlanStack The graphic shows part of a strategy file in which a plan stack is created, plans are added to it, and the Optimizer merges and solves the stack into a single plan.

JDA Transportation Modeler Strategies and Parameters Guide 29 © 1995-2015 JDA Software Group, Inc.- Confidential

Log functions

Chapter 8. Log functions Use log functions to control how and when the Optimizer creates information logs during optimization.

LogOptimization LogOptimization (<LogLevel>)

Note: Use the LogOptimization only at the request of JDA Support Service.

When you set the LogLevel argument to any integer value greater than 0 and add the LogOptimization function to the beginning of your strategy file, LogOptimization generates the following log files:

• merge.lp

• optResourceConstraints.lp

• merge.ord

A LogLevel value of 0 indicates that no reports are generated. For LogLevel values greater than 0, the higher the LogLevel value, the more detail is generated to the reports.

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

LogLevel Integer If you set this argument to a value greater than 0, the Optimizer generates log files for debugging and support purposes. By default, the files are generated to the Reports directory, or if this directory is not specified, to the root Transportation Modeler directory.

0 0 5 No

WriteConstraintLog WriteConstraintLog (<EnableWriting> <OutputFileNameCounter> <EnforceUniqueReportName> <WriteCarrierConstraints> <WriteTariffServiceConstraints> <WriteLaneConstraints> <WriteDomicileConstraints>)

WriteConstraintLog enables you to generate a log summarizing the information in the Resources section of the optimization log. The following constraint elements are captured in the constraint log, which is pipe (|) delimited with a constant number of fields per line. If a field is not applicable for a type of constraint (for example, origin zone for a carrier constraint) it is blank.

Constraint Element Used in Constraints of Type ConstraintType (Lane, TariffService, Carrier, Domicile)

All

Carrier Lane, Carrier, Domicile

Tariff Tariff, Lane

Service Tariff, Lane

JDA Transportation Modeler Strategies and Parameters Guide 30 © 1995-2015 JDA Software Group, Inc.- Confidential

Log functions

Constraint Element Used in Constraints of Type Location Note: location data might contain commas

Domicile

EquipmentType Domicile

MaxTraveledDistance Domicile

Zone1 Lane

Zone1IsHub Lane

Zone2 Lane

Zone2IsHub Lane

MinLoadValue All (no percentage formatting)

LoadsUsed All (no percentage formatting)

MaxLoadValue All (no percentage formatting)

EnforceByPercentage All

Penalty All

StartDate Domicile, Lane

StartTime Domicile, Lane

EndDate Domicile, Lane

EndTime Domicile, Lane

Note: This report does not apply to hub or domicile vehicle constraints.

You can specify a counter to append to the standard file name Constraint.txt to identify each specific file that you generate. For example, if you set the value for OutputFileNameCounter to 100, the constraint log file is named Constraint100.txt.

If you set EnforceUniqueReportName to True, the Optimizer appends the system date and time (in the format ddmmyy-hhmmss) to the file name. Using the Constraint100.txt, the Optimizer generates a file Constraint100-031502-132834.txt.

To specify the content of the file, use the last four arguments to indicate the type of constraints that you want generated to the Constraint Log.

By default, the constraint log is generated to the Reports directory.

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

EnableWriting Boolean If this argument is set to True, the Optimizer generates a constraint log based on the settings of this argument.

False 0 None No

OutputFileName Counter

Number Use this argument to specify whether the generated constraint log has a counter appended to the file name. For example, a value of 100 results in a file, that is, Constraint100.txt.

100 0 None No

JDA Transportation Modeler Strategies and Parameters Guide 31 © 1995-2015 JDA Software Group, Inc.- Confidential

Log functions

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

EnforceUnique ReportName

Boolean If this argument is set to True, the Optimizer appends the current system date and time (in the format ddmmyy-hhmmss) to the constraint log file name. For example, if you specify an OutputFileNameCounter of 100 and set EnforceUniqueReportName to true, the generated log is named Constraint100-031502-132834.txt.

False 0 None No

WriteCarrier Constraints

Boolean If this argument is set to True, the constraint log includes carrier constraint information.

True 0 None No

WriteTariffService Constraints

Boolean If this argument is set to True, the constraint log includes tariff-service constraint information.

True 0 None No

WriteLane Constraints

Boolean If this argument is set to True, the constraint log includes lane constraint information.

True 0 None No

WriteDomicile Constraints

Boolean If this argument is set to True, the constraint log includes domicile constraint information.

True 0 None No

WriteDistanceMatrix WriteDistanceMatrix (<OutputFileName>)

WriteDistanceMatrix writes the complete matrix of distance/time pairs for the current plan. Any distance/time pairs which have not already been computed between locations in the plan will be computed. The distance matrix can be used for troubleshooting issues, identifying data discrepancies, or using as an override file for future optimizations.

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

OutputFileName Text Use this argument to specify the output file name for the distance matrix. It may be a relative or absolute path.

Null N/A N/A False

WriteOptLog WriteOptLog (<EnableWriting> <OutputFileNameCounter> <EnforceUniqueReportName> <WritePlanInputs> <WriteTrips/Loads> <WriteShipmentJourneys> <WriteSolverSettings> <Trip/LoadPrimarySort> <Trip/LoadSecondarySort> <WriteCriticalLoadsOnly> <WriteFilteredLoadsOnly>)

JDA Transportation Modeler Strategies and Parameters Guide 32 © 1995-2015 JDA Software Group, Inc.- Confidential

Log functions

The WriteOptLog option enables you to generate an optimization log based on the state of the plan at any point in the strategy file. Specify a counter that the Optimizer appends to the standard file name, OptLog.txt, to identify each specific file you generate. For example, if the value for OutputFileNameCounter is 100, the Optimizer creates a file named OptLog100.txt. If you set the EnforceUniqueReportName to true, the Optimizer appends the system date and time (in the format DDMMYY-HHMMSS) to the file name. Using the OptLog100.txt example, the Optimizer generates a file with a name, such as OptLog100-031501-140834.txt.

Note: The Optimizer generates the optimization log to the folder you specify as the Report Directory in the Optimizer tab of the Options dialog box.

You can also specify the sections of the optimization log that you want to include in the file, the sort order of the trips and loads, and whether to include only critical and filtered loads. Use WritePlanInputs, WriteTrips/Loads, WriteShipmentJourneys, and WriteSolverSettings to control which sections of the optimization log the Optimizer generates.

Use WriteCriticalLoadsOnly to limit the loads that the Optimizer generates to the optimization log to only those that the Optimizer calculates as critical. Similarly, use WriteFilteredLoadsOnly to limit the loads to only those the Optimizer can use based on any solver filter functions you are using. For more information, see Critical loads (on page 4) and see Filter functions (on page 37).

Note: If you use both WriteCriticalLoadsOnly and WriteFilteredLoadsOnly, the Optimizer includes the intersection of these two groups of loads, that is, it generates those loads that are both critical and selected based on filters.

Use the two sort arguments, Load/TripPrimarySort and Load/TripSecondarySort, to control the order in which the Optimizer generates the loads and trips to the optimization log. For each of these arguments, select the field by which the Optimizer must sort the loads and trips from a list of fields. If you provide values for both sort arguments, the Optimizer creates a nested sorting. For example, if you set Load/TripPrimarySort to 2 (or sort by origin location), and Load/TripSecondarySort to 1 (or sort by weight), loads and trips that have the same origin location are displayed together in descending order by weight.

WriteOptLog does not have any impact on the standard OptLog.txt.

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

EnableWriting Boolean If this argument is set to True, the Optimizer generates an optimization log based on the plan in its current state.

True 0 None False

OutputFileName Counter

Number When it creates an optimization log using WriteOptLog, the Optimizer appends the counter value to the file name. For example, a value of 100 results in a file, that is, OptLog100.txt.

100 0 None False

EnforceUnique ReportName

Boolean If this argument is set to True, the Optimizer appends the current system date and time (in the format DDMMYY-HHMMSS) to the optimization log file name. For example, if you specify an OutputFileNameCounter of 100 and set this to true, the Optimizer generates a file with a name, that is, OptLog100-031501-140834.txt.

False 0 None False

JDA Transportation Modeler Strategies and Parameters Guide 33 © 1995-2015 JDA Software Group, Inc.- Confidential

Log functions

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

WritePlanInputs Boolean If this argument is set to True, the Optimizer generates the algorithm, resource use, and unroutables sections of the optimization log.

True 0 None False

WriteTrips/Loads Boolean If this argument is set to True, the Optimizer generates the trips and loads sections of the optimization log.

True 0 None False

WriteJourneys Boolean If this argument is set to True, the Optimizer generates the journeys section of the optimization log. The journeys provide shipment-oriented information.

True 0 None False

WriteSolverSettings

Boolean If argument is set to True, the Optimizer generated the solver settings section of the optimization log. This section includes the current rating and distance engine, a list of the options settings from the Options dialog, and a list of the current settings for the Optimizer Parameters file (OptParameters).

True 0 None False

Trip/LoadPrimarySort

Number Use this value to sort the trips and loads in the optimization log:

• 0: No sorting

• 1: Loads listed in descending order by weight.

• 2: Loads listed in ascending order by origin name.

• 3: Loads listed in descending order by freight cost.

• 4: Loads listed in descending order by travel distance.

You can combine Load/TripPrimarySort and Load/TripSecondarySort to create a nested sorting.

0 0 4 False

JDA Transportation Modeler Strategies and Parameters Guide 34 © 1995-2015 JDA Software Group, Inc.- Confidential

Log functions

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

Trip/LoadSecondarySort

Number Use this value to sort the trips and loads in the optimization log:

• 0: No sorting

• 1: Loads listed in descending order by weight.

• 2: Loads listed in ascending order by origin name.

• 3: Loads listed in descending order by freight cost.

• 4: Loads listed in descending order by travel distance.

You can combine Load/TripPrimarySort and Load/TripSecondarySort to create a nested sorting.

0 0 4 False

WriteCriticalLoadsOnly

Boolean If this argument is set to True, the Optimizer generates only those loads it has calculated to be critical to the optimization log.

False 0 None False

WriteFilteredLoadsOnly

Boolean If this argument is set to True, the Optimizer generates only those loads that the Optimizer can manipulate as a result of the solver filter arguments to the optimization log.

False 0 None False

WriteXML WriteXML (<OutputFileNameCounter> <EnforceUniqueXMLName> <WritePlanInputs>)

WriteXML enables you to write out the XML version of the plan at any point during the optimization.

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

OutputFileNameCounter

Number Use this argument to specify whether the generated XML has a counter appended to the file name. For example, a value of 100 results in a file, that is, <RequestID>-100.xml.

100 0 None False

EnforceUnique XMLName

Boolean If this argument is set to True, the Optimizer appends the current system date and time (in the format ddmmyy-hhmmss) to the XML file name. For example, if you specify an OutputFileNameCounter of 100 and set EnforceUniqueXMLName to true, the generated log is named <RequestID>-100-031514-132834.xml.

False 0 None False

JDA Transportation Modeler Strategies and Parameters Guide 35 © 1995-2015 JDA Software Group, Inc.- Confidential

Log functions

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

WritePlanInputs

Boolean If this argument is set to True, the XML will include plan input entities as well as all output entities.

False 0 None False

WriteMetrics WriteMetrics (<EnableWriting> <OutputFileNameCounter> <EnforceUniqueXMLName> <WritePlanInputs>)

WriteMetrics enables you to write out optimization metrics at any point during the optimization. Any reports configured to write CSV outputs will do so. If EnableWriting is true, then an XML file will also be written containing plan entities and the computed metrics configured to be written to Database.

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

EnableWriting

Boolean If this argument is set to True, the Optimizer generates an XML version of the plan in addition to creating any configured CSV files.

False 0 None False

OutputFileNameCounter

Number Use this argument to specify whether the generated XML has a counter appended to the file name. For example, a value of 100 results in a file, that is, <RequestID>Metrics-100.xml.

100 0 None False

EnforceUnique XMLName

Boolean If this argument is set to True, the Optimizer appends the current system date and time (in the format ddmmyy-hhmmss) to the XML file name. For example, if you specify an OutputFileNameCounter of 100 and set EnforceUniqueXMLName to True, the generated log is named <RequestID>Metrics-100-031514-132834.xml.

False 0 None False

WritePlanInputs

Boolean If this argument is set to True, the XML will include plan input entities as well as all output entities.

False 0 None False

WriteLoadEfficiencies WriteLoadEfficiencies (<OutputFileName>)

WriteLoadEfficiencies writes load weight, volume, equipment, and percent utilizations by weight, volume, etc., in a comma delimited file format (CSV).

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

OutputFileName

Text Use this argument to specify the output file name for the load efficiency file. It may be a relative or absolute path.

Null N/A N/A False

JDA Transportation Modeler Strategies and Parameters Guide 36 © 1995-2015 JDA Software Group, Inc.- Confidential

Filter functions

Chapter 9. Filter functions Use filter functions to optimize a specified sub-section of your plan. By default, when you optimize, the Optimizer includes all loads in the current plan. However, you can use the filter functions to identify specific loads that you want to include or exclude from optimization.

Filter enables you to examine varying conditions, such as regional requirements or specific dates. You can select loads based on a number of properties:

• Weight and Total Weight (at origin and destination): See FilterWeight (on page 69) and FilterOriginDestinationTotalWeight (on page 52).

• State and Postal Code (origin and destination location): See FilterState (on page 64) and FilterPostalCode (on page 57).

• Carrier: See FilterCarrier (on page 39).

• Critical loads: See FilterCriticalLoads (on page 43).

• Customer: See FilterCustomers (on page 43).

• Destination locations requiring side door unloading: See FilterSideDoor (on page 62).

• Service: See FilterService (on page 58).

• Pickup and Delivery Dates: See FilterPickupDate and FilterDeliveryDate.

• Delivery Ranges: See FilterFromDeliveryRange (on page 49).

• Distance: See FilterDistance (on page 46).

• Percent Full: See FilterPercentFull (on page 54).

• Transfer Loads: See FilterTransferLoads (on page 67).

Additionally, you can define combinations of filters and nest the filters. See Nested filters and filter marked loads (on page 71).

Use filter functions Use the filter function within the strategy file to select loads based on particular filter properties. The Optimizer flags the loads that meet the criteria you specify. Loads are either in this group (filtered) or outside the group (unfiltered). You can use the ExclusionSwitch to either include or exclude the filtered loads. When the ExclusionSwitch is False (the default), the Optimizer uses the filtered loads. When the switch is True, the Optimizer excludes the filtered loads; in other words, the Optimizer uses the unfiltered loads.

For example, consider a filter based on minimum and maximum weight (For more information on the specific filter, see FilterWeight (on page 69)) and you have set a MinWeight of 1000 and a MaxWeight of 20000. The Optimizer builds two groups of loads:

• Filtered: Loads with weight >= 1000 and <= 20000.

• Unfiltered: Loads with weight < 1000 and > 20000.

If you set ExclusionSwitch to False, the Optimizer uses the loads in the Filtered group; if you set the switch to True, the Optimizer uses the Unfiltered loads.

After the Optimizer filters the loads, you can run strategies on the loads you want to include. The format you can use within the strategy file (in this case, using the FilterWeight function) is:

JDA Transportation Modeler Strategies and Parameters Guide 37 © 1995-2015 JDA Software Group, Inc.- Confidential

Filter functions

FilterWeight ( FALSE 1000 20000 )

...strategy functions...

end

You can also make the loads unroutable that you have filtered using the MakeUnroutable function on the currently filtered loads. See "MakeUnroutable" (on page 70).

Loads that the Optimizer flags as filtered still count against constraints, such as carrier equipment availability. Additionally, the plan stack functions, such as PushToPlanStack use all loads, including loads flagged as filtered.

This is true even when you invoke the plan stack function within the Filter...end structure.

Every time you start a plan optimization, the Optimizer resets the filter flags.

The following filter functions are available:

LockLoads LockLoads (<HasRequiredCarrier> <HasRequiredTarriff> <HasRequiredService>)

Sets the status of a load to locked if it has the required carrier, required tariff, or required service depending on the parameters. Each parameter is a Boolean.

FilterAttributes FilterAttributes (<ExclusionSwitch> <Attribute>...)

Use FilterAttributes to include or exclude loads and trips based on the attributes assigned to the loads and trips.

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

ExclusionSwitch Boolean If ExclusionSwitch is False, the Optimizer includes (uses) the loads and trips that meet the filter criteria. If ExclusionSwitch is True, the Optimizer excludes the loads and trips that meet the filter criteria, and uses the unfiltered loads and trips.

False 0 None False

Attribute Text You can define 1 to 16 attributes as the filter criteria, to match against the attribute values on the loads and trips. You must place each attribute within double quotation marks. When you edit the strategy file with a text editor or using the Text mode in the Strategy File Editor, ensure to separate the attribute values with a space.

True 0 None False

Note: Attributes from Load Input, Trip Input, Shipment, Location, and Hub records are read from the Scenario. A load has the attributes of all child entities on or referenced by the load. A trip has the attributes of all loads on the trip.

JDA Transportation Modeler Strategies and Parameters Guide 38 © 1995-2015 JDA Software Group, Inc.- Confidential

Filter functions

FilterCarrier FilterCarrier (<ExclusionSwitch> <CheckAltCarriers> <Max Number of Equipments> <Carrier>...)

Use FilterCarrier to include or exclude loads with one of the carrier values you specify. The Carrier field consists of ten fields. Define from one to ten carriers for the filter. You must place the individual carrier values within quotes, for example, "CAR1" "CAR2". When you edit the strategy file with a text editor or using Text mode in the Strategy File editor, ensure to separate the carrier values with a space.

Use ExclusionSwitch to either include or exclude the filtered loads. When the ExclusionSwitch is False (the default), the Optimizer uses the filtered loads. When this switch is True, the Optimizer uses the unfiltered loads.

Use CheckAltCarriers to specify whether alternative carriers are a factor in filtering loads. When CheckAltCarriers is False (the default), only loads with the specified carrier are considered. When this switch is True, the Optimizer considers loads that have an alternative carrier specified. For example, there are two loads: A and B, both have selected Carrier 1. Load A has no other carrier, while Load B has Carrier 2 as an alternative carrier. Setting FilterCarrier (False, False, "Carrier 1") indicates that you are filtering loads with Carrier 1 specified, without considering alternative carriers. The exclusion switch is set to False, which indicates you are including (using) the filtered loads. In this case, both Load A and Load B are included because they have Carrier 1 selected.

A setting of FilterCarrier (False, True, "Carrier 1") indicates that you are filtering loads with Carrier 1 specified, but filtering loads that have alternative carriers. In this case, the only filtered load is A, because although Load B has Carrier 1 specified, it also has an alternative carrier. The exclusion switch is False, indicates that you are including the filtered load(s), in this case Load A.

With FilterCarrier (True, True, "Carrier 1"), only Load A is filtered as in the previous scenario, but because the exclusion switch is True, you can exclude the filtered loads, in this case Load A, and include Load B.

Finally, with FilterCarrier (True, False, "Carrier 1") you are filtering loads that have Carrier 1 specified, without considering alternative carriers. The exclusion switch is set to True, then which indicates you are excluding the filtered loads. So, both loads are filtered.

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

ExclusionSwitch

Boolean If ExclusionSwitch is False, the Optimizer includes the loads that meet the filter criteria. If it is True, the Optimizer excludes the loads that meet the filter criteria and uses the unfiltered loads.

False 0 None False

CheckAltCarriers

Boolean If CheckAltCarriers is False (the default), alternative carriers are not considered when filtering loads. When this switch is True, the Optimizer the alternative carrier, if specified, is considered when filtering loads.

False 0 None False

JDA Transportation Modeler Strategies and Parameters Guide 39 © 1995-2015 JDA Software Group, Inc.- Confidential

Filter functions

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

MaxNumberOfEquipments

Integer Specifies the number of equipment types that a carrier cannot have more than, for filtering loads by carrier. For example, if you set <Max Number of Equipments> to 1, and the FilterCarrier <Exclusion Switch> is False, then you include only those loads that have a single equipment assigned, such as loads with a locked (required) equipment.

1 1 None False

Carrier Text You can define from one to ten carriers as the filter criteria. You define from one to ten carriers for the filter. You must place the individual carrier values within quotes, for example, "CAR1" "CAR2". When editing the strategy file with a text editor or using Text mode in the Strategy File Editor, ensure to separate the carrier values with a space.

Null N/A N/A False

FilterCommodity FilterCommodity (<ExclusionSwitch> <Commodity>...)

User FilterCommodity to include or exclude loads and unroutable shipments with one of the commodity code values that you specify.

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

ExclusionSwitch Boolean If this argument is False, the Optimizer includes loads and unroutable shipments that meet the filter criteria. If ExclusionSwitch is True, the Optimizer excludes loads and unroutable shipments that meet the filter criteria and uses the unfiltered loads.

False 0 None No

Commodity Text Use this argument to specify the identifier of the commodity you want to filter. The Commodity value must be enclosed in quotes.

Null N/A N/A False

FilterCountry FilterCountry (<ExclusionSwitch> <FilterStyle> <OriginWithinCountry> <DestinationWithinCountry> <AnyStopsWithinCountry> <Country>...)

Use FilterCountry to include or exclude loads and unroutable shipments with origins, destinations, or any stops within the countries that you identify. The Country field has 15 fields. You define from 1 to 15 countries for the filter. You must place the individual countries values within quotes, for example,

JDA Transportation Modeler Strategies and Parameters Guide 40 © 1995-2015 JDA Software Group, Inc.- Confidential

Filter functions

"USA". When you edit the strategy file with a text editor or using the Text mode in the Strategy File Editor, ensure to separate the country values with a space.

If you set OriginWithinCountry to True, the Optimizer filters the loads and unroutable shipments with origin locations in any of the countries that you defined in the Country fields. Similarly, if you set DestinationWithinCountry to True, the loads and unroutable shipments with destinations in any of the defined countries meet the filter criteria. If you set AnyStopsWithinCountry to True, the loads and unroutable shipments with origins, destinations, or any other stops within the defined countries meet the filter criteria.

Note: If you set more than one of the three switches to True, the Optimizer considers this value as AnyStopsWithinCountry.

Use the FilterStyle enumeration argument to identify how the Optimizer determines which loads to include in the filter. This setting is evaluated in conjunction with the settings for OriginWithinCountry, DestinationWithinCountry, and AnyStopsWithinCountry. The FilterStyle can be one of the following: • 0: Normal

• 1: Shipment

• 2: Shipment Leg

When set FilterStyle to 0 (the default) and if you have set OriginWithinCountry to True, the Optimizer includes loads with origins in the countries that you identify.

If OriginWithinCountry is True and you set FilterStyle to 1 (Shipment), the Optimizer includes the load in the filter if any shipment on the load has its origin within the countries that you identify. For example: You can include USA when using OriginWithinCountry. In this example, a shipment has its origin in the USA, then is split through a hub in Canada, and has a destination in Canada. There are two loads, one from the origin to the hub, and the other from the hub to the destination. The Optimizer includes both loads in the filter because the shipment on the two loads has an origin in the USA.

If OriginWithinCountry is True and you set the FilterStyle to 2 (Shipment Leg), the Solver engine includes the load in the filter if any shipment leg on the load has its origin within the countries you identify. In this case, the shipment leg origin may not be the origin of the load; instead it may be a pick at another stop on the load. For example, you include USA when using the OriginWithinCountry. In this example, a load has its origin in Canada, then picks up a shipment in USA and continues on to Canada. The Solver engine includes this load in the filter.

Use ExclusionSwitch to either include or exclude the filtered loads. When ExclusionSwitch is False (the default), the Solver engine uses the filtered loads. When this switch is True, the Solver engine uses the unfiltered loads.

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

ExclusionSwitch Boolean If ExclusionSwitch is False, the Solver engine includes the loads and unroutable shipments that meet the filter criteria. If ExclusionSwitch is True, the Solver engine excludes the loads and unroutable shipments that meet the filter criteria and uses the unfiltered loads and unroutable shipments.

False 0 None False

JDA Transportation Modeler Strategies and Parameters Guide 41 © 1995-2015 JDA Software Group, Inc.- Confidential

Filter functions

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

FilterStyle Enum Use FilterStyle to identify how the Optimizer determines which loads to include in the filter. You use this in conjunction with the OriginWithinCountry, DestinationWithinCountry, or AnyStopsWithinCountry arguments to determine how the Optimizer evaluates the loads. FilterStyle uses these settings:

• 0: Normal. When set to 0, the Optimizer selects loads with origins within, destinations within or any stop within the countries that you identify.

• 1: Shipments. When set to 1, the Optimizer selects the load if any shipment has an origin, destination or any stop within the countries that you identify.

• 2: Shipment Legs. When set to 2, the Optimizer selects the load if any shipment leg has an origin, destination or any stop within the countries that you identify.

0 0 2 False

OriginWithinCountry Boolean If OriginWithinCountry is True, the Optimizer includes loads and unroutable shipments with origins in any of the countries you define in the Country fields.

False 0 None False

DestinationWithin Country

Boolean If DestinationWithinCountry is True, the Optimizer includes loads and unroutable shipments with destinations in any of the countries you define in the Country fields.

False 0 None False

AnyStopsWithin Country

Boolean If AnyStopsWithinCountry is True, the Optimizer includes loads and unroutable shipments with any stop in any of the countries you define in the Country fields.

False 0 None False

JDA Transportation Modeler Strategies and Parameters Guide 42 © 1995-2015 JDA Software Group, Inc.- Confidential

Filter functions

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

Country Text You can define from 1 to 15 countries as the filter criteria. The Optimizer evaluates whether the origin, destination, or any stop on the load or unroutable shipment is within the defined countries. You must place the individual country values within quotes. When you edit the strategy file with a text editor or using the Text mode in the Strategy File Editor, ensure to separate the country values with a space.

Null N/A N/A False

FilterCriticalLoads FilterCriticalLoads (<ExclusionSwitch>)

Use FilterCriticalLoads to include or exclude loads based on criticality. The critical loads are defined as those that have one or more critical shipments; shipments are flagged as critical if their slack time is less than the MaxHoursSlackTime value set in the EnforceCriticalLoadConstraint function.

You must use the EnforceCriticalLoadConstraints strategy with FilterCriticalLoads. If the EnforceCriticalLoadConstraints switch is False (that is, if you are not applying the critical load constraints), all loads are treated as critical by the Optimizer.

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

ExclusionSwitch Boolean If ExclusionSwitch is False, the Optimizer includes (uses) the loads that meet the filter criteria. If ExclusionSwitch is True, the Optimizer excludes the loads that meet the filter criteria and uses the unfiltered loads.

False 0 None False

FilterCustomers FilterCustomers (<ExclusionSwitch> <Customer>)

Use FilterCustomers to include or exclude loads and unroutable shipments that contain shipments associated with the customer that you specify. You must place the customer value within quotes, for example, "CUST1".

Use ExclusionSwitch to either include or exclude the filtered loads and unroutable shipments. When ExclusionSwitch is False (the default), the Optimizer uses the filtered loads and unroutable shipments. When this switch is True, the Optimizer uses the unfiltered loads and unroutable shipments.

JDA Transportation Modeler Strategies and Parameters Guide 43 © 1995-2015 JDA Software Group, Inc.- Confidential

Filter functions

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

ExclusionSwitch Boolean If ExclusionSwitch is False, the Optimizer includes (uses) the loads and unroutable shipments that meet the filter criteria. If ExclusionSwitch is True, the Optimizer excludes the loads and unroutable shipments that meet the filter criteria and uses the unfiltered loads.

False 0 None False

Customer Text The customer that you define as the filter criteria. You must place the customer value within quotes, for example, CUST1.

Null N/A N/A False

FilterDeliveryDate FilterDeliveryDate (<ExclusionSwitch> <StartDate> <StartHour> <EndDate> <EndHour> <Option>)

Use FilterDeliveryDate to include or exclude loads and unroutable shipments that have a scheduled drop off within the date and time range that you specify using the StartDate, StartHour, EndDate, and EndHour.

ExclusionSwitch indicates whether you are including or excluding the filtered loads and unroutable shipments. When ExclusionSwitch is False (the default), the Optimizer uses the filtered loads and unroutable shipments. If this switch is True, the Optimizer uses the unfiltered loads and unroutable shipments.

Additionally, the Option argument enables you to specify how the filter is applied: by actual scheduled delivery time (of optimized results) by the start of the shipment delivery time window (for shipment input), or by the end of the shipment delivery time window (for shipment input).

If you are filtering by actual scheduled delivery time, the scheduled drop off date is generated by the Optimizer and is not user-specified. The Optimizer looks at stops that are drop offs and considers the arrival date and time at the stop (after any wait time). It selects the load if any stop arrival falls within the date and time range that you specify.

For example, at a stop, the drop off arrival is 1/11/02 at 11pm and the drop off departure is 1/12/02 at 2am. If you specify a StartDate and StartHour of 1/10/02, 8am and EndDate and EndHour of 1/11/02 11pm, the Optimizer selects the load with this stop, because the drop off arrival falls within your specified start date/hour and end date/hour range.

If the StartDate or StartHour values are null, the Optimizer considers any date before the EndDate/EndHour values.

JDA Transportation Modeler Strategies and Parameters Guide 44 © 1995-2015 JDA Software Group, Inc.- Confidential

Filter functions

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

ExclusionSwitch

Boolean If ExclusionSwitch is False, the Optimizer includes (uses) the loads and unroutable shipments that meet the filter criteria. If ExclusionSwitch is True, the Optimizer excludes the loads and unroutable shipments that meet the filter criteria and uses the unfiltered loads and unroutable shipments.

False 0 None False

StartDate Date Loads and unroutable shipments with a scheduled delivery date (or delivery time window start or end, depending on the value that you select in FilterStyle) greater than or equal to StartDate are included in the filter. The date format is MM/DD/YY.

Null 01/01/70 01/18/38 False

StartHour Integer Loads and unroutable shipments with a scheduled delivery time (or delivery time window start or end hour, depending on the value that you select in FilterStyle) on the specified StartDate greater than or equal to StartHour are included in the filter.

0 0 23 No

EndDate Date Loads and unroutable shipments with a scheduled delivery date (or delivery time window start or end date, depending on the value you select in FilterStyle) less than or equal to EndDate are included in the filter. The date format is MM/DD/YY.

Null 01/01/70 01/18/38 False

EndHour Integer Loads and unroutable shipments with a scheduled delivery time (or delivery time window start or end hour depending on the value you select in FilterStyle) on the specified EndDate less than or equal to EndHour are included in the filter.

0 0 23 No

Option Enum Use this argument to specify how the filter is applied.

• 0: Use the actual scheduled delivery time.

• 1: Use the start of the shipment delivery time window.

• 2: Use the end of the shipment delivery time window.

• 3: Use the actual delivery time of all drop stops.

0 0 2 No

JDA Transportation Modeler Strategies and Parameters Guide 45 © 1995-2015 JDA Software Group, Inc.- Confidential

Filter functions

FilterDimension FilterDimension (<ExclusionSwitch> <Option> <ByPercentage> <MinValue> <MaxValue>)

Use FilterDimension to filter loads based upon their total dimensions. The ByPercentage parameter determines whether MinValue and MaxValue are treated as percentages or totals.

Option can be one of:

• 0 = weight

• 1 = volume

• 2 = skids

• 3 = pieces

• 4 = ladenLength

FilterDistance FilterDistance (<ExclusionSwitch> <FilterStyle> <Min Distance> <MaxDistance>)

Use FilterDistance to include or exclude loads and unroutable shipments with a distance within the range that you define. You can use FilterStyle to specify which load distance to use as the filter criterion; the longest shipment leg distance (the default), the longest assigned leg distance, the outbound distance, or the direct distance. You can also use ExclusionSwitch to specify whether the Optimizer includes or excludes the loads and unroutable shipments meeting the filter criterion.

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

Exclusion Switch

Boolean If ExclusionSwitch is False, the Optimizer includes (uses) the loads and unroutable shipments that meet the filter criteria. If ExclusionSwitch is True, the Optimizer excludes the loads and unroutable shipments that meet the filter criteria and uses the unfiltered loads and unroutable shipments.

False 0 None False

FilterStyle Enum Use this argument to specify how the filter is applied.

• 0: use the longest shipment leg distance of the load;

• 1: use the longest assigned leg distance;

• 2: use the outbound distance;

• 3: use the direct distance of the load, from the origin to the farthest stop.

0 0 3 False

MinDistance Number The Optimizer includes loads and unroutable shipments that travel at least MinDistance in the filter.

500 0 None False

JDA Transportation Modeler Strategies and Parameters Guide 46 © 1995-2015 JDA Software Group, Inc.- Confidential

Filter functions

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

MaxDistance Number The Optimizer includes loads and unroutable shipments that travel less than MaxDistance in the filter.

500 0 None False

FilterDockScheduled FilterDockScheduled (<ExclusionSwitch>)

Use FilterDockScheduled to include or exclude loads or trips that are scheduled successfully in TryDockScheduling.

Use ExclusionSwitch to either include or exclude the filtered loads. When ExclusionSwitch is False (the default), the Optimizer uses the filtered loads. When this switch is True, the Optimizer uses the unfiltered loads.

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

ExclusionSwitch Boolean If ExclusionSwitch is False, the Optimizer includes (uses) the loads that meet the filter criteria. If ExclusionSwitch is True, the Optimizer excludes the loads that meet the filter criteria and uses the unfiltered loads.

False 0 None False

FilterDomicile FilterDomicile (<ExclusionSwitch> <Domicile>...)

Use FilterDomicile to include or exclude loads with the domicile values that you specify. The Domicile field has 15 fields. You can define from 1 to 15 domiciles for the filter. You must place the individual domicile values within quotation marks. When editing the strategy file with a text editor or using Text mode in the Strategy File Editor, ensure to separate the domicile values with a space.

Use ExclusionSwitch to either include or exclude the filtered loads. When ExclusionSwitch is False (the default), the Optimizer uses the filtered loads. When this switch is True, the Optimizer uses the unfiltered loads.

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

ExclusionSwitch Boolean If ExclusionSwitch is False, the Optimizer includes (uses) the loads that meet the filter criteria. If ExclusionSwitch is True, the Optimizer excludes the loads that meet the filter criteria and uses the unfiltered loads.

False 0 None False

JDA Transportation Modeler Strategies and Parameters Guide 47 © 1995-2015 JDA Software Group, Inc.- Confidential

Filter functions

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

Domicile Text You can define the domicile value as the filter criteria. The format of the domicile value is: location|carrier|equipment

When the data is sourced from Transportation Manager, the domicile value is: LocationType|DomicileID|AddressID

where Location Type is an enumerated value. You must place the individual domicile values within quotes. When editing the strategy file with a text editor or using Text mode in the Strategy File Editor, ensure to separate the domicile values with a space

Null N/A N/A False

FilterEndDate FilterEndDate (<ExclusionSwitch> <StartDate> <StartHour> <EndDate> <EndHour> <Option>)

Use FilterEndDate to include or exclude loads and trips that have an end time within the date and time range that you specify using the StartDate, StartHour, EndDate, and EndHour.

The ExclusionSwitch argument indicates whether you are including or excluding the filtered loads. When ExclusionSwitch is False (the default), the Optimizer uses the filtered loads. When this argument is True, the Optimizer uses the unfiltered loads.

This function respects the SetFilterStartDate (on page 9) parameter function, so that you can use absolute dates or relative dates to specify the StartDate and EndDate values.

Use the Option setting to control how the filter is applied:

• 0: Use the Load End Time if End Date filter

• 1: Use the Trip End Time if End Date filter

• 2: Use both Load and Trip End Times.

If the StartDate or StartHour values are null, the Optimizer considers any date before the EndDate/EndTime values. Similarly, if the EndDate or EndHour values are null, the Optimizer considers any date after the StartDate/StartTime.

If a load on a trip is filtered, the trip and all loads on the trip are filtered.

If a trip is filtered, all loads on the trip are filtered.

JDA Transportation Modeler Strategies and Parameters Guide 48 © 1995-2015 JDA Software Group, Inc.- Confidential

Filter functions

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

ExclusionSwitch Boolean If ExclusionSwitch is False, the Optimizer includes (uses) the loads that meet the filter criteria. If ExclusionSwitch is True, the Optimizer excludes the loads that meet the filter criteria and uses the unfiltered loads.

False 0 None False

StartDate Date Loads/trips that have an end time greater than or equal to StartDate are included in the filter. For absolute dates, the format is MM/DD/YY. For dates relative to the filter start date, use an integer. Use SetFilterStartDate to set the filter start date value.

Null 01/01/70 01/18/38 False

StartHour Integer Loads/trips that have an end time on the specified StartDate greater than or equal to StartHour are included in the filter.

0 0 23 No

EndDate Date Loads/trips that have an end time less than or equal to EndDate are included in the filter. The date format is MM/DD/YY.

Null 01/01/70 01/18/38 False

EndHour Integer Loads/trips that have an end time on the specified EndDate less than or equal to EndHour are included in the filter.

0 0 23 No

Option Enum Use this argument to specify how the filter is applied.

• 0: Use the Load End Time if End Date filter

• 1: Use the Trip End Time if End Date filter

• 2: Use both Load and Trip End Times.

0 0 2 No

FilterFromDeliveryRange FilterFromDeliveryRange (<MinDistance> <MaxDaysAllowed>)

Use FilterFromDeliveryRange to identify loads and unroutable shipments that travel more than the value you specify for MinDistance. These loads and unroutable shipments must also have delivery

JDA Transportation Modeler Strategies and Parameters Guide 49 © 1995-2015 JDA Software Group, Inc.- Confidential

Filter functions

dates that are less than MaxDaysAllowed from the EarliestScheduleTime value. This value is either EarliestScheduleDate in the optimizer parameters file (OptParameters.param) or the current system date, based on the selection you make for EarliestScheduleTime in the Options dialog box. The Optimizer uses the loads that are selected for the filter (that meet the criteria you establish).

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

MinDistance Number The Optimizer includes loads and unroutable shipments that travel at least MinDistance in the filter.

500 0 None False

MaxDays Allowed

Number The Optimizer adds MaxDaysAllowed to the EarliestScheduleTime value. The Optimizer includes loads and unroutable shipments with delivery dates that are less than this value in the filter.

1 0 None False

FilterHub FilterHub (<ExclusionSwitch> <Hub>...)

Use FilterHub to include or exclude the specified hubs from solver functions such as HubAssignment, HubMove, and ReShip. The values for Hub must be enclosed in quotes.

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

ExclusionSwitch Boolean If ExclusionSwitch is False, the Optimizer includes loads that meet the filter criteria. If ExclusionSwitch is True, the Optimizer excludes loads that meet the filter criteria and uses the unfiltered loads.

False 0 None No

Hub Text Use this argument to specify the name of the hub you want to filter. The Hub value must be enclosed in quotes.

Null N/A N/A False

FilterJourneys FilterJourneys (<ExclusionSwitch> <StartFromLastJourney> <StartJourneyNumber> <EndJourneyNumber>)

Use FilterJourneys to filter loads with shipments matching specified journey numbers. For example, you can filter all the first journeys, that is, the first shipment legs on loads, or all the last journeys. This feature provides additional flexibility to being able to filter by locations, origins, or destinations.

The StartFromLastJourney argument enables you to start numbering journeys from the last legs of loads. If this argument is set to True, all last shipment legs on loads now have journey numbers of 1, and you can filter accordingly. This can be useful, as all last legs of loads might not otherwise have the same journey number.

JDA Transportation Modeler Strategies and Parameters Guide 50 © 1995-2015 JDA Software Group, Inc.- Confidential

Filter functions

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

ExclusionSwitch

Boolean If ExclusionSwitch is False, the Optimizer includes loads that meet the filter criteria. If ExclusionSwitch is True, the Optimizer excludes loads that meet the filter criteria and uses the unfiltered loads.

False 0 None No

StartFromLastJourney

Boolean Use this argument to specify that journey numbering starts from the last legs of loads, so that all final legs of loads now have the journey number of 1, and the first legs of loads now have the highest journey numbers.

False 0 None No

StartJourneyNumber

Integer Specify the lower journey number of the range that you want to filter.

1 1 None No

EndJourneyNumber

Integer Specify the higher journey number of the range that you want to filter.

1 1 None No

FilterLocationEquipment FilterLocationEquipment (<ExclusionSwitch> <EquipmentID> ...)

This function filters loads to only include or exclude those whose stop locations are compatible with at least one of the equipments. A location disallows an equipment if restricted equipments are defined and the equipment is in the list of equipments, or if unrestricted equipments are defined and the equipment is not in the list of equipments for the location.

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

ExclusionSwitch

Boolean If ExclusionSwitch is False, the Optimizer includes loads that meet the filter criteria. If ExclusionSwitch is True, the Optimizer excludes loads that meet the filter criteria and uses the unfiltered loads.

False 0 None No

EquipmentID

Text Use this argument to specify the name of the equipment to filter. The EquipmentID value must be enclosed in quotes.

Null N/A N/A False

FilterMarkedLoads FilterMarkedLoads (<NumericID> <ExclusionSwitch> )

Use FilterMarkedLoads to include or exclude sets of filtered loads that you identified using MarkLoads. For more information, see MarkLoads (on page 70).

JDA Transportation Modeler Strategies and Parameters Guide 51 © 1995-2015 JDA Software Group, Inc.- Confidential

Filter functions

For example, assume that you want to find those loads that either weigh less than 5000 pounds or have a carrier value of CAR1. You can filter the loads based on weight, select these loads using a NumericID of 1:

FilterWeight ( False 0 5000 )

MarkLoads ( 1 )

end

You can filter loads for the carrier and also select these loads using a NumericID of 1:

FilterCarrier ( FALSE "CAR1" )

MarkLoads ( 1 )

end

To find the union of these two sets of loads (the logical OR), you can use FilterMarkedLoads:

FilterMarkedLoads ( FALSE 1 )

Note: You can set the NumericID on MarkLoads to 0, but you can only filter on loads marked with a NumericID between 1 and 9.

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

NumericID Number You assign a numeric ID value to the filtered loads. The Optimizer evaluates those loads that have been marked with these ID values.

Null 1 9 False

ExclusionSwitch Boolean If ExclusionSwitch is False, the Optimizer includes loads that meet the filter criteria. If ExclusionSwitch is True, the Optimizer excludes loads that meet the filter criteria and uses the unfiltered loads.

True 0 None No

FilterOriginDestinationTotalWeight FilterOriginDestinationTotalWeight (<ExclusionSwitch> <MinOriginDestTotalWeight> <MaxOriginDestTotalWeight>)

Use FilterOriginDestinationTotalWeight to prevent stops in transit that are light weight. With FilterOriginDestinationTotalWeight, the Optimizer considers shipments instead of loads. It considers all origin–destination pairs that it can schedule together based on their shipment and delivery dates. It calculates the total weight of these shipments. If this weight falls within the weight range that you identify using MinOriginDestTotalWeight and MaxOriginDestTotalWeight, these shipments are filtered. You can use this function at the beginning of the strategy file to have the Optimizer send these shipments LTL, instead of creating light stops.

For example, assume that you have the following shipments:

Shipment Origin Destination Shipment Date

Delivery Date

Weight

1 Pittsburgh Chicago 1/10/01 1/15/01 400

JDA Transportation Modeler Strategies and Parameters Guide 52 © 1995-2015 JDA Software Group, Inc.- Confidential

Filter functions

Shipment Origin Destination Shipment Date

Delivery Date

Weight

2 Pittsburgh Chicago 1/10/01 1/15/01 700

3 Pittsburgh Chicago 1/10/01 1/15/01 300

4 Pittsburgh Chicago 1/15/01 1/19/01 500

5 Pittsburgh Chicago 1/15/01 1/19/01 300

6 New York Chicago 1/17/01 1/21/01 500

7 New York Chicago 1/17/01 1/21/01 800

8 Pittsburgh Chicago 1/17/01 1/21/01 500

If you have set MinOriginDestTotalWeight to 1000 and MaxOriginDestTotalWeight to 15000, the Optimizer evaluates the shipments as:

Shipment Weight Schedule Group Total Weight Filtered? 1 400 A 1400 Yes

2 700

3 300

4 500 B 800 No

5 300

6 500 C 1300 Yes

7 300

8 500 D 500 No

Use ExclusionSwitch to either include or exclude the filtered loads. When the ExclusionSwitch is False (the default), the Optimizer uses the filtered loads. When this switch is True, the Optimizer uses the unfiltered loads.

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

ExclusionSwitch

Boolean If ExclusionSwitch is False, the Optimizer includes (uses) the loads that meet the filter criteria. If ExclusionSwitch is True, the Optimizer excludes the loads that meet the filter criteria and uses the unfiltered loads.

False 0 None False

MinOriginDest TotalWeight

Number Loads with common origin–destination pair shipments that have a total weight greater than or equal to the MinOriginDestTotalWeight are included in the filter.

0 0 None False

MaxOriginDest TotalWeight

Number Loads common origin–destination pair shipments that have a total weigh less than or equal to the MaxOriginDestTotalWeight are included in the filter.

0 0 None True

JDA Transportation Modeler Strategies and Parameters Guide 53 © 1995-2015 JDA Software Group, Inc.- Confidential

Filter functions

FilterPercentFull FilterPercentFull (<ExclusionSwitch> <MinPercentFull> <MaxPercentFull> <ConsiderEquipmentTypes>)

Use FilterPercentFull to include or exclude loads that fall within the percent full range that you identify using MinPercentFull and MaxPercentFull. The Optimizer determines the percent full of the load to be the higher of either the percent full by weight or the percent full by cube. If you set ConsiderEquipmentTypes to True, the Optimizer uses the selected equipment type to determine the percent full. If you set this value to False or if the selected equipment has no max values defined, the Optimizer uses the optimization parameters to determine the percent full.

Use ExclusionSwitch to either include or exclude the filtered loads. When the ExclusionSwitch is False (the default), the Optimizer uses the filtered loads. When this switch is True, the Optimizer uses the unfiltered loads.

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

ExclusionSwitch

Boolean If ExclusionSwitch is False, the Optimizer includes (uses) the loads that meet the filter criteria. If ExclusionSwitch is True, the Optimizer excludes the loads that meet the filter criteria and uses the unfiltered loads.

False 0 None False

MinPercentFull

Number Loads with a minimum percentage full of a truckload by weight or cube (whichever value is more constraining) greater than or equal to MinPercentFull are included in the filter. The Optimizer defines full by max weight and max cube in the Options.

0 0 100 False

MaxPercentFull

Number Loads with a maximum percentage full of a truckload by weight or cube (whichever value is more constraining) less than or equal to MaxPercentFull are included in the filter. The Optimizer defines full by max weight and max cube in the Options.

0 0 100 False

ConsiderEquipmentTypes

Boolean If ConsiderEquipmentTypes is True, the Optimizer uses the selected equipment type to determine the percent full. When this value is set to False, if the Optimizer uses the optimizer parameters as the basis for percent full.

False 0 None False

FilterPickupDate FilterPickupDate (<ExclusionSwitch> <StartDate> <StartHour> <EndDate> <EndHour> <Option>)

Use FilterPickupDate to include or exclude loads and unroutable shipments that have a scheduled pickup or shipment ship window within the date and time range that you specify using StartDate, StartHour, EndDate, and EndHour.

JDA Transportation Modeler Strategies and Parameters Guide 54 © 1995-2015 JDA Software Group, Inc.- Confidential

Filter functions

ExclusionSwitch indicates whether you are including or excluding the filtered loads and unroutable shipments. When the ExclusionSwitch is False (the default), the Optimizer uses the filtered loads and unroutable shipments. When this switch is True, the Optimizer uses the unfiltered loads and unroutable shipments.

Additionally, the Option argument enables you to specify how the filter is applied: by actual scheduled pickup time (for optimized results), by the start of the pickup time window (for shipment input), or by the end of the pickup time window (for shipment input).

If you are filtering by actual scheduled date, the scheduled pickup date is generated by the Optimizer and is not user-specified. The Optimizer looks at stops that are pickups and considers the departure date and time at the stop (after any wait time). It selects the load if any stop departure falls within the date and time range that you specify.

For example, at a stop, the pickup arrival is 1/11/02 at 11pm and the pickup departure is 1/12/02 at 2am. If you specify a StartDate and StartHour of 1/10/02, 8am and EndDate and EndHour of 1/11/02 11pm, the Optimizer does not select the load with this stop, because the departure falls outside of the range.

If the StartDate or StartHour values are null, the Optimizer considers any date before the EndDate/EndTime values.

Note: If you do not use the SetFilterStartDate, Transportation Modeler uses the EarliestScheduleDate as the base start date.

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

ExclusionSwitch

Boolean If ExclusionSwitch is False, the Optimizer includes (uses) the loads and unroutable shipments that meet the filter criteria. If ExclusionSwitch is True, the Optimizer excludes the loads and unroutable shipments that meet the filter criteria and uses the unfiltered loads and unroutable shipments.

False 0 None False

StartDate Date Loads and unroutable shipments with a scheduled pickup date (or pickup time window start or end, depending on the value that you select in FilterStyle) greater than or equal to StartDate are included in the filter. The date format is MM/DD/YY.

Null 01/01/70 01/18/38 False

StartHour Integer Loads and unroutable shipments with a scheduled pickup time (or pickup time window start or end hour, depending on the value that you select in FilterStyle) on the specified StartDate greater than or equal to StartHour are included in the filter.

0 0 23 No

JDA Transportation Modeler Strategies and Parameters Guide 55 © 1995-2015 JDA Software Group, Inc.- Confidential

Filter functions

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

EndDate Date Loads and unroutable shipments with a scheduled pickup date (or pickup time window start or end date, depending on the value that you select in FilterStyle) less than or equal to EndDate are included in the filter. The date format is MM/DD/YY.

Null 01/01/70 01/18/38 False

EndHour Integer Loads and unroutable shipments with a scheduled pickup time (or pickup time window start or end hour, depending on the value that you select in FilterStyle) on the specified EndDate less than or equal to EndHour are included in the filter.

0 0 23 No

Option Enum Use this argument to specify how the filter is applied.

• 0: use the actual scheduled pickup time.

• 1: use the start of the shipment pickup time window.

• 2: use the end of the shipment pickup time window.

• 3: use the scheduled pickup times for all pick stops.

0 0 2 No

FilterPieces FilterPieces (<ExclusionSwitch> <MinPieces> <MaxPieces>)

Use FilterPieces to include or exclude loads and unroutable shipments with total pieces that fall within the range that you identify using MinPieces and MaxPieces.

Use ExclusionSwitch to either include or exclude the filtered loads and unroutable shipments. If ExclusionSwitch is False (the default), the Optimizer uses the filtered loads and unroutable shipments. If this switch is True, the Optimizer uses the unfiltered loads and unroutable shipments.

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

ExclusionSwitch

Boolean If ExclusionSwitch is False, the Optimizer includes (uses) the loads and unroutable shipments that meet the filter criteria. If ExclusionSwitch is True, the Optimizer excludes the loads and unroutable shipments that meet the filter criteria and uses the unfiltered loads and unroutable shipments.

False 0 None False

JDA Transportation Modeler Strategies and Parameters Guide 56 © 1995-2015 JDA Software Group, Inc.- Confidential

Filter functions

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

MinPieces Number Loads and unroutable shipments with a number of pieces greater than or equal to the MinPieces are included in the filter.

0 0 None False

MaxPieces Number Loads and unroutable shipments with a number of pieces less than or equal to the MaxPieces are included in the filter.

0 0 None True

FilterPostalCode FilterPostalCode (<ExclusionSwitch> <OriginWithinPostalCode> <DestinationWithinPostalCode> <AnyStopsWithinPostalCode> <PostalCode>…)

Use FilterPostalCode to include or exclude loads and unroutable shipments with origins, destinations, or any stops within the postal codes that you identify. The PostalCode has 16 fields. You can define from 1 to 16 postal codes for the filter. You must place the individual postal code values within quotes, for example, "02142" "14305". When editing the strategy file with a text editor or using Text mode in the Strategy File Editor, ensure to separate the postal code values with a space. You can also use zip masks for the postal code value. For example, you can define a postal code as 143 to filter all postal codes that begin with 143. When you edit the strategy file with a text editor or using the Text mode in the Strategy File Editor, ensure to separate the postal code values with a space, for example, 01880 143 94123.

If you set OriginWithinPostalCode to True, the Optimizer filters the loads and unroutable shipments with origin locations in any of the postal codes that you have defined in the PostalCode fields. Similarly, if you set DestinationWithinPostalCode to True, loads and unroutable shipments with destinations in any of the defined postal codes meet the filter criteria. If you set AnyStopsWithinPostalCode to True, loads and unroutable shipments with origins, destinations, or any other stops within the defined postal codes meet the filter criteria.

Note: If you set more than one of the three switches to True, the Optimizer interprets this as AnyStopsWithinPostalCode.

Use ExclusionSwitch to either include or exclude the filtered loads and unroutable shipments. When ExclusionSwitch is False (the default), the Optimizer uses the filtered loads. When this switch is True, the Optimizer uses the unfiltered loads and unroutable shipments.

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

ExclusionSwitch Boolean If ExclusionSwitch is False, the Optimizer includes (uses) the loads and unroutable shipments that meet the filter criteria. If ExclusionSwitch is True, the Optimizer excludes the loads and unroutable shipments that meet the filter criteria and uses the unfiltered loads and unroutable shipments.

False 0 None False

JDA Transportation Modeler Strategies and Parameters Guide 57 © 1995-2015 JDA Software Group, Inc.- Confidential

Filter functions

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

OriginWithinPostal Code

Boolean If OriginWithinPostalCode is True, the Optimizer includes loads and unroutable shipments with origins in any of the postal codes you define in the PostalCode fields.

False 0 None False

DestinationWithin PostalCode

Boolean If DestinationWithinPostalCode is True, the Optimizer includes loads and unroutable shipments with destinations in any of the postal codes you define in the PostalCode fields.

True 0 None False

AnyStopsWithin PostalCode

Boolean If AnyStopsWithinPostalCode is True, the Optimizer includes loads and unroutable shipments with any stop in any of the postal codes you define in the PostalCode fields.

False 0 None False

PostalCode Text You can define from 1 to 16 postal codes as the filter criteria. The Optimizer evaluates whether the origin, destination, or any stop on the load or unroutable shipment is within the defined postal codes. You must place the individual postal code values within quotes, for example, "02142" "14305". When editing the strategy file with a text editor or using Text mode in the Strategy File Editor, ensure to separate the postal code values with a space. You can use "zip masks" to identify a set of postal codes that begin with specific characters, such as 119 for all postal codes that begin with 119.

Null N/A N/A False

FilterService FilterService (<ExclusionSwitch> <Service>…)

Use FilterService to include or exclude loads with one of the service values that you specify. The Service field has fifteen fields. You can define from one to 15 services for the filter. You must place the individual service values within quotes, for example, "TL" "LTL". When you edit the strategy file with a text editor or using the Text mode in the Strategy File Editor, ensure to separate the service values with a space.

JDA Transportation Modeler Strategies and Parameters Guide 58 © 1995-2015 JDA Software Group, Inc.- Confidential

Filter functions

Use ExclusionSwitch to either include or exclude the filtered loads. When ExclusionSwitch is False (the default), the Optimizer uses the filtered loads. When this switch is True, the Optimizer uses the unfiltered loads.

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

ExclusionSwitch Boolean If ExclusionSwitch is False, the Optimizer includes (uses) the loads that meet the filter criteria. If ExclusionSwitch is True, the Optimizer excludes the loads that meet the filter criteria and uses the unfiltered loads.

False 0 None False

Service Text You define from one to fifteen services as the filter criteria. You must place the individual service values within quotes, such as "TL" "LTL". When you edit the strategy file with a text editor or using the Text mode in the Strategy File Editor, be sure to separate the service values with a space.

Null N/A N/A False

FilterShiftSequence FilterShiftSequence (<ExclusionSwitch> <StartShiftSequence> <EndShiftSequence>)

Use FilterShiftSequence to include or exclude loads and unroutable shipments that have any shipment with a shift sequence in the range (StartShiftSequence, EndShiftSequence).

Use ExclusionSwitch to either include or exclude the filtered loads and unroutable shipments. When ExclusionSwitch is False (the default), the Optimizer uses the filtered loads and unroutable shipments. When this switch is True, the Optimizer uses the unfiltered loads and unroutable shipments.

Note: If you set the shift sequence to 0, shift sequence is not considered in the filter.

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

ExclusionSwitch

Boolean If ExclusionSwitch is False, the Optimizer includes (uses) the loads and unroutable shipments that meet the filter criteria. If ExclusionSwitch is True, the Optimizer excludes the loads and unroutable shipments that meet the filter criteria and uses the unfiltered loads and unroutable shipments.

False 0 None False

StartShiftSequence

Integer Use this argument to define the start of the shift sequence used as filter criteria.

0 0 None False

EndShiftSequence

Integer Use this argument to define the end of the shift sequence used as filter criteria.

0 0 None False

JDA Transportation Modeler Strategies and Parameters Guide 59 © 1995-2015 JDA Software Group, Inc.- Confidential

Filter functions

FilterShipmentID FilterShipmentID (<ExclusionSwitch> <ShipmentID>…)

Use FilterShipmentID to include or exclude loads with one of the shipmentID values you specify.

ShipmentID is one of 15 shipmentID values that you can specify. This function uses Perl regular expression syntax that enable you to use wildcards. For example:

'.' is a wildcard. '*', '+', '?' and {} can be used for repeat.

• "ab.*" matches all shipment IDs start with "ab".

• * matches the preceding atom zero or more times, for example, the expression a*b matches any of the following:

b

ab

aaaaaaaab

• + matches the preceding atom one or more times, for example, the expression a+b matches any of the following:

ab

aaaaaaaab

But will not match:

b

• ? matches the preceding atom zero or one times, for example, the expression ca?b matches any of the following:

cb

cab

But will not match:

caab

• An atom can also be repeated with a bounded repeat:

a{n} Matches 'a' repeated exactly n times.

a{n,} Matches 'a' repeated n or more times.

a{n, m} Matches 'a' repeated between n and m times inclusive.

For example:

^a{2,3}$

Will match either of:

aa

aaa

But neither of:

a

aaaa

JDA Transportation Modeler Strategies and Parameters Guide 60 © 1995-2015 JDA Software Group, Inc.- Confidential

Filter functions

No spaces can be used since the strategy file uses spaces as the delimiter for parameters. Also '(' and ')' cannot be used since they are used to mark the start and the end of parameters respectively.

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

ExclusionSwitch Boolean If ExclusionSwitch is False, the Optimizer includes loads that meet the filter criteria. If ExclusionSwitch is True, the Optimizer excludes loads that meet the filter criteria and uses the unfiltered loads.

False 0 None No

ShipmentID Text Use this argument to specify the identifier of the ShipmentID you want to filter. The CommodityCode value must be enclosed in quotes.

Null N/A N/A False

FilterShipmentPriority FilterShipmentPriority (<ExclusionSwitch> <Min Priority> <Max Priority>)

Use FilterShipmentPriority to include or exclude shipments and loads based on the specified minimum and maximum priority values.

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

ExclusionSwitch Boolean If ExclusionSwitch is False, the Optimizer includes (uses) the shipments and loads that meet the filter criteria. If ExclusionSwitch is True, the Optimizer excludes the shipments and loads that meet the filter criteria.

False 0 None False

Min Priority Integer Use this argument to specify the lower limit to filter priority values. Only shipments and loads that have priority values equal to or greater than the defined value are included.

0 0 None False

Max Priority Integer Use this argument to specify the upper limit to filter priority values. Only shipments and loads that have priority values equal to or lesser than this are included.

0 0 None True

JDA Transportation Modeler Strategies and Parameters Guide 61 © 1995-2015 JDA Software Group, Inc.- Confidential

Filter functions

FilterShipmentTypes FilterShipmentTypes (<ExclusionSwitch> <UseType1> <Type>)

Use FilterShipmentTypes to include or exclude shipments, loads, and trips based on either Shipment Type1 or Shipment Type2.

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

ExclusionSwitch

Boolean If ExclusionSwitch is False, the Optimizer includes (uses) the loads, trips, and unroutable shipments that meet the filter criteria. If ExclusionSwitch is True, the Optimizer excludes the loads, trips, and unroutable shipments that meet the filter criteria and uses the unfiltered loads, trips, and unroutable shipments.

False 0 None False

UseType1 Boolean If True, filtering is done based on Shipment Type1. If False, filtering is done based on Shipment Type2.

True 0 None False

Type Text String that matches against the derined Type. Note: Enter the string inside double quotation marks.

0 0 None True

FilterSideDoor FilterSideDoor (<ExclusionSwitch>)

Use FilterSideDoor to include or exclude loads to destinations with side door unloading constraints.

Use ExclusionSwitch to either include or exclude the filtered loads. When ExclusionSwitch is False (the default), the Optimizer uses the filtered loads. When this switch is True, the Optimizer uses the unfiltered loads.

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

ExclusionSwitch Boolean If the ExclusionSwitch is False, the Optimizer includes (uses) the loads that meet the filter criteria. If ExclusionSwitch is True, the Optimizer excludes the loads that meet the filter criteria and uses the unfiltered loads.

False 0 None False

FilterSkids FilterSkids (<ExclusionSwitch> <MinSkids> <MaxSkids>)

Use FilterSkids to include or exclude loads and unroutable shipments with total skids that fall within the range that you identify using MinSkids and MaxSkids.

Use ExclusionSwitch to either include or exclude the filtered loads and unroutable shipments. When ExclusionSwitch is False (the default), the Optimizer uses the filtered loads and unroutable

JDA Transportation Modeler Strategies and Parameters Guide 62 © 1995-2015 JDA Software Group, Inc.- Confidential

Filter functions

shipments. When this switch is True, the Optimizer uses the unfiltered loads and unroutable shipments.

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

ExclusionSwitch

Boolean If ExclusionSwitch is False, the Optimizer includes (uses) the loads and unroutable shipments that meet the filter criteria. If ExclusionSwitch is True, the Optimizer excludes the loads and unroutable shipments that meet the filter criteria and uses the unfiltered loads and unroutable shipments.

False 0 None False

MinSkids Number Loads and unroutable shipments with a number of skids greater than or equal to the MinSkids are included in the filter.

0 0 None False

MaxSkids Number Loads and unroutable shipments with a number of skids less than or equal to the MaxSkids are included in the filter.

0 0 None True

FilterStartDate FilterStartDate (<ExclusionSwitch> <StartDate> <StartHour> <EndDate> <EndHour> <Option>)

Use FilterStartDate to include or exclude loads that have a start time within the date and time range that you specify using StartDate, StartHour, EndDate, and EndHour.

The ExclusionSwitch switch indicates whether you are including or excluding the filtered loads. When ExclusionSwitch is False (the default), the Optimizer uses the filtered loads. When this switch is True, the Optimizer uses the unfiltered loads.

Use the Option setting to control how the filter is applied:

• 0: Use the Load End Time if End Date filter

• 1: Use the Trip End Time if End Date filter

• 2: Use both Load and Trip End Times.

This function respect the SetFilterStartDate (on page 9) parameter function, so that you can use absolute dates or relative dates to specify the StartDate and EndDate values.

If the StartDate or StartHour values are null, the Optimizer considers any date before the EndDate/EndTime values. Similarly, if the EndDate or EndHour values are null, the Optimizer considers any date after the StartDate/StartTime.

If a load on a trip is filtered, the trip and all loads on the trip are filtered.

If a trip is filtered, all loads on the trip are filtered.

JDA Transportation Modeler Strategies and Parameters Guide 63 © 1995-2015 JDA Software Group, Inc.- Confidential

Filter functions

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

ExclusionSwitch

Boolean If ExclusionSwitch is False, the Optimizer includes (uses) the loads that meet the filter criteria. If ExclusionSwitch is True, the Optimizer excludes the loads that meet the filter criteria and uses the unfiltered loads.

False 0 None False

StartDate Date Loads/trips that have a start time greater than or equal to StartDate are included in the filter. For absolute dates, the format is MM/DD/YY. For dates relative to the filter start date, use an integer. Use SetFilterStartDate to set the filter start date value.

Null 01/01/70 01/18/38 False

StartHour Integer Loads that have a start time on the specified StartDate greater than or equal to StartHour are included in the filter.

0 0 23 No

EndDate Date Loads that have a start time less than or equal to EndDate are included in the filter. The date format is MM/DD/YY.

Null 01/01/70 01/18/38 False

EndHour Integer Loads that have a start time on the specified EndDate less than or equal to EndHour are included in the filter.

0 0 23 No

Option Enum Use this argument to specify how the filter is applied.

• 0: Use the Load Start Time if Start Date filter

• 1: Use the Trip StartTime if Start Date filter

• 2: Use both Load and Trip Start Times.

0 0 2 No

FilterState FilterState (<ExclusionSwitch> <FilterStyle> <OriginWithinState> <DestinationWithinState> <AnyStopsWithinState> <State>…)

Use FilterState to include or exclude loads and unroutable shipments with origins, destinations, or any stops within the states that you identify. The State field has fifteen fields. You define from one to 15 states for the filter. You must place the individual state values within quotes, for example, "MI" "CO". When you edit the strategy file with a text editor or using the Text mode in the Strategy File Editor, ensure that you separate the state values with a space.

JDA Transportation Modeler Strategies and Parameters Guide 64 © 1995-2015 JDA Software Group, Inc.- Confidential

Filter functions

If you set OriginWithinState to True, the Optimizer filters the loads and unroutable shipments with origin locations in any of the states that you have defined in the State fields. Similarly, if you set DestinationWithinState to True, loads and unroutable shipments with destinations in any of the defined states meet the filter criteria. If you set AnyStopsWithinState to True, loads with origins, destinations, or any other stops within the defined states meet the filter criteria.

Note: If you set more than one of the three switches to True, the Optimizer interprets this as AnyStopsWithinState.

Use the FilterStyle enumeration argument to identify how the Optimizer determines which loads to include in the filter. This setting is evaluated in conjunction with the settings for OriginWithinState, DestinationWithinState, and AnyStopsWithinState. FilterStyle can be one of the following:

• 0: Normal

• 1: Shipment

• 2: Shipment Leg

When set FilterStyle to 0 (the default) and if you have set OriginWithinState to True, the Optimizer includes loads with origins in the states that you identify.

If OriginWithinState is True and you set FilterStyle to 1 (Shipment), the Optimizer includes the load in the filter if any shipment on the load has its origin within the states that you identify.

For example, you include Kansas when using the OriginWithinState. In this example, a shipment has its origin in Kansas, then is split through a hub in Illinois, and has a destination in Ohio. There are two loads, one from the origin to the hub, and the other from the hub to the destination. The Optimizer includes both loads in the filter because the shipment on the two loads has an origin in Kansas.

OD

HLoad 1Shipment1

Load 2Shipment1

Kansas

Illinois

Ohio

If OriginWithinState is True and you set FilterStyle to 2 (Shipment Leg), the Optimizer includes the load in the filter if any shipment leg on the load has its origin within the states you that identify. In this case, the shipment leg origin may not be the origin of the load; instead origin may be a pick at another stop on the load. For example, you include Kansas when using OriginWithinState. In this example, a load has its origin in Nebraska, then picks up a shipment in Kansas and continues to Ohio. The Optimizer includes this load in the filter.

PD

D

Kansas

Illinois

OhioO

Nebraska

Use ExclusionSwitch to either include or exclude the filtered loads and unroutable shipments. When ExclusionSwitch is False (the default), the Optimizer uses the filtered loads and unroutable shipments. When this switch is True, the Optimizer uses the unfiltered loads and unroutable shipments.

JDA Transportation Modeler Strategies and Parameters Guide 65 © 1995-2015 JDA Software Group, Inc.- Confidential

Filter functions

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

ExclusionSwitch

Boolean If ExclusionSwitch is False, the Optimizer includes (uses) the loads and unroutable shipments that meet the filter criteria. If ExclusionSwitch is True, the Optimizer excludes the loads and unroutable shipments that meet the filter criteria and uses the unfiltered loads and unroutable shipments.

False 0 None False

FilterStyle Enum Use FilterStyle to identify how the Optimizer determines which loads to include in the filter. You can use this in conjunction with the OriginWithinState, DestinationWithinState, or AnyStopsWithinState arguments to determine how the Optimizer evaluates the loads. FilterStyle uses these settings:

• 0: Normal. When set to 0, the Optimizer selects loads with origins within, destinations within or any stop within the states that you identify.

• 1: Shipments. When set to 1, the Optimizer selects the load if any shipment has an origin, destination or any stop within the states that you identify.

• 2: Shipment Legs. When set to 2, the Optimizer selects the load if any shipment leg has an origin, destination or any stop within the states that you identify.

0 0 2 False

OriginWithinState

Boolean If OriginWithinState is True, the Optimizer includes loads and unroutable shipments with origins in any of the states you define in the State fields.

False 0 None False

DestinationWithin State

Boolean If DestinationWithinState is True, the Optimizer includes loads and unroutable shipments with destinations in any of the states that you define in the State fields.

False 0 None False

AnyStopsWithin State

Boolean If AnyStopsWithinState is True, the Optimizer includes loads and unroutable shipments with any stop in any of the states that you define in the State fields.

False 0 None False

JDA Transportation Modeler Strategies and Parameters Guide 66 © 1995-2015 JDA Software Group, Inc.- Confidential

Filter functions

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

State Text You can define from one to 15 states as the filter criteria. The Optimizer evaluates whether the origin, destination, or any stop on the load or unroutable shipment is within the defined states. You must place the individual state values within quotes, for example, "MI" and "CO". When you edit the strategy file with a text editor or using the Text mode in the Strategy File Editor, ensure to separate the state values with a space.

Null N/A N/A False

FilterTransferLoads FilterTransferLoads (<ExclusionSwitch>)

Use FilterTransferLoads to include or exclude any loads going through transfer hubs. Use ExclusionSwitch to either include or exclude the filtered loads. When ExclusionSwitch is False (the default), the Optimizer uses the filtered loads. When this switch is True, the Optimizer uses the unfiltered loads.

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

ExclusionSwitch

Boolean If ExclusionSwitch is False, the Optimizer includes (uses) the loads that meet the filter criteria. If ExclusionSwitch is True, the Optimizer excludes the loads that meet the filter criteria and uses the unfiltered loads.

False 0 None False

FilterTripAlternateCostSavings FilterTripAlternateCostSavings (<ExclusionSwitch> <IsPercentage> <IsPerHour> <MinSavingsAmount> <MaxSavingsAmount>)

Use FilterTripAlternateCostSavings to filter trips based on alternate cost savings. You can define the savings as percentage or as per hour value or both. Use ExclusionSwitch to either include or exclude the filtered trips. When the ExclusionSwitch is False (the default), the Optimizer uses the filtered trips. When this switch is True, the Optimizer uses the unfiltered trips.

This filter can be used after CMove.

The Trip Savings Amount is computed as the difference between the trip cost and the sum of individual costs the member loads. The load costs are the same ones used when evaluating the MinCostSavingsRequired parameter in CMove. These costs can be derived from Planning Tariffs or Execution Tariffs.

Trip Savings Percentage is:

SUM(Load Costs) - Trip Amount

--------------------------------------- X 100

SUM(Load Costs)

JDA Transportation Modeler Strategies and Parameters Guide 67 © 1995-2015 JDA Software Group, Inc.- Confidential

Filter functions

Trip Savings per Hour are computed as the Trip Savings Amount divided by the Total Elapsed Hours for the trip.

You can specify the MinSavingsAmount and MaxSavingsAmount required, if any. If you set the IsPerHour to True, Transportation Modeler divides the savings by the number of hours that the trip takes. If you set IsPercentage to True, Transportation Modeler divides the savings by the trip cost, then multiplies by 100.

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

ExclusionSwitch Boolean If ExclusionSwitch is False, the Optimizer includes (uses) the trips that meet the filter criteria. If ExclusionSwitch is True, the Optimizer excludes the trips that meet the filter criteria and uses the unfiltered trips.

False 0 None False

IsPercentage Boolean If this argument is set to True, the trip savings is divided by the trip cost then multiplied by 100.

False 0 None False

IsPerHour Boolean If this argument is set to True, the trip savings is divided by the total elapsed hours for the trip.

False 0 None False

MinSavingsAmount Number The minimum savings amount for the trip to be included in the filter.

0 0 None False

MaxSavingsAmount Number The maximum savings amount for the trip to be included in the filter.

0 0 None True

FilterVolume FilterVolume (<ExclusionSwitch> <MinVolume> <MaxVolume>)

Use FilterVolume to include or exclude loads and unroutable shipments that fall within the volume range that you identify using MinVolume and MaxVolume.

Use ExclusionSwitch to either include or exclude the filtered loads and unroutable shipments. When ExclusionSwitch is False (the default), the Optimizer uses the filtered loads and unroutable shipments. When this switch is True, the Optimizer uses the unfiltered loads and unroutable shipments.

JDA Transportation Modeler Strategies and Parameters Guide 68 © 1995-2015 JDA Software Group, Inc.- Confidential

Filter functions

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

ExclusionSwitch Boolean If ExclusionSwitch is False, the Optimizer includes (uses) the loads and unroutable shipments that meet the filter criteria. If ExclusionSwitch is True, the Optimizer excludes the loads and unroutable shipments that meet the filter criteria and uses the unfiltered loads and unroutable shipments.

False 0 None False

MinVolume Number Loads and unroutable shipments with a volume greater than or equal to the MinVolume are included in the filter.

0 0 None False

MaxVolume Number Loads and unroutable shipments with a volume less than or equal to the MaxVolume are included in the filter.

0 0 None True

FilterWeight FilterWeight (<ExclusionSwitch> <MinWeight> <MaxWeight>)

Use FilterWeight to include or exclude loads and unroutable shipments that fall within the weight range that you identify using MinWeight and MaxWeight.

Use ExclusionSwitch to either include or exclude the filtered loads and unroutable shipments. When ExclusionSwitch is False (the default), the Optimizer uses the filtered loads and unroutable shipments. When this switch is True, the Optimizer uses the unfiltered loads and unroutable shipments.

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

ExclusionSwitch Boolean If ExclusionSwitch is False, the Optimizer includes (uses) the loads and unroutable shipments that meet the filter criteria. If ExclusionSwitch is True, the Optimizer excludes the loads and unroutable shipments that meet the filter criteria and uses the unfiltered loads and unroutable shipments.

False 0 None False

MinWeight Number Loads and unroutable shipments with a weight greater than or equal to the MinWeight are included in the filter.

0 0 None False

MaxWeight Number Loads and unroutable shipments with a weight less than or equal to the MaxWeight are included in the filter.

0 0 None True

JDA Transportation Modeler Strategies and Parameters Guide 69 © 1995-2015 JDA Software Group, Inc.- Confidential

Filter functions

BreakTrips BreakTrips ()

Use this function to split existing trips is there is no cost impact incurred and return legs are paired with outbound legs with no deadhead distance between them. You can run this function after initial trips are created using CMove.

MakeUnroutable MakeUnroutable (<UnrouteFreeOnly> <UnrouteTrips>)

After you identify a group of loads using a filter function, you can use this function within the filter to make these loads unroutable. The Optimizer unroutes all shipments on the loads that are in the active filter group.

Note: You can only run this function within a filter function.

If any shipment within a web is made unroutable, the Optimizer removes the entire web.

MarkLoads MarkLoads (<NumericID>)

Use this function within a filter function to assign an identifier to the filtered loads. You assign a NumericID to these loads with a value from 0 to 9. Once you have selected the loads within the strategy file, the selected loads retain this ID unless you reassign the ID with the MarkLoads again. For example:

FilterService ( FALSE "TL" )

MarkLoads ( 1 )

end

The loads with a service of "TL" are now identified with a NumericID value of 1.

You can assign the same NumericID to any number of sets of filtered loads, but each load can only have one NumericID assigned to it at a time.

You can use FilterMarkedLoads to perform a logical or between the sets of loads you have identified with a specific NumericID value. For example, if you filtered by weight, carrier, and service, then used MarkLoads to assign an identifier to these filters, you can then use FilterMarkedLoads to find the union of these three filters.

Note: You can assign a NumericID value of 0 using MarkLoads and FilterMarkedLoads only recognizes ID values between 1 and 9. You can use the NumericID value of 0 to deselect a set of loads from being considered by FilterMarkedLoads.

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

NumericID Number Enter the identifier that you want to use to identify the currently filtered loads.

Null 0 9 False

FilterTransitMode FilterTransitMode (<ExclusionSwitch> < TransitMode>…)

Use this function to include or exclude loads or trips for processing during the lifetime of the filter. These loads or trips must match the specified transit modes.

JDA Transportation Modeler Strategies and Parameters Guide 70 © 1995-2015 JDA Software Group, Inc.- Confidential

Filter functions

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

ExclusionSwitch

Boolean If the ExclusionSwitch field is False, the optimizer includes (uses) the loads or trips that meet the filter criteria. If the ExclusionSwitch field is True, the optimizer excludes the loads or trips that meet the filter criteria and considers the unfiltered loads or trips for processing.

False 0 None False

TransitMode

Integer Enum value of the TM transit mode. 0 is equivalent to no requirement. You can add a maximum of 16 transit modes in the filter.

0 0 None False

SetTimeLimit SetTimeLimit (<MaxMinutesAllowed>)

The SetTimeLimit function enables you to set the maximum time (in minutes) that strategies can run. The limit applies to all strategies that follow until you set a new time limit or the solve ends. You can nest this time limit in the following format:

...

SetTimeLimit(5)

strategy A

strategy B

SetTimeLimit(10)

strategy C

end

strategy D

end

In this case, strategies A and B are allowed to run for a maximum of 5 minutes each, strategy C can run for up to 10 minutes, while strategy D has no limit.

Nested filters and filtering marked loads If you want to combine filters to select loads based on multiple properties. You can:

• Nest filters to create a logical AND between the filters. In other words, you can find the intersection of the filters.

• Select filtered loads, and then filter those loads with the same select value to create a logical OR between the filters. In other words, you can find the union of the filters.

You can use both methods within the same strategy file; in other words, you can nest filters and use filters on selected loads.

JDA Transportation Modeler Strategies and Parameters Guide 71 © 1995-2015 JDA Software Group, Inc.- Confidential

Filter functions

Filter with a logical AND To nest filters, you can include a Filter...end structure within another Filter...end structure. The Optimizer does not limit the number of nested filters that you define. It uses a logical AND between one filter and the next in the nesting. For example, if you have two filters, FilterABC and FilterXYZ, you can nest them as:

FilterABC (a b c)

FilterXYZ (x y z)

...strategies...

end

end

The Optimizer evaluates this format as FilterABC AND FilterXYZ.

You can include strategy functions at any point in the nested filter. For example:

FilterABC (a b c)

FilterXYZ (x y z)

...strategies...

end

...strategies

end

Ensure that you must end the inner filter before ending the outer filter. An invalid nesting can be:

FilterABC (a b c)

FilterXYZ (x y z)

...strategies...

end

end

Filter with a logical OR You can use two functions to filter selected loads to create a logical OR:

• MarkLoads: Assigns a numeric ID to a set of loads that you have filtered. See MarkLoads (on page 70).

• FilterMarkedLoads: Allows you to filter with a logical OR across the sets of filtered loads that you have identified with a specific numeric ID using MarkLoads. See FilterMarkedLoads (on page 51).

Supported filter combination configurations The Optimizer supports following filter combination configurations:

• F1 AND F2

• F1 OR F2

• (F1 OR F2) AND F3

• (F1 AND F2) OR F3

JDA Transportation Modeler Strategies and Parameters Guide 72 © 1995-2015 JDA Software Group, Inc.- Confidential

Filter functions

• (F1 AND F2) OR (F3 OR F4)

• (F1 AND F2) OR (F3 AND F4)

• (F1 AND F2) AND (F3 OR F4)

• (F1 OR F2) AND (F3 OR F4)

JDA Transportation Modeler Strategies and Parameters Guide 73 © 1995-2015 JDA Software Group, Inc.- Confidential

Strategy functions

Chapter 10. Strategy functions This chapter provides information on strategy functions, presented by type, and in alphabetical order by function name.

• Load build strategies:

• Con (on page 82)

• ConSamePickandDrop (on page 85)

• ConvertTripsToLoads (on page 88)

• MakeHeadLoads (on page 108)

• MakeJourney (on page 109)

• MakeLoad (on page 109)

• Load improvement strategies:

• BalanceLoads (on page 75)

• BreakTLLoads (on page 76)

• GroupTLLoads (on page 90)

• OptMove (on page 119)

• OptSwap (on page 123)

• OptTLLoads (on page 125)

• RemoveLightStops (on page 127)

• ReOptTLLoads (on page 132)

• ResequenceStops (on page 137)

• TryShipsDirect (on page 149)

• Hub strategies:

• DeleteHub (on page 88)

• DeleteLTLLegs (on page 89)

• HubAssignment (on page 90)

• HubInsertion (on page 97)

• HubLoop (on page 100)

• HubMove (on page 105)

• Reship (on page 137)

• SaveHubPlan (on page 140)

• TryRelayHubs (on page 147)

JDA Transportation Modeler Strategies and Parameters Guide 74 © 1995-2015 JDA Software Group, Inc.- Confidential

Strategy functions

• Trip building strategies:

• CMove (on page 78)

• ConvertLoadsToTrips (on page 88)

• MakeTrip (on page 110)

• Trip improvement strategies:

• CMoveSwap (on page 81)

• ReOptCMove (on page 129)

• ReOptTLTrips (on page 135)

• ResequenceLoads (on page 136)

• Critical constraint strategies:

• MoveFutureShipments (on page 111)

• OptCriticalLoads (on page 115)

• OptFutureShipmentSelection (on page 118)

• ReOptCriticalLoads (on page 129)

• SplitCriticalLoads (on page 140)

• Miscellaneous strategies:

• InitLoads (on page 107)

• MergeSolve (on page 110)

• OptCapacityPlanning (on page 114)

• OptDekitting (on page 118)

• OptResourceConstraints (on page 121)

• TryDockScheduling (on page 142)

• TryMinimizeFleetSize (on page 146)

BalanceLoads BalanceLoads ( )

Use BalanceLoads to improve the load that is currently the least full. It pulls shipments off the load with the highest percent full and tries to add them to the smaller load in an effort to balance these loads. Each time it moves a shipment, the Optimizer rates and schedules the two loads. It continues to move shipments, as long as the loads are scheduled and the move reduces overall plan cost, until the smallest load is full and as long as the move is valid (rates and schedules correctly).

The benefits of BalanceLoads are:

• It makes a optimal load by improving the percent full of the smaller load

• It can use a smaller piece of equipment for the larger load, based on the cost that the Optimizer determines during rating

JDA Transportation Modeler Strategies and Parameters Guide 75 © 1995-2015 JDA Software Group, Inc.- Confidential

Strategy functions

BreakTLLoads BreakTLLoads (<MinPercentFull> <MaxOutOfRoutePercentAllowed> <CostImprovementIsRequired> <IndividualShipmentsOnly> <SeparateShipmentsByCriticality>)

BreakTLLoads verifies each consolidated multi-stop load scheduled by the Optimizer. BreakTLLoads analyzes whether to split the less expensive load into the individual shipments, which can be sent by LTL or parcel carriers.

The BreakTLLoads does not consider split loads unless those loads are less than the MinPercentFull and have an out-of-route distance percent greater than the MaxOutOfRoutePercentAllowed. If CostImprovementIsRequired is True, when the BreakTLLoads split a load in shipments, it must yield a cost savings to be used. If CostImprovementRequired is False, the Optimizer breaks up the load even if it yields no cost savings.

When IndividualShipmentsOnly is False (the default), the Optimizer splits the loads based on origin–destination pairs. When you set this argument to True, the Optimizer split the loads to their shipment level. For example, assume you have a load with the following four shipments:

Shipment Origin Destination 1 Chicago Buffalo

2 Chicago Buffalo

3 Chicago Buffalo

4 Buffalo Boston

The load starts from Chicago, pick up three shipments, then heads to Buffalo and picks up the fourth shipment. It continues to Boston to drop the shipments:

BostonBuffalo

Chicago

3 shipments

1 shipment

If IndividualShipmentsOnly is False, the Optimizer generates two loads, one from Chicago to Buffalo with three shipments, and the other from Buffalo to Boston with one shipment. If IndividualShipmentsOnly is True, the Optimizer generates four loads, one for each shipment.

If you set SeparateShipmentsByCriticality to True, the Optimizer retains critical shipments together when splitting loads. Even if other non-critical shipments have the same origin and destination, the Optimizer does not include these shipments on the new load with the critical shipments. For example, if two of the three shipments going from Chicago to Buffalo are critical, the Optimizer splits the original load from Chicago to Buffalo in two loads, one with the critical shipments, the other with the non-critical shipment. If the IndividualShipmentsOnly is True, the SeparateShipmentsByCriticality has no effect.

JDA Transportation Modeler Strategies and Parameters Guide 76 © 1995-2015 JDA Software Group, Inc.- Confidential

Strategy functions

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

MinPercentFull Float Minimum percentage full of a truckload by weight or cube (whichever value is more con-straining). A value of 85 indicates 85% full. The Optimizer defines full by max weight and max cube in OptParameters.

85 0 100 False

MaxOutOfRoute PercentAllowed

Float Maximum out of route percentage allowable.

50 -100 None True

CostImprovementIs Required

Boolean If CostImprovementIsRequired is True, the load split must yield a cost savings if it is to be used.

True 0 None False

Individual ShipmentsOnly

Boolean If you set this value to True, the Optimizer splits the loads to the shipment level by creating a separate load for each shipment. If you set this value to False, the Optimizer splits the loads based on origin-destination pairs.

False 0 None False

SeparateShipmentsByCriticality

Boolean If you set this value to True, the Optimizer retains critical shipments together when you split the loads. Even if other non-critical shipments have the same origin and destination, the Optimizer does not move these shipments together on the new load with the critical shipments. If IndividualShipmentsOnly is True, this argument has no effect.

False 0 None False

JDA Transportation Modeler Strategies and Parameters Guide 77 © 1995-2015 JDA Software Group, Inc.- Confidential

Strategy functions

CMove CMove (<MaxDeadhead> <MaxLoads> <CostImprovementIsRequired> <MaxConsecutiveFailure> <MinDistanceSavingsRequired> <MinTotalDistance> <MaxTotalDistance> <MaxReturnDistance> <MinCostSavingsRequired> <MaxCandidatestoRank> <UsePercentSavingstoRank> <MaxCombinationToTry><Try OptResource>)

CMove creates a continuous move itinerary by combining single loads into trips consisting of two or more loads. It supports load pairs.

CMove finds all ordered pairs of loads, such that the distance between the last drop of the first load and the first pick of the second load is less than the distance specified by MaxDeadhead.

You can use CMove for multi-threading. When you enable multi-threading, the Optimizer considers all the processors on your computer to improve performance. It can redirect various sub-processes within the CMove to the available processors. For more information, see Transportation Modeler User Guide.

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

MaxDeadhead Float Maximum deadhead distance allowed between any two consecutive loads on the trip.

100 0 None True

MaxLoads Integer Maximum number of loads allowed on a trip.

5 2 None True

CostImprovementIs Required

Boolean If CostImprovementIsRequired is True, the trip must not yield a cost increase if it is to be used. It must either stay the same, or yield a cost savings. The Optimizer checks this value at each insertion of a load.

True 0 None False

MaxConsecutive Failures

Integer A stopping condition for the algorithm. MaxConsecutive Failure indicates how many consecutive failed trip-building attempts the Optimizer makes before quitting.

Any 0 None Yes

MinDistanceSavingsRequired

Integer The minimum improvement to the total distance after loads is combined into a trip. You can use a negative value (increased distance).

Any None None No

MinTotalDistance Integer Use this argument to specify that the Optimizer does not attempt to build trips with a total distance less than this limit. MinTotalDistance helps to cut down the problem size and makes CMove more efficient. The distance evaluated for this argument is the distance for the loads at the time that the Shipment Consolidation Engine attempts to build trips. The final trip distance

0 0 None No

JDA Transportation Modeler Strategies and Parameters Guide 78 © 1995-2015 JDA Software Group, Inc.- Confidential

Strategy functions

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

might violate MinTotalDistance (for example, if upon re-rating the trip, a new carrier or tariff is assigned which requires a domicile, thus adding extra pre-pick distance), but the trip will still be built, based on the original total distance of the uncombined loads.

MaxTotalDistance Integer Use this argument to specify that the Optimizer does not attempt to build trips with a total distance over this limit. MaxTotalDistance helps to cut down the problem size and makes CMove more efficient. The distance evaluated for this argument is the distance for the loads at the time that the Shipment Consolidation Engine attempts to build trips. The final trip distance might violate MaxTotalDistance (for example, if upon re-rating the trip, a new carrier or tariff is assigned which requires a domicile, thus adding extra pre-pick distance), but the trip will still be built, based on the original total distance of the uncombined loads.

Any 0 None Yes

MaxReturnDistance Integer Use this argument to specify that the Optimizer does not attempt to build trips with a return distance over this limit. MaxReturnDistance helps to cut down the problem size and makes CMove more efficient.

Any 0 None Yes

MinCostSavings Required

Integer Use this argument to specify the minimum cost savings that must be achieved after loads are combined into a trip. If this argument is set to a positive value and CostImprovementIsRequired is set to True, any combination of loads that does not create a cost savings greater than MinCostSavingsRequired will not be implemented.

Any 0 None Yes

JDA Transportation Modeler Strategies and Parameters Guide 79 © 1995-2015 JDA Software Group, Inc.- Confidential

Strategy functions

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

MaxCandidatestoRank

Integer By default trip consolidation candidates are only ranked by distance savings. When this argument is set to a non-zero value, the top MaxCandidatestoRank candidates are re-ranked by cost savings before they are tried.

0 0 1000 No

UsePercentSavingstoRank

Boolean If this argument is set to True, trip consolidation candidates are ranked in order of percentage savings of distance or cost rather than absolute savings.

False 0 None No

MaxCombinationToTry

Integer If this argument is set to 3, Cmove attempts to build three load trips during initial trip building. By default two load trips are built and additional loads are then added to this trip subject to the other Cmove arguments. This may help in situations where the best three load trip is better than the best two load trip plus a third load.

2 2 3 No

Try OptResource Boolean If TRUE, runs the OptResourceConstraints function to try to find savings by optimizing resource assignments as a part of building continuous move itineraries.

False None None No

JDA Transportation Modeler Strategies and Parameters Guide 80 © 1995-2015 JDA Software Group, Inc.- Confidential

Strategy functions

CMoveSwap CMoveSwap (<OriginRadius> <DestinationRadius> <MaxLoadstoMove> <MinDistanceImprovement> <MaxClosestLegDistance> <MaxConsecutiveFailure>)

The CMoveSwap swaps sequences of loads between pairs of trips. The Optimizer changes in the trips only if the trips are lead to a cost savings in the overall plan.

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

OriginRadius Integer The maximum distance allowed between the first stops on two loads that are candidates for swapping.

0 0 None True

DestinationRadius Integer The maximum distance allowed between the last stops on two loads that are candidates for swapping.

0 0 None True

MaxLoadstoMove Integer The Optimizer does not consider swapping sequences of more than MaxLoadstoMove number of loads.

3 1 None True

MinDistanceImprovement

Integer The minimum improvement to the total distance for both loads involved in a swap. A negative value (increased distance) can be used.

0 None None False

MaxClosestLegDistance

O

D

O

D

O

O

D

D

X O

Integer This is the distance between the two closest stops on the loads (X in the figure). The distance can be between two picks, two drops, or a combination of a pick and drop.

ANY 0 None True

MaxConsecutiveFailure

Integer A stopping condition for the algorithm. The MaxConsecutive Failure indicates how many consecutive failed swaps can be attempted before quitting.

1000 0 None True

JDA Transportation Modeler Strategies and Parameters Guide 81 © 1995-2015 JDA Software Group, Inc.- Confidential

Strategy functions

Con Con (<MinSeedDistance> <OriginRadius> <DestinationRadius> <MaxInsertionPercentage> <UseSelfOpt> <CostImprovementIsRequired> <ConsolidateInbound> <ConsolidateOutbound> <DistanceConsolidationFactor> <ConsolidateLinehaul> <MinTotalPct> <MaxWeightLeft>< Only Consolidate Same Stops>)

The Con strategy consists of three types of consolidation that the Optimizer uses to combine shipments in multi-stop loads. These can be single-pick/multi-drop loads, multi-pick/single-drop loads, or multi-pick/multi-drop loads. The Optimizer determines the type of strategy you are using by the values of the arguments. For example, if you define a value for DestinationRadius and OriginRadius as 0, the strategy performs a single-pick/multi-drop consolidation.

Using the single-pick/multi-drop example, the Con strategy sorts all the shipments by their approximate distance from origin to destination. It determines at the shipment whose destination is furthest from its origin, making this the seed load. It then determines all the other shipments with the same origin as the seed. This strategy then adds the shipment that adds the least amount of distance to the seed load, while considering all service and time constraints. The weight or cube of the candidate shipment plus the existing load (whichever value is most constraining) must exceed the value of MinTotalPct for the Optimizer to add the shipment. It repeats the process of looking for shipments and adding shipments until the capacity of the seed load has been filled. Con then picks the next free shipment for a seed and repeats. Con stops when all shipments have been assigned to seed loads.

The other two behaviors for the Con strategy work in an analogous way for multi-pick/single-drop loads and multi-pick/multi-drop loads.

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

MinSeedDistance Float This argument does not consider selecting a shipment as a seed load if its destination is less than MinSeedDistance miles from its origin.

0 0 None False

OriginRadius Float This argument does not consider shipments whose origins are farther than OriginRadius miles from the pick selected as the seed.

0 0 None True

DestinationRadius Float This argument does not consider shipments whose destinations are farther than DestinationRadius miles from the drop selected as the seed.

0 0 None True

MaxInsertionPercentage

x y

z inserted destination 'z'

existing destination 'x' existing

(xz+yz)(xy)

must be less thanmaxInsertionRatio

Float This argument does not consider inserting stop z between stops x and y if the percentage increase in the leg distance ((xz+yz)-xy)/xy is greater than MaxInsertionPercentage.

50 5 1000 True

JDA Transportation Modeler Strategies and Parameters Guide 82 © 1995-2015 JDA Software Group, Inc.- Confidential

Strategy functions

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

UseSelfOpt Boolean

If this argument is True, reorder stops after every insertion to minimize load distance.

False 0 None False

CostImprovementIsRequired

Boolean

If this argument is True, each load consolidation requires cost improvement.

True 0 None False

ConsolidateInbound Boolean

If this argument is True, loads delivered to hubs are consolidated.

True 0 None False

ConsolidateOutbound

Boolean

If this argument is True, loads picked up at hubs are consolidated.

True 0 None False

DistanceConsolidationFactor

Float Use this value to determine how significantly the Optimizer favors the consolidation of long (distance) loads. The higher the DistanceConsolidationFactor, the more favorable it is to consolidate loads that are travelling long distances.

100 0 None False

ConsolidateLinehaul Boolean

If this argument is True, the Optimizer consolidates loads on the linehaul (between the consolidation and deconsolidation hubs) during HubLoop.

True 0 None False

MinTotalPct Float When considering a candidate shipment to add to the load, if the weight or cube of the candidate plus the existing load (whichever value is most constraining) do not exceed MinTotalPct full, the Optimizer does not add the candidate.

0 100 None True

MaxWeightLeft Float When consolidating loads, the Optimizer allows up to MaxWeightLeft to be left on the insertion load. The remaining weight can consider the advantage of LTL rates.

0 0 None False

JDA Transportation Modeler Strategies and Parameters Guide 83 © 1995-2015 JDA Software Group, Inc.- Confidential

Strategy functions

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

Only Consolidate Same Stops

Boolean

If TRUE, consolidates a direct load (only two stops) with a seed load (the current load) when the stops of the direct load match with any two consecutive stops of the seed load. You can use this argument to prevent Con from inserting new stops onto an existing load. For example: Consider the following:

• A seed load L1 with stops A, B, and C with the itinerary as A > B > C.

• A direct load L2 with stops A and B with the itinerary as A > B.

• A direct load L3 with stops B and C with the itinerary as B > C.

• A direct load L4 with stops A and C with the itinerary as A > C.

• A direct load L5 with stops A and B with the itinerary as B > A.

• A direct load L6 with stops C and D with the itinerary as C > D.

If the Only Consolidate Same Stops argument is TRUE, only L2 and L3 are consolidated with L1.

False None None No

Con (single–pick/multi–drop) Example:

JDA Transportation Modeler Strategies and Parameters Guide 84 © 1995-2015 JDA Software Group, Inc.- Confidential

Strategy functions

Con(multi–pick/multi–drop) Example:

Con (multi–pick/single–drop) Example:

ConSamePickandDrop ConSamePickandDrop (<CostImprovementIsRequired> <ConsolidateInbound> <ConsolidateOutbound> <PackFirst> <InitialOriginRadius> <FinalDestinationRadius> <MinTotalPct> <ConsolidateLinehaul> <OnlyConLikeOrderGroups> <ConLike CustomersFirst> <ConsiderLength> <MaximumShiftSequenceDelta>)

This strategy consolidates all shipment legs originating from the same starting point (origin or hub) to the same destination point (destination or hub). Additionally, it also considers shipments on loads already assigned to trips, and recombines these loads if it is advantageous for it to do so. When validating the same point (origin, destination, or hub), the following values must match:

• Name

• Street

• City

• State

JDA Transportation Modeler Strategies and Parameters Guide 85 © 1995-2015 JDA Software Group, Inc.- Confidential

Strategy functions

• Postal Code

• Country

Use the InitialOriginRadius and FinalDestinationRadius constraints for shipments that are sent through hubs. The shipments that are more than InitialOriginRadius or FinalDestinationRadius are not consolidated at the hub. These options help to keep webs from becoming too large.

In a HubLoop, use ConsolidateInbound, ConsolidateOutbound, and ConsolidateLinehaul to control shipment consolidation into, out of, and between hubs. You can use OnlyConLikeOrderGroups, ConLikeCustomersFirst, and ConsiderLength to prioritize and further control consolidation.

The Optimizer validates shipments that can be combined by using ConSamePickAndDrop. If their combined weight or cube (whichever value is most constraining) is less than MinTotalPct, the Optimizer does not combine them.

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

CostImprovementIsRequired

Boolean If this argument is True, each load consolidation requires cost improvement.

True 0 None False

ConsolidateInbound

Boolean If this argument is True, the Optimizer consolidates loads delivered to hubs during HubLoop.

True 0 None False

ConsolidateOutbound

Boolean If this argument is True, the Optimizer consolidates loads picked up at hubs during HubLoop.

True 0 None False

JDA Transportation Modeler Strategies and Parameters Guide 86 © 1995-2015 JDA Software Group, Inc.- Confidential

Strategy functions

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

PackFirst Integer This setting has three options:

• 0: False. The Optimizer determines the seed, adds a load, rerates, reschedules, then adds another load and repeats.

• 1: The Optimizer tries to pack shipments together first, then rates all together, instead of one at a time.

• 2: The Optimizer uses CPLEX to pack optimally for each seed load.

0 0 None False

InitialOriginRadius

Float For shipments that the Optimizer routes through hubs, the Optimizer does not consider consolidating shipments that have origins more than InitialOriginRadius apart. This argument does not apply to shipments with their origin or destination at a hub.

ANY 0 None True

FinalDestination Radius

Float For shipments that routed by the Optimizer through hubs, the Optimizer does not consider consolidating shipments that have destinations more than FinalDestinationRadius apart. This argument does not apply to shipments with their origin or destination at a hub.

ANY 0 None True

MinTotalPct Float The Optimizer determines at all shipments that can be combined with ConSamePickAndDrop. If their combined weight or combined cube (whichever value is more constraining) is less than MinTotalPct, the Optimizer does not combine them.

0 100 None True

ConsolidateLinehaul

Boolean If the argument is True, the Optimizer consolidates loads on the linehaul (between the consolidation and deconsolidation hubs) during HubLoop.

True 0 None False

OnlyConLikeOrder Groups

Boolean If this argument is True, shipments must have the same Order group for the Optimizer to consider consolidating them.

False 0 None False

JDA Transportation Modeler Strategies and Parameters Guide 87 © 1995-2015 JDA Software Group, Inc.- Confidential

Strategy functions

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

ConLikeCustomers First

Boolean If this argument is True, the Optimizer attempts to consolidate shipments with the same customer value first. Once these shipments are consolidated, it adds other shipments.

False 0 None False

ConsiderLength Boolean If this argument is True, the Optimizer prioritizes combining shipments with the longest laden lengths first.

False 0 None False

MaximumShift SequenceDelta

Integer This argument allows you to limit the shift sequence deltas allowed during consolidation and to relax this limit at other points of the strategy file.

ANY 0 None True

ConvertLoadsToTrips ConvertLoadsToTrips ()

Use this function to create a trip from a load with interleaving and an intermediate stop that has both picks and drops. The AllowLoadBecomeEmpty must be true at B and in the global parameters.

ConvertTripsToLoads ConvertTripsToLoads ()

Use this function to create a load from a trip like A->B and B->A. The AllowLoadBecomeEmpty must be true at B and in the global parameters.

DeleteHub DeleteHub (<MaxLoadsToChange> <TryOneShipmentAtATime> <MinPercentFull> <ConsolidateLikeStops> <OriginRadius> <DestinationRadius>)

The DeleteHub strategy tries to reduce cost by eliminating hubs for shipment legs. The Optimizer considers deleting a hub as long as it does not affect more than the MaxLoadsToChange number of loads. By default, DeleteHub tries to delete a hub for one shipment at a time. You can set TryOneShipmentAtATime to False to enable the Optimizer to consider deleting a hub for combinations of shipments. The Optimizer determines the largest shipments by weight first when considering shipments.

The Optimizer calculates the percentage that the shipment relative to the size of the load. If this percentage is at least MinPercentFull, the Optimizer can consider the shipment for hub deletion.

If TryOneShipmentAtATime is set to False, the Optimizer combines multiple shipments to reach the MinPercentFull, even if the individual shipments are less than this value.

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

MaxLoadsToChange

Integer This is the maximum number of loads that can be impacted by DeleteHubs when deleting hubs for a set of shipments that are on the same load.

10 0 None False

JDA Transportation Modeler Strategies and Parameters Guide 88 © 1995-2015 JDA Software Group, Inc.- Confidential

Strategy functions

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

TryOneShipmentAtATime

Boolean

If this argument is true, the Optimizer tries to delete a hub for each shipment leg individually. If this argument is false, the Optimizer tries to delete a hub for combinations of shipments on the load. In either case, the Optimizer prioritizes the shipments under consideration by weight, looking at larger shipments first.

True 0 None False

MinPercentFull

Float A shipment (or set of shipments) must be at least this percentage of the load, or the Optimizer does not consider it for hub deletion. In the case of a set of shipments, these must have the same pick and drop and their weights can be aggregated to meet the minimum percent.

0 0 100 False

ConsolidateLikeStops

Boolean

If this argument is true, the Optimizer runs OptTLLoads after the hub deletion. It uses an OriginRadius = 0 and DestinationRadius = 0.

False 0 None False

OriginRadius Float Used by OptTLLoads to run consolidation after a hub is deleted for a shipment or a load.

-2 -2 None False

DestinationRadius

Float Used by OptTLLoads to run consolidation after a hub is deleted for a shipment or a load.

-2 -2 None False

DeleteLTLLegs DeleteLTLLegs (<MaxStopsInTransit> <EstimatedDistanceSavings>)

The DeleteLTLLegs strategy tries to improve cost by eliminating some LTL outbound loads. These LTL legs are delivered directly through inbound loads or by creating the hub a stop in transit.

You can restrict the LTL loads considered by the Optimizer for deletion by using the arguments:

• MaxStopsInTransit allows you to specify the maximum number of stops on outbound loads for consideration.

• EstimatedDistanceSavings allows you to specify the distance savings required before attempting the deletions.

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

MaxStopsInTransit

Float Use this argument to specify a number of stops in transit for outbound loads that are considered for LTL leg deletion. The Optimizer does not consider outbound loads with more stops than this value.

0 0 None False

JDA Transportation Modeler Strategies and Parameters Guide 89 © 1995-2015 JDA Software Group, Inc.- Confidential

Strategy functions

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

EstimatedDistanceSavings

Float The Optimizer considers deleting LTL legs only if the EstimatedDistanceSavings value is at least this value.

0 0 None False

GroupTLLoads GroupTLLoads (<OriginRadius> <DestinationRadius> <MinPercentFull> <WeightFactor> <VolumeFactor> <UnrouteShipments>)

The GroupTLLoads strategy tries to group all loads together within <OriginRadius> and <DestinationRadius> of a seed load, then recombine to maximize load efficiencies. This function uses SetShipmentPriority to prioritize shipments.

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

OriginRadius Float The maximum distance allowed between the first stops on two loads which are candidates.

100 0 None True

DestinationRadius Float The maximum distance allowed between the last stops on two loads which are candidates.

100 0 None True

MinPercentFull Float The minimum percent full of a load to be considered in GroupTLLoads

0 0 100 False

WeightFactor Float The importance of weight in maximizing trailer efficiency. If 0, weight is ignored.

0 0 1 False

VolumeFactor Float The importance of volume in maximizing trailer efficiency. If the value is 0, the volume is ignored.

0 0 1 False

UnrouteShipments Boolean If this argument is true, the Optimizer tries to unroute loads with the lowest priority and with the least percent full to reduce penalties.

False False

HubAssignment HubAssignment (<MaxConHubDistance> <MaxConHubsToTry> <MaxDeconHubDistance> <MaxDeconHubsToTry> <MaxInsertionPercentage> <MinLineHaulDistance> <MaxLineHaulDistance> <MinPercentFull> <MaxPercentFull> <InboundCostFactor> <OutboundCostFactor> <AllowCon HubOnly> <AllowDeconHubOnly> <PctCostIncreaseAllowed> <UseDistanceForConHub> <UseDistanceForDeconHub> <TryUnroutables> <FindReturnTripSavings> <UsePrebuiltLoads> <TryShortestPath> <ConsiderTransferHubs>)

JDA Transportation Modeler Strategies and Parameters Guide 90 © 1995-2015 JDA Software Group, Inc.- Confidential

Strategy functions

Like HubLoop, HubAssignment looks for consolidation and deconsolidation hubs near the origin and destination, respectively. The Optimizer uses the consolidation hub with the expectation that there may be many origins in the same area whose freight it can consolidate into a single outbound truckload from the hub.

You can set parameters that limit on how far a consolidation hub can be from an origin, as well as an absolute maximum on the number of possible consolidation hubs that the Optimizer considers for a shipment. The Optimizer uses the deconsolidation hub with the expectation that there may be many destinations in the same area whose freight it can deconsolidate from a single truckload arriving at the hub. You can set parameters that limit on how far a deconsolidation hub can be from a destination, as well as an absolute maximum on the number of possible deconsolidation hubs that the Optimizer considers for a shipment.

While the HubAssignment determines all eligible hubs (as does HubLoop), the HubAssignment does not iterate through all possible hub assignments. Instead, it checks the eligible hubs until it finds a feasible hub. Additionally, as it is not a loop, you do not run other strategies within it. HubAssignment also does not push plans onto a stack nor merge plans. For more information, see HubLoop (on page 100).

The HubAssignment provides a more efficient, though simpler, method of assigning hubs. The Optimizer assigns hubs based on proximity (distance to and from the hubs) instead of on cost. The HubAssignment builds a candidate list of potential splits through hubs without rating which contributes to its performance. It tries each hub, and rates, routes, and schedules the web to confirm that it can find a valid rate for the hub insertion.

While you cannot run other strategies within HubAssignment, use other hub-related strategies, such as HubMove, DeleteHub, and, DeleteLTLLegs to configure the assignment.

HubAssignment considers only those hubs that are within MaxConHubDistance from the shipment’s origin point as potential consolidation hubs. Similarly, the Optimizer uses the MaxDeconHubDistance from the shipment’s destination to identify valid deconsolidation hubs. the HubAssignment can consider up to MaxConHubsToTry consolidation hubs and MaxDeconHubsToTry deconsolidation hubs. For any hub insertion (either one or two hubs), the percentage increase in the traveled distance cannot exceed MaxInsertionPercentage.

HubAssignment limits the shipments that it considers routing through a hub by the values you set for MinPercentFull and MaxPercentFull. The Optimizer looks at the weight and cube of the shipment, calculates each percentage based on a full truckload and uses the more constraining. If this percentage falls within the range that you set, the shipment is eligible for the Optimizer to route through hubs. Note that unlike HubLoop, HubAssignment does not split any loads built using ConSamePickAndDrop.

Like HubLoop, HubAssignment looks for consolidation and deconsolidation hubs near the origin and destination, respectively. The Optimizer uses the consolidation hub with the expectation that there may be many origins in the same area whose freight it can consolidate into a single outbound truckload from the hub.

You can set parameters that limit on how far a consolidation hub can be from an origin, as well as an absolute maximum on the number of possible consolidation hubs that the Optimizer considers for a shipment. The Optimizer uses the deconsolidation hub with the expectation that there may be many destinations in the same area whose freight it can deconsolidate from a single truckload arriving at the hub. You can set parameters that limit on how far a deconsolidation hub can be from a destination, as well as an absolute maximum on the number of possible deconsolidation hubs that the Optimizer considers for a shipment.

While the HubAssignment determines all eligible hubs (as does HubLoop), HubAssignment does not iterate through all possible hub assignments. Instead, it verifies the eligible hubs until it finds a feasible hub. Additionally, as it is not a loop, you do not run other strategies within it. HubAssignment also does not push plans onto a stack, nor merge plans. For more information, see HubLoop (on page 100).

JDA Transportation Modeler Strategies and Parameters Guide 91 © 1995-2015 JDA Software Group, Inc.- Confidential

Strategy functions

The HubAssignment provides a more efficient though simpler, method of assigning hubs. The Optimizer assigns hubs based on proximity (distance to and from the hubs) instead of on cost. Since HubAssignment is generally not concerned with comparing rates, it typically makes no rating calls, which contributes to its performance. However, the Optimizer does confirm that it can find a valid rate for the hub insertion.

While you cannot run other strategies within HubAssignment, use other hub-related strategies, such as HubMove, DeleteHub, and DeleteLTLLegs configure the assignment.

HubAssignment considers only those hubs that fall within MaxConHubDistance from the shipment’s origin point as potential consolidation hubs. Similarly, it uses MaxDeconHubDistance from the shipment’s destination to identify valid deconsolidation hubs. HubAssignment can consider up to MaxConHubsToTry consolidation hubs and MaxDeconHubsToTry deconsolidation hubs. For any hub insertion (either one or two hubs), the percentage increase in the traveled distance cannot exceed MaxInsertionPercentage.

HubAssignment limits the shipments that it considers routing through a hub by the values that you set for MinPercentFull and MaxPercentFull. The Optimizer looks at the weight and cube of the shipment, calculates each percentage based on a full truckload and uses the more constraining. If this percentage falls within the range you set, the shipment is eligible for the Optimizer to route through hubs.

Note: Unlike HubLoop, HubAssignment does not split any loads built using ConSamePickAndDrop.

You can use AllowConHubOnly and AllowDeconHubOnly to control the combination of consolidation and deconsolidation hubs through which it can route shipments.

Note: HubAssignment neither use deconHub if the destination is a hub, nor conHub, if the origin is a hub. In these cases, use HubInsertion to route through the hub properly.

The combinations are:

Consolidation Hub Deconsolidation Hub

X —

— X

X X

— —

You set these arguments in combination to achieve the desired result:

Allow ConHub

Only

Allow Decon

HubOnly

Routing Limitations Example

F F HubAssignment can assign:

• two hubs (one consolidation, one deconsolidation, with a linehaul between the hubs)

• no hubs

JDA Transportation Modeler Strategies and Parameters Guide 92 © 1995-2015 JDA Software Group, Inc.- Confidential

Strategy functions

Allow ConHub

Only

Allow Decon

HubOnly

Routing Limitations Example

F T HubAssignment can assign:

• a deconsolidation hub (no consolidation hub)

• two hubs (one consolidation, one deconsolidation, with a linehaul between the hubs)

• no hubs

T F HubAssignment can assign:

• a consolidation hub (no deconsolidation hub)

• two hubs (one consolidation, one deconsolidation, with a linehaul between the hubs)

• no hubs

T T HubAssignment can assign any combination of hubs.

You can use the UseDistanceForConHub and UseDistanceForDeconHub arguments to control whether the Optimizer uses the actual distance to and from the hubs (along with the other constraining parameters) when making decisions between hubs. For example, if you UseDistanceForConHub to True, the Optimizer uses the actual inbound distances for hub selection; it tries to route shipments through consolidation hubs based on distance. It selects the hub that is nearest.

If you set the UseDistanceForConHub and UseDistanceForDeconHub values to False, the Optimizer also considers the values you have set for InboundCostFactor and OutboundCostFactor when making decisions between hubs. The Optimizer compares the values in the following equation for the hubs under consideration:

(Inbound Factor * Inbound Distance) + (Outbound Factor * Outbound Distance)

As an example, consider the decision between hubs H1 and H2:

JDA Transportation Modeler Strategies and Parameters Guide 93 © 1995-2015 JDA Software Group, Inc.- Confidential

Strategy functions

When the InboundCostFactor set to 50 and OutboundCostFactor set to 100, the Optimizer evaluates the hubs using:

For Hub1: (50 * A) + (100 * B)

For Hub2: (50 * C) + (100 * D)

In this case, since the OutboundCostFactor is greater than InboundCostFactor, the Optimizer identifies the hub with the lower outbound distance. When you assign the same value to these two arguments, the Optimizer selects the hub that adds the least overall distance.

While HubAssignment does not consider actual cost increases, you can use PctCostIncreaseAllowed to add this constraint. When this argument is set to the default value (ANY), the Optimizer does not consider the magnitude of any cost increase incurred by routing through a hub. If you set this argument to a value other than ANY, the Optimizer compares the cost of inserting a hub assignment to the existing cost for the load. The Optimizer does not assign the hub if the increase incurred exceeds the original cost by more than this percentage.

You can also use FindReturnTripSavings to control how HubAssignment evaluates hubs when using round trip tariffs. If you set this argument to True, the Optimizer considers alternative hubs if savings can be obtained on the return trip. For example, if the Optimizer compares the routes from Origin to Destination through Hub1 or Hub2, it also considers the cost of the truck returning to O.

When FindReturnTripSavings set to True, even if the outbound distance through Hub2 is greater than the outbound distance through Hub1, if there is freight returning from Hub2 to Origin, the Optimizer routes the load through Hub2 rather than Hub1.

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

MaxConHub Distance

Integer

The Optimizer does not consider consolidation hubs farther away than MaxConHubDistance from the origin point. This is the distance from the origin to the hub. If this argument is set to 0, the Optimizer considers no consolidation hubs.

100 0 None True

MaxConHubsToTry

Integer

The Optimizer does not consider more than MaxConHubsToTry consolidation hubs. The Optimizer considers the closest valid hubs, up to MaxConHubsToTry.

3 0 None True

JDA Transportation Modeler Strategies and Parameters Guide 94 © 1995-2015 JDA Software Group, Inc.- Confidential

Strategy functions

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

MaxDeconHubDistance

Integer

The Optimizer does not consider deconsolidation hubs farther away than MaxDeconHubDistance from the destination. This is the distance from the destination to the hub. If this argument is set to 0, the Optimizer uses no deconsolidation hubs.

100 0 None True

MaxDeconHubsToTry

Integer

The maximum number of hubs to which the Optimizer can assign a destination location. The Optimizer considers the closest valid hubs up to MaxDeconHubsToTry.

3 0 None True

MaxInsertion Percentage

Float If the percentage increase in traveled distance is greater than MaxInsertionPercentage, the Optimizer does not consider routing a shipment through a hub. The percentage increase is calculated using the formula (OH + HD - OD)/(OD), where the three points are origin (O) of the shipment, hub (H), and destination (D) of the shipment. In cases involving line haul, the deconsolidation hub is used as the destination of the shipment for calculation purposes.

50 0 100 False

MinLineHaulDist

Integer

Not currently implemented—The minimum distance required between a consolidation hub and a deconsolidation hub.

0 0 None True

MaxLineHaulDist

Integer

Not currently implemented—The maximum distance allowed between a consolidation hub and a deconsolidation hub.

0 0 None True

MinPercentFull

Full For the Optimizer to route a shipment leg through a hub, the load that the shipment is on must be at least this percentage of a truckload full.

0 0 100 False

MaxPercentFull

Full For the Optimizer to route a shipment leg through a hub, the load that the shipment is on must not exceed this percentage of a truckload full.

100 0 100 False

InboundCostFactor

Full If UseDistance is set to False, the Optimizer multiplies InboundCostFactor by the inbound hub distance. It uses this value when making decisions between potential hubs for assignment. The Optimizer uses this value to weigh the importance of the distance inbound to the hub versus the distance outbound from the hub.

100 0 100 False

JDA Transportation Modeler Strategies and Parameters Guide 95 © 1995-2015 JDA Software Group, Inc.- Confidential

Strategy functions

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

OutboundCost Factor

Full If UseDistance is set to False, the Optimizer multiplies OutboundCost Factor by the outbound hub distance. It uses this value when making decisions between potential hubs for assignment. The Optimizer uses this value to weigh the importance of the distance outbound from the hub versus the distance inbounds to the hub.

100 0 100 False

AllowConHubOnly

Boolean

If this argument is set to True, the Optimizer cannot assign a shipment leg to only a Decon hub. It can assign a shipment leg to a Con hub only, to both Con and Decon hubs, or to no hubs.

True 0 None False

AllowDeconHubOnly

Boolean

If this argument is set to True, the Optimizer cannot assign a shipment leg to only a Con hub. It can assign a shipment leg to a Decon hub only, to both Con and Decon hubs, or to no hubs.

True 0 None False

PctCostIncrease Allowed

Float If this argument is set to ANY, the Optimizer does not check the cost increase incurred when assigning hubs. When set to any other value, the Optimizer uses rating calls to confirm that the cost increase does not exceed PctCostIncreaseAllowed.

ANY None None True

UseDistanceForCon Hub

Boolean

If this argument is set to True, the Optimizer selects a consolidation hub assignment based on minimum distance increase only. The Optimizer does not consider the impact of InboundCostFactor.

True 0 None True

UseDistanceFor DeconHub

Boolean

If argument is set to True, the Optimizer selects a deconsolidation hub assignment based on minimum distance increase only. The Optimizer does not consider the impact of OutboundCostFactor.

True 0 None True

TryUnroutables

Integer

• 0: When HubAssignment is run, do not include previously unroutable shipments.

• 1: When HubAssignment is run, include previously unroutable shipments.

• 2: When HubAssignment is run, only evaluate previously unroutable shipments for hub assignment.

0 0 2 No

JDA Transportation Modeler Strategies and Parameters Guide 96 © 1995-2015 JDA Software Group, Inc.- Confidential

Strategy functions

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

FindReturnTrip Savings

Boolean

Use this argument to indicate whether the Optimizer considers alternative hubs in routing if cost savings can be made on the return trip. This argument allows the hub assignment algorithm to build trips while moving and inserting hubs. For example, if a shipment is initially split through a hub, if FindReturnTripSavings is set to True, the Optimizer tries to pair the shipment with a backhaul opportunity. If collective loads making a trip are cheaper than sending the loads separately, then the trip is built.

False 0 None No

UsePrebuiltLoads

Boolean

Use this argument to indicate whether the Optimizer attempts to route shipments through hubs where there is an existing prebuilt load or loads available to ship the freight.

False 0 None No

TryShortestPath

Boolean

Use this argument to indicate whether the Optimizer should use the shortest path for unroutables.

True 0 None No

ConsiderTransferHubs

Boolean

If this argument is set to True, the Optimizer considers transfer hubs for hub routing.

True 0 None No

HubInsertion HubInsertion (<MaxConHubDistance> <MaxConHubsToTry> <MaxDeconHubDistance> <MaxDeconHubsToTry> <MaxInsertionPercentage> <TryInsertBetweenHubs> <PctCostIncreaseAllowed> <UseDistanceForConHub> <UseDistanceForDeconHub> <TryUnroutables> <Try SamePickAndDrop> <FindReturnTripSavings> <ConsiderTransferHubs> <UsePrebuiltLoads> <ConsolidateSameStops>)

HubInsertion looks at shipments routed through two hubs and attempts to insert a third. Additionally, you can use the TryUnroutables argument to have the Optimizer evaluate shipments that are previously unroutable and attempt to route them using three hubs.

You can use HubInsertion by running it after HubAssignment in the strategy file. In conjunction with HubInsertion, you can use the MaxAssignedLegsPerShipment parameter to specify the number of shipment legs that can be assigned for a shipment. For more information on MaxAssignedLegsPerShipment, see Optimizer Parameters File (on page 165).

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

MaxConHub Distance

Integer The Optimizer does not consider consolidation hubs farther away than MaxConHubDistance from the origin. If this argument is set to 0, the Optimizer considers no consolidation hubs.

100 0 None True

JDA Transportation Modeler Strategies and Parameters Guide 97 © 1995-2015 JDA Software Group, Inc.- Confidential

Strategy functions

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

MaxConHubsToTry

Integer The Optimizer does not consider more than MaxConHubsToTry consolidation hubs. The Optimizer considers the closest valid hubs, up to MaxConHubsToTry.

3 0 None True

MaxDeconHubDistance

Integer The Optimizer does not consider deconsolidation hubs farther away than MaxDeconHubDistance from the destination. This is the distance from the destination to the hub. If this argument is set to 0, the Optimizer uses no deconsolidation hubs.

100 0 None True

MaxDeconHubsTo Try

Integer The maximum number of hubs to which the Optimizer can assign a destination location. The Optimizer considers the closest valid hubs up to MaxDeconHubsToTry.

3 0 None True

MaxInsertion Percentage

Float If the percentage increase in traveled distance is greater than MaxInsertionPercentage, the Optimizer does not consider routing a shipment through a hub. The percentage increase is calculated using the formula (OH + HD - OD)/(OD), where the three points are origin (O) of the shipment, hub (H), and destination (D) of the shipment. In cases involving line haul, the deconsolidation hub is used as the destination of the shipment for calculation purposes.

50 0 10000 False

TryInsertBetweenHubs

Boolean

If this argument is set to True, the Optimizer attempts to insert additional hubs between already routed hubs. When set to False, the Optimizer only attempt to insert hubs between the origin and the first hub, or between the last hub and the destination.

False 0 None False

PctCostIncrease Allowed

Float If this argument is set to ANY, the Optimizer does not verify the cost increase incurred when assigning hubs. When set to any other value, the Optimizer uses rating calls to confirm that the cost increase does not exceed PctCostIncreaseAllowed.

ANY None None True

JDA Transportation Modeler Strategies and Parameters Guide 98 © 1995-2015 JDA Software Group, Inc.- Confidential

Strategy functions

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

UseDistanceForCon Hub

Boolean

If this argument is set to True, the Optimizer selects a consolidation hub assignment based on minimum distance increase only. The Optimizer does not consider the impact of InboundCostFactor.

True 0 None False

UseDistanceFor DeconHub

Boolean

If this argument is set to True, the Optimizer selects a deconsolidation hub assignment based on minimum distance increase only. The Optimizer does not consider the impact of OutboundCostFactor.

True 0 None False

TryUnroutables

Integer If this argument is set to True, the Optimizer evaluates previously unroutable loads and attempt to route them using three hubs. If this argument is set to False, the Optimizer does not evaluate unroutables for hub insertion.

True 0 None False

TrySamePickAndDrop

Boolean

If this argument is set to True, after assigning hubs, HubInsertion combines picks and drops for common origin and destination pairs.

False 0 None No

FindReturnTripSavings

Boolean

Use this argument to indicate whether the Optimizer considers alternative hubs in routing if cost savings can be made on the return trip. This argument allows the hub insertion algorithm to build trips while moving and inserting hubs. For example, if a shipment is initially split through a hub, if FindReturnTripSavings is set to True, the Optimizer tries to pair the shipment with a backhaul opportunity. If collective loads making a trip cheaper than sending the loads separately, then the trip is built.

False 0 None No

ConsiderTransferHubs

Boolean

Use this argument to indicate whether HubInsertion considers hubs that are identified as transfer hubs when building loads or trips.

False 0 None No

UsePrebuiltLoads

Boolean

Use this argument to indicate whether the Shipment Consolidation Engine attempts to route shipments through hubs where there is an existing prebuilt load or loads available to ship the freight.

False 0 None No

JDA Transportation Modeler Strategies and Parameters Guide 99 © 1995-2015 JDA Software Group, Inc.- Confidential

Strategy functions

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

ConsolidateSameStops

Integer If this is 1, new loads are consolidated with loads that have same stops. If this is 2, general consolidation is performed.

0 0 2 No

HubLoop HubLoop (<MaxConHubRadius> <MaxNumberOfConHubs> <MaxDeconHubRadius> <MaxNumberOfDeconHubs> <MinLineHaulDistance> <MaxLineHaulDistance> <MaxConHubInsertionPercentage> <MaxDeconHubInsertionPercentage> <IgnoreDirect> <MinPercentFull> <MaxPercentFull> <InboundTLFactor> <OutboundTLFactor> <DockPenalty>)

HubLoop looks for consolidation and deconsolidation hubs near the origin and destination respectively. The Optimizer uses the consolidation hub with the expectation that there may be many origins in the same area whose freight it can consolidate into a single outbound truckload from the hub. You can set parameters that limit on how far a consolidation hub can be from a origin, as well as an absolute maximum on the number of possible consolidation hubs that the Optimizer considers for a shipment. The Optimizer uses the deconsolidation hub with the expectation that there may be many destinations in the same area whose freight it can deconsolidate from a single truckload arriving at the hub. You can set parameters that limit on how far a deconsolidation hub can be from a destination, as well as an absolute maximum on the number of possible deconsolidation hubs that the Optimizer considers for a shipment.

The Optimizer builds a list of all possible hub combinations: hub to hub, no hub to hub, and hub to no hub. The values you assign to the HubLoop arguments determine which hubs the Optimizer considers. It excludes any hubs that do not meet the criteria you establish using the HubLoop arguments.

The loop performs an iteration for each combination of the hubs under consideration. These combinations include hub to hub, hub to no hub, and no hub to hub. For each iteration, the Optimizer selects a hub, and considers all shipments with origins and destinations that meet the conditions set by the arguments. It also considers shipment legs that already have hubs assigned as either their origins or destinations.

Additionally, if you set IgnoreDirect to False, the Optimizer runs a no hub to no hub iteration to provide a direct routing plan alternative to hub routing. If you set IgnoreDirect to True, the Optimizer does not consider direct shipments in the final merge. This setting is useful if you want to force routing through hubs.

Within the loop, you can run any combination of the strategies described earlier in this chapter, such as ConSamePickAndDrop. The additional strategies are run at specific points within the iterations. This process is described in the information that follows.

At the conclusion of each iteration, the Optimizer creates a sub-plan. It places this sub-plan on an internal stack (similar to the action of PushToPlanStack described in Plan Stacks (on page 26)). Within the no hub to no hub iteration, the Optimizer runs the remaining strategies within the HubLoop.

After running the last iteration, the Optimizer uses Merge Con Hub <hub name> for each of the consolidation hubs. This strategy merges the sub-plans that the Optimizer created for a given consolidation hub. At the conclusion of the merge, the Optimizer runs the remaining strategies within the HubLoop and saves the sub-plan.

The Optimizer uses Merge Decon Hub <hub name> for each of the deconsolidation hubs. Similar to Merge Con Hub, this strategy merges the sub-plans for a given deconsolidation hub. Again, at the conclusion of the merge, the Optimizer saves the sub-plan and runs the remaining strategies within the HubLoop and saves the sub-plan.

JDA Transportation Modeler Strategies and Parameters Guide 100 © 1995-2015 JDA Software Group, Inc.- Confidential

Strategy functions

After completing all of the Merge Decon Hub loops, the Optimizer merges and solves the sub-plans.

InboundTLFactor and OutboundTLFactor represent how full you eventually expect the truckload to be inbound to the hub and outbound from the hub. You can use the InboundTLFactor and OutboundTLFactor to prorate the current cost that the Optimizer assigns to a shipment based on this expected percentage. The Optimizer uses the prorated cost to decide whether to use a hub for the shipment. The actual (non-prorated) cost is the cost that the Optimizer assigns to the shipment.

For example, if InboundTLFactor is 80 (indicating 80% full), and the Optimizer rates a shipment coming into the hub at $1000 on a truck that is currently 50% full, the Optimizer considers the rate of this shipment as:

$1000 * (50/80) = $625

or

Current Cost * (Current % Full / Expected % Full)

where the Expected % Full is either the InboundTLFactor or the OutboundTLFactor.

HubLoop can be used in conjunction with the multi-threading option. If you enable multi-threading, the Optimizer can utilize multiple processors to improve performance. Sub-processes within the HubLoop will be directed to the available processors. For more information on how to set up and enable multi-threading, see the Transportation Modeler User Guide.

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

MaxConHubRadius Float The Optimizer does not consider consolidation hubs farther away than MaxConHubRadius from the origin point. This is the distance from the origin to the hub. If this argument is set to 0, the Optimizer considers no consolidation hubs.

100 0 None True

MaxNumberOfConHubs

Integer The Optimizer does not consider more than MaxNumberOfConHubs consolidation hubs. In the event that there are more than MaxNumberOfConHubs with valid lanes within the MaxConHubRadius specified, it uses the closest hubs.

3 0 None True

MaxDeconHubRadius

Float The Optimizer does not consider deconsolidation hubs farther away than MaxDeconHubRadius from the destination. This is the distance from the destination to the hub. If this argument is set to 0, the Optimizer uses no deconsolidation hubs.

100 0 None True

JDA Transportation Modeler Strategies and Parameters Guide 101 © 1995-2015 JDA Software Group, Inc.- Confidential

Strategy functions

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

MaxNumberOfDeconHubs

Integer The maximum number of hubs to which the Optimizer can assign a destination location. In the event that there are more than MaxNumberOfDecon Hubs with valid lanes within the MaxDeconHubRadius specified, it uses the closest hubs.

3 0 None True

MinLineHaulDist Float The minimum distance required between a consolidation hub and a deconsolidation hub.

0 0 None False

MaxLineHaulDist Float The maximum distance allowed between a consolidation hub and a deconsolidation hub. If the two hubs are more than MaxLineHaulDist apart, the Optimizer does not consider them together.

Any 0 None True

MaxConHub InsertionPercentage

Float If the percentage increase in traveled distance is greater than MaxConHubInsertion Percentage, the Optimizer does not consider routing a shipment through a consolidation hub. The percentage increase is calculated using the formula (OH + HD - OD)/(OD), where the three points are origin (O) of the shipment, consolidation hub (H), and destination (D) of the shipment. In cases involving line haul, the deconsolidation hub is used as the destination of the shipment for calculation purposes.

Any 0 None True

MaxDeconHub InsertionPercentage

Float If the percentage increase in traveled distance is greater than MaxDeconHubInsertion Percentage, the Optimizer does not consider routing a shipment through a deconsolidation hub. The percentage increase is calculated using the formula (OH + HD - OD)/(OD), where the three points are origin (O) of the shipment, deconsolidation hub (H), and destination (D) of the shipment. In cases involving line haul, the consolidation hub is used as the destination of the shipment for calculation purposes.

Any 0 None True

JDA Transportation Modeler Strategies and Parameters Guide 102 © 1995-2015 JDA Software Group, Inc.- Confidential

Strategy functions

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

IgnoreDirect Boolean

If this argument is set to True, the Optimizer does not run the No Hub to No Hub iteration and it does not consider direct shipments in the final merge.

False None False

MinPercentFull Full For the Optimizer to route a shipment leg through a hub, the load that the shipment is on must be at least this percentage of a truckload full.

0 0 None True

MaxPercentFull Full For the Optimizer to route a shipment leg through a hub, the load that the shipment is on must not exceed this percentage of a truckload full.

100 0 None True

InboundTLFactor Full InboundTLFactor represents how full you eventually expect the truckload to be inbound to the hub. You can use the InboundTLFactor to prorate the current cost assigned to a shipment based on this expected percentage. A value of "0" indicates that this constraint is off.

0 0 100 False

OutboundTLFactor Full OutboundTLFactor represents how full you eventually expect the truckload to be outbound from the hub. You can use the OutboundTLFactor to prorate the current cost assigned to a shipment based on this expected percentage. A value of "0" indicates that this constraint is off.

0 0 100 False

DockPenalty Double If this value is more than 0, a dock penalty is applied for each estimated dock violation. Dock violation is not estimated for a stop that requires multiple docks.

0 0 None False

JDA Transportation Modeler Strategies and Parameters Guide 103 © 1995-2015 JDA Software Group, Inc.- Confidential

Strategy functions

HubLoop Example (consolidation and deconsolidation):

HubLoop Example (consolidation near origin):

JDA Transportation Modeler Strategies and Parameters Guide 104 © 1995-2015 JDA Software Group, Inc.- Confidential

Strategy functions

HubLoop Example (deconsolidation near destination):

HubMove HubMove (<MaxHubDistance> <MinEstimatedSavings> <MaxHubsToTry> <MaxLoadsToMove> <UseInboundCost> <UseOutboundCost> <ConsolidateInboundLoads> <ConsolidateOutboundLoads> <ConsiderTransferHubs> <FindReturnTripSavings> <DeleteHub> <BatchMove> <OriginRadius> <DestinationRadius> <HubPairMove>)

HubMove tries to re-route a load to a different hub that fall within the MaxHubDistance of the current hub. The load must also adhere to the values of the other arguments.

The HubMove has two purposes:

• It improves hub selections by re-routing loads to cheaper hubs, or hubs with better consolidations

• In the case that some hub constraints are violated, HubMove attempts to reduce violations to great extent.

In many cases, you can include the OptTLLoads strategy after HubMove in your strategy file. While HubMove can redirect shipments to an alternate hub, OptTLLoads attempts to build better loads based on the re-routing.

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

MaxHubDistance Double The Optimizer considers an alternate hub to the current hub if the alternate hub is within MaxHubDistance from the current hub.

Any 0 None True

MinEstimated Savings

Double The Optimizer considers an alternate hub to the current hub if use of the alternate hub recognizes at least MinEstimatedSavings value to the cost. A negative value (increased cost) can be used.

0 None None False

JDA Transportation Modeler Strategies and Parameters Guide 105 © 1995-2015 JDA Software Group, Inc.- Confidential

Strategy functions

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

MaxHubsToTry Integer This value is the maximum number of alternate hubs that the Optimizer attempts to use.

Any 0 None True

MaxLoadsToMove Integer The Optimizer does not consider moving more loads than MaxLoadsToMove.

Any 1 None True

UseInboundCost Boolean

If you set this value to True, the Optimizer considers the inbound cost (cost into the hub) when moving a shipment. If both UseInboundCost and UseOutboundCost are True, or if both are False, the Optimizer looks for the overall savings on the load for the move.

True 0 None False

UseOutboundCost

Boolean

If you set this value to True, the Optimizer considers the outbound cost (cost out of the hub) when moving a shipment. If both UseInboundCost and UseOutboundCost are True, or if both are False, the Optimizer looks for the overall savings on the load for the move.

True 0 None False

ConsolidateInboundLoads

Boolean

If this argument is set to True, loads delivered to alternate hubs are consolidated using a Con strategy.

True 0 None False

ConsolidateOutboundLoads

Boolean

If this argument is set True, loads picked up at alternate hubs are consolidated using a Con strategy.

True 0 None False

ConsiderTransferHubs

Boolean

Use this argument to indicate whether HubMove considers hubs that are identified as transfer hubs when building loads or trips. If set to False, this argument disables the use of transfer hubs in HubMove.

False 0 None No

FindReturnTripSavings

Boolean

Use this argument to indicate whether the Optimizer considers alternative hubs in routing if cost savings can be made on the return trip. This argument allows the algorithm to build trips while moving and inserting hubs. For example, if a shipment is initially split through a hub, and if you set FindReturnTripSavings to True, the Optimizer tries to pair the shipment with a backhaul opportunity. If collective loads make a trip cheaper than sending the loads separately, then the trip is built.

False 0 None False

JDA Transportation Modeler Strategies and Parameters Guide 106 © 1995-2015 JDA Software Group, Inc.- Confidential

Strategy functions

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

Delete Hub Boolean

If true, allows hubs to be deleted from shipment journeys.

True 0 None False

Batch Move Boolean

If true, moves all loads of same origin and destination with no stops in transit from one hub to another and consolidates to achieve savings.

False 0 None False

OriginRadius Float Origin Radius for OptTLLoads after hub move. The default of -2 turns off OptTLLoads.

-2 -2 None True

DestinationRadius

Float Destination Radius for OptTLLoads after hub move. The default of -2 turns off OptTLLoads.

-2 -2 None True

HubPairMove Boolean

If this function is set to true, two hubs are moved at a time, and consolidated to achieve savings.

False N/A N/A False

InitLoads InitLoads (<DestroyFreeLoads/Trips> <RetainJourneys> <Invalidate Locked Route>)

InitLoads is automatically run at the start of every strategy file. Its purpose at that stage is to assign a carrier, tariff and service to each unassigned shipment leg. Once routed, rated and scheduled, these shipment legs are technically "loads" but there is no attempt here to combine them into optimal loads. The state of the plan after the initial InitLoads is run can be treated as the initial "baseline" set of loads.

Note: You cannot edit or remove the InitLoads function that automatically runs at the start of any shipment consolidation run. This first InitLoads function has the RetainJourneys argument set to False, whereas the InitLoads function that you can use has RetainJourneys set to True by default.

You can also run the InitLoads later in your strategy file to break apart any existing loads and trips in Free status, so that the next algorithm acts on uncombined shipment legs. In other words, if you run the InitLoads (with RetainJourneys is set to False), the starting point for the next algorithm is the ending point of the previous optimization. You can use the RetainJourneys argument to specify whether, when the InitLoads breaks up all loads and trips in Free status, the hub assignments for shipments that are dynamically split through hubs, are also broken up, or retained.

If you set RetainJourneys to True, you are specifying that any hub assignments from optimization are kept and any shipment journeys that are routed through hubs are retained. For example, in the situation shown in the diagram, J1 is retained, and the direct load from Origin to Destination is retained. However, the consolidated load traveling outbound from the hub to the Destination is not kept; the individual shipments are broken apart, but the hub assignment is kept, and the shipment journeys from the hub (H) to the destination (D) are kept.

JDA Transportation Modeler Strategies and Parameters Guide 107 © 1995-2015 JDA Software Group, Inc.- Confidential

Strategy functions

The RetainJourneys option allows you to save hub assignment results independently of running other hub algorithms. For example, if you run the following strategies in this order in your strategy file:

• HubAssignment

• ConSamePickAndDrop

• HubMove

• InitLoads

• HubAssignment

Then the InitLoads (with RetainJourneys=True) enables you to run a second HubAssignment and compare the results.

Note: When you run the InitLoads with RetainJourneys set to True, unroutable shipments can result. For example, in the preceding diagram, when the journey for the consolidated load is broken up, an individual shipment leg from the hub (H) to the destination (D) might be no longer have a valid lane (for example, if it no longer meets the minimum weight restriction for the lane).

You can use the InitLoads for multi-threading option.. When you enable the multi-threading option, the Optimizer can take advantage of all the processors on your computer to improve performance. It can redirect various sub-processes within the InitLoads to the available processors. For more information, see JDA Transportation Modeler User Guide.

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

DestroyFreeLoads/Trips

Boolean Use this argument to specify whether or not loads in the current plan should be preserved. If you set this argument to False, the loads and trips in the current plan are preserved.

True 0 None No

RetainJourneys Boolean Use this argument to specify whether shipments dynamically routed through hubs are retained when you run InitLoads. If RetainJourneys is False, all Free loads and trips are broken apart for the next algorithm. If RetainJourneys is True, all Free loads and trips, but NOT shipments routed through hubs, are broken apart.

True 0 None No

InvalidateLockedRoute

Boolean If True, current locked routes for existing loads are invalidated.

True 0 None No

MakeHeadLoads MakeHeadLoads ()

This strategy provides the Optimizer with the heuristics to evaluate and build headloads as part of the load building process. Head load optimization can provide savings in handling costs incurred at cross docks or hubs, by specifying that particular shipments, or head loads, remain on the trailer and are not unloaded and reloaded at cross docks or hubs. If you are using the MakeHeadLoads strategy function and a load in the optimization results is a head load, the string HeadLoad YES is displayed on the load header in the optimization log (OptLog.txt).

For details about using Head Load functionality, see Transportation Modeler User Guide.

JDA Transportation Modeler Strategies and Parameters Guide 108 © 1995-2015 JDA Software Group, Inc.- Confidential

Strategy functions

MakeJourney MakeJourney (<ShipmentID> <Hub>...)

MakeJourney enables you to split a shipment through one or more hubs. You can provide the shipment ID and one or more hub IDs. For example:

MakeJourney ("0056789" "XDIL" "XDMI")

Splits shipment 0056789 through two hubs, XDIL and XDMI. Even if a shipment is pre-split through a hub, you must include this hub in the MakeJourney function. When shipment 0056789 is pre-split through hub XDIL and hub XDMI is inserted after the pre-split. If you do not include the hub for the pre-split, it is not clear whether XDMI should be inserted before or after XDIL.

Once you have used the MakeJourney function, you can use MakeLoad or MakeTrip to create loads and trips.

Note: This strategy is included primarily as a debugging tool. It can be used to create a specific plan to evaluate solver behavior.

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

ShipmentID Text The shipment ID for the shipment you want to split through one or more hubs.

Null N/A N/A False

Hub Text You can specify one or more hub values through which the shipment is split. You must enclose the hub values in quotes. If the shipment is pre-split through a hub, you must include this hub in the list of hubs in the strategy.

Null N/A N/A False

MakeLoad MakeLoad (<ShipmentID> ...) Or, MakeLoad (<ShipmentID,JourneyNumber> ...)

You can use this strategy to make a load using shipment IDs as identifiers. If the shipments are unroutable, you must use the MakeJourney strategy to route them first.

Note: This strategy is included primarily as a debugging tool. It can be used to create a specific plan to evaluate solver behavior.

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

ShipmentID [,JourneyNumber]

Text The shipment IDs for the shipments you want to add on the load. If the shipment is unroutable, you must also specify the JourneyNumber (as created with the MakeJourney strategy). Separate the shipment ID from the journey number with a comma. You must enclose the shipment IDs in quotes.

Null N/A N/A False

JDA Transportation Modeler Strategies and Parameters Guide 109 © 1995-2015 JDA Software Group, Inc.- Confidential

Strategy functions

MakeTrip MakeTrip (<ShipmentID> …) Or, MakeTrip (<ShipmentID,JourneyNumber> …) You can use this strategy to make a trip using shipment IDs as identifiers. You can include only one shipment ID from a load if several shipments are on the same load. If the shipments are unroutable, you must use the MakeJourney strategy to route them first.

Note: This strategy is included primarily as a debugging tool. It can be used to create a specific plan to evaluate solver behavior.

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

ShipmentID [,JourneyNumber]

Text The shipment IDs for the shipments you want to add on the trip. If multiple shipments are already on a load, you must specify only one of the load’s shipments. If the shipment is unroutable, you must specify the JourneyNumber (as created with the MakeJourney strategy). Separate the shipment ID from the journey number with a comma. You must enclose the shipment IDs in quotes.

Null N/A N/A False

MergeSolve MergeSolve (<PlanVar1> <PlanVar2> ... <PlanVarn>)

This strategy merges the plans listed by the arguments into a single combined plan. You can assign a name to the individual plan using the SetPlan function (see Plan Comparison functions (on page 17)).

The Optimizer determines the best loads from each of the plans that meet all shipments in the plan.

MinimizePartials MinimizePartials (<MinLoadEfficiency>)

This strategy builds loads that meet a minimum load efficiency based on shipment windows, origin and destination, inventory, resource considerations and, optionally, connection information. Shipments are identified which have compatible dates and lanes. Those shipments are ranked based on latest start time, slack, load efficiency, and shipment and item rank, if provided. The highest ranked shipments are consolidated and the ranking is recalculated. The process iterates attempting to build loads whose percent full is greater than the MinLoadEfficiency.

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

Min Load Efficiency

Float The target load efficiency. Only loads with a percent full greater than this value will be built.

95 0 100 False

JDA Transportation Modeler Strategies and Parameters Guide 110 © 1995-2015 JDA Software Group, Inc.- Confidential

Strategy functions

MoveFutureShipments MoveFutureShipments (<OriginRadius> <DestinationRadius> <MaxInsertionPercentage> <MinPercentFull> <MaxPercent Full> <MaxDateSpanAllowed> <BreakCriticalLoadsAllowed> <MinPctPerFutureStop> <TryAllJourneys> <TryDeleteHubs> <AllowNewStops> <MaxCostIncreaseAllowed> <UsePrebuiltLoads>)

MoveFutureShipments enables the Optimizer to add non-critical shipments to critical loads. This function also enables the Optimizer to split inefficient critical loads.

The Optimizer considers adding shipments if the origin falls within OriginRadius of the critical load origin and if the last stop is within DestinationRadius of a stop on the existing critical load. The insertion must also adhere to the MaxInsertionPercentage value.

The Optimizer calculates the due date span for the load. It does not add any shipments that exceed MaxDateSpanAllowed. For more information, see EnforceDueDateSpanConstraint (on page 19).

You can use the MinPctPerFutureStop argument to enable the Optimizer to add the largest shipment (by weight) per stop. The Optimizer considers the MaxStopsInTransit and MaxWeight parameters from the OptParameters file. For more information, see Optimizer parameters file (on page 165).

For example, MaxStopsInTransit is set to 3 and MaxWeight is set to 45,000. The critical load under consideration has 30,000 lbs is assigned to it and 2 stops have already been used (one remaining stop in transit available). With a MinPctPerFutureStop set to 50, a shipment requiring an additional stop in transit must weigh at least 7,500 (50% of the remaining 15,000 lbs capacity available) if the Optimizer is to add it to the critical load.

You can use the TryAllJourneys argument to control whether the Optimizer should consider all journeys (shipment legs) to add to the critical load, or just the first journey. When you set this argument to False, the Optimizer considers only first journey.

The Optimizer uses the MinPercentFull, MaxPercentFull, and BreakCriticalLoadsAllowed arguments to determine when to add shipments to critical loads or split them. For example, assume you have set the arguments:

• MinPercentFull = 50

• MaxPercentFull = 90

BreakCriticalLoads Current Percent Full (of critical load)

Pull Freight Off Load Add Freight to Load

True 0 < 50 Yes No

50 < 90 No Yes

> 90 No No

False 0 < 50 No No

50 < 90 No Yes

> 90 No No

You can use MoveFutureShipments in conjunction with the EnforceCriticalLoadConstraint (on page 18) function. Enable EnforceCriticalLoadConstraint (on page 18), run consolidation functions. After the consolidations, you can include move and swap strategies. Once these strategies are complete, you can iterate using the MoveFutureShipments, starting with argument values that define constrained requirements. For example, the first pass may have the OriginRadius and DestinationRadius values set to 0 to ensure that the Optimizer considers shipments that do not add new stops to the load. As the Optimizer iterates the strategy, you can increase these values to consider more shipments to add to

JDA Transportation Modeler Strategies and Parameters Guide 111 © 1995-2015 JDA Software Group, Inc.- Confidential

Strategy functions

the critical loads. Once you have finished building the critical loads, you can disable the EnforceCriticalLoadConstraint and run additional consolidation strategies to build the non-critical loads.

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

OriginRadius Float The maximum distance allowed between the first stops on the critical load and a shipment leg under consideration for insertion.

0 0 None False

Destination Radius

Float The maximum distance allowed between the drops on the critical load and the destination for the shipment leg under consideration for insertion.

0 0 None False

MaxInsertionPercentage

x y

z inserted destinatio

existing destination 'x' exist

(xz+yz)(xy)

must be less thanmaxInsertionRatio

Float The Optimizer does not consider inserting stop z between stops x and y if the percentage increase in the leg distance ((xz+yz)-xy)/xy is greater than MaxInsertionPercentage.

50 0 1000 False

MinPercentFull Float Minimum percentage full of a truckload by weight. The Optimizer defines full by the more constraining of Max Weight or Max Cube in OptParameters.

50 0 100 False

MaxPercentFull Float Maximum percentage full of a truckload by weight. The Optimizer defines full by the more constraining of Max Weight or Max Cube in OptParameters.

100 0 100 False

MaxDateSpan Allowed

Integer

The Optimizer does not consider adding a shipment that increases the load’s date span beyond MaxDateSpanAllowed.

2 0 None False

BreakCriticalLoads Allowed

Boolean

If this argument is set to False, the Optimizer does not pull shipments off any critical loads, even if they are less than MinPercentFull.

False 0 None False

JDA Transportation Modeler Strategies and Parameters Guide 112 © 1995-2015 JDA Software Group, Inc.- Confidential

Strategy functions

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

MinPctPerFuture Stop

Float If the Optimizer is to add a stop when inserting a load onto a critical load, that load must have a weight of at least MinPctPerFutureStop percentage of the remaining available weight on the load. The Optimizer considers the MaxWeight and MaxStopsInTransit parameters as constraints on the load.

50 0 100 False

TryAllJourneys Boolean

If this argument is set to False, the Optimizer considers only the first journey leg of a load to insert onto a critical load. If this function is set to True, the Optimizer considers all journey legs on the load.

False 0 None False

TryDeleteHubs Boolean

If this argument is set to True, the Optimizer deletes a hub assignment if necessary to move a shipment based on its shipment leg.

False 0 None No

AllowNewStops Boolean

If this argument is set to False, the Optimizer does not make any moves that results in new stops being created.

True 0 None No

MaxCostIncreaseAllowed

Float Use this argument to specify a cost limit. The Optimizer does not consider inserting a shipment if this move results in a cost increase greater than the specified value.

100 None None Yes

UsePrebuiltLoads Boolean

If this argument is set to True, the Shipment Consolidation Engine moves shipments only to prebuilt loads.

False 0 None No

JDA Transportation Modeler Strategies and Parameters Guide 113 © 1995-2015 JDA Software Group, Inc.- Confidential

Strategy functions

OptCapacityPlanning OptCapacityPlanning (<ReduceWaitTime> <FavorSelectedRoute> <NumberOfIterations> <MinimizeNumberOfVehicles> <ReturnToDomiciles> <PercentIncreaseAllowed> <MinimizeTransitTime> <TryOptResource>)

OptCapacityPlanning is a TryDockScheduling (on page 142) strategy with the SchedulingVehiclesOnly and RespectDOT flags set to True. When SchedulingVehiclesOnly is set to True, the Optimizer does not consider dock capacities. When RespectDOT is set to True, the Optimizer must respect the DOT rules for scheduling vehicles.

Note: You must run TryDockScheduling at the end of the strategy file to ensure capacity planning compliance.

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

ReduceWaitTime

Integer Use this argument to increase the flexibility that the Optimizer has in the scheduling options that it can consider. If 0, the Optimizer does not try to reduce the wait time when scheduling loads. If 1, the Optimizer tries to reduce the wait time of loads by advancing the start time. If 2, the Optimizer tries to reduce the wait time and hub cross time across all legs.

1 0 2 False

FavorSelectedRoute

Integer Use this argument to specify if the selected route must be favored over other routes. If 1, the assigned route for each load is used first, and other routes are tried only if it is not feasible (for scheduling reasons and so on) to use the assigned route. If 2, the optimizer must use only the selected route. If 0, no existing constraints are considered. If you have already found an optimal plan based on carrier constraints, then do not set FavorSelectedRoute to 0; the Optimizer only focuses on dock selection from a timing and scheduling point of view, and does not consider CarrierEquipmentAvailability constraints.

0 0 2 No

NumberOfIterations

Integer The number of iterations that are made to reduce the number of unschedulable loads or trips.

10 0 1000 False

MinimizeNumberOfVehicles

Boolean

If this argument is set to True, the Optimizer reduces the number of vehicles used based on penalties.

False 0 None False

ReturnToDomiciles

Boolean

If this argument is set to True, the Optimizer specifies that every vehicle must return to its domicile after each usage.

True 0 None False

JDA Transportation Modeler Strategies and Parameters Guide 114 © 1995-2015 JDA Software Group, Inc.- Confidential

Strategy functions

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

PercentIncreaseAllowed

Float Use this argument to specify the maximum cost increase allowed when switching from a selected route to a different route.

50 0 None True

MinimizeTransitTime

Boolean

If this argument is set to True, the Optimizer minimizes transit time to determine the earliest start of each load or trip

True 0 None False

TryOptResource

Integer If 1, the Optimizer runs OptResourceConstraints to improve resource assignment; if 2, it only runs resource moves, not resource swaps.

0 0 None False

OptCriticalLoads OptCriticalLoads (<OriginRadius> <DestinationRadius> <MaxInsertionPercentage> <MinPercentFullRequired> <MinPercentFullAfterOperation> <MinDistanceImprovement> <MaxLegsToMove> <UnitCostSavingsRequired> <AllowRemoveFutureShipments> <MaxNeighborhoodDistance> <DeleteHubs>)

OptCriticalLoads repeatedly and systematically cycles through all pairs of critical loads, changing the plan when a move or swap will reduce the total distance of the plan. After it finishes cycling through all pairs of loads, it ensures that it has reduced the cost of the plan. OptCriticalLoads attempts to either delete a sequence of consecutive stops from a critical load itinerary and reinsert them at some point in another load or swap sequences of stops between pairs of loads. In either case, the Optimizer may or may not reverse the direction of stops.

Once it has moved stops between critical loads, the Optimizer looks for opportunities to add future (non-critical) shipments to the critical loads in order to increase the percentage full of the loads.

The OptCriticalLoads considers those loads that are at least MinPercentFullRequired. The resulting loads must be at least MinPercentFullAfterOperation.

If you set UnitCostSavingsRequired to True, the Optimizer calculates a cost savings based on the percentage full per distance unit. For example, the Optimizer is considering the following two loads:

P

DP

D D

D

D

Load 1

Load 2

100%50

Miles

50%

100Miles

40%50

Miles

100%

60Miles

30%

135Miles

It calculates the cost per distance unit:

Load Percentage Full Distance Total OriginalLoad1 100 50 5000

JDA Transportation Modeler Strategies and Parameters Guide 115 © 1995-2015 JDA Software Group, Inc.- Confidential

Strategy functions

Load Percentage Full Distance Total OriginalLoad1 50 100 5000

OriginalLoad1 40 50 2000

Average % Full = Total (Distance * %)/Total (Distance) = 12000/200 = 60

OriginalLoad2 100 60 6000

OriginalLoad2 30 135 4050

Average % Full = Total (Distance * %)/Total (Distance) = 10050/195 = 51

The Optimizer adds the average percentages, in this case 60 + 51, and divides the cost of the original loads by this factor. It performs the same calculation on the new loads, then compares the results to verify which configuration is more cost effective.

It then compares the calculated value of the new loads with the original loads to determine whether to create the new loads. If you set this value to False, the Optimizer considers cost savings on a plan basis when evaluating the new loads.

Three of the arguments for OptCriticalLoads help you control how the Optimizer tries to backfill the new loads with future shipments. When the Optimizer is moving and swapping shipments between loads, and if you set AllowRemoveFutureShipments to True, the Optimizer can remove future shipments to try to add more critical freight to the loads. You control the radius around each stop in which the Optimizer can search for future shipments using the MaxNeighborhoodDistance value.

Note: The Optimizer can create new stops, as long as these stops are within the neighborhood distance.

If you set DeleteHubs to True, the Optimizer tries to add future shipments to the loads even if those shipments have been routed through hubs to delete their hub assignment.

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

OriginRadius Float The maximum distance allowed between the first stops on two loads that are candidates for moving.

0 0 None True

DestinationRadius Float The maximum distance allowed between the last stops on two loads that are candidates for moving.

0 0 None True

MaxInsertionPercentage

x y

z inserted destinati

existing destination 'x' exis

(xz+yz)(xy)

must be less thanmaxInsertionRatio

Float The Optimizer does not consider inserting stop z between stops x and y if the percentage increase in the leg distance ((xz+yz)-xy)/xy is greater than MaxInsertionPercentage.

50 5 None True

JDA Transportation Modeler Strategies and Parameters Guide 116 © 1995-2015 JDA Software Group, Inc.- Confidential

Strategy functions

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

MinPercentFullRequired

Float The minimum percentage full of a truckload by weight or cube (whichever value is more constraining). A value of 85 indicates 85% full. The Optimizer defines full by Max Weight and Max Cube in OptParameters.

50 0 100 False

MinPercentFullAfterOperation

Float The new loads that the Optimizer creates when moving and swapping shipment legs must be at least MinPercentFullAfterOperation.

80 0 100 False

MinDistanceImprovement

Integer The minimum improvement to the total distance for both loads involved in a move. A negative value (increased distance) can be used.

0 None None False

MaxLegstoMove Integer The Optimizer does not consider moving sequences of more than MaxLegstoMove number of legs.

3 1 None True

UnitCostSavings Required

Boolean

If this argument is set to True, the Optimizer calculates an average percent full for the original and new loads and uses this to determine the cost savings of moves and swaps. If this argument is set to False, the Optimizer considers cost savings at the plan level.

True 0 None False

AllowRemove FutureShipments

Boolean

If this argument is set to True, the Optimizer can remove future shipments from loads to fit more on the loads.

False 0 None False

JDA Transportation Modeler Strategies and Parameters Guide 117 © 1995-2015 JDA Software Group, Inc.- Confidential

Strategy functions

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

MaxNeighborhoodDistance

Float When searching for future shipments as candidates to Backfill critical loads, the Optimizer verifies within MaxNeighborhoodDistance radius of the stops on the critical loads.

0 0 None False

DeleteHubs Boolean

If this argument is set to True, the Optimizer can add future shipments to critical loads even if they have been routed through hubs (effectively deleting the hub assignment).

True 0 None False

OptDekitting OptDekitting (<Commodity> ...)

OptDekitting specifies the salvage commodity codes of the shipment legs that you want the Optimizer to consider moving to improve the results. With this strategy, the Optimizer tries to dekit salvage shipments as close to the home domicile as possible (or the next stop if it is not the last stop of a load or trip). If you specify no commodity ID values, the strategy has no effect.

You must enclose the commodity ID values in quotes.

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

Commodity Text The commodity ID for the salvage commodity codes of the shipment legs that you want the Optimizer to consider moving to improve the results. You can specify one or more commodity ID values and you must enclose them in quotes.

Null N/A N/A False

OptFutureShipmentSelection OptFutureShipmentSelection (<DestinationRadius> <MaxInsertionPercentage> <NumberOfSlackDaysFavored> <MinPercentFullAfterOperation> <AllowNewStops>)

OptFutureShipmentSelection reoptimizes the future shipments that the Optimizer used to backfill critical loads. When you use critical load strategies such as OptCriticalLoads, the Optimizer tries to fill loads with (future) non-critical shipments. OptFutureShipmentSelection enables you to prioritize the future shipments that the Optimizer considers based on the number of slack days. The slack time is calculated as:

Slack Time = Latest Delivery Date – Earliest Scheduled Time – Transit Time

JDA Transportation Modeler Strategies and Parameters Guide 118 © 1995-2015 JDA Software Group, Inc.- Confidential

Strategy functions

You specify NumberOfSlackDaysFavored to set this prioritization. If you set this argument to 2, the Optimizer tries to use future shipments with a slack time of two days or less, in order by slack time. Once it verifies all these future shipments, it can consider shipments with slack times greater than this threshold to completely fill the loads. However, those shipments with slack time greater than this threshold are not considered in any particular order based on slack time.

The resulting loads must be at least MinPercentFullAfterOperation.

You can also control whether the Optimizer can add new stops to include future shipments. Set AllowNewStops to False to prevent the Optimizer from adding new stops.

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

DestinationRadius Float The maximum distance allowed between the last stops on two loads that are candidates for moving.

0 0 None True

MaxInsertionPercentage

x y

z inserted destinati

existing destination 'x' exis

(xz+yz)(xy)

must be less thanmaxInsertionRatio

Float The Optimizer does not consider inserting stop z between stops x and y if the percentage increase in the leg distance ((xz+yz)-xy)/xy is greater than MaxInsertionPercentage.

50 5 None True

NumberOfSlack DaysFavored

Integer

This value sets the priority for selection of future shipments. The Optimizer considers adding shipments with slack time less than the NumberOfSlackDaysFavored.

1 0 100 False

MinPercentFullAfterOperation

Float The new loads that the Optimizer creates when moving and swapping shipment legs must be at least MinPercentFullAfterOperation.

50 0 100 False

AllowNewStops Boolean

If this argument is set to True, the Optimizer can add new stops to the load when including future shipments.

True 0 None False

OptMove OptMove (<OriginRadius> <DestinationRadius> <MaxLegstoMove> <MinDistanceImprovement> <MaxClosestLegDistancePercent> <MaxConsecutiveFailure><ConsolidateLikeEquipmentSets> <ConsolidateInbound> <ConsolidateLinehaul> <ConsolidateOutbound>)

JDA Transportation Modeler Strategies and Parameters Guide 119 © 1995-2015 JDA Software Group, Inc.- Confidential

Strategy functions

The OptMove repeatedly and systematically cycles through all pairs of loads, changing the plan when a move will reduce the total distance of the plan. After it finishes cycling through all pairs of loads, it ensures that it has reduced the cost of the plan. It attempts to delete a sequence of consecutive stops from a load itinerary and re-insert them at some point in another load; the direction of stops may or may not be reversed.

The Optimizer calculates the sum of the distances between the origins and destinations of each pair of shipment legs when selecting load pairs for OptMove. It divides the minimum of these distances (closest shipment leg pair) by the highest outbound distance (of the loads under consideration). This percentage must be less than the value of MaxClosestLegDistancePercent for the Optimizer to select the load pair. In the following illustration, the Optimizer considers Shipment Leg 1 (from origin O1 to destination D1) and Shipment Leg 2 (from origin O3 to destination D3). It calculates the percentage to compare as:

= = = .5

It multiplies this value by 100. MaxClosestLegDistancePercent is 50% in this example.

D2

O1

D1

O2

D4

D5

D3

O3A

100 mi.

B80 mi.

Shipment Leg 1 =Origin1 to Dest1 Shipment Leg 2 =

Origin3 to Dest3

Load 1 OutboundDistance = 320 mi.(O1 to D2)

Load 2 OutboundDistance = 360 mi.(O3 to D5)

The Optimizer updates loads only if the loads lead to a distance reduction in the overall plan.

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

OriginRadius Integer The maximum distance allowed between the first stops on two loads that are candidates for moving.

0 0 None True

DestinationRadius

Integer The maximum distance allowed between the last stops on two loads that are candidates for moving.

0 0 None True

MaxLegstoMove

Integer The Optimizer does not consider moving sequences of more than MaxLegstoMove number of legs.

3 1 None True

JDA Transportation Modeler Strategies and Parameters Guide 120 © 1995-2015 JDA Software Group, Inc.- Confidential

Strategy functions

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

MinDistanceImprovement

Integer The minimum improvement to the total distance for both loads involved in a move. A negative value (increased distance) can be used.

0 None None False

MaxClosestLegDistancePercent

Float The Optimizer calculates the sum of the distances between the origins and destinations of each pair of shipment legs when selecting load pairs for OptMove. It divides the minimum of these distances (closest shipment leg pair) by the highest outbound distance (of the loads under consideration).

100 0 None True

MaxConsecutiveFailure

Integer A stopping condition for the algorithm. MaxConsecutiveFailure indicates the number of consecutive failed moves can be tries before quitting.

1000 0 None True

ConsolidateLikeEquipmentSets

Integer Whether to choose pairs of loads based upon equipment type information. If 1, only consider pairs that have the same allowed equipments. If 2, only consider pairs that have the same selected equipment. Default is 0 which does not consider equipment type information in pair selection.

0 0 2 False

Consolidate Inbound

Boolean If True, loads delivering to hubs will be consolidated.

True 0 None False

Consolidate Linehaul

Boolean If True, loads traveling between hubs will be consolidated.

True 0 None False

Consolidate Outbound

Boolean If True, loads picking up at hubs will be consolidated.

True 0 None False

OptResourceConstraints OptResourceConstraints (<MaxRoutesPerLoad> <TryResourceSwap> <GenerateColumns> <UnrouteShipments>< Respect Vehicle Penalty><PercentageConstraintsOnly>)

OptResourceConstraints verifies the alternate routes available for shipments once the Optimizer places them on loads. For example, the alternatives can be different carriers or different services. The individual alternative that the Optimizer considers cannot result in a cost savings for that shipment. However, it can be considered as alternatives for other shipments that result in a reduced overall plan cost.

The Optimizer uses penalties that you set for the various resource constraints in the decision-making process during load build. If the penalties incurred by violating resource constraints result in the cost being greater than before attempting the change, the Optimizer does not use the new load definition.

When considering alternatives, OptResourceConstraints can uses up to MaxRoutesPerLoad alternatives.

If you set TryResourceSwap to True, the Optimizer also uses a heuristic approach and tries to swap shipments to find alternate carriers or services.

JDA Transportation Modeler Strategies and Parameters Guide 121 © 1995-2015 JDA Software Group, Inc.- Confidential

Strategy functions

You can use OptResourceConstraints before you save the plan using SetPlan and PushtoPlanStack. For more information, see Plan comparison functions (on page 17) and Plan stack functions (on page 27).

If EnforceResourceConstraints is used with IgnorePercentageConstraints, the PercentageConstraintsOnly flag can be used to optimize the constraints that had been ignored. This can be used in a multi-stage optimization to first build private fleet optimized loads and then to optimize common carriers.

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

MaxRoutesPerLoad

Integer The Optimizer does not consider more than MaxRoutesPerLoad alternatives during the OptCarrierAssignment strategy.

20 0 None True

TryResourceSwap

Integer • If set to 0, Optimizer uses cplex to solve an integer programming problem.

• If set to 1, Optimizer considers both cplex and swapping resources between loads to reduce cost.

• If set to 2, Optimizer uses resource swapping, but not cplex.

• If set to 3, the optimizer only tries resource moves, not resource swaps.

1 0 None False

GenerateColumns

Boolean If this argument is set to True, the Optimizer determined whether to consider routes and resource assignments on the fly. This setting can have some advantage when the problem has complex resource constraints.

False 0 None False

UnrouteShipments

Boolean If this argument is set to True, the Optimizer unroutes shipments if the shipment not delivered penalties are less than the resource penalties and transportation cost. If you set this value to False, the shipment not delivered penalty is not considered.

False 0 None False

Respect Vehicle Penalty

Integer • If set to 0, vehicle penalty is not considered.

• If set to 1, vehicle usage is estimated and vehicle penalty is used for each domicile.

• If set to 2, vehicle schedule is generated for each vehicle ID

0 0 2 False

JDA Transportation Modeler Strategies and Parameters Guide 122 © 1995-2015 JDA Software Group, Inc.- Confidential

Strategy functions

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

Percentage Constraints Only

Boolean If true, will lock existing assignments for non-percentage constraints and optimize only percentage constraints. The default is false.

False 0 None False

OptSwap OptSwap (<OriginRadius> <DestinationRadius> <MaxLegstoMove> <MinDistImprovement> <MaxClosestLegDistancePercent> <MaxConsecutiveFailure><ConsolidateLikeEquipmentSets> <ConsolidateInbound> <ConsolidateLinehaul> <ConsolidateOutbound>)

The OptSwap repeatedly and systematically cycles through all pairs of loads, changing the plan when a swap reduces the total distance of the plan. After it finishes cycling through all pairs of loads, it ensures that it has reduced the cost of the plan. The OptSwap attempts to swap sequences of stops between pairs of loads, and the optimizer may or may not reverse the direction of stops.

The Optimizer calculates the sum of the distances between the origins and destinations of each pair of shipment legs when selecting load pairs for the OptSwap. It divides the minimum of these distances (closest shipment leg pair) by the highest outbound distance (of the loads under consideration). This percentage must be less than the value of the MaxClosestLegDistancePercent for the Optimizer to select the load pair. In the following illustration, the Optimizer considers Shipment Leg 1 (from origin O1 to destination D1) and Shipment Leg 2 (from origin O3 to destination D3). It calculates the percentage to compare as:

= = = .5

It multiplies this value by 100. MaxClosestLegDistancePercent is 50% in the example.

D2

O1

D1

O2

D4

D5

D3

O3A

100 mi.

B80 mi.

Shipment Leg 1 =Origin1 to Dest1 Shipment Leg 2 =

Origin3 to Dest3

Load 1 OutboundDistance = 320 mi.(O1 to D2)

Load 2 OutboundDistance = 360 mi.(O3 to D5)

The Optimizer updates loads only if the loads lead to a distance reduction in the overall plan.

JDA Transportation Modeler Strategies and Parameters Guide 123 © 1995-2015 JDA Software Group, Inc.- Confidential

Strategy functions

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

OriginRadius Integer The maximum distance allowed between the first stops on two loads that are candidates for swapping.

0 0 None True

DestinationRadius Integer The maximum distance allowed between the last stops on two loads that are candidates for swapping.

0 0 None True

MaxLegstoMove Integer Do not consider swapping sequences of more than MaxLegstoMove number of legs.

3 1 None True

MinDistanceImprovement

Integer The minimum improvement to the total distance for both loads involved in a swap. You can use a negative value (increased distance).

0 None None False

MaxClosestLegDistancePercent

Integer The Optimizer calculates the sum of the distances between the origins and destinations of each pair of shipment legs when selecting load pairs for OptSwap. It divides the minimum of these distances ("closest shipment leg pair") by the highest outbound distance (of the loads under consideration).

100 0 None True

MaxConsecutiveFailure

Integer A stopping condition for the algorithm. MaxConsecutiveFailure indicates how many consecutive failed swaps the Optimizer attempts before quitting.

1000 0 None True

ConsolidateLikeEquipmentSets

Integer Whether to choose pairs of loads based upon equipment type information. If 1, only consider pairs that have the same allowed equipments. If 2, only consider pairs that have the same selected equipment. Default is 0 which does not consider equipment type information in pair selection.

0 0 2 False

Consolidate Inbound

Boolean If True, loads delivering to hubs are candidates for swapping.

True 0 None False

Consolidate Linehaul

Boolean If True, loads traveling between hubs are candidates for swapping.

True 0 None False

Consolidate Outbound

Boolean If True, loads picking up at hubs are candidates for swapping.

True 0 None False

JDA Transportation Modeler Strategies and Parameters Guide 124 © 1995-2015 JDA Software Group, Inc.- Confidential

Strategy functions

OptTLLoads OptTLLoads (<OriginRadius> <DestinationRadius> <MaxLegstoMove> <MinDistanceImprovement> <MaxClosestLegDistancePercent> <MaxConsecutiveFailure><ConsolidateLikeEquipmentSets> <ConsolidateInbound> <ConsolidateLinehaul> <ConsolidateOutbound>)

OptTLLoads combines the OptMove and OptSwap strategies into a single strategy, running both at the same time. Like OptMove and OptSwap, the strategy repeatedly and systematically cycles through all pairs of loads (including loads assigned to trips), changing the plan when a move or swap reduces the total distance of the plan. After it finishes cycling through all pairs of loads, it ensures that it has reduced the cost of the plan. OptTLLoads tries to either delete a sequence of consecutive stops from a load itinerary and reinsert them at some point in another load or swap sequences of stops between pairs of loads. In either case, the Optimizer can reverse the direction of stops.

The Optimizer calculates the sum of the distances between the origins and destinations of each pair of shipment legs when selecting load pairs for OptTLLoads. It divides the minimum of these distances (closest shipment leg pair) by the highest outbound distance (of the loads under consideration). This percentage must be less than the value of the MaxClosestLegDistancePercent for the Optimizer to select the load pair. In the following illustration, the Optimizer considers Shipment Leg 1 (from origin O1 to destination D1) and Shipment Leg 2 (from origin O3 to destination D3). It calculates the percentage to compare as:

= = = 0.5

It multiplies this value by 100. MaxClosestLegDistancePercent is 50% in this example.

D2

O1

D1

O2

D4

D5

D3

O3A

100 mi.

B80 mi.

Shipment Leg 1 =Origin1 to Dest1 Shipment Leg 2 =

Origin3 to Dest3

Load 1 OutboundDistance = 320 mi.(O1 to D2)

Load 2 OutboundDistance = 360 mi.(O3 to D5)

The Optimizer updates loads only if the loads lead to a distance reduction in the overall plan.

The OptTLLoads is more efficient than when you run OptMove and OptSwap individually. However, the OptTLLoads uses the same values for the arguments for both moves and swaps. If you want only the behavior of one of the two strategies, or require different values for the arguments for the two strategies, you want to use the individual OptMove or OptSwap strategies.

JDA Transportation Modeler Strategies and Parameters Guide 125 © 1995-2015 JDA Software Group, Inc.- Confidential

Strategy functions

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

OriginRadius Integer The maximum distance allowed between the first stops on two loads that are candidates for moving or swapping.

0 0 None True

DestinationRadius Integer The maximum distance allowed between the last stops on two loads that are candidates for moving or swapping.

0 0 None True

MaxLegstoMove Integer The Optimizer does not consider moving or swapping sequences of more than MaxLegstoMove number of legs.

3 1 None True

MinDistanceImprovement Integer The minimum improvement to the total distance for both loads involved in a move or a swap. You can use a negative value (increased distance).

0 None None False

MaxClosestLegDistancePercent Integer The Optimizer calculates the sum of the distances between the origins and destinations of each pair of shipment legs when selecting load pairs for OptTLLoads. It divides the minimum of these distances (closest shipment leg pair) by the highest outbound distance (of the loads under consideration).

100 0 None True

MaxConsecutiveFailure Integer A stopping condition for the algorithm. MaxConsecutiveFailure indicates number of consecutive failed moves or swaps the Optimizer tries before quitting.

1000 0 None True

JDA Transportation Modeler Strategies and Parameters Guide 126 © 1995-2015 JDA Software Group, Inc.- Confidential

Strategy functions

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

ConsolidateLikeEquipmentSets Integer Whether to choose pairs of loads based upon equipment type information. If 1, only consider pairs that have the same allowed equipments. If 2, only consider pairs that have the same selected equipment. Default is 0 which does not consider equipment type information in pair selection.

0 0 2 False

Consolidate Inbound Boolean If True, loads delivering to hubs are candidates for swapping.

True 0 None False

Consolidate Linehaul Boolean If True, loads traveling between hubs are candidates for swapping.

True 0 None False

Consolidate Outbound Boolean If True, loads picking up at hubs are candidates for swapping.

True 0 None False

RemoveLightStops RemoveLightStops (<MinWeightRequired> <MinWeightDistanceRatio> <MultiStopLoadsOnly> <MakeUnroutable>)

If the total amount of freight (both picked up and dropped off) at a stop is less than a required threshold, RemoveLightStops tries to remove these shipments from the load. Once the shipments are removed from the load, the Optimizer can either make them unroutable or make them available for consolidation on a future load using subsequent strategies.

When you enable RemoveLightStops and if MinPickDropWeight has been specified for a location, the Optimizer enforces this restriction for that location. If specified, MinPickDropWeight overrides any values specified in the MinWeight and MinWeightDistanceRatio arguments.

If MinPickDropWeight is not specified for a location and RemoveLightStops is enabled, the Optimizer verifies the combined weight of picks and drops at a stop and compares with MinWeightRequired and MinWeightDistanceRatio.

For the MinWeightDistanceRatio argument, the Optimizer calculates a weight distance ratio by dividing the weight at a stop by the insertion distance. In the following diagram, for a stop in transit, the insertion distance is calculated as A + B - C. If the stop is the last stop, the insertion distance is the distance from the previous stop to the last stop (D, in the diagram).

JDA Transportation Modeler Strategies and Parameters Guide 127 © 1995-2015 JDA Software Group, Inc.- Confidential

Strategy functions

BA

C

Stop(Total Weight)

D

Weight (at Stop)(A + B - C)

MinWeightDistanceRatio =(Stop in Transit)

Weight (at Stop)(D)

MinWeightDistanceRatio =(Last Stop)

If this value is less than the MinWeightDistanceRatio or the combined weight of picks and drops at the stop is less than MinWeightRequired, the Optimizer removes the shipments from the load and tries to schedule the load. RemoveLightStops does not consider cost impacts.

You can use the MultiStopLoadsOnly argument to control whether the Optimizer should consider multi-stop loads or all loads.

If MakeUnroutable is set to True, the Optimizer removes shipments from the load and makes these shipments unroutable. If you set this option to False, the Optimizer tries to send these shipments direct. If it cannot send them direct, it makes them unroutable.

When you remove shipments from the load and if remaining shipments on the load become unschedulable, the Optimizer tries to send all the shipments direct. If the Optimizer fails to send all shipment, it makes all shipments unroutable.

Note: MakeUnroutable never considers the first pick on a load.

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

MinWeightRequired

Integer If the combined weight of picks and drops at a stop is less than MinWeightRequired, the Optimizer tries to remove the shipments from the load to remove the stop.

10 2 None False

MinWeightDistanceRatio

Integer If the combined weight of picks and drops at a stop divided by the insertion distance is less than MinWeightDistanceRatio, the Optimizer tries to remove the shipments from the load to remove the stop.

0 0 None False

MultiStopLoads Only

Boolean

If this argument is set to True, the Optimizer does not consider stops for direct shipments.

True 0 None False

MakeUnroutable

Boolean

If this argument is set to True, the Optimizer makes the shipments that are removed the load unroutable. If you set this argument to False, the Optimizer tries to send these shipments direct.

True 0 None False

JDA Transportation Modeler Strategies and Parameters Guide 128 © 1995-2015 JDA Software Group, Inc.- Confidential

Strategy functions

ReOptCMove ReOptCMove (<MinEmptyDistance> <MaxDeadhead> <MaxLoads> <MinDistanceSavings> <MaxTotalDistance> <MaxReturnDistance>)

ReOptCMove improves CMove by removing a load from a trip, then add new loads to the trip and add the removed load on a different trip. The ReOptCMove uses CMove to create or extend trips.

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

MinEmptyDistance

Float The optimizer splits a trip only if unloaded distance of the trip is greater than or equal to MinEmptyDistance.

100 0 None True

MaxDeadhead

Float Maximum deadhead distance allowed between any two consecutive loads on the trip.

100 0 None True

MaxLoads Integer Maximum number of loads allowed on a trip.

5 2 None True

MinDistanceSavings

Integer Use this argument to specify the minimum distance savings that must be achieved (compared with the original routing without relay hubs) for the Optimizer to consider using relay hubs.

Any None None Yes

MaxTotalDistance

Integer Use this argument to specify that the Optimizer does not try to build trips with a total distance less than this limit. MinTotalDistance helps to reduce the problem size and makes the strategy more efficient.

Any 0 None Yes

MaxReturnDistance

Integer Use this argument to specify that the Optimizer does not try to build trips with a return distance over this limit. MaxReturnDistance helps to reduce the problem size and makes the strategy more efficient.

Any 0 None Yes

ReOptCriticalLoads ReOptCriticalLoads (<OriginRadius> <DestinationRadius> <MaxInsertionPercentage> <MinPercentFullRequired> <MinPercentFullAfterOperation> <MinDistanceSavings> <MaxLegsToMove> <UnitCostSavingsRequired> <AllowRemoveFutureShipments> <MaxNeighborhoodDistance> <DeleteHubs>)

ReOptCriticalLoads verifies each critical load that is less than MinPercentFullRequired percent full. ReOptCriticalLoads repeatedly and systematically cycles through all pairs of critical loads, changing the plan when a move or swap reduces the total distance of the plan. After it finishes cycling through all pairs of light critical loads, it ensures that it has reduced the cost of the plan. ReOptCriticalLoads tries to either delete a sequence of consecutive stops from a critical load itinerary and reinsert them at

JDA Transportation Modeler Strategies and Parameters Guide 129 © 1995-2015 JDA Software Group, Inc.- Confidential

Strategy functions

some point in another load or swap sequences of stops between pairs of loads. In either case, the Optimizer may not reverse the direction of stops.

After moving stops between critical loads, the Optimizer adds future (non-critical) shipments to the critical loads to increase the percentage full of the loads. The resulting loads must be at least MinPercentFull- AfterOperation.

If you set UnitCostSavingsRequired to True, the Optimizer calculates a cost savings based on the percentage full per distance unit. For example, if the Optimizer considers the following two loads, it calculates the cost per distance unit.

P

DP

D D

D

D

Load 1

Load 2

100%50

Miles

50%

100Miles

40%50

Miles

100%

60Miles

30%

135Miles

Load Percentage Full Distance Total

OriginalLoad1 100 50 5000

OriginalLoad1 50 100 5000

OriginalLoad1 40 50 2000

Average % Full = Total (Distance * %)/Total (Distance) = 12000/200 = 60

OriginalLoad2 100 60 6000

OriginalLoad2 30 135 4050

Average % Full = Total (Distance * %)/Total (Distance) = 10050/195 = 51

The Optimizer adds the average percentages, in this case, 60 + 51 and divides the cost of the original loads by this factor.

It performs the same calculation on the new loads, and then compares the results to verify which configuration is more cost effective.

It compares the calculated value of the new loads with the original loads to determine whether to create the new loads. If you set this value to False, the Optimizer considers cost savings on a plan basis when evaluating the new loads.

Three of the arguments for ReOptCriticalLoads help you to control how the Optimizer attempts to backfill the new loads with future shipments. When the Optimizer is moving and swapping shipments between loads and if you set AllowRemoveFutureShipments to True, the Optimizer can remove future shipments to add more critical freight to the loads. You can control the radius around each stop in which the Optimizer can search for future shipments using the MaxNeighborhoodDistance value.

Note: The Optimizer can create new stops, as long as these stops are within the neighborhood distance.

JDA Transportation Modeler Strategies and Parameters Guide 130 © 1995-2015 JDA Software Group, Inc.- Confidential

Strategy functions

If you set DeleteHubs to True, the Optimizer tries to add future shipments to the loads even if those shipments have been routed through hubs to delete their hub assignment.

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

OriginRadius Float The maximum distance allowed between the first stops on two loads that are candidates for moving.

0 0 None True

DestinationRadius Float The maximum distance allowed between the last stops on two loads that are candidates for moving.

0 0 None True

MaxInsertionPercentage

x y

z inserted destinati

existing destination 'x' exis

(xz+yz)(xy)

must be less thanmaxInsertionRatio

Float The Optimizer does not consider inserting stop z between stops x and y if the percentage increase in the leg distance ((xz+yz)-xy)/xy is greater than MaxInsertionPercentage.

50 5 None True

MinPercentFullRequired

Float The minimum percentage full of a truckload by weight or cube (whichever value is more constraining). A value of 85 indicates 85% full. The Optimizer defines full by Max Weight and Max Cube in OptParameters.

50 0 100 False

MinPercentFullAfterOperation

Float The new loads that the Optimizer creates when moving and swapping shipment legs must be at least the percentage that you specify in MinPercentFullAfterOperation.

80 0 100 False

MinDistanceSavings

Float The minimum improvement to the total distance for both loads involved in a move. You can use a negative value (increased distance).

0 None None False

MaxLegstoMove Integer The Optimizer does not consider moving sequences of more than MaxLegstoMove number of legs.

3 1 None True

JDA Transportation Modeler Strategies and Parameters Guide 131 © 1995-2015 JDA Software Group, Inc.- Confidential

Strategy functions

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

UnitCostSavingsRequired

Boolean

If this argument is set to True, the Optimizer calculates an average percent full for the original and new loads and uses this to determine the cost savings of moves and swaps. If you set it to False, the Optimizer considers cost savings at the plan level.

True 0 None False

AllowRemoveFutureShipments

Boolean

If this argument is set to True, the Optimizer can remove future shipments from loads to fit more on the loads.

False 0 None False

MaxNeighborhoodDistance

Float When searching for future shipments as candidates to backfill critical loads, the Optimizer verifies within MaxNeighborhoodDistance radius of the stops on the critical loads.

0 0 None False

DeleteHubs Boolean

If this argument is set to True, the Optimizer can add future shipments to critical loads even if they have been routed through hubs (effectively deleting the hub assignment).

True 0 None False

ReOptTLLoads ReOptTLLoads (<MinPercentFull> <MaxOutOfRoute PercentAllowed> <MaxPercentCostIncreasePerBreak> <NoExchangeAmongNewLoads> <OriginRadius> <DestinationRadius> <MaxLegstoMove> <MinDistImprovement> <MaxClosestLegDistancePercent> <MaxConsecutiveFailure> <TryOneLegAtATime> <BuildTrips> <BreakByShipmentLegs> <TryTransferLoads>)

ReOptTLLoads verifies each TL load that is less than the MinPercentFull percent full or has an out-of-route percentage greater than MaxOutOfRoutePercentAllowed. For loads that meet these criteria including loads already assigned to trips, the Optimizer splits the loads and verifies if the cost increase is less than MaxPercentCostIncreasePerBreak.

Using the loads that the Optimizer split and meet the criteria the first three arguments established, the Optimizer performs the equivalent of OptTLLoads. It repeatedly and systematically cycles through all combinations of loads ReOptTLLoads created by splitting loads with existing non-broken loads. It changes the plan when a move or swap reduces the total distance of the plan. For more information, see OptTLLoads (on page 125). If you enable the BuildTrips argument, ReOptTLLoads also builds trips to reduce the total plan cost.

The Optimizer calculates the sum of the distances between the origins and destinations of each pair of shipment legs when selecting load pairs for ReOptTLLoads. It divides the minimum of these distances (closest shipment leg pair) by the highest outbound distance (of the loads under consideration). This percentage must be less than the value of the MaxClosestLegDistancePercent for the Optimizer to

JDA Transportation Modeler Strategies and Parameters Guide 132 © 1995-2015 JDA Software Group, Inc.- Confidential

Strategy functions

select the load pair. In the following illustration, the Optimizer considers Shipment Leg 1 (from origin O1 to destination D1) and Shipment Leg 2 (from origin O3 to destination D3). It calculates the percentage to compare as:

= = = .5

It multiplies this value by 100. MaxClosestLegDistancePercent is 50% in this example.

D2

O1

D1

O2

D4

D5

D3

O3A

100 mi.

B80 mi.

Shipment Leg 1 =Origin1 to Dest1 Shipment Leg 2 =

Origin3 to Dest3

Load 1 OutboundDistance = 320 mi.(O1 to D2)

Load 2 OutboundDistance = 360 mi.(O3 to D5)

After the Optimizer processes each of the truckloads, this strategy verifies whether the overall cost has been reduced. If these conditions are not met, the Optimizer restores all loads to their original status.

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

MinPercentFullRequired

Float Minimum percentage full of a truckload by weight or cube (whichever value is more constraining). A value of 85 indicates 85% full. The Optimizer defines full by Max Weight and Max Cube in OptParameters.

85 0 None True

MaxOutOfRoutePercentAllowed

Float Maximum out of route percentage allowable.

50 -100 None True

MaxPercentCostIncreasePerBreak

Float The maximum allowable cost increase for the loads ReOptTLLoads generates when the Optimizer splits loads. The Optimizer calculates the value as the percentage of the original load compared to the loads generated when the Optimizer split loads. The value is not a percentage of the overall plan cost.

50 0 None True

JDA Transportation Modeler Strategies and Parameters Guide 133 © 1995-2015 JDA Software Group, Inc.- Confidential

Strategy functions

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

NoExchangeAmongNewLoads

Integer Use this argument to specify the priority for recombining loads split by ReOptTLLoads on the same loads. The higher the number, the further back you push this combination. The functionality does not apply until you select 2 or higher. For 0 or 1, in the first try, the Optimizer does not add the same split loads back together on a load by them; try moving them to other loads first.

1 (True)

0 None False

OriginRadius Integer The maximum distance allowed between the first stops on two loads that are candidates for moving.

0 0 None True

DestinationRadius

Integer The maximum distance allowed between the last stops on two loads that are candidates for moving.

0 0 None True

MaxLegstoMove Integer The Optimizer does not consider moving sequences of more than MaxLegstoMove number of legs.

3 1 None True

MinDistanceImprovement

Integer The minimum improvement to the total distance for both loads involved in a move. You can use a negative value (increased distance).

0 None None False

MaxClosestLegDistancePercent

Integer The Optimizer calculates the sum of the distances between the origins and destinations of each pair of shipment legs when selecting load pairs for ReOptTLLoads. It divides the minimum of these distances (closest shipment leg pair) by the highest outbound distance (of the loads under consideration).

100 0 None True

MaxConsecutiveFailure

Integer A stopping condition for the algorithm. MaxConsecutiveFailure indicates number of consecutive failed moves can be attempted before quitting.

1000 0 None True

TryOneLegAtATime

Boolean Use this argument to specify whether ReOptTLLoads tries combinations of the split shipments by moving one shipment leg at a time, or by moving more than one shipment leg at a time. If this argument is set to False, the entire load (that meets ReOptTLLoads criteria) is split, and the legs are freely swapped with other shipment legs. If argument is set to True, ReOptTLLoads removes only one leg at a time from each load and tries to swap or move that single

False 0 None No

JDA Transportation Modeler Strategies and Parameters Guide 134 © 1995-2015 JDA Software Group, Inc.- Confidential

Strategy functions

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

leg before removing or swapping other legs.

BuildTrips Boolean Use this argument to specify whether ReOptTLLoads tries to build trips as it recombines shipment legs.

False 0 None No

BreakByShipmentLegs

Boolean Use this argument to specify whether ReOpTLLoads splits loads into individual shipment legs as part of this algorithm.

False 0 None No

TryTransferLoads

Boolean Use this argument to split transfer loads.

False 0 None No

ReOptTLTrips ReOptTLTrips (<MinSmallestPercentFull> <MaxDeadheadDistance> <MaxReturnDistance> <OriginRadius> <DestinationRadius> <MaxLegstoMove> <MinDistanceImprovement> <MaxClosestLegDistancePercent> <MaxConsecutiveFailure>)

ReOptTLTrips verifies each TL trip that is less than the MinPercentFull percent full and a deadhead distance greater than the MaxDeadheadDistance or a return distance greater than the MaxReturnDistance. For trips that meet these criteria, the Optimizer splits the trips to reduce overall plan cost including exchanging shipments with other loads and building new trips. If the Optimizer cannot achieve a cost savings by recombining trips and loads, all loads and trips are restored to their original status.

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

MinSmallestPercentFull

Float The minimum allowable percentage full of a truckload by weight or cube (whichever value is more constraining). Trips not meeting this minimum are candidates for recombination by ReOptTLTrips. The Optimizer defines full by Max Weight and Max Cube in OptParameters. A value of 85 indicates 85% full.

85 0 100 False

MaxDeadheadDistance

Float The maximum allowable deadhead distance for a trip. Trips exceeding this maximum are candidates for recombination with ReOptTLTrips.

0 0 None True

MaxReturnDistance

Float The maximum allowable return distance for a trip. Trips exceeding this maximum are candidates for recombination with ReOptTLTrips.

0 0 None True

OriginRadius Integer The maximum distance allowed between the first stops on two loads that are candidates for moving.

0 0 None True

JDA Transportation Modeler Strategies and Parameters Guide 135 © 1995-2015 JDA Software Group, Inc.- Confidential

Strategy functions

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

DestinationRadius

Integer The maximum distance allowed between the last stops on two loads that are candidates for moving.

0 0 None True

MaxLegstoMove Integer The Optimizer does not consider moving sequences of more than MaxLegstoMove number of legs.

3 1 None True

MinDistanceImprovement

Integer The minimum improvement to the total distance for both loads involved in a move. You can use a negative value (increased distance).

0 None None False

MaxClosestLegDistancePercent

Integer The Optimizer calculates the closest distance between two origins plus the two destinations of each pair of shipment legs as a percentage of the greater outbound distance. If the distance percent between the two loads is more than the MaxClosestLegDistancePercent that you specify, ReOptTLTrips does not recombine shipments between the two loads.

100 0 None True

MaxConsecutiveFailure

Integer A stopping condition for the algorithm. The MaxConsecutive Failure indicates number of consecutive failed moves can be attempted before quitting.

1000 0 None True

ResequenceLoads ResequenceLoads (<MinDistanceImprovement> <MaxLoadsToMove>)

ResequenceLoads resequences loads on trips to find cost savings, either by reducing the total distance or selecting less expensive carriers. You can use the MinDistanceImprovement argument to specify a decrease in the total distance that must be achieved for the algorithm to make changes. If the Optimizer cannot achieve this specified distance improvement and save money, all loads and trips are restored to their original status.

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

MinDistanceImprovement

Float The minimum improvement to the total distance for both loads involved in a move. You can use a negative value (increased distance).

0 None None False

MaxLoadsToMove

Integer

The Optimizer does not consider moving sequences of more than MaxLoadsToMove number of loads. When resequencing loads of a trip, the number of loads determined by this parameter are fixed. These loads are then inserted into different positions in the trip to generate new sequences of loads.

1 1 None True

JDA Transportation Modeler Strategies and Parameters Guide 136 © 1995-2015 JDA Software Group, Inc.- Confidential

Strategy functions

ResequenceStops ResequenceStops (<MinDistanceImprovement>)

ResequenceStops resequences stops to find cost savings either by reducing the total distance or selecting less expensive carriers. This strategy supports both load and loads on a trip. You can use the MinDistanceImprovement argument to specify a decrease in the total distance that must be achieved for the algorithm to make changes. If it cannot achieve this specified distance improvement and save money, all loads and trips are restored to their original status.

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

MinDistanceImprovement Float The minimum improvement to the total distance for both loads involved in a move. You can use a negative value (increased distance).

0 None None False

Reship Reship (<MaxDistanceFromHub> <MinEstimatedSavings> <MaxHubsToTry> <MaxLegsToMove> <ConsolidateLoads> <ReshipInbound> <ReshipOutbound> <Build Trips>)

Reship considers the advantage of LTL zone skipping. If ReshipOutbound is True, the Optimizer looks for LTL terminals or hubs through which it reships all or part of a load to its destination. If the ReshipInbound is True, the Optimizer looks for LTL terminals or hubs close to the origin. It ships all or part of a load from its origin to the hub. If the Optimizer drops two or more shipments on the same load with different destinations at the same hub (or picks up two or more shipments with different origins), it reduces the number of stops in transit for that load. Therefore, if carriers have restrictions on the number of stops in transit, there may now be more opportunities for optimization.

The Optimizer looks for loads that are not using hubs, when they have drops within MaxDistanceFromHub from a hub. For each eligible load, Reship looks at sequences of shipment legs with stops that are drops. It can consider combinations of these shipment legs to move up to MaxLegsToMove. For example, if you specify 4 as the value for MaxLegsToMove, Reship tries all combinations of 4 shipment legs on the load, then combinations of 3 shipment legs down to single shipment legs. If the number of drops on the load is less than the MaxLegsToMove, Reship uses the number of drops to determine the maximum number of legs in the sequence.

Reship tries all these sequences through all eligible hubs. When selecting hubs to try, Reship has two conditions, both of which must be met:

1. For each of the drops on the eligible shipment legs, Reship looks for hubs within a radius of the MaxDistanceFromHub from the stop. To consider a hub, the hub must be within this distance from all the drops; in other words, it must be within the intersection of the MaxDistanceFromHub radii.

2. The hub must be one of the MaxHubsToTry closest to each drop.

In the following figure, the Optimizer considers the shipment legs for the sequence of stops D1—D2—D3. You set MaxHubsToTry to 4 and there are 4 hubs that fall in the intersection of the drops on the considered shipment legs. However, there are two other hubs that are actually closer to the first drop (D1) than any of those that are within the intersection area (H5 and H6). Therefore, since only two of the four hubs closest to the D1 are within the intersection, Reship considers only two of the hubs in the intersection area (H1 and H3). The Reship continues, investigating other combinations of drops. When

JDA Transportation Modeler Strategies and Parameters Guide 137 © 1995-2015 JDA Software Group, Inc.- Confidential

Strategy functions

looking at the D2— D3 sequence, all four hubs in the intersection area (H1, H2, H3, H4) are, in fact, also the closest hubs to each of the drops and the Optimizer considers all four hubs.

MaxDistanceFromHub

H1 H2H3

H4

H5H6

D1D2

D3

O1

O2

O3

Reship performs a pre-check on all the hub/sequence combinations it identifies. It calculates the distance savings on the original load when shipments are moved off the load. It also determines the distance added based on the new outbound loads. It subtracts the distance added from the distance removed, and then multiplies this difference by the LowestTLCostPerDist parameter. This value must be at least MinEstimatedSavings for Reship to continue to investigate this hub/sequence combination.

For the loads that pass the pre-check, the Optimizer rerates the new outbound loads and the original truckload with any stops that it removed to find the best hub/sequence combination. If the ConsolidateOutboundLoads is true, Reship tries to insert the new outbound loads onto other loads in an attempt to further reduce cost.

If the BuildTrips is true, Reship looks for opportunities to combine loads onto trips to reduce cost. The trips are built with significantly constraining deadhead and return distance limits; in other words, they are good trips.

While you can use Reship anywhere in the strategy file, you can include it after HubAssignment. Including it before the HubAssignment might reduce performance. Reship supports on loads not yet routed through hubs and the HubAssignment can reduce the number of loads eligible for Reship by routing shipments through hubs.

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

MaxDistanceFromHub

Float The Optimizer does not activate this strategy unless at least one stop falls within the MaxDistanceFromHub.

100 0 None True

MinEstimated Savings

Float The Optimizer considers moving a sequence of legs if the distance savings multiplied by LowestTLCostPerDist is at least MinEstimatedSavings.

0 None None False

JDA Transportation Modeler Strategies and Parameters Guide 138 © 1995-2015 JDA Software Group, Inc.- Confidential

Strategy functions

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

MaxHubsToTry

Integer

For each shipment leg sequence, consider rerouting up to the specified number of <MaxHubsToTry> as long as these hubs are within the intersection area of MaxDistanceFromHub from all drops in the sequence. These hubs must also be the closest hubs to the drops.

4 0 None True

MaxLegsToMove

Integer

The Optimizer does not consider moving sequences of more than MaxLegstoMove number of legs.

4 0 None True

ConsolidateLoads

Integer

This argument controls consolidation behavior. If it is 0, the Optimizer does not attempt additional consolidation. If set to 1, the Optimizer attempts to consolidate using ConSamePickAndDrop. If set to 2, the Optimizer attempts to consolidate using OptTLLoads.

1 0 2 False

ReshipInbound

Boolean

If this argument is set to True, the Optimizer looks for hubs close to the origin. It uses LTL to get the shipments to the hub, and then consolidates at the hub for truckload shipment.

True 0 None False

ReshipOutbound

Boolean

If this argument is set to True, the Optimizer looks for hubs close to the destination. It deconsolidates the shipments at the hub, and then uses LTL to get the shipments to their destinations.

True 0 None False

BuildTrips Boolean

If this is True, the Optimizer tries to build good trips to reduce cost.

False 0 None False

JDA Transportation Modeler Strategies and Parameters Guide 139 © 1995-2015 JDA Software Group, Inc.- Confidential

Strategy functions

SaveHubPlan SaveHubPlan ( )

SaveHubPlan saves the current state of the plan when it is within the HubLoop. The plan does not require a name (there is one internal hub plan to which the Optimizer saves the plan). At the conclusion of the HubLoop, the Optimizer merges these sub-plans with those the HubLoop saves itself. For more information, see HubLoop (on page 100).

The Optimizer calls the SaveHubPlan function at certain times automatically and require no user action. These automatic calls are in addition to any SaveHubPlan calls you make.

SplitCriticalLoads SplitCriticalLoads (<MinDistanceSavings> <MaxNeighborhoodDistance> <MaxInsertionPercentage> <MinPercentFullAfterOperation> <UnitCostSavingsRequired> <DeleteHubs>)

SplitCriticalLoads verifies each critical load, splits the load, and tries to backfill the load with future (non-critical) shipments to reduce distance and cost. Once it has split a critical load, the Optimizer verifies opportunities to add future (non-critical) shipments to the critical load to increase the percentage full of the loads. The resulting loads must be at least MinPercentFullAfterOperation.

The Optimizer tries to find locations at which there are sufficient future shipments to fill the critical loads. It uses these locations to determine where to split the critical load.

You can control the radius around each stop in which the Optimizer can search for future shipments using the MaxNeighborhoodDistance value.

Note: The Optimizer can create new stops, as long as these stops are within the neighborhood distance.

If you set UnitCostSavingsRequired to True, the Optimizer calculates a cost savings based on the percentage full per distance unit. For example, the Optimizer considers the following two loads.

P

DP

D D

D

D

Load 1

Load 2

100%50

Miles

50%

100Miles

40%50

Miles

100%

60Miles

30%

135Miles

It calculates the cost per distance unit:

Load Percentage Full Distance Total OriginalLoad1 100 50 5000

OriginalLoad1 50 100 5000

OriginalLoad1 40 50 2000

Average % Full = Total (Distance * %)/Total (Distance) = 12000/200 = 60

JDA Transportation Modeler Strategies and Parameters Guide 140 © 1995-2015 JDA Software Group, Inc.- Confidential

Strategy functions

Load Percentage Full Distance Total OriginalLoad2 100 60 6000

OriginalLoad2 30 135 4050

Average % Full = Total (Distance * %)/Total (Distance) = 10050/195 = 51

The Optimizer adds the average percentages, in this case 60 + 51, and divides the cost of the original loads by this factor.

It performs the same calculation on the new loads, and then compares the results to verify which configuration is more cost effective.

It then compares the calculated value of the new loads with the original loads to determine whether to create the new loads. If you set this value to False, the Optimizer considers cost savings on a plan basis when evaluating the new loads.

If you set DeleteHubs to True, the Optimizer tries to add future shipments to the loads even if those shipments have been routed through hubs to delete their hub assignment.

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

MinDistanceSavings

Float The minimum improvement to the total distance for both loads involved in a move. A negative value (increased distance) can be used.

0 None None False

MaxNeighborhoodDistance

Float When searching for future shipments as candidates to backfill critical loads, the Optimizer looks within MaxNeighborhoodDistance radius of the stops on the critical loads.

0 0 None False

MaxInsertionPercentage

x y

z inserted destinati

existing destination 'x' exis

(xz+yz)(xy)

must be less thanmaxInsertionRatio

Float The Optimizer does not consider inserting stop z between stops x and y if the percentage increase in the leg distance ((xz+yz)-xy)/xy is greater than MaxInsertion Percentage.

50 5 None True

MinPercentFullAfterOperation

Float The new loads that the Optimizer creates when moving and swapping shipment legs must be at least MinPercentFullAfterOperation.

80 0 100 False

UnitCostSavings Required

Boolean

If this argument is set to True, the Optimizer calculates an average percent full for the original and new loads and uses this to determine the cost savings of moves and swaps. If you set it to False, the Optimizer considers cost savings at the plan level.

True 0 None False

JDA Transportation Modeler Strategies and Parameters Guide 141 © 1995-2015 JDA Software Group, Inc.- Confidential

Strategy functions

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

DeleteHubs Boolean

If this argument is set to True, the Optimizer can add future shipments to critical loads even if they have been routed through hubs (effectively deleting the hub assignment).

True 0 None False

TryDockScheduling TryDockScheduling (<SplitLoads/Trips> <ReduceWaitTime> <FavorEmptyDock> <PrimaryDockSelector> <SecondaryDockSelector> <TertiaryDockSelector> <FavorSelectedRoute> <UseFixedLengthTimeSlot> <NumberOfIterations> <SchedulingVehiclesOnly> <MinimizeNumberOfVehicles> <ReturnToDomiciles> <PercentIncreaseAllowed> <MinimizeTransitTime> <MaxPenaltyAllowed> <RespectDOT> <TryOptResource> <NumberOfCostIterations> <MaxVehicleDockGapInMinutes> <MinimizeDockUsed> )

When you use this strategy, the Optimizer applies the dock scheduling constraints that you have defined to the current plan. You can define the constraints through a series of files:

• Dock: Identifies the number of docks at a specified location. The docks acquire certain characteristics of the location, such as that location’s loading and unloading rates and, optionally, the location’s business hours. You can override the loading and unloading rates, and the business hours.

• DockCommitment: These commitments are blocks of time per day when the dock is unavailable. Other committed blocks of time are modeled through BusinessHoursExceptions.

• DockCommodityExclusions: Identifies the commodities that the dock does not accept.

• DockEquipmentTypeInclusions: Identifies the types of equipment that the dock accepts.

• DomicileVehicleAvailability: Identifies number of a certain type of equipment that you have at a specific domicile. You can also use it to define specific pieces of equipment (individual items from your vehicle pool).

TryDockScheduling updates the output plan that the Optimizer creates. It performs this update upon completion of the TryDockScheduling strategy.

Note: The Optimizer does not update the output plan for any subsequent edits you make or strategies run after TryDockScheduling.

The Optimizer tries to schedule a vehicle for each load. If it cannot schedule a vehicle and you set SplitLoads to True, Optimize tries to split the load and assign it to multiple vehicles.

By default, the Optimizer tries to reduce the wait time when scheduling loads. However, set ReduceWaitTime to 0, if you want to increase the Optimizer’s flexibility in the scheduling options that it can consider.

TryDockScheduling adheres to DOT Hours of Service rules you have defined using the DriverHOSRules optimization parameter.

To prioritize empty docks during dock selection, set FavorEmptyDock to True. If there are multiple empty docks, the Optimizer assigns docks based on earliest finish time, as long as the docks are valid

JDA Transportation Modeler Strategies and Parameters Guide 142 © 1995-2015 JDA Software Group, Inc.- Confidential

Strategy functions

for the loads. When all empty docks are filled or if FavorEmptyDock is False, the Optimizer considers the other arguments; PrimaryDockSelector, SecondaryDockSelector, and DockSelectionFactor.

You can specify the criteria by which docks are selected using the PrimaryDockSelector and SecondaryDockSelector arguments. For each of these arguments, specify a numeric value:

• 0: Finish Time (earliest)

• 1: Handling Timespan (least)

• 2: Number of loads currently in dock (least)

• 3: Dock Length (most length available), only applicable if you are using variable dock length functionality.

After specifying PrimaryDockSelector and SecondaryDockSelector, you can also select a DockSelectionFactor to indicate the relative importance of the primary and secondary dock selectors. The value for DockSelectionFactor is a number (of double data type) between 0 and 1, where 0 is favor secondary selector the most, and 1 is favor primary selector the most.

To compare the available docks, the Optimizer performs the following calculation to find the relative weights to assign the primary and secondary factors for each dock:

X = (DockSelectionFactor * DPrimary)-((1-DockSelectionFactor)* (∆Secondary)),

where ∆Primary is the difference between the values of the primary selectors for the docks and where ∆Secondary is the difference between the values of the secondary selectors for the docks.

If PrimaryDockSelector is favored, this is the criteria by which the dock is selected.

If SecondaryDockSelector is favored, this is the criteria by which the dock is selected.

For example, the Optimizer must select between two docks using Primary Selector = Number of Loads at the dock, and Secondary Selector = Handling Time.

Dock ID Primary Selector

(Number of Loads at Dock)

Secondary Selector (Handling Time)

Dock A 10 loads 2 hours

Dock B 5 loads 5 hours

∆ Primary is (5 loads − 10 loads) = -5.

∆ Secondary is (5 hours − 2 hours) = 3.

With a Dock Selection Factor of 0.6, the Optimizer performs the calculation

X = (DockSelectionFactor * ∆Primary)-((1-DockSelectionFactor)* (∆Secondary))

= (0.6 * -5) - ((1-0.6) * 3)

= (-3) - (0.4 * 3)

= (-3) - (1.2)

= -4.2

X > 0, SecondaryDockSelector is favored. Looking at the Secondary Selectors, Dock A has the least amount of handling time, Dock A is selected.

JDA Transportation Modeler Strategies and Parameters Guide 143 © 1995-2015 JDA Software Group, Inc.- Confidential

Strategy functions

When you use TryDockScheduling during optimization, the Optimizer generates a file in your current folder called DockSchedule.txt. This file is in a comma delimited format or in the format as set in your schema.txt file. This file contains the detailed dock schedule, including:

• Location ID

• Dock ID

• Load ID

• Start Date/Time

• End Date/Time

• Vehicle ID

Note: If DomicileVehicleAvailability contains values for Vehicle ID, the Optimizer uses them. If it does not contain this value, the Optimizer generates a generic vehicle identifier.

In addition to DockSchedule.txt, the Optimizer generates a file called DockReport.txt to the current folder (the folder you most recently selected while within Transportation Modeler). This file contains a summary of each load and of each dock and detailed information about the loads at each dock.

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

SplitLoads Integer If the Optimizer cannot assign a vehicle during dock scheduling, this argument controls splitting behavior. If set to 0, no splitting will be done. If 1, the Optimizer can split loads, assigning them to multiple vehicles. If set to 2, the Optimizer can split trips, assigning them to multiple vehicles. If set to 3, both loads and trips can be split.

0 0 3 False

ReduceWaitTime

Integer Use this argument to increase the flexibility that the Optimizer has in the scheduling options that it can consider. If 0, the Optimizer does not try to reduce the wait time when scheduling loads. If 1, the Optimizer tries to reduce the wait time of loads by advancing the start time . If 2, the Optimizer tries to reduce the wait time and hub cross time across all legs.

1 0 2 False

FavorEmptyDock

Boolean

If this argument is set to True, all empty docks are assigned first, as long as each dock is valid for the load. If there are multiple empty docks, they are ordered by earliest finish time. Once all empty docks at a location are full, then the other parameters are used for dock selection.

False 0 None False

PrimaryDockSelector

Integer The primary criterion by which dock selection is made, where 0= earliest finish time; 1=least handling time; 2=least number of loads currently on the dock and 3=most available dock length (only for variable length docks).

0 0 3 False

JDA Transportation Modeler Strategies and Parameters Guide 144 © 1995-2015 JDA Software Group, Inc.- Confidential

Strategy functions

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

SecondaryDock Selector

Integer The secondary criterion by which dock selection is made, where 0= earliest finish time; 1=least handling time; 2=least number of loads currently on the dock and 3=most available dock length (only for variable length docks).

0 0 3 False

TertiaryDockSelector

Integer The tertiary criterion by which dock selection is made, where 0= earliest finish time; 1=least handling time; 2=least number of loads currently on the dock and 3=most available dock length (only for variable length docks)

0 0 3 False

FavorSelectedRoute

Integer Set this argument to 1, to specify that the assigned route for each load is attempted first, and other routes are tried only if it is not feasible (for scheduling reasons and so on), to use the assigned route. If 0, then all routes can be used. If you have already found an optimal plan based on carrier constraints, then set FavorSelectedRoute to 2, the Optimizer only focuses on dock selection from a timing and scheduling point of view, and does not switch the selected route.

0 0 2 No

UseFixedLengthTime Slot

Boolean

You can only use this argument for scenarios where the handling time is uniform for a dock if a fixed handling time is defined at the location. When UseFixedLengthTimeSlot to False, dock scheduling is performed in the standard way using the location’s business hours and the sequence of arrival of loads at the dock. When this argument is set to True, the Optimizer uses the fixed handling time specified for the facility, to schedule loads at the dock by time slots based on that handling time. It also considers the flexibility and constraints of load pickup windows, so that any scheduling gaps are filled.

False 0 None No

NumberOfIterations

Integer The number of iterations that are used to reduce the number of unschedulable loads or trips.

10 0 1000 False

SchedulingVehiclesOnly

Boolean

Use this argument to specify whether TryDockScheduling considers dock capacities. If this argument is set to True, the Optimizer does not consider dock capacities in attempting to assign docks.

False 0 None False

JDA Transportation Modeler Strategies and Parameters Guide 145 © 1995-2015 JDA Software Group, Inc.- Confidential

Strategy functions

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

MinimizeNumberOfVehicles

Integer If 0, the Optimizer does not attempt to minimize the number of vehicles used. If 1, the Optimizer gives preference to vehicles that are already used. If 2, the Optimizer aggressively tries to minimize vehicle usage by reducing them one at a time.

0 0 2 False

ReturnToDomiciles

Boolean

If this argument is set to True, the Optimizer specifies that every vehicle must return to its domicile after each usage.

True 0 None False

PercentIncreaseAllowed

Float Use this argument to specify the maximum cost increase allowed when switching from a selected route to a different route.

50 0 None True

MinimizeTransitTime

Boolean

If this argument is set to True, the Optimizer minimizes transit time to determine the earliest start of each load or trip

True 0 None False

MaxPenaltyAllowed

Float Use this argument to enable the Optimizer to incur a larger penalty (up to MaxPenaltyAllowed) to reduce wait time instead of reducing the penalty.

0 0 None False

RespectDOT Boolean

If this argument is set to True, the Optimizer (internally) considers two loads or trips together so that DOT and Driver Hours of Service rules are respected. You must also set ReturnToDomicile to True to enable RespectDOT.

False 0 None False

TryOptResource

Integer If 1, the Optimizer runs OptResourceConstraints to improve resource assignment; if 2, it only runs resource moves, not resource swaps.

0 0 None False

NumberOfCostIterations

Integer The number of iterations attempted to improve transporation cost.

0 0 20 False

MaxVehicleDockGapInMinutes

Integer When selecting docks, the docks that can be scheduled within the specified vehicle gap time are preferred.

Infinity 0 None True

MinimizeDocksUsed

Boolean

If set to True, docks with higher priority and longer length are preferred and the number docks used is minimized.

False 0 None False

TryMinimizeFleetSize TryMinimizeFleetSize ()

TryMinimizeFleetSize minimizes the number of vehicles used in the solution. You can use the results to estimate required fleet capacity. TryMinimizeFleetSize calculates the minimum number of vehicles necessary for all loads in the plan and for each equipment type by dividing the total elapsed time for all loads in all domiciles by the total time available in the planning horizon. It performs scheduling

JDA Transportation Modeler Strategies and Parameters Guide 146 © 1995-2015 JDA Software Group, Inc.- Confidential

Strategy functions

using this initial estimate. However, it is possible that this estimated number of vehicles is too low to achieve the moving of all freight on all loads by the end of the planning horizon. In this case, additional vehicles are used near the end of the planning horizon and the actual number of vehicles used is larger than the TryMinimizeFleetSize initial estimate.

If the initial estimated required number and the actual number of vehicles used are not the same, the average of the two numbers is considered as a revised estimate, scheduling is performed again (using the revised estimate), and the numbers are again compared. If the numbers are still not equal, the TryMinimizeFleetSize performs further iterations as necessary, each time achieving a smaller and smaller difference between the estimated and actual number of vehicles used, until there is no difference and the lowest number of vehicles required to transport the required freight within the planning horizon is scheduled.

For example, if TryMinimizeFleetSize estimates the number of required vehicles in a solution to be 10 (based on the total elapsed time for all loads in all domiciles divided by the total time available in the planning horizon), then scheduling is performed using this initial estimate. That is, the Optimizer schedules the use of 10 vehicles in the planning horizon. However, it is possible that this estimated number of vehicles is too low to achieve the moving of all freight on all loads by the end of the planning horizon. In this case, additional vehicles are used (near the end of the planning horizon) and the actual number of vehicles used is larger than TryMinimizeFleetSize estimate.

TryMinimizeFleetSize compares the initial estimate (10) with the actual number of vehicles assigned after scheduling (assume that this is 20) because the estimate and the actual numbers are not equal, it performs another iteration. It uses the average of the two numbers, in this case (10+20)/2 = 15, as the estimate for the next iteration. Scheduling is done again, using the revised estimate for number of vehicles. Again, it is possible that more vehicles than the estimated number actually need to be used in the solution in order to move all the freight within the planning timeframe.

In this example, assume that the Optimizer attempts to use the revised estimate of 15 vehicles in the second iteration, but ultimately must use 19 to complete all shipping within the time horizon. There is still a difference between the estimated minimum number of vehicles and the actual scheduled number of vehicles, so TryMinimizeFleetSize performs another iteration, followed by additional iterations if necessary. Each time, the strategy will achieve a smaller and smaller difference between the estimated and actual number of vehicles used, until there is no difference, and the lowest number of vehicles required to transport the required freight within the planning horizon is scheduled.

Note: This strategy does not switch between equipment types currently.

The following table illustrates a sample series of iterations and associated estimated and actual vehicle numbers as a result of running the TryMinimizeFleetSize.

Iteration Min. Required Vehicles (Est.) Actual # Vehicles Scheduled Difference

1 10 20 10

2 (10+20)/2 = 15 19 4

3 (15+19)/2 = 17 18 1

4 (17+18)/2 = 17.5, round up to 18 18 0

TryRelayHubs TryRelayHubs (<MaxHubsToTry> <MaxInsertionPercentage> <MinLoadDistance> <MinDistanceSavings> <ConsiderOnlyTransferHubs>)

The TryRelayHubs considers hubs designated as relay points when creating loads or trips. Relay hubs are locations at which drivers can swap trailers, but at which no freight is loaded or unloaded. Using relay hubs can result in lower cost loads or trips by, for example, reducing unloaded distance to return to a domicile.

JDA Transportation Modeler Strategies and Parameters Guide 147 © 1995-2015 JDA Software Group, Inc.- Confidential

Strategy functions

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

MaxHubsToTry Integer Use this argument to specify the maximum number of hubs that TryRelayHubs tries. The Optimizer considers the closest valid hubs up to the number specified in MaxHubsToTry.

4 1 None Yes

MaxInsertionPercentage Float If the percentage increase in traveled distance is greater than MaxInsertionPercentage, the Optimizer does not use the relay hubs under consideration. The percentage increase is calculated using the formula (OH + HD - OD)/(OD), where the three points are origin (O) of the shipment, hub (H), and destination (D) of the shipment.

50 0 1000 No

MinLoadDistance Integer Use this argument to specify the minimum distance that the load must travel for the Optimizer to consider using relay hubs.

0 0 None Yes

MinDistanceSavings Float Use this argument to specify the minimum distance savings that must be achieved (compared with the original routing without relay hubs) for the Optimizer to consider using relay hubs.

0 None None No

ConsiderOnlyTransferHubs Boolean Use this argument to indicate whether HubInsertion considers hubs that are identified as transfer hubs when building loads or trips.

False 0 None No

AfterBefore

D

H

OD

O D

H

OD

O

Load 1Driver 1

Load 2Driver 2

Load 1Driver 1

Load 2Driver 1

Load 1Driver 2

Load 2Driver 2

(dotted line) represents deadhead distance

JDA Transportation Modeler Strategies and Parameters Guide 148 © 1995-2015 JDA Software Group, Inc.- Confidential

Strategy functions

TryShipsDirect TryShipsDirect (<MaxLegstoMove>)

TryShipsDirect considers shipments from loads and sending them directly. Even if building a consolidated load is less expensive than sending all of its shipments direct, overall cost can be reduced if one shipment from the load can be removed and sent direct. TryShipsDirect verifies all shipments, but operates on one shipment at a time. It removes the combinations of up to MaxLegsToMove shipments from the load, reduces this number of shipments by one and repeats the process. It continues until it has tried removing one single shipment from the load at a time.

Argument Type Description Default Lower Limit

Upper Limit

Allow ‘ANY’

MaxLegstoMove Integer The Optimizer does not consider removing sequences of more than MaxLegstoMove number of legs.

3 1 None True

JDA Transportation Modeler Strategies and Parameters Guide 149 © 1995-2015 JDA Software Group, Inc.- Confidential

Edit the strategy file

Chapter 11. Edit the strategy file This chapter provides information on how to edit the strategy file. You can use the Strategy File Editor or any text editor.

Strategy file editor The strategy file editor enables you to create and edit strategy files quickly and easily. It provides lists of valid strategy file functions, arguments, and context-sensitive hints on the use of all valid items.

Note: Use caution when you edit the strategy file. Making changes to this file changes the behavior of Transportation Modeler and the results it produces. Contact JDA Support Service if you need assistance with editing the strategy file.

Wizard mode The Wizard mode in Strategy File Editor provides more editing features than Text mode. By default, the Strategy File Editor launches in Wizard Mode. To switch to Text Mode, click the Text button. To switch from Text Mode back to Wizard Mode, click the Wizard button. In Wizard Mode, the Strategy File Editor consists of several sections:

Strategy editor hints In Wizard Mode, click Enable Hints to display a separate dialog box containing help for the selected function and any required parameters. To hide the Hints, click Disable Hints.

Strategy file view The Strategy File View section is the main pane displaying the strategy file text. Within the view, you can move lines or select lines to edit.

Line editor The Line Editor section provides lists of valid entry types and specific functions for the strategy file. It contains four fields, the Type of entry, the specific Function, an optional Comment, and optional Parameters.

• Click the Type menu button to display the valid functions. Once you select a type, if there are functions within that type, the Strategy File Editor lists the valid functions for that type.

• Click the Function menu button to display the valid functions. If you enabled the hints in the Strategy File Editor, the top portion of the Strategy Editor Hints contains information on the currently selected function.

If the value for Type is Comment Line, enter text in the Comment field.

If the value for Type is neither Blank Line nor Comment Line, adjust the values for the required parameters.

Note: If the value for Type is Comment Line or Blank Line, no functions available and no parameters are required.

Required parameters If the function requires parameters, the Strategy File Editor makes the parameters and default values available for editing within the Parameters section. If you enabled the hints in the strategy file editor, the bottom portion of the Strategy Editor Hints contains information on the currently selected parameter.

JDA Transportation Modeler Strategies and Parameters Guide 150 © 1995-2015 JDA Software Group, Inc.- Confidential

Edit the strategy file

Text mode The Text mode in Strategy File Editor provides a basic interface. By default, the Strategy File Editor launches in Wizard mode. To switch to Text mode, click the Text button.

In this mode, you cannot access the following features:

• Strategy Editor Hints

• Line Editor

• Required Parameters

• New Line

• Delete Line

The Strategy File Editor displays any changes you make in text mode if you return to Wizard mode.

Use the strategy file editor to edit a strategy file 1. Select the Home tab in the ribbon.

2. Click Edit Strategy File in the Configuration group. The Open file dialog box is displayed with the strategy file that you specified in the Files and Directories tab.

3. Select a strategy file to edit.

4. Click Open. The selected strategy file is displayed in the Strategy File Editor.

The following Strategy File Editor functions are available across the top of the dialog box.

• Text/Wizard: Switches the strategy file editor between the default wizard mode and a standard text mode.

• Disable Hints/Enable Hints: Switches the Strategy Editor Hints on (Enable Hints) and off (Disable Hints).

• New Line: Inserts a new (blank) line immediately below the currently selected line.

• Delete Line: Deletes the currently selected line. This function requires confirmation.

• Toggle Comment: Switches the currently selected line to a comment or uncomments it (if already a comment). A comment is indicated by a pound sign (#) preceding the line.

• Compile: Verifies the validity of the current strategy file.

• Save: Saves changes to the strategy file. The strategy editor remains open.

• Save As: Saves the current strategy file to a new file, with the name and location that you specify.

• Close: Closes the strategy file editor, and prompts you to save changes to the strategy file.

Edit a line in the strategy file 1. Select the line from the Strategy File View that you want to edit.

2. Use the Line Editor and Required Parameters sections to define or edit the line.

3. Click the Type menu button, then select the type of line to create.

4. If you select Comment Line as the type, enter text in the Comment field.

JDA Transportation Modeler Strategies and Parameters Guide 151 © 1995-2015 JDA Software Group, Inc.- Confidential

Edit the strategy file

5. If you select a type other than Blank Line or Comment Line, click the Function multi-state button to select the specific function, and then adjust the parameters as needed. You can optionally enter text in the Comment field.

6. Move the cursor to another line in the Strategy File View to end the edit and post the changes. If you are adding or editing a comment, move the cursor to another line to post the changes.

For more information, see Use the line editor and required parameters (on page 152).

Add a new line to the strategy file 1. Place your cursor at the point below which you want to add a line from the Strategy File View.

2. Click New Line. The Strategy File Editor adds a new line to the file. Alternately, click Enter.

Note: Click the Type menu button and select Blank Line to change an existing line to a blank line.

Delete a line in the strategy file 1. Select the line from the Strategy File View that you want to delete.

2. Click Delete Line. The Strategy File Editor prompts you to confirm the deletion.

3. Click Yes.

Move a line in the strategy file 1. Select the line that you want to move from the Strategy File View.

2. Drag and drop the line to the new position.

Use the line editor and required parameters You can use the Line Editor and Required Parameters sections of the Strategy File Editor together to make entering and editing strategy file lines easier and to prevent errors. For more information, see Use the strategy file editor to edit a strategy file (on page 151).

Edit the strategy file 1. Select a line in the strategy file to edit from the Strategy File View.

Note: You can enter a blank line if you want to add new information to the file.

2. Click the Type menu button and select a type. The Strategy File Editor updates the list of functions available to you to reflect the selected type.

Note: The Blank Line and Comment Line types do not support Functions. You cannot select End of Block or Unknown; these types indicate lines that you have selected.

3. Click the Function multi-state button, select the function. If the function requires parameters, the Strategy File Editor displays the parameters and their default values in the Required Parameters section of the dialog box.

4. You can enter a comment. If you enter a comment as part of another function, the Strategy File Editor adds the comment at the end of the function line, with the pound sign (#) preceding it. You must click or tab to another line in the file to record the comment.

5. Edit the Parameters.

JDA Transportation Modeler Strategies and Parameters Guide 152 © 1995-2015 JDA Software Group, Inc.- Confidential

Edit the strategy file

Select Types and Functions Click the menu button (Type or Function) in the Line Editor section of the Strategy File Editor to display the list of options.

The Strategy File Editor displays the current option with a chevron to the left of the name in the function list.

The following types and functions are available:

• Blank Line: A blank line used to organize sections of the file. Note: The Comment field is not available for Blank Line entries.

• Comment Line/Uncomment Line: This function inserts a pound sign (#) preceding the text entered. When a line of text is preceded by #, the line is ignored by the compiler and the optimizer. If you designated the selected line as a comment line, the type will change to an Uncomment Line.

• Control Function: See Control functions (on page 8).

• Global Parameter Function: See Global parameter functions (on page 9).

• Plan Comparison Function: See Plan Comparison Functions (on page 17).

• Constraint Function: See Constraint functions (on page 18).

• Plan Stack Function: See Plan stack functions (on page 27).

• Log Function: See Log functions (on page 30).

• Filter Function: See Filter functions (on page 37).

• Strategy Function: See Strategy functions (on page 74).

• End of Block: Indicates the end of a block within the file that starts with one of the block functions: If, While, and For. You cannot select this type; it is set for an existing line by the Strategy Editor.

• Unknown: An unknown line type within the file. You cannot select this type; it is set for an existing line by the Strategy Editor.

Work with If, While, and For The programming constructs If, While, and For define the start of blocks within the strategy file. Each of these functions requires an end function to indicate the end of the block. When you create a line in the strategy file that uses one of the three block start functions, the Strategy File Editor automatically adds another line containing the end function. The Strategy File Editor adds the line immediately beneath the block start function you have created. You can move the end of block line to any location within the file that is after the block start function. All lines between the start of the block and the end are indented. This makes the file easy to read.

Compile the strategy file After editing the strategy file, you can use the Compile function to verify for syntax or formatting errors within the file. You can compile the strategy file at any point during the editing session.

Click Compile. The Result of Strategy File Compilation dialog box is displayed with a message indicating whether the compile was completed successfully.

JDA Transportation Modeler Strategies and Parameters Guide 153 © 1995-2015 JDA Software Group, Inc.- Confidential

Edit the strategy file

Save the strategy file After editing the strategy file, you can save it to its original file name or as a new file. Click Save. The Strategy File Editor saves the file with all edits to its current file name. After saving, you can continue to work within the Strategy File Editor.

Re-name the strategy file 1. Click Save As.

2. Enter a name for the strategy file. The Strategy File Editor adds the .opt extension automatically. After saving the strategy file with a new name, you can continue to work within the Strategy File Editor.

Close the strategy file editor 1. Click Close. If you made any changes to the strategy file, the Strategy File Editor prompts to you

whether you want to exit.

2. Click Yes to exit without saving changes to the strategy file or No to continue editing the file.

Use a text editor to edit the strategy file You can also use any text editor to modify the Strategy file.

Note: Use caution when you edit the strategy file. Making changes to this file changes the behavior of Transportation Modeler and the results it produces. Contact JDA Support Service if you need assistance with editing the strategy file.

1. Open the selected strategy file using any text editor. The strategy files supplied with Transportation Modeler are located in the Transportation Modeler\Strategies folder. The default strategy file is named strat.opt.

2. Using the text editor features, you can update the file. For more information on individual strategies and their arguments, see The strategy file (on page 3).

3. When you have finished making your changes, save and close the file.

Save the current strategy file Save the strategy file using the text editor or the appropriate command line command. The existing strategy file is updated with the changes you made.

Save the strategy file with a new name Save the strategy file with a new name, using the text editor or the appropriate command line command. The strategy file is saved with the new filename. The .opt file extension is added automatically.

JDA Transportation Modeler Strategies and Parameters Guide 154 © 1995-2015 JDA Software Group, Inc.- Confidential

Sample strategy files

Chapter 12. Sample strategy files The Transportation Modeler installation includes a series of sample strategy files. These files demonstrate how you can use strategies during shipment consolidation.

The sample strategy files include commented lines that you can enable to use additional features, such as resource constraints and Load Configurator verification.

Note: These strategy files are examples only. The actual strategy files that you use may vary to accommodate your own requirements. Contact JDA Support Service for assistance with strategy file changes.

Direct strategy file This strategy file illustrates direct shipments, without considering hubs or continuous moves.

# JDA Software Group

# Strat.strat (Basic direct strategy set)

# EnforceResourceConstraints ( TRUE FALSE 0 FALSE 0 )

# Uncomment to enforce Resource Constraints

# SetUseLCVerification ( TRUE )

# Uncomment to use Load Configurator Verification

CreatePlanStack ( STACK )

ConSamePickAndDrop ( TRUE TRUE TRUE FALSE ANY ANY 0 TRUE FALSE FALSE FALSE ANY )

Set ( INITIAL GETPLAN () )

For ( RADIUS 150 450 150 )

SetPlan ( INITIAL )

Con ( 0 0 RADIUS 50 FALSE TRUE TRUE TRUE 100 TRUE 0 0 FALSE )

Con ( 0 RADIUS 0 50 FALSE TRUE TRUE TRUE 100 TRUE 0 0 FALSE )

PushToPlanStack ( STACK GETPLAN () )

BreakTLLoads ( 85 50 TRUE TRUE FALSE )

TryShipsDirect ( 3 )

JDA Transportation Modeler Strategies and Parameters Guide 155 © 1995-2015 JDA Software Group, Inc.- Confidential

Sample strategy files

OptMove ( RADIUS RADIUS 6 0 100 1000 0 TRUE TRUE TRUE )

OptSwap ( RADIUS RADIUS 6 0 100 1000 0 TRUE TRUE TRUE )

# OptResourceConstraints ( ANY 1 FALSE FALSE 0 FALSE )

# Uncomment when using Resource Constraints

PushToPlanStack ( STACK GETPLAN () )

end

MergeSolvePlanStack ( STACK FALSE ANY FALSE FALSE 0 )

OptTLLoads ( 350 350 6 0 100 1000 0 TRUE TRUE TRUE )

ReOptTLLoads ( 85 50 50 FALSE 350 350 6 0 100 1000 FALSE FALSE FALSE )

# SetUsePCMilerDistanceEngine ( )

# Uncomment to re-rate loads using PCMiler Distance Engine

# ConSamePickAndDrop ( TRUE TRUE TRUE TRUE ANY ANY 0 TRUE FALSE FALSE FALSE ANY )

# Con ( 0 200 200 50 FALSE TRUE TRUE TRUE 100 TRUE 0 )

# Uncomment the following line to enable vehicle and dock scheduling

# TryDockScheduling ( FALSE TRUE FALSE 0 0 1 TRUE FALSE 10 FALSE FALSE TRUE 50 TRUE 0 FALSE FALSE 0 Infinity 0 )

# ######################################################

# # The parameter 'ANY' means no maximum. 0 means 0

# #

# ######################################################

Hub strategy file This strategy file uses hubs.

# JDA Software Group

# Hub Strat.strat (Strategy set designed to take advantage of hub facilities)

JDA Transportation Modeler Strategies and Parameters Guide 156 © 1995-2015 JDA Software Group, Inc.- Confidential

Sample strategy files

# EnforceResourceConstraints ( TRUE FALSE 0 FALSE 0 )

# Uncomment to enforce Resource Constraints

# SetUseLCVerification ( TRUE )

# Uncomment to use Load Configurator Verification

CreatePlanStack ( STACK )

ConSamePickAndDrop ( TRUE TRUE TRUE TRUE ANY ANY 0 TRUE FALSE FALSE FALSE ANY )

Set ( INITIAL GETPLAN () )

For ( RADIUS 150 450 150 )

SetPlan ( INITIAL )

Con ( 0 0 RADIUS 50 FALSE TRUE TRUE TRUE 100 TRUE 0 0 FALSE )

Con ( 0 RADIUS 0 50 FALSE TRUE TRUE TRUE 100 TRUE 0 0 FALSE )

PushToPlanStack ( STACK GETPLAN () )

BreakTLLoads ( 85 50 TRUE TRUE FALSE )

TryShipsDirect ( 3 )

OptMove ( RADIUS RADIUS 6 0 100 1000 0 TRUE TRUE TRUE )

OptSwap ( RADIUS RADIUS 6 0 100 1000 0 TRUE TRUE TRUE )

# OptResourceConstraints ( ANY 1 FALSE FALSE 0 FALSE )

# Uncomment when using Resource Constraints

PushToPlanStack ( STACK GETPLAN () )

end

MergeSolvePlanStack ( STACK FALSE ANY FALSE FALSE 0 )

PushToPlanStack ( STACK GETPLAN () )

JDA Transportation Modeler Strategies and Parameters Guide 157 © 1995-2015 JDA Software Group, Inc.- Confidential

Sample strategy files

SetPlan ( INITIAL )

HubAssignment ( 200 3 200 3 50 0 ANY 0 100 100 100 TRUE TRUE ANY TRUE TRUE 0 FALSE FALSE TRUE TRUE )

ConSamePickAndDrop ( TRUE TRUE TRUE FALSE ANY ANY 0 TRUE FALSE FALSE FALSE ANY )

HubMove ( ANY 0 ANY ANY TRUE TRUE TRUE TRUE FALSE FALSE TRUE )

PushToPlanStack ( STACK GETPLAN () )

Con ( 0 0 350 50 FALSE TRUE TRUE TRUE 100 TRUE 0 0 FALSE )

Con ( 0 350 0 50 FALSE TRUE TRUE TRUE 100 TRUE 0 0 FALSE )

TryShipsDirect ( 3 )

BreakTLLoads ( 85 50 TRUE TRUE FALSE )

OptTLLoads ( 350 350 6 0 ANY 1000 0 TRUE TRUE TRUE )

PushToPlanStack ( STACK GETPLAN () )

# EnforceHubConstraints ( TRUE )

# Uncomment to enforce Hub Constraints

HubMove ( ANY 0 ANY ANY TRUE TRUE TRUE TRUE FALSE FALSE TRUE )

Reship ( 100 0 3 4 TRUE TRUE TRUE FALSE )

DeleteLTLLegs ( 0 0 )

# OptResourceConstraints ( ANY 1 FALSE FALSE 0 FALSE )

# Uncomment when using Resource Constraints

PushToPlanStack ( STACK GETPLAN () )

MergeSolvePlanStack ( STACK FALSE ANY FALSE FALSE 0 )

OptTLLoads ( 350 350 6 0 100 1000 0 TRUE TRUE TRUE )

ReOptTLLoads ( 85 50 50 FALSE 350 350 6 0 100 1000 FALSE FALSE FALSE )

JDA Transportation Modeler Strategies and Parameters Guide 158 © 1995-2015 JDA Software Group, Inc.- Confidential

Sample strategy files

# SetUsePCMilerDistanceEngine ( )

# Uncomment to re-rate loads using PCMiler Distance Engine

# ConSamePickAndDrop ( TRUE TRUE TRUE TRUE ANY ANY 0 TRUE FALSE FALSE FALSE ANY )

# Con ( 0 200 200 50 FALSE TRUE TRUE TRUE 100 TRUE 0 0 FALSE )

# Uncomment the following line to enable vehicle and dock scheduling

# TryDockScheduling ( FALSE TRUE FALSE 0 0 1 TRUE FALSE 10 FALSE FALSE TRUE 50 TRUE 0 FALSE FALSE 0 Infinity 0 )

# ######################################################

# # The parameter 'ANY' means no maximum. 0 means 0

# #

# ######################################################

Continuous move strategy file This strategy file uses continuous moves (CMove).

# JDA Software Group

# Continuous Move Strat.strat (Direct strategy set designed to take advantage of continuous move opportunities)

# EnforceResourceConstraints ( TRUE FALSE 0 FALSE 0 )

# Uncomment to enforce Resource Constraints

# SetUseLCVerification ( TRUE ) # Uncomment to use Load Configurator Verification

CreatePlanStack ( STACK )

ConSamePickAndDrop ( TRUE TRUE TRUE FALSE ANY ANY 0 TRUE FALSE FALSE FALSE ANY )

Set ( INITIAL GETPLAN () )

For ( RADIUS 150 450 150 )

SetPlan ( INITIAL )

Con ( 0 0 RADIUS 50 FALSE TRUE TRUE TRUE 100 TRUE 0 0 FALSE )

Con ( 0 RADIUS 0 50 FALSE TRUE TRUE TRUE 100 TRUE 0 0 FALSE )

JDA Transportation Modeler Strategies and Parameters Guide 159 © 1995-2015 JDA Software Group, Inc.- Confidential

Sample strategy files

PushToPlanStack ( STACK GETPLAN () )

BreakTLLoads ( 85 50 TRUE TRUE FALSE )

TryShipsDirect ( 3 )

OptMove ( RADIUS RADIUS 6 0 100 1000 0 TRUE TRUE TRUE )

OptSwap ( RADIUS RADIUS 6 0 100 1000 0 TRUE TRUE TRUE )

# OptResourceConstraints ( ANY 1 FALSE FALSE 0 FALSE )

# Uncomment when using Resource Constraints

PushToPlanStack ( STACK GETPLAN () )

end

MergeSolvePlanStack ( STACK FALSE ANY FALSE FALSE 0 )

OptTLLoads ( 350 350 6 0 100 1000 0 TRUE TRUE TRUE )

ReOptTLLoads ( 85 50 50 FALSE 350 350 6 0 100 1000 FALSE FALSE FALSE )

# SetUsePCMilerDistanceEngine ( )

# Uncomment to re-rate loads using PCMiler Distance Engine

# ConSamePickAndDrop ( TRUE TRUE TRUE TRUE ANY ANY 0 TRUE FALSE FALSE FALSE )

# Con ( 0 200 200 50 FALSE TRUE TRUE TRUE 100 TRUE 0 0 FALSE )

CMove ( 100 6 TRUE ANY ANY 0 ANY ANY 0 0 FALSE 2 FALSE )

CMoveSwap ( 350 350 3 0 ANY 1000 )

PushToPlanStack ( STACK GETPLAN () )

ResequenceStops ( 0 )

ResequenceLoads ( 0 1 )

PushToPlanStack ( STACK GETPLAN () )

CMove ( 100 6 FALSE ANY ANY 0 ANY ANY 0 0 FALSE 2 FALSE )

CMoveSwap ( 350 350 3 0 ANY 1000 )

JDA Transportation Modeler Strategies and Parameters Guide 160 © 1995-2015 JDA Software Group, Inc.- Confidential

Sample strategy files

PushToPlanStack ( STACK GETPLAN () )

ResequenceStops ( 0 )

ResequenceLoads ( 0 1 )

PushToPlanStack ( STACK GETPLAN () )

MergeSolvePlanStack ( STACK FALSE ANY FALSE FALSE 0 )

# Uncomment the following line to enable vehicle and dock scheduling

# TryDockScheduling ( FALSE TRUE FALSE 0 0 1 TRUE FALSE 10 FALSE FALSE TRUE 50 TRUE 0 FALSE FALSE 0 Infinity 0 )

# ######################################################

# # The parameter 'ANY' means no maximum. 0 means 0

# #

# ######################################################

Hub and continuous move strategy file This strategy file combines hubs with continuous move opportunities.

# JDA Software Group

# Hub-Continuous Move Strat.strat (Strategy set designed to take advantage of hub facilities and continuous move opportunities)

# EnforceResourceConstraints ( TRUE FALSE 0 FALSE 0 )

# Uncomment to enforce Resource Constraints

# SetUseLCVerification ( TRUE ) # Uncomment to use Load Configurator Verification

CreatePlanStack ( STACK )

ConSamePickAndDrop ( TRUE TRUE TRUE FALSE ANY ANY 0 TRUE FALSE FALSE FALSE ANY )

Set ( INITIAL GETPLAN () )

For ( RADIUS 150 450 150 )

SetPlan ( INITIAL )

JDA Transportation Modeler Strategies and Parameters Guide 161 © 1995-2015 JDA Software Group, Inc.- Confidential

Sample strategy files

Con ( 0 0 RADIUS 50 FALSE TRUE TRUE TRUE 100 TRUE 0 0 FALSE )

Con ( 0 RADIUS 0 50 FALSE TRUE TRUE TRUE 100 TRUE 0 0 FALSE )

PushToPlanStack ( STACK GETPLAN () )

BreakTLLoads ( 85 50 TRUE TRUE FALSE )

TryShipsDirect ( 3 )

OptMove ( RADIUS RADIUS 6 0 100 1000 0 TRUE TRUE TRUE )

OptSwap ( RADIUS RADIUS 6 0 100 1000 0 TRUE TRUE TRUE )

# OptResourceConstraints ( ANY 1 FALSE FALSE 0 FALSE )

# Uncomment when using Resource Constraints

PushToPlanStack ( STACK GETPLAN () )

end

MergeSolvePlanStack ( STACK FALSE ANY FALSE FALSE 0 )

PushToPlanStack ( STACK GETPLAN () )

SetPlan ( INITIAL )

HubAssignment ( 200 3 200 3 50 0 ANY 0 100 100 100 TRUE TRUE ANY TRUE TRUE 0 FALSE FALSE TRUE TRUE )

ConSamePickAndDrop ( TRUE TRUE TRUE FALSE ANY ANY 0 TRUE FALSE FALSE FALSE ANY )

HubMove ( ANY 0 ANY ANY TRUE TRUE TRUE TRUE FALSE FALSE TRUE )

PushToPlanStack ( STACK GETPLAN () )

Con ( 0 0 350 50 FALSE TRUE TRUE TRUE 100 TRUE 0 0 FALSE )

Con ( 0 350 0 50 FALSE TRUE TRUE TRUE 100 TRUE 0 0 FALSE )

BreakTLLoads ( 85 50 TRUE TRUE FALSE )

TryShipsDirect ( 3 )

JDA Transportation Modeler Strategies and Parameters Guide 162 © 1995-2015 JDA Software Group, Inc.- Confidential

Sample strategy files

OptTLLoads ( 350 350 6 0 ANY 1000 0 TRUE TRUE TRUE )

PushToPlanStack ( STACK GETPLAN () )

# EnforceHubConstraints ( TRUE )

# Uncomment to enforce Hub Constraints

HubMove ( ANY 0 ANY ANY TRUE TRUE TRUE TRUE FALSE FALSE TRUE )

Reship ( 100 0 3 4 TRUE TRUE TRUE FALSE )

DeleteLTLLegs ( 0 0 )

# OptResourceConstraints ( ANY 1 FALSE FALSE 0 FALSE )

# Uncomment when using Resource Constraints

PushToPlanStack ( STACK GETPLAN () )

MergeSolvePlanStack ( STACK FALSE ANY FALSE FALSE 0 )

OptTLLoads ( 350 350 6 0 100 1000 0 TRUE TRUE TRUE )

ReOptTLLoads ( 85 50 50 FALSE 350 350 6 0 100 1000 FALSE FALSE FALSE )

# SetUsePCMilerDistanceEngine ( )

# Uncomment to re-rate loads using PCMiler Distance Engine

# ConSamePickAndDrop ( TRUE TRUE TRUE TRUE ANY ANY 0 TRUE FALSE FALSE FALSE ANY )

# Con ( 0 200 200 50 FALSE TRUE TRUE TRUE 100 TRUE 0 0 FALSE )

CMove ( 100 6 TRUE ANY ANY 0 ANY ANY 0 0 FALSE 2 FALSE )

CMoveSwap ( 350 350 3 0 ANY 1000 )

PushToPlanStack ( STACK GETPLAN () )

ResequenceStops ( 0 )

ResequenceLoads ( 0 1 )

PushToPlanStack ( STACK GETPLAN () )

CMove ( 100 6 FALSE ANY ANY 0 ANY ANY 0 0 FALSE 2 FALSE )

CMoveSwap ( 350 350 3 0 ANY 1000 )

PushToPlanStack ( STACK GETPLAN () )

JDA Transportation Modeler Strategies and Parameters Guide 163 © 1995-2015 JDA Software Group, Inc.- Confidential

Sample strategy files

ResequenceStops ( 0 )

ResequenceLoads ( 0 1 )

PushToPlanStack ( STACK GETPLAN () )

MergeSolvePlanStack ( STACK FALSE ANY FALSE FALSE 0 )

# Uncomment the following line to enable vehicle and dock scheduling

# TryDockScheduling ( FALSE TRUE FALSE 0 0 1 TRUE FALSE 10 FALSE FALSE TRUE 50 TRUE 0 FALSE FALSE 0 Infinity 0 )

# ######################################################

# # The parameter 'ANY' means no maximum. 0 means 0

# #

# ######################################################

JDA Transportation Modeler Strategies and Parameters Guide 164 © 1995-2015 JDA Software Group, Inc.- Confidential

Optimizer parameters

Chapter 13. Optimizer parameters This chapter provides information on various optimization parameters and how to set them using Optimizer parameters file (on page 3).

Optimizer parameters file The Optimizer Parameters file is a text file that the Optimizer uses to control how it performs shipment optimization. Load, time, and carrier parameters allow you to control how the Optimizer combines shipments into loads.

The optimizer parameters file is named OptParameters.param by default. You can override the name and location of the parameters file for individual optimizations on the Optimizer tab of the Solver Options dialog box. For more information, see the Transportation Modeler User Guide.

You can use any text editor or the Edit Parameter File function in the Transportation Modeler user interface to make changes to the OptParameters file. You can also edit it with any standard text editor. For more information, see Use a text editor to edit the parameters file (on page 187).

The format of the OptParameters file is simple:

• Each parameter is on its own line within the file.

• The value for the parameter is on the same line as the parameter, separated from the parameter by at least one space.

• The Optimizer ignores any line of the file in which it does not find a valid parameter name.

• In some cases, a value of 0 is equal to 0; in other cases, it indicates a non-constraining value (infinity). This difference is called out where appropriate for each parameter.

The OptParameters file allows you to control the following parameters.

• AllowAllTariffsForDomiciles: To use domiciles during optimization, you must use round trip tariffs. Use this parameter to indicate whether non-round trip tariffs are used. If this parameter is set to True, the domiciles are used on loads or trips that use point-to-point tariffs. The default for this parameter is False.

• AllowBreaksDuringUnloading: When you set this parameter to True, the Optimizer allows the driver to take a break in the middle of loading or unloading. It tries to reduce the total transit time of the load by attempting to insert a break during loading or unloading, instead of inserting the break after the loading or unloading is done. This is useful when loading or unloading time is long. The default for this parameter is False.

• AllowIllegalWaitTimeBeforeBreak: This parameter is used for backward compatibility and often used with restrictive DriverMaxBreakTime and long WaitTime parameters. If false, no illegal wait time will be allowed before a break is taken. The default value is False.

• AllowExternalLookahead: If this value is false, then optimizer never looks ahead to the next range break (for LTL) and does not consider the hundred weight cost (for Parcel). If this is true, then optimizer considers the Lookahead setting of the TM Charge.

• AllowedExternalTransitType: Allows you to define the origin and destinations types that are allowed for external scheduling. You can enter one of the following values:

• 0: Allows any combination of direct and indirect origins.

JDA Transportation Modeler Strategies and Parameters Guide 165 © 1995-2015 JDA Software Group, Inc.- Confidential

Optimizer parameters

• 1: Both the origin and destination type must be direct. If either is indirect, then optimizer does not consider the scheduling information returned by CarrierConnect WS.

• 2: The origin type must be direct. If it is not, optimizer does not consider the scheduling information returned by CarrierConnect WS.

• 3: The destination type must be direct. If it is not, optimizer does not consider the scheduling information returned by CarrierConnect WS.

• 4: One of the origin or destination type must be direct. If neither is, optimizer does not consider the scheduling information returned by CarrierConnect WS.

• AllowHandlingInWeekendScheduling: This parameter determines whether the driver can load or unload during weekend/holiday breaks. The default value is false.

• AllowInterleavedStops: By default, the Optimizer performs all picks for a load, then all drops. A generalized representation of this is P-P-P-D-D-D. When you set this parameter to True, the Optimizer can consider dropping a shipment before picking up another: P-P-D-P-D-D.

You can override this parameter using the SetAllowInterleavedStops global parameter function. For more information, see SetAllowInterleavedStops (on page 9).

• AllowLoadBecomeEmpty: If you set this parameter to True and you set AllowInterleavedStops to True, Transportation Modeler can build pick-drop-pick-drop or "ABA" loads. "ABA" loads are built from location "A" to location "B", and then back to location "A". They are similar to trips, with the following differences:

• Handling time at stop "B" is not incurred twice.

• "ABA" loads are built without calling CMove. Building them early in the optimization can improve optimization performance.

• AllowLoopyTrips: This parameter allows you to control trip generation irrespective of cost or distance savings. Setting this parameter to "False" does not allow trips that have consecutive loads originating from the same origin. So a trip with load A to B and then A to C would not be allowed. The default value is "True" which mimics existing behavior.

• AllowMixedLCandNonLCLoads: Controls whether shipment containers that require LC can be mixed with containers that do not require LC. The default value is True.

• AllowMultipleBorderCrossings: This parameter provides the ability to limit country to country moves in Solve results by allowing or disallowing more than one border crossing on the same trip. By default, this parameter is set to True. If you set the parameter to False, Optimizer does not build loads that require more than one border crossing per load. For example, with the parameter set to False, loads that re-enter the same country going through another country (for example, from USA through Canada back into USA) will not be built.

• AllowMultiOriginBookings: When you set this parameter to True, optimizer considers bookings with multiple origins during optimization. If you set this parameter to False, optimizer only considers bookings with the same origin.

• AllowMultiDestinationBookings: When you set this parameter to True, optimizer considers bookings with multiple destinations during optimization. If you set this parameter to False, optimizer only considers bookings with the same destination.

• AllowRevisiting: This parameter determines whether you can route a load to the same stop twice. When you set this parameter to True, the Optimizer can route a load to the same stop twice. When you set this parameter to False, the Optimizer does not allow revisiting. This parameter is useful when picking/dropping in a certain order and stops are close together.

JDA Transportation Modeler Strategies and Parameters Guide 166 © 1995-2015 JDA Software Group, Inc.- Confidential

Optimizer parameters

• ApplyBufferTimeToDockOnly: When you set this parameter to True, the solver includes Buffer Time when computing variable loading or unloading times only for locations with docks, when the load/trip uses a route which requires dock scheduling. When this parameter is set to False, Buffer Time is included even when computing variable loading or unloading times for locations without docks, and for locations with docks when the load/trip uses a route which does not require dock scheduling. The default value is False.

• ApplyBufferTimeToThroughputConstraints: When this parameter is True, the total duration for the stop (for location-level Location Throughput Groups) or the dock commitment (for dock-level Location Throughput Groups), including Buffer Time, is used when computing capacity consumption. If this parameter is set to False, Buffer Time is not included when computing capacity consumption. The default value is False.

• AllowTripContinuationAfterLoop: This parameter controls the behavior of a trip with respect to new loads when a loop already exists within its stops. A loop is a series of loads in which a shipping location is used more than once.

Set this parameter to False to restrict a trip from adding new loads when a loop already exists within its stops.

The default value for this parameter is True.

• ApplyShiftSequenceOnOutboundOnly: When you set this parameter to True, Transportation Modeler applies the shift sequence spread and penalties only on outbound legs. If you set this parameter to False, shift sequence spreads and penalties apply on all shipment legs. For details about shift sequencing, see Transportation Modeler User Guide.

• AlwaysUseServiceCEAGroupCodes: This parameter determines how CEA groups will be used. When true, CEA Groups defined at the Tariff/Service will be used, regardless of whether there are lane constraints defined. The default value is false.

• AxleBalancingAllowStaggeredLoading: If this parameter is set to True, pallet staggering is allowed in load configuration (2-1-2 pattern). This can be used to allow or disallow empty positions at the front of a trailer. The default value is True.

• AxleBalancingMaxFrontGap: Defines the maximum gap allowed between the first loaded container and the front of the trailer. The default value is 10000.

• CylinderAdjacentBaseRollMaxDiameterDifference: Defines the maximum difference allowed between the diameters of two adjacent base rolls. This parameter applies only to base rolls that have another roll stacking on them. The default value is 10000.

• CylinderAdjacentStackSmallerShorter: If true, smaller stack minus its top cylinder must be shorter than adjacent bigger stacks. The default value is false.

• CylinderEndLoadWithBigStack: If true, the biggest cylinder stack possible is used at the end. The default value is false.

• CylinderRollHeightClearance: The minimum space required between truck ceiling and a cylinder roll. The default value is 0.

• CylinderRollMaxDiameterDifference: The maximum diameter difference allowed when a cylinder is placed next to another in vertical roll. It only applies to a base roll that has another roll stacking on it. The default value is 10000.

• CylinderRollMaxTotalDiameterDifference: Defines the maximum difference allowed between the diameters of the smallest and the biggest cylinders in a roll. The default value is 10000.

JDA Transportation Modeler Strategies and Parameters Guide 167 © 1995-2015 JDA Software Group, Inc.- Confidential

Optimizer parameters

• CylinderRollUpperLayerMaxWidth: The maximum width allowed when a cylinder roll is placed on top of other cylinder rolls. The default value is 10000.

• CylinderRollWidthClearance: The minimum space required between truck width and a cylinder roll width. The default value is 0.

• CylinderStackHeightClearance: The minimum space required between truck ceiling and a cylinder stack. The default value is 0.

• CylinderStackMaxDiameterDifference: The maximum diameter difference allowed when a cylinder is stacked on another. The default value is 10000.

• CylinderStackMaxTotalDiameterDifference: Defines the maximum difference allowed between the diameters of the smallest and the largest cylinders in a stack. The default value is 10000.

• CylinderStackStaggeredMinDiameter: Defines the minimum diameter required for a stack when staggered loading is required. The default value is 10000.

• CylinderTailEnderAllowedPosition: Defines the positions allowed for a cylinder tail-ender. The following are the valid values:

• 0: Not allowed

• 1: Front of trailer only (near driver)

• 2: Back of trailer only (near door). This is the default value.

• 3: Both front and back are allowed

• CylinderTailEnderMinHeight: The maximum diameter difference allowed when a cylinder is stacked on another. The default value is 10000.

• DaysInventoryPlanningHorizon: This parameter is used to define the inventory planning horizon as [EarliestScheduleDate, EarliestScheduleDate + DaysInventoryPlanningHorizon]; note that EarliestScheduleDate could be overridden by Manager Date or Current Date in options. The default value is 30.

• DisableOrderGroup: This parameter disables order group sequencing constraints. This might be desired, for example, when existing constraints such as IgnoreLIFO conflict with order sequencing.

The default for this field is False.

• DisableTrailerSwapping: If you enable this parameter, Transportation Modeler will not swap trailers when the Trip Carrier has domiciled equipment at one of the loads terminus points. By default, the trailers are swapped in this situation.

• DistanceCorrectionFactor: A correction factor that the Optimizer applies when using Lat/Lon to determine distance. In some cases, Lat/Lon determines distance using a straight line between two locations. In such cases, this parameter increases the Lat/Lon distance to present a more accurate distance.

A value of 0 = 0 (constraining).

• DistancePreferPostalMatches: Use this parameter to change the geo-validation rules in the distance engine logic. You can use this flag to promote finding matches on locations where many city–state combinations map to a particular zip code. This condition occurs especially in more remote regions.

JDA Transportation Modeler Strategies and Parameters Guide 168 © 1995-2015 JDA Software Group, Inc.- Confidential

Optimizer parameters

• When the flag is False, the i2 Distance Engine uses validation that prioritizes Lat/Lon matches higher than Postal Code matches. When the flag is True, the i2 Distance Engine uses the original validation rules, that is, Postal Code matches are prioritized above Lat/Lon matches.

• DistanceRouteType:

Note: This parameter only applies if you are using PC*Miler as your distance engine.

Use this parameter to specify the type of routing that PC*Miler uses in returning distance and time data. Options are Air, AvoidTolls, National, Practical or Shortest Set the parameter to one of:

• Practical: The default route type.

• Shortest: The shortest distance by road.

Enter the string inside double quotation marks, for example, "Shortest". The default value is "Practical". If the value is null or if you enter an invalid value, the default value is used.

Note: Updates to this setting are picked up only when the distance engine is created or loaded.

• DockCommitmentToleranceTime: This parameter allows you to control the tolerance time for exceeding a pre-existing load's appointments. Additional fixed, loading, or unloading time can be incurred at a stop as long as the resulting time at the stop does not exceed the appointment by more than the tolerance. The default value is 0:00.

• DomicileMaxRepositioningDistance: Use this parameter to set the maximum distance allowed between a vehicle's domicile and a load or trip's origin. It is designed to reduce the number of routes returned when a large number of domiciles. The default value is 999999.

• DriverAllowSaturdayActivity: Use this parameter to specify whether driving is allowed on Saturday. It is only enforced with Multi Country DOT definitions. By default, the value is set to True.

• DriverAllowSundayActivity: Use this parameter to specify whether driving is allowed on Sunday. It is only enforced with Multi Country DOT definitions. By default, the value is set to True.

• DriverHOSRules: Use this parameter to define DOT Hours of Service rules. The format for this parameter is:

MaxOnDutyTime1,NumberOfDays1,[MaxOnDutyTime2,NumberOfDays2][RestartTime]

For example, '60,7,70,8,34' means

• A maximum of 60 hours On Duty in 7 days,

• A maximum of 70 hours On Duty in 8 days,

• The count restarts after 34 consecutive hours of Break Time.

The [RestartTime] value is optional.

• DriverInitialDriveTime: The amount of drive time a driver already spent at the wheel before the start of scheduling. Use it to force an extra break. It is defined using the format dd:hh:mm.

• DriverInitialOnDutyTime: The amount of on duty time a driver already performed before the start of scheduling. Use it to force an extra break. It is defined using the format dd:hh:mm.

• DriverMaxBreakTime: Use this parameter to indicate the maximum total amount of break time that is taken for any load. In other words, for any load, the total amount of break time cannot exceed this value. This parameter defaults to 00.00, which has no constraining effect. The format is hh:mm.

JDA Transportation Modeler Strategies and Parameters Guide 169 © 1995-2015 JDA Software Group, Inc.- Confidential

Optimizer parameters

You can specify multiple break rules by entering more than one time span. Separate time spans with a comma.

• DriverMaxDriveTime: The maximum amount of time that a driver can drive before having to take a break. It is a portion of the DriverOnDutyTime and may not exceed the value of DriverOnDutyTime. The format is dd:hh:mm.

A value of 00:00 is non-constraining (infinity).

You can specify multiple break rules by entering more than one time span. Separate time spans with a comma.

• DriverMaxOffDutyTimePerStop: The maximum off duty time that a driver can take at a stop.

Note: All off duty time must be taken consecutively, so the Max Off Duty Time Per Stop should not be less than the total DriverOffDutyTime. This parameter is intended to prevent excessive break time being taken at any one stop.

A value of 00:00 is non-constraining (infinity).

• DriverMaxTravelTime: The maximum amount of time that a driver is traveling. Travel time is the total elapsed time on the load or trip. Format is dd:hh:mm.

• DriverMinOnDutyTime: The minimum amount of on duty time required before a driver can take a break.

You can specify multiple break rules by entering more than one time span. Separate time spans with a comma.

• DriverNoDrivingBeyondTime: A driver cannot drive if his on duty time exceeds this value. He must first take a break of at least the length specified by DriverOffDutyTime. Format is dd:hh:mm.

A value of 00:00 is non-constraining (infinity).

• DriverOffDutyTime: The amount of time a driver must break after the DriverOnDutyTime. Format is dd:hh:mm.

A value of 00:00 is non-constraining (infinity).

• DriverOnDutyTime: The maximum time between driver breaks. It includes the DriverMaxDriveTime, plus additional driver time for activities such as loading and unloading. Format is dd:hh:mm.

A value of 00:00 is non-constraining (infinity).

You can specify multiple break rules by entering more than one time span. Separate time spans with a comma.

• DummyShipmentCube: The default volume to be used when creating dummy shipments for skeleton or pre-booked loads.

• DummyShipmentPieces: The default pieces value to be used when creating dummy shipments for skeleton or pre-booked loads.

• DummyShipmentSkids: The default skids value to be used when creating dummy shipments for skeleton or pre-booked loads.

• DummyShipmentWeight: The default weight to be used when creating dummy shipments for skeleton or pre-booked loads.

JDA Transportation Modeler Strategies and Parameters Guide 170 © 1995-2015 JDA Software Group, Inc.- Confidential

Optimizer parameters

• EarliestScheduleDate: The start date and time of your transportation scenario. The Optimizer uses this date if you have set the Earliest Scheduled Time option on the Optimizer tab of the Options window to ‘Optimizer Date’. Enter the date, a space as separator, then the time. The time is based on a 24 hour clock and the Optimizer reads in only hours and minutes. For example:

EarliestScheduleDate= 9/15/02 23:43

The default time is 12:00am if you do not set the time.

• EnforceLCSameLegSequencing: Use this parameter to control how shipments are assigned to loads during load configuration. If the parameter is set to True, shipments with the same origin and destination are forced to load separately from each other during load verification.

The LC2 verification engine treats this parameter as True always.

For details about containerization (load configuration verification), see the Transportation Modeler User Guide.

• EnforceShiftSequencingPenalties: When you set this parameter to True, Transportation Modeler enforces shift sequence penalty costs. These costs are then considered during optimization.

Even when this parameter is set to False, the MaximumShiftSequenceViolations limit is still respected during optimization.

• EnforceVehiclesAtAllTimes: This parameter has been deprecated. The functionality is now true at all times. Scheduling will always assign a vehicle for a load or trip if there are vehicle availabilities attached to the selected route (that is, if the route is domicile-based for a domicile which has vehicle availabilities). Vehicle start and end times will be respected at all times. Vehicle start by time and vehicle reuse are enabled using TryDockScheduling or OptCapacityPlanning.

• Exclude3DItemsFromLoadingPctConstraint: When this parameter is True, for 3D items, loading percentage calculated based on loading factors can exceed 100%. The default value is True.

• ExternalRatingRoundingRule: This parameter controls the rounding of weights being passed to RateWare.

• 0 (default) is round down

• 1 is round

• 2 is round up

This only applies to LTL rating. Parcel rating supports decimal weights, so these are not rounded. Weights less than 1 pound is rounded up always.

• FixedTimeCalcModeForMultipleDocks: This parameter controls how the fixed handling time is calculated for docks when it is defined for the equipment or location.

• 0 (default): Fixed handling time is split across each dock. For example, if the fixed handling time is three hours for a location that has three docks, then each dock will have a fixed handling time of one hour.

• 1: Applies the fixed handling time to each dock. For example, if the fixed handling time is three hours for a location that has three docks, then each dock will have a fixed handling time of three hours.

Note: This parameter only applies to Transportation Modeler.

JDA Transportation Modeler Strategies and Parameters Guide 171 © 1995-2015 JDA Software Group, Inc.- Confidential

Optimizer parameters

• IgnoreDomicleFixedTime: This parameter determines whether or not to use domicile fixed time for a nonstop pickup or dropoff.

• IgnoreCZARMinimum: This parameter provides the ability to use negotiated minimum charges on tariffs rather than the minimum returned from CZAR rating. By default, this parameter is set to FALSE. If set to TRUE, any minimum charge value returned from CZAR rating is ignored, so that the minimum value populated in Transportation Manager is used instead.

• IgnoreHandlingTimeSeconds: When this parameter is False (the default), all scheduling is done exactly as it has been in prior releases, with times adhering to precision in seconds. When you set this parameter to True, loading time and unloading times is truncated to a precision of minutes. If the loading time is computed as 62:12 and unloading time is 80:49, then a loading time of 62:00 and unloading time of 80:00 is used for all scheduling purposes. Transportation Modeler’s routing and rating sets this parameter to True.

• IgnoreLIFO: The Optimizer honors a Last In—First Out (LIFO) rule when building loads. a generalized representation of this rule is P1-P2-P3-D3-D2-D1. When you set IgnoreLIFO to True, the Optimizer can consider loads such as P1-P2-P3-D2-D1-D3.

You can override this parameter using the SetIgnoreLIFO global parameter function. For more information, see SetIgnoreLIFO (on page 10).

• IgnoreLoadConsolidationClass: In the Optimizer, consolidation classes are typically used to prevent particular freight types from being combined on loads. By default, this parameter is set to False, and the Optimizer treats consolidation classes in the standard way, which means that it does not build loads that combine shipments with different consolidation classes. When you set IgnoreLoadConsolidationClass to True, the Optimizer allows combining of different consolidation classes when building loads.

You can override this parameter using the global parameter function SetIgnoreLoadConsolidationClass (on page 10). This parameter is also overridden when you use Manager rating and the Transportation Manager global setting Allow Merging of Consolidation Classes is True.

• IgnoreSafeArrivalWindowForDocks: If true, dock scheduling at a stop must start and finish within dock business hours. The default value is false.

• IsFirstLastStopBothPickAndDrop: Use this parameter to control the IsFirstStop and IsLastStop fields when you set one of them to True.

If IsFirstStop is set to True and you set this parameter to:

• True: If the stop is a pick, it must be the first pick on the load. If the stop is a drop, it must be the first drop on the load.

• False: If the stop is a pick, it must be the first pick on the load. If the stop is a drop, it has no effect.

If IsLastStop is set to True and you set this parameter to:

• True: If the stop is a pick, it must be the last pick on the load. If the stop is a drop, it must be the last drop on the load.

• False: If the stop is a pick, it has no effect. If the stop is a drop, it must be the last drop on the load.

Note: This parameter is not applicable to Transportation Manager requests.

JDA Transportation Modeler Strategies and Parameters Guide 172 © 1995-2015 JDA Software Group, Inc.- Confidential

Optimizer parameters

• LCSCriteriaByResourceProject: This parameter associates resource project codes to lane constraint satisfaction criteria. Format is comma separated pairs of <ResourceProjectCode>:<LaneConstraintSatisfactionCriteria>. For example, 'RSP1:3,RSP2:1,RSP3:3'. Unspecified resource project codes default to the LaneConstraintSatisfactionCriteria parameter.

• LaneConstraintApplicabilityCriteria: This parameter determines how percentage and date based lane constraints are determined as applicable for a load or trip.

• 0: maintains existing behavior where dates are not checked to determine applicability.

• 1: means that dates are enforced based upon possible shipment departure windows.

• 2: means that the load or trip's scheduled date is used to determine applicability.

• LaneConstraintsSatisfactionCriteria: Use this parameter to control how lane constraints are satisfied:

• 0: Any applicable lane constraint can be chosen, with penalty costs considered.

• 1: Only the most exact lane constraint is applicable and it must be satisfied.

• 2: All the lane constraints at all applicable levels must be satisfied.

• 3: All the lane constraints are additive, and should use most specific first.

The default is 0.

• LatestStartTimeForShipment: For a given scenario, The latest start date for a shipment that are scheduled. The Optimizer considers the start date for the shipment, rather than at the load or shipment leg level. For example, you have a shipment that leaves its origin on a load on 03/01/01 10:00, then is routed through a hub and the second load leaves the hub on 03/03/01 08:30. If the LatestStartTimeForShipment is 03/02/01 06:00, this shipment meets the parameter. Format is mm/dd/yy hh:mm.

• LoadConfiguratorCutoff%: Use this parameter to control the percentage full a load must be, in weight, cube, skids, or pieces, in order for the Optimizer to call the Load Configurator verification. The Optimizer compares the load values against the values in OptParameters file to determine the percentage full. It takes the greatest percentage of the four values and compares it to the LoadConfiguratorCutoff%. If the load percentage is greater than or equal to this value, Load Configurator can validate the load.

A value of 0 = 0 (constraining).

• LoadVerificationAllowHorizontalLoading: If True, the optimizer allows filling trailer floor first. If False, containers cannot be stacked behind portions of the trailer floor which has already been filled. The default value is True.

• LoadVerificationMaxOverhang: Use this parameter to indicate the maximum overhanging area (as with a cantilever) allowed when stacking shipments, expressed as a percentage of the total area. The default setting is 50.

This parameter must be used with the SetUseLCVerification (on page 15) global strategy function’s <LCVerificationSwitch> set to True.

• LoadVerificationMaxUnsupportedArea: This parameter is used to support the concept of bridging. Use this parameter to indicate the maximum unsupported area allowed when stacking shipments, expressed as a percentage of the total area. The default setting is 50.

JDA Transportation Modeler Strategies and Parameters Guide 173 © 1995-2015 JDA Software Group, Inc.- Confidential

Optimizer parameters

This parameter must be used with the SetUseLCVerification (on page 15) global strategy function’s <LCVerificationSwitch> set to True.

This parameter is supported by the original Load Configurator verification engine (LC). The newer verification engine (LC2) does not build shipments that straddle each other, so the parameter does not have an effect.

• LogShipmentRating: Provides extra logging for all loads or trips which contain the shipments specified. This should be a comma separated list of shipment identifiers. Useful in tracing routing and rating setup issues. This parameter applies to Transportation Manager and LTM rating engines.

• LogShipmentScheduling: Provides extra logging for all loads, trips, or webs which contain the shipments specified. This should be a comma separated list of shipment identifiers. Useful in tracing scheduling issues. This parameter applies to all rating engines.

• LogTariffRating: Provides extra logging for all loads or trips which route or rate using the tariffs specified. This should be a comma separated list of tariff codes. Useful in tracing tariff setup issues.

LogTariffRating can also be a tariff service pair:

<tariff code>@<service code>

This parameter applies to Transportation Manager and LTM rating engines.

• LoopyTripMaxOriginDistance: This parameter defines the maximum distance between origins of loads on a trip for that trip to be considered a loopy trip. A loopy trip has two or more loads and the distance between their origins is less than or equal to this parameter. The default value for this parameter is 0.

• LowestTLCostPerDistance: The cost per distance unit that the Optimizer uses to measure cost when considering moves and swaps. The Optimizer may find a savings in distance, and the Optimizer can apply the LowestTLCostPerDistance to approximate the cost savings associated with the distance savings. The value of LowestTLCostPerDistance should be the lowest per distance truckload rate you use in your rating engine.

A value of 0 = 0 (constraining).

• MaxAssignedLegsPerShipment: Use this parameter to specify the number of shipment legs that are assigned (dynamically or by forcing) for a shipment. The default value is 3. The minimum and maximum values are 1 and 4, respectively.

Note: In Transportation Modeler, a MaxAssignedLegsPerShipment value greater than 3 is not respected. Any value greater than 3 is interpreted as a value of 3.

• MaxExternalRatingLookupUnits: If this value is non-zero, then the optimizer does not consider any rate for any range greater than the value of the parameter. For example, if a shipment is 1,000 lbs, and the MaxExternalRatingLookupUnits is 500, the optimizer considers the rate from the 500 range break even though the weight of the shipment is in the next range.

• MaxHubLineHaulDistance: Use this parameter to specify the maximum distance allowed in building a load between two hubs.

• MaxHubPairsToTryForUnroutables: Use this parameter to control the number of hub pairs to try while splitting unroutables through multiple hubs. This parameter only affects the HubAssignment strategy. The default value is 20.

Caution: Setting this to a large number may severely impact performance.

JDA Transportation Modeler Strategies and Parameters Guide 174 © 1995-2015 JDA Software Group, Inc.- Confidential

Optimizer parameters

• MaxInterDropDistance:

Use this parameter to limit the distance between consecutive drop stops on a load. A value of 0 is non-constraining. The default value is 0. If, for example, you provide values for MaxInterDropDistance and MaxInterStopDistance, the distance between two consecutive drops on a load must satisfy both values

• MaxInterloadingDownTime: Use this parameter in interleaving scenarios to specify the maximum amount of down time that can elapse between loading and unloading at a single stop. This parameter defaults to 00.00, which has no constraining effect. Format is hh:mm.

• MaxInterPickDistance:

Use this parameter to limit the distance between consecutive pick stops on a load. A value of 0 is non-constraining. The default value is 0. If, for example, you provide values for MaxInterPickDistance and MaxInterStopDistance, the distance between two consecutive picks on a load must satisfy both values

• MaxInterPickDropDistance:

Use this parameter to limit the distance between consecutive stops on a load where one stop has picks and the other stop has drops. A value of 0 is non-constraining. The default value is 0. If, for example, you provide values for MaxInterPickDropDistance and MaxInterStopDistance, the distance between two consecutive pick and drop stops on a load must satisfy both values.

• MaxInterStopDistance: Use this parameter to limit the distance between consecutive stops on a load. A value of 0 is non-constraining. The default value is 0. This parameter applies to interleaved and non-interleaved stops.

• MaxLoadCube: The maximum total cubic volume per load.

This parameter is overridden when you use Manager rating by the Transportation Manager global setting Max Truck Volume.

A value of 0 = 0 (constraining).

JDA Transportation Modeler Strategies and Parameters Guide 175 © 1995-2015 JDA Software Group, Inc.- Confidential

Optimizer parameters

• MaxLoadLadenLength: This parameter enables you to constrain the amount of linear space a shipment takes up.

A value of 0 = 0 (constraining).

• MaxLoadLengthPerTrip: This parameter defines the maximum length of a load (loaded distance) to consider for the trip during load building. Zero (0) indicates that there is no maximum load length per trip.

• MaxLoadPieces: The maximum total number of pieces per load.

A value of 0 = 0 (constraining).

• MaxLoadsInTrip: The maximum number of loads allowed on a trip.

A value of 0 is non-constraining.

• MaxLoadSkids: The maximum total number of skids per load.

A value of 0 = 0 (constraining).

• MaxLoadWeight: The maximum total weight per load.

This parameter is overridden when you use Manager rating by the Transportation Manager global setting Max Truck Weight.

A value of 0 = 0 (constraining).

• MaxOutOfRouteDistance: The maximum per load out of route distance. This is the actual travelled distance (‘A’ + ‘B’ + ‘C’) minus the direct distance from the first pick to the last drop (‘D’). The formula is ((A+B+C)-D).

A value of 0 is non-constraining (infinity).

• MaxOutOfRoutePct:

The maximum load out of route factor. This is the percentage of the actual travelled distance (‘A’+’B’+’C’) minus the direct distance from the first pick to the last drop (‘D’), all over the direct distance from the first pick to the last drop (‘D’). The formula is ((A+B+C)-D))/D.

A value of 0 is non-constraining (infinity).

• MaxReturnDistPerLoad: The maximum return distance allowed on a load.

A value of 0 is non-constraining (infinity).

• MaxReturnDistPerTrip: The maximum return distance allowed on a trip.

A value of 0 is non-constraining (infinity).

• MaxShipmentSplitTimes: Defines the maximum number of times a shipment may be split. 0 indicates no splitting, 1 indicates one split, and so on. The default value is 3.

• MaximumRoutes: Use this parameter to limit the number of routing/rating results that are maintained for each load or trip. Lower values decreases memory usage, but may also limit resource optimization. The default value is 99999999.

JDA Transportation Modeler Strategies and Parameters Guide 176 © 1995-2015 JDA Software Group, Inc.- Confidential

Optimizer parameters

• MaximumShiftSequenceViolations: This value defines the maximum number of shift sequences allowed on a load. For details about shift sequencing, see Transportation Modeler Implementation Guide.

• MaxShipmentHubCrossTime: Use this parameter to define the maximum hub cross dock time at any hub allowed. The default value is 0, which means there is no restriction on hub cross dock time.

• MaxStopsInTransit: The maximum number of stops in transit for a load. Stops in transit do not include the origin (load at/first pick) and destination (consignee/last drop).

A value of 0 is 0 (constraining).

• MaxStopsOutbound: The maximum number of stops outbound from a hub.

Default = 20

• MaxStopsWithDropoff: For any load, the Optimizer cannot have more than MaxStopsWithDropoff as drops on the load.

Default = 20

A value of 0 is non-constraining (infinity).

• MaxStopsWithPickup: For any load, the Optimizer cannot have more than MaxStopsWithPickup as picks on the load.

Default = 20

A value of 0 is non-constraining (infinity).

• MaxSlackForLateDelivery: This parameter allows you to define the maximum amount of time post-delivery window that shipments are considered on time. The default value is 0:00.

• MaxTotalDeadhead:

The maximum total deadhead (not including return miles) miles allowed on any trip for which round-trip carrier rates are considered.

In the figure, The distance between D1 and O3. The deadhead does not include return miles (the distance between D3 and O1).

A value of 0 is non-constraining (infinity).

• MaxTotalDriveTime: The total driving time for a load or trip cannot exceed this amount.

• MaxTrailersPerLoad: The maximum number of trailers per load.

• MaxTrailerHeight: Use this parameter to specify the maximum height of a trailer allowed per load. It is only enforced with Multi Country DOT definitions.

A value of 0 is non-constraining (infinity).

Default value is 0

JDA Transportation Modeler Strategies and Parameters Guide 177 © 1995-2015 JDA Software Group, Inc.- Confidential

Optimizer parameters

• MaxTrailerLength: Use this parameter to specify the maximum length of a trailer allowed per load. It is only enforced with Multi Country DOT definitions.

A value of 0 is non-constraining (infinity).

Default value is 0

• MaxTrailerWeight: Use this parameter to specify the maximum weight of a trailer allowed per load. It is only enforced with Multi Country DOT definitions.

A value of 0 is non-constraining (infinity).

Default value is 0

• MaxVendorSequencingViolation: Use this parameter to control vendor sequencing. This parameter defines the number of deviations that are permitted from the expected Order Grouping Sequence.

Default = 0

• MaxWaitTimeBetweenLoads: The maximum wait time allowed between the last drop and first pick for any two consecutive loads on a trip. Any travel time between these stops does not count toward this value.

A value of 00:00 is non-constraining (infinity).

• MinHubLineHaulDistance: Use this parameter to specify the minimum distance required in building a load between two hubs.

• MinLoadLengthPerTrip: This parameter defines the minimum length of a load (loaded distance) to consider for the trip during load building. Zero (0) indicates that there is no minimum load length per trip.

• MinShipmentSplitSize: Defines a list of shipment split sizes or percentages, separated by comma. The basis for the list is defined by the MinShipmentSplitSizeBasis parameter.

• MinShipmentSplitSizeBasis: Defines a list of attributes, separated by comma, based on which shipment split sizes or percentages must be defined:

• 0: cube

• 1: weight

• 2: skids

• 3: pieces

• 4: units

• 5: percentFull, with respect to global max parameters

• MinShipmentSplitWindowLength: Defines the minimum length of a shipment pickup or delivery window that is required for the shipment to be considered for splitting. It is defined using the format dd:hh:mm.

• MinTransitTime: This value is the minimum amount of transit time between any two locations. If the minimum transit time is greater than the transit time returned by the distance engine, then the Optimizer uses the minimum transit time. It is defined using the format hh:mm.

A value of 00:00 is non-constraining (infinity).

JDA Transportation Modeler Strategies and Parameters Guide 178 © 1995-2015 JDA Software Group, Inc.- Confidential

Optimizer parameters

• NoHookLoads: This parameter can be used to eliminate hook loads. When true, the last stop must be the farthest stop from the origin on point to point tariffs. The default value is false.

• NoIntransitStopsAtHubs: If you set this parameter to True, no hub can be an intransit stop.

• PenaltyBackupResource: This parameter is used in conjunction with the IsBackupResource. When the number of loads awarded is more than its MinLoads value this parameter is applied to integer constraints. For example, if a lane constraint has MinLoads value of 2, IsBackupResource flag is set to true and 5 loads are awarded to it, then a penalty of PenaltyBackupResource*(5-2), which is three times of PenaltyBackupResource value is applied.

The default value is 0.

• PenaltyDailyBucketViolation: For percentage based constraints with a time range, Transportation Modeler attempts to enforce the constraints on a daily basis unless the duration is less than a day. If you set PenaltyDailyBucketViolation, the optimizer attempts to minimize the total resource penalty taking this penalty into account.

The default is 0.

• PenaltyLateDeliveryPerHour: This parameter is to be used in conjunction with MaxSlackForLateDelivery. Using this parameter you may associate a penalty for each hour that the delivery exceeds the time windows. The default value is 0.

• PenaltyMaxLoads: This value is the penalty cost incurred if you exceed the maximum allowed number of loads. You can define the penalties in Transportation Manager. You can also define penalties within constraint files (Carrier Availability, Tariff Service Availability, Lane Availability, Hub Constraints, and the Domicile file). If you use the constraint override file, the Optimizer uses the penalty values in the specified constraint files rather than those from Transportation Manager or defined at the global (OptParameters) level. If these files do not contain penalty values, the Optimizer incurs the global (OptParameters) value per violation.

A value of 0 is 0 (constraining).

• PenaltyMinLoads: This value is the penalty cost incurred if you have less than the minimum required number of loads. You can define the penalties in Transportation Manager. You can also define penalties within constraint files (Carrier Availability, Tariff Service Availability, Lane Availability, Hub Constraints, and the Domicile file). If you use the constraint override file, the Optimizer uses the penalty values in the specified constraint files rather than those from Transportation Manager or defined at the global (OptParameters) level. If these files do not contain penalty values, the Optimizer incurs the global (OptParameters) value per violation.

A value of 0 is 0 (constraining).

• PenaltyPercentageMinLoads: : This value is the penalty cost incurred per violation if you have less than the minimum required number of loads on a percentage based constraint. If set to 0, PenaltyMinLoads is used. The default value is 0.

• PenaltyPercentageMaxLoads: This value is the penalty cost incurred per violation if you exceed the maximum allowed number of loads on a percerntage based constraint. If set to 0, PenaltyMaxLoads is used.

• PenaltyPerDayStartDelay: This parameter defines the penalty per day applied to a load if its start time is not within the preferred start days range. The lower range bound is defined by the EarliestScheduleDate and the upper range bound is defined by (EarliestStartDate + PreferredStartDaysRange).

• PenaltyPerLoad: This parameter defines the fixed cost associated with processing a load that is applied during solving.

JDA Transportation Modeler Strategies and Parameters Guide 179 © 1995-2015 JDA Software Group, Inc.- Confidential

Optimizer parameters

• PenaltyPerPerformancePoint: This penalty is used when assessing carriers if you enable performance rating. When making a decision between carriers, the carrier with the lower rating incurs this penalty for each point his rating is lower than the alternate carrier. The Optimizer selects a carrier with a lower performance rating if their cost plus the performance penalty is still less than the preferred carrier.

This parameter is overridden when you use Manager rating by the Transportation Manager global setting Penalty Performance Point.

A value of 0 is 0 (constraining).

• PenaltyShipmentNotDelivered: This value is the penalty cost incurred if you do not deliver a shipment (the penalty on an unroutable shipment). You can define the penalties in Transportation Manager. You can also define penalties within constraint files (Carrier Availability, Tariff Service Availability, Lane Availability, Hub Constraints, and the Domicile file). If these files contain penalties, the Optimizer uses these penalty values rather than those at the global (OptParameters) level. If you use the constraint override file, the Optimizer uses the penalty values in the specified constraint files rather than those from Transportation Manager or defined at the global (OptParameters) level. If these files do not contain penalty values, the Optimizer incurs the global (OptParameters) value per violation.

A value of 0 is 0 (constraining).

• PenaltyTransferHubEquipment: Use this parameter to force transfer loads to use the same equipment type across the transfer hub. This value is the penalty cost incurred for each violation if different equipment types are used for transfer loads. The default is 0 (no penalty).

• PenaltyTransitMode: This value is the penalty cost incurred for each violation, for using a non-selected transit mode.

This parameter is overridden when you use Manager rating by the Transportation Manager global setting Penalty Transit Mode.

A value of 0 is 0 (constraining).

Note: JDA recommends that you consult JDA prior to implementing this parameter.

• PenaltyVendorSequencingViolation: The penalty per vendor sequencing violation up to a maximum defined by the MaxVendorSequencingViolation. It is incurred if vendor sequencing violations are allowed and a multi-drop load has out-of sequence drop stops. In this case, the solver compares the cost saving in building the multi-drop load to the original set of loads plus this penalty cost and determines whether the multi-drop load is cost-effective to build.

The default = 1000.

• PenaltyWaitTimePerHour: This parameter defines the penalty incurred for each hour of wait time. It is used only if EnforceResourceConstraints is enabled.

• PreferredStartDaysRange: This parameter is used to define the preferred start time range for loads. It is used in conjunction with PenaltyPerStartDelay to influence loads to leave within the range. The lower range bound is defined by the EarliestScheduleDate and the upper range bound is defined by the (EarliestScheduleDate + PreferredStartDaysRange).

Note: EarliestScheduleDate is overridden by Manager Date or Current Date as defined in the Options.

• PriorityCalculationMethod: Determines the method used to calculate the priority of a load, based on its constituent shipments.

• 0: The load’s priority is the lowest numeric priority of all shipments on the load.

JDA Transportation Modeler Strategies and Parameters Guide 180 © 1995-2015 JDA Software Group, Inc.- Confidential

Optimizer parameters

• 1: The load’s priority is the highest numeric priority of all shipments on the load. This is the default value.

• 2: The priorities of the shipments on the load are prorated by the weight of the shipments to arrive at the priority for the load.

• 3: The priorities of the shipments on the load are prorated by the volume of the shipments to arrive at the priority for the load. For shipments with a volume of 0, a volume of 1 is used instead.

• RequiredResourceBehavior: This parameter determines the behavior when there are no resources available for a route but other routes have resources.

• If the value is 0, the parameter maintains existing behavior where the route is usable and is unconstrained.

• If the value is 1, the parameter treats routes with no resources defined as backup routes and they will be assigned a 0 min/0 max backup lane constraint.

• If the value is 2, the parameter treats routes with no resources defined as unusable by Optimization, but usable by Rating calls.

• RequireValidLoadRatingForTrips: If you set this value to True, the Optimizer must be able to rate and route the individual loads on a trip with the tariff/service it chooses for the overall trip. If this value is False, the tariff/service the Optimizer uses to rate the trip does not have to be valid for the individual loads that make up the trip.

• RestrictRepositioningByTrailer: This parameter allows the DomicileMaxRepositioningDistance parameter to specify the insertion distance for a trailer or a tractor.

If set to True, the DomicileMaxRepositioningDistance parameter specifies the maximum radius within which a trailer has to be picked. The DomicileMaxRepositioningDistance parameter is non-zero when a trailer is not collocated with the tractor.

If set to False, the DomicileMaxRepositioningDistance parameter specifies the maximum radius within which a tractor has to be picked. The DomicileMaxRepositioningDistance parameter is non-zero when the tractor is not collocated at the first stop.

The default value for the RestrictRepositioningByTrailer parameter is True.

• RoadSpeedOverride: The road speed in terms of distance units per hour that the Solver engine uses when you set RoadSpeedOverrideSwitch to True. This value overrides both the i2 and PCMiler distance engines. Distances are stored internally in mile units.

If the plan units are Miles, the road speed override is applied.

If the plan units are Kilometers:

• i2 Distance Engine: The distance is converted to kilometers, then the road speed override is applied to the (kilometer) value.

• PCMiler Distance Engine: The road speed override is applied to the (miles) value and then the distance is converted to kilometers.

JDA Transportation Modeler Strategies and Parameters Guide 181 © 1995-2015 JDA Software Group, Inc.- Confidential

Optimizer parameters

• RoadSpeedOverrideSwitch: This parameter determines whether the Optimizer should override the returned road speed with the RoadSpeedOverride value. If you set the value to True, the Optimizer will use the value of RoadSpeedOverride as the roadspeed for all loads. Using this road speed and the distance value returned by the distance engine, the Optimizer calculates the transit time. If you set the value to False, the Optimizer will use the transit time returned by the distance engine.

• RoutePrecisionCriteria: This parameter controls the precision criteria of the origin and destination of the lane. This parameter has following values:

• If the value is 0, the parameter maintains the existing behavior, where destination zone precision is validated before the origin zone precision. This is the default value.

• If the value is 1, the parameter validates the origin zone precision, then validates the destination zone precision.

• If the value is 2, the parameter uses the combined precision of the origin and destination zone. If two lanes have the same sum of their origin and destination precision, the destination precision is used as a tie breaker.

• If the value is 3, the parameter uses whichever zone is more precise, origin or destination. Whichever is less precise is used as a tie breaker.

• SafeArrivalWindow: For all stops, this is the amount of time after the location opens that a load must arrive within, to guarantee that the load is serviced. It will be serviced regardless of the amount of time it takes to load or unload. To guarantee service, the load must arrive before the end of the SafeArrival Window and before the location closes. The SafeArrivalWindow applies to all stops, including origins. Format is days:hours:minutes.

A value of 0 is 0 (constraining).

• ScheduleAtLatestPossibleTime: If you set this parameter to False (the default), the Optimizer finds the earliest time at which loads can leave their origins. If you set this parameter to True, during the final scheduling part of solving, the Optimizer tries to find the latest time as which loads can leave and still complete their drops in time. As long as the load is schedulable, the Optimizer moves the time forward, even if wait time increases. It continues to move the time forward by 24 hour increments until the load becomes unschedulable. At this point, it moves back by half the increment and try to schedule. It continues this process for up to 100 iterations per load.

• ShiftSequenceViolationSpread: You use this setting to define the penalty costs incurred for each shift sequence spread. You define as many penalty costs as you need for the shift spreads you are penalizing. For example,

ShiftSequenceViolationSpread=100,500,10000,10000

• ShortHaulMinDist: This parameter is the distance from the stop being considered to the first drop on the load. If this distance is less than ShortHaulMinDist, the Optimizer does not consider adding the shipment to the load. You use it with multi-drop loads to prevent the Optimizer from inserting in-transit stops on long haul moves when building loads.

A value of 0 is non-constraining (infinity).

• ShortHaulMinRatio: This parameter is the ratio of the ShortHaulMinDist over the loaded distance of the shipment. If this ratio is less than ShortHaulMinRatio, the Optimizer does not consider adding the shipment onto the load.

A value of 0 is non-constraining (infinity).

JDA Transportation Modeler Strategies and Parameters Guide 182 © 1995-2015 JDA Software Group, Inc.- Confidential

Optimizer parameters

• ShortHaulMinThreshold: Use this parameter to prevent long haul drivers from making in-transit stops on multi-drop loads. If the ShortHaulMinThreshold is less than the travelled distance, the Optimizer ignores ShortHaulMinDist and ShortHaulMinRatio.

A value of 0 is non-constraining (infinity).

• SupersedeZeroCostConditions: This parameter determines how supercede logic will be applied. When true, supersede logic will allow superseding of zero cost conditions for *ALL supersede conditions. The default value is true.

TractorAtFirstOrLastStopOnly: This parameter determines the location of the tractors that are used for building a load or trip.

Set this parameter to True, if you want to use only the tractors available at the origin or destination for building a load or trip.

The default for this parameter is False.

• UnloadedDistanceAssignment: For intransit unloaded distance between loads on trips, this parameter determines the distance assignment for reporting and rating.

• If the value is 0, unloaded distance is assigned to the preceding load.

• If the value is 1, unloaded distance is assigned to the subsequent load.

• If the value is 2, unloaded distance is split evenly between the loads.

The default for this parameter is 0.

• UnLoadingInsideDeliveryWindow: Defines whether unloading must be completed within the delivery window. If False, only delivery start must occur within the delivery window. The default value is False.

• UnusedRouteCacheSize: The size (in MBs) to limit the size of the cache of unused routes. Use "0" (zero) to indicate that there is no maximum size for this cache.

• UpdatePercentageBasedConstraints: This parameter is used while updating resources based upon execution data.

The default value is False

Note: This parameter is not applicable to Transportation Modeler.

• UseAxleBalancing: This parameter is used to enable or disable axle balancing constraints. The default value is true. A related parameter, UseLCVerification, must be True for axle balancing.

Note: In Transportation Modeler, when equipment axles are defined and UseLCVerification is True, even if UseAxleBalancing is False, the solver tries its best to perform axle balancing and write the results to the Load Axle Weights table. This behavior is useful for trouble shooting; you can turn off UseAxleBalancing to assess the axle violations on a load.

• UseCollocatedTrailersOnly: This parameter determines the location of the freight equipment that is used for a building a load or trip. The default value of this parameter is 0.

Set this parameter to 0, if trailers need not be collocated and can be sourced from any domicile that meets the domicile’s repositioning distance and other constraints.

Set this parameter to 1, if you want to use the trailers that are already collocated with a tractor or the trailers available at the origin or last stop.

Set this parameter to 2, if you want to use the trailers that are already collocated with a tractor or the trailers available at the last stop.

Set this parameter to 3, if you want to use the trailers available at the origin.

JDA Transportation Modeler Strategies and Parameters Guide 183 © 1995-2015 JDA Software Group, Inc.- Confidential

Optimizer parameters

• UseDistinctDistanceTimeByDirection: This parameter allows you to control whether bi-directional distance calculation should be used. If true, distances/times from A-B is computed and stored separately from those from B-A. As enabling this may affect performance, this parameter should only be enabled if distinct directional distance and/or times must be used.

The default value is False.

• UseDocks: If you set this parameter to False, the Optimizer does not consider docks during dock scheduling. Use the strategy function, TryDockScheduling, to enable dock scheduling.

• UseExactZipCodeRouting: Set this parameter to True to indicate that routing rules should consider nine digit zip codes to be more precise than five digit zip codes in LTM or TM rating. If False (the default), the two types of zip codes are considered to be equivalent in precision.

• UseLCVerification: Use this parameter to enable or disable LC Verification when building loads. If you set this value to True, Load Configurator is called to verify loads as they are created.

• UseTimeBasedRating: If you set this parameter to False, the Optimizer does not consider any time-based charges during route selection.

This parameter is overridden when you use Manager rating by the Transportation Manager global setting Time Based Rating Active.

• Wait1MinDistance: The minimum distance a shipment must travel to use WaitTime1.

A value of 0 is non-constraining (infinity).

• Wait2MinDistance: The minimum distance a shipment must travel to use WaitTime2.

A value of 0 is non-constraining (infinity).

• Wait3MinDistance: The minimum distance a shipment must travel to use WaitTime3.

A value of 0 is non-constraining (infinity).

• Wait4MinDistance: The minimum distance a shipment must travel to use WaitTime4.

A value of 0 is non-constraining (infinity).

• Wait5MinDistance: The minimum distance a shipment must travel to use WaitTime5.

A value of 0 is non-constraining (infinity).

• WaitTime1: The amount of time a shipment can wait at a stop based on how far it is travelling. You define it using the format HH:MM.

A value of 00:00 is non-constraining (infinity).

• WaitTime2: This parameter allows you to determine the amount of time a shipment can wait at a stop based on how far it is travelling. You define it using the format hh:mm.

A value of 00:00 is non-constraining (infinity).

• WaitTime3: The amount of time a shipment can wait at a stop based on how far it is travelling. You define it using the format hh:mm.

A value of 00:00 is non-constraining (infinity).

• WaitTime4: The amount of time a shipment can wait at a stop based on how far it is travelling. You define it using the format hh:mm.

A value of 00:00 is non-constraining (infinity).

JDA Transportation Modeler Strategies and Parameters Guide 184 © 1995-2015 JDA Software Group, Inc.- Confidential

Optimizer parameters

• WaitTime5: The amount of time a shipment can wait at a stop based on how far it is travelling. You define it using the format hh:mm.

A value of 00:00 is non-constraining (infinity).

• maximumRoutes: This parameter limits the number of routing/rating results that are maintained for each load or trip. Lower values will decrease memory usage, but may also limit resource optimization. Default is 99999999.

Note: When you start optimization, the current constraints in OptParameters.param apply. You can edit the parameters at any time using the Parameter File Editor or any text editor For more information, see Edit the parameters file (on page 186).

JDA Transportation Modeler Strategies and Parameters Guide 185 © 1995-2015 JDA Software Group, Inc.- Confidential

Edit the parameters file

Chapter 14. Edit the parameters file This chapter provides information on editing the Optimizer Parameters File using the Parameter File Editor or any text editor.

Parameter file editor features The Parameter File Editor function makes it easy for you to open the Optimizer Parameters File and edit the available parameters. With the Parameter File Hints feature enabled, the list of available parameters is displayed with a description of each.

Parameter File Hints In the Parameter File Editor, click Enable Hints to display a separate dialog box containing help for the selected parameter. To hide the Hints, click Disable Hints.

Parameter File View The Parameter File View section is the main pane displaying the contents of the parameters file. Within the view, you can see all the parameters and edit their values.

Use the parameter file editor 1. Select the Home tab in the ribbon.

2. Click Edit Parameter File in the Configuration group. The Open file dialog box is displayed.

3. Select the parameters file that you want to edit. By default, the file is named OptParameters.param.

4. Click Open. The parameters file opens in the Parameter File Editor.

The following Parameter File functions are available across the top of the dialog box:

• Disable Hints/Enable Hints: Switches the Parameter File Hints on (Enable Hints) and off (Disable Hints).

• Save: Saves changes to the Parameters file.

• Save As: Saves the Parameters file to a new file. You must specify the file name and location.

• Close: Closes the Parameter File Editor, prompting you to save any changes that have been made to the Parameters file.

Note: If you enabled the Parameter File Hints, a separate dialog box is displayed which contains information about the selected parameter.

Saving the parameters file You can save the Parameters file to its original file name or as a new file. Click Save. The Parameter File Editor saves the Parameters file to its current file name with all edits.

Save the parameters file with a new name 1. Click Save As. The Save As dialog box is displayed.

2. Enter a name for the Parameters file. The Parameter File Editor automatically adds the .opt extension. You can continue to work within the Parameter File Editor.

JDA Transportation Modeler Strategies and Parameters Guide 186 © 1995-2015 JDA Software Group, Inc.- Confidential

Edit the parameters file

Close the parameter file editor 1. Click Close.

2. If you made any changes to the Parameters file, you are prompted to exit even though changes have been made. Click Yes to exit without saving changes to the file or No to continue editing the file.

Use a text editor to edit the parameters file You can also use any text editor to modify the Parameter File.

Open the parameter file for edit 1. Open the selected parameter file using any text editor. The default parameters file supplied with

Transportation Modeler is located in the root Transportation Modeler folder. The default parameters file is named OptParameters.param.

2. Make the required changes to the file.For more information, see "Optimizer parameters file" (on page 165). When you have finished making your changes, save and close the file.

Save the current parameter file Save the parameter file using the text editor or the appropriate command line command. The existing parameter file is updated with the changes you made.

Save the parameter file with a new name Save the parameter file with a new name, using the text editor or the appropriate command line command. The parameter file is saved with the new filename.

JDA Transportation Modeler Strategies and Parameters Guide 187 © 1995-2015 JDA Software Group, Inc.- Confidential

Index A AllowInterleavedStops • 9 AllowNewStops • 130, 138 AllowRemoveFutureShipments • 135, 151 AND, in nesting filters • 81 AnyStopsWithinPostalCode • 64 AnyStopsWithinState • 44, 73 arguments • 5

B BalanceLoads • 85 BreakByShipmentLegs • 154 BreakCriticalLoadsAllowed • 130 BreakTLLoads • 86 BuildTrips • 154

C Carrier • 42 carrier equipment availability • 22 CheckAltCarriers • 42 ClearPlanStack • 27 CMoveSwap • 92 comments • 5 CommodityCode • 44, 68 CommodityID • 138 Con • 93 ConLikeCustomersFirst • 98 ConSamePickAndDrop • 98 ConsiderLength • 98 ConsiderOnlyTransferHubs • 174 ConsolidateCriticalLoadsOnly • 18 ConsolidateInbound • 93, 98 ConsolidateLinehaul • 93, 98 ConsolidateOutbound • 93, 98 EnforceHeadLoadConstraints

EnforceHeadLoadConstraints • 20 constraint functions • 5 EnforceCriticalLoadConstraint

EnforceCriticalLoadConstraint • 18 EnforceDueDateSpanConstraint

EnforceDueDateSpanConstraint • 19 EnforceHubConstraints

EnforceHubConstraints • 21

EnforceLatestScheduleDateConstraint EnforceLatestScheduleDateConstraint • 21

EnforceResourceConstraints EnforceResourceConstraints • 22

EnforceVendorSequencingConstraint EnforceVendorSequencingConstraint • 24

EnforceWaitTimeSpanConstraint EnforceWaitTimeSpanConstraint • 24

Constraint Switch • 20 ContinuousMoveStrat.strat • 185 control functions • 5 CostImprovementIsRequired • 86, 93, 98 CreatePlanStack • 27 critical loads • 4 CriticalLoadConstraintSwitch • 18 Customer • 47

D DeleteHub • 101 DeleteHubs • 135, 151, 164 DeleteLTLLegs • 102 DestinationRadius • 92, 93, 130, 135, 138, 139, 144, 146,

151, 154 DestinationWithinPostalCode • 64 DestinationWithinState • 44, 73 PC*Miler • 15 DistanceConsolidationFactor • 93 DockSelectionFactor • 167 Domicile • 52 DomiciledRouteOnly • 24 DriverMaxTravelTime • 9 DueDateSpanConstraintSwitch • 19

E EnableWriting • 31, 34 EndDate • 53, 71 EndJourneyNumber • 56 EndShiftSequence • 67 EnforceUniqueReportName • 31, 34 EnforceVehicleConstraints • 22 EstimatedDistanceSavings • 102 Exclusion Switch • 51 ExclusionSwitch • 42, 44, 47, 52, 53, 55, 56, 58, 60, 63, 64,

66, 67, 68, 70, 71, 73, 76, 77, 78, 79

F FavorEmptyDock • 167

JDA Transportation Modeler Strategies and Parameters Guide 188 © 1995-2015 JDA Software Group, Inc.- Confidential

FavorSelectedRoute • 133, 167 FillterDomicile • 52 filter functions • 5, 40, 58, 64, 66, 67, 70

FilterCarrier • 42 FilterCommodity • 44, 68 FilterCustomers • 47 FilterDistance • 51 FilterDomicile • 52 FilterFromDeliveryRange • 55 FilterHub • 55 FilterJourney • 56 FilterMarkedLoads • 57 FilterOriginDestinationTotalWeight • 58 FilterPercentFull • 60 FilterPickupDate • 53, 71 FilterPostalCode • 64 FilterService • 66 FilterSideDoor • 70 FilterState • 44, 73 FilterTransferLoads • 76 FilterWeight • 63, 71, 78, 79 logical AND • 81, 82 logical OR • 81, 82 MarkLoads • 80 nesting • 81, 82, 83

FilterCarrier • 42 FilterCriticalLoads • 47 FilterCustomers • 47 FilterDistance • 51 FilterDomicile • 52 FilterFromDeliveryRange • 55, 56 FilterMarkedLoads • 57, 82 FilterOriginDestinationTotalWeight • 58 FilterPercentFull • 60 FilterPickupDate • 53, 71 FilterPostalCode • 64 FilterService • 66 FilterSideDoor • 67, 70 FilterState • 44, 73 FilterStyle • 51 FilterTransferLoads • 76 FilterType • 44, 73 FilterWeight • 63, 71, 78, 79 FinalDestinationRadius • 98 functions • 5

G global parameter functions • 9 SetAllowInterleavedStops

SetAllowInterleavedStops • 9 SetDriverMaxTravelTime

SetDriverMaxTravelTime • 9 SetIgnoreLIFO

SetIgnoreLIFO • 10 SetIgnoreLoadConsolidationClass

SetIgnoreLoadConsolidationClass • 10 SetMaxAssignedLegsPerShipment

SetMaxAssignedLegsPerShipment • 11 SetMaxCube

SetMaxCube • 11 SetMaxOutOfRoutePct

SetMaxOutOfRoutePct • 11 SetMaxPieces

SetMaxPieces • 12 SetMaxSkids

SetMaxSkids • 12 SetMaxStopsInTransit

SetMaxStopsInTransit • 12 SetMaxWaitTimeBetweenStops

SetMaxWaitTimeBetweenStops • 12 SetMaxWeight

SetMaxWeight • 13 SetUsePCMilerDistanceEngine

SetUsePCMilerDistanceEngine • 15 SetUseTimeBasedRating

SetUseTimeBasedRating • 16

H HeadLoadDestinationMaxLoadsPerDay.txt • 20 HeadLoadOrigDestExclusion.txt • 20 HubConstraintsSwitch • 21 Hub-ContinuousMoveStrat.strat • 187 HubID • 55 HubStrat.strat • 182

I IgnoreLIFO • 10 IgnoreLoadConsolidationClass • 10 IndexOfWaitTime • 12 IndividualShipmentsOnly • 86 InitialOriginRadius • 98 InterleaveInsertions • 154

JDA Transportation Modeler Strategies and Parameters Guide 189 © 1995-2015 JDA Software Group, Inc.- Confidential

L LatestScheduleDateConstraintSwitch • 21 Load/TripPrimarySort • 34 Load/TripSecondarySort • 34 loads

critical • 4 log functions • 31

WriteConstraintLog • 31 WriteOptLog • 34

LogOptimization • 31

M MakeUnroutable • 149 MarkLoads • 80, 82 MaxAssignedLegsPerShipment • 11 MaxClosestLegDistance • 92 MaxClosestLegDistancePercent • 139, 144, 146, 154 MaxConsecutiveFailure • 92, 139, 144, 146, 154 MaxCostIncreaseAllowed • 130 MaxDateSpan • 19 MaxDateSpanAllowed • 130 MaxDaysAllowed • 55 MaxDistance • 51 MaxHoursFromPickupTime • 18 MaxHoursSlackTime • 18 MaxHubsToTry • 174 MaximumShiftSequenceDelta • 98 MaxInsertionPercentage • 93, 130, 135, 138, 151, 164, 174 MaxLegsToMove • 135, 139, 144, 146, 151, 154, 175 MaxLoadCube • 11 MaxLoadPieces • 12 MaxLoadSkids • 12 MaxLoadsToChange • 101 MaxLoadsToMove • 92, 160 MaxLoadWeight • 13 MaxNeighborhoodDistance • 135, 151, 164 MaxNumberOfEquipments • 42 MaxOriginDestTotalWeight • 58 MaxOutOfRoutePct • 11 MaxOutOfRoutePercentAllowed • 86, 154 MaxPenaltyAllowed • 167 MaxPercentCostIncreasePerBreak • 154 MaxPercentFull • 60, 86, 130 MaxRoutesPerLoad • 142 MaxStopsInTransit • 12 MaxWaitTimeInMinutes • 12

MaxWeight • 63, 71, 78, 79 Merge • 129 MinDistance • 51, 55 MinDistanceImprovement • 92, 135, 139, 144, 146, 151,

154, 161, 164 MinDistanceSavings • 160, 174 MinHoursSlackTime • 18 MinimizeNumberOfVehicles • 133, 167 MinimizeTransitTime • 133, 167 MinLoadDistance • 174 MinOriginDestTotalWeight • 58 MinPctPerFutureStop • 130 MinPercentFull • 18, 60, 101, 130 MinPercentFullAfterOperation • 135, 138, 151, 164 MinPercentFullRequired • 135, 151, 154 MinSeedDistance • 93 MinTotalPct • 93, 98 MinWeight • 63, 71, 78, 79 MinWeightDistanceRatio • 149 MinWeightRequired • 149 MoveFutureShipments • 130 MultiStopLoadsOnly • 149

N nested filter functions • 82, 83 NonFreeLoadsOnly • 18 NumberOfIterations • 133, 167 NumberOfSlackDaysFavored • 138 NumericID • 57, 80

O OnlyConLikeOrderGroups • 98 OptCriticalLoads • 135 OptFutureShipmentSelection • 138 OptMove • 139 OptResourceConstraints • 142 OptSwap • 144 OptTLLoads • 146 OR

nesting filters • 81 OriginRadius • 92, 93, 130, 135, 139, 144, 146, 151, 154 OriginWithinPostalCode • 64 OriginWithinState • 44, 73 OutputFileNameCounter • 31, 34 OverlapTolerances • 22

JDA Transportation Modeler Strategies and Parameters Guide 190 © 1995-2015 JDA Software Group, Inc.- Confidential

P PackFirst • 98 Penalty • 20 PenaltyDateSpanPerDay • 19 PenaltyPerCriticalLoad • 18 PenaltyPerHour • 24 PenaltyPerLateShipment • 21 PercentIncreaseAllowed • 133, 167 ClearPlan

ClearPlan • 17 GetBetterCost

GetBetterCost • 17 GetBetterDist

GetBetterDist • 17 GetBetterLoads

GetBetterLoads • 17 GetBetterTrips

GetBetterTrips • 17 GetPlan

GetPlan • 17 plan comparison functions • 17 SetPlan

SetPlan • 17 plan stack • 26

ClearPlanStack • 27 CreatePlanStack • 27 PopFromPlanStack • 29 PushToPlanStack • 29 RemoveWebsFromPlanStack • 29

PopFromPlanStack • 29 PostalCode • 64 PrimaryDockSelector • 167 PushToPlanStack • 29

R ReduceWaitTime • 133, 167 RemoveLightStops • 149 RemoveWebsFromPlanStack • 29 ReOptCriticalLoads • 151 ReOptTLLoads • 150, 154 ReOptTLTrips • 158 ResequenceLoads • 160 ResequenceStops • 161 ResourceConstraintSwitch • 22 ReturnToDomiciles • 133, 167

S SaveHubPlan • 164 SchedulingVehiclesOnly • 167 SecondaryDockSelector • 167 SeparateShipmentsByCriticality • 86 Service • 66 SetTimeLimit • 81 ShiftSequencingPenaltiesSwitch • 25 SlackDays • 21 SplitCriticalLoads • 164 SplitLoads • 167 StartDate • 53, 71 StartFromLastJourney • 56 StartJourneyNumber • 56 StartShiftSequence • 67 State • 44, 73 strat.strat • 181

file • 3 strategies

controlling runtime • 81 strategy file • 3

arguments • 5 comments • 5 ContinuousMoveStrat.strat • 185 functions • 5 Hub-ContinuousMoveStrat.strat • 187 HubStrat.strat • 182 samples • 181, 182, 185, 187 Strat.strat • 181

Strategy File Editor Text mode • 177

strategy functions BreakTLLoads • 86 BreakTrips • 80 CMoveSwap • 92 Con • 93 ConSamePickAndDrop • 98 DeleteHub • 101 DeleteLTLLegs • 102 MakeJourney • 127 MakeLoad • 128 MakeTrip • 129 Merge • 129 MergeSolve • 129 MoveFutureShipments • 130 OptCapacityPlanning • 133

JDA Transportation Modeler Strategies and Parameters Guide 191 © 1995-2015 JDA Software Group, Inc.- Confidential

OptCriticalLoads • 135 OptFutureShipmentSelection • 138 OptMove • 139 OptResourceConstraints • 142 OptSwap • 144 OptTLLoads • 146 RemoveLightStops • 149 ReOptCriticalLoads • 151 ReOptTLLoads • 150, 154 ReOptTLTrips • 158 ResequenceLoads • 160 SaveHubPlan • 164 SplitCriticalLoads • 164 TryDockScheduling • 167 TryShipsDirect • 175

TryMinimizeFleetSize TryMinimizeFleetSize • 173

T TariffServiceInclusion.txt • 20 troubleshooting • 7 TryAllJourneys • 130 TryDeleteHubs • 130 TryDockScheduling • 167 TryOneShipmentAtATime • 101 TryResourceSwap • 142 TryShipsDirect • 175

U UnitCostSavingsRequired • 135, 151, 164 UseFixedLengthTimeSlot • 167 UsePrebuiltLoads • 130 UseSelfOpt • 93 UseTimeBasedRating • 16

V VendorSequencingConstraintSwitch • 24

W Wait1MinDistance;Wait2MinDistance;Wait3MinDistance;

Wait4MinDistance • 12 WaitTime1;WaitTime2;WaitTime3;WaitTime4 • 12 WaitTimeSpanConstraintSwitch • 24 webs • 26, 29 Welcome • 1 WriteCarrierConstraints • 31 WriteCriticalLoadsOnly • 34

WriteDomicileConstraints • 31 WriteFilteredLoadsOnly • 34 WriteJourneys • 34 WriteLaneConstraints • 31 WriteOptLog • 31, 34 WritePlanInputs • 34 WriteSolverSettings • 34 WriteTariffServiceConstraints • 31 WriteTripsLoads • 34

JDA Transportation Modeler Strategies and Parameters Guide 192 © 1995-2015 JDA Software Group, Inc.- Confidential