JuMP: زبان مدل‌سازی جبر و بهینه‌سازی ریاضی در جولیا

JuMP
📅 8 تیر 1405 📄 163 کلمه 🔗 منبع اصلی

چکیده

JuMP یک زبان مدل‌سازی جبری و مجموعه‌ای از بسته‌های پشتیبان برای بهینه‌سازی ریاضی است که در زبان برنامه‌نویسی جولیا تعبیه شده است. این ابزار توسط شرکت‌ها، نهادهای دولتی، مؤسسات آموزشی و افراد برای فرمول‌بندی و ارسال مسائل بهینه‌سازی به حل‌کننده‌های شخص ثالث استفاده می‌شود. JuMP به‌ویژه در حوزه‌ی تحقیق در عملیات کاربرد دارد.

معرفی JuMP

JuMP یک زبان مدل‌سازی جبری و مجموعه‌ای از بسته‌های پشتیبان برای بهینه‌سازی ریاضی است که در زبان برنامه‌نویسی جولیا تعبیه شده است. این ابزار توسط شرکت‌ها، نهادهای دولتی، مؤسسات آموزشی و افراد برای فرمول‌بندی و ارسال مسائل بهینه‌سازی به حل‌کننده‌های شخص ثالث استفاده می‌شود.

ویژگی‌های JuMP

JuMP یک بسته‌ی جولیا و زبان تخصصی است که یک رابط برنامه‌نویسی (API) و سینتکس برای اعلام و حل مسائل بهینه‌سازی ارائه می‌دهد. سینتکس تخصصی برای اعلام متغیرهای تصمیمی، افزودن محدودیت‌ها و تنظیم توابع هدف با استفاده از ماکروهای سینتکس و ویژگی‌های متاپروگرامینگ جولیا تسهیل می‌شود.

  • پشتیبانی از برنامه‌ریزی خطی
  • برنامه‌ریزی عدد صحیح مختلط
  • برنامه‌ریزی نیمه‌معین
  • بهینه‌سازی مخروطی
  • برنامه‌ریزی غیرخطی

JuMP به بیش از ۳۰ حل‌کننده، از جمله حل‌کننده‌های تجاری و متن‌باز پیشرفته، دسترسی دارد.

تاریخچه JuMP

JuMP توسط مایلز لوبین، ایان دانینگ و جویی هوچت در زمان دانشجویی در مؤسسه‌ی فناوری ماساچوست توسعه یافت. امروزه، توسعه‌دهندگان اصلی JuMP شامل مایلز لوبین، بنوا لژا، ژواکیم دیاس گارسیا، جویی هوچت و اسکار دوسون هستند.

افتخارات

JuMP و نویسندگان آن توسط جوایز معتبری مانند جام COIN-OR ۲۰۱۵، جایزه‌ی انجمن محاسبات INFORMS ۲۰۱۶ و جایزه‌ی بیل-اُرچارد-هایز ۲۰۲۱ انجمن بهینه‌سازی ریاضی مورد تقدیر قرار گرفته‌اند.

جمع‌بندی

JuMP با ارائه‌ی یک رابط برنامه‌نویسی (API) و سینتکس تخصصی، فرآیند مدل‌سازی و حل مسائل بهینه‌سازی را ساده‌سازی می‌کند. این ابزار با پشتیبانی از انواع مختلف مسائل بهینه‌سازی و دسترسی به بیش از ۳۰ حل‌کننده‌ی پیشرفته، به عنوان یک ابزار قدرتمند در حوزه‌ی بهینه‌سازی ریاضی شناخته می‌شود. توسعه‌ی JuMP توسط تیمی از متخصصان در مؤسسه‌ی فناوری ماساچوست آغاز شد و امروزه به عنوان یک پروژه‌ی حمایت‌شده توسط NumFOCUS ادامه دارد.