3

I’ve installed the Differential Evolution (DE) Optimizer following the instructions on https://github.com/skarjoko/differential-evolution/blob/master/Main.java, and simply running the code in eclipse works fine and easily lets me optimize the example functions.

Now to my problem: in the default mode the DE only runs an optimization of a singular function ( e.g. f(x1) = y1 ), throwing the value of one function only.

The model I need to optimize consists of three functions ( e.g. f(x1) = y1, f(x2) = y2, f(x3) = y3) ), and I would need one value for each function separately. How should I proceed to implement those three functions into the DE?

Background information on the model: The model I need to optimize consists of three possible fractions of people that might or might not adopt a behaviour (fraction of people that just learned about the innovation, fraction of people that intends to use the innovation and a fraction of people that already uses the innovation). The diffusion of the adoption is simulated in a time and space discrete agent based model.

Thank you in advance for your help!

1 Answers1

1

You can define three fitness function as f(x1), f(x2), and f(x3). In the code you provided the author defined various cost functions like schwefel's problem in DifferentialEvolution.java file. You need to calculate three fitness value for each individual of the DE according to your objectives. Since you have multiple objectives, you should then calculate the pareto-optimal of your 3-objective problem. the following links may give you some hints:

https://github.com/jMetal/jMetal

https://github.com/chen0040/java-moea

Javidan
  • 114
  • 3