mixed integer multi objective optimization using gamultiobj ; how do i code the custom mutation function to satisfy linear constraints? cuz i sovle with the dafault mutationadaptfeasible but constraint violated.this link is custom gaussian, cant help

2 views (last 30 days)
function mutationChildren = int_mutation(parents, options, GenomeLength, ...
~, state, ~, ~)
% Function that creates the mutated children using the Gaussian
% distribution. It does not satisfy linear constraints!
%IntCon constraints
IntCon = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16];
shrink = 0.01;
scale = 1;
scale = scale - shrink * scale * state.Generation/options.Generations;
range = options.PopInitRange;
lower = range(1,:);
upper = range(2,:);
scale = scale * (upper - lower);
mutationPop = length(parents);
mutationChildren = repmat(lower,mutationPop,1) + ...
repmat(scale, mutationPop,1) .* rand(mutationPop, GenomeLength);
x = rand;
if x>=0.5
mutationChildren(:, IntCon) = floor(mutationChildren(:,IntCon));
else
mutationChildren(:, IntCon) = ceil(mutationChildren(:,IntCon));
end
mutationChildren = checkboundsIntGA(mutationChildren, range);
i have a mixed integer multiobjective(3 objectives) linear optimization problem with linear constraints. how do i solve this using gamultiobj?how do i code the custom mutation function to satisfy linear constraints? because i sovle with the dafault adaptive feasible ('mutationadaptfeasible') but the solution did not satisfy my linear constraints. the solution provided in the link below is the customized ('mutationgaussian') which cant satisfy linear constraints.

Answers (0)

Tags

Community Treasure Hunt

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

Start Hunting!