Constraints Pane

For any analysis type other than “Estimate MWP Influence”, the scenario must have one (or more) objective(s) and constraints.

The system supports three types of constraint/objectives:

  • Total: The analysis engine will stop when the constraint reaches the total amount shown in the Constraint Limit Value column. Typically, this type is only used on Treatment Cost to constraint on budget.
  • Weighted Average: The analysis engine will constraint the weighted average value of a column using the Index Weight of each segment defined through Calculated Expression window (see Index Weight) or if the scenario has an Analysis Weight Groovy Script defined.
  • 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 Condition Threshold column and the percentage value is entered in the Constraint Limit Value column.

This Constraints pane of Optimization Analysis window contains the following fields:

  • Is Objective: A check mark in this column indicates that the selected constraint is the objective of the analysis. You may 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.
  • 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.
  • 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 in previous sections.
  • Constraint Limit Value: This column is left blank except when the “Is Objective” column is checked for the “Constraint Column”. This column sets the limit value that must be satisfied during analysis. For “Total” constraint type, this column sets a cumulative value that will cause the analysis engine to stop. For “Weighted Average” constraint type, this column sets the lowest or highest value of weighted average of the constraint. For “Percent above Threshold” constraint type, this column sets the threshold value that the constraint value must exceed (by a certain percentage) for the analysis engine to stop. 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).
  • Condition Threshold: This column is left blank except when the Constr. Type column is set to “Percent above Threshold”. This column sets the threshold value for the section condition above which the sections will be counted. For example, if the constraint is “more than 70% of the lane-miles have IRI lower than 2 m/km,” this column will be set to “2”, and Constraint Limit Value column will be set to 0.7.
  • 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 then click 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.
  • Add Constr.: and Constraint Subdivision: These two columns will display the sub-divisions information if this function is activated. When the Activate Constraint subdivision command is executed, 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.

When right-clicking 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 Subdivisions 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: This command identifies the MWP projects that match the year and constraint partition of the record (and are within the analysis scope and MWP scope). It then calculates a total cost for these identified projects and inserts the cost in the MWP Budget field of the Treatment Cost constraint. 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 the overlapping portions of those projects in the MWP Budget field of these constraint records and leave the field 0 for other constraint records.
  • Copy MWP Budget to RHS: RHS (Right Hand Side) here means the constraint limit value for Treatment Cost constraint. This command copies the value in “MWP Budget” field to the “Constraint Limit Value” for the selected Treatment Cost constraint (the selected Treatment cost in a specific year or subdivision).
  • Copy All MWP Budget to RHS: This command is similar to “Copy MWP Budget to RHS” except it copies all MWP budget value to the “Constraint Limit Value” for the selected Treatment Cost constraint.
  • Copy Greater MWP Budget to RHS: This command compares the current MWP Budget field and Constraint Limit Value field for Treatment Cost constraint, and put the greater value in the Constraint Limit Value field for Treatment Cost constraint.