GA with integer and linear constraints

2 views (last 30 days)
siddhesh rane
siddhesh rane on 27 Oct 2017
Answered: Alan Weiss on 27 Oct 2017
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)

Answers (2)

Walter Roberson
Walter Roberson on 27 Oct 2017
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 Comment
siddhesh rane
siddhesh rane on 27 Oct 2017
@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?

Sign in to comment.


Alan Weiss
Alan Weiss on 27 Oct 2017
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

Community Treasure Hunt

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

Start Hunting!