‌حسین زارع

دانش‌آموخته‌ی دکتری ریاضی کاربردی دانشگاه تربیت مدرس

‌حسین زارع

دانش‌آموخته‌ی دکتری ریاضی کاربردی دانشگاه تربیت مدرس

آخرین نظرات
  • ۶ آذر ۹۹، ۱۳:۰۰ - امیر حاتمی
    ممنون.

۶ مطلب در آذر ۱۳۹۴ ثبت شده است

نظریه‌‌ی الگوریتمی بهینه‌سازی نامقید

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

مثال: مطلوب است کمینه‌سازی $f\left( {{x}_{1}},{{x}_{2}} \right)=x_{1}^{2}-{{x}_{1}}{{x}_{2}}+x_{2}^{2}-3{{x}_{2}}$ .

حل: با مساوی صفر قرار دادن مشتقات جزئی مرتبه اول $f$، به دستگاه معادلات زیر می‌رسیم:

$$\begin{align}  & 2{{x}_{1}}-{{x}_{2}}=0 \\  & {{x}_{1}}+2{{x}_{2}}=3  \end{align}$$

این دستگاه معادلات دارای جواب یکتای ${{x}_{1}}=1$ و ${{x}_{2}}=2$ است. از طرفی، ماتریس هسین تابع $f$ در این جواب برابر است با:

$$H={{\nabla }^{2}}f\left( 1,2 \right)=\left( \begin{matrix} 2 & -1\\ -1 & 2\\\end{matrix} \right)$$

که معین مثبت است. بنابراین نقطه‌ی $\left( 1,2 \right)$ کمینه‌ی سراسری تابع $f$ می‌باشد.

در بسیاری از مواقع، دستگاه معادلاتی که از برقرار ساختن شرایط لازم به‌دست می‌آید، به سادگی قابل حل نیست و هر قدر که ابعاد مسئله گسترش یابد، این دستگاه پیچیده‌تر می‌گردد. به‌ویژه هنگامی ­که تابع $f$ نامحدب باشد، دیگر نمی‌توان از قضایای شرایط لازم و کافی استفاده کرد. در چنین مواقعی لازم است از شیوه‌های عددی‌ که جواب مسئله را با دقت مناسب محاسبه کرده و نیز از نظر محاسبات، زمان انجام و حجم حافظه‌­ی اشغال‌­شده مقرون به‌­صرفه باشند استفاده کنیم. در ادامه‌ی این آموزش به ارائه‌ و تحلیل برخی از این روش‌ها پرداخته می‌شود. اگرچه زمینه و انگیزه‌ی طرح این روش‌ها و جزئیات تحلیل آن‌ها تفاوت‌های بسیاری با هم دارند، تقریباً همگی دارای جنبه‌ی مشترکی هستند و آن این‌که تمام این روش‌ها از نوع الگوریتم تکراری کاهشی هستند؛ هر یک از آن‌ها از یک نقطه‌ی اولیه مانند ${{x}_{0}}$ شروع نموده و با تولید دنباله‌ای مانند $\left\{ {{x}_{k}} \right\}$ از نقاط به پیش می‌روند به‌طوری که هر نقطه‌ی جدید، تقریب بهتری از جواب بهینه را به دست می‌دهد. به این معنی که $f\left( {{x}_{k+1}} \right)\le f\left( {{x}_{k}} \right)$. البته الگوریتم‌های غیر یکنوایی نیز وجود دارند که لزوماً در هر تکرار مقدار تابع $f$ را کاهش نمی‌دهند ولی پس از $m$ تکرار این اتفاق می‌افتد، یعنی:

$$f\left( {{x}_{k+m}} \right)\le f\left( {{x}_{k}} \right).$$

نقطه‌ی اولیه‌ی ${{x}_{0}}$ را می‌توان با توجه به مقتضیات مسئله به‌گونه‌ای که نزدیک به جواب واقعی مسئله باشد، یا توسط یک الگوریتم دیگر یا به دلخواه اختیار نمود. تولید دنباله‌ی نقاط $\left\{ {{x}_{k}} \right\}$ تا جایی ادامه می‌یابد که یا نتوان نقطه‌ی بعد را محاسبه نمود یا این ‌که نقطه‌‌ی به‌دست آمده تقریب مناسبی از کمینه‌ی مسئله باشد. برای این‌که بدانیم که یک شیوه‌ی تکراری، به تقریب مناسبی از کمینه‌ی مورد نظر رسیده است یا خیر، معمولاً یکی از شرط‌های

