


[val] = PartialEvaluateGeneralFunction(vector):
Evaluates a vector on a multimodal function whose structure and
values are respectively defined as global variables
But only a subset of the objectives are evaluated
INPUT:
vector: Solution to be evaluated
FunctionStructure: A global variable. FunctionStructure{i} is a vector of
those variables indices where the function i depends on.
FunctionTables: A global variable. FunctionTables{i}(j) is the value
given by the objective i to the configuration indexed by j.
FunctionAccCard: A global variable. FunctionAccCard{i} stores the
accumulated cardinality of variables that belong to objective i.
SelectedObjectives: A global variable. Specifies with objectives will be
evaluated
OUTPUT
val: A vector of with the same size that SelectedObjectives
Last version 8/26/2008. Roberto Santana (roberto.santana@ehu.es)

0001 function[val] = PartialEvaluateGeneralFunction(vector) 0002 % [val] = PartialEvaluateGeneralFunction(vector): 0003 % Evaluates a vector on a multimodal function whose structure and 0004 % values are respectively defined as global variables 0005 % But only a subset of the objectives are evaluated 0006 % INPUT: 0007 % vector: Solution to be evaluated 0008 % FunctionStructure: A global variable. FunctionStructure{i} is a vector of 0009 % those variables indices where the function i depends on. 0010 % FunctionTables: A global variable. FunctionTables{i}(j) is the value 0011 % given by the objective i to the configuration indexed by j. 0012 % FunctionAccCard: A global variable. FunctionAccCard{i} stores the 0013 % accumulated cardinality of variables that belong to objective i. 0014 % SelectedObjectives: A global variable. Specifies with objectives will be 0015 % evaluated 0016 % OUTPUT 0017 % val: A vector of with the same size that SelectedObjectives 0018 % 0019 % Last version 8/26/2008. Roberto Santana (roberto.santana@ehu.es) 0020 0021 global FunctionTables; 0022 global FunctionStructure; 0023 global FunctionAccCard; 0024 global SelectedObjectives; 0025 0026 nfactors = size(SelectedObjectives,2); 0027 val = zeros(1,nfactors); 0028 for k=1:nfactors, 0029 i = SelectedObjectives(k); 0030 length = size(FunctionStructure{i},2); 0031 j = NumconvertCard(vector(FunctionStructure{i}),length,FunctionAccCard{i})+1; 0032 val(k) = val(k) + FunctionTables{i}(j); 0033 end 0034 0035 0036 0037 0038