Optimyar | آپتیم‌یار
4.43K subscribers
103 photos
20 videos
61 files
116 links
اطلاع‌رسانی و پشتیبانی دوره‌های آپتیم‌یار
آرشیو محتوا
𝗢𝗽𝘁𝗶𝗺𝗶𝘇𝗮𝘁𝗶𝗼𝗻 & 𝗢.𝗥.
𝗠𝗮𝗰𝗵𝗶𝗻𝗲 𝗟𝗲𝗮𝗿𝗻𝗶𝗻𝗴 & 𝗗𝗮𝘁𝗮 𝗔𝗻𝗮𝗹𝘆𝘁𝗶𝗰𝘀

🔗لینک‌: https://t.me/Optimyar
👨🏻‍💻مدیریت:
@sms_optimyar
@my_optimyar
@Ali_PapiRad
Download Telegram
Forwarded from 𝙰𝚕𝚒 𝙿𝚊𝚙𝚒
Forwarded from 𝙰𝚕𝚒 𝙿𝚊𝚙𝚒
توضیح در مورد بهینه‌سازی استوار تطبیق‌پذیر (Adjustable/Adaptive Robust Optimization) و تفاوت آن با Static/Here-and-Now Robust Optimization
#ARO
#Adaptive #Robust
1
Forwarded from 𝙰𝚕𝚒 𝙿𝚊𝚙𝚒
مهمترین نکات در رابطه با مدل های دوسطحی (Bi-Level programming) که در در سطح دوم (پیرو/Follower) غیرخطی بودن داره به صورت زیر هست:

1- اول برای اینکه این اطلاعات مفید باشه به طور کلی یاداوری میکنم که این مدل ها معمولا در شرایطی رقابتی یا گیم بین دو سازمان یا واحد تصمیم گیری رخ میده که واحد اصلی (یا اصطلاحا Leader ) باید بهینگی واحد پیرو (یا واحدی که تحت تاثیر تصمیمات اون هست یا همون Follower ) رو در نظر بگیره. این مسائل در ادبیات معمولا به بازی استکلبرگ (Stackelberg Game) هم معروف هست.

2- نکته اول اینه که حتی اگر مدل پیرو خطی هم باشه باز هم شرایط KKT تضمین نمیکنه حتما به جواب بهینه برسید. در واقع یکی از خاصیت های این مدل ها اینا که لزوما جواب بهینه ندارن. در واقع اگر پیرو پاسخ بهینه چندگانه داشته باشه در این صورت هیچ لزومی نداره که لیدر بتونه در شرایط بهینه قرار بگیره.
این رو گفتم که اشتباه نکنیم و فکر کنیم اگر سطح دوم / پیرو خطی هست دیگه راحت یک KKT بزنیم و تمام. البته با فرض اینکه پیرو به هر تصمیم لیدر فقط یک واکنش بهینه داره استفاد از KKT درست هست در حالت خطی. در حالت کلی چه خطی و چه غیرخطی ما فرض مذکور رو داریم(البته این فرض در برخی از مسائل واقعا غیرمنطقی هست ولی در مقالات معمولا این فرض هست)

3- در مدلهای غیرخطی که مدل قابل خطی سازی هست (مثل ضرب باینری در پیوسته و امثالهم) بهتره مدل خطی شه. یا از تقریب های خطی ساز استفاده شه که حتی این تقریب به نفع پیرو هم باشه. مثلا اگر کمینه سازی هزینه پیرو رو در نظر گرفتیم، تقریب خطی موجب کران پایین هزینه برای اون بشه نه کران بالا)

4- دقت داشته باشیم که ضرب متغیر تصمیم گیری لیدر در متغیر تصمیم گیری پیرو باعث نمیشه مدل پیرو غیرخطی باشه. چراکه تصمیم لیدر برای پیرو ثابت در نظر گرفته میشه. یعنی شما در این شرایط هم راحت KKT رو بزنید (البته اون فرض فراموش نشه). لازم به توضیح است در این شرایط مطمئنا مدل تک سطحی نهایی بعد از اعمال KKT غیرخطی میشه

