Optimization Analysis
Optimization analysis is the technique by which historical bridge data with various “what if” hypotheses is used to determine the effect on the overall performance and cost of your network. These analyses are set up and run in the Optimization Analysis window.
This page describes the Optimization Analysis window and how to perform an optimization analysis.
Description of the Optimization Analysis Window
The purpose of optimization is to create an optimal work plan using a single objective and multiple constraints (and constraint subdivisions, as needed). The Optimization Analysis window is where you perform all optimizations. In this window you can define and run multiple optimizations, each with its own settings, budgets, analysis periods, and so forth. The results from each optimization are stored separately and can be reviewed in this and other windows throughout the system.
The Optimization Analysis window provides the following tabs that allow you to switch between different components within work plan optimization:
- Setup — Where all parameters for an optimization are established
- Results — The optimal recommended work plan (Projects and Treatments) corresponding to the objective and constraints you defined before running the analysis
- Constraints Results — The predicted values of each objective and constraints (and allow to compare to them to the input constraint value) which allows you to identify the constraints that have controlled the analysis results
- Report — The constraints selected in the Reporting Functions pane of the Setup tab and the value of each constraint after optimization
These tabs are described in more detail in the following sections.
The Setup Tab
The Setup tab is where you establish all parameters for an optimization. When you launch the Optimization Analysis window, the system always defaults to the Setup tab.
The Scenarios Pane
The Scenarios pane is where you select work plan optimizations to review. It may also be used to create new optimization definitions or delete optimizations that you no longer need. This pane contains the following fields:
- Administrative Unit — 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 may see and run the analysis.
- Analysis Length — Number of years in the optimization period.
- Analysis Scope — The data elements that are included in the optimization. This field is read only. The scope is set with the Edit Scope.
- Budget Relaxation (%) — Used for multi-year optimization analysis only when 'minimize budget' is used as the objective. When you utilize this type of objective, you include a value in this field that sets a boundary for how much the budget may vary in a particular year compared to the total budget specified for the scenario. This constraint limits the amount an individual year's budget may 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 may include information in this field to describe the optimization.
- Has Results — 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.
- MWP Scope — What work plans are included in the optimization. This field is read only. The plans are included by using the Edit MWP Scope right-click command.
- Save Details — Determines whether the system saves the details of the optimization. When it is checked, the details from the analysis are saved and may 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 — A short description of the scenario that is informative to other users.
- Scenario Number — Sequential number automatically assigned to identify the scenario. This field is read only. This is the ID number to be used with the Find Scenario button.
- 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.
- 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.
- 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.
- Analysis Type- analysis can be run at Component and/or Element levels. depending on the selected analysis level, the system will take the element or component into account when running the analysis.
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.
The Constraints Pane
Each optimization requires one objective and one or more constraints. The Constraints pane allows you to configure the objective and constraints for the optimization.
Yearly Fin. Parameter Pane
This pane allows you to enter values for the interest rate and the inflation rate 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 interest rate is the value of money over time. A positive value decreases the value of money over time. The interest rate affects the budgeted dollar amount by the following formula:
Actual Dollar Value = Budgeted Dollar Value - (Interest Rate x Budgeted Dollar Value).
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).
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.
Results Tab
This tab provides a list of structures produced by the optimization routine, based upon the input criteria configured in the Setup tab. For each structure, the Treatments pane shows the recommended treatments for the structure. These structures and treatments constitute the recommended work plan.
Constraint Results Tab
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 Tab
This tab shows the constraints you selected in the Reporting Functions pane of the Setup tab and the values of the constraints after the optimization routine finishes.
The right pane shows a graph of the values of a particular constraint (which is selected from the drop-down list field shown at the top of the pane). The Y-axis of the graph shows constraint values and the X-axis shows the number of years in the analysis. The graph is a line graph for all constraint types except Total, which is a bar graph. You may modify the appearance of the graph by right-clicking and selecting Change Graph Properties.
Defining and Running an Optimization Analysis
To define and run an Optimization Analysis, follow the steps below:
- Select the Structures Analyst module
- Select Analysis from the banner menu at the top of the page
- Select Network Analysis in the drop-down menu
- Select Optimization Analysis
- Right-click in the Scenarios pane and then click Insert to add a new, blank optimization record
- Highlight the text in the Scenario Name field and then type the name for this optimization
- Click in the Analysis Length field and then type the number of years covered by this analysis
- If you wish to save the details of the optimization for further study, check Save Details
The details may be viewed in the Detailed Optimization Results window - By default, all structures for which your administrative unit is responsible will be included in the analysis
If this is acceptable, proceed to the next step
Otherwise, if you wish to use a smaller set of structures in the analysis, click the Edit Scope button to see following dialog box:
Perform the following steps to set the desired scope for the analysis:
- In the left pane, select the column you want to use to reduce the scope of the analysis (ex: Functional Classification) by clicking the record showing the column
- In the Select Filter Type field in the right pane, click the down arrow and then click the desired filter type
The system displays the values of the selected column that match the filter type
In the example below, In List was selected for the filter type and so the system shows all values in the Functional Classification column: - Select the desired values in the right pane
- When you are finished selecting values, click OK
This closes the dialog box and shows the selected value(s) in the Analysis Scope field in the Scenarios pane - You are now ready to enter the records for the objective and constraints of the optimization
The first record in the right pane should be for the objective of the optimization
To begin, right-click in the Constraints pane and then click Insert to add a new record - Click the check box shown in the Is Objective column to indicate that this record is for the objective of the optimization
- Click the down arrow in the Constraint Column and then click the desired objective
- Depending on the objective selected, only a certain value may be permitted for the Type column, if so this column is set automatically
If this does not occur, click the down arrow in the Constr. Type column and then click the appropriate constraint type - The objective of the optimization analysis is now set so you can now enter one or more records for the constraints for the analysis
While only one objective is allowed for an optimization, one or more constraints may be configured and each constraint record may apply to all years in the optimization period or multiple constraint records may be created for each year in the optimization period
For those constraints that have subdivisions as configured in the Setup Constraint Subdivisions window, you may create records for each constraint subdivision - In the Constraints pane, right-click and then click Insert to add a new record
- Click the down arrow in the Constraint Column and then click the desired constraint
- Click the down arrow in the Type column and then click the desired constraint type
In the Constraint Limit column, enter the value for the constraint
Note: Percentages are entered as a decimal value between 0 and 1 (for example, 5% is entered as 0.05 not 5.- If the constraint type is Percentage Above Threshold, enter the threshold value in the Condition Threshold
- If the constraint applies to all years in the optimization period, leave the Scenario Year field blank.
If not, right-click the constraint record and then click Propagate Years in the shortcut menu
This enters a constraint record for each year in the optimization period as a copy of the record you right-clicked as well as the year in the Scenario Year so you can edit each newly inserted record to reflect the appropriate constraint limit - If the constraint will apply to all subdivisions of the constraint (if any), then you have completed the work with this constraint and may proceed to enter additional constraints as needed
If the constraint limit will vary for the different constraint subdivisions, right-click the constraint record and then click Activate Constraint Subdivisions in the shortcut menu
The system displays a new window, which lists the potential constraint subdivisions that you can apply to a constraint
To set the constraint subdivisions to be used in the analysis, follow the steps below:
- Click the record for the desired constraint subdivision
- Click OK to close the window and inserts a record for each constraint subdivision shown in the Setup Constraint Subdivisions window
- Edit each newly inserted record to reflect the appropriate constraint limit
After editing each record, you may proceed to enter additional constraints as needed
Once all constraints are configured, you are ready to run the optimization.
- Click Save to save the new optimization definition
- Click Run Scenario at the top of the Scenarios pane to perform the optimization and display the results in the Results tab.
The Constr. Results tab will also show the actual constraint values at the end of optimization - Click the Results tab to review the results of the analysis which contains the list of the projects resulting in the best value for the objective function according to your constraint(s)
The Results tab contains two panes, showing the list of projects (with project cost, year of project scheduled execution), and the project’s details (individual treatments) for the selected project - Click the Results tab to review the values of the objective function and constraint(s) resulting from the analysis run
This pane allows a quick overview of the analysis steps, and to ensure that the analysis is following the objective and constraints imposed
If you wish to view even more detailed results from the optimization analysis, open the Detailed Scenario Results window.
Viewing Detailed Optimization Results
For all optimization scenarios that have the Save Details check box in the Setup tab of the Optimization Analysis window selected, the Detailed Optimization Results window provides an in-depth look at the data resulting from these optimization runs.
To display detailed information about a particular optimization analysis, follow the steps below:
- Select the Structure Analyst module
- Select Analysis from the banner menu at the top of the page
- Select Network Analysis from the drop-down menu
- Select Detailed Optimization Results
- In the Select Scenario field, click the down arrow to display the list of optimization analyses and then click the desired analysis
Setting-up and Reviewing the Reporting Functions Results
During an optimization analysis, you may obtain the values of indices and other criteria even if these variables are not indicated as constraint(s) or the objective. For example, if you are running an analysis that will optimize the Deck Condition, with a certain budget constraint, it might be interesting to know the impact of the selected optimum projects on the Substructure and Superstructure indices or what the expanded project costs for each region could be.
You obtain this additional information by configuring reporting functions during the set-up of an optimization analysis. Once you run the analysis, you may view the results in the Report tab of the Optimization Analysis window.
To setup and review the reporting functions results in an Optimization Analysis, follow the steps below:
- Select the Structure Analyst module
- Select Analysis from the banner menu at the top of the page
- Select Network Analysis from the drop-down menu
- Select Optimization Analysis
- Create a new scenario with the appropriate objective function and constraint(s) as described eariler. (You may also edit an existing optimization; use the Find Scenario field at the top of the Setup tab to locate the desired optimization analysis.)
- In the Reporting Functions pane, right-click and then click Insert to add a new record
- Click the down arrow in the Constraint Column column and then click the desired constraint
- Click the down arrow in the Type column and then click the desired constraint type
- If the constraint type is Percentage Above Threshold, enter the threshold value in the Threshold column
- If you desire to further divide the newly defined reporting function by subdivisions, right-click the record and then click Activate Constraint Subdivisions in the shortcut menu to display the Select Constraints dialog box
Perform the following steps to set the constraint subdivisions to be used in the analysis:
- Click the record for the desired constraint subdivision
- Click OK to close the window and insert a record for each constraint subdivision shown in the Setup Constraint Subdivisions window
In this example, treatment costs will be reported by districts: - Repeat for all the reporting functions you desire
- Once all reporting functions are defined, click Save to save the reporting functions
After running the optimization analysis, you may view the results for the selected reporting functions in the Report tab. An example of this tab is shown below:
In the right pane, select the desired reporting function from the drop-down list above the graph to review the different reporting functions you configured in the Setup tab.
The system also highlights the corresponding records for the selected reporting function in the Constraint Report pane on the left.
Incorporating a Work Plan Into an Optimization Analysis
Optimization analysis finds the set of optimum projects for the structures in your network according to the objective function and constraints you have selected. In addition to these projects, you may wish to include a set of projects that have already been programmed for execution in future years. This set of projects is usually called a work plan. When you include this work plan in an analysis, the system first selects the work plan’s projects without performing optimization analysis on them and reduces the amount of money specified for the budget constraint accordingly. It then performs optimization analysis using the remaining amount of budgeted money, adding the identified projects to the work plan’s projects until the budgeted money is exhausted.
To incorporate a work plan into an optimization analysis, follow the steps below:
- Select the Structure Analyst module
- Select Analysis from the banner menu at the top of the page
- Select Network Analysis from the drop-down menu
- Select Optimization Analysis
- Create a new scenario with the appropriate objective function and constraint(s) or if you'd like to edit an existing optimization, use the Find Scenario field at the top of the Setup tab to locate the desired optimization analysis
- In the Work Plan Type field, click the down arrow to display the available work plans and then click the desired work plan
- If desired, you may reduce the set of projects in the selected work plan by right-clicking in the Scenario pane and then clicking Edit MWP Scope to display the Scope Select dialog box
- In the left pane, select the column that will be used as a variable to select the work plan items to include in the analysis by clicking the record showing the column
- Click the down arrow in the Select Filter Type field and then click the desired type of filter to display the list of column values that fit the filter type
- Select the values you want
This example analysis only includes projects that have an MWP status of Awarded: - Once you have selected the desired value(s), click OK to close the dialog box and show the selected value(s) in the MWP Scope field in the Setup tab
The scope of the work plan is now set. You may proceed to run the optimization analysis that includes only these projects from the work plan.
Maximizing Condition for a Given Budget Constraint
The optimization analysis engine finds the optimum solution for a given objective and set of constraints. Should you wish to identify the projects that maximize a certain condition given a set of budget constraints, follow the steps below:
- Select the Structure Analyst module
- Select Analysis from the banner menu at the top of the page
- Select Network Analysis from the drop-down menu
- Select Optimization Analysis
- Create a new scenario up to the point of setting the objective and constraints for the analysis or if you'd like to edit an existing optimization, use the Find Scenario field at the top of the Setup tab to locate the desired optimization analysis
- In the Constraint pane, right-click and then click Insert to add a record to the pane
- In the new record, click the check box in the Is Objective column to select it
- In the Constraint Column, click the down arrow to display the list and then click the desired constraint (Deck, Superstructure, or Substructure)
- In the Type column, click the down arrow to display the list and then click Weighted Average
- In the Constraint pane, right-click and then click Insert to add a second record to the pane
- In the Constraint Column of the new record, click the down arrow to display the list and then click Treatment Cost
(This type of constraint forces the Type column to be Total, so you do not need to set this column.) - In the Constraint Limit Value column, enter the budget limit
- Click Save to save the new information
- Run the optimization analysis
- When the analysis is completed, click the Results tab. The number of records shown is the number of projects selected by the optimization engine. (In the example below, the analysis resulted in 9,854 projects being selected.)
- Click the Constr. Results tab to review the resulting values of the objective and constraint(s). The Resulting Value column shows the expended budget, which should always be lower than the budgeted amount shown in the Constraint Limit Value
Identifying Projects and Funds Needed to Achieve a Specified Network Condition
In the case you desire to identify the Projects and funds necessary to maintain the network in a specific condition, follow the steps below:
- Select the Structure Analyst module
- Select Analysis from the banner menu at the top of the page
- Select Network Analysis from the drop-down menu
- Select Optimization Analysis
- Create a new scenario up to the point of setting the objective and constraints for the analysis or if you'd like to edit an existing optimization, use the Find Scenario field at the top of the Setup tab to locate the desired optimization analysis
- In the Constraint pane, right-click and then click Insert to add a record to the pane
- In the new record, click the check box in the Is Objective column to select it
- In the Constraint Column, click the down arrow to display the list and then click Treatment Cost
(This type of constraint forces the Type column to be Total, so you do not need to set this column.) - In the Constraint pane, right-click and then click Insert to add a second record to the pane
- In the Constraint Column of the new record, click the down arrow to display the list and then click the desired constraint (Deck, Superstructure, or Substructure)
- In the Type column, click the down arrow to display the list and then click Weighted Average
- In the Constraint Limit Value column, enter the value at which you want to maintain your selected index
- In the Constraints pane, select Treatment Cost as the Objective Function (of the type Total) to find the optimum combination of projects that will minimize the project costs and maintain the network in the condition defined in the constraint
- Run the optimization analysis
- When the analysis is finished, click the Results tab to review the projects selected according to objective and constraint(s) results
The number of records is the number of projects selected. (In the example below, the analysis resulted in 191 projects selected.)
- Click the Results tab to review the resulting values of the objective and constraint(s)
The cost to maintain the network at the desired level is shown in the Resulting Value column