At each iteration of the optimization process, the objective function(s) and all constraints of the design problem are evaluated. Retaining all of these responses in the optimization problem has two potential disadvantages:
This can result in a big optimization problem with a large number of responses and design variables. Most optimization algorithms are designed to handle either a large number of responses or a large number of design variables, but not both.
For gradient-based optimization, the design sensitivities of these responses need to be calculated. The design sensitivity calculation can be very computationally expensive when there are a large number of responses and a large number of design variables.
Constraint screening is the process by which the number of responses in the optimization problem is trimmed to a representative set. This set of retained responses captures the essence of the original design problem while keeping the size of the optimization problem at an acceptable level. Constraint screening utilizes the fact that constrained responses that are a long way from their bounding values (on the satisfactory side) or which are less critical (i.e. for an upper bound more negative and for a lower bound more positive) than a given number of constrained responses of the same type, within the same designated region and for the same subcase, will not affect the direction of the optimization problem and therefore can be removed from the problem for the current design iteration.
Consider the optimization problem where the objective is to minimize the mass of a finite element model composed of 100,000 elements, while keeping the elemental stresses below their associated material's yield stress. In this problem, we have 100,000 constraints (the stress for every element must be below its associated material's yield stress) for each subcase. For every design variable, 100,000 sensitivity calculations must be performed for each subcase, at every iteration. Because design variable changes are restricted by move limits, stresses are not expected to change drastically from one iteration to the next. Therefore, it is wasteful to calculate the sensitivities for those elements whose stresses are considerably lower than their associated material's yield stress. Also the direction of the optimization will be driven primarily by the highest elemental stresses. Therefore, the number of required calculations can be further reduced by only considering an arbitrary number of the highest elemental stresses.
Of course there is trade-off involved in using constraint screening. By not considering all of the constrained responses, it may take more iterations to reach a converged solution. If too many constrained responses are screened, it may take considerably longer to reach a converged solution or, in the worst case, it may not be able to converge on a solution if the number of retained responses is less than the number of active constraints for the given problem.
Through extensive testing it has been found that, for the majority of problems, using constraint screening saves a lot of time and computational effort. Therefore, constraint screening is active in OptiStruct by default. The default settings consider only the 20 most critical (i.e. for an upper bound most positive and for a lower bound most negative) constraints that come within 50 percent of their bound value (on the satisfactory side) for each response type, for each region, for each subcase.
The DSCREEN bulk data entry controls both the screening threshold and number of retained constraints. Different DSCREEN settings are allowed for all of the response types supported by the DRESP1 bulk data entry. Responses defined by the DRESP2 bulk data entry are controlled by a single DSCREEN entry with RTYPE = EQUA. Likewise, responses defined by the DRESP3 bulk data entry are controlled by a single DSCREEN entry with RTYPE = EXTERNAL. It is important to ensure that DRESP2 and DRESP3 definitions that use the same region identifier use similar equations. (In order for constraint screening to work effectively, responses within the same region should be of similar magnitudes and demonstrate similar sensitivities, the easiest way to ensure that is through the use of similar variable combinations).
In OptiStruct, a region is a group of responses of the same type.
Regions are defined by the region identifier field on the DRESP1, DRESP2, and DRESP3 bulk data entries used to define the responses. If the region identifier field is left blank or set to 0, then each property associated with the response forms its own region. The same region identifier may be used for responses of different types, but remember that because they are not of the same type they cannot form the same region.
|
(1) |
(2) |
(3) |
(4) |
(5) |
(6) |
(7) |
(8) |
(9) |
(10) |
|
DRESP1 |
1 |
label |
STRESS |
PSHELL |
|
SMP1 |
|
1 |
|
|
|
2 |
3 |
|
|
|
|
|
|
|
DREPS1 with ID 1 defines stress responses for all the elements that reference the PSHELL definitions with PID 1, 2, or 3. As no region identifier is defined, the stress responses for each PSHELL form their own regions. So, all of the stress responses for elements referencing PSHELL with PID1 are in a different region than all of the stress responses for elements referencing PSHELL with PID2, which in turn are in a different region than all of the stress responses for elements referencing PSHELL with PID3. If this response definition is constrained in an optimization problem, and the default settings for constraint screening are assumed, then 20 elemental stresses are considered for each of the three PSHELL definitions, i.e. 20 for each region, giving a total of 60 retained responses.
|
(1) |
(2) |
(3) |
(4) |
(5) |
(6) |
(7) |
(8) |
(9) |
(10) |
|
DRESP1 |
2 |
label |
STRESS |
PSHELL |
1 |
SMP1 |
|
1 |
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(1) |
(2) |
(3) |
(4) |
(5) |
(6) |
(7) |
(8) |
(9) |
(10) |
|
DRESP1 |
3 |
label |
STRESS |
PSHELL |
1 |
SMP1 |
|
3 |
|
All of the stress responses defined in the DRESP1 entries above form a single region - notice the non-zero entries in field 6 (0 is equivalent to leaving it blank). Now, if these response definitions (which are of the same type (STRESS), with the same non-zero entry in field 6) are constrained in an optimization problem (assuming the default settings for constraint screening), then 20 elemental stresses are considered in total for the three PSHELL definitions because they form a single region.