Ekonomia matematyczna

Wykład 1: Wprowadzenie

Przykład wprowadzający: równowaga częściowa

Rozważamy pojedyncze dobro. Wszystkie inne dobra traktujemy jako odrębne pojedyczne “złożone” dobro.

Poszukujemy zarówno funkcji podaży jak i funkcji popytu. W tym celu rozpatrujemy zagadnienia optymalizacji producenta oraz zagadnienie optymalizaji konsumenta.

Zagadnienie optymalizacji producenta

Założenia ekonomiczne: całość produkcji rozpatrywanego dobra może zostać przedstawiona jako zagadnienie optymalizacji pojedynczego producenta; producent ten działa w ramach rynku doskonale konkurencyjnego, tj. przyjmuje cenę dobra jako zadaną; rynek jest zawsze w równowadze, tj. podaż wynosi dokładnie tyle co produkcji; całość procesu technologicznego jest opisana przez pojedynczą funkcję kosztów, która jest rosnąca i ma rosnące koszty krańcowe.

Założenia matematyczny: wielkość produkcji jest zmienną ciągłą;  funkcja kosztów jest postaci c(q)=(q^2)/2.

Zadanie optymalizacji (maksymalizacji zysku 𝒫) producenta jest postaci

(max_(q≥0)) 𝒫(q)=(max_(q≥0)) p q-c(q)=(max_(q≥0)) p q-((q^2)/2)

gdzie p to cena jednostkowa dobra a q to wielkość produkcji.

Zadanie optymalizacji konsumenta ma rozwiązanie postaci

S(p)=p

i wyznacza funkcję podaży.

Z technicznego punktu widzenia zadanie optymalizacji konsumenta to zadanie optymalizacji statycznej bez ograniczeń i może być rozwiązane standardowymi metodami. Warunki optymalaności pierwszego rzędu są tutaj postaci

(d/(dq))(p q-((q^2)/2))=p-q=0

Warunki optymalności drugiego rzędu są postaci

((d^2)/(d(q^2)))(p q-((q^2)/2))=-1<0

Z warunków pierwszego rzędu wyznaczam potencjalne rozwiązanie i weryfikujemy warunkiami drugiego rzędu, że potencjalne rozwiązanie rzeczywiście jest maksimum.

Zagadnienie optymalizacji konsumenta

Założenia ekonomiczne: całość popytu może zostać opisana jako zagadnienie wyboru pojedynczego konsumenta; konsument rozważa tylko dwa dobra, pierwsze o cenie p oraz drugie dobro “złożone” o cenie 1; oba dobra są ciągłe; konsument jest racjonalny a jego preferencje można przedstawić przy pomocy funkcji użyteczności klasy (C^2), konsument dysponuje bogactwem w>0.

Założenia matematyczny: oba dobra są ciągłe, preferencje konsumenta można wyrazić funkcją użyteczności postaci u(q,y)=(Sqrt[q y]).

Zadanie optymalizacji konsumenta jest postaci

(max_(q≥0, y≥0)) (Sqrt[q y]), przy ograniczeniach postaci p q+y≤w.

Zadanie optymalizacji konsumenta prowadzi do rozwiązania

D(p)=(w/(2 p))

które wyznacza funkcję popytu.

Z technicznego punktu widzenia zadanie optymalizacji konsumenta to zadanie optymalizacji statycznej z ograniczeniami w postaci nierówności, które przy standardowych założeniach można zastąpić zadaniem optymalizacji statycznej z pojedycznym ograniczeniem w postaci równości. Zadanie to może zostać rozwiązane z wykorzystaniem standardowych techniki. W szczególności funkcja Lagrange’a jest postaci

ℒ(q,y)=(Sqrt[q y])-λ (p q+y-w)

Warunki optymalności pierwszego rzędu są postaci

((∂ℒ)/(∂q))=(y/(2 (Sqrt[q y])))-λ p=((Sqrt[y])/(2 (Sqrt[q])))-λ p=0
((∂ℒ)/(∂y))=(q/(2 (Sqrt[q y])))-λ=((Sqrt[q])/(2 (Sqrt[y])))-λ=0
p q+y=w

Rozwiązanie powyższego układu równań jest postaci

q=(w/(2 p))
y=(w/2)
λ=(1/2)(Sqrt[(1/p)])

