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

Implement using python , the method of

0 . Initialise the archive A={x} 0 . Initialise the number of epochs i1 0 . Initialise the number of acceptances c0 0 . Initialise the number of rejections d0 0 . Initialise the number of iterations t1 1. If i=imax then Output A and stop 2. If d=dmax then Increase temperature T using reheating schedule ii+1 c0 d0 Go to Step 1 3. If c=cmax then Decrease temperature T using cooling schedule ii+1 c0 d0 Go to Step 1 4. Generate a neighbouring solution x of x 5. If rand(0,1)>min(1,exp(TE(x,x))) then Reject x tt+1 dd+1 Go to Step 2 6. xx 7. cc+1 8. If A~x=0 then AA{x} Remove solutions from A dominated by x 9. tt+1 and go to Step 3

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related General Management Questions!