The Optimization Analysis window is where all optimizations are performed. In this window you can define and run multiple optimizations, each having different settings, budgets,  and analysis periods. The results from each optimization are stored separately and can be reviewed in this and other windows throughout the system.

The window provides the following tabs that allow you to switch between different components of project optimization:

  • Setup: This tab is where all parameters for an optimization are established.
  • Results: This tab shows the optimal recommended work plan.
  • Constr. Results: This tab shows the predicted values of each constraint compared to the input constraint value. This allows you to identify the constraints that have controlled the analysis results.
  • Report: This tab shows the constraints selected in the Reporting Functions pane of the Setup tab and the value of each constraint after optimization.
  • Summary Reports: When an optimization analysis has results, this tab becomes available. It provides a less data-intensive way to view graphs using data from the selected optimization analysis. It also allows you to compare two different optimization analyses.

Setup Tab

The Setup tab is where all parameters for a work plan optimization are established. This tab contains the Scenarios pane on the upper left, a Yearly Fin. Parameters pane on the lower left, a Constraints pane on the upper right, and a Reporting Functions pane on the lower right. These panes are described below.

Scenarios Pane

The Scenarios pane is where you select project optimizations to review. It can also be used to create new optimization definitions or delete optimizations that you no longer need.

This pane contains the following fields:

  • Administrative Unit: In some implementations analyses are restricted by administrative unit. For these implementations, this field is included in the Setup tab and shows what unit "owns" the displayed analysis. For example, if the field shows Headquarters, then only users who select the Headquarters administrative unit when logging on can see and run the analysis.
  • Analysis Length: This is the number of years in the optimization period.
  • Analysis Scope: This read-only field shows the data elements that are included in the optimization. The scope is set with the Edit Scope command.
  • Analysis Type: This field determines what optimization routine will be performed. See Optimization Analysis Type for more information.

    Note: If you select the Ranking analysis type, the system will rank projects until the constraint is reached: and then add one more project into the ranking list.
  • Analysis Weight Groovy Script: This field shows the name of the Groovy script that determines the weighting used to calculate Benefit. If a Groovy script is not used and this field is null, the value is taken from the Calculated Expression window where the drop-down list at the top of the window is set to Analysis Index Weight Factor.
  • Benefit: The Benefit column selected in this field defines the index to be used to calculate the benefits during a scenario run. This is effective only when the objective function selected in the Constraint pane is Benefits.
  • Budget Relaxation (%): This value is used for multi-year optimization analysis only when 'minimize budget' is used as the objective. When you use this type of objective, you include a value in this field that sets a boundary for how much the budget can vary in a particular year compared to the total budget specified for the scenario. This constraint limits the amount an individual year's budget can vary compared to the average budget over the analysis period. For example, if you were running a ten year analysis with a budget of $1,000,000 per year, then entering 0.1 (10%) for budget relaxation would allow the total budget in any year to vary between $900,000 and $1,100,000 (10% above or below the yearly amount specified).
  •  Comments: Optionally, you can include information in this field to describe the optimization.
  • Decision Tree Set: This field determines what Decision Trees set will be used in the analysis.
  • Decompose: When this check box is selected, the analysis engine will attempt to break the analysis into simpler, more quickly solved sub-analyses. A sub-analysis is performed for each independent constraint. (If the constraints are not independent of each other, then the analysis will not be broken down.)
  • General Strategy Type: The entries that appear in this list are created and maintained in the Setup General Strategy Types window.
  • Has Results: This check box indicates if the optimization has already been run. When a check mark is not displayed, then the results information shown in the other tabs is irrelevant.
  • Is Template: If this check box is selected, then no modifications can be made to the settings for the scenario. The scenario is in effect a template for creating a new scenario. To create a new scenario from the template, right-click in the Scenarios pane and select Copy Scenario. The system then creates a copy of the template and you can modify it as needed.
  • Is Trade-off Scenario: When this check box is selected, the results of the reporting functions are available in the Trade-off module. All state-wide scenarios should be marked as Trade-off Scenarios.
  • Make LP File: When this check box is selected, an LP optimization definition file is generated and will be available for inspection after the analysis is run. This file format is somewhat easier to read than the standard MPS file format. Note: The LP-format file is only generated for user inspection; the MPS-format file is always passed to the solver. This check box must be selected if you want to use the Download LP File command.
  • Max Sec for Solver: This field sets the maximum amount of time (in seconds) that the optimization analysis will be allowed to run before settling on a solution. (In some optimization analyses, many optimal solutions are available and the routine will "hunt" between each solution without settling on one and ending. Since these solutions are only marginally different than one another, forcing the routine to finish by setting the maximum amount of time that it can "hunt" is necessary and appropriate.)
  • MWP Scope: This read-only field shows what work plans are included in the optimization. The plans are included by using the Edit MWP Scope command.
  • Number of Nodes in Solution: This field sets the maximum number of decision nodes passed into the Integer Solver. This is accomplished by running a heuristic search algorithm prior to running the solver that eliminates decision nodes that are unlikely to change during the actual Integer Programming optimization. A value of 0 passes all nodes to the solver. See Number of Nodes for further information.
  • % Gap: When a percentage is entered in this field (as a decimal value), the solver will stop when the integer solution is within the defined percentage of the linear solution (that is, the "perfect solution"). The bigger this number, the faster the solver will find a solution; however, this selected solution can be very rough and is not guaranteed to be the "best" solution. When left null or defined as 0, the solver will find the best integer solution (as close to the linear solution as possible).
  • Priority Groovy Script: This field shows the name of the Groovy script that determines how analysis factors are prioritized against one another when the analysis type is Prioritization. If a Groovy script is not used and this field is null, the value is taken from the Calculated Expression window where the drop-down list at the top of the window is set to Analysis Priority.
  • Project Cost Threshold: When performing a priority analysis with a budget constraint, this field determines the amount of a project's cost that must be within budget to be included. The value can range from 0.0 to 1.0 (corresponding to 0% to 100% of the budget), with 0.5 (50%) being the default value. A setting of 0.0 will always result in the budget constraint being reached or exceeded; a setting of 1.0 will result in the budget constraint never being exceeded. See Project Cost Threshold for more information on how the setting of this field affects what projects are included in a ranking.
  • Round Cost: This field causes the system to round the cost of projects to the selected rounding value before submitting the project to the solver engine. The greater the rounding, the faster the solver will converge on a solution.
  • Save Details: This check box determines whether the system saves the details of the optimization. When it is checked, the details from the analysis are saved and can be viewed in the Detailed Optimization Results window. When it is not checked, the details are not saved, although the overall results of the analysis will still be available in the Results tab.
  • Scenario Name: This is a short description of the scenario. This description should be informative to other users.
  • Scenario Number: This is a sequential number automatically assigned to identify the scenario. It cannot be edited.

    Note: To find a particular scenario, enter the scenario number in the field at the top of the pane and select the Find Scenario button.
  • Segmentation Type: This field defines which "set" of segmentation from Network Master will be used in running analysis. Similar to Year of Condition Data field, this field acts a filter for Network Master using Segmentation Type column when selecting sections into optimization engine.
  • Scheduled: When this check box is selected, the system job Run All Scheduled Optimization Scenarios will execute this scenario. This system job allows all scheduled scenarios to run during off-hours to reduce the impact of the optimization analysis on the performance of the system. When several scenarios are scheduled, the system job will executed them sequentially.

    Note: You must execute the Schedule All Tradeoff Scenarios command before running the system job or the scenarios will not run.
  • Send Email Notifications?: When this check box is selected, the system will send an email when the scenario finishes. The system sends the email to the email address of the logged-on user as configured in the User Names and Access window.
  • Skip Initial Deterioration: By default, the system performs a one-year deterioration of the network before beginning the analysis of treatment options. When this check box is selected, the system does not perform this initial one-year deterioration.
  • Work Plan Type: This field provides a drop-down list of all available work plans (which are defined in the Setup Work Plan Type window). When you select a work plan from the drop-down list, then the projects and costs from this work plan are first included in the optimization and then remaining rehabilitation recommendations are taken from decision tree results. If you do not select a work plan, then the optimization is run without consideration of a pre-defined work plan; it gets its rehabilitation recommendations entirely from decision tree results. (Note: To remove a work plan from the Work Plan Type field so no plan is selected, highlight the displayed work plan and then press the Delete key.)
  • Year of Condition Data: The year you enter in this field is the year when condition data was collected, which sets the first year of optimization as this year plus one. (In most cases, the Network Master File contains only a single year's data and the value in this field sets the year of that data. For those cases where the Network Master File contains data from multiple years, the year in this field configures what records will be used for optimization.)

Right-click Shortcut Menu Commands

When you right-click this pane, the system displays a shortcut menu. This menu contains the common commands along with the following special commands:

  • Copy Scenario: This command allows you to copy the current scenario, which can then be pasted into another scenario to create a new one.
  • Download LP File: This command allows you to store on your local computer a copy of the LP-formatted file. (The LP-formatted file will only be created if the Make LP File check box is selected.)
  • Download MPS File: This command allows you to store on your local computer a copy of the MPS-formatted file that is the input to the solver.
  • Edit MWP Scope: This command allows you to incorporate into the optimization projects that are already planned by your agency as documented in the Master Work Program window.
  • After setting what work plans will be included in the optimization, the work plans are shown in the MWP Scope field.
  • Edit Scope: This command allows you to set the analysis scope for the optimization. Analysis scope allows you to limit the data elements included in the optimization. When you execute this command, the application displays a new window. This window shows the variables that can be used to limit the scope of the analysis. You use this window in the same way as the Filter window. (The variables are designated (and can be changed) in the Setup Analysis Columns window.)
  • After setting the analysis scope, the selected elements are shown in the Analysis Scope field.
  • Run Scenario: This command executes the displayed optimization.
  • In addition to the commands listed above, if your implementation includes the Trade-off module, the following additional commands will be included in the shortcut menu:
  • Schedule All Tradeoff Scenarios: For those scenarios marked as Trade-off Scenarios (that is, have the Is Tradeoff Scenario check box selected), this command schedules the scenario to be run by the Run All Scheduled Optimization Scenarios system job.

    Note: You must execute this command before running the system job or the scenarios will not run.
  • Unschedule All Tradeoff Scenarios: This command clears the Is Tradeoff Scenario check box for all scenarios. This means the scenarios will not be run when the Run All Scheduled Optimization Scenarios system job runs.

Yearly Financial Parameters Pane

The Yearly Financial Parameters pane allows you to enter values for discount rate and inflation for each year in the analysis period. These values must be entered as decimals (for example, 3% is entered as 0.03: not 3).

The inflation rate is the rate of increase of a price index (the percentage rate of change in price level over time). The inflation rate affects the budgeted dollar amount by the following formula: Value in Next Year = Value in Current Year x (1 + Entered Inflation Value).

The discount rate is the value of money over time. A positive value decreases the value of money over time. The discount rate affects the budgeted dollar amount by the following formula: Actual Dollar Value = Budgeted Dollar Value - (Discount Rate x Budgeted Dollar Value).

Constraints Pane

The Constraints pane allows you to configure the objective(s) and constraint(s) for the optimization analysis.

This pane contains the following fields:

  • Add Constr. / Constraint Subdivision: A constraint can be divided into sub-constraints in the Setup Constraint Partitions (partitions are also sometimes called subdivisions) window. When you execute the Activate Constraint Subdivision command, the system inserts records for each sub-constraint in the selected constraint subdivision. It enters the name of the constraint subdivision in the Add Constr. column and the name of the sub-constraint in the Constraint Subdivision column.
  • Condition Threshold: This column is left blank except when the Constr. Type column is set to Percent Above Threshold. For this type, this column supplies the percentage value that will cause the analysis engine to stop. The percentage value is entered as a decimal value (for example, 10% is entered as 0.1).
  • Constr. Type: This column contains a drop-down list of the allowed constraint types: Percent Above Threshold, Total, and Weighted Average. These three types are described below:
    • Percent Above Threshold: The analysis engine will stop when the constraint value exceeds a threshold value by a certain percentage. The value for the threshold is entered in the Constraint Limit Value column and the percentage value is entered in the Condition Threshold column.
    • Total: The analysis engine will stop when the constraint reaches the total amount shown in the Constraint Limit Value column.
    • Weighted Average: This type is only used when multiple objectives are selected. It sets the relative weight of each objective against the other objectives.
  • Constraint Column: This column contains a drop-down list. The list contains those columns with a check mark in the Is Constraint check box in the Setup Analysis Columns window. The constraint you select for this column is either the objective of the analysis or acts to limit what is considered for inclusion in the work plan by the analysis engine.
  • Constraint Limit Value: This column is left blank except when the Constr. Type column is set to Percent Above Threshold or Total. For Percent Above Threshold, this column sets the threshold value that the constraint value must exceed (by a certain percentage) for the analysis engine to stop. For Total, this column supplies the value that will cause the analysis engine to stop.
  • Is Objective: A check mark in this column indicates that the selected constraint is the objective of the analysis. You can select more than one objective, but if so the Constr. Type column should be set to Weighted Average, with the objective weights entered in the Objective Coefficients column.
  • Objective Coefficient: This column is left blank unless you select multiple objectives. In this case, this column indicates the relative weight of each objective against the others.
  • Scenario Year: This column is left blank for a constraint if the constraint will apply across all years of the analysis period. If the constraint will vary by year, then fill this field by right-clicking the pane to display the shortcut menu and select Propagate Years. The system will then create multiple records for the selected constraint, one for each year of the analysis period, and insert the analysis year in this column for each constraint record.

Right-click Shortcut Menu Commands

When you right-click this pane, the following special commands are available along with the common commands:

  • Activate Constraint Subdivisions: This command inserts records for each of the constraint subdivisions into which the selected constraint is subdivided as configured in the Setup Constraint Partitions window.
  • Propagate Years: This command inserts a record for each of the years in the analysis period that is the same as the record you right-clicked (other than year).
  • Set to Included MWP Budget: For each of the records selected in the Constraints pane, this command identifies the MWP projects that match the year and constraint partition of the record (and are within the analysis and MWP scope). It then calculates a total cost for these identified projects and inserts the cost in the Constraint Limit Value field of the record.
    If the record in the Constraints pane does not include a year, then the command returns an error. For example, say the constraint is on treatment costs for the year 2012 with an "Interstate" functional class partition. The system finds all of the interstate sections included in the analysis scope and then finds all MWP projects within the year 2012 that intersect those sections. It then places the total project costs for those projects in the constraint record.

If the MWP Budget column is present in the pane, the system changes how the Set to Included MWP Budget command functions and activates the three "Copy" commands shown below:

  • Set to Included MWP Budget: This command calculates budget values and stores them in the MWP Budget column rather than the Constraint Limit Value column.
  • Copy All MWP Budgets to RHS: This command copies the values in the MWP Budget column for all records to the Constraint Limit Value column.
  • Copy Greater MWP Budgets to RHS: This command copies all budget values in the MWP that are greater than the values currently stored in the MWP Budget column to the the Constraint Limit Value column.
  • Copy MWP Budget to RHS: This command copies the values in the MWP Budget column for the selected record to the Constraint Limit Value column.

Reporting Functions Pane

This pane configures what constraints will be shown in the Report tab. It has no bearing on the optimization routine itself. Essentially, this pane allows you to see the value of a constraint after optimization without using the constraint to affect the outcome of the optimization routine.

When you right-click this pane, the following special commands are available along with the common command:

  • Activate Constraint Subdivisions: This command inserts records for each of the constraint subdivisions into which the selected constraint is subdivided as configured in the Setup Constraint Partitions window.


  • No labels