$\left \| x_{k+1} -{x_{k}}\right \|< \varepsilon$      یا     $\left| f\left( {{x}_{k+1}} \right)-f\left( {{x}_{k}} \right) \right|<\varepsilon $     یا    $\left \| \nabla f\left( {{x}_{k}} \right)\right \|<\varepsilon $

که در آن‌ها $\varepsilon $ یک عدد کوچک مثبت است، به عنوان شرط خاتمه‌ی الگوریتم در نظر گرفته می‌شود.

برای رفتن از نقطه‌ی ${{x}_{k}}$ به ${{x}_{k+1}}$ به یک جهت کاهشی و فاصله‌ای که باید در راستای این جهت پیموده شود نیاز است. طبیعی است که انتظار داشته باشیم انتخاب این پارامترها به‌گونه‌ای باشد که بیش‌ترین کاهش ممکن در هر تکرار الگوریتم رخ دهد. در حقیقت تفاوت عمده‌ی بین الگوریتم‌های کاهشی نیز، مربوط به نحوه‌ی انتخاب این دو پارامتر، یعنی جهت جستجو و طول گام مناسب است. انتخاب این دو پارامتر می‌تواند به چند راه صورت گیرد؛ این کار ممکن است صرفاً متکی بر مقادیر تابع و اطلاعات به‌دست آمده از تکرارهای قبلی و یا متکی بر اطلاعاتی از مشتقات جزئی تابع باشد. الگوریتم‌هایی که از شیوه‌ی اول استفاده می‌کنند، عموماً به روش‌های جستجوی مستقیم معروفند و از جمله‌ی این روش‌ها، می‌توان به دو روش جستجوی فیبوناچی و روش سادکی نلدر و مید اشاره کرد. سایر الگوریتم‌ها که از شیوه‌ی دوم استفاده می‌کنند به روش‌های گرادیانی معروف‌اند. روش‌های تندترین کاهش، نیوتن و شبه‌نیوتن از جمله روش‌های گرادیانی هستند. هم‌چنین می‌توان در مورد این‌‌که کدام یک از دو پارامتر جهت جستجو یا طول گام مناسب زودتر از دیگری انتخاب شود، تصمیم گرفت. این تصمیم‌گیری منجر به معرفی دو راهبرد جستجوی خطی و ناحیه‌ی اطمینان می‌شود.

۱ نظر موافقين ۲ مخالفين ۰ ۲۰ آذر ۹۴ ، ۰۰:۰۳
حسین زارع

فرض کنید بخواهیم تابع $f$ را روی یک مجموعه از نقاط متمایز در $ \left[ a,b \right]$ با یک چندجمله‌ای از درجه‌ی $n$ مانند $p_{n}$ درونیابی کنیم. مسئله این است که نقاطی که $f$ در آن‌ها درونیابی می‌شود، تا چه‌اندازه می‌توانند در دقت چندجمله‌ای درونیاب حاصل مؤثر باشند. در اینجا خطا را به کمک نرم بی‌نهایت می‌سنجیم. یعنی قرار می‌دهیم: $$E({{p}_{n}}):={{\left\| f-{{p}_{n}} \right\|}_{\infty }}=\underset{a\le x\le b}{\mathop{\max }}\,\left| f(x)-{{p}_{n}}(x) \right|$$ فرض کنید $p_{n}^{*}$ بهترین تقریب چندجمله‌ای درجه‌ی $n$ برای تابع $f$ در بازه‌ی $ \left[ a,b \right]$ باشد. به این مفهوم که:$${{\left\| f-p_{n}^{*} \right\|}_{\infty }}=\underset{p\in {{P}_{n}}}{\mathop{\min }}\,(\underset{a\le x\le b}{\mathop{\max }}\,\left| f(x)-p(x) \right|)$$چندجمله‌ای $p_{n}^{*}$ معمولا چندجمله‌ای مینیماکس تابع $f$ در بازه‌ی $ \left[ a,b \right]$ نامیده می‌شود.

اکنون می‌توان ارتباط خطای چندجمله‌ای درونیاب تابع $f$ و خطای چندجمله‌ای مینیماکس تابع $f$ را به کمک قضیه‌ی زیر بیان کرد.

۱ نظر موافقين ۲ مخالفين ۰ ۱۸ آذر ۹۴ ، ۲۳:۱۳
حسین زارع

