# Simulating Optimization Problems and Production Possibility Frontiers

In teaching Behavioral Economics, optimization problems require some intuition. This intuition can be opaque without calculus literacy.  Below is a simulation to demonstrate that the process for constrained optimization works. It has the added benefit of showing isoquants (by colored stripes in the image below), and the strict boundary condition of the efficiency frontier.

Basic constrained optimization problems are as follows:

$U=f(x_1,x_2)$

$y=p_1 x_1 + p_2 x_2$

I have made code in R to simulate the results for a two-part optimization process. The example uses $U=sqrt(x_1) + sqrt(x_2)$ as the functional form.

library(“plot3D”)

p1<-1
p2<-2
y<-10
x1<-runif(25000, min=0, max=y/p1)

#Checking any options inside the constraint or on the constraint
x2<-runif(25000,min=0, max=(y-p1*x1)/p2)

U<-sqrt(x1)+sqrt(x2)
out<-mesh(x1, x2, U)
points3D(x1, x2, U, xlab=”x1″, ylab=”x2″, zlab=”Utility”, phi=-90, theta=90)

plot(x1, U)
abline(v=x1[which(U==max(U))], col=”red”)
x1_star<-x1[which(U==max(U))]
x2_star<-x2[which(U==max(U))]
y-x1_star*p1-x2_star*p2

And it outputs the following plots (with minor variation). Note that the colored bands represent utility curves, isoquants. The end of the colored points represents the efficiency frontier.

This slideshow requires JavaScript.

The actual solution is found by:

$U=sqrt(x_1)+sqrt(x_2)$

subject to:

$y=p_1 x_1+p_2 x_2$

The Lagrangian is then:

$L=sqrt(x_1)+sqrt(x_2) + \lambda (y - p_1 x_1 - p_2 x_2)$

Leading to the first order conditions (derivatives of L):

$L_1 : 0.5 x_1^{-0.5} - \lambda p_1=0$

$L_2: 0.5 x_2^{-0.5} - \lambda p_2=0$

$L_{\lambda} : y- p_1 x_1 -p_2 x_2 =0$

Using these 3 conditions, we can find the equations:

$\frac{0.5 x_1^{-0.5} }{0.5 x_2^{-0.5}} = \frac{p_1}{p_2}$
$y- p_1 x_1 -p_2 x_2 =0$

Where, if $y=10, p_1=1, p_2=2$ then we can solve for the theoretical solutions: $x_1=6.66, x_2=1.66$

These indeed match very closely with the real solutions.