5- در مدلهای غیرخطی، در صورتی که مدل پیرو کاملا پیوسته است (متغیر باینری و عددصحیح) نداشته باشه. اولین کاری که بهتره انجام شود، بررسی تحدب است. حالا نه لزوما با ماتریس هسین(Hessian) بلکه هر تکنیک که میتونید اعمال کنید. (مثلا جمع محدب ها محدب هست و توان 2 ها محدب هستن و ...) اگر تحدب برقرار هست با خیال راحت قیود KKT رو جایگزین کنید. باز هم میگم در این حالت هم هنوز اون فرض که عرض کردم رو باید قبول کرده باشیم. پر واضح است که اینجا هم مدل نهایی غیرخطی هست. نکته جالب اینجاست که حتی اگر مدل پیرو تحدب رو داشته باشه و KKT بزنید، باز هم هیچ تضمینی نیست مدل نهایی محدب باشه و اتفاقا معمولا عدم تحدب داره و خود این هم چالش است. حالا اگر مدل عددصحیح و غیره هم داشته باشه که چالش دو چندان هم میشه. البته در این شرایط معمولا خیلی راحت مدل نهایی رو یک Solver مثل BARON و ... داده میشه که حل کنه!!! که مطمئنا این حرکت چندان درست نیست و امکان داره لیدر بشدت در بهینگی محلی قرار بگیره (تازه اگر BARON یا BONMIN و امثالهم حل کنن مدل نهایی رو)

6- حالا اگر 5 مورد بالا را برای شما صدق نمیکنه و یا دنبال راه کارهای دیگری هستید؛ روش پیشنهادی بنده به صورت زیر هست که در کارهای مختلفی با تعامل GAMS و MATLAB و یا CPLEX و یا JAVA و CPLEX قابل پیاده سازی هست.

گام 1) جواب اولیه X برای متغیرهای تصمیم گیری لیدر در نظر گرفته شود.

گام 2) مسئله بهینه سازی پیرو (که یک مدل غیر خطی هست حل شود) با توجه به غیرخطی بودن این مدل موارد زیر پیشنهاد میشه:
* با رویکردهای حل ابتکاری و یا فراابتکاری حل شود و پاسخ نزدیک به بهینه Y (که امکان داره بهینه هم باشه) برای پیرو بدست آورده شود.
* با روش های برنامه ریزی عیرحطی (از جمله روش SQP و یا Trust Region ) پاسخ نزدیک به بهینه Y (که امکان داره بهینه هم باشه) برای پیرو بدست آورده شود.

گام 3) مدل بهینه سازی لیدر، با ثابت کردن تصمیم Y برای پیرو، حل می شود. حالا امکان داره این مدل خطی یاشه که از solverهایی مثل CPLEX و امثالهم استفاده میکنید و سریع X جدید رو برای لیدر بدست میاد. یا امکان داره خود این مدل هم غیرخطی باشه که باز هم دو روش * گام 2 پیشنهاد میشه و یا حتی solver غیرخطی موجود در GAMS و ... .

گام 4) تصمیم لیدر در گام 3 آپدیت میشه و مجددا به گام 2 برمیگردیم و این رویه تاجایی پیدا میکنه که بهبود قابل توجه ای در تابع هدف لیدر رخ نده.
در رویه فوق اگرچه تضمینی برای بهینه سراسری نیست، ولی با تغییر در پاسخ اولیه A میتونه به جواب های مختلفی همگرا شه و اگر N مرتبه در مقدار اولیه X تغییر ایجاد شود مطمئنا بهترین پاسخ آن بسیار نزدیک به بهینه است (مطمئنا هرچی N بیشتر و جواب های اولیه متمایزتر باشه، کیفیت پاسخ نهایی بهتر میشه ).
Forwarded from 𝙰𝚕𝚒 𝙿𝚊𝚙𝚒
توضیح مدل‌های استوار Minimax Regret و مدل ترکیبی Aghezzaf

