معرفی JuMP
JuMP یک زبان مدلسازی جبری و مجموعهای از بستههای پشتیبان برای بهینهسازی ریاضی است که در زبان برنامهنویسی جولیا تعبیه شده است. این ابزار توسط شرکتها، نهادهای دولتی، مؤسسات آموزشی و افراد برای فرمولبندی و ارسال مسائل بهینهسازی به حلکنندههای شخص ثالث استفاده میشود.
ویژگیهای JuMP
JuMP یک بستهی جولیا و زبان تخصصی است که یک رابط برنامهنویسی (API) و سینتکس برای اعلام و حل مسائل بهینهسازی ارائه میدهد. سینتکس تخصصی برای اعلام متغیرهای تصمیمی، افزودن محدودیتها و تنظیم توابع هدف با استفاده از ماکروهای سینتکس و ویژگیهای متاپروگرامینگ جولیا تسهیل میشود.
- پشتیبانی از برنامهریزی خطی
- برنامهریزی عدد صحیح مختلط
- برنامهریزی نیمهمعین
- بهینهسازی مخروطی
- برنامهریزی غیرخطی
JuMP به بیش از ۳۰ حلکننده، از جمله حلکنندههای تجاری و متنباز پیشرفته، دسترسی دارد.
تاریخچه JuMP
JuMP توسط مایلز لوبین، ایان دانینگ و جویی هوچت در زمان دانشجویی در مؤسسهی فناوری ماساچوست توسعه یافت. امروزه، توسعهدهندگان اصلی JuMP شامل مایلز لوبین، بنوا لژا، ژواکیم دیاس گارسیا، جویی هوچت و اسکار دوسون هستند.
افتخارات
JuMP و نویسندگان آن توسط جوایز معتبری مانند جام COIN-OR ۲۰۱۵، جایزهی انجمن محاسبات INFORMS ۲۰۱۶ و جایزهی بیل-اُرچارد-هایز ۲۰۲۱ انجمن بهینهسازی ریاضی مورد تقدیر قرار گرفتهاند.