How does make function of this equation?

Can anyone help me,how to implement this equation in MATLAB?
This is basically the fitness function of genetic algorithm.

5 commentaires

darova
darova le 22 Déc 2019
Where is the data?
Misbah Habib
Misbah Habib le 22 Déc 2019
Sir i upload the pdf file.
darova
darova le 22 Déc 2019
ja nie ponimaju
dpb
dpb le 22 Déc 2019
Attach expression we can read w/o downloading a file, please...
Misbah Habib
Misbah Habib le 23 Déc 2019
Sir now i upload the picture of equation.

Connectez-vous pour commenter.

Réponses (3)

Misbah Habib
Misbah Habib le 23 Déc 2019

0 votes

equation algorithm.png

1 commentaire

Walter Roberson
Walter Roberson le 23 Déc 2019
What is the variable of summation? Is the i in gi(j) the same as the i in li-1 ?
The variables potentially used in the summation are i and j, but both of those appear to be used in the bounds of summation.

Connectez-vous pour commenter.

Walter Roberson
Walter Roberson le 23 Déc 2019
1 / (N * sum(C(sub2ind(size(C), gi(1:end-1), gi(2:end)))))
... under various assumptions about what the equation is intended to mean.

5 commentaires

Misbah Habib
Misbah Habib le 23 Déc 2019
I want to use this equation as a fitness function in Genetic algorithm.
Walter Roberson
Walter Roberson le 23 Déc 2019
In that case it would generally be more robust to use the negative of the reciprocal, and without the N factor.
That is, for optimization you would use
- sum(C(sub2ind(size(C), gi(1:end-1), gi(2:end))))
Again, this depends upon what some of the terms mean. I have interpreted as indicating that gi is a vector of node numbers, and that is the "cost" associated with traveling from the node designated by to the node and that Cis a matrix not a function. This would, for example, be used in a Travelling Salesman Problem, except that in a Traveling Salesman problem you would be wanting to minimize the sum, not maximize it (maximal sum leads to minimal )
Misbah Habib
Misbah Habib le 24 Déc 2019
Alright sir . yes i want to use this equation to optimize (minimization) . I want to use this equation for solving problem in MANET(mobile ad hoc network) to improve the performance of netwok.
Walter Roberson
Walter Roberson le 24 Déc 2019
When you are doing the optimization, what would the input be?
If the input is a list of nodes forming a path, and you are trying to find an optimal path, then be aware that your current expression will find the path with highest C entries, which is presumably the same thing as the path with the highest cost. The higher the cost of the path, the lower the value of 1/N * 1/cost .
If your C represents distance or represents energy use to transmit from one node to another, then minimizing your would involving maximizing your cost, which would in turn involve shooting messages as far away as possible and then back closer as the least efficient path would lead to highest sum() and that leads to lowest reciprocal-of-sum.

Connectez-vous pour commenter.

Misbah Habib
Misbah Habib le 24 Déc 2019

0 votes

Some of the examples , i read some type of series for making function .i did not understand their logic.

3 commentaires

numvar = min(size(C,1), size(C,2));
obj = @(gi) -sum(C(sub2ind(size(C), gi(1:end-1), gi(2:end))));
A = []; b = [];
Aeq = []; beq = [];
lb = 1 * ones(1, numvar);
ub = numvar * ones(1, numvar);
nonlcon = @(gi) numvar - length(unique(gi)); %positive if there are duplicates
intcon = 1 : numvar;
[best_gi, cost] = ga(obj, numvar, A, b, Aeq, beq, lb, ub, nonlcon, intcon);
Warning: this is a very inefficient way of expressing that the values must be a permutation of integers !!!
Misbah Habib
Misbah Habib le 25 Déc 2019
Thank you so much sir. Let me try this one.
Walter Roberson
Walter Roberson le 25 Déc 2019
You would do a lot more efficient with ga() if you did not use intcon and instead used a custom creation and custom mutation and custom crossover functions that "just happened" to impose permutations.

Connectez-vous pour commenter.

Community Treasure Hunt

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

Start Hunting!

Translated by