ریاضیات برای اقتصاد/بهینه‌سازی پویا

جبر خطی بهینه‌سازی پویا مقدمه
ریاضیات برای اقتصاد


تا به اینجای کتاب صرفاً به بررسی مباحث در یک مقطع از زمان پرداختیم. سوالاتی که به آن‌ها پاسخ دادیم حداکثرسازی مطلوبیت فرد، یا بنگاه تنها در یک مقطع از زمان بود. در طول زمان ممکن است قیمت‌ها، کالاهای مصرفی افراد، نهاده‌های مورد مصرف بنگاه‌ها، تابع مطلوبیت افراد یا تابع تولید بنگاه‌ها تغییر کنند. در این بخش بیشتر به سوالات این‌چنینی می‌پردازیم و به‌جای یک نقطه در زمان، در یک بازه از زمان و یک افق زمانی اقدام به حداکثر یا حداقل‌سازی می‌کنیم.

هرگاه بحث افق‌های زمانی شود، از معادلات دیفرانسیل استفاده می‌کنیم. تغییر در زمان، علامت تغییر، و خود استخراج خود متغیر با استفاده از معادلات دیفرانسیل شدنی است. در حال حاضر ما صرفاً با معادلات دیفرانسیل معمولی (به انگلیسی: Ordinary differential equation) (فقط با یک متغیر و آن هم‌زمان) سر و کار داریم و نه با (به انگلیسی: Partial Differential Equation) که توابع چند متغیره را بررسی می‌کند.

هدف ما از پیگیری این موضوع بیشتر رسم نگاره‌ٔ فاز، یا صفحهٔ فاز (به انگلیسی: Phase Plane) است. نگارهٔ فاز، (به انگلیسی: Phase Portrait) کل میدان برداری است و مسیر فاز (به انگلیسی: Phase Path)، خطوطی است که مسیر سیستم با گذر زمان را معین می‌کنند.[۱]

پیش مطالعه

ویرایش

یادآوری

ویرایش

توابع نمایی و مشتق آن‌ها

ویرایش
یادآوری: توابع نمایی و مشتق آن‌ها

هر تابع نمایی را می‌توان با پایهٔ عدد اویلر (یا هر عدد دیگری) بیان کرد.

 

از ویدئوی یادآوری بالا به خاطر داریم که مشتق هر تابع نمایی خود آن تابع ضرب در یک عدد ثابت است، که آن عدد ثابت با لگاریتم طبیعی تعیین می‌شود؛ داریم:

 

تعاریف

ویرایش

یک سیستم از معادلات دیفرانسیل معمولی و خطی به این صورت نشان داده می‌شود:   که در آن  

جواب چنین دستگاهی برابر با   است که در آن   نقطهٔ آغاز دستگاه است و خود متغیر بر حسب زمان نوشته شده است. چنین جوابی از آنجا به دست آمد که تنها تابعی که مشتقش برابر با خودش در یک ضریب است، همان تابع نمایی   است.

مثال برای ماتریسی با تنها یک معادله

 

که در آن   یک ثابت است و نقطهٔ شروع نیز هست زیرا به ازای   عبارت   برابر با   می‌شود.

یادآوری: بسط مکلورن  

نکته:  [۲] دیدن این فیلم برای درک بهتر این بسط توصیه می‌شود.

  • دستگاه غیرمزدوج (به انگلیسی: Uncoupled linear system): مشتق هر متغیر تابعی بر حسب خود آن متغیر است و نه سایر متغیرها. مثلاً   و   معادل ماتریسی این گونه دستگاه‌ها قطری می‌شود.

مثال:  

  • سامانه پویا (به انگلیسی: Dynamical system) یک مدل‌سازی ریاضی برای هرگونه قانون ثابت است که وابستگی موقعیت یک نقطه در یک فضای پیراگیر نسبت به یک پارامتر (که معمولا زمان است) را توضیح می‌دهد.[۳] سامانه پویا ابزاری است که به ما کمک می‌کند تغییر وضعیت از یک حالت به حالت دیگر را بررسی کنیم.[۴] سامانه پویا می‌تواند به صورت یک تابع از   (یک متغیر  و دو متغیر نمایانگر نقطه‌ی شروع همچون   به عنوان دامنه) به   (مکان نهایی نقطه‌ی اولیه‌ی   در زمان  ) تعریف شود.