ضرورت و پیشینه:

هنگامی که مسائل بهینه‌سازی نامقید را مطالعه می‌کنیم ممکن است این‌طور به نظر آید که این مسائل چنان عاری از ویژگی‌های ساختاری هستند که مانع از کاربری آن‌ها به‌عنوان مدل‌های مفید برای مسائل با اهمیت می‌شوند. اما به دو دلیل، کاملاً عکس این مطلب صحیح است؛ اولاً می‌توان این استدلال قانع کننده را پیش کشید که اگر قلمروی مسئله گسترش یابد به‌طوری که همه‌ی متغیرهای مربوط به تصمیم‌گیری در نظر گرفته شوند، وجود هیچ قیدی لازم نیست. به عبارت دیگر، قیود مبیّن محدودیت تصنعی میدان عمل هستند و زمانی که این میدان توسعه داده شود از صحنه خارج می‌شوند. بنابراین به‌طور مثال، می‌توان استدلال کرد که قید بودجه یک مشخصه‌ی لازم در فرموله‌کردن یک مسئله‌ی معنی‌دار نیست؛ زیرا دست‌یابی به منابع مالی بیش‌تر همواره با وام گرفتن با یک نرخ بهره‌ی مشخص امکان‌پذیر است و بنابراین به جای معرفی قید بودجه، می‌توان جمله‌ای که هزینه‌ی پول مورد استفاده را منعکس سازد به‌کار گرفت. شبیه همین استدلال در مورد قیودی که مبین دسترس‌پذیری منابع دیگری هستند و با هزینه‌ی مشخص (هر چند زیاد) قابل تأمین می‌باشند، نیز صادق است.

دلیل دوم برای این‌که بسیاری از مسائل مهم را می‌توان بدون قید در نظر گرفت، آن است که مسائل مقید در برخی مواقع به سادگی قابل تبدیل به مسائل نامقید هستند. برای مثال تأثیر نهایی قیود تساوی در یک مسئله‌ی مقید فقط این است که درجات آزادی را، با معرفی برخی از متغیرها به عنوان توابعی از سایر متغیرها محدود کند. این وابستگی‌ها در برخی موارد به‌طور صریح قابل توصیف‌اند و می‌توان یک مسئله‌ی جدید که تعداد متغیرهایش همان درجه‌ی واقعی آزادی است، مشخص کرد. به عنوان یک نمونه‌ی ساده فرض کنید قیدی به‌صورت ${{x}_{1}}+{{x}_{2}}=B$ در یک مسئله‌ی مقید وجود داشته باشد. این قید را می‌توان با جای‌گذاری ${{x}_{1}}=B-{{x}_{2}}$ در تمام قیودی که متغیر ${{x}_{1}}$ در آن‌ها حضور دارد، به سادگی حذف نمود.

مطالعه‌ی مسائل نامقید صرف‌نظر از این‌که به تبیین دسته‌ی مهمی از مسائل عملی می‌انجامد، مسلماً گامی است در راه دسترسی به حالت کلی‌تر یعنی مسائل مقید. بسیاری از جنبه‌های نظری و الگوریتم‌ها در حالت نامقید، و قبل از تعمیم به حالت مقید، به‌صورت بسیار طبیعی‌تری قابل طرح و تحقیقند.

تاریخ بهینه‌سازی نامقید و به‌طور کلی روش‌های بهینه‌یابی را می‌توان به روزگار ریاضی‌دانان گذشته از جمله نیوتن، لاگرانژ و کوشی مرتبط دانست. نخستین مسئله‌ی بهینه‌سازی، 300 سال قبل از میلاد مسیـح توسط اقلیدس شکل گرفت؛ وی نشـان داد که کم‌ترین فاصله‌ی بین یک نقطه و یک خط، طول پاره‌خطی است که از آن نقطه بر خط مورد نظر عمود می‌شود. توسعه‌ی روش‌های بهینه‌سازی در حساب دیفرانسیل مدیون کارهای نیوتن و لایبنیتس است. نیوتن (1669) اندکی پس از ابداع حسابان، با خطی‌سازی توابع، روشی را برای یافتن ریشه‌های یک چندجمله‌ای ارائه کرد. رافسون (1690) روش نیوتن را به کل توابع تعمیم داد. البته نه نیوتن و نه رافـسون هیچ‌کدام از مشتق توابع استفاده نکردند تا این‌که با معرفی سری تیلور (1715)، شکل امروزی این روش که به روش نیوتن- رافسون معروف است، به‌صورت