◀️ ویدیو 👇🏻
Forwarded from 𝙰𝚕𝚒 𝙿𝚊𝚙𝚒
Media is too big
VIEW IN TELEGRAM
توضیح مدل‌های استوار Minimax Regret و مدل ترکیبی Aghezzaf
#Robust
#Regret
#Aghezzaf
Forwarded from 𝙰𝚕𝚒 𝙿𝚊𝚙𝚒
اندازه (#Scale) یک مسئله بهینه‌سازی خطی
Forwarded from 𝙰𝚕𝚒 𝙿𝚊𝚙𝚒
خاصیت بسیار مهم ثبات یا #Stability در الگوریتم‌های فراابتکاری #metaheuristic

خاصیت Stability موجب میشه که یک الگوریتم فراابتکاری در اجرهای مختلف، نوسان کمتری داشته باشه. مثلا اگر مقدار تابع هدف در اجرای اول 100 میشه، در اجرای بعدی هم با اختلاف کمی نزدیک به همین 100 باشه (خیلی خوب میشه که باز هم همون 100 بشه)
Forwarded from 𝙰𝚕𝚒 𝙿𝚊𝚙𝚒
anylogic-7-in-3-days.pdf
11 MB
Forwarded from 𝙰𝚕𝚒 𝙿𝚊𝚙𝚒
Optimyar | آپتیم‌یار
anylogic-7-in-3-days.pdf
#anyLogic

یک نرم‌افزار افزار تخصصی و نسبتا ساده در زمینه شبیه‌سازی #simulation سیستم‌ها و به طور خاص discrete events

این نرم‌افزار یک آلترنایتو خوب برای Arena می‌تونه باشه ولی جایگزین نرم‌افزار های شبیه‌سازی سیستم های علی معلولی مثل vensim نیست.
Forwarded from 𝙰𝚕𝚒 𝙿𝚊𝚙𝚒
Agent-Based Simulation Modeling - AnyLogic

لینک زیر https://www.anylogic.com › agent-b...
Forwarded from 𝙰𝚕𝚒 𝙿𝚊𝚙𝚒
کتاب Convex Optimization پروفسور Stephen Boyd از دانشگاه استنفورد

معرفی کتاب
اینجا

دانلود کتاب کامل Convex Optimization
اینجا

#Convex_Optimization #Boyd #بهینه‌سازی_محدب
Forwarded from 𝙰𝚕𝚒 𝙿𝚊𝚙𝚒
توضیح بسیار مهم در خصوص مقدار تابع هدف مدل غیرخطی در مقایسه با مقدار تابع هدف و حالت خطی ‌سازی آن
#Linearization
Forwarded from 𝙰𝚕𝚒 𝙿𝚊𝚙𝚒
خطی‌سازی ضرب دو متغیر پیوسته در مسائل بهینه‌سازی


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

لینک پست در لینکدین (کلیک کنید)

#Linearization #Multiplication #ضرب

ویس زیر رو هم گوش بدید 👇🏻
Forwarded from 𝙰𝚕𝚒 𝙿𝚊𝚙𝚒
Media is too big
VIEW IN TELEGRAM
چه زمانی از تکنیک‌های تجزیه (Decomposition) استفاده کنیم؟

کدام تکنیک تجزیه را برای مسائل بهینه‌سازی انتخاب کنیم؟


#تجزیه_ریاضی
#Decomposition
#Lagrangean
#Benders
#Dantzig_Wolf
Forwarded from 𝙰𝚕𝚒 𝙿𝚊𝚙𝚒
This media is not supported in your browser
VIEW IN TELEGRAM
تولید داده‌های تصادفی با انواع توزیع‌های احتمالی در GAMS

استفاده از کتابخانه‌های Stochastic در نرم‌افزار GAMS که با نام StoLib برای تولید داده تصادفی در این ویدئو توضیح داده شده است.

#Random #Data #Distribution

کد مربوطه 👇🏻👇🏻