Oczywiście należy również sprawdzić waruki drugiego rzędu, które tutaj pominiemy.

Równowaga częściowa (model statyczny)

Zestawienie podaży S(p) oraz popytu D(p) definiuje równowagę częściową, która jest przedstawiona na wykresie poniżej.

Manipulate[
(* supply function *)
s=p;
(* demand function *)
d=w/(2 p);
(* equilibrium *)
pe=Sqrt[w/2];
(* graph *)
fig1=Plot[{Callout[s,"podaż"],Callout[d,"popyt"]},{p, 0.1, 1.9},
PlotRange->{{0,2},{0,4}},
AxesLabel->{"cena p", "ilość dobra q"}];
fig2=Graphics[{{Red,Line[{{pe,0},{pe,pe},{0,pe}}]},
{Red,PointSize[.02],Point[{{pe,pe}}]}}];
Show[fig1,fig2],
{{w,1,"bogactwo w"},1,3},
SaveDefinitions->True,ContinuousAction->False
]

Statyczny warunek równowagi jest postaci

D(p)=S(p)
(w/(2 p))=p

skąd otrzymujemy cenę w równowadze (SuperStar[p])=(Sqrt[w/2]).

Równowaga częściowa (model dynamiczny)

W modelu dynamicznym chcemy odpowiedzieć na pytanie jak zachowuje się cena w czasie a więc zamiast statycznej ceny p rozważamy cenę jako funkcję czasu p(t), gdzie t∈(SubPlus[ℝ]) oznacza czas.

Przez nadwyżkę popytu E(p) rozumiemy wyrażenie postaci

E(p)=D(p)-S(p)=(w/(2 p))-p

Manipulate[
(* demand excess *)
e=w/(2 p) -p;
(* graph *)
Plot[e,{p, 0.1, 1.9},PlotRange->{{0,2},{-4,4}},
AxesLabel->{"cena p", "nadwyżka popytu"}],
{{w,1,"bogactwo w"},1,3},
SaveDefinitions->True,ContinuousAction->False
]

Założenia ekonomiczne: jeżeli przy danej cenie występuje dodatnia nadwyżka popytu, to cena powinna rosnąć, jeżeli przy danej cenie występuje ujemna nadwyżka popytu, to cena powinna maleć.

Założenia matematyczne: zachowanie ceny p w czasie jest opisane równaniem różniczkowym

Modelem zachowanie się ceny p w czasie jest równanie różniczkowe postaci

((dp(t))/(dt))=E(p)=(w/(2 p))-p

Rozwiązanie powyższego równania różniczkowego jest postaci

p(t)=(1/(Sqrt[2]))(Sqrt[(e^(-2 t))(2 (Subscript[p, 0]^2)-w+w (e^(2 t)))])

gdzie (Subscript[p, 0]) to cena w chwili t=0. W szczególności zachodzi

(lim_(t->∞)) p(t)=(lim_(t->∞)) (1/(Sqrt[2]))(Sqrt[(e^(-2 t))(2 (Subscript[p, 0]^2)-w+w (e^(2 t)))])=(Sqrt[(w/2)])

a więc graniczna cena jest zgodna z ceną wyznaczoną w modelu statycznym.

Manipulate[
sol=Quiet[DSolve[p'[t]==w/(2 p[t])-p[t]&&p[0]==p0,p[t],t][[2]]];
sol1=p[t]/.sol;
fig3=Plot[Evaluate[sol1/.{p0->xp0,w->xw}],{t, 0, 10},
PlotRange->{0,2},GridLines->{None,{Evaluate[Sqrt[w/2]/.w->xw]}}];
Show[fig3],
{{xw,2,"w (bogactwo)"}, 1, 3},
{{xp0,1,"(Subscript[p, 0]) (cena początkowa)"}, 0, 2},
SaveDefinitions->True,ContinuousAction->False]

Podsumowanie

Zadanie optymalizacji firmy wyznacza podaż — technicznie jest to statyczna optymalizacja bez ograniczeń

Zadanie optymalizacji konsumenta wyznacza popyt — technicznie jest to statyczna optymalizacja z ograniczeniami.

Model dostosowania cen w czasie poza równowagą określa stabilność równowagi — technicznie wykorzystujemy tutaj równania różniczkowe.