5.4 Multi-Objective Optimization in Dynamic Environments
5.4.4 Dealing with Dynamic Environments
A dynamic MOOP is a MOOP that changes with time. These changes can occur at any of the following levels or any combination of them [34]:
1. Objective functions 2. Constraint functions 3. Problem parameters
More specifically, based on the definitions of a general MOOP provided in Section 5.4.1, a dynamic MOOP can be defined as follows [21]:
max {z1= f1(x, t), z2= f2(x, t), ..., zq = fq(x, t)} (5.21)
s.t. gi(x, t) ≤ 0 i = 1, 2, ..., m
where t is the time variable. The time-dependent solution sets are defined as follows [40]:
Definition 4. SP(t) is the set of Pareto-optimal solutions at time t in the decision space. FP(t) is
the set of Pareto-optimal solutions at time t in the objective space. The ideal point (as defined in Definition 3) is also time-dependent:
Definition 5. The ideal point z∗(t) = (z∗1(t), z∗2(t), ..., zq∗(t)) is the point in the criterion space
where z∗
k(t) = sup{fk(x, t)|x ∈ S}, k = 1, 2, ..., q.
Farina, Deb and Amato [40] propose a basic classification of dynamic MOOP based on Defini- tion 4:
1. The optimal decision variables SP change, whereas the optimal objective values FP do not
5.4. MULTI-OBJECTIVE OPTIMIZATION IN DYNAMIC ENVIRONMENTS 97
2. Both SP and FP change.
3. SP does not change, whereas FP changes.
4. Both SP and FP do not change, although the problem can change.
Each type of changes requires a special handling in the algorithm. Other possible dynamics are changes in the decision maker’s preferences as well as new or removed objectives and constraint functions.
Deb, Rao and Karthik [34] point out that there are two basic ways of addressing dynamic optimization problems. One approach is to run the optimization off-line for some realistic scenarios of the dynamic problem faced. This is suitable for large problems that are computationally expensive, making an online approach not scalable or inefficient. It is however incapable of automatically reacting to newly appearing changes, and requires that the type and extent of the changes in the system are known beforehand. The other approach is to run the optimization algorithm online, when required. Doing this, one assumes that the problem is stationary during the optimization
procedure. The shorter the optimization procedure, the safer is this assumption. In the next
optimization iteration, a new problem is considered, taking into account all the changes since the previous iteration. The authors also describe an important trade-off encountered in dynamic online optimization. The following assumptions are made and values are defined:
• The change in the optimization problem is gradual in t. • One optimization iteration requires a finite time G.
• TT iterations are allowed or needed to reach an optimal or near-optimal solution.
• The problem does not change within a time interval tT. GTT is the initial time taken by the
algorithm to find a solution under changed conditions, and GTT < tT.
• α = GTT/tT is a small value, such that (1 − α)tT time is spent on using a specific solution
after its computation.
Figure 5.4 [34] illustrates the problem setting. The value to be decided on is the value of tT. If tT
has a large value, then the system is assumed to be stable in a longer time interval, which allows a
larger number of iterations TT. After a larger time interval, the changes can be expected to have a
greater impact than after a shorter interval. But as a higher number of iterations is allowed, there
may be enough iterations to reach the new trade-off optimal solutions. On the other hand, if tT has
a smaller value, changes are more frequent and generally less impacting, but fewer iterations can be carried out. With too few iterations, no good-quality new solution may be found. There is thus a
lower bound on tT that needs to be defined. This depends on the nature of the underlying dynamic
optimization problem as well as on the chosen algorithm.
Furthermore, it can happen that new requests are arriving while others are still being executed. This is an issue in dynamic problems, because some QoS values required for the optimization might not be up to date. An example is the usage index: the information that a specific deployment has been used might not yet have been written to the central registry and therefore, the new optimization runs is starting with a deprecated usage index value. This issue is partly addressed by introducing
attribute value levels (cf. Section 5.2). However, if many requests are suddenly issued at the same time, this becomes a serious consideration.
Camara, Ortega and de Toro [21] point out that dynamic optimization procedures require specific evaluation criteria. Specifically, three measures should be considered when evaluating an algorithm designed for dynamic MOOP: the accuracy assessing the quality of the solutions found, the stability expressing the effect of changes on the algorithm accuracy, and the reaction capability measuring the capability of an approach to react and adapt to changes. These evaluation criteria are discussed in more detail in Chapter 7.
0 tT 2tT
f(t)
Time t Window for the
optimization Assumed f(t)
for period tT
GtT
Figure 5.4: Dynamic Online Optimization [34]