$${{x}_{n+1}}={{x}_{n}}-\frac{f\left( {{x}_{n}} \right)}{{f}'\left( {{x}_{n}} \right)},~~{{x}_{0}}\in \left( a,b \right),~n=0,1,2,\ldots $$

ثابت شد. ایده‌ی اولیه‌ی روش نیوتن در بهینه‌سازی نامقید از همین روش شکل گرفت. لاگرانژ (1806) برای نخستین بار با معرفی روش ضرایب لاگرانژ، روش بهینه‌سازی برای توابع هدف با محدودیت را طرح نمود و کوشی برای نخستین بار در سال 1847 روش تندترین کاهش را برای حل مسائل بهینه‌سازی نامقید ارائه کرد. تحولات اساسی در بهینه‌سازی نامقید در قرن بیستم رخ داد و ظهور رایانه به این تحولات سرعت بسیاری بخشید. دهه‌ی 1960 را می‌توان دهه‌ی اصلی توسعه‌ی روش‌های عددی در بهینه‌سازی نامقید دانست. در این دهه، هستینز و اشتیفل روش گرادیان مزدوج را ابداع نمودند و دیویدان نخستین روش‌‌ شبه‌نیوتن را به دست آورد. عمده‌ی کارهای محققان در طی دهه‌های بعدی، طرح روش‌های جدید، اصلاح روش‌های قبلی و یا تعمیم روش‌های موجود به مسائلی در ابعاد بزرگ‌تر بوده است و مثلاً از میان آن‌ها می‌توان به ابداع روش $BFGS$ توسط برویدن، فلچر، گلدفارب و شانو ، اصلاح اشنیبل و اسکوو از روش نیوتن و تعمیم روش $BFGS$ به مسائل در مقیاس بزرگ توسط نوسدال اشاره کرد.

طرح مسئله:

یک مسئله‌‌ی بهینه‌سازی در کلی‌ترین صورت خود شامل پیدا کردن مقدار بهینه (بیشینه یا کمینه) تابع $f\left( {{x}_{1}},\ldots ,{{x}_{n}} \right)$ با $n$ متغیر ${{x}_{n}},\ldots ,{{x}_{1}}$ است. در اینجا باید توجه کنیم که از نقطه نظر ریاضی، در نظر گرفتن بیشینه‌سازی و کمینه‌سازی، هر دو، ضرورت ندارد، زیرا بیشینه‌سازی $~f$ هم‌ارز کمینه‌سازی $-f$ است. در نتیجه طبیعتاً در ادامه‌، بحث ما محدود به کمینه‌سازی خواهد شد. گاهی اوقات ممکن است متغیرهای مسئله‌ی بهینه‌سازی به قید یا قیود خاصی محدود شده باشند، که در این صورت با یک مسئله‌ی بهینه‌سازی مقید سروکار داریم و چنان‌چه قیدی روی متغیرها نباشد، مسئله از نوع بهینه‌سازی نامقید است که در این جا، هدف ما آشنایی با این نوع مسائل است. در حالت کلی یک مسئله‌ی بهینه‌سازی نامقید به صورت زیر است:

$$\min\left\{ f\left( x \right)|~x\in {{\mathbb{R}}^{n}} \right\},$$

که در آن فرض می‌شود که $f:{{\mathbb{R}}^{n}}\to \mathbb{R}$ تابعی دو بار به‌طور پیوسته مشتق‌پذیر است. برای مطالعه‌ی مسئله‌ی کلی فوق لازم است دو نوع از نقاط جواب، یعنی نقاط کمینه‌ی موضعی و نقاط کمینه‌ی سراسری را متمایز ‌کنیم.

۴ نظر موافقين ۲ مخالفين ۰ ۱۴ آذر ۹۴ ، ۲۰:۳۹
حسین زارع

در این پست تعدادی کتاب در زمینه آنالیز عددی قرار می‌دهم که امیدوارم برای دانشجویان ریاضی کاربردی مفید واقع شود.

آشنایی با آنالیز عددی، بولیرش و استوئر

آنالیز عددی، بوردن و فیرز

نخستین درس در آنالیز عددی، رالستون و رابینوویتز

آشنایی با آنالیز عددی، اتکینسون

آنالیز عددی، هیلدبراند

آنالیز عددی برای علوم کاربردی، آلن و ایزاکسون

آنالیز عددی، نظریه و کاربردها، فیلیپس و تیلور

نظریه و مسائل آنالیز عددی (از کتاب‌های سری شومز مک‌گروهیل)، فرانسیس شید

ریاضیات و محاسبات عددی، کینکید و چنی

ریاضیات عددی، کوارترونی، ساکو و سالری

آنالیز روش‌های عددی، ایزاکسون و کِلـر

آنالیز عددی مقدماتی به شیوه الگوریتمی، کُنت و دی‌بور

آنالیز عددی، کِـرِس

آنالیز عددی، شانکر رائو

آشنایی با آنالیز عددی، نیومایر

مقدمه‌ای بر آنالیز عددی، نسیف و فیّاد

دقت و پایداری الگوریتم‌های عددی، هایام

روش‌های عددی و بهینه‌سازی، پاردالُس و بوتنکو

مقدمه‌ای آموزشی بر آنالیز عددی، رایبنکی و سینکوف

مقدمه‌ای کوتاه بر آنالیز عددی، تتیشنیکوف

مقدمه‌ای بر آنالیز و روش‌های عددی، اِپرسون، .............. حل‌المسائل

آنالیز عددی، اسکات

برنامه‌نویسی Matlab برای آنالیز عددی، پرز لوپز

۱ نظر موافقين ۲ مخالفين ۰ ۱۰ آذر ۹۴ ، ۲۱:۴۵
حسین زارع

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

سکانس اول:

آقای هیلبرت صاحب تنها هتل یک شهر توریستی عجیب بود! شهری که همه چیز آن غیرعادی بود؛ درست مثل هتل خود آقای هیلبرت. هتل آقای هیلبرت، هتلی بود که به اندازه‌ی تمام اعداد طبیعی اتاق داشت. یعنی به ازای هر عدد طبیعی $n$، اتاقی با شماره‌ی $n$ در این هتل وجود داشت.

در اواسط تابستان -وقتی که تعداد زیادی از مردم برای بازدید از جاذبه‌های توریستی این شهر، به آن جا آمده بودند- هتل آقای هیلبرت کاملاً پر شد، به طوری که در همه ‌ی اتاق ‌های آن دست کم یک مسافر ساکن شده بود. ظاهراً همه چیز بر وفق مراد آقای هیلبرت پیش می‌رفت؛ مشتریان زیاد و درآمدی قابل توجه، اما این همه ‌ی ماجرا نبود و پر بودن هتل دردسر‌هایی باخود داشت.
درست در شرایطی که تمام اتاق‌های هتل پر شده بودند، یکی از بازرسان اتحادیه ‌ی هتل ‌داران برای بازرسی از شرایط و امکانات هتل آقای هیلبرت به این شهر رفت! معمول این بود که بازرسان چند روزی در هر هتل اقامت می‌کردند و در این چند روز با بررسی تمام امکانات هتل، گزارش خود را تنظیم می‌کردند. از این رو همه‌ی هتل ‌داران معمولاً یک اتاق را برای آمدن بازرسان احتمالی خالی نگه می‌داشتند، اما در اثر سهل انگاری مسئول پذیرش هتل آقای هیلبرت، آن اتاقی که همیشه به همین منظور خالی نگه داشته می‌شد نیز به مسافران اجاره داده شد و حتی یک اتاق هم خالی نماند!

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

خوشبختانه بله! می‌توان با جابه جایی مسافران و بدون اخراج هیچ یک از آن‌ها اتاقی برای آقای بازرس فراهم کرد!

۲ نظر موافقين ۴ مخالفين ۰ ۱۰ آذر ۹۴ ، ۱۴:۱۹
حسین زارع

اشکال استدلال زیر چیست؟

در روش تکرار ساده برای حل معادله‌ی غیرخطی $f(x)=0$ این معادله به‌صورت $ g(x)=x$ نوشته می‌شود. برای همگرایی دنباله‌ تکراری حاصل از این روش، $ x_{n+1}=g(x_n)$ ، باید داشته باشیم $|g'(x)|<1$ . اما از رابطه‌ی $ g(x)=x$ داریم $|g'(x)|=1$ و بنابراین شرط $|g'(x)|<1$ هیچگاه برقرار نمی‌شود.

۲ نظر موافقين ۲ مخالفين ۰ ۱۰ آذر ۹۴ ، ۱۴:۱۷
حسین زارع