Skip to content

Spark-Optimizers/Round4

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Optimizer logo

تیم اسپارک

📝 فهرست مطالب

🧐 صورت‌بندی سوال

صورت برنامه‌ریزی :

$$min (||V||_2,0 , ||(SV)^T|| ) s.t. L <= V <= U$$

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

$$min sum(sqrt(1+a[i]+z[i])) + lambda*sum(b[j)) s.t. l_i <= v <= u_i a >= v a >= -v b >= Sv b >= -Sv$$

که مقدار

z
توسط تابعی جداگانه محاسبه شده و به عنوان ورودی به برنامه ریزی داده میشود. استفاده از تابع لگاریتم به جای رادیکال در تابع هدف هم امتحان شد که نتیجه تفاوتی نداشت.

💡 الگوریتم بهینه‌سازی

برنامه ریزی مطرح شده در قسمت قبل را در جومپ پیاده سازی کرده و با سالور

Ipopt
حل کردیم.

⛓️ محدودیت‌ها

محدودیتی در این بخش وجود ندارد و با نصب پکیج های مورد نظر میتوان یک جواب شدنی برای هر ۳ ورودی مسابقه به دست آورد. اما زمان مورد نیاز برای ورودی دوم و سوم قابل توجه است.

🚀 ایده‌های گسترش

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

SV
است احتمالا بتوان تغییرات مفید تری ایجاد کرد. مشابه ایده‌ای که برای سطر ها داشتیم را برای ستون ها نیز پیاده سازی کنیم.

🏁 روند اجرا

میتوانید نوتبوک هارا به صورت یکجا یا سلول به سلول اجرا کنید و خروجی در همان مسیر ذخیره میشود. برای مشاهده‌ی ایده های دیگر میتوانید توابع

opt_vector
را در بخش اجرا جایگزین یکدیگر شدید.

پیش‌نیازها

🎈 نحوه استفاده

میتوانید نوتبوک هارا به صورت یکجا یا سلول به سلول اجرا کنید و خروجی در همان مسیر ذخیره میشود.

⛏️ وابستگی‌ها

برنامه در زبان جولیا نوشته شده و لیست پکیج های مورد نیاز در ادامه آمده است :

  MAT
  JuMP
  GLPK
  Ipopt
  SparseArrays
  DelimitedFiles

✍️ نویسندگان

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

About

Codes and Resources for Round4 of !Optimizer competition @ Sharif University

Resources

Stars

Watchers

Forks

Contributors 2

  •  
  •