How to use GA when a BIG problem only has integer variables?

1 visualizzazione (ultimi 30 giorni)
Hello everyone!
My question is actually simple. I have a linear optimization problem which contains more than 1000 variables and all of them are binary. That means they are treated as integer variables whose lower and upper bounds are 0 and 1, respectively. They are subject to linear equality and unequality constraints. Because there are more than 1000 integers in my problem, GA struggles to generate new best values. It starts with the initial value and that's it. It will no longer find a best value.
This problem is obviously linear. however I have to use GA or any other derivative-free optimization tool because I am plannig to integrate some functions to the solver.
I also tried writing my own crossover, mutation, creation functions. They work very well with small problems but with more than 1000 integers they just do not work.
So, is there anyone who struggled with a similar problem or who can help me somehow?
Thanks in advance.

Risposte (1)

Alan Weiss
Alan Weiss il 1 Giu 2020
It is unlikely that you will get an effective genetic algorithm solution here. Use intlinprog to solve MILP problems, possibly as an inner loop as in this example.
Good luck,
Alan Weiss
MATLAB mathematical toolbox documentation
  1 Commento
Kaan Yurtseven
Kaan Yurtseven il 1 Giu 2020
Thank you for your answer Alan. intlinprog works just fine when solving this problem, however, I do not think it will be adequate for the thing I want to do as a next step. I want to do some calculations in the optimization process and the results of these calculations must be within the linear constraints. It is like a feedback to the optimization. With GA, I can do that. That's why I need a gradient-free solver for this task.

Accedi per commentare.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by