13.02.2013 Views

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 ...

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!