سامانه‌ی پویای مثال بالا چنین است:   که همانطور که در بالا گفته شد، در آن   یک ماتریس و نمایانگر نقطه‌ی آغاز است، حاصل ضرب نیز (مقدار تابع) مکان نهایی نقطه‌ی آغاز خواهد بود. ضمنا همانطور که مشاهده می‌شود برای دستیابی به سامانه‌ی پویا نیاز به حل دستگاه داریم، اما حل دستگاه معادلات دیفرانسیل در اغلب اوقات دشوار است. از این رو می‌توان به‌جای سامانه‌ی پویا و بدون حل دستگاه، با خود دستگاه اولیه‌ای که داشتیم اقدام به رسم   کنیم که نگاشتی با تعریف   است. دامنه‌ی این نگاشت هر   و برد آن بردارهایی همچون   است که به ما جهت و اندازه‌ی حرکت در نقطه‌ی   به ازای تغییرات t را می‌دهد.

رسم نگارهٔ فاز: مباحث اولیه

ویرایش

رسم نگارهٔ فاز با گنو اکتاو

ویرایش
 
نگارهٔ فاز ساده‌ی رسم شده برای مثال معرفی‌شده، با استفاده از گنو اکتاو

برای رسم نمودار فاز دستگاه غیر مزدوج  ، علاوه بر راهکارهای ریاضیاتی که در پیش رو معرفی می‌شود می‌توان از نرم‌افزار GNU Octave[۵] استفاده کرد:

figure;

[x1,x2]=meshgrid(-2:0.2:2,-2:0.2:2);

dx1 = -x1;		%x1'= -x
dx2 = x2.*2;		%x2'= 2x2

quiver(x1,x2,dx1,dx2) 	%plot the vector field with arrows
xlabel('x1');
ylabel('x2');
title("Phase Plot for The Wikibooks Example");
xlim([-2 2]);
ylim([-2 2]);

grid on;
hold on;

رسم نگارهٔ فاز با استفاده از ریاضیات صرف

ویرایش

نمودار فوق چگونه رسم شده است؟ دو نقطهٔ   و   را در نظر بگیرید. به ازای این دو نقطه داریم:   همانطور که دیده می‌شود، صرفا با داشتن دستگاه و بدون حل آن توانستیم بردارهای مماس بر مسیر فاز را رسم کنیم. البته اندازهٔ این بردارها همگی با عددی کوچک‌تر مقیاس می‌شود تا جا برای رسم سایر بردارها نیز باقی بماند.

رسم مسیر فاز در کنار نگارهٔ فاز

ویرایش

برای اینکه مسیر فاز را نیز داشته باشیم داریم:[۶]

f=@(t,X) [-1*X(1);2*X(2)];
a=[1,-0.1,2,-2];
b=[-0.2,0.1,0.1,-0.1];
for k=1:4
  [t,Sap]=ode45(f,[0 2],[a(k),b(k)]);
  plot(Sap(:,1),Sap(:,2),'LineWidth',2,'color','k')
end

که افزودن این قطعه کد به کد پیشین، به ما چنین نموداری خواهد داد:

 
مسیر فاز به‌ازای خوراندن نقاط اولیهٔ  ، ، ،  به دستگاه، در کنار فضای برداری (نگارهٔ فاز)

در این قسمت از درس می‌توان بیش از پیش به اهمیت بردارهای ویژه پی برد. از آنجایی که ماتریس اولیهٔ ما قطری بود، بردارهای ویژه‌اش همان پایه‌های استاندارد هستند (یعنی بردارهای ویژه هم‌جهت با محورهای   و   هستند) همانطور که می‌بینید هر نقطه‌ای روی این دو محور صرفا مقیاس (به انگلیسی: scale) شده و تغییر جهت نمی‌دهد.

بررسی بهتر اهمیت بردارهای ویژه

ویرایش

بیاید با هم بردارهای سازنده‌ی نگارهٔ فاز بالا را با ماتریس دوران، ۴۵ درجه چرخش دهیم، به‌گونه‌ای که ماتریس، مقادیر ویژه‌اش تغییر نکند ولی بردارهای ویژه‌اش ۴۵ درجه تغییر زاویه دهند (یک ماتریس مشابه ماتریس   را با استفاده از ماتریس دوران ۴۵ درجه‌ای و معکوسش می‌سازیم.)

 

دستگاه معادلات دیفرانسیل تبدیل یافته چنین خواهد بود:   یا به عبارتی:  

محاسبهٔ مقادیر و بردارهای ویژه با گنو اکتاو

ویرایش

چه از طریق حل با قلم و کاغذ و چه با اکتاو (پس از نصب پکیج Symbolic)، می‌توان برابری مقادیر ویژه با ماتریس قطری اولیه را آزمود:

pkg load symb;
A=sym([0.5,-1.5;-1.5,0.5]);
[V,D]=eig(A)

جواب این کد چنین است:

V = (sym 2×2 matrix)

  ⎡1  -1⎤
  ⎣1  1 ⎦

D = (sym 2×2 matrix)

  ⎡-1  0⎤
  ⎣0   2⎦

