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

2 ビュー (過去 30 日間)
Kaan Yurtseven
Kaan Yurtseven 2020 年 5 月 29 日
コメント済み: Kaan Yurtseven 2020 年 6 月 1 日
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.

回答 (1 件)

Alan Weiss
Alan Weiss 2020 年 6 月 1 日
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 件のコメント
Kaan Yurtseven
Kaan Yurtseven 2020 年 6 月 1 日
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.

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeGenetic Algorithm についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by