Design of an Automatic Control Algorithm for Energy-Efficient ...
Design of an Automatic Control Algorithm for Energy-Efficient ...
Design of an Automatic Control Algorithm for Energy-Efficient ...
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Optimiser code 156<br />
IMEA_breeding(pop , DV, f itness , parents , Opt.popSize , Opt.numChild , max_ch<strong>an</strong>ge) ;<br />
96 /∗ evaluate children ∗/<br />
IMEA_evaluateObjectives(&pop [Opt. popSize ] , Sys , Obj. objectiveFctArray ,<br />
Estim_SYS_States , Opt . simHorizon , Opt . simSampleT , Opt . numChild , DV.numDV, Obj<br />
. numObj) ;<br />
98 /∗ r<strong>an</strong>k parents & children ∗/<br />
IMEA_priorisedWeighting(pop , Obj , ordPrio , Opt. popSize+Opt.numChild , DV.numDV) ;<br />
100 #if DEBUG_IMEA >= 3<br />
102 #endif<br />
DEBUG_print_pop( pop , Opt . popSize+Opt.numChild , DV.numDV, Obj.numObj) ;<br />
/∗ sort best to the first places ∗/<br />
104 IMEA_sortTruncate(pop , Opt. popSize , Opt.numChild) ;<br />
}<br />
106 #if DEBUG_IMEA >= 2<br />
108 #endif<br />
DEBUG_print_pop( pop , Opt . popSize , DV.numDV, Obj . numObj) ;<br />
/∗ Output determination ∗/<br />
110 /∗ select <strong>an</strong>d store output ∗/<br />
selected_ind = IMEA_select<strong>Control</strong>(pop , DV, Obj , ExVal . u_out , max_ch<strong>an</strong>ge , Opt . popSize<br />
);<br />
112 /∗ select <strong>an</strong>d store elite ∗/<br />
IMEA_selectElite (pop , DV, Opt . basePop , ExVal . elitePop , Opt. popSize , Opt.numBase, Opt.<br />
numElite , selected_ind , Opt. conDivThresh) ;<br />
114 #if DEBUG_IMEA >= 1<br />
116 #endif<br />
DEBUG_print_pop(&pop [ s e l ected_ind ] , 1, DV.numDV, Obj.numObj) ;<br />
118 #if DEBUG_IMEA >= 2<br />
120 #endif<br />
printf(">>>>> %d >>>\n " , s e l e c t e d _ i n d , max_ch<strong>an</strong>ge) ;<br />
/∗ Save values ∗/<br />
122 ExVal . explFactor [ 0 ] = max_ch<strong>an</strong>ge ;<br />
ExVal . f i t _ l a s t [ 0 ] = ExVal . f i t [ 0 ] ;<br />
124 ExVal . f i t [ 0 ] = pop [ selected_ind ]. weightedSum ;<br />
126 /∗ free memory ∗/<br />
128 {<br />
<strong>for</strong>( i=0;i