مشاهده می‌شود که مقادیر ویژه تغییر نیافته‌اند، ولی بردار ویژه‌ی متناظر با مقدار ویژه‌ی   از   به   تبدیل یافته است. بردار ویژه‌ی متناظر با   نیز، از   به   تبدیل یافته است.

درک اهمیت بردارهای ویژه: رسم مسیر بردارهای ویژه در کنار نگارهٔ فاز با گنو اکتاو

ویرایش

مشابه قبل، نگارهٔ فاز دستگاه جدید که ۴۵ درجه چرخیده است، یعنی   را رسم می‌کنیم:

برای دیدن کد گسترش را بزنید.

[x1,x2]=meshgrid(-2:0.2:2,-2:0.2:2);
figure;
dx1= 0.5.*x1-1.5.*x2;
dx2= -1.5.*x1+0.5.*x2;
quiver(x1,x2,dx1,dx2);
hold on;
f=@(t,X) [1/2*X(1)+-3/2*X(2);-3/2*X(1)+1/2*X(2)];
a=[1.8,-2,0,-0.3];
b=[1.5,-1.8,0.2,-0.5];
for k=1:4
  [t,Sap]=ode45(f,[0 2],[a(k),b(k)]);
  plot(Sap(:,1),Sap(:,2),'LineWidth',2,'color','k')
end

g=-2:0.2:2;
plot(g,g,'r');
plot(g,-g,'r');
axis equal;
xlabel('x1');
ylabel('x2');
title("Phase portrait of rotated system of equation of the Wikibooks example");
xlim([-2 2]);
ylim([-2 2]);
 
نگارهٔ فاز دستگاه معادلات دیفرانسیل جدید که ۴۵ درجه چرخیده است. دو خط قرمز هم‌جهت با دو بردار ویژه هستند.

همینطور برای مسیر فاز این بردار رسم زیر را داریم:

clear
[x1,x2]=meshgrid(-2:0.2:2,-2:0.2:2);
figure;
dx1= 0.5.*x1-1.5.*x2;
dx2= -1.5.*x1+0.5.*x2;
quiver(x1,x2,dx1,dx2);
hold on;
f=@(t,X) [1/2*X(1)+-3/2*X(2);-3/2*X(1)+1/2*X(2)];
a=[1.8,-2,0,-0.3];
b=[1.5,-1.8,0.2,-0.5];
for k=1:4
  [t,Sap]=ode45(f,[0 2],[a(k),b(k)]);
  plot(Sap(:,1),Sap(:,2),'LineWidth',2,'color','k')
end

g=-2:0.2:2;
plot(g,g,'r');
plot(g,-g,'r');
axis equal;
xlabel('x1');
ylabel('x2');
title("Phase portrait of rotated system of equation of the Wikibooks example");
xlim([-2 2]);
ylim([-2 2]);

grid on;
 
نمودار فاز چرخیده به همراه چهار مسیر فاز در نقاط   و   و   و  . اهمیت بردارهای ویژه (که بر روی مسیر خطوط قرمز رنگ قرار می‌گیرند) در اینجا بهتر از پیش درک می‌شود.

حل دستگاه‌های مزدوج

ویرایش

فرض کنید که   دستگاهی مزدوج باشد. در این صورت حل آن سخت است. با استفاده از قطری‌سازی می‌توان دستگاه مزدوج را غیر مزدوج ساخته و راحت‌تر به جواب آن دست یافت.

اثبات راهکار

ویرایش

ابتدا ماتریس   را با استفاده از بردارهای ویژه‌ی   تشکیل می‌دهیم. سپس وارون این ماتریس یعنی   را به دست می‌آوریم. متغیری همچون   را تعریف می‌کنیم. با گرفتن مشتق هر دو طرف داریم:   از طرفی خود دستگاه اولیه هست:   پس با جایگذاری   داریم:   از نتیجه‌ی تعریف متغیر   می‌توان   را نتیجه گرفت، با جایگذاری این نتیجه در معادلهٔ قبلی داریم:  . دستگاه به دست آمده قطری است و مقادیر روی قطر آن مقادیر ویژه‌ی ماتریس   هستند یعنی:  . چنین دستگاهی دیگر مزدوج نیست و به عنوان یک دستگاه غیرمزدوج راه حل کلی   را دارد.

داشتیم:  ، از این معادله ما   را به دست آورده‌ایم. می‌توان دو طرف تساوی   را از چپ در   ضرب کرد در این صورت داریم:  ، از طرفی طبق تعریف خود   می‌توان   را نیز داشت اگر کل   را مختصرا   بنامیم، نهایتا حل دستگاه غیر مزدوج را به این شکل داریم: 

مثالی از حل یک دستگاه معادلات دیفرانسیل مزدوج با استفاده از بردارهای ویژه

ویرایش

در مثال دستگاه معادلات دیفرانسیل مزدوج   حل شده است.

 
حل یک دستگاه معادلات دیفرانسیل مزدوج با استفاده از بردارهای ویژه

مجددا با استفاده اکتاو اقدام به رسم نگارهٔ فاز ماتریس به همراه مسیر فاز چند نقطه می‌کنیم.

clear
[x1,x2]=meshgrid(-2:0.2:2,-2:0.2:2);
figure;
dx1= -1.*x1-3.*x2;
dx2= 0.*x1+2.*x2;
quiver(x1,x2,dx1,dx2);
hold on;

f=@(t,X) [-1*X(1)+-3*X(2);0*X(1)+2*X(2)];
a=[-2,-2,2,2];
b=[0.1,-0.25,0.2,-0.1];
for k=1:4
  [t,Sap]=ode45(f,[0 2],[a(k),b(k)]);
  plot(Sap(:,1),Sap(:,2),'LineWidth',2,'color','k')
end

v = linspace(-2,2,3)
w = -v
plot(v,w)
plot([-2,2],[0,0]);

axis equal;
xlabel('x1');
ylabel('x2');
title("Phase portrait for matrix A");
xlim([-2 2]);
ylim([-2 2]);

grid on;
 
 : نگارهٔ فازی که با ضرایب ماتریس   در مثال بالا ترسیم شده است.

توجه داشته باشید که اگر ماتریس   را پس از قطری شدن در نظر بگیریم (یعنی به ازای  ) و نمودار متناظر با آن را رسم کنیم، چنین شکلی خواهیم داشت:

clear
[x1,x2]=meshgrid(-2:0.2:2,-2:0.2:2);
figure;
dx1= -1*x1-0.*x2;
dx2= 0.*x1+2*x2;
quiver(x1,x2,dx1,dx2);
hold on;

f=@(t,X) [-X(1);2*X(2)];
a=[0.2,-0.2,-0.2,0.2];
b=[2,-2,2,-2];
for k=1:4
  [t,Sap]=ode45(f,[0 2],[a(k),b(k)]);
  plot(Sap(:,1),Sap(:,2),'LineWidth',2,'color','k')
end

v = linspace(-2,2,3)
w = 0
plot([0,0],[2,-2])
plot([-2,2],[0,0]);

axis equal;
xlabel('y1');
ylabel('y2');
title("Phase portrait for matrix P-1AP");
xlim([-2 2]);
ylim([-2 2]);

grid on;
 
 : نگارهٔ فاز به ازای  

همانطور که مشاهده می‌شود از نگارهٔ ساده‌تر اخیر هم می‌توان به نگارهٔ پیچیده‌ی بالا رسید. به این صورت که اگر محورهای شکل   را   در نظر بگیریم، تبدیل آن به محورهای   نمودار  ، همانطور که در اثبات راهکار داشتیم، با استفاده از   رخ می‌دهد. از آنجایی که نگارهٔ فاز   از روی یک ماتریس قطری ساخته شده، می‌دانیم که بردارهای ویژه‌ی آن   و   هستند؛ روی شکل نمودار، مسیری که این دو می‌سازند با خطوط قرمز روی محورها مشخص شده است. حال بیاید تبدیل یافته‌ی بردارهای ویژه‌ی این نگاره را بیابیم. داریم:   و  همانطور که می‌بینید   در نموداری که پایه‌هایش بردارهای ویژه نباشند به   بدل می‌شود و   به  . پس بردارهای ویژه‌ی جدید را داریم. خطوط قرمز رنگ روی نگارهٔ   هم‌راستا با همین بردارها ترسیم شده‌اند. سایر نقل و انتقالات از جمله تبدیل بردارها با استفاده از نگارهٔ ساده‌تر   به   نیز به راحتی با همین   ممکن است. مثلا اگر یک نقطه نقطه‌ی تعادل باشد یا نقاط زینی این‌ها در حین تبدیل پایه‌ها تغییر نمی‌کنند.

نکته:اهمیت تعیین صحیح محورها

توجه داریم که در اینجا می‌توانستیم به دو صورت بردار   را تشکیل دهیم، یکی با استفاده از   و دیگری  . ما در اینجا تعمدا   را به‌گونه‌ای ساختیم که جهت بردارها تغییر نکند زیرا همانطور که می‌دانیم  ، و به ازای   ساخته شده از روی  ، چنین چیزی خواهیم داشت:   یعنی   با محور   متناظر خواهد شد که مطلوب ما نیست.

 
شکل در صورت تعیین اشتباه محورها به همراه مسیرهای فاز (صرفا به جهت فلش‌ها توجه کنید که تغییر کرده است؛ اسم محورها و مسیرهای فاز را نادیده بگیرید)

جستارهای بیرونی

ویرایش

منابع

ویرایش