Question: Implement using python , the method of Dominance-Based Multi-Objective Simulated Annealing (DBMOSA) for finding an approximation of the following continuous multi-objective optimization problem's (Schaffer 1985)
Implement using python, the method of Dominance-Based Multi-Objective Simulated Annealing (DBMOSA) for finding an approximation of the following continuous multi-objective optimization problem's (Schaffer 1985) Pareto front.
Minimise f1(x)=x2,
minimize f2(x)= (x-2)2 ,
subject to -105x105 .
For the method of simulated annealing to determine its appropriate parameter values and operator settings
empirically, they are:
- Starting temperature T0, e.g. accept all, acceptance deviation, or acceptance ratio.
- Epoch length, e.g. static or dynamic paradigm.
- Cooling and reheating schedule, e.g. linear, geometric, logarithmic, or adaptive, to name a few.
- Search termination criterion, e.g. reaching a final temperature, reaching a pre-determined number of iterations without improvement, or achieving a small number of move acceptances over a pre-specified successive number of epochs.
Hint 1: The most challenging aspect of this problem is developing an appropriate neighborhood function for DBMOSA which will require some ingenuity. A simple approach could involve a small random perturbation with respect to x. For further inspiration consider also mutation operators used by evolutionary algorithms in the context of continuous optimisation problems.
Hint 2: DBMOSA for a minimization MOP-Pseudocode
Algorithmic input:
- The maximum number of epochs imax,
- the maximum number of solution acceptances cmax,
- the maximum number of solution rejections dmax,
- a starting temperature T
- a cooling and reheating schedule
Algorithmic output:
- A non-dominated set of solutions A approximating the Pareto front

Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
