HyperStudy

Method of Feasible Directions (MFD)

Method of Feasible Directions (MFD)

Previous topic Next topic Expand/collapse all hidden text  

Method of Feasible Directions (MFD)

Previous topic Next topic JavaScript is required for expanding text JavaScript is required for the print function  

The method of feasible directions is one of the earliest methods for solving constrained optimization problems. The fundamental principle behind this method is to move from one feasible design to an improved feasible design, therefore, the objective function must be reduced and the constraints at the new design point should not be violated.

 

Usability Characteristics

MFD is a gradient-based method, therefore it will most likely will find the local optima.
May be efficient with a large number of constraints, but in general it is less accurate than SQP and less efficient than ARSM.
One iteration of MFD will require a number of simulations. The number of simulations required is a function of the number of input variables since finite difference method is used for gradient evaluation. As a result, it may be an expensive method for applications with a large number of input variables.
MFD terminates if one of the conditions below are met:
-One of the two convergence criterias are satisfied.
oabsolute convergence (ABSOBJ)
orelative convergence (RELOBJ)
-The maximum number of allowable iterations (MAXDES) is reached.
-An analysis fails and the “Terminate Optimization” option is the default (IGFAIL).

 

The flowchart below illustrates the different phases of the MFD process.

Note:The MFD flowchart is the same as the SQP flowchart, except how each method calculates the search direction and step size is different.

MFD_flowchart

 

Settings

In the Specifications step, you can change the settings of MFD from the following tabs:

hmtoggle_arrow1Settings

In the Settings tab, you can access the settings listed below. Please note that for most applications the default settings work optimally, and you may only need to change the Maximum Iterations and On Failed Analysis.

Setting

Default Value

Range

Description

Maximum Iterations

(MAXDES)

25

> 0

Maximum number of iterations allowed.

Absolute convergence

(ABSOBJ)

0.001

>0.0

Absolute convergence parameter.  Determines an absolute convergence tolerance, which is constant and equal to ABSOBJ times the initial objective function value.  The design has converged when there are three consecutive designs for which the absolute change in the objective function is less than this tolerance.  There also must not be any constraint whose allowable violation is exceeded in these three consecutive designs.

Larger value allows faster convergence, but worse result could be achieved.

The above can be formulated as:

mfd2

where, f is the objective value; k is the current iteration number; is the absolute convergence parameter; arsm_cmax is the maximum constraint violation; arsm_gmazx is the allowable constraint violation.

Relative convergence

(RELOBJ)

1.0

> 0.0

Relative percentage convergence parameter.  The design has converged if the relative (percent) change in the objective function is less than this value for three consecutive designs.  There also must not be any constraint whose allowable violation is exceeded in these three consecutive designs.

Larger value allows faster convergence, but a worse result could be achieved.

The absolute convergence condition can be formulated as:

mfd1

Where, f is the objective value; k is the current iteration number; mslm_epsilon is the relative convergence parameter; arsm_cmax is the maximum constraint violation; arsm_gmazx is the allowable constraint violation.

Constraint violation tol.

(GMAX)

0.5

> 0.0

Global maximum allowable percentage constraint violation. Constraints must not be violated by more than this value in the converged design.

On failed analysis

(IGFAIL)

Termination

Termination of Ignore Failed Analysis

Termination

MFD terminates with an error message when an analysis run fails (default).

Ignore Failed Analysis

MFD ignores the failed analysis run, and tries different step size to do line search.

 

hmtoggle_arrow1More

In the More tab, you can access the setting listed below. Please note that for most applications, the default settings work optimally.

Setting

Default Value

Range

Description

Constraint threshold

(EPSCON)

1.0e-4

> 0.0

This parameter is used for constraint value calculation.  In general, constraint value is normalized to its bound value.  One exception is that constraint value is not normalized if its absolute bound value is less than this parameter.  Recommended range is 1.0e-6 ~ 1.0.

Use Perturbation size

(GPTUSE)

0

0 or 1

Enables the use of GPTSIZE, otherwise an internal automatic perturbation size is set.

Perturbation size

(GPTSIZE)

0.0001

> 0.0

Defines the size of the finite difference perturbation.

For a variable x, with upper and lower bounds (xu and xl, respectively), the following logic is used to preserve reasonable perturbation sizes across a range of variables magnitudes:

If abs( x) >= 1.0 then perturbation = GPTSIZE * abs( x)

If (xu - xl) < 1.0 then perturbation = GPTSIZE * (xu – xl)

Otherwise perturbation = GPTSIZE

Use Inclusion Matrix

(INCLUSI)

No

No, With Initial, Without Initial

No ignores the Inclusion matrix
With Initial runs the initial point. The best point of the inclusion or the initial point is used as the starting point.
Without Initial does not run the initial point. The best point of the inclusion is used as the starting point.