function kavitaineq(n) % trying to lower-bound \sum_i a_i b_i % where a_i, b_i are in [0,1] % want a bound of the form % \sum_i a_i b_i \geq \psi(a) \sum_i b_i % where \psi:[0,1]^n\to [0,1] %% is non-decreasing in each component. % a completely trivial psi is 0. % a less trivial one is the one used by Marton: % \psi(a) = min_i a_i % can we get a tighter psi? global myopt myopt = optimset('Diagnostics','off'); myopt = optimset('Display','off'); warning off global a BB YY T = 500; BB = []; YY = []; PROGstart(T) for t=1:T % fix an a a = rand(n,1); LB = zeros(n,1); UB = LB + 1; for i=1:10 b = rand(n,1); [b,y] = fmincon(@myobj,b,[],[],[],[],LB,UB); end if y > min(a) + 1e-7 'heh' keyboard end %BB(end+1) = sum(b); %YY(end+1) = y; PROGupdate(t); end PROGend return function y = myobj(b) global a y = a'*b / sum(b); return