pymoo icon indicating copy to clipboard operation
pymoo copied to clipboard

Question: DE with discrete integer variables

Open zollen opened this issue 3 years ago • 2 comments

  1. Most of these algorithms works with continuous variables. But is it possible for DE (for example) to works with discrete integer variables?
  2. I want to learn more about the variant parameter of 'DE/rand/1/bin'. Would you be able to provide any information about all possibles values?
  3. I am working on a 9 variables problem with a single objective, For the F and CF parameters, can I provide an array of 9 elements for each of these two params? Thanks!!

zollen avatar Jun 09 '22 22:06 zollen

Sorry for the delay.

  1. Generally, DE has not been proposed for integer variables. (there might be some variants for other variable types, though)
  2. Please consult the current literature. There are a LOT of DE variants, and pymoo only has a few. I had someone recently contributing a few DE methods, and we had a chat. Let me know (shoot me an email) if you are interested in talking to him.
  3. F and CR are usually defined for all mating procedures in a whole run (thus simply a float variable)

blankjul avatar Jul 04 '22 14:07 blankjul

Hi, @zollen!

Regarding your first question, you can create objective functions or constraints that interpret real valued variables as discrete by using operators such as int, round, floor, or ceil inside the functions. When doing so, the output would still be in the real valued domain, so be careful to apply the same rounding operations before interpreting results.

In this article, I present an engineering design example of how to do so https://link.medium.com/6KLd1v5Hrrb I was using scipy implementation of DE back then, but same idea.

bruscalia avatar Jul 06 '22 16:07 bruscalia