MATLAB Answers

0

How can i formulate this fitness function ?

Asked by Nicolò Sgarabotto on 2 Aug 2019
Latest activity Answered by Navya Seelam on 7 Aug 2019
I just started studying Matlab and I need help.
I would like to represent a fitness function and then perform a genetic algorithm.
The function I have to script is the following in the picture:
To begin with, only the first part of the function would be enough. Once I understand the process of representation of the first part, I think I will be able to script the rest.
So it would be enough to understand how to script the following part.
Only the capital letters are variable, and the lower case letters are constant.
So the variable are the parts circled in red. The other are costants, also in the rest of the Function.
So for exemple i need to formulate a Fitness Function like that:
FF1_es.PNG
With N=16 and T=12
Thankyou very much.

  3 Comments

Only the capital letters are variable, and the lower case letters are constant.
What are your independent variables?
What are your dependent variables?
What are the parameters you want to optimise?
Jon
on 2 Aug 2019
In your last expression, are P and O N by T arrays, and so for example if in the summation we were at i = 2, t = 3 then Pi2t would be P(2,3) and Oi2t would be O(2,3)?
The function to be minimized is a cost function.
So, is COST = ∑(i=1)^N ∑(t=1)^T〖50 * Pk1t + 70 * Ok1t〗
Where the independent variables are Pk1t and Ok1t.
The dependent variable is the COST.
I want to optimize the variables of the model so as to obtain a minimum cost.
For Jon:
Yeah, exactly as you said.
For example P =[10 , 20 , 12; 15 , 17 , 21]
This is an APP (Aggregate Production Planning) Model.
I am attaching the description of the model variables so maybe it becomes easier to understand what I'm talking about.
And this is some parameters:

Sign in to comment.

1 Answer

Answer by Navya Seelam on 7 Aug 2019

Hi,
In this case P and O are variables of the order 16-by-12. Use syms to create the symbolic variables and nested for-loop to create the symbolic expression. If function handle is required “matlabFunction” can be used.
syms P O [16 12] % creating symboloc variables
h=0;
for i=1:16
for t=1:12
h=h+50*P(i,t)+70*O(i,t); %creating symbolic expression
end
end
FitnessFunction=matlabFunction(h); %converting symbolic expression to function handle

  0 Comments

Sign in to comment.