GA with integer and linear constraints

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)

Respuestas (2)

Walter Roberson
Walter Roberson el 27 de Oct. de 2017

1 voto

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 comentario

siddhesh rane
siddhesh rane el 27 de Oct. de 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?

Iniciar sesión para comentar.

Alan Weiss
Alan Weiss el 27 de Oct. de 2017

1 voto

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

Etiquetas

Preguntada:

el 27 de Oct. de 2017

Respondida:

el 27 de Oct. de 2017

Community Treasure Hunt

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

Start Hunting!

Translated by