Filter-UNIRANDI: we propose here an extension of UNIRANDI in which the constraints are handled by means of a filter scheme (Fletcher & Leyffer, 2002). The idea is to transform the original constrained optimization problem into a multiobjective optimization problem with two conflicting criteria: minimization of the objective function f(x) and, simultaneously, minimization of a function which takes into account the constraint violation, (x).
The key concept in the filter approach is that of non-domination. Given two points x and y, the pair [f(y), (y)] is said to dominate the pair [f(x), (x)] if f(y) ≤ f(x) and (y) ≤ (x), with at least one strict inequality. The filter is then formed by a collection of non-dominated pairs [f(y), (y)]. A trial point xtrial will be accepted by the filter if the corresponding pair is not dominated by any member of the filter. Otherwise, the step made is rejected. An additional heuristic criterion for a new trial point to be accepted is that (xtrial) ≤ max. This upper limit is set to the maximum between 10 and 1.25 times the initial constraint violation. Figure 1 shows a graphical representation of a filter.
Figure 1: Graphical representation of a non-domination filter.
When the filter strategy is incorporated to the algorithm, the linear search will be performed only if a trial point reduces the objective function and the constraint violation is less or equal than that of the current best point, but as long as new trial points are not filtered, the step length is doubled and new directions are tried. The parameter max_ndir (equal to 2 in UNIRANDI) is the maximum number of consecutive failed directions which are tried before halving the step length.
A more detailed description of the Filter-UNIRANDI algorithm is given below.
Set trial = 1 and x0 = x, where x is the best point found so far.
Generate a unit random direction d.
Find a trial point.
If and go to Step 13.
If
Share with your friends: |