n=10;
eff=Table[RandomReal[],{n}]/n;
catchtot={};
Do[
x=RandomReal[];
ca=Table[0,{n}];
Do[
ca+=eff/Total[eff]*x;
x=x+0.01*(x*(1-x)-Total[eff]*x);
,{1000}];
eff=Table[eff[[Ordering[ca][[-1]]]]+0.1*(RandomReal[]-0.5),{n}];
AppendTo[catchtot,Total[ca]];
,{100}]
ListPlot[catchtot,PlotRange->All]