GA with integer and linear constraints

2 次查看(过去 30 天)
According to the documentation of global optimization toolbox "ga does not enforce linear constraints when there are integer constraints. Instead, ga incorporates linear constraint violations into the penalty function".
In an optimization problem I am trying to solve if linear constraints are violated, other constraints will return non-real values. How can I tackle this issue?
Simplified version of problem
Objective Function : min a + b
0 <= a <= 10
0 <= b <= 10
Subject to,
a*b - 25*a < 0
theta < 0 (Where theta is function of a and b, and returns non-real value if first constraint is not satisfied)

回答(2 个)

Walter Roberson
Walter Roberson 2017-10-27
For that situation, do not use integer constraints. Instead, use custom population, mutation, and cross-over functions that "just happen" to obey the desired integer constraints.
  1 个评论
siddhesh rane
siddhesh rane 2017-10-27
@Walter: This seems little intimidating as I am a newbie to GA and constraints I am using are fairly complex. I will read more about creating custom population, mutation and crossover. Is there any other solver which is more suitable for these kinds of problems?

请先登录,再进行评论。


Alan Weiss
Alan Weiss 2017-10-27
You can set your returned objective function values to a large value, say 1e100, if the calculation comes back complex or NaN.
Alan Weiss
MATLAB mathematical toolbox documentation

类别

Help CenterFile Exchange 中查找有关 Direct Search 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by