Skip to content

Spark-Optimizers/Round1

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Optimizer logo

تیم اسپارک

📝 فهرست مطالب

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

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

$$find v s.t. Sv=0 l <= v <= u$$

.برنامه ریزی بالا خطی است زیرا قید ها خطی هستند و میتوان تابع هدف را با یک تابع خطی مانند تابع ثابت جایگزین کرد
پس قید ها را همانگونه که هستند با یک تابع هدف خطی دلخواه به

JuMP
میدهیم و برای حل آن از یک سالور برنامه ریزی خطی مانند
GLPK
استفاده میکنیم.

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

$$min 1 s.t. Sv=0 l <= v <= u$$

برنامه ریزی بالا را در جومپ پیاده سازی میکنیم.

model = Model(GLPK.Optimizer)
@variable(model,v[1:n])
@constraint(model, l .<= v)
@constraint(model, v .<= u)
@constraint(model, S*v .== mzeros)
@objective(model,Min,1)
optimize!(model)

و سالور یک جواب شدنی برای این برنامه ریزی می یابد.

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

محدودیتی در این بخش از مسابقه وجود ندارد و با نصب

JuMP
و
GLPK
میتوان یک جواب شدنی برای هر ۳ ورودی مسابقه به دست آورد.

🏁 روند اجرا

در صورتی که پکیج های مورد نظر را در جولیا نصب داشته باشید میتوانید فایل نوتبوک مربوط به هر دور مسابقه را به صورت یکجا یا سلول به سلول اجرا کنید. در انتها یک فایل

output.txt
در همان مسیر ذخیره میشود که حاوی خروجی آن ورودی از مساله است.

پیش‌نیازها

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

با اجرای کامل کد خروجی مساله داده میشود و نیازی به فراخوانی مجزای تابعی نخواهید داشت.

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

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

  MAT
  JuMP
  GLPK
  SparseArrays
  LinearAlgebra
  DelimitedFiles

✍️ نویسندگان

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

About

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

Resources

Stars

Watchers

Forks