# Utility maximimization for unusual Leontief utility function

The problem is basic utility maximization subject to a budget constraint with $$u(x,y) = min\{x+y,4\sqrt{x},4\sqrt{y}\}$$ $$p_x = 1, p_y = 1, M = 4$$

I will have to first plot the Indifference Curves.

I am able to figure out the following:

If $$x < y: u(x,y) = min\{x+y, 4\sqrt x\}$$,
else $$u(x,y) = min\{x+y, 4\sqrt y\}$$.

But I get stuck here. For ex: if I am in the region where $$x, I can't find the sub-region where $$x+y < 4 \sqrt x$$ or $$x+y > 4 \sqrt x$$.

Cheers!

• Why can't you find the subregion? Seems like the straightforward solution of a second degree polinomial to me. $$x^2 + x(2y -16) +y^2<0$$. – Giskard Mar 11 '19 at 10:24
• Giskard, thanks. But you see, I can't plot that on an x-y plane. Or can't solve for x,y either. – Vizag Mar 11 '19 at 10:59
• How come you cannot solve it? Keeping $y$ constant it is a second degree polinomial. Could you solve $$x^2 + x(constant_1) + constant _2$$? – Giskard Mar 11 '19 at 11:06

## 1 Answer Above is a plot of the indifference curves for $$U=1,2,...,8$$ and also for $$U=8.5$$ that I made in MATLAB. For $$P_x=P_y=1$$ and $$m=4$$, the budget constraint is simply the the line $$y=4-x$$ (not pictured here, but easy to visualize).

Notice this budget constraint overlaps the $$U=4$$ indifference curve (fourth contour from the origin) on the line segment connecting $$(1,3)$$ and $$(3,1)$$. Any other point on the budget line would yield $$U<4$$, hence consuming on the line segment connecting $$(1,3)$$ and $$(3,1)$$ is optimal. But since all of these bundles correspond to $$U=4$$, the optimal bundle is not unique, but could be any bundle on this line segment.

Here is the MATLAB code that generated the plot:

u=zeros(60,60);
for i=1:60;
for j=1:60
u(i,j)=min([(i+j)/10 4*sqrt(i/10) 4*sqrt(j/10)]);
end
end
figure
contour(u,[1 2 3 4 5 6 7 8 8.5]);
ylabel('Good Y')
xlabel('Good X')
grid on
grid minor
xt = get(gca, 'XTick');                                 % 'XTick' Values
set(gca, 'XTick', xt, 'XTickLabel', xt/10)
yt = get(gca, 'YTick');                                 % 'XTick' Values
set(gca, 'YTick', yt, 'YTickLabel', yt/10)