Does MATLAB have a mixed-integer optimization feature that uses metaheuristic algorithms?

조회 수: 4 (최근 30일)
I am interested in optimization and know that MATLAB has a built-in metaheuristic algorithm that can be utilized. I have worked with some of these algorithms, such as Genetic Algorithms (GA) and Particle Swarm Optimization (PSO). However, I believe they are typically designed to solve problems with a single type of decision variable.
I am currently working on a problem that involves multiple types of decision variables, including binary, integer, and continuous variables. Can this kind of problem be effectively solved using a heuristic approach?
  댓글 수: 14
M.Sattar
M.Sattar 2025년 2월 8일
For example i have a vector decision variable X =[x1, x2, x3, x4, x5, x6];
x1 and x2 are binary variables that can be either 1 or 0,
x3 and x4 are discrete integer variables that can be 0,1, 2, 3, 4, 5 ...
x5, x6 are continous varaible 0, 0.5 1.2, 4.54 8.5 .. etc
Torsten
Torsten 2025년 2월 8일
편집: Torsten 2025년 2월 8일
As said, you can handle these variables by setting bounds in MATLAB's "ga":
x1 and x2: Set intcon and lb = 0, ub = 1
x3 and x4: Set intcon and lb = 0
x5 and x6: Set intcon and lb = 1, ub = number of values x5 and x6 can take and identify 0 with 1, 0.5 with 2, 1.2 with 3 etc. in the objective function.
Here is a helpful page with the available software for certain problem classes and benchmark tests of commercial and non-commercial solvers:

댓글을 달려면 로그인하십시오.

채택된 답변

M.Sattar
M.Sattar 2025년 4월 13일
Hi, I found the way to solve this, Just wanted to say a huge thanks for all the help with my mixed-integer optimization questions. Your advice has been super helpful! Big shoutout to @Torsten, @Walter Roberson , @Sam Chak , and @Mike Croucher for your awesome insights.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Linear Programming and Mixed-Integer Linear Programming에 대해 자세히 알아보기

제품


릴리스

R2024b

Community Treasure Hunt

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

Start Hunting